diff --git a/index.html b/index.html
index 92293aa..ecdf97b 100644
--- a/index.html
+++ b/index.html
@@ -47,16 +47,16 @@
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." />
-
TiddlyFlex v0.4.6 — a Layout for our loved non-linear personal web notebook
+TiddlyFlex v0.4.7 — a Layout for our loved non-linear personal web notebook
-
+
-
+
@@ -317,7 +317,7 @@
,
{"title":"$:/_styles","created":"20240224171449605","modified":"20240225111607279","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":".tc-red-icon svg {\nfill: red;\n}\n\n[data-tags=\"BigImage\"] .tc-tiddler-frame img {\nwidth: 100%;\n}\n\n\u003C%if [{$:/state/show-dragndrop-elements}match[yes]] %>\n.tc-tiddlyflex-droppable-top-half, .tc-tiddlyflex-droppable-bottom-half {\nborder: 1px dashed grey;\n}\n\u003C% endif %>","revision":"0","bag":"default"}
,
-{"title":"$:/columns","created":"20240914084920436","current-column":"1","list":"1 2 3","modified":"20240919064230640","type":"text/vnd.tiddlywiki","revision":"0","bag":"default"}
+{"title":"$:/columns","created":"20240914084920436","current-column":"1","list":"1 2 3","modified":"20240919115912238","type":"text/vnd.tiddlywiki","revision":"0","bag":"default"}
,
{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager","created":"20240918185257195","modified":"20240918185257195","type":"text/vnd.tiddlywiki","text":"show","revision":"0","bag":"default"}
,
@@ -341,7 +341,7 @@
,
{"title":"$:/config/tiddlyflex/story-river/follow-current-column","caption":"Follow Active Column","created":"20240914103544765","description":"Whether or not the Active Column follows where Tiddlers are moved to","modified":"20240919025018579","settings-template":"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch","type":"text/vnd.tiddlywiki","text":"yes","revision":"0","bag":"default"}
,
-{"title":"$:/config/tiddlyflex/story-river/min-width","caption":"Story-River Min-Width","created":"20240916082601108","description":"The Minimum Width for the Story Rivers","modified":"20240919025018579","settings-template":"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input","type":"text/vnd.tiddlywiki","text":"300px","revision":"0","bag":"default"}
+{"title":"$:/config/tiddlyflex/story-river/min-width","caption":"Story-River Min-Width","created":"20240916082601108","description":"The Minimum Width for the Story Rivers","modified":"20240919115901634","settings-template":"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input","type":"text/vnd.tiddlywiki","text":"300px","revision":"0","bag":"default"}
,
{"title":"$:/config/tiddlyflex/story-river/padding","caption":"Story-River Padding","created":"20240914110930789","description":"The Padding of the Story Rivers","modified":"20240919025018578","settings-template":"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input","type":"text/vnd.tiddlywiki","text":"10px","revision":"0","bag":"default"}
,
@@ -375,7 +375,7 @@
,
{"title":"$:/palette","created":"20240914103544765","modified":"20240919025018579","type":"text/vnd.tiddlywiki","text":"$:/palettes/Vanilla","revision":"0","bag":"default"}
,
-{"title":"$:/plugins/BTC/TiddlyFlex","description":"A Flexbox Layout for TiddlyWiki5","name":"TiddlyFlex","plugin-type":"plugin","author":"Simon Huber","version":"0.4.6","core-version":">=5.3.3","source":"https://github.com/BurningTreeC/TiddlyFlex","list":"readme license","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/add-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/add-column\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((add-column))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let columns={{{ [list[$:/columns]count[]!match[0]] ~1 }}} nextColumn={{{ [\u003Ccolumns>add[1]] }}}>\\n\\t\\t\\t\u003C%if [list[$:/columns]count[]match[0]] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"1\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CnextColumn>]\\\"/>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/cancel-close-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/cancel-close-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((cancel-close-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure tiddlyflex-tiddler-is-draft-actions-draft-of-not-is-missing()\\n\u003C$list filter=\\\"[list[$:/columns]!match{$:/columns!!current-column}]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}}>\\n\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Ctiddler>] %>\\n\\t\\t\\t\u003C$set name=\\\"index\\\" value={{{ [list\u003Ctv-story-list>allbefore\u003Ctiddler>add[1]] }}}>\\n\\t\\t\\t\\t\u003C$let nextTiddler={{{ [list\u003Ctv-story-list>zth\u003Cindex>] }}} viewTiddler={{{ [\u003Ctiddler>get[draft.of]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CviewTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003Ctiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\\\\end\\n\\\\procedure tiddlyflex-tiddler-is-draft-actions()\\n\u003C% if [\u003Ctiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\u003C$list filter=\\\"[list[$:/columns]!match{$:/columns!!current-column}]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}}>\\n\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Ctiddler>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003Ctiddler>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-tiddler-is-draft-actions-draft-of-not-is-missing>>\\n\\t\u003C$set name=\\\"toTiddler\\\" value={{{ [\u003Ctiddler>get[draft.of]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CtoTiddler>] }}}/>\\n\\t\u003C/$set>\\n\u003C% endif %>\\n\u003C$set name=\\\"scrollTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003Ctiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003Ctiddler>] }}}>\\n\\t\u003C%if [\u003Ctiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\u003C%if [\u003CscrollTiddler>is[draft]] %>\\n\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003CscrollTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\\t\u003C$action-sendmessage $message=\\\"tm-cancel-tiddler\\\" $param=\u003C\u003Ctiddler>>/>\\n\u003C/$set>\\n\\\\end\\n\\\\define actions()\\n\u003C$set name=\\\"tiddler\\\" value=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C%if [\u003Ctiddler>!is[draft]] %>\\n\\t\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[before\u003Ctiddler>] ~[after\u003Ctiddler>] }}}>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-close-tiddler\\\" $param=\u003C\u003Ctiddler>>/>\\n\\t\\t\\t\u003C%if [\u003CscrollTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003CscrollTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$let>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}}/>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-tiddler-is-draft-actions>>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}}/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((column-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} columnCount={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>last[]] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] ~1 }}} nextColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[before\u003CcurrentColumn>] ~[\u003CcolumnCount>] }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CnextColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CnextColumn>] }}}>\\n\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CnextColumn>>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((column-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} nextColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[after\u003CcurrentColumn>] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] ~1 }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CnextColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CnextColumn>] }}}>\\n\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CnextColumn>>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/dragging\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/dragging\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((dragging))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/edit-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/edit-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((edit-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentTiddler>] %>\\n\\t\u003C%if [\u003CcurrentTiddler>!is[draft]] %>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param=\u003C\u003CcurrentTiddler>>/>\\n\\t\\t\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/Draft of ']addsuffix\u003CcurrentTiddler>addsuffix[']] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/filter-river\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/filter-river\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((filter-river))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\" text=\\\"yes\\\"/>\\n\\t\\t\\t\u003C%if [{$:/temp/search/input}is[blank]match[]then[yes]] %>\\n\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-search input\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/fullscreen\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((fullscreen))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentTiddler>] %>\\n\\t\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} text=\\\"yes\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/horizontal-vertical\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/horizontal-vertical\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((horizontal-vertical))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" text=\\\"yes\\\"/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\"/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n\u003C$set name=\\\"nextTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore:currentTiddler\u003CnextTiddler>]\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-left\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-left\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-left))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure current-tiddler-is-empty-message()\\n\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstPreviousStoryTiddler>]\\\"/>\\n\u003C$action-setfield $tiddler=\u003C\u003CpreviousHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\\\end\\n\\\\procedure actions()\\n\u003C%if [\u003CfocusedTiddler>!is[blank]then\u003Ctv-story-list>!match[$:/StoryList-1]] %>\\n\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/removing/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"left\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/adding/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"right\\\" column={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>before\u003CcurrentColumn>] }}}/>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}/>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CfocusedTiddler>]\\\"/>\\n\\t\\t\u003C%if [\u003CpreviousHistoryList>get[current-tiddler]!match[]] %>\\n\\t\\t\\t\u003C$set name=\\\"previousStoryFocusedTiddler\\\" value={{{ [\u003CpreviousHistoryList>get[current-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CpreviousStoryList>contains\u003CpreviousStoryFocusedTiddler>] %>\\n\\t\\t\\t\\t\\t\u003C%if [list\u003CpreviousStoryList>search:$(searchFields)$:$(searchFlags)${$:/temp/search/input}match\u003CpreviousStoryFocusedTiddler>then{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CpreviousStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CpreviousStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"firstFilteredStoryTiddler\\\" value={{{ [list\u003CpreviousStoryList>search{$:/temp/search/input}nth[1]] }}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstFilteredStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CpreviousHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CpreviousStoryCounter>>/>\\n\\t\\t\\t\u003C%if [\u003CfocusedTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$let currentColumn=\u003C\u003CpreviousStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentTiddler={{{ [list\u003Ctv-story-list>after\u003CfocusedTiddler>] ~[list\u003Ctv-story-list>before\u003CfocusedTiddler>] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>is[draft]] %>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$let currentColumn=\u003C\u003CpreviousStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-tiddler>>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-multi-column-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-right\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-right\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-right))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure current-tiddler-is-empty-message()\\n\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstNextStoryTiddler>]\\\"/>\\n\u003C$action-setfield $tiddler=\u003C\u003CnextHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\\\end\\n\\\\procedure actions()\\n\u003C%if [\u003CfocusedTiddler>!is[blank]then\u003CcurrentColumn>!match\u003ClastColumn>] %>\\n\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/removing/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"right\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/adding/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"left\\\" column={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>after\u003CcurrentColumn>] }}}/>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}/>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CfocusedTiddler>]\\\"/>\\n\\t\\t\u003C%if [\u003CnextHistoryList>get[current-tiddler]!match[]] %>\\n\\t\\t\\t\u003C$set name=\\\"nextStoryFocusedTiddler\\\" value={{{ [\u003CnextHistoryList>get[current-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CnextStoryList>contains\u003CnextStoryFocusedTiddler>] %>\\n\\t\\t\\t\\t\\t\u003C%if [list\u003CnextStoryList>search:$(searchFields)$:$(searchFlags)${$:/temp/search/input}match\u003CnextStoryFocusedTiddler>then{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CnextStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CnextStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003CnextStoryList>nth[1]] }}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CnextHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CnextStoryCounter>>/>\\n\\t\\t\\t\u003C%if [\u003CfocusedTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-tiddler>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>is[draft]] %>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-multi-column-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C$set name=\\\"previousTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[before\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CpreviousTiddler>!is[blank]!match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore:previousTiddler\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((navigate-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions-inner()\\n\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\u003C% endif %>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\define actions()\\n\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\u003C$set name=\\\"focusedTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>match\u003CfocusedTiddler>] %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C% else %>\\n\\t\u003C$let focusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}} nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\u003C\u003Cactions-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((navigate-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions-inner()\\n\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\u003C% endif %>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\define actions()\\n\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\u003C$set name=\\\"focusedTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>match\u003CfocusedTiddler>] %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C% else %>\\n\\t\u003C$let focusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}} nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\u003C\u003Cactions-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-image\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-image\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-image))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-image}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-journal\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-journal\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-journal))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-journal}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-tiddler\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-tiddler}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/remove-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/remove-column\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((remove-column))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure remove-column-actions()\\n\u003C$set name=\\\"columnCount\\\" value={{{ [list[$:/columns]count[]] }}}>\\n\\t\u003C$list filter=\\\"[[$:/columns]get[current-column]match\u003CcolumnCount>]\\\">\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column={{{ [\u003CcolumnCount>subtract[1]!match[0]] ~1 }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CcolumnCount>!match[1]]\\\">\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"-[\u003CcolumnCount>]\\\"/>\\n\\t\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let columns={{{ [list[$:/columns]count[]] ~1 }}}>\\n\\t\\t\\t\u003C\u003Cremove-column-actions>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/toggle-sidebar\":{\"title\":\"$:/core/ui/KeyboardShortcuts/toggle-sidebar\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((toggle-sidebar))\",\"text\":\"\\\\whitespace trim\\n\u003C%if [[$:/state/sidebar]is[missing]] [{$:/state/sidebar}match[yes]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"no\\\"/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"yes\\\"/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/StartupActions/current-tiddlers\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/StartupActions/current-tiddlers\",\"tags\":\"$:/tags/StartupAction/PostRender\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions $:/plugins/BTC/TiddlyFlex/privates/selectors\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"column\\\">\\n\\t\\t\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003Ccolumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003Ccolumn>!match[$:/HistoryList-]] ~$:/HistoryList-1 }}} currentTiddler={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\u003C%if [\u003CcurrentTiddler>!is[blank]!match[]] %>\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CcurrentTiddler>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$let currentColumn={{$:/columns!!current-column}} currentStoryList={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>] }}} currentTiddler={{{ [list\u003CcurrentStoryList>nth[1]] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-tiddler-scroll-selector>>>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\\t\\t\u003C/$wikify>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/config/DefaultColourMappings/tiddlyflex-box-shadow\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-box-shadow\",\"text\":\"rgba(0,0,0,0.6)\"},\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler-muted\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler-muted\",\"text\":\"\u003C\u003Ccolour foreground>>\"},\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler\",\"text\":\"\u003C\u003Ccolour primary>>\"},\"$:/config/DefaultColourMappings/tiddlyflex-sidebar-resizer\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-sidebar-resizer\",\"text\":\"rgba(0,0,0,0.2)\"},\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri\":{\"title\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"text\":\"[has[_canonical_uri]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri]] [has[_canonical_uri]then{$:/layout}!match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/core/ui/EditTemplate/body/canonical-uri]]\"},\"$:/config/TiddlyFlex/EditTemplateBodyFilters/default\":{\"title\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"text\":\"[{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default]else[$:/core/ui/EditTemplate/body/default]]\"},\"$:/config/TiddlyFlex/EditTemplatePreviewFilters\":{\"title\":\"$:/config/TiddlyFlex/EditTemplatePreviewFilters\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplatePreviewFilter\",\"text\":\"[prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]] [prefix[$:/core/]] :map:flat[tdff.tiddlyflex-layout[]then\u003CcurrentTiddler>!prefix[$:/core/]] :map:flat[!tdff.tiddlyflex-layout[]then\u003CcurrentTiddler>!prefix[prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]] [!prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]!prefix[$:/core/]]\"},\"$:/config/ShortcutInfo/add-column\":{\"title\":\"$:/config/ShortcutInfo/add-column\",\"text\":\"Add one more column\"},\"$:/config/ShortcutInfo/cancel-close-tiddler\":{\"title\":\"$:/config/ShortcutInfo/cancel-close-tiddler\",\"text\":\"Cancel or close the current tiddler\"},\"$:/config/ShortcutInfo/column-down\":{\"title\":\"$:/config/ShortcutInfo/column-down\",\"text\":\"Select the next column at the left\"},\"$:/config/ShortcutInfo/column-up\":{\"title\":\"$:/config/ShortcutInfo/column-up\",\"text\":\"Select the next column at the right\"},\"$:/config/ShortcutInfo/dragging\":{\"title\":\"$:/config/ShortcutInfo/dragging\",\"text\":\"Toggle dragging on or off\"},\"$:/config/ShortcutInfo/edit-tiddler\":{\"title\":\"$:/config/ShortcutInfo/edit-tiddler\",\"text\":\"Edit the current tiddler\"},\"$:/config/ShortcutInfo/filter-river\":{\"title\":\"$:/config/ShortcutInfo/filter-river\",\"text\":\"Filter the story river by the search input\"},\"$:/config/ShortcutInfo/fullscreen\":{\"title\":\"$:/config/ShortcutInfo/fullscreen\",\"text\":\"Toggle fullscreen view of the current tiddler\"},\"$:/config/ShortcutInfo/horizontal-vertical\":{\"title\":\"$:/config/ShortcutInfo/horizontal-vertical\",\"text\":\"Toggle between horizontal and vertical view\"},\"$:/config/ShortcutInfo/move-down\":{\"title\":\"$:/config/ShortcutInfo/move-down\",\"text\":\"Move the current tiddler down\"},\"$:/config/ShortcutInfo/move-left\":{\"title\":\"$:/config/ShortcutInfo/move-left\",\"text\":\"Move the current tiddler to the left\"},\"$:/config/ShortcutInfo/move-right\":{\"title\":\"$:/config/ShortcutInfo/move-right\",\"text\":\"Move the current tiddler to the right\"},\"$:/config/ShortcutInfo/move-up\":{\"title\":\"$:/config/ShortcutInfo/move-up\",\"text\":\"Move the current tiddler up\"},\"$:/config/ShortcutInfo/navigate-down\":{\"title\":\"$:/config/ShortcutInfo/navigate-down\",\"text\":\"Navigate down to the next tiddler\"},\"$:/config/ShortcutInfo/navigate-up\":{\"title\":\"$:/config/ShortcutInfo/navigate-up\",\"text\":\"Navigate up to the next tiddler\"},\"$:/config/ShortcutInfo/remove-column\":{\"title\":\"$:/config/ShortcutInfo/remove-column\",\"text\":\"Remove one column\"},\"$:/config/shortcuts/add-column\":{\"title\":\"$:/config/shortcuts/add-column\",\"text\":\"ctrl-alt-N\"},\"$:/config/shortcuts/cancel-close-tiddler\":{\"title\":\"$:/config/shortcuts/cancel-close-tiddler\",\"text\":\"alt-C\"},\"$:/config/shortcuts/column-down\":{\"title\":\"$:/config/shortcuts/column-down\",\"text\":\"alt-Left\"},\"$:/config/shortcuts/column-up\":{\"title\":\"$:/config/shortcuts/column-up\",\"text\":\"alt-Right\"},\"$:/config/shortcuts/dragging\":{\"title\":\"$:/config/shortcuts/dragging\",\"text\":\"alt-D\"},\"$:/config/shortcuts/edit-tiddler\":{\"title\":\"$:/config/shortcuts/edit-tiddler\",\"text\":\"alt-E\"},\"$:/config/shortcuts/filter-river\":{\"title\":\"$:/config/shortcuts/filter-river\",\"text\":\"alt-F\"},\"$:/config/shortcuts/fullscreen\":{\"title\":\"$:/config/shortcuts/fullscreen\",\"text\":\"alt-shift-F\"},\"$:/config/shortcuts/horizontal-vertical\":{\"title\":\"$:/config/shortcuts/horizontal-vertical\",\"text\":\"alt-shift-V\"},\"$:/config/shortcuts/move-down\":{\"title\":\"$:/config/shortcuts/move-down\",\"text\":\"alt-shift-Down\"},\"$:/config/shortcuts/move-left\":{\"title\":\"$:/config/shortcuts/move-left\",\"text\":\"alt-shift-Left\"},\"$:/config/shortcuts/move-right\":{\"title\":\"$:/config/shortcuts/move-right\",\"text\":\"alt-shift-Right\"},\"$:/config/shortcuts/move-up\":{\"title\":\"$:/config/shortcuts/move-up\",\"text\":\"alt-shift-Up\"},\"$:/config/shortcuts/navigate-down\":{\"title\":\"$:/config/shortcuts/navigate-down\",\"text\":\"alt-Down\"},\"$:/config/shortcuts/navigate-up\":{\"title\":\"$:/config/shortcuts/navigate-up\",\"text\":\"alt-Up\"},\"$:/config/shortcuts/remove-column\":{\"title\":\"$:/config/shortcuts/remove-column\",\"text\":\"ctrl-alt-M\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\",\"text\":\"hide\"},\"$:/config/ShowEditPreview/PerTiddler\":{\"title\":\"$:/config/ShowEditPreview/PerTiddler\",\"caption\":\"Show Edit-Preview Per-Tiddler\",\"description\":\"Whether or not the Edit-Preview should be shown for the current Tiddler only\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"yes\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:code-body[yes]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]] [tag[$:/tags/TiddlyFlex/EditPreview]] [tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/default\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:hide-body[yes]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/blank]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/import\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/import\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:plugin-type[import]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[has[plugin-type]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[tag[$:/tags/Stylesheet]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/system\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/system\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[prefix[$:/boot/]] [prefix[$:/config/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/info/]] [prefix[$:/temp/]] +[!is[image]limit[1]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/default\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"text\":\"[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default]]\"},\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"text\":\"[prefix[$:/]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system]]\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\",\"text\":\"hide\"},\"$:/config/tiddlyflex/dragndrop/AnimationDuration\":{\"title\":\"$:/config/tiddlyflex/dragndrop/AnimationDuration\",\"caption\":\"Drag&Drop animation duration\",\"description\":\"The Duration in Milliseconds for the Drag&Drop Animations\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"175\"},\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\":{\"title\":\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\",\"caption\":\"Edit missing tiddlers\",\"description\":\"Whether or not clicking a Link to a missing Tiddler should automatically open it for Editing\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/tiddlyflex/sidebar/resizer\":{\"title\":\"$:/config/tiddlyflex/sidebar/resizer\",\"caption\":\"Sidebar resizer\",\"description\":\"Whether or not the Sidebar Resizer should be enabled\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/tiddlyflex/sidebar/width\":{\"title\":\"$:/config/tiddlyflex/sidebar/width\",\"caption\":\"Sidebar width\",\"description\":\"The Width of the Sidebar in % or px\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"25%\"},\"$:/config/tiddlyflex/story-river/animation-curve\":{\"title\":\"$:/config/tiddlyflex/story-river/animation-curve\",\"caption\":\"Animation Curve\",\"description\":\"Which Animation Curve should be used for UI animations\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"option-names\":\"Linear Ease Ease-In-Out Ease-In Ease-Out\",\"option-values\":\"linear ease ease-in-out ease-in ease-out\",\"text\":\"ease-in-out\"},\"$:/config/tiddlyflex/story-river/filter/fields\":{\"title\":\"$:/config/tiddlyflex/story-river/filter/fields\",\"caption\":\"Story-River Filter Fields-Suffix\",\"description\":\"The Fields Suffix used for the search operator when filtering the Story Rivers\",\"option-names\":\"[[*]] [[tags,text,title]] [[tags]] [[text]] [[title]]\",\"option-values\":\"[[*]] [[tags,text,title]] [[tags]] [[text]] [[title]]\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"*\"},\"$:/config/tiddlyflex/story-river/filter/flags\":{\"title\":\"$:/config/tiddlyflex/story-river/filter/flags\",\"caption\":\"Story-River Filter Flags-Suffix\",\"description\":\"The Flags Suffix used for the search operator when filtering the Story Rivers\",\"option-names\":\"[[words]] [[literal]] [[regexp]] [[whitespace]] [[some]]\",\"option-values\":\"[[words]] [[literal]] [[regexp]] [[whitespace]] [[some]]\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"words\"},\"$:/config/tiddlyflex/story-river/follow-current-column\":{\"title\":\"$:/config/tiddlyflex/story-river/follow-current-column\",\"caption\":\"Follow Active Column\",\"description\":\"Whether or not the Active Column follows where Tiddlers are moved to\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"yes\"},\"$:/config/tiddlyflex/story-river/horizontal\":{\"title\":\"$:/config/tiddlyflex/story-river/horizontal\",\"text\":\"no\"},\"$:/config/tiddlyflex/story-river/min-width\":{\"title\":\"$:/config/tiddlyflex/story-river/min-width\",\"caption\":\"Story-River Min-Width\",\"description\":\"The Minimum Width for the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"300px\"},\"$:/config/tiddlyflex/story-river/padding\":{\"title\":\"$:/config/tiddlyflex/story-river/padding\",\"caption\":\"Story-River Padding\",\"description\":\"The Padding of the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"42px\"},\"$:/config/tiddlyflex/show-top-right-bar\":{\"title\":\"$:/config/tiddlyflex/show-top-right-bar\",\"caption\":\"Show the Top Right Menu\",\"description\":\"Whether or not the Top Right Menu should be shown\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/adding\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/adding\",\"tags\":\"$:/tags/ClassFilters/TiddlerTemplate\",\"text\":\"[\u003C..currentTiddler>addprefix[$:/state/tiddlyflex/adding/]!is[missing]get[direction]addprefix[tc-tiddlyflex-adding-from-]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/removing\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/removing\",\"tags\":\"$:/tags/ClassFilters/TiddlerTemplate\",\"text\":\"[\u003C..currentTiddler>addprefix[$:/state/tiddlyflex/removing/]!is[missing]get[direction]addprefix[tc-tiddlyflex-removing-to-]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/EditTemplate/StoryTiddlerTemplateFilter\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/EditTemplate/StoryTiddlerTemplateFilter\",\"tags\":\"$:/tags/StoryTiddlerTemplateFilter\",\"list-before\":\"\",\"text\":\"[is[draft]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/ViewTemplate/StoryTiddlerTemplateFilter\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ViewTemplate/StoryTiddlerTemplateFilter\",\"tags\":\"$:/tags/StoryTiddlerTemplateFilter\",\"list-before\":\"\",\"text\":\"[!is[draft]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate]]\"},\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\",\"caption\":\"Box-Shadow spread for Tiddlers\",\"description\":\"The Box-Shadow spread for Tiddlers in the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"4px\"},\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\",\"caption\":\"Menu Breakpoint when Sidebar is shown\",\"description\":\"The Menu Breakpoint in columns (when the Sidebar is shown)\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"3\"},\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\",\"caption\":\"Menu Breakpoint\",\"description\":\"The Menu Breakpoint in columns (when the Sidebar is hidden)\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"4\"},\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\",\"caption\":\"Tiddler Margin-Bottom\",\"description\":\"The Bottom Margin for Tiddlers in the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"28px\"},\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\",\"caption\":\"Show Controls on Hover\",\"description\":\"Whether or not the tiddler controls should be only shown on hover\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/plugins/BTC/TiddlyFlex/styles/base\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/base\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n.tc-tiddlyflex-container {\\n\\tdisplay: flex;\\n\\tflex-flow: column;\\n\\tjustify-content: flex-start;\\n\\talign-items: stretch;\\n\\theight: 100vh;\\n\\tmax-height: 100vh;\\n\\twidth: 100vw;\\n\\tmax-width: 100vw;\\n\\toutline: none;\\n\\toverflow: clip;\\n}\\n\\n.tc-tiddlyflex-main-wrapper {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-grow: 1;\\n}\\n\\n.tc-tiddlyflex-main {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 1;\\n\\tflex-basis: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tposition: relative;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\t-webkit-transition: max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C% if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\t\u003C!--max-width: calc(100% + ((100vw / 100) * {{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[%]] ~[{$:/config/tiddlyflex/sidebar/width}removesuffix[px]] }}}));-->\\n\\t\\tmax-width: calc(100% + {{$:/config/tiddlyflex/sidebar/width}});\\n\\t}\\n\\n\u003C% endif %>\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\toverflow-x: clip;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-header {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 0 1px 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tz-index: 999;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n.tc-tiddlyflex-footer {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 0 -1px 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tz-index: 999;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n.tc-tiddlyflex-leftbar {\\n\\tdisplay: flex;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 1px 0 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;;\\n\\tz-index: 998;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n/***************/\\n/* STORY RIVER */\\n/***************/\\n\\n.tc-tiddlyflex-story-river-container {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n\\tflex-basis: 100%;\\n\\toverflow: hidden;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t-webkit-transition: flex-basis {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: flex-basis {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C%if [{$:/state/sidebar}!match[no]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\tflex-basis: calc(100% - {{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\tmax-width: calc(100% - {{$:/config/tiddlyflex/sidebar/width}});\\n\\t}\\n\\n\u003C% endif %>\\n\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t-webkit-transition: none;\\n\\t\\ttransition: none;\\n\\t}\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]then[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t\\tflex-basis: max(max(calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)),calc({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}})),calc(100% - (100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)))));\\n\\t\\t}\\n\\n\\t\u003C% else %>\\n\\n\\t\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t\\tflex-basis: max(max(calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)),calc({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}})),calc(100% - (100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)))));\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-story-river-container-inner {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tjustify-content: space-evenly;\\n\\talign-items: stretch;\\n\\tmax-height: 100%;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tflex-grow: 1;\\n\\toverflow: hidden;\\n\\tz-index: 500;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-wrapper {\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper-inner {\\n\\tflex-grow: 1;\\n\\tflex-shrink: 1;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tz-index: 600;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-wrapper-inner {\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper .tc-tiddler-frame {\\n\\twidth: 100%;\\n\\tmargin-bottom: 0;\\n\\t-webkit-box-shadow: 0 0 {{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}} \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tbox-shadow: 0 0 {{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}} \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper-inner .tc-tiddlyflex-story-river {\\n\\tpadding: {{$:/config/tiddlyflex/story-river/padding}};\\n\\tmin-height: 100%;\\n}\\n\\n.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame {\\n\\tmargin-bottom: {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}};\\n}\\n\\n.tc-tiddlyflex-story-river .tc-navigating .tc-tiddler-frame {\\n\\tborder: 2px dashed \u003C\u003Ccolour primary>>;\\n}\\n\\n/***********/\\n/* SIDEBAR */\\n/***********/\\n\\n.tc-tiddlyflex-sidebar {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tmax-height: 100%;\\n\\tz-index: 998;\\n\\t-webkit-box-shadow: 0px 0px 5px 0px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tbox-shadow: 0px 0px 5px 0px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\twidth: {{$:/config/tiddlyflex/sidebar/width}};\\n\\t\\t-webkit-transition: box-shadow {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: box-shadow {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]then[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: max(min(max(calc(100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px))),{{$:/config/tiddlyflex/sidebar/width}}),calc(100% - ({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}))),{{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\t}\\n\\n\\t\u003C% else %>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: max(min(max(calc(100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px))),{{$:/config/tiddlyflex/sidebar/width}}),calc(100% - ({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}))),{{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\t-webkit-box-shadow: 0px 0px 0px 0px transparent;\\n\\t\\tbox-shadow: 0px 0px 0px 0px transparent;\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-sidebar-container {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tjustify-content: flex-start;\\n\\talign-items: stretch;\\n\\tmax-height: 100%;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n.tc-tiddlyflex-sidebar-container-inner {\\n\\tdisplay: flex;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tflex-basis: 0;\\n\\tflex-direction: row;\\n}\\n\\n.tc-tiddlyflex-sidebar-scrollable {\\n\\tpadding-top: 42px;\\n\\tpadding-left: 42px;\\n\\tmin-width: 100%;\\n}\\n\\n.tc-tiddlyflex-sidebar-shown-eventcatcher {\\n\\t-webkit-tap-highlight-color: transparent;\\n\\t-webkit-touch-callout: none;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.tc-tiddlyflex-sidebar-hide {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tbottom: 0;\\n\\tright: 0;\\n\\twidth: 100vw;\\n\\theight: 100vh;\\n\\tbackground: 0 0;\\n\\tvisibility: hidden;\\n\\tz-index: 1000;\\n\\tcursor: pointer;\\n\\t-webkit-transition: background {{$:/config/AnimationDuration}}ms {{$:/config/AnimationDuration}}ms, visibility 0s calc(2 * {{$:/config/AnimationDuration}}ms);\\n\\ttransition: background {{$:/config/AnimationDuration}}ms {{$:/config/AnimationDuration}}ms, visibility 0s calc(2 * {{$:/config/AnimationDuration}}ms);\\n}\\n\\n/******************/\\n/* ACTIVE COLUMNS */\\n/******************/\\n\\n.tc-tiddlyflex-story-river-active {\\n\\tbackground: repeating-linear-gradient(\\n\\t\\tto right,\\n\\t\\t\u003C\u003Ccolour page-background>>,\\n\\t\\t\u003C\u003Ccolour page-background>> 10px,\\n\\t\\t\u003C\u003Ccolour tiddler-background>> 10px,\\n\\t\\t\u003C\u003Ccolour tiddler-background>> 20px\\n\\t);\\n}\\n\\n.tc-tiddlyflex-activate-column {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\theight: 100%;\\n\\tcursor: default;\\n\\tbackground-color: transparent;\\n\\t-webkit-tap-highlight-color: transparent;\\n\\t-webkit-touch-callout: none;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n/*************/\\n/* DROPZONES */\\n/*************/\\n\\ndiv[class^=\\\"tc-tiddlyflex-dropzone-\\\"] {\\n\\tmin-height: 100%;\\n\\tposition: relative;\\n}\\n\\ndiv[class^=\\\"tc-tiddlyflex-dropzone-\\\"].tc-dragover:before {\\n\\tz-index: 999;\\n\\tdisplay: block;\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbackground: \u003C\u003Ccolour dropzone-background>>;\\n\\ttext-align: center;\\n\\tcontent: \\\"\u003C\u003Clingo DropMessage>>\\\";\\n}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/current-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/current-tiddler\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}} historyList={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}}>\\n\\n\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003ChistoryList>get[current-tiddler]escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-style-current-tiddler>>\\n\\n\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[!match\u003CcurrentColumn>]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\u003C$let historyList={{{ [[$:/HistoryList-]addsuffix\u003Ccolumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}} cssEscapedTitle={{{ [\u003ChistoryList>get[current-tiddler]escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-style-unfocused-tiddlers>>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C/$let>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/dragndrop\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/dragndrop\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-tiddler-frame-transitions()\\n\\n.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: margin-top {{$:/config/tiddlyflex/dragndrop/AnimationDuration}}ms linear, margin-bottom {{$:/config/tiddlyflex/dragndrop/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: none;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying-last()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingBeforeTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-bottom: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingBeforeTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-bottom-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\tbottom: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-copying()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddlyflex-story-river-inner > [data-tiddler-title=\\\"$(dragTiddlerCSSEscaped)$\\\"].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: none;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-copying-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-target-tiddler-margin()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddler-view-frame:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddler-edit-frame:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame {\\n\\tmargin-top: calc( {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddler-view-frame:first-of-type:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddler-edit-frame:first-of-type:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame {\\n\\tmargin-top: 0;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-target-tiddler-margin-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t.tc-tiddlyflex-droppable-top-half {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - 2px);\\n\\t\\t\\tleft: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 1px);\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n\\t\\t\\twidth: calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}}));\\n\\t\\t\\tdisplay: none;\\n\\t\\t\\tz-index: 501;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-view-frame:first-of-type .tc-tiddlyflex-droppable-top-half, .tc-tiddler-edit-frame:first-of-type .tc-tiddlyflex-droppable-top-half {\\n\\t\\t\\ttop: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/padding}} + 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-bottom-half {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 1px);\\n\\t\\t\\theight: calc(50% + 2px);\\n\\t\\t\\twidth: calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}}));\\n\\t\\t\\tz-index: 501;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-top-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-view-frame:first-of-type .tc-tiddlyflex-droppable-top-half.tc-dragover, .tc-tiddler-edit-frame:first-of-type .tc-tiddlyflex-droppable-top-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-bottom-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t}\\n\\n\\t\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t\\t.tc-tiddlyflex-droppable-top-half, .tc-tiddlyflex-droppable-bottom-half {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C$set name=\\\"dragTiddler\\\" value={{$:/state/dragging!!drag-tiddler}}>\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"dragTiddlerCSSEscaped\\\" value={{{ [\u003CdragTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-tiddler-frame-transitions>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C$let currentRiver={{$:/state/dragging!!river}} story={{{ [[$:/StoryList-]addsuffix\u003CcurrentRiver>] }}} targetTiddler={{$:/state/dragging!!target}} nextTiddler={{{ [list\u003Cstory>after\u003CtargetTiddler>] }}} margin={{$:/state/dragging!!margin}} targetTiddlerCSSEscaped={{{ [\u003Cmargin>match[top]then\u003CtargetTiddler>escapecss[]] [\u003Cmargin>match[bottom]then\u003CnextTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-target-tiddler-margin>>\\n\\n\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-target-tiddler-margin-nth-0>>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C/$let>\\n\\n\\t\\t.tc-tiddlyflex-below-story-river-droppable {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: calc(100% + {{$:/config/tiddlyflex/story-river/padding}});\\n\\t\\t\\theight: calc(100% + {{$:/config/tiddlyflex/story-river/padding}});\\n\\t\\t\\tleft: -{{$:/config/tiddlyflex/story-river/padding}};\\n\\t\\t\\ttop: -{{$:/config/tiddlyflex/story-river/padding}};\\n\\t\\t}\\n\\n\\t\\t\u003C$let currentRiver={{$:/state/dragging!!start-river}} dragTiddler={{$:/state/dragging!!drag-tiddler}} startingNextTiddler={{$:/state/dragging!!starting-next-tiddler}} startingNextTiddlerCSSEscaped={{{ [\u003CstartingNextTiddler>escapecss[]] }}} startingBeforeTiddler={{$:/state/dragging!!starting-before-tiddler}} startingBeforeTiddlerCSSEscaped={{{ [\u003CstartingBeforeTiddler>escapecss[]] }}} dragTiddlerCSSEscaped={{{ [\u003CdragTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C%if [{$:/state/dragging!!copying}!match[yes]] %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying>>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying-nth-0>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstartingNextTiddler>is[blank]] :and[\u003CstartingBeforeTiddler>!is[blank]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying-last>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% else %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-copying>>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-copying-nth-0>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C/$let>\\n\\n\\t\u003C% endif %>\\n\\n\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[no]] %>\\n\\n\\t\\t.tc-tiddler-frame img {\\n\\t\\t\\t-webkit-user-drag: none;\\n\\t\\t\\t-khtml-user-drag: none;\\n\\t\\t\\t-moz-user-drag: none;\\n\\t\\t\\t-o-user-drag: none;\\n\\t\\t\\tuser-drag: none;\\n\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t-khtml-user-select: none;\\n\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t-o-user-select: none;\\n\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\ttouch-action: none;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/fullscreen\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-view-tiddler-full-screen()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}]:not(.tc-navigating), .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-navigating {\\n\\tposition: fixed;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\theight: 100vh;\\n\\twidth: 100vw;\\n\\tz-index: 1004;\\n\\tborder: none;\\n\\tborder-radius: 0px;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}]:not(.tc-navigating) > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-navigating > .tc-tiddler-frame {\\n\\tmin-height: 100%;\\n\\theight: 100%;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tborder: none;\\n\\tborder-radius: 0px;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-inherit-overflow-columns()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-wrapper-inner.tc-tiddlyflex-story-river-$(column)$ {\\n\\toverflow-y: hidden;\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\" variable=\\\"fullScreenTiddler\\\">\\n\\n\\t\\t.tc-tiddlyflex-story-river-wrapper-inner, .tc-tiddlyflex-story-river-wrapper {\\n\\t\\t\\tz-index: initial;\\n\\t\\t}\\n\\n\\t\\t\u003C$vars column={{{ [\u003CfullScreenTiddler>get[column]] }}} fullScreenTiddler={{{ [\u003CfullScreenTiddler>removeprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}>\\n\\n\\t\\t\\t\u003C$let tiddlerTitle=\u003C\u003CfullScreenTiddler>> tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-view-tiddler-full-screen>>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C/$vars>\\n\\n\\t\\t@media (max-width: 991.98px) {\\n\\n\\t\\t\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-inherit-overflow-columns>>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C/$list>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/icons\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/icons\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"svg.lucide.lucide-layout-dashboard {\\n\\tstroke: \u003C\u003Ccolour foreground>>;\\n\\tstroke-width: 3;\\n}\\n\\nsvg.lucide {\\n\\tstroke: \u003C\u003Ccolour muted-foreground>>;\\n\\tfill: none;\\n}\\n\\n.tc-selected svg.lucide, .tc-btn-invisible:hover svg.lucide {\\n\\tstroke: \u003C\u003Ccolour foreground>>;\\n\\tfill: none;\\n}\\n\\n.tc-selected svg.lucide.lucide-grip {\\n\\tstroke: \u003C\u003Ccolour primary>>;\\n}\"},\"$:/plugins/BTC/TiddlyFlex/styles/menu\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/menu\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t.tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t\u003C%if [[$:/state/sidebar/posx]is[missing]] %>\\n\\n\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\tdisplay: inline;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[{$:/state/sidebar}match[no]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]compare:number:gteq{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint}] :else[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]compare:number:gteq{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-column-\u003C\u003Ccolumn>> .tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-column-\u003C\u003Ccolumn>> .tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C%if [[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\\t\\t\u003C$vars sidebarWidthPixels={{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[px]] }}} sidebarWidthPercentage={{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[%]] }}} drag-diff={{$:/state/sidebar/posx!!drag-diff}} selectednodeWidth={{$:/state/sidebar/posx!!selectednode-width}} containerWidth={{$:/state/sidebar/posx!!widgetnode-width}} columnCount={{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} minStoryWidth={{{ [{$:/config/tiddlyflex/story-river/min-width}removesuffix[px]] }}} leftbarWidth={{{ [all[shadows+tiddlers]tag[$:/tags/LeftToolbar]limit[1]] :then[{$:/state/sidebar/posx!!leftbar-width}] ~0 }}}>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CsidebarWidthPixels>!is[blank]!match[]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$let viewportWidth={{$:/state/DynaView/ViewportDimensions/Width}} containerWidth={{{ [\u003CviewportWidth>!is[blank]subtract\u003CleftbarWidth>] ~[\u003CcontainerWidth>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C$let originalStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPixels>] }}} originalSingleColumnWidth={{{ [\u003CoriginalStoryContainerWidth>divide\u003CcolumnCount>] }}} sidebarResizerWidth={{{ [\u003CselectednodeWidth>divide[2]] }}} gripDiff={{{ [\u003CsidebarResizerWidth>subtract\u003Cdrag-diff>] }}} minStoryContainerWidth={{{ [\u003CminStoryWidth>multiply\u003CcolumnCount>] }}} sidebarWidthMax={{{ [\u003CcontainerWidth>subtract\u003CminStoryContainerWidth>] }}} sidebarWidth={{{ [\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:lteq\u003CsidebarWidthPixels>then\u003CsidebarWidthPixels>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:gteq\u003CsidebarWidthMax>then\u003CsidebarWidthMax>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>] }}} maxStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPixels>] }}} storyContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidth>compare:number:gteq\u003CminStoryContainerWidth>] ~[\u003CminStoryContainerWidth>] }}} singleColumnWidth={{{ [\u003CstoryContainerWidth>divide\u003CcolumnCount>compare:number:gt\u003CminStoryWidth>] ~[\u003CminStoryWidth>] }}} narrowWidthWhenSidebarShown={{{ [\u003CoriginalStoryContainerWidth>divide{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}compare:number:gteq\u003CminStoryWidth>] ~[\u003CminStoryWidth>multiply{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}divide\u003CcolumnCount>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C%if [\u003CsingleColumnWidth>compare:number:lteq\u003CnarrowWidthWhenSidebarShown>] %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\u003C% elseif [\u003CsidebarWidthPercentage>!is[blank]!match[]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$let viewportWidth={{$:/state/DynaView/ViewportDimensions/Width}} containerWidth={{{ [\u003CviewportWidth>!is[blank]subtract\u003CleftbarWidth>] ~[\u003CcontainerWidth>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"sidebarWidthPercentage\\\" value={{{ [\u003CcontainerWidth>divide[100]multiply\u003CsidebarWidthPercentage>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C$let originalStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPercentage>] }}} originalSingleColumnWidth={{{ [\u003CoriginalStoryContainerWidth>divide\u003CcolumnCount>] }}} sidebarResizerWidth={{{ [\u003CselectednodeWidth>divide[2]] }}} gripDiff={{{ [\u003CsidebarResizerWidth>subtract\u003Cdrag-diff>] }}} minStoryContainerWidth={{{ [\u003CminStoryWidth>multiply\u003CcolumnCount>] }}} sidebarWidthMax={{{ [\u003CcontainerWidth>subtract\u003CminStoryContainerWidth>] }}} sidebarWidth={{{ [\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:lteq\u003CsidebarWidthPercentage>then\u003CsidebarWidthPercentage>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:gteq\u003CsidebarWidthMax>then\u003CsidebarWidthMax>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>] }}} maxStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPercentage>] }}} storyContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidth>compare:number:gteq\u003CminStoryContainerWidth>] ~[\u003CminStoryContainerWidth>] }}} singleColumnWidth={{{ [\u003CstoryContainerWidth>divide\u003CcolumnCount>compare:number:gt\u003CminStoryWidth>] ~[\u003CminStoryWidth>] }}} narrowWidthWhenSidebarShown={{{ [\u003CoriginalStoryContainerWidth>divide{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}compare:number:gteq\u003CminStoryWidth>] ~[\u003CminStoryWidth>multiply{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}divide\u003CcolumnCount>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C%if [\u003CsingleColumnWidth>compare:number:lteq\u003CnarrowWidthWhenSidebarShown>] %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C/$vars>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% else %>\\n\\n\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/misc\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/misc\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t.tc-tiddlyflex-sidebar .tc-sidebar-header {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-tiddlyflex-top-toolbar .tc-hide-sidebar-btn svg.tc-image-chevron-right {\\n\\t\\ttransform: none;\\n\\t}\\n\\n\\t.tc-modal-wrapper {\\n\\t\\tz-index: 999;\\n\\t}\\n\\n\\t.tc-plugin-reload-warning {\\n\\t\\tposition: relative;\\n\\t\\tpadding-top: 15px;\\n\\t\\tpadding-bottom: 15px;\\n\\t}\\n\\n\\t.tc-plugin-reload-warning p {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t.tc-drafts-list.tc-tiddlyflex-drafts-list {\\n\\t\\tz-index: 997;\\n\\t\\tposition: absolute;\\n\\t\\tfont-size: 0.8em;\\n\\t\\tleft: 0;\\n\\t\\tbottom: 0;\\n\\t}\\n\\n\\t\u003C%if [{$:/config/tiddlyflex/story-river/tiddler/show-controls-hover}match[yes]] %>\\n\\n\\t\\t@media (min-width: 992px) {\\n\\n\\t\\t\\t.tc-tiddler-frame .tc-tiddler-controls {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddler-frame:hover .tc-tiddler-controls {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/narrow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/narrow\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure story-river-width-sidebar() calc(100% - (100% - {{{ [[$(sidebarPosX)$]substitute[]addsuffix[px]] }}}))\\n\\\\procedure story-river-width() calc(100% - {{{ [[$(sidebarWidth)$]substitute[]addsuffix[px]] }}})\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t\u003C\u003Ctiddlyflex-css-horizontal-view>>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: 90%;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}match[yes]] %>\\n\\n\\t\\t\\t\u003C$let sidebarPosX={{{ [[$:/state/sidebar/posx]!is[missing]get[text]addsuffix[px]] ~DEFAULT }}} sidebarWidth={{$:/config/tiddlyflex/sidebar/width}}>\\n\\n\\t\\t\\t\\t\u003C$wikify name=\\\"horizontalWidth\\\" text={{{ [\u003CsidebarPosX>!match[DEFAULT]then\u003Cstory-river-width-sidebar>] ~[\u003Cstory-river-width>] }}}>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-main-wrapper {\\n\\t\\t\\t\\t\\t\\toverflow-x: auto;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-main {\\n\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\t\\t\\t\\t\\toverflow-x: auto;\\n\\t\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\t\\t\\tscroll-behavior: smooth;\\n\\t\\t\\t\\t\\t\\tscroll-snap-type: x mandatory;\\n\\t\\t\\t\\t\\t\\tz-index: 1;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river-wrapper {\\n\\t\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\t\\t\\tscroll-snap-align: start;\\n\\t\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C/$wikify>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 767.98px) {\\n\\t\\t\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search input {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t@media (max-width: 575.98px) {\\n\\t\\t\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search input {\\n\\t\\t\\twidth: 100px;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search .tc-image-down-arrow + em {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/scroll-margins\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/scroll-margins\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-scroll-margin-top-story-river-padding()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-edit-frame {\\n\\tscroll-margin-top: {{$:/config/tiddlyflex/story-river/padding}};\\n\\tscroll-margin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-scroll-margin-top()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-edit-frame {\\n\\tscroll-margin-top: {{{ [{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}compare:number:lteq{$:/config/tiddlyflex/story-river/padding}] ~[{$:/config/tiddlyflex/story-river/padding}] }}};\\n\\tscroll-margin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]]\\\" variable=\\\"tiddler\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003Ctiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-margin-top-story-river-padding>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-story-river-filter>] -[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]]\\\" variable=\\\"tiddler\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003Ctiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-margin-top>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C/$set>\\n\\n\\t\u003C/$list>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/settings\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/settings\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"/** checkbox switches start **/\\n/** https://www.w3schools.com/howto/howto_css_switch.asp **/\\n/* The switch - the box around the slider */\\nlabel.tc-tiddlyflex-ui-form-switch {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: 36px;\\n\\theight: 12px;\\n}\\n\\n/* Hide default HTML checkbox */\\nlabel.tc-tiddlyflex-ui-form-switch input {\\n\\topacity: 0;\\n\\twidth: 0;\\n\\theight: 0;\\n}\\n\\n/* The slider */\\nlabel.tc-tiddlyflex-ui-form-switch span {\\n\\tposition: absolute;\\n\\tcursor: pointer;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tbackground-color: \u003C\u003Ccolor tiddler-controls-foreground>>;\\n\\t-webkit-transition: .2s;\\n\\ttransition: .2s;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span:before {\\n\\tposition: absolute;\\n\\tcontent: \\\"\\\";\\n\\theight: 20px;\\n\\twidth: 20px;\\n\\tleft: -1px;\\n\\ttop: -4px;\\n\\tbottom: 4px;\\n\\tbackground-color: \u003C\u003Ccolor background>>;\\n\\t-webkit-transition: .2s;\\n\\ttransition: .2s;\\n\\tbox-shadow: 0 1px 3px 0 rgba(0,0,0,0.7);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span {\\n\\tbackground-color: rgba(26,115,232,0.5);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span:before {\\n\\tbackground-color: rgb(26,115,232);\\n\\topacity: 1;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:focus + span {\\n\\tbox-shadow: 0 0 1px #2196F3;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span:before {\\n\\t-webkit-transform: translateX(17px);\\n\\t-ms-transform: translateX(17px);\\n\\ttransform: translateX(17px);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span {\\n\\tborder-radius: 12px;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span:before {\\n\\tborder-radius: 50%;\\n}\\n\\ndiv.tc-tiddlyflex-ui-form-label {\\n\\t\\n}\\n\\n/*** checkbox switches end ***/\\n\\n/** form select elements **/\\n.tc-tiddlyflex-ui-form-select {\\n\\tappearance: none;\\n\\tbackground: url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' fill='%235F6368'%3E%3Cpath d='M0 0h24L12 12z'/%3E%3C/svg%3E\\\") calc(100% - 8px) center no-repeat;\\n\\tbackground-color: rgb(241,243,244);\\n\\tbackground-size: 10px;\\n\\tborder: none;\\n\\tborder-radius: 4px;\\n\\tcolor: rgb(32,33,36);\\n\\tcursor: pointer;\\n\\tmax-width: 100%;\\n\\toutline: none;\\n\\tpadding: 6px 21px 6px 8px;\\n/*\\twidth: 200px;*/\\n}\\n\\ninput.tc-tiddlyflex-ui-form-input {\\n\\tborder: 1px solid \u003C\u003Ccolor tiddler-controls-foreground>>;\\n\\tborder-radius: 3px;\\n\\tbackground-color: \u003C\u003Ccolour background>>;\\n\\tpadding: 6px;\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\ninput.tc-tiddlyflex-ui-form-input:focus {\\n\\toutline-color: #ccc;\\n}\\n\\n\\n.tc-tiddlyflex-list-group {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding-left: 0;\\n\\tmargin-bottom: 0;\\n\\tbox-sizing: border-box;\\n}\\n\\n.tc-tiddlyflex-list-group-box-shadow {\\n\\tbox-shadow:1px 1px 5px rgba(0, 0, 0, 0.3);\\t\\n\\tborder-bottom-left-radius: .25rem;\\n\\tborder-bottom-right-radius: .25rem;\\n\\tborder-top-left-radius: .25rem;\\n\\tborder-top-right-radius: .25rem;\\t\\t\\n}\\n\\t\\n.tc-tiddlyflex-list-group-item {\\n\\tposition: relative;\\n\\tdisplay: block;\\n\\tpadding: 0.75rem 1.25rem;\\n\\tbackground-color: \u003C\u003Ccolor background>>;\\n\\tborder: 1px solid rgba(0,0,0,.125);\\n\\twidth: 100%;\\n\\tcolor: #495057;\\n\\ttext-align:\\tinherit;\\t\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tjustify-content: space-between!important;\\n\\talign-items: center!important;\\n\\tword-spacing: 0.1em;\\n}\\n\\n\\n.tc-tiddlyflex-list-group-item+.tc-tiddlyflex-list-group-item {\\n\\tborder-top-width: 0;\\n}\\n\\n.tc-tiddlyflex-list-group-item:first-child {\\n\\tborder-top-left-radius: .25rem;\\n\\tborder-top-right-radius: .25rem;\\n}\\n\\n.tc-tiddlyflex-list-group-item:last-child {\\n\\tborder-bottom-left-radius: .25rem;\\n\\tborder-bottom-right-radius: .25rem;\\n}\\n\\n.tc-tiddlyflex-list-settings {\\n\\tfont-size: 90%;\\n}\\n\\ninput.tc-tiddlyflex-search-input {\\n display: block;\\n width: 100%;\\n height: calc(1.5em + .75rem + 2px);\\n padding: .375rem .75rem;\\n font-size: 0.8rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: \u003C\u003Ccolor background>>;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: .25rem;\\n transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;\\n margin-bottom: 0.75em;\\n}\\n\\ninput.tc-tiddlyflex-search-input:focus {\\ncolor: #495057;\\n background-color: \u003C\u003Ccolor background>>;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);\\n}\"},\"$:/plugins/BTC/TiddlyFlex/styles/sidebar-resizer\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/sidebar-resizer\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]] %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\t\\tz-index: 1001;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointermove-eventcatcher {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\tz-index: 1003;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddlyflex-pointermove {\\n\\t\\t\\t\\tposition: fixed;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100vh;\\n\\t\\t\\t\\twidth: 100vw;\\n\\t\\t\\t\\tz-index: 1003;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc(50% - 26px);\\n\\t\\t\\t\\tleft: calc(100% - 39px);\\n\\t\\t\\t\\theight: 26px;\\n\\t\\t\\t\\twidth: 52px;\\n\\t\\t\\t\\tborder-radius: 26px 26px 0 0;\\n\\t\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t\\t\\tbackground-color: \u003C\u003Ccolour tiddlyflex-sidebar-resizer>>;\\n\\t\\t\\t\\tz-index: 1002;\\n\\t\\t\\t\\ttransition: left {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, visibility {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C%if [{$:/state/sidebar}!match[no]then[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C%if [{$:/state/sidebar}!match[no]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\tleft: calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C%if [[$:/state/sidebar/posx]!is[missing]then{$:/state/sidebar}!match[no]] %>\\n\\n\\t\\t\\t\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\t\\tleft: min(max(min(calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px),calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px) - 39px)),calc(({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}) - 39px)),calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px));\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C% else %>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\t\\tleft: min(max(min(calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px),calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px) - 39px)),calc(({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}) - 39px)),calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px));\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C% else %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/tiddler-animations\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/tiddler-animations\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-dont-display-tiddler()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: hidden;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-remove-tiddler-animation()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n@keyframes margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {\\n\\tfrom {\\n\\t\\tmargin-top: 0%;\\n\\t}\\n\\tto {\\n\\t\\tmargin-top: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{{ [[$(tiddlerHeight)$]substitute[]] }}}px);\\n\\t}\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: visible;\\n\\t-webkit-animation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame {\\n\\tz-index: 999;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-edit-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-edit-frame {\\n\\t-webkit-animation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-add-tiddler-animation()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n@keyframes margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {\\n\\tfrom {\\n\\t\\tmargin-top: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{{ [[$(tiddlerHeight)$]substitute[]] }}}px);\\n\\t}\\n\\tto {\\n\\t\\tmargin-top: 0%;\\n\\t}\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: visible;\\n\\t-webkit-animation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame {\\n\\tz-index: 999;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-edit-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-edit-frame {\\n\\t-webkit-animation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/config/AnimationDuration}!is[blank]!match[0]] %>\\n\\n\\t\\t@keyframes slide-out-left {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(calc(-100% - (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-out-right {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-in-left {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(calc( -100% - (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-in-right {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/removing/]]\\\" variable=\\\"stateTiddler\\\">\\n\\t\\t\\t\u003C$let tiddlerTitle={{{ [\u003CstateTiddler>removeprefix[$:/state/tiddlyflex/removing/]] }}} tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}} column={{{ [\u003CstateTiddler>get[column]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-dont-display-tiddler>>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstateTiddler>has[height]] %>\\n\\t\\t\\t\\t\\t\u003C$let direction={{{ [\u003CstateTiddler>get[direction]] }}} tiddlerHeight={{{ [\u003CstateTiddler>get[height]] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-remove-tiddler-animation>>\\n\\n\\t\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river {\\n\\t\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/adding/]]\\\" variable=\\\"stateTiddler\\\">\\n\\t\\t\\t\u003C$let tiddlerTitle={{{ [\u003CstateTiddler>removeprefix[$:/state/tiddlyflex/adding/]] }}} tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}} column={{{ [\u003CstateTiddler>get[column]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-dont-display-tiddler>>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstateTiddler>has[height]] %>\\n\\t\\t\\t\\t\\t\u003C$let direction={{{ [\u003CstateTiddler>get[direction]] }}} tiddlerHeight={{{ [\u003CstateTiddler>get[height]] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-add-tiddler-animation>>\\n\\n\\t\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river {\\n\\t\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C% endif %>\\n\\n\\t.tc-tiddlyflex-adding-from-left, .tc-tiddlyflex-adding-from-right, .tc-tiddlyflex-removing-to-left, .tc-tiddlyflex-removing-to-right {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/toolbars\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/toolbars\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t.tc-tiddlyflex-top-toolbar {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: stretch;\\n\\t\\tline-height: 2em;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search {\\n\\t\\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search .tc-block-dropdown {\\n\\t\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search .tc-search > .tc-reveal {\\n\\t\\tfont-size: 0.75rem;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar p {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left, .tc-tiddlyflex-top-toolbar-right {\\n\\t\\tflex-grow: 0;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-center {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left {\\n\\t\\tmargin-top: 5px;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left > div:first-of-type {\\n\\t\\tmargin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right button {\\n\\t\\tmargin-right: 0.5em;\\n\\t\\tvertical-align: bottom;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible svg:not(.lucide) {\\n\\t\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n\\t\\tfont-size: 1rem;\\n\\t\\theight: 1rem;\\n\\t\\twidth: 1rem;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible:hover svg:not(.lucide), .tc-tiddlyflex-top-toolbar-right .tc-btn-invisible.tc-selected svg:not(.lucide) {\\n\\t\\tfill: \u003C\u003Ccolour foreground>>;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible.tc-selected {\\n\\t\\t-webkit-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t\\t-moz-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t\\tfilter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/z-indexes\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/z-indexes\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-tiddler-z-indexes-inner()\\n\\n\u003C$list filter=\\\"[range\u003CstoryListCount>]\\\">\\n`.tc-tiddlyflex-story-river-`{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} `.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame:nth-child(100n+`\u003C$text text=\u003C\u003CcurrentTiddler>>/>`) > .tc-tiddler-frame`,\\n`.tc-tiddlyflex-story-river-`{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} `.tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame:nth-child(100n+`\u003C$text text=\u003C\u003CcurrentTiddler>>/>`) > .tc-tiddler-frame {\\nz-index: `\u003C$text text={{{ [\u003CstoryListCount>add[501]subtract\u003CcurrentTiddler>] }}}/>`;\\n}\\n`\\n\u003C/$list>\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tiddler-z-indexes()\\n\\n\u003C$set name=\\\"storyListCount\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[count[]] }}}>\\n\\n\\t\u003C\u003Ctiddlyflex-tiddler-z-indexes-inner>>\\n\\n\u003C/$set>\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/themes/tiddlywiki/vanilla/options/stickytitles}match[yes]] %>\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\n\\t\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-tiddler-z-indexes>>\\n\\n\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nFavicon handling\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"tiddlyflex-hooks\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\t$tw.hooks.addHook(\\\"th-navigating\\\",function(event) { \\n\\t\\tif(!event.navigateTo && event.event && event.event.navigateTo) {\\n\\t\\t\\tif(event.navigateFromTitle && !event.event.navigateFromTitle) {\\n\\t\\t\\t\\tevent.event.navigateFromTitle = event.navigateFromTitle;\\n\\t\\t\\t}\\n\\t\\t\\treturn event.event;\\n\\t\\t} else {\\n\\t\\t\\treturn event;\\n\\t\\t}\\n\\t});\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\",\"module-type\":\"startup\"},\"$:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nUtils, mainly for catching the \\\"Resizeobserver loop completed with undelivered notifications.\\\" error on FireFox\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.error = function(err) {\\n\\t// Prepare the error message\\n\\tvar errHeading = ( $tw.language == undefined ? \\\"Internal JavaScript Error\\\" : $tw.language.getString(\\\"InternalJavaScriptError/Title\\\") ),\\n\\t\\tpromptMsg = ( $tw.language == undefined ? \\\"Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser\\\" : $tw.language.getString(\\\"InternalJavaScriptError/Hint\\\") );\\n\\t// Log the error to the console\\n\\tconsole.error($tw.node ? \\\"\\\\x1b[1;31m\\\" + err + \\\"\\\\x1b[0m\\\" : err);\\n\\tif($tw.browser && !$tw.node && (err !== \\\"ResizeObserver loop completed with undelivered notifications.\\\")) {\\n\\t\\t// Display an error message to the user\\n\\t\\tvar dm = $tw.utils.domMaker,\\n\\t\\t\\theading = dm(\\\"h1\\\",{text: errHeading}),\\n\\t\\t\\tprompt = dm(\\\"div\\\",{text: promptMsg, \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tmessage = dm(\\\"div\\\",{text: err, \\\"class\\\":\\\"tc-error-message\\\"}),\\n\\t\\t\\tcloseButton = dm(\\\"div\\\",{children: [dm(\\\"button\\\",{text: ( $tw.language == undefined ? \\\"close\\\" : $tw.language.getString(\\\"Buttons/Close/Caption\\\") )})], \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tdownloadButton = dm(\\\"div\\\",{children: [dm(\\\"button\\\",{text: ( $tw.language == undefined ? \\\"download tiddlers\\\" : $tw.language.getString(\\\"Buttons/EmergencyDownload/Caption\\\") )})], \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tform = dm(\\\"form\\\",{children: [heading,prompt,downloadButton,message,closeButton], \\\"class\\\": \\\"tc-error-form\\\"});\\n\\t\\tdocument.body.insertBefore(form,document.body.firstChild);\\n\\t\\tdownloadButton.addEventListener(\\\"click\\\",function(event) {\\n\\t\\t\\tif($tw && $tw.wiki) {\\n\\t\\t\\t\\tvar tiddlers = [];\\n\\t\\t\\t\\t$tw.wiki.each(function(tiddler,title) {\\n\\t\\t\\t\\t\\ttiddlers.push(tiddler.fields);\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tvar link = dm(\\\"a\\\"),\\n\\t\\t\\t\\t\\ttext = JSON.stringify(tiddlers);\\n\\t\\t\\t\\tif(Blob !== undefined) {\\n\\t\\t\\t\\t\\tvar blob = new Blob([text], {type: \\\"text/html\\\"});\\n\\t\\t\\t\\t\\tlink.setAttribute(\\\"href\\\", URL.createObjectURL(blob));\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tlink.setAttribute(\\\"href\\\",\\\"data:text/html,\\\" + encodeURIComponent(text));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tlink.setAttribute(\\\"download\\\",\\\"emergency-tiddlers-\\\" + (new Date()) + \\\".json\\\");\\n\\t\\t\\t\\tdocument.body.appendChild(link);\\n\\t\\t\\t\\tlink.click();\\n\\t\\t\\t\\tdocument.body.removeChild(link);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\talert(\\\"Emergency tiddler download is not available\\\");\\n\\t\\t\\t}\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\treturn false;\\n\\t\\t},true);\\n\\t\\tform.addEventListener(\\\"submit\\\",function(event) {\\n\\t\\t\\tdocument.body.removeChild(form);\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\treturn false;\\n\\t\\t},true);\\n\\t\\treturn null;\\n\\t} else if(!$tw.browser) {\\n\\t\\t// Exit if we're under node.js\\n\\t\\tprocess.exit(1);\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/scroller.js\":{\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/scroller.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nEvent handler for when the `tm-scroll` event hits the document body\\n*/\\nvar PageScroller = function() {\\n\\tthis.idRequestFrame = null;\\n\\tthis.requestAnimationFrame = window.requestAnimationFrame ||\\n\\t\\twindow.webkitRequestAnimationFrame ||\\n\\t\\twindow.mozRequestAnimationFrame ||\\n\\t\\tfunction(callback) {\\n\\t\\t\\treturn window.setTimeout(callback, 1000/60);\\n\\t\\t};\\n\\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\\n\\t\\twindow.webkitCancelAnimationFrame ||\\n\\t\\twindow.webkitCancelRequestAnimationFrame ||\\n\\t\\twindow.mozCancelAnimationFrame ||\\n\\t\\twindow.mozCancelRequestAnimationFrame ||\\n\\t\\tfunction(id) {\\n\\t\\t\\twindow.clearTimeout(id);\\n\\t\\t};\\n};\\n\\nPageScroller.prototype.isScrolling = function() {\\n\\treturn this.idRequestFrame !== null;\\n}\\n\\nPageScroller.prototype.cancelScroll = function(srcWindow) {\\n\\tif(this.idRequestFrame) {\\n\\t\\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\\n\\t\\tthis.idRequestFrame = null;\\n\\t}\\n};\\n\\n/*\\nHandle an event\\n*/\\nPageScroller.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"tm-scroll\\\") {\\n\\t\\tvar options = {};\\n\\t\\tif($tw.utils.hop(event.paramObject,\\\"animationDuration\\\")) {\\n\\t\\t\\toptions.animationDuration = event.paramObject.animationDuration;\\n\\t\\t}\\n\\t\\tif(event.paramObject && event.paramObject.selector) {\\n\\t\\t\\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\\n\\t\\t} else {\\n\\t\\t\\tthis.scrollIntoView(event.target,null,options);\\n\\t\\t}\\n\\t\\treturn false; // Event was handled\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nHandle a scroll event hitting the page document\\n*/\\nPageScroller.prototype.scrollIntoView = function(element,callback,options) {\\n\\tvar self = this,\\n\\t\\tduration = $tw.utils.hop(options,\\\"animationDuration\\\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\\n\\t\\tsrcWindow = element ? element.ownerDocument.defaultView : window;\\n\\tvar scrollIntoView = function() {\\n\\t\\telement.scrollIntoView({block: \\\"start\\\", inline: \\\"start\\\"});\\n\\t};\\n\\tthis.idRequestFrame = this.requestAnimationFrame.call(srcWindow,scrollIntoView);\\n\\t$tw.utils.addClass(element,\\\"tc-navigating\\\");\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.removeClass(element,\\\"tc-navigating\\\");\\n\\t},duration);\\n};\\n\\nPageScroller.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\\n\\tbaseElement = baseElement || document;\\n\\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\\n\\tif(element) {\\n\\t\\tthis.scrollIntoView(element,callback,options);\\n\\t}\\n};\\n\\nexports.PageScroller = PageScroller;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/utils/dom/scroller.js\",\"module-type\":\"utils\"},\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nViews the story as a linear sequence\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar easing = \\\"cubic-bezier(0.645, 0.045, 0.355, 1)\\\"; // From http://easings.net/#easeInOutCubic\\nvar addTimeout,\\n\\tremoveTimeout;\\n\\nvar TiddlyFlexStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nTiddlyFlexStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar duration = $tw.utils.getAnimationDuration()\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\tif(duration) {\\n\\t\\t// Scroll the node into view\\n\\t\\tthis.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n\\t} else {\\n\\t\\ttargetElement.scrollIntoView();\\n\\t}\\n};\\n\\nTiddlyFlexStoryView.prototype.insert = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration(),\\n\\t\\ttiddlerTitle = widget.parseTreeNode.itemTitle;\\n\\tif(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle) && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/story-river/fullscreen/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode();\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar computedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Reset the margin once the transition is over\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(function() {\\n\\t\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t\\t{marginBottom: \\\"\\\"}\\n\\t\\t\\t]);\\n\\t\\t},duration);\\n\\t\\t// Set up the initial position of the element\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t// Transition to the final position\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t\\t]);\\n\\t} else if(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode();\\n\\t\\twidget.wiki.setText(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle,\\\"height\\\",undefined,targetElement.offsetHeight);\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t} else {\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t}\\n\\tif($tw.wiki.tiddlerExists(\\\"$:/state/dragging\\\")) {\\n\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/dragging\\\");\\n\\t}\\n};\\n\\nTiddlyFlexStoryView.prototype.remove = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration(),\\n\\t\\ttiddlerTitle = widget.parseTreeNode.itemTitle;\\n\\tif(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle) && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/story-river/fullscreen/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\t\\tremoveElement = function() {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t\\t};\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\tremoveElement();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar currWidth = targetElement.offsetWidth,\\n\\t\\t\\tcomputedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Remove the dom nodes of the widget at the end of the transition\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(removeElement,duration);\\n\\t\\t// Animate the closure\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"translateX(0px)\\\"},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{transform: \\\"translateX(-\\\" + currWidth + \\\"px)\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t} else if(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\t\\tremoveElement = function() {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t};\\n\\t\\twidget.wiki.setText(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle,\\\"height\\\",undefined,targetElement.offsetHeight);\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(removeElement,duration);\\n\\t} else {\\n\\t\\twidget.removeChildDomNodes();\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t}\\n};\\n\\nexports.tiddlyflex = TiddlyFlexStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\",\"module-type\":\"storyview\"},\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nAnimates list insertions and removals\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar TiddlyPopStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nTiddlyPopStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Scroll the node into view\\n\\t//this.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n};\\n\\nTiddlyPopStoryView.prototype.insert = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Reset once the transition is over\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"none\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t\\t{\\\"overflow-x\\\": \\\"\\\"}\\n\\t\\t]);\\n\\t},duration);\\n\\t// Prevent the page from overscrolling due to the zoom factor\\n\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t{\\\"overflow-x\\\": \\\"hidden\\\"}\\n\\t]);\\n\\t// Set up the initial position of the element\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(2)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t// Transition to the final position\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n};\\n\\nTiddlyPopStoryView.prototype.remove = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\tremoveElement = function() {\\n\\t\\t\\tif(targetElement && targetElement.parentNode) {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tremoveElement();\\n\\t\\treturn;\\n\\t}\\n\\t// Remove the element at the end of the transition\\n\\tsetTimeout(removeElement,duration);\\n\\t// Animate the closure\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(0.1)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n};\\n\\nexports.tiddlypop = TiddlyPopStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\",\"module-type\":\"storyview\"},\"$:/core/modules/startup/story.js\":{\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/story.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nLoad core modules\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"story\\\";\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n// Default story and history lists\\nvar DEFAULT_STORY_TITLE = \\\"$:/StoryList\\\";\\nvar DEFAULT_HISTORY_TITLE = \\\"$:/HistoryList\\\";\\n\\n// Default tiddlers\\nvar DEFAULT_TIDDLERS_TITLE = \\\"$:/DefaultTiddlers\\\";\\n\\n// Config\\nvar CONFIG_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/UpdateAddressBar\\\"; // Can be \\\"no\\\", \\\"permalink\\\", \\\"permaview\\\"\\nvar CONFIG_UPDATE_HISTORY = \\\"$:/config/Navigation/UpdateHistory\\\"; // Can be \\\"yes\\\" or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\n\\n\\n// Links to help, if there is no param\\nvar HELP_OPEN_EXTERNAL_WINDOW = \\\"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\\\";\\n\\nexports.startup = function() {\\n\\t// Open startup tiddlers\\n\\topenStartupTiddlers({\\n\\t\\tdisableHistory: $tw.boot.disableStartupNavigation\\n\\t});\\n\\tif($tw.browser) {\\n\\t\\t// Set up location hash update\\n\\t\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t\\tif($tw.utils.hop(changes,$tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,$tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE)) {\\n\\t\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\\\"permaview\\\").trim(),\\n\\t\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim()\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for changes to the browser location hash\\n\\t\\twindow.addEventListener(\\\"hashchange\\\",function() {\\n\\t\\t\\tvar hash = $tw.utils.getLocationHash();\\n\\t\\t\\tif(hash !== $tw.locationHash) {\\n\\t\\t\\t\\t$tw.locationHash = hash;\\n\\t\\t\\t\\tif(hash !== \\\"#\\\") {\\n\\t\\t\\t\\t\\topenStartupTiddlers({defaultToCurrentStory: true});\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},false);\\n\\t\\t// Listen for the tm-browser-refresh message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-browser-refresh\\\",function(event) {\\n\\t\\t\\twindow.location.reload(true);\\n\\t\\t});\\n\\t\\t// Listen for tm-open-external-window message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-open-external-window\\\",function(event) {\\n\\t\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\t\\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\\n\\t\\t\\t\\tstrWindowName = paramObject.windowName,\\n\\t\\t\\t\\tstrWindowFeatures = paramObject.windowFeatures;\\n\\t\\t\\twindow.open(strUrl, strWindowName, strWindowFeatures);\\n\\t\\t});\\n\\t\\t// Listen for the tm-print message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-print\\\",function(event) {\\n\\t\\t\\t(event.event.view || window).print();\\n\\t\\t});\\n\\t\\t// Listen for the tm-home message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-home\\\",function(event) {\\n\\t\\t\\twindow.location.hash = \\\"\\\";\\n\\t\\t\\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\\n\\t\\t\\t\\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t\\t\\t//invoke any hooks that might change the default story list\\n\\t\\t\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t\\t\\t$tw.wiki.addTiddler({title: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t\\t\\tif(storyList[0]) {\\n\\t\\t\\t\\t$tw.wiki.addToHistory(storyList[0]);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for the tm-permalink message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permalink\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\\t// Listen for the tm-permaview message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permaview\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nProcess the location hash to open the specified tiddlers. Options:\\ndisableHistory: if true $:/History is NOT updated\\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\\n*/\\nfunction openStartupTiddlers(options) {\\n\\toptions = options || {};\\n\\t// Work out the target tiddler and the story filter. \\\"null\\\" means \\\"unspecified\\\"\\n\\tvar target = null,\\n\\t\\tstoryFilter = null;\\n\\tif($tw.locationHash.length > 1) {\\n\\t\\tvar hash = $tw.locationHash.substr(1),\\n\\t\\t\\tsplit = hash.indexOf(\\\":\\\");\\n\\t\\tif(split === -1) {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.trim());\\n\\t\\t} else {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.substr(0,split).trim());\\n\\t\\t\\tstoryFilter = $tw.utils.decodeURIComponentSafe(hash.substr(split + 1).trim());\\n\\t\\t}\\n\\t}\\n\\t// If the story wasn't specified use the current tiddlers or a blank story\\n\\tif(storyFilter === null) {\\n\\t\\tif(options.defaultToCurrentStory) {\\n\\t\\t\\tvar currStoryList = $tw.wiki.getTiddlerList($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE);\\n\\t\\t\\tstoryFilter = $tw.utils.stringifyList(currStoryList);\\n\\t\\t} else {\\n\\t\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t\\tstoryFilter = \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Process the story filter to get the story list\\n\\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t// Invoke any hooks that want to change the default story list\\n\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t// If the target tiddler isn't included then splice it in at the top\\n\\tif(target && storyList.indexOf(target) === -1) {\\n\\t\\tstoryList.unshift(target);\\n\\t}\\n\\t// Save the story list\\n\\t$tw.wiki.addTiddler({title: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t// Update history\\n\\tvar story = new $tw.Story({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tstoryTitle: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE,\\n\\t\\thistoryTitle: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE\\n\\t});\\n\\tif(!options.disableHistory) {\\n\\t\\t// If a target tiddler was specified add it to the history stack\\n\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\\n\\t\\t\\tif(target.indexOf(\\\"[[\\\") === 0 && target.substr(-2) === \\\"]]\\\") {\\n\\t\\t\\t\\ttarget = target.substr(2,target.length - 4);\\n\\t\\t\\t}\\n\\t\\t\\tif($tw.wiki.getTiddlerText(\\\"$:/layout\\\") !== \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\") {\\n\\t\\t\\t\\tstory.addToHistory(target);\\n\\t\\t\\t}\\n\\t\\t} else if((storyList.length > 0) && ($tw.wiki.getTiddlerText(\\\"$:/layout\\\") !== \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\")) {\\n\\t\\t\\tstory.addToHistory(storyList[0]);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\noptions: See below\\noptions.updateAddressBar: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"permaview\\\")\\noptions.updateHistory: \\\"yes\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.copyToClipboard: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.targetTiddler: optional title of target tiddler for permalink\\n*/\\nfunction updateLocationHash(options) {\\n\\t// Get the story and the history stack\\n\\tvar storyList = $tw.wiki.getTiddlerList($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE),\\n\\t\\thistoryList = $tw.wiki.getTiddlerData($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE,[]),\\n\\t\\ttargetTiddler = \\\"\\\";\\n\\tif(options.targetTiddler) {\\n\\t\\ttargetTiddler = options.targetTiddler;\\n\\t} else {\\n\\t\\t// The target tiddler is the one at the top of the stack\\n\\t\\tif(historyList.length > 0) {\\n\\t\\t\\ttargetTiddler = historyList[historyList.length-1].title;\\n\\t\\t}\\n\\t\\t// Blank the target tiddler if it isn't present in the story\\n\\t\\tif(storyList.indexOf(targetTiddler) === -1) {\\n\\t\\t\\ttargetTiddler = \\\"\\\";\\n\\t\\t}\\n\\t}\\n\\t// Assemble the location hash\\n\\tswitch(options.updateAddressBar) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Copy URL to the clipboard\\n\\tswitch(options.copyToClipboard) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler));\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\\n\\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\\n\\t\\tif(options.updateHistory === \\\"yes\\\") {\\n\\t\\t\\t// Assign the location hash so that history is updated\\n\\t\\t\\twindow.location.hash = $tw.locationHash;\\n\\t\\t} else {\\n\\t\\t\\t// We use replace so that browser history isn't affected\\n\\t\\t\\twindow.location.replace(window.location.toString().split(\\\"#\\\")[0] + $tw.locationHash);\\n\\t\\t}\\n\\t}\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/startup/story.js\",\"module-type\":\"startup\"},\"$:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nBrowser data transfer utilities, used with the clipboard and drag and drop\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOptions:\\n\\ndomNode: dom node to make draggable\\nselector: CSS selector to identify element within domNode to be used as drag handle (optional)\\ndragImageType: \\\"pill\\\", \\\"blank\\\" or \\\"dom\\\" (the default)\\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\\nwidget: widget to use as the context for the filter\\n*/\\nexports.makeTiddlyFlexDraggable = function(options) {\\n\\tvar dragImageType = options.dragImageType || \\\"dom\\\",\\n\\t\\tdragImage,\\n\\t\\tdomNode = options.domNode,\\n\\t\\tremoveEventHandler = options.remove;\\n\\t// Make the dom node draggable (not necessary for anchor tags)\\n\\tif(!options.selector && ((domNode.tagName || \\\"\\\").toLowerCase() !== \\\"a\\\")) {\\n\\t\\tdomNode.setAttribute(\\\"draggable\\\",\\\"true\\\");\\n\\t}\\n\\tvar dragStartHandlerFunction = function(event) {\\n\\t\\tif(event.dataTransfer === undefined) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\t// Collect the tiddlers being dragged\\n\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\tstartActions = options.startActions,\\n\\t\\t\\tvariables,\\n\\t\\t\\tdomNodeRect;\\n\\t\\tif(dragFilter) {\\n\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t}\\n\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t// Check that we've something to drag\\n\\t\\tif(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {\\n\\t\\t\\t// Mark the drag in progress\\n\\t\\t\\t$tw.dragInProgress = domNode;\\n\\t\\t\\t// Set the dragging class on the element being dragged\\n\\t\\t\\t$tw.utils.addClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t// Invoke drag-start actions if given\\n\\t\\t\\tif(startActions !== undefined) {\\n\\t\\t\\t\\t// Collect our variables\\n\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\toptions.widget.invokeActionString(startActions,options.widget,event,variables);\\n\\t\\t\\t}\\n\\t\\t\\t// Create the drag image elements\\n\\t\\t\\tdragImage = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\tdragImage.className = \\\"tc-tiddler-dragger\\\";\\n\\t\\t\\tvar inner = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\tinner.className = \\\"tc-tiddler-dragger-inner\\\";\\n\\t\\t\\tinner.appendChild(options.widget.document.createTextNode(\\n\\t\\t\\t\\ttitles.length === 1 ? \\n\\t\\t\\t\\t\\ttitles[0] :\\n\\t\\t\\t\\t\\ttitles.length + \\\" tiddlers\\\"\\n\\t\\t\\t));\\n\\t\\t\\tdragImage.appendChild(inner);\\n\\t\\t\\toptions.widget.document.body.appendChild(dragImage);\\n\\t\\t\\t// Set the data transfer properties\\n\\t\\t\\tvar dataTransfer = event.dataTransfer;\\n\\t\\t\\t// Set up the image\\n\\t\\t\\tdataTransfer.effectAllowed = \\\"all\\\";\\n\\t\\t\\tif(dataTransfer.setDragImage) {\\n\\t\\t\\t\\tif(dragImageType === \\\"pill\\\") {\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\\n\\t\\t\\t\\t} else if(dragImageType === \\\"blank\\\") {\\n\\t\\t\\t\\t\\tdragImage.removeChild(dragImage.firstChild);\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage,0,0);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tvar r = domNode.getBoundingClientRect();\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Set up the data transfer\\n\\t\\t\\tif(dataTransfer.clearData) {\\n\\t\\t\\t\\tdataTransfer.clearData();\\n\\t\\t\\t}\\n\\t\\t\\tvar jsonData = [];\\n\\t\\t\\tif(titles.length > 1) {\\n\\t\\t\\t\\ttitles.forEach(function(title) {\\n\\t\\t\\t\\t\\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tjsonData = \\\"[\\\" + jsonData.join(\\\",\\\") + \\\"]\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\\n\\t\\t\\t}\\n\\t\\t\\t// IE doesn't like these content types\\n\\t\\t\\tif(!$tw.browser.isIE) {\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/vnd.tiddler\\\",jsonData);\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/plain\\\",titleString);\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/x-moz-url\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t}\\n\\t\\t\\t// If browser is Chrome-like and has a touch-input device do NOT .setData\\n\\t\\t\\tif(!($tw.browser.isMobileChrome)) {\\n\\t\\t\\t\\tdataTransfer.setData(\\\"URL\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t}\\n\\t\\t\\tdataTransfer.setData(\\\"Text\\\",titleString);\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t}\\n\\t\\treturn false;\\n\\t};\\n\\n\\tvar dragEndHandlerFunction = function(event) {\\n\\t\\tif((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {\\n\\t\\t\\t// Collect the tiddlers being dragged\\n\\t\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\t\\tendActions = options.endActions,\\n\\t\\t\\t\\tvariables;\\n\\t\\t\\tif(dragFilter) {\\n\\t\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t\\t}\\n\\t\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t\\t$tw.dragInProgress = null;\\n\\t\\t\\t// Invoke drag-end actions if given\\n\\t\\t\\tif(endActions !== undefined) {\\n\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\toptions.widget.invokeActionString(endActions,options.widget,event,variables);\\n\\t\\t\\t}\\n\\t\\t\\t// Remove the dragging class on the element being dragged\\n\\t\\t\\t$tw.utils.removeClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t// Delete the drag image element\\n\\t\\t\\tif(dragImage) {\\n\\t\\t\\t\\tdragImage.parentNode.removeChild(dragImage);\\n\\t\\t\\t\\tdragImage = null;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn false;\\n\\t};\\n\\n\\t// Add event handlers\\n\\toptions.widget.dragStartListenerReference = dragStartHandlerFunction;\\n\\toptions.widget.dragEndListenerReference = dragEndHandlerFunction;\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"dragstart\\\", handlerFunction: dragStartHandlerFunction},\\n\\t\\t{name: \\\"dragend\\\", handlerFunction: dragEndHandlerFunction}\\n\\t]);\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\",\"module-type\":\"utils\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nDraggable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DraggableWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDraggableWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDraggableWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag,\\n\\t\\tdomNode,\\n\\t\\tclasses = [];\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Sanitise the specified tag\\n\\ttag = this.draggableTag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\\n\\t\\ttag = \\\"div\\\";\\n\\t}\\n\\t// Create our element\\n\\tdomNode = this.document.createElement(tag);\\n\\t// Assign classes\\n\\tif(this.draggableClasses) {\\n\\t\\tclasses.push(this.draggableClasses);\\n\\t}\\n\\tif(!this.dragHandleSelector && this.dragEnable) {\\n\\t\\tclasses.push(\\\"tc-draggable\\\");\\n\\t}\\n\\tdomNode.setAttribute(\\\"class\\\",classes.join(\\\" \\\"));\\n\\t// Assign data- attributes and style. attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Insert the node into the DOM and render any children\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.makeDraggable(domNode);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nDraggableWidget.prototype.makeDraggable = function(domNode) {\\n\\tvar self = this;\\n\\t// Add event handlers\\n\\tif(this.dragEnable) {\\n\\t\\t$tw.utils.makeTiddlyFlexDraggable({\\n\\t\\t\\tdomNode: domNode,\\n\\t\\t\\tremove: false,\\n\\t\\t\\tdragTiddlerFn: function() {return self.getAttribute(\\\"tiddler\\\");},\\n\\t\\t\\tdragFilterFn: function() {return self.getAttribute(\\\"filter\\\");},\\n\\t\\t\\tstartActions: self.startActions,\\n\\t\\t\\tendActions: self.endActions,\\n\\t\\t\\tdragImageType: self.dragImageType,\\n\\t\\t\\twidget: this,\\n\\t\\t\\tselector: self.dragHandleSelector\\n\\t\\t});\\n\\t} else if(this.dragStartListenerReference && this.dragEndListenerReference) {\\n\\t\\tdomNode.removeEventListener(\\\"dragstart\\\",this.dragStartListenerReference,false);\\n\\t\\tdomNode.removeEventListener(\\\"dragend\\\",this.dragEndListenerReference,false);\\n\\t\\tdomNode.removeAttribute(\\\"draggable\\\");\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDraggableWidget.prototype.execute = function() {\\n\\t// Pick up our attributes\\n\\tthis.draggableTag = this.getAttribute(\\\"tag\\\",\\\"div\\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\tthis.startActions = this.getAttribute(\\\"startactions\\\");\\n\\tthis.endActions = this.getAttribute(\\\"endactions\\\");\\n\\tthis.dragImageType = this.getAttribute(\\\"dragimagetype\\\");\\n\\tthis.dragHandleSelector = this.getAttribute(\\\"selector\\\");\\n\\tthis.dragEnable = this.getAttribute(\\\"enable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n\\nDraggableWidget.prototype.updateDomNodeClasses = function() {\\n\\tvar domNodeClasses = this.domNodes[0].className.split(\\\" \\\"),\\n\\t\\toldClasses = this.draggableClasses.split(\\\" \\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\t//Remove classes assigned from the old value of class attribute\\n\\t$tw.utils.each(oldClasses,function(oldClass){\\n\\t\\tvar i = domNodeClasses.indexOf(oldClass);\\n\\t\\tif(i !== -1) {\\n\\t\\t\\tdomNodeClasses.splice(i,1);\\n\\t\\t}\\n\\t});\\n\\t//Add new classes from updated class attribute.\\n\\t$tw.utils.pushTop(domNodeClasses,this.draggableClasses);\\n\\tthis.domNodes[0].setAttribute(\\\"class\\\",domNodeClasses.join(\\\" \\\"));\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.selector || changedAttributes.dragimagetype || changedAttributes.startactions || changedAttributes.endactions) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes[\\\"enable\\\"]) {\\n\\t\\t\\tthis.dragEnable = this.getAttribute(\\\"enable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t\\t\\tthis.makeDraggable(this.domNodes[0]);\\n\\t\\t\\tif(!this.dragHandleSelector && this.dragEnable && !this.domNodes[0].classList.contains(\\\"tc-draggable\\\")) {\\n\\t\\t\\t\\tthis.domNodes[0].classList.add(\\\"tc-draggable\\\");\\n\\t\\t\\t} else if(!this.dragHandleSelector && !this.dragEnable && this.domNodes[0].classList.contains(\\\"tc-draggable\\\")) {\\n\\t\\t\\t\\tthis.domNodes[0].classList.remove(\\\"tc-draggable\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.updateDomNodeClasses();\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.domNodes[0],{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"tiddlyflex-draggable\\\"] = DraggableWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\",\"module-type\":\"widget\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nRefreshBlocker widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar RefreshBlocker = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nvar RefreshBlockerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRefreshBlockerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRefreshBlockerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,null);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRefreshBlockerWidget.prototype.execute = function() {\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nRefreshBlockerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tif(changedTiddlers[\\\"$:/state/sidebar/posx\\\"] && $tw.wiki.tiddlerExists(\\\"$:/state/sidebar/resizing\\\")) {\\n\\t\\treturn false;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports[\\\"refresh-blocker\\\"] = RefreshBlockerWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\",\"module-type\":\"widget\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\\ntype: application/javascript\\nmodule-type: widget-subclass\\n\\nWidget base class\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.baseClass = \\\"droppable\\\";\\n\\nexports.constructor = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nexports.prototype = {};\\n\\nexports.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\",\\n\\t\\tdomNode;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\\n\\t\\ttag = this.droppableTag;\\n\\t}\\n\\t// Create element and assign classes\\n\\tdomNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\tthis.assignDomNodeClasses();\\n\\t// Add event handlers\\n\\tif(this.droppableEnable) {\\n\\t\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t\\t{name: \\\"dragenter\\\", handlerObject: this, handlerMethod: \\\"handleDragEnterEvent\\\"},\\n\\t\\t\\t{name: \\\"dragover\\\", handlerObject: this, handlerMethod: \\\"handleDragOverEvent\\\"},\\n\\t\\t\\t{name: \\\"dragleave\\\", handlerObject: this, handlerMethod: \\\"handleDragLeaveEvent\\\"},\\n\\t\\t\\t{name: \\\"drop\\\", handlerObject: this, handlerMethod: \\\"handleDropEvent\\\"},\\n\\t\\t\\t{name: \\\"dragend\\\", handlerObject: this, handlerMethod: \\\"handleDragEndEvent\\\"}\\n\\t\\t]);\\n\\t} else {\\n\\t\\t$tw.utils.addClass(this.domNode,this.disabledClass);\\n\\t}\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n\\t// Stack of outstanding enter/leave events\\n\\tthis.currentlyEntered = [];\\n};\\n\\nexports.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"dragenter\\\") {\\n\\t\\tif(event.target && event.target !== this.domNode && !$tw.utils.domContains(this.domNode,event.target)) {\\n\\t\\t\\tthis.resetState(null,event);\\n\\t\\t}\\n\\t} else if(event.type === \\\"dragleave\\\") {\\n\\t\\t// Check if drag left the window\\n\\t\\tif(event.relatedTarget === null || (event.relatedTarget && event.relatedTarget.nodeName === \\\"HTML\\\")) {\\n\\t\\t\\tthis.resetState(null,event);\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.prototype.resetState = function(options,event) {\\n\\toptions = options || {};\\n\\tif(this.domNodes[0]) {\\n\\t\\t$tw.utils.removeClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\t}\\n\\tthis.currentlyEntered = [];\\n\\tthis.document.body.removeEventListener(\\\"dragenter\\\",this,true);\\n\\tthis.document.body.removeEventListener(\\\"dragleave\\\",this,true);\\n\\tif(options.performDragLeaveActions && this.dragLeaveActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragLeaveActions,this,event,{modifier: modifierKey});\\n\\t}\\n\\tif(options.performDragEndActions && this.dragEndActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragEndActions,this,event,{modifier: modifierKey});\\n\\t}\\n};\\n\\nexports.prototype.enterDrag = function(event) {\\n\\tif(this.currentlyEntered.indexOf(event.target) === -1) {\\n\\t\\tthis.currentlyEntered.push(event.target);\\n\\t}\\n\\t// If we're entering for the first time we need to apply highlighting\\n\\t$tw.utils.addClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\tthis.document.body.addEventListener(\\\"dragenter\\\",this,true);\\n\\tthis.document.body.addEventListener(\\\"dragleave\\\",this,true);\\n\\tif(this.dragEnterActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragEnterActions,this,event,{modifier: modifierKey});\\n\\t}\\n};\\n\\nexports.prototype.leaveDrag = function(event) {\\n\\tvar pos = this.currentlyEntered.indexOf(event.target);\\n\\tif(pos !== -1) {\\n\\t\\tthis.currentlyEntered.splice(pos,1);\\n\\t}\\n\\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\\n\\tif(this.currentlyEntered.length === 0) {\\n\\t\\tthis.resetState({performDragLeaveActions: true},event);\\n\\t}\\n};\\n\\nexports.prototype.handleDragEnterEvent = function(event) {\\n\\tthis.enterDrag(event);\\n\\t// Tell the browser that we're ready to handle the drop\\n\\tevent.preventDefault();\\n\\t// Tell the browser not to ripple the drag up to any parent drop handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragOverEvent = function(event) {\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Tell the browser that we're still interested in the drop\\n\\tevent.preventDefault();\\n\\t// Set the drop effect\\n\\tevent.dataTransfer.dropEffect = this.droppableEffect;\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragLeaveEvent = function(event) {\\n\\tthis.leaveDrag(event);\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragEndEvent = function(event) {\\n\\tthis.resetState({performDragEndActions: true});\\n};\\n\\nexports.prototype.handleDropEvent = function(event) {\\n\\tvar self = this;\\n\\tthis.leaveDrag(event);\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar dataTransfer = event.dataTransfer;\\n\\t// Remove highlighting\\n\\tthis.resetState(null,event);\\n\\t// Try to import the various data types we understand\\n\\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\\n\\t\\tfieldsArray.forEach(function(fields) {\\n\\t\\t\\tself.performActions(fields.title || fields.text,event);\\n\\t\\t});\\n\\t});\\n\\t// Tell the browser that we handled the drop\\n\\tevent.preventDefault();\\n\\t// Stop the drop ripple up to any parent handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nexports.prototype.performActions = function(title,event) {\\n\\tif(this.droppableActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nexports.prototype.execute = function() {\\n\\tthis.droppableActions = this.getAttribute(\\\"actions\\\");\\n\\tthis.droppableEffect = this.getAttribute(\\\"effect\\\",\\\"copy\\\");\\n\\tthis.droppableTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.droppableEnable = (this.getAttribute(\\\"enable\\\") || \\\"yes\\\") === \\\"yes\\\";\\n\\tthis.disabledClass = this.getAttribute(\\\"disabledClass\\\",\\\"\\\");\\n\\tthis.dragEnterActions = this.getAttribute(\\\"dragenteractions\\\");\\n\\tthis.dragLeaveActions = this.getAttribute(\\\"dragleaveactions\\\");\\n\\tthis.dragEndActions = this.getAttribute(\\\"dragendactions\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nexports.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect || changedAttributes.dragenteractions || changedAttributes.dragleaveactions || changedAttributes.dragendactions) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else if(changedAttributes[\\\"class\\\"]) {\\n\\t\\tthis.assignDomNodeClasses();\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\",\"module-type\":\"widget-subclass\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\\ntype: application/javascript\\nmodule-type: widget-subclass\\n\\nWidget base class\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.baseClass = \\\"transclude\\\";\\n\\nexports.constructor = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nexports.prototype = {};\\n\\nexports.prototype.findParentContainedElement = function() {\\n\\tvar widget = this;\\n\\twhile(widget) {\\n\\t\\tfor(var i=0; i\u003Cwidget.domNodes.length; i++) {\\n\\t\\t\\tvar domNode = widget.domNodes[i];\\n\\t\\t\\tif(domNode.style && domNode.style[\\\"contain\\\"]) {\\n\\t\\t\\t\\treturn domNode;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\twidget = widget.parentWidget;\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nexports.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(($tw.utils.count(changedAttributes) > 0) || (this.transcludeVariableIsFunction && this.functionNeedsRefresh()) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {\\n\\t\\tvar containedElement = this.findParentContainedElement();\\n\\t\\tthis.refreshSelf();\\n\\t\\tif(containedElement) {\\n\\t\\t\\t$tw.utils.setStyle(containedElement,[\\n\\t\\t\\t\\t{ contain: null }\\n\\t\\t\\t]);\\n\\t\\t}\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\",\"module-type\":\"widget-subclass\"},\"$:/plugins/BTC/TiddlyFlex/globals/css\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/css\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\define tiddlyflex-style-current-tiddler()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]:not(.tc-navigating) > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n\\\\end\\n\\n\\\\define tiddlyflex-style-unfocused-tiddlers()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]:not(.tc-navigating) > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler-muted>>;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-css-horizontal-view()\\n\\n.tc-tiddlyflex-main-wrapper {\\n\\toverflow-x: auto;\\n}\\n\\n.tc-tiddlyflex-main {\\n\\toverflow-x: clip;\\n}\\n\\n.tc-tiddlyflex-sidebar {\\n\\tposition: fixed;\\n\\ttop:0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tz-index: 1001;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n\\ttransform: translate3d(0,0,0);\\n\\t-webkit-transition: transform {{$:/config/AnimationDuration}}ms linear, box-shadow {{$:/config/AnimationDuration}}ms linear;\\n\\ttransition: transform {{$:/config/AnimationDuration}}ms linear, box-shadow {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\ttransform: translate3d(100%,0,0);\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-leftbar {\\n\\tdisplay: none;\\n}\\n\\n.tc-tiddlyflex-story-river-container {\\n\\tflex-basis: 100%;\\n\\tmax-width: 100%;\\n}\\n\\n.tc-tiddlyflex-story-river-container-inner {\\n\\toverflow-x: auto;\\n\\twidth: 100vw;\\n\\tscroll-behavior: smooth;\\n\\tscroll-snap-type: x mandatory;\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper {\\n\\twidth: 100vw;\\n\\tflex-basis: 100vw;\\n\\tscroll-snap-align: start;\\n\\toverflow: hidden;\\n}\\n\\n.tc-tiddlyflex-sidebar-hide.tc-tiddlyflex-sidebar-shown {\\n\\tvisibility: visible;\\n\\tbackground: rgba(0,0,0,.6);\\n\\t-webkit-transition: background {{$:/config/AnimationDuration}}ms 0s;\\n\\ttransition: background {{$:/config/AnimationDuration}}ms 0s;\\n}\\n\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/dragndrop\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/dragndrop\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-top-dragenter-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" drag-count={{{ [[$:/state/dragging]get[drag-count]add[1]] }}}/>\\n\u003C%if [[$:/state/dragging]has[dragenter-count]] %>\\n \\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\" target=\u003C\u003CcurrentTiddler>> margin=\\\"top\\\" nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} river=\u003C\u003CtiddlyFlexColumn>> next-tiddler=\\\"\\\" from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} from-story=\u003C\u003Ctv-story-list>> dragenter-count={{{ [[$:/state/dragging]get[dragenter-count]add[1]] }}}/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-dragenter-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" drag-count={{{ [[$:/state/dragging]get[drag-count]add[1]] }}}/>\\n\u003C%if [[$:/state/dragging]has[dragenter-count]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\" target=\u003C\u003CcurrentTiddler>> margin=\\\"bottom\\\" nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]add[1]] }}} river=\u003C\u003CtiddlyFlexColumn>> next-tiddler=\\\"\\\" from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]add[1]] }}} from-story=\u003C\u003Ctv-story-list>> dragenter-count={{{ [[$:/state/dragging]get[dragenter-count]add[1]] }}}/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-top-drop-actions-inner()\\n\u003C%if [\u003CactionTiddler>!match\u003CcurrentTiddler>] %>\\n\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C%if [\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\u003C% endif %>\\n\u003C$vars fromStoryList={{$:/state/dragging!!starting-from-story}} fromHistoryList={{$:/state/dragging!!from-history}}>\\n\\t\u003C%if [\u003CfromStoryList>!match\u003Ctv-story-list>] %>\\n\\t\\t\u003C%if [{$:/state/dragging!!is-focused-tiddler}match[TRUE]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CfromHistoryList>> current-tiddler={{{ [list\u003CfromStoryList>zth{$:/state/dragging!!starting-from-index}] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-top-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-top-drop-actions-inner>>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-top-drop-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-drop-actions-inner()\\n\u003C$set name=\\\"nextTiddler\\\" value={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CnextTiddler>match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C% else %>\\n\\t\\t\u003C%if [\u003CactionTiddler>!match\u003CnextTiddler>] %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\u003C$vars fromStoryList={{$:/state/dragging!!starting-from-story}} fromHistoryList={{$:/state/dragging!!from-history}}>\\n\\t\u003C%if [\u003CfromStoryList>!match\u003Ctv-story-list>] %>\\n\\t\\t\u003C%if [{$:/state/dragging!!is-focused-tiddler}match[TRUE]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CfromHistoryList>> current-tiddler={{{ [list\u003CfromStoryList>zth{$:/state/dragging!!starting-from-index}] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-bottom-drop-actions-inner>>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-bottom-drop-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-drag-start-actions()\\n\u003C$let nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} storyListLength={{{ [list\u003Ctv-story-list>count[]subtract[1]] }}}>\\n\\t\u003C%if [\u003Cnth>match\u003CstoryListLength>] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-before-tiddler={{{ [list\u003Ctv-story-list>before\u003CcurrentTiddler>] }}}/>\\n\\t\u003C% endif %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\"\\n\\t\\tdrag-count=\\\"0\\\"\\n\\t\\tnth=\u003C\u003Cnth>>\\n\\t\\theight=\u003C\u003Ctv-selectednode-height>>\\n\\t\\twidth=\u003C\u003Ctv-selectednode-width>>\\n\\t\\tstart-river=\u003C\u003CtiddlyFlexColumn>>\\n\\t\\tstarting-next-tiddler={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t\\tstarting-from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}}\\n\\t\\tstarting-from-story=\u003C\u003Ctv-story-list>>\\n\\t/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\"\\n\\t\\tdrag-tiddler=\u003C\u003CcurrentTiddler>>\\n\\t\\tnext-tiddler={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t\\tfrom-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}}\\n\\t\\tfrom-story=\u003C\u003Ctv-story-list>>\\n\\t\\tfrom-history=\u003C\u003Ctv-history-list>>\\n\\t\\tis-focused-tiddler={{{ [\u003Ctv-history-list>get[current-tiddler]match\u003CcurrentTiddler>then[TRUE]] ~[[FALSE]] }}}\\n\\t\\ttarget={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" text=\\\"yes\\\"/>\\n\\t\u003C%if [\u003Cmodifier>!match[ctrl]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" copying=\\\"yes\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-drag-end-actions()\\n\u003C%if [[$:/state/drag-handled]is[missing]] %>\\n\\t\u003C$let fromStoryList={{$:/state/dragging!!starting-from-story}} fromIndex={{$:/state/dragging!!starting-from-index}} listBeforeTiddler={{{ [list\u003CfromStoryList>zth\u003CfromIndex>] }}} prefix=\\\"[[\\\" suffix=\\\"]]\\\" actionTiddler={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] :else[\u003CactionTiddler>] }}}>\\n\\t\\t\u003C%if [\u003ClistBeforeTiddler>!is[blank]] %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CfromStoryList>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003ClistBeforeTiddler>]\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CfromStoryList>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-story-droppable-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] +[subfilter\u003Ctdff.tiddlyflex-story-river-filter>then[no]else[yes]!match[no]] %>\\n\\t\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\u003C$let lastShownTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[last[]] }}} insertBeforeTiddler={{{ [list\u003Ctv-story-list>after\u003ClastShownTiddler>] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CinsertBeforeTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]subfilter\u003Ctdff.tiddlyflex-story-river-filter>then[no]else[yes]!match[no]] %>\\n\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\u003C$let lastShownTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[last[]] }}} insertBeforeTiddler={{{ [list\u003Ctv-story-list>after\u003ClastShownTiddler>] }}}>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CinsertBeforeTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-story-droppable-dragenter-actions()\\n\u003C%if [[$:/state/dragging]get[dragenter-count]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" target=\\\"\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\"/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/interaction\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/interaction\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-tm-message-navigator(actions)\\n\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-message-navigator-outside(actions)\\n\u003C$navigator story={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/StoryList-]] }}} history={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-message-actions(message,exclude)\\n\u003C$set name=\\\"storyTiddler\\\" value=\u003C\u003Cevent-navigateFromTitle>>>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\u003C\u003Cevent-type>>\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-type>!match[tm-new-tiddler]then\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$navigateTo=\u003C\u003Cevent-navigateTo>>\\n\\t\\t$navigateFromTitle=\u003C\u003Cevent-navigateFromTitle>>\\n\\t\\t$navigateFromClientRect=\u003C\u003Cevent-navigateFromClientRect>>\\n\\t\\t$navigateFromClientTop=\u003C\u003Cevent-navigateFromClientTop>>\\n\\t\\t$navigateFromClientLeft=\u003C\u003Cevent-navigateFromClientLeft>>\\n\\t\\t$navigateFromClientWidth=\u003C\u003Cevent-navigateFromClientWidth>>\\n\\t\\t$navigateFromClientRight=\u003C\u003Cevent-navigateFromClientRight>>\\n\\t\\t$navigateFromClientBottom=\u003C\u003Cevent-navigateFromClientBottom>>\\n\\t\\t$navigateFromClientHeight=\u003C\u003Cevent-navigateFromClientHeight>>\\n\\t\\t$navigateSuppressNavigation=\u003C\u003Cevent-navigateSuppressNavigation>>\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tm-cancel-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-cancel-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]get[draft.of]] ~[\u003Cevent-tiddlerTitle>get[draft.of]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-other-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [\u003Cevent-param>!is[blank]addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] ~[\u003Cevent-tiddlerTitle>addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-delete-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-delete-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-edit-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-edit-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]addprefix[Draft of ']addsuffix[']] ~[\u003Cevent-tiddlerTitle>addprefix[Draft of ']addsuffix[']] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-other-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-home-actions()\\n\\\\procedure actions() \u003C$action-log/>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-navigate-actions()\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C\u003Ctiddlyflex-navigate-story-river-actions>>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-import-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-import-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-new-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-new-tiddler \\\"tiddlerTitle type param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-perform-import-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-perform-import \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-save-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-save-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]get[draft.title]] ~[\u003Cevent-tiddlerTitle>get[draft.title]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\t\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-unfold-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-unfold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tm-cancel-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-cancel-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-other-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-delete-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-delete-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-edit-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-edit-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-other-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-home-actions-outside()\\n\\\\procedure actions() \u003C$action-log/>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-navigate-actions-outside()\\n\u003C$set name=\\\"tiddlyFlexColumn\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}}>\\n\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions>>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-import-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-import-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-new-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-new-tiddler \\\"tiddlerTitle type param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-perform-import-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-perform-import \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-save-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-save-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-unfold-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-unfold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/ensemble\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/ensemble\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\function tdff.tiddlyflex-ensemble-tiddler-not-contains-value-in-field() [[$(ensembleTiddler)$]substitute[]addprefix[$(tiddlyFlexPrefix)$]substitute[]addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[!contains:]] ${$(field)$}$ +[substitute[]] +[join[]] +[addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(value)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\define tiddlyflex-get-ensemble-overwrite-message()\\nThe ensemble \\\"$(ensembleTitle)$\\\" already exists.\\n\\nDo you want to overwrite it?\\n\\\\end\\n\\n\\\\procedure tiddlyflex-set-ensemble-configuration(tiddler,field:\\\"text\\\",value)\\n\\\\whitespace trim\\n\u003C$action-setfield $tiddler=\u003C\u003Ctiddler>> $field=\u003C\u003Cfield>> $value=\u003C\u003Cvalue>>/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-save-ensemble-actions-inner(ensembleTitle)\\n\\\\whitespace trim\\n\u003C$set name=\\\"ensembleTiddler\\\" value={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}}>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"layout\\\" value={{$:/layout}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"view\\\" value={{$:/view}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"horizontal\\\" value={{$:/config/tiddlyflex/story-river/horizontal}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-state\\\" value={{$:/state/sidebar}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"columns\\\" value={{$:/columns!!list}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"current-column\\\" value={{$:/columns!!current-column}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-width\\\" value={{$:/config/tiddlyflex/sidebar/width}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"drag-drop-animation-duration\\\" value={{$:/config/tiddlyflex/dragndrop/AnimationDuration}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"edit-missing-tiddlers\\\" value={{$:/config/tiddlyflex/navigation/edit-missing-tiddlers}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-resizer\\\" value={{$:/config/tiddlyflex/sidebar/resizer}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"story-river-min-width\\\" value={{$:/config/tiddlyflex/story-river/min-width}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"box-shadow-spread\\\" value={{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-controls-breakpoint\\\" value={{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-controls-breakpoint-sidebar\\\" value={{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"follow-current-column\\\" value={{{ [{$:/config/tiddlyflex/story-river/follow-current-column}match[no]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-edit-preview-per-tiddler\\\" value={{$:/config/ShowEditPreview/PerTiddler}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-controls-hover\\\" value={{$:/config/tiddlyflex/story-river/tiddler/show-controls-hover}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"animation-curve\\\" value={{$:/config/tiddlyflex/story-river/animation-curve}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"story-river-padding\\\" value={{{ [[$:/config/tiddlyflex/story-river/padding]get[text]] ~[[]] }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-margin-bottom\\\" value={{{ [[$:/config/tiddlyflex/story-river/tiddler/margin-bottom]get[text]] ~[[]] }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"palette\\\" value={{$:/palette}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-top-right-bar\\\" value={{$:/config/tiddlyflex/show-top-right-bar}}/>\\n\\t\u003C$list filter=\\\"[list[$:/columns]]\\\" variable=\\\"column\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field={{{ [[story-list-]addsuffix\u003Ccolumn>] }}} value={{{ [[$:/StoryList-]addsuffix\u003Ccolumn>get[list]] ~[[]] }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopToolbar]!is[draft]]\\\" variable=\\\"topToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"top-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CtopToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/BottomToolbar]!is[draft]]\\\" variable=\\\"bottomToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"bottom-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CbottomToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/LeftToolbar]!is[draft]]\\\" variable=\\\"leftToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"left-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CleftToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tags[]prefix[$:/tags/AboveStoryHeader-]]\\\" variable=\\\"aboveStoryHeaderTag\\\">\\n\\t\\t\u003C$set name=\\\"index\\\" value={{{ [\u003CaboveStoryHeaderTag>removeprefix[$:/tags/AboveStoryHeader-]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryHeaderTag>!is[draft]]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\u003C$vars field={{{ [[above-story-header-tiddler-]addsuffix\u003Cindex>] }}} value=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\u003C\u003Cfield>> $subfilter=\\\"+[\u003Cvalue>]\\\"/>\\n\\t\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tags[]prefix[$:/tags/BelowStoryFooter-]]\\\" variable=\\\"belowStoryFooterTag\\\">\\n\\t\\t\u003C$set name=\\\"index\\\" value={{{ [\u003CbelowStoryFooterTag>removeprefix[$:/tags/BelowStoryFooter-]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryFooterTag>!is[draft]]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\u003C$vars field={{{ [[below-story-footer-tiddler-]addsuffix\u003Cindex>] }}} value=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\u003C\u003Cfield>> $subfilter=\\\"+[\u003Cvalue>]\\\"/>\\n\\t\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C$action-sendmessage $message=\\\"tm-auto-save-wiki\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-empty-ensemble-title-message()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-notify\\\" $param=\\\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\\\"/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-overwrite-ensemble-message()\\n\\\\whitespace trim\\n\u003C$action-confirm $message=\u003C\u003Ctiddlyflex-get-ensemble-overwrite-message>>>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}}/>\\n\\t\u003C$action-setfield $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}} icon=\u003C\u003Cicon>>/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions-inner\\\" ensembleTitle=\u003C\u003CensembleTitle>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-save-ensemble-actions(ensembleTitle,icon)\\n\\\\whitespace trim\\n\u003C%if [\u003CensembleTitle>!is[blank]!match[]] %>\\n\\t\u003C%if [[$:/Ensemble/]addsuffix\u003CensembleTitle>is[missing]] %>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}} icon=\u003C\u003Cicon>>/>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions-inner\\\" ensembleTitle=\u003C\u003CensembleTitle>>/>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-overwrite-ensemble-message>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-empty-ensemble-title-message>>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-load-ensemble-actions()\\n\\\\whitespace trim\\n\u003C%if [\u003CensembleTiddler>!is[missing]] %>\\n\\t\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/StoryList-]]\\\" variable=\\\"storyList\\\">\\n\\t\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CstoryList>>/>\\n\\t\u003C/$list>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/layout\\\" value={{{ [\u003CensembleTiddler>get[layout]] ~$:/plugins/BTC/TiddlyFlex/ui/Layout }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/view\\\" value={{{ [\u003CensembleTiddler>get[view]] ~tiddlyflex }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/state/sidebar\\\" value={{{ [\u003CensembleTiddler>get[sidebar-state]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/columns\\\" field=\\\"list\\\" value={{{ [\u003CensembleTiddler>get[columns]] ~1 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/columns\\\" field=\\\"current-column\\\" value={{{ [\u003CensembleTiddler>get[current-column]] ~1 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" value={{{ [\u003CensembleTiddler>get[horizontal]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/ShowEditPreview/PerTiddler\\\" value={{{ [\u003CensembleTiddler>get[show-edit-preview-per-tiddler]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\\\" value={{{ [\u003CensembleTiddler>get[show-controls-hover]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/animation-curve\\\" value={{{ [\u003CensembleTiddler>get[animation-curve]] ~linear }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/padding\\\" value={{{ [\u003CensembleTiddler>get[story-river-padding]] ~42px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/sidebar/width\\\" value={{{ [\u003CensembleTiddler>get[sidebar-width]] ~15% }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/dragndrop/AnimationDuration\\\" value={{{ [\u003CensembleTiddler>get[drag-drop-animation-duration]] ~175 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\\\" value={{{ [\u003CensembleTiddler>get[edit-missing-tiddlers]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/sidebar/resizer\\\" value={{{ [\u003CensembleTiddler>get[sidebar-resizer]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/min-width\\\" value={{{ [\u003CensembleTiddler>get[story-river-min-width]] ~300px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\\\" value={{{ [\u003CensembleTiddler>get[box-shadow-spread]] ~4px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\\\" value={{{ [\u003CensembleTiddler>get[tiddler-controls-breakpoint]] ~4 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\\\" value={{{ [\u003CensembleTiddler>get[tiddler-controls-breakpoint-sidebar]] ~3 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\\\" value={{{ [\u003CensembleTiddler>get[tiddler-margin-bottom]] ~28px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/follow-current-column\\\" value={{{ [\u003CensembleTiddler>get[follow-current-column]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/palette\\\" value={{{ [\u003CensembleTiddler>get[palette]] ~$:/palettes/Vanilla }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/show-top-right-bar\\\" value={{{ [\u003CensembleTiddler>get[show-top-right-bar]] ~no }}}/>\\n\\t\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/Ensemble/]]\\\" variable=\\\"ensembleTiddler\\\">\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[stylesheets]] %>\\n\\t\\t\\t\u003C$set name=\\\"stylesheetsList\\\" value={{{ [\u003CensembleTiddler>get[stylesheets]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CstylesheetsList>]\\\" variable=\\\"stylesheetTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CstylesheetTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/Stylesheet\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[top-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"topbarsList\\\" value={{{ [\u003CensembleTiddler>get[top-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CtopbarsList>]\\\" variable=\\\"topbarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CtopbarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/TopToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[left-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"leftbarsList\\\" value={{{ [\u003CensembleTiddler>get[left-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CleftbarsList>]\\\" variable=\\\"leftbarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CleftbarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/LeftToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[bottom-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"bottombarsList\\\" value={{{ [\u003CensembleTiddler>get[bottom-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbottombarsList>]\\\" variable=\\\"bottombarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbottombarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/BottomToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[above-story-header-tiddler-]]\\\" variable=\\\"aboveStoryHeaderField\\\">\\n\\t\\t\\t\u003C$vars aboveStoryHeaderList={{{ [\u003CensembleTiddler>get\u003CaboveStoryHeaderField>] }}} index={{{ [\u003CaboveStoryHeaderField>removeprefix[above-story-header-tiddler-]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CaboveStoryHeaderList>]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003Cindex>] }}}/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[below-story-footer-tiddler-]]\\\" variable=\\\"belowStoryFooterField\\\">\\n\\t\\t\\t\u003C$vars belowStoryFooterList={{{ [\u003CensembleTiddler>get\u003CbelowStoryFooterField>] }}} index={{{ [\u003CbelowStoryFooterField>removeprefix[below-story-footer-tiddler-]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbelowStoryFooterList>]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003Cindex>] }}}/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$list>\\n\\t\u003C%if [\u003CensembleTiddler>has[stylesheets]] %>\\n\\t\\t\u003C$set name=\\\"stylesheetsList\\\" value={{{ [\u003CensembleTiddler>get[stylesheets]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CstylesheetsList>]\\\" variable=\\\"stylesheetTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CstylesheetTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/Stylesheet\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[top-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"topbarsList\\\" value={{{ [\u003CensembleTiddler>get[top-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CtopbarsList>]\\\" variable=\\\"topbarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CtopbarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/TopToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[bottom-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"bottombarsList\\\" value={{{ [\u003CensembleTiddler>get[bottom-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbottombarsList>]\\\" variable=\\\"bottombarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbottombarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/BottomToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[left-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"leftbarsList\\\" value={{{ [\u003CensembleTiddler>get[left-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CleftbarsList>]\\\" variable=\\\"leftbarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CleftbarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/LeftToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[above-story-header-tiddler-]]\\\" variable=\\\"aboveStoryHeaderField\\\">\\n\\t\\t\u003C$let aboveStoryHeaderList={{{ [\u003CensembleTiddler>get\u003CaboveStoryHeaderField>] }}} index={{{ [\u003CaboveStoryHeaderField>removeprefix[above-story-header-tiddler-]] }}} aboveStoryHeaderTag={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003Cindex>] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CaboveStoryHeaderList>]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\u003C\u003CaboveStoryHeaderTag>>/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[below-story-footer-tiddler-]]\\\" variable=\\\"belowStoryFooterField\\\">\\n\\t\\t\u003C$let belowStoryFooterList={{{ [\u003CensembleTiddler>get\u003CbelowStoryFooterField>] }}} index={{{ [\u003CbelowStoryFooterField>removeprefix[below-story-footer-tiddler-]] }}} belowStoryFooterTag={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003Cindex>] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbelowStoryFooterList>]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\u003C\u003CbelowStoryFooterTag>>/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[story-list-]]\\\" variable=\\\"storyField\\\">\\n\\t\\t\u003C$let storyNumber={{{ [\u003CstoryField>removeprefix[story-list-]] }}} storyTitle={{{ [[$:/StoryList-]addsuffix\u003CstoryNumber>] }}}>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CstoryTitle>> field=\\\"list\\\" value={{{ [\u003CensembleTiddler>get\u003CstoryField>] }}}/>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-ensemble(title)\\n\u003C$set name=\\\"ensembleTiddler\\\" value={{{ [[$:/Ensemble/]addsuffix\u003Ctitle>] }}}>\\n\u003C$button class=\\\"tc-btn-invisible\\\" actions=\u003C\u003Ctiddlyflex-load-ensemble-actions>>>\u003C$text text=\u003C\u003Ctitle>>/>\u003C/$button>\\n\u003C/$set>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/functions\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/functions\",\"list-before\":\"\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyFlexPrefix() [\\n\\\\procedure tiddlyFlexSuffix() ]\\n\\n\\\\function tdff.tiddlyflex-layout() [{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]]\\n\\n\\\\function tdff.tiddlyflex-fullscreen() [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] ~[[]]\\n\\n\\\\function tdff.tiddlyflex-current-column-filtered() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[count[]!match[1]] :then[subfilter\u003Ctdff.tiddlyflex-current-column-filtered-before>] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>] ~1\\n\\n\\\\function tdff.tiddlyflex-current-column-filtered-before() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] [{$:/columns!!current-column}] +[unique[]] +[nsort[]] +[before{$:/columns!!current-column}]\\n\\n\\\\function tdff.tiddlyflex-exclude-columns() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map:flat]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map:flat]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/temp/search/input}]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[else\u003CcurrentTiddler>removeprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[join]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[ ]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\function tdff.tiddlyflex-enlist-columns() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]] +[addsuffix[ ~1]]\\n\\n\\\\function tdff.tiddlyflex-enlist-columns-first() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[first]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]]\\n\\n\\\\function tiddlyflex-story-filter-fields() [fields[]] :intersection[[$:/config/tiddlyflex/story-river/filter/fields]get[text]!is[blank]!match[]split[,]] +[join[,]] ~[[*]]\\n\\n\\\\function tiddlyflex-story-filter-flags() [[$:/config/tiddlyflex/story-river/filter/flags]get[text]!is[blank]!match[]] ~[[words]]\\n\\n\\\\function tdff.tiddlyflex-story-river-filter-no-draft() [[list]addsuffix[\u003Ctv-story-list>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ ]addsuffix[:filter]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>!is]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[draft]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]] +[addsuffix[else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\function tdff.tiddlyflex-story-river-filter() [[list]addsuffix[\u003Ctv-story-list>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ ]addsuffix[:filter]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]] +[addsuffix[else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/procedures\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/procedures\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-message-catcher(tiddlyflex-layout-inner)\\n\\\\function tiddlyflex-current-column() [\u003CtiddlyFlexColumn>]\\n\u003C$messagecatcher\\n\\t$tm-cancel-tiddler=\u003C\u003Ctiddlyflex-tm-cancel-tiddler-actions>>\\n\\t$tm-close-all-tiddlers=\u003C\u003Ctiddlyflex-tm-close-all-tiddlers-actions>>\\n\\t$tm-close-other-tiddlers=\u003C\u003Ctiddlyflex-tm-close-other-tiddlers-actions>>\\n\\t$tm-close-tiddler=\u003C\u003Ctiddlyflex-tm-close-tiddler-actions>>\\n\\t$tm-delete-tiddler=\u003C\u003Ctiddlyflex-tm-delete-tiddler-actions>>\\n\\t$tm-edit-tiddler=\u003C\u003Ctiddlyflex-tm-edit-tiddler-actions>>\\n\\t$tm-fold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-all-tiddlers-actions>>\\n\\t$tm-fold-other-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-other-tiddlers-actions>>\\n\\t$tm-fold-tiddler=\u003C\u003Ctiddlyflex-tm-fold-tiddler-actions>>\\n\\t$tm-home=\u003C\u003Ctiddlyflex-tm-home-actions>>\\n\\t$tm-import-tiddlers=\u003C\u003Ctiddlyflex-tm-import-tiddlers-actions>>\\n\\t$tm-navigate=\u003C\u003Ctiddlyflex-tm-navigate-actions>>\\n\\t$tm-new-tiddler=\u003C\u003Ctiddlyflex-tm-new-tiddler-actions>>\\n\\t$tm-perform-import=\u003C\u003Ctiddlyflex-tm-perform-import-actions>>\\n\\t$tm-save-tiddler=\u003C\u003Ctiddlyflex-tm-save-tiddler-actions>>\\n\\t$tm-unfold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-unfold-all-tiddlers-actions>>>\\n\\t\u003C\u003Ctiddlyflex-layout-inner>>\\n\u003C/$messagecatcher>\\n\\\\end\\n\\\\procedure tiddlyflex-message-catcher-outside(tiddlyflex-layout-inner)\\n\\\\function tiddlyflex-current-column() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>]\\n\u003C$messagecatcher\\n\\t$tm-cancel-tiddler=\u003C\u003Ctiddlyflex-tm-cancel-tiddler-actions-outside>>\\n\\t$tm-close-all-tiddlers=\u003C\u003Ctiddlyflex-tm-close-all-tiddlers-actions-outside>>\\n\\t$tm-close-other-tiddlers=\u003C\u003Ctiddlyflex-tm-close-other-tiddlers-actions-outside>>\\n\\t$tm-close-tiddler=\u003C\u003Ctiddlyflex-tm-close-tiddler-actions-outside>>\\n\\t$tm-delete-tiddler=\u003C\u003Ctiddlyflex-tm-delete-tiddler-actions-outside>>\\n\\t$tm-edit-tiddler=\u003C\u003Ctiddlyflex-tm-edit-tiddler-actions-outside>>\\n\\t$tm-fold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-all-tiddlers-actions-outside>>\\n\\t$tm-fold-other-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-other-tiddlers-actions-outside>>\\n\\t$tm-fold-tiddler=\u003C\u003Ctiddlyflex-tm-fold-tiddler-actions-outside>>\\n\\t$tm-home=\u003C\u003Ctiddlyflex-tm-home-actions-outside>>\\n\\t$tm-import-tiddlers=\u003C\u003Ctiddlyflex-tm-import-tiddlers-actions-outside>>\\n\\t$tm-navigate=\u003C\u003Ctiddlyflex-tm-navigate-actions-outside>>\\n\\t$tm-new-tiddler=\u003C\u003Ctiddlyflex-tm-new-tiddler-actions-outside>>\\n\\t$tm-perform-import=\u003C\u003Ctiddlyflex-tm-perform-import-actions-outside>>\\n\\t$tm-save-tiddler=\u003C\u003Ctiddlyflex-tm-save-tiddler-actions-outside>>\\n\\t$tm-unfold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-unfold-all-tiddlers-actions-outside>>>\\n\\t\u003C\u003Ctiddlyflex-layout-inner>>\\n\u003C/$messagecatcher>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/sidebar-resizer\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/sidebar-resizer\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-sidebar-resizer-pointerdown-actions()\\n\u003C%if [[$:/state/sidebar/resizing]is[missing]then\u003Cevent-mousebutton>match[left]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/resizing\\\" text=\\\"yes\\\"/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" starting-posx=\u003C\u003Cevent-fromcatcher-posx>> drag-diff=\u003C\u003Cevent-fromselected-posx>> selectednode-width=\u003C\u003Ctv-selectednode-width>> widgetnode-width=\u003C\u003Ctv-widgetnode-width>> text=\u003C\u003Cevent-fromcatcher-posx>> column-count={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] }}} leftbar-width={{{ [\u003Cevent-fromviewport-posx>subtract\u003Cevent-fromcatcher-posx>] }}}/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-sidebar-resizer-pointerup-actions()\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/sidebar/resizing\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-sidebar-resizer-pointermove-actions()\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" text=\u003C\u003Cevent-fromcatcher-posx>>/>\\n\\t\u003C%if [\u003Cevent-fromcatcher-posx>compare:number:lt{$:/state/sidebar/posx!!starting-posx}] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" starting-posx=\u003C\u003Cevent-fromcatcher-posx>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/templates\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/templates\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tdfp-tiddlyflex-edit-template()\\n\\\\whitespace trim\\n\u003Cdiv\\n\\tdata-tiddler-title=\u003C\u003CcurrentTiddler>>\\n\\tdata-tags={{!!tags}}\\n\\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]addprefix[tc-tiddlyflex-column-]] tc-tiddler-edit-frame [\u003CcurrentTiddler>is[tiddler]then[tc-tiddler-exists]] [\u003CcurrentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [\u003CcurrentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [\u003CcurrentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [\u003CcurrentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\\n\\trole=\\\"region\\\"\\n\\taria-label={{$:/language/EditTemplate/Caption}}>\\n\\t\u003C$fieldmangler>\\n\\t\\t\u003C$tiddlyflex-draggable enable={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>is[missing]then[yes]] ~[[no]] }}} tiddler=\u003C\u003CcurrentTiddler>> startactions=\u003C\u003Ctiddlyflex-drag-start-actions>> endactions=\u003C\u003Ctiddlyflex-drag-end-actions>> class=\\\"tc-tiddler-frame\\\">\\n\\t\\t\\t\u003C$vars\\n\\t\\t\\t\\tstoryTiddler=\u003C\u003CcurrentTiddler>>\\n\\t\\t\\t\\tnewTagNameTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName\\\">>\\n\\t\\t\\t\\tnewFieldNameTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName\\\">>\\n\\t\\t\\t\\tnewFieldValueTiddlerPrefix=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">>\\n\\t\\t\\t\\tnewFieldNameInputTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName/input\\\">>\\n\\t\\t\\t\\tnewFieldNameSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName/selected-item\\\">>\\n\\t\\t\\t\\tnewTagNameInputTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName/input\\\">>\\n\\t\\t\\t\\tnewTagNameSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName/selected-item\\\">>\\n\\t\\t\\t\\ttypeInputTiddler=\u003C\u003Cqualify \\\"$:/temp/Type/input\\\">>\\n\\t\\t\\t\\ttypeSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/Type/selected-item\\\">>>\\n\\t\\t\\t\\t\u003C$keyboard key=\\\"((cancel-edit-tiddler))\\\" actions=\u003C\u003Ccancel-delete-tiddler-actions \\\"cancel\\\">> tag=\\\"div\\\">\\n\\t\\t\\t\\t\\t\u003C$keyboard key=\\\"((save-tiddler))\\\" actions=\u003C\u003Csave-tiddler-actions>> tag=\\\"div\\\">\\n\\t\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\\t\\t\u003C/$keyboard>\\n\\t\\t\\t\\t\u003C/$keyboard>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C% if [{$:/state/dragging}match[yes]then{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/story-river/full-screen/]addsuffix\u003CcurrentTiddler>is[missing]] %>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-top-half\\\" actions=\u003C\u003Ctiddlyflex-top-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-top-dragenter-actions>>/>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-bottom-half\\\" actions=\u003C\u003Ctiddlyflex-bottom-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-bottom-dragenter-actions>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$tiddlyflex-draggable>\\n\\t\u003C/$fieldmangler>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-preview-type-button()\\n\\\\whitespace trim\\n\u003C$button tag=\\\"a\\\">\\n\\n\u003C$action-setfield $tiddler=\\\"$:/state/editpreviewtype\\\" $value={{{ [[$(previewType)$]substitute[]] }}}/>\\n\\n\u003C$action-deletetiddler\\n\\t$tiddler=\u003C\u003Cdropdown-state>>\\n/>\\n\\n\u003C$transclude tiddler=\u003C\u003CpreviewType>> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n\u003C$view tiddler=\u003C\u003CpreviewType>> field=\\\"title\\\" mode=\\\"inline\\\"/>\\n\\n\u003C/$transclude> \\n\\n\u003C$reveal tag=\\\"span\\\" state=\\\"$:/state/editpreviewtype\\\" type=\\\"match\\\" text=\u003C\u003CpreviewType>> default={{{ [tdff.tiddlyflex-layout[]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output]else[$:/core/ui/EditTemplate/body/preview/output]] }}}>\\n\\n\u003C$entity entity=\\\" \\\"/>\\n\\n\u003C$entity entity=\\\"✓\\\"/>\\n\\n\u003C/$reveal>\\n\\n\u003C/$button>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-editortoolbar-preview-type-dropdown()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!is[draft]] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplatePreviewFilter]!is[draft]get[text]]\\\" variable=\\\"previewType\\\">\\n\\n\u003C\u003Ctiddlyflex-preview-type-button>>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-diffs-current()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n\u003C$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=\u003C\u003CcurrentTiddler>>/>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-diffs-shadow()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n\u003C$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=\u003C\u003CcurrentTiddler>>/>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-output()\\n\\\\whitespace trim\\n\u003C$set name=\\\"tv-tiddler-preview\\\" value=\\\"yes\\\">\\n\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]] }}} />\\n\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body()\\n\\\\whitespace trim\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body-default()\\n\\\\whitespace trim\\n\u003C$let\\n\\tqualified-preview-state=\u003C\u003Cqualify \\\"$:/state/showeditpreview\\\">>\\n\\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[\u003Cqualified-preview-state>] }}}\\n\\timportTitle=\u003C\u003Cqualify $:/ImportImage>>\\n\\timportState=\u003C\u003Cqualify $:/state/ImportImage>> >\\n\u003C$dropzone importTitle=\u003C\u003CimportTitle>> autoOpenOnImport=\\\"no\\\" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class=\\\"tc-dropzone-editor\\\" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly=\\\"yes\\\" actions=\u003C\u003CimportFileActions>> >\\n\u003Cdiv>\\n\u003Cdiv class={{{ [\u003Cedit-preview-state>match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\\n\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\\\" mode=\\\"inline\\\"/>\\n\\n\u003C%if [\u003CeditPreviewStateTiddler>get[text]match[yes]] %>\\n\\n\u003Cdiv class=\\\"tc-tiddler-preview-preview\\\" data-tiddler-title={{!!draft.title}} data-tags={{!!tags}}>\\n\\n\u003C$transclude tiddler={{$:/state/editpreviewtype}} mode=\\\"inline\\\">\\n\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\\\" mode=\\\"inline\\\"/>\\n\\n\u003C/$transclude>\\n\\n\u003C/div>\\n\\n\u003C% endif %>\\n\\n\u003C/div>\\n\\n\u003C/div>\\n\\n\u003C/$dropzone>\\n\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tdfp-tiddlyflex-edittemplate-canonical-uri()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo External/Hint>>\\n\\n\u003Ca href={{!!_canonical_uri}}>\u003C$text text={{!!_canonical_uri}}/>\u003C/a>\\n\\n\u003C$edit-text field=\\\"_canonical_uri\\\" class=\\\"tc-edit-fields\\\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\u003C/$edit-text>\\n\\n\u003C/div>\\n\\\\end\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body-editor()\\n\\\\whitespace trim\\n\u003C$edit\\n\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex={{$:/config/EditTabIndex}}\\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\\n cancelPopups=\\\"yes\\\"\\n fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}}\\n type={{!!type}}\\n\\n>\u003C$set\\n\\n name=\\\"targetTiddler\\\"\\n value=\u003C\u003CcurrentTiddler>>\\n\\n>\u003C$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\\\"\\n\\n>\u003C%if [\u003Cconfig-visibility-title>!match[hide]] %>\u003Cspan class=\\\"tc-text-editor-toolbar-item-wrapper\\\">\u003C$transclude\\n\\n tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\\\"\\n mode=\\\"inline\\\"\\n\\n/>\u003C/span>\u003C% endif %>\u003C/$list>\u003C$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\\\"\\n\\n>\u003C$list\\n\\tfilter={{!!condition}}\\n\\tvariable=\\\"list-condition\\\"\\n>\u003C$transclude/>\\n\u003C/$list>\u003C/$list>\u003C/$set>\u003C/$edit>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-controls()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-title tc-tiddler-edit-title\\\">\\n\\t\u003C$view field=\\\"title\\\"/>\\n\\t\u003Cspan class=\\\"tc-tiddler-controls tc-titlebar\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\u003C$let tv-config-toolbar-class={{{ [enlist\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\\n\\t\\t\\t\\t\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003Cconfig-title>> text=\\\"hide\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude $tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$reveal>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\u003C/span>\\n\\t\u003Cdiv style=\\\"clear: both;\\\">\u003C/div>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fieldeditor-default()\\n\\\\whitespace trim\\n\u003C$edit-text tiddler=\u003C\u003CcurrentTiddler>> field=\u003C\u003CcurrentField>> tag=\\\"input\\\" default=\\\"\\\" class=\\\"tc-edit-texteditor tc-edit-fieldeditor\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields-add-field-dropdown()\\n\\\\whitespace trim\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n\u003Cdiv class=\\\"tc-block-dropdown tc-edit-type-dropdown\\\">\\n\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\u003C$linkcatcher to=\u003C\u003CnewFieldNameTiddler>>>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C\u003Clingo Fields/Add/Dropdown/User>>\\n\u003C/div>\\n\u003C$set name=\\\"newFieldName\\\" value={{{ [\u003CstoreTitle>get[text]] }}}>\\n\u003C$list filter=\\\"[!is[shadow]!is[system]fields[]search:title\u003CnewFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\\\" variable=\\\"currentField\\\">\\n\u003C$list filter=\\\"[\u003CcurrentField>addsuffix[-primaryList]] -[\u003CsearchListState>get[text]]\\\" emptyMessage=\\\"\\\"\\\"\u003C$link to=\u003C\u003CcurrentField>> class=\\\"tc-list-item-selected\\\">\u003C$text text=\u003C\u003CcurrentField>>/>\u003C/$link>\\\"\\\"\\\">\\n\u003C$link to=\u003C\u003CcurrentField>>>\\n\u003C$text text=\u003C\u003CcurrentField>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$list>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C\u003Clingo Fields/Add/Dropdown/System>>\\n\u003C/div>\\n\u003C$list filter=\\\"[fields[]search:title\u003CnewFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\\\" variable=\\\"currentField\\\">\\n\u003C$list filter=\\\"[\u003CcurrentField>addsuffix[-secondaryList]] -[\u003CsearchListState>get[text]]\\\" emptyMessage=\\\"\\\"\\\"\u003C$link to=\u003C\u003CcurrentField>> class=\\\"tc-list-item-selected\\\">\u003C$text text=\u003C\u003CcurrentField>>/>\u003C/$link>\\\"\\\"\\\">\\n\u003C$link to=\u003C\u003CcurrentField>>>\\n\u003C$text text=\u003C\u003CcurrentField>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/$set>\\n\u003C/$linkcatcher>\\n\u003C/$set>\\n\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields-add-field()\\n\\\\whitespace trim\\n\u003C$fieldmangler>\\n\u003Cdiv class=\\\"tc-edit-field-add\\\">\\n\u003Cem class=\\\"tc-edit tc-small-gap-right\\\">\\n\u003C\u003Clingo Fields/Add/Prompt>>\\n\u003C/em>\\n\u003C$vars refreshTitle=\u003C\u003Cqualify \\\"$:/temp/fieldname/refresh\\\">> storeTitle=\u003C\u003CnewFieldNameInputTiddler>> searchListState=\u003C\u003CnewFieldNameSelectionTiddler>>>\\n\u003Cdiv class=\\\"tc-edit-field-add-name-wrapper\\\">\\n\u003C$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=\u003C\u003CnewFieldNameTiddler>> storeTitle=\u003C\u003CstoreTitle>> refreshTitle=\u003C\u003CrefreshTitle>>\\n\\t\\tselectionStateTitle=\u003C\u003CsearchListState>> tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\\n\\t\\tfocusPopup=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> class=\\\"tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}}\\n\\t\\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/config/EditMode/fieldname-filter]]\\\" inputCancelActions=\u003C\u003Ccancel-search-actions>> />\\n\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\u003C/$button>\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields-add-field-dropdown>>\\n\u003C/div>\\n\u003C$let currentTiddlerCSSescaped={{{ [\u003CcurrentTiddler>escapecss[]] }}} currentTiddler={{{ [subfilter\u003Cget-field-value-tiddler-filter>] }}} currentField=\\\"text\\\" currentFieldName={{{ [\u003CnewFieldNameTiddler>get[text]] }}}>\\n\u003Cspan class=\\\"tc-edit-field-add-value tc-small-gap-right\\\">\\n\u003C$keyboard key=\\\"((add-field))\\\" actions=\u003C\u003Cnew-field-actions>>>\\n\u003C$transclude tiddler={{{ [subfilter\u003Cget-field-editor-filter>] }}} />\\n\u003C/$keyboard>\\n\u003C/span>\\n\u003Cspan class=\\\"tc-edit-field-add-button\\\">\\n\u003C$macrocall $name=\\\"new-field\\\"/>\\n\u003C/span>\\n\u003C/$let>\\n\u003C/$vars>\\n\u003C/div>\\n\u003C/$fieldmangler>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields()\\n\\\\whitespace trim\\n\u003C$set name=\\\"newFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\u003Cdiv class=\\\"tc-edit-fields\\\">\\n\u003Ctable class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>\\n\u003Ctbody>\\n\u003C$list filter=\\\"[all[current]fields[]] +[sort[title]]\\\" variable=\\\"currentField\\\" storyview=\\\"pop\\\">\\n\u003C$list filter=\u003C\u003Cconfig-filter>> variable=\\\"temp\\\">\\n\u003Ctr class=\\\"tc-edit-field\\\">\\n\u003Ctd class=\\\"tc-edit-field-name\\\">\\n\u003C$text text=\u003C\u003CcurrentField>>/>:\u003C/td>\\n\u003Ctd class=\\\"tc-edit-field-value\\\">\\n\u003C$keyboard key=\\\"((delete-field))\\\" actions=\\\"\\\"\\\"\u003C$action-deletefield $field=\u003C\u003CcurrentField>>/>\u003C$set name=\\\"currentTiddlerCSSescaped\\\" value={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003Ccurrent-tiddler-new-field-selector>>/>\u003C/$set>\\\"\\\"\\\">\\n\u003C$transclude tiddler={{{ [\u003CcurrentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default}] }}} />\\n\u003C/$keyboard>\\n\u003C/td>\\n\u003Ctd class=\\\"tc-edit-field-remove\\\">\\n\u003C$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\\n\u003C$action-deletefield $field=\u003C\u003CcurrentField>>/>\\n{{$:/core/images/delete-button}}\\n\u003C/$button>\\n\u003C/td>\\n\u003C/tr>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/tbody>\\n\u003C/table>\\n\u003C/div>\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields-add-field>>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-shadow()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\\\">\\n\\n\u003C$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n\u003C$set name=\\\"pluginLink\\\" value=\u003C\u003CpluginLinkBody>>>\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo Warning>>\\n\\n\u003C/div>\\n\u003C/$set>\\n\u003C/$list>\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[all[current]get[draft.of]is[shadow]is[tiddler]]\\\">\\n\\n\u003C$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n\u003C$set name=\\\"pluginLink\\\" value=\u003C\u003CpluginLinkBody>>>\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo OverriddenWarning>>\\n\\n\u003C/div>\\n\u003C/$set>\\n\u003C/$list>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-title()\\n\\\\whitespace trim\\n\u003C$edit-text field=\\\"draft.title\\\" class=\\\"tc-titlebar tc-edit-texteditor\\\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\n\u003C$vars pattern=\\\"\\\"\\\"[\\\\|\\\\[\\\\]{}]\\\"\\\"\\\" bad-chars=\\\"\\\"\\\"`| [ ] { }`\\\"\\\"\\\">\\n\\n\u003C$list filter=\\\"[all[current]regexp:draft.title\u003Cpattern>]\\\" variable=\\\"listItem\\\">\\n\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\n\u003C/$vars>\\n\\n\u003C$reveal state=\\\"!!draft.title\\\" type=\\\"nomatch\\\" text={{!!draft.of}} tag=\\\"div\\\">\\n\\n\u003C$list filter=\\\"[{!!draft.title}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}: \u003C$link to={{!!draft.title}} />\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[{!!draft.of}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\\n\\n\u003C$checkbox tiddler=\\\"$:/config/RelinkOnRename\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}\u003C/$checkbox>\\n\\n\u003C$list filter=\\\"[title\u003CfromTitle>backlinks[]limit[1]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$vars stateTiddler=\u003C\u003Cqualify \\\"$:/state/edit/references\\\">> >\\n\\n\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$button set=\u003C\u003CstateTiddler>> setTo=\\\"show\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/right-arrow}}\\n \\n\u003C\u003Clingo EditTemplate/Title/References/Prompt>>\u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$button set=\u003C\u003CstateTiddler>> setTo=\\\"hide\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n \\n\u003C\u003Clingo EditTemplate/Title/References/Prompt>>\u003C/$button>\\n\u003C/$reveal>\\n\\n\u003C$reveal type=\\\"match\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$tiddler tiddler=\u003C\u003CfromTitle>> >\\n\u003C$transclude tiddler=\\\"$:/core/ui/TiddlerInfo/References\\\"/>\\n\u003C/$tiddler>\\n\u003C/$reveal>\\n\\n\u003C/$vars>\\n\\n\u003C/$list>\\n\\n\u003C/$vars>\\n\\n\u003C/$list>\\n\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-type()\\n\\\\whitespace trim\\n\u003C$set name=\\\"refreshTitle\\\" value=\u003C\u003Cqualify \\\"$:/temp/type-search/refresh\\\">>>\\n\u003Cdiv class=\\\"tc-edit-type-selector-wrapper\\\">\\n\u003Cem class=\\\"tc-edit tc-small-gap-right\\\">\u003C\u003Clingo Type/Prompt>>\u003C/em>\\n\u003Cdiv class=\\\"tc-type-selector-dropdown-wrapper\\\">\\n\u003Cdiv class=\\\"tc-type-selector\\\">\u003C$fieldmangler>\\n\u003C$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=\u003C\u003CcurrentTiddler>> storeTitle=\u003C\u003CtypeInputTiddler>> refreshTitle=\u003C\u003CrefreshTitle>> selectionStateTitle=\u003C\u003CtypeSelectionTiddler>> field=\\\"type\\\" tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> class=\\\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\" configTiddlerFilter=\\\"[[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type]]\\\" inputCancelActions=\u003C\u003Cinput-cancel-actions>>/>\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\u003C/$button>\u003C$button message=\\\"tm-remove-field\\\" param=\\\"type\\\" class=\\\"tc-btn-invisible tc-btn-icon\\\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}\u003C$action-deletetiddler $filter=\\\"[\u003CtypeInputTiddler>] [\u003CstoreTitle>] [\u003CrefreshTitle>] [\u003CselectionStateTitle>]\\\"/>\u003C/$button>\\n\u003C/$fieldmangler>\u003C/div>\\n\\n\u003Cdiv class=\\\"tc-block-dropdown-wrapper\\\">\\n\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n\u003Cdiv class=\\\"tc-block-dropdown tc-edit-type-dropdown\\\">\\n\u003C$linkcatcher to=\\\"!!type\\\">\\n\u003C$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C$text text={{!!group}}/>\\n\u003C/div>\\n\u003C$set name=\\\"userInput\\\" value={{{ [\u003CtypeInputTiddler>get[text]] }}}>\\n\u003C$list filter=\\\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search\u003CuserInput>]\\\">\u003Cspan class={{{ [\u003CcurrentTiddler>addsuffix[-primaryList]] -[\u003CtypeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}>\u003C$link to={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}>\u003C$view tiddler={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\\\"description\\\"/>\u003C$text text=\\\" \\\"/>(\u003C$view tiddler={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\\\"name\\\"/>)\u003C/$link>\u003C/span>\\n\u003C/$list>\\n\u003C/$set>\\n\u003C/$list>\\n\u003C/$linkcatcher>\\n\u003C/div>\\n\u003C/$reveal>\\n\u003C/$set>\\n\u003C/div>\\n\u003C/div>\\n\u003C/div>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"foregroundColor\\\"\\n\\ttext=\\\"\\\"\\\"\u003C$macrocall $name=\\\"contrastcolour\\\"\\n\\t\\ttarget=\u003C\u003Ccolour>>\\n\\t\\tfallbackTarget=\u003C\u003CfallbackTarget>>\\n\\t\\tcolourA=\u003C\u003CcolourA>>\\n\\t\\tcolourB=\u003C\u003CcolourB>>/>\\n\\t\\\"\\\"\\\"\\n>\\n\\t\u003C$let backgroundColor=\u003C\u003Ccolour>> >\\n\\t\\t\u003Cspan class=\\\"tc-tag-label tc-tag-list-item tc-small-gap-right\\\"\\n\\t\\t\\tdata-tag-title=\u003C\u003CcurrentTiddler>>\\n\\t\\t\\tstyle.color=\u003C\u003CforegroundColor>>\\n\\t\\t\\tstyle.fill=\u003C\u003CforegroundColor>>\\n\\t\\t\\tstyle.background-color=\u003C\u003CbackgroundColor>>\\n\\t\\t>\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003Cicon>>/>\\n\\t\\t\\t\u003C$view field=\\\"title\\\" format=\\\"text\\\"/>\\n\\t\\t\\t\u003C$button class=\\\"tc-btn-invisible tc-remove-tag-button\\\"\\n\\t\\t\\t\\tstyle.fill=\u003C\u003CforegroundColor>>\\n\\t\\t\\t>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CsaveTiddler>> $field=\u003C\u003CtagField>> $subfilter=\\\"-[{!!title}]\\\"/>\\n\\t\\t\\t\\t{{$:/core/images/close-button}}\\n\\t\\t\\t\u003C/$button>\\n\\t\\t\u003C/span>\\n\\t\u003C/$let>\\n\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure tag-body(colour,palette,icon,tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003C$macrocall $name=\\\"tag-body-inner\\\"\\n\\tcolour=`$(colour)$`\\n\\tcolourA={{{ [\u003Cpalette>getindex[foreground]] }}}\\n\\tcolourB={{{ [\u003Cpalette>getindex[background]] }}}\\n\\tfallbackTarget={{{ [\u003Cpalette>getindex[tag-background]] }}}\\n\\ticon=\u003C\u003Cicon>>\\n\\ttagField=\u003C\u003CtagField>>\\n/>\\n\\\\end\\n\\n\\\\procedure edit-tags-template(tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-edit-tags\\\">\\n\\t\u003C$list filter=\\\"[\u003CcurrentTiddler>get\u003CtagField>enlist-input[]sort[title]]\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tag-body\\\"\\n\\t\\t\\tcolour={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\\n\\t\\t\\tpalette={{$:/palette}}\\n\\t\\t\\ticon={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\\n\\t\\t\\ttagField=\u003C\u003CtagField>>\\n\\t\\t/>\\n\\t\u003C/$list>\\n\\t\u003C$let tabIndex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tag-picker\\\" tagField=\u003C\u003CtagField>>/>\\n\\t\u003C/$let>\\n\u003C/div>\\n\\\\end\\n\\\\procedure toolbar-button-icon()\\n\\\\whitespace trim\\n\u003C$list\\n\\n filter=\\\"[all[current]!has[custom-icon]]\\\"\\n variable=\\\"no-custom-icon\\\"\\n\\n>\u003C$transclude\\n\\n tiddler={{!!icon}}\\n\\n/>\u003C/$list>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-dropdown()\\n\\\\whitespace trim\\n\u003C$reveal\\n\\n state=\u003C\u003Cdropdown-state>>\\n type=\\\"popup\\\"\\n position=\\\"below\\\"\\n animate=\\\"yes\\\"\\n retain=\\\"yes\\\"\\n tag=\\\"span\\\"\\n\\n>\u003Cdiv\\n\\n class=\\\"tc-drop-down tc-popup-keep\\\"\\n\\n>\u003C$transclude\\n\\n tiddler={{!!dropdown}}\\n mode=\\\"block\\\"\\n\\n/>\u003C/div>\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-dropdown-button()\\n\\\\whitespace trim\\n\u003C$button\\n\\n popup=\u003C\u003Cdropdown-state>>\\n class={{{ tc-popup-keep tc-btn-invisible [[$(buttonClasses)$]substitute[]] +[join[ ]] }}}\\n selectedClass=\\\"tc-selected\\\"\\n tooltip=\u003C\u003Ctooltip-text>>\\n actions={{!!actions}}\\n disabled=\u003C\u003Cdisabled>>\\n\\n>\u003Cspan\\n\\n data-tw-keyboard-shortcut={{{ [\u003Cdisabled>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/>\u003C\u003Ctoolbar-button-icon>>\u003C$transclude\\n\\n tiddler=\u003C\u003CcurrentTiddler>>\\n field=\\\"text\\\"\\n\\n/>\u003C/$button>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-button()\\n\\\\whitespace trim\\n\u003C$button\\n\\n class={{{ tc-btn-invisible [[$(buttonClasses)$]substitute[]] +[join[ ]] }}}\\n tooltip=\u003C\u003Ctooltip-text>>\\n actions={{!!actions}}\\n disabled=\u003C\u003Cdisabled>>\\n\\n>\u003Cspan\\n\\n data-tw-keyboard-shortcut={{{ [\u003Cdisabled>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/>\u003C\u003Ctoolbar-button-icon>>\u003C$transclude\\n\\n tiddler=\u003C\u003CcurrentTiddler>>\\n field=\\\"text\\\"\\n\\n/>\u003C/$button>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified()\\n\\\\whitespace trim\\n\u003C$wikify\\n\\n name=\\\"tooltip-text\\\"\\n text=\u003C\u003Ctoolbar-button-tooltip>>\\n mode=\\\"inline\\\"\\n output=\\\"text\\\"\\n\\n>\u003C$list\\n\\n filter=\\\"[all[current]!has[dropdown]]\\\"\\n variable=\\\"no-dropdown\\\"\\n\\n>\u003C$set name=disabled filter={{!!condition-disabled}}>\u003C\u003Ctoolbar-button-wikified-button>>\u003C/$set>\u003C/$list>\u003C$list\\n\\n filter=\\\"[all[current]has[dropdown]]\\\"\\n variable=\\\"dropdown\\\"\\n\\n>\u003C$set\\n\\n name=\\\"dropdown-state\\\"\\n value=\u003C\u003Cqualify \\\"$:/state/EditorToolbarDropdown\\\">>\\n\\n>\u003C$set name=disabled filter={{!!condition-disabled}}>\u003C\u003Ctoolbar-button-wikified-dropdown-button>>\u003C/$set>\u003C\u003Ctoolbar-button-wikified-dropdown>>\u003C/$set>\u003C/$list>\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure toolbar-button-tooltip()\\n\\\\whitespace trim\\n{{!!description}}\u003C$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/plain\\\" shortcuts={{!!shortcuts}} prefix=\\\"` - [\\\" separator=\\\"] [\\\" suffix=\\\"]`\\\"/>\\n\\\\end\\n\\n\\\\procedure toolbar-button()\\n\\\\whitespace trim\\n\u003C$list\\n\\n filter={{!!condition}}\\n variable=\\\"list-condition\\\"\\n\\n>\u003C\u003Ctoolbar-button-wikified>>\u003C/$list>\\n\\\\end\\n\\n\\\\procedure toolbar-button-outer()\\n\\\\whitespace trim\\n\u003C$set\\n\\n name=\\\"buttonClasses\\\"\\n value={{!!button-classes}}\\n\\n>\u003C\u003Ctoolbar-button>>\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-code()\\n\\\\whitespace trim\\n\u003C$codeblock code={{{ [\u003CcurrentTiddler>get[text]] }}} language={{{ [\u003CcurrentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-default()\\n\\\\whitespace trim\\n\u003C$transclude>\\n\\n\u003C$transclude tiddler=\\\"$:/language/MissingTiddler/Hint\\\"/>\\n\\n\u003C/$transclude>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-import()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]field:plugin-type[import]]\\\">\\n\\n\u003Cdiv class=\\\"tc-import\\\">\\n\\n\u003C\u003Clingo Listing/Hint>>\\n\\n\u003C\u003Cbuttons>>\\n\\n{{||$:/core/ui/ImportListing}}\\n\\n\u003C\u003Cbuttons>>\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-plugin()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-plugin-info\\\">\\n\u003C$let plugin-type={{!!plugin-type}}\\n\\tdefault-popup-state=\\\"yes\\\"\\n\\tqualified-state=\u003C\u003Cqualify \\\"$:/state/plugin-info\\\">>\\n>\\n{{||$:/core/ui/Components/plugin-info}}\\n\u003C/$let>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-rendered-plain-text()\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"text\\\" text={{!!text}} type={{!!type}}>\\n\u003C$codeblock code=\u003C\u003Ctext>> language=\\\"css\\\"/>\\n\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body()\\n\\\\whitespace trim\\n\u003C$reveal tag=\\\"div\\\" class=\\\"tc-tiddler-body\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]] }}} />\\n\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-classic()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]type[text/x-tiddlywiki]]\\\">\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo Hint>>\\n\\n\u003C$button set=\\\"!!type\\\" setTo=\\\"text/vnd.tiddlywiki\\\">\u003C\u003Clingo Upgrade/Caption>>\u003C/$button>\\n\\n\u003C/div>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle-modified()\\n\\\\whitespace trim\\n\u003C$view field=\\\"modified\\\" format=\\\"date\\\" template={{$:/language/Tiddler/DateFormat}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle-modifier()\\n\\\\whitespace trim\\n\u003C$link to={{!!modifier}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle()\\n\\\\whitespace trim\\n\u003C$reveal type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" tag=\\\"div\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003Cdiv class=\\\"tc-subtitle\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplate/Subtitle]!has[draft.of]]\\\" variable=\\\"subtitleTiddler\\\">\\n\u003C$transclude tiddler=\u003C\u003CsubtitleTiddler>> mode=\\\"inline\\\"/>\u003C$list-join> \u003C/$list-join>\\n\u003C/$list>\\n\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-tags()\\n\\\\whitespace trim\\n\u003C$reveal type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" tag=\\\"div\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003Cdiv class=\\\"tc-tags-wrapper\\\">\u003C$list filter=\\\"[all[current]tags[]sort[title]]\\\" template=\\\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\\\" storyview=\\\"pop\\\"/>\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title-default()\\n\\\\whitespace trim\\n\u003Ch2 class=\\\"tc-title\\\">\\n\u003C$view field=\\\"title\\\"/>\\n\u003C/h2>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title-system()\\n\\\\whitespace trim\\n\u003Ch2 class=\\\"tc-title\\\" title={{$:/language/SystemTiddler/Tooltip}}>\\n\u003Cspan class=\\\"tc-system-title-prefix\\\">$:/\u003C/span>\u003C$text text={{{ [\u003CcurrentTiddler>removeprefix[$:/]] }}}/>\\n\u003C/h2>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-title\\\">\\n\\t\u003Cdiv class=\\\"tc-titlebar\\\">\\n\\t\\t\u003Cspan class=\\\"tc-tiddler-controls\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] :filter[lookup[$:/config/ViewToolbarButtons/Visibility/]!match[hide]]\\\"\\n\\t\\t\\t\\tstoryview=\\\"pop\\\"\\n\\t\\t\\t\\tvariable=\\\"listItem\\\"\\n\\t\\t\\t>\\n\\t\\t\\t\\t\u003C$set name=\\\"tv-config-toolbar-class\\\" filter=\\\"[\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]]\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/span>\\n\\t\\t\u003C$set name=\\\"tv-wikilinks\\\" value={{$:/config/Tiddlers/TitleLinks}}>\\n\\t\\t\\t\u003C$link>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] +[!is[blank]] %>\\n\\t\\t\\t\\t\\t\u003C$let foregroundColor={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\\n\\t\\t\\t\\t\\t\\t\u003Cspan class=\\\"tc-tiddler-title-icon\\\" style=\u003C\u003Ctitle-styles>>>\\n\\t\\t\\t\\t\\t\\t\\t{{||$:/core/ui/TiddlerIcon}}\\n\\t\\t\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default]] }}} />\\n\\t\\t\\t\u003C/$link>\\n\\t\\t\u003C/$set>\\n\\t\u003C/div>\\n\\t\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\" state=\u003C\u003CtiddlerInfoState>> class=\\\"tc-tiddler-info tc-popup-handle\\\" animate=\\\"yes\\\" retain=\\\"yes\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"block\\\"/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$reveal>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-unfold()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-reveal\\\">\\n\u003C%if [{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] %>\\n\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" default=\\\"show\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003C$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\\\"tc-fold-banner\\\">\\n\u003C$action-sendmessage $message=\\\"tm-fold-tiddler\\\" $param=\u003C\u003CcurrentTiddler>> foldedState=\u003C\u003Cfolded-state>>/>\\n{{$:/core/images/chevron-up}}\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C% endif %>\\n\u003C%if [{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] :else[\u003Cfolded-state>get[text]match[hide]] %>\\n\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"show\\\" default=\\\"show\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003C$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\\\"tc-unfold-banner\\\">\\n\u003C$action-sendmessage $message=\\\"tm-fold-tiddler\\\" $param=\u003C\u003CcurrentTiddler>> foldedState=\u003C\u003Cfolded-state>>/>\\n{{$:/core/images/chevron-down}}\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C% endif %>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-templates-list-item-template()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-menu-list-item\\\">\u003C$link />\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-templates-tag-template()\\n\\\\whitespace trim\\n\u003Cspan class=\\\"tc-tag-list-item\\\" data-tag-title=\u003C\u003CcurrentTiddler>>>\\n\u003C$set name=\\\"transclusion\\\" value=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$macrocall $name=\\\"tag-pill-body\\\"\\n\\t\\ttag=\u003C\u003CcurrentTiddler>>\\n\\t\\ticon={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\\n\\t\\tcolour={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\\n\\t\\tpalette={{$:/palette}}\\n\\t\\telement-tag=\\\"$button\\\"\\n\\t\\telement-attributes=\\\"\\\"\\\"popup=\u003C\u003Cqualify \\\"$:/state/popup/tag\\\">> dragFilter=\\\"[all[current]tagging[]]\\\" tag='span'\\\"\\\"\\\"\\n\\t/>\\n\\t\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/tag\\\">> type=\\\"popup\\\" position=\\\"below\\\" animate=\\\"yes\\\" class=\\\"tc-drop-down\\\">\\n\\t\\t\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\\\"/>\\n\\t\\t\u003C/$set>\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\\\" variable=\\\"listItem\\\"> \\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003Chr>\\n\\t\\t\u003C$macrocall $name=\\\"list-tagged-draggable\\\" tag=\u003C\u003CcurrentTiddler>>/>\\n\\t\u003C/$reveal>\\n\u003C/$set>\\n\u003C/span>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/navigation\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/navigation\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-navigate-story-river-actions-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} [data-tiddler-title={{{ [[$(navigateToCSSEscaped)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]\\n\\\\end\\n\\\\function edit-missing-tiddler() [{$:/config/tiddlyflex/navigation/edit-missing-tiddlers}match[yes]then\u003Cevent-navigateTo>!is[shadow]is[missing]]\\n\\\\procedure tiddlyflex-navigate-story-river-actions-navigate()\\n\u003C$set name=\\\"storyTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] :intersection[list\u003Ctv-story-list>] ~[[$:/HistoryList-]addsuffix[$:/columns!!current-column]get[current-tiddler]] }}}>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-navigate\\\"\\n\\t\\t$navigateTo=\u003C\u003Cevent-navigateTo>>\\n\\t\\t$navigateFromTitle={{{ [\u003CstoryTiddler>!is[blank]!match[]] ~[\u003Cevent-navigateFromTitle>] }}}\\n\\t\\t$navigateFromClientRect=\u003C\u003Cevent-navigateFromClientRect>>\\n\\t\\t$navigateFromClientTop=\u003C\u003Cevent-navigateFromClientTop>>\\n\\t\\t$navigateFromClientLeft=\u003C\u003Cevent-navigateFromClientLeft>>\\n\\t\\t$navigateFromClientWidth=\u003C\u003Cevent-navigateFromClientWidth>>\\n\\t\\t$navigateFromClientRight=\u003C\u003Cevent-navigateFromClientRight>>\\n\\t\\t$navigateFromClientBottom=\u003C\u003Cevent-navigateFromClientBottom>>\\n\\t\\t$navigateFromClientHeight=\u003C\u003Cevent-navigateFromClientHeight>>\\n\\t\\t$navigateSuppressNavigation={{{ [\u003Cmodifier>match[ctrl]then[true]] [\u003Cmodifier>match[meta]then[true]] [\u003Cmodifier>match[alt]then[true]] +[match[true]else[false]] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions-inner-inner()\\n\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\u003C%if [[$:/columns]!contains\u003CtiddlyFlexColumn>] %>\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CtiddlyFlexColumn>]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>>\\n\\t\\t\\t\\t$tiddlerTitle=\u003C\u003Cevent-tiddlerTitle>>\\n\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$navigator>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions-inner()\\n\u003C%if [\u003Cmodifier>match[shift]] %>\\n\\t\u003C$let currentColumn=\u003C\u003CtiddlyFlexColumn>> tiddlyFlexColumn={{{ [\u003CcurrentColumn>add[1]] }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner-inner>>\\n\\t\u003C/$let>\\n\u003C% elseif [\u003Cmodifier>match[alt-shift]] %>\\n\\t\u003C$let currentColumn=\u003C\u003CtiddlyFlexColumn>> tiddlyFlexColumn={{{ [\u003CtiddlyFlexColumn>!match[1]subtract[1]] ~1 }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions()\\n\\\\function tiddlyflex-no-shift-alt() [\u003Cmodifier>!match[shift]then\u003Cmodifier>!match[alt-shift]]\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[addprefix[$:/StoryList-]] +[enlist-input[]] +[contains\u003Cevent-navigateTo>] %>\\n\\t\u003C%if [function[tiddlyflex-no-shift-alt]] %>\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\\t\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} navigateToCSSEscaped={{{ [\u003Cevent-navigateTo>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Cevent-navigateTo>] %>\\n\\t\\t\\t\\t\\t\u003C%if [\u003Cmodifier>!match[ctrl]then\u003Cmodifier>!match[meta]then\u003Cmodifier>!match[alt]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-navigate-story-river-actions-selector>>>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\\t\\t\\t\\t\\t\\t\u003C/$wikify>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>> \\n\\t\\t\\t\\t\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$navigator>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C%if [function[tiddlyflex-no-shift-alt]] %>\\n\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\u003C$navigator story={{{ [\u003CtiddlyFlexColumn>addprefix[$:/StoryList-]] }}} history={{{ [\u003CtiddlyFlexColumn>addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>>\\n\\t\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\\t\u003C/$navigator>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$navigator story={{{ [\u003Ctv-story-list>!is[blank]!match[]] ~[[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} history={{{ [\u003Ctv-history-list>!is[blank]!match[]] ~[[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C/$navigator>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-cancel-draft-tiddler-actions-draft-of-not-is-missing()\\n\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}>\\n\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003CcurrentTiddler>] %>\\n\\t\\t\\t\u003C$set name=\\\"index\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[allbefore\u003CcurrentTiddler>add[1]] }}}>\\n\\t\\t\\t\\t\u003C$let nextTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[zth\u003Cindex>] }}} viewTiddler={{{ [\u003CcurrentTiddler>get[draft.of]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CviewTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} to={{{ [\u003CcurrentTiddler>get[draft.of]addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}/>\\n\u003C% endif %>\\n\u003C$navigator story={{{ [\u003CtiddlyFlexColumn>addprefix[$:/StoryList-]] }}} history={{{ [\u003CtiddlyFlexColumn>addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-cancel-tiddler\\\"\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-cancel-draft-tiddler-actions()\\n\u003C%if [\u003CcurrentTiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-story-list>contains\u003CcurrentTiddler>]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\\t\u003C$let scrollTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] ~[\u003Ctdff.tiddlyflex-story-river-filter>before\u003CcurrentTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t$message=\\\"tm-cancel-tiddler\\\"\\n\\t\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-cancel-draft-tiddler-actions-draft-of-not-is-missing>>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-delete-draft-tiddler-actions()\\n\u003C$let deleteTiddlerViewMode={{{ [\u003CcurrentTiddler>get[draft.of]] }}} deleteTiddlerEditMode=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-1]] ~[[$:/StoryList]] }}}>\\n\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003CdeleteTiddlerViewMode>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CdeleteTiddlerViewMode>]\\\"/>\\n\\t\\t\\t\u003C% elseif [\u003Ctv-story-list>contains\u003CdeleteTiddlerEditMode>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CdeleteTiddlerEditMode>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\u003C/$let>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\u003C$let scrollTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] ~[\u003Ctdff.tiddlyflex-story-river-filter>before\u003CcurrentTiddler>] }}}>\\n\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-delete-tiddler\\\"\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$let>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/icons/drag-grip\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/drag-grip\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-grip\\\">\u003Ccircle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/filter\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/filter\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-filter\\\">\u003Cpolygon points=\\\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/horizontal\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/horizontal\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-chevrons-left-right\\\">\u003Cpath d=\\\"m9 7-5 5 5 5\\\"/>\u003Cpath d=\\\"m15 7 5 5-5 5\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/layout\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/layout\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-layout-dashboard\\\">\u003Crect width=\\\"7\\\" height=\\\"9\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"5\\\" x=\\\"14\\\" y=\\\"3\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"9\\\" x=\\\"14\\\" y=\\\"12\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"5\\\" x=\\\"3\\\" y=\\\"16\\\" rx=\\\"1\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/vertical\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/vertical\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-chevrons-up-down\\\">\u003Cpath d=\\\"m7 15 5 5 5-5\\\"/>\u003Cpath d=\\\"m7 9 5-5 5 5\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/license\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/license\",\"text\":\"!!! This plugin is distributed under MIT License\\n\\n```\\n\\nMIT License\\n\\nCopyright (c) 2024 Simon Huber\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy\\nof this software and associated documentation files (the \\\"Software\\\"), to deal\\nin the Software without restriction, including without limitation the rights\\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\ncopies of the Software, and to permit persons to whom the Software is\\nfurnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all\\ncopies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\\nSOFTWARE.\\n\\n```\\n\\n!!! Lucide icons are distributed under ISC License\\n\\n```\\nISC License\\n\\nCopyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.\\n\\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\\n\\n```\\n\\n!!! The configuration panel is copied from [ext[@saqimtiaz'|https://github.com/saqimtiaz]] [ext[streams plugin|https://github.com/saqimtiaz/streams]]\\n\\n```\\n\\nBSD 3-Clause License\\n\\nCopyright (c) 2020, saqimtiaz\\nAll rights reserved.\\n\\nRedistribution and use in source and binary forms, with or without\\nmodification, are permitted provided that the following conditions are met:\\n\\n1. Redistributions of source code must retain the above copyright notice, this\\n list of conditions and the following disclaimer.\\n\\n2. Redistributions in binary form must reproduce the above copyright notice,\\n this list of conditions and the following disclaimer in the documentation\\n and/or other materials provided with the distribution.\\n\\n3. Neither the name of the copyright holder nor the names of its\\n contributors may be used to endorse or promote products derived from\\n this software without specific prior written permission.\\n\\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \\\"AS IS\\\"\\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\\n\\n```\"},\"$:/plugins/BTC/TiddlyFlex/privates/navigation\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/privates/navigation\",\"text\":\"\\\\procedure tiddlyflex-focus-flexcontainer() \u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-tiddlyflex-container\\\" preventScroll=\\\"true\\\"/>\\n\\\\procedure tiddlyflex-keyboard-navigator(actions)\\n\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}} tv-story-list={{{ [tdff.tiddlyflex-fullscreen[]!is[blank]] :then[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]get[column]addprefix[$:/StoryList-]] ~[[$:/StoryList-]addsuffix\u003CcurrentColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}} tv-history-list={{{ [tdff.tiddlyflex-fullscreen[]!is[blank]] :then[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]get[column]addprefix[$:/HistoryList-]] ~[[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}} currentTiddler={{{ [all[tiddlers]removeprefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] ~[\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-simple-keyboard-navigator()\\n\u003C$navigator story={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/StoryList-]] }}} history={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] :map[addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-cycle-columns-navigator-inner()\\n\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\u003C% endif %>\\n\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C/$navigator>\\n\\\\end\\n\\\\define tiddlyflex-cycle-columns-navigator()\\n\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CnextColumn>>/>\\n\u003C$set name=\\\"currentHistoryListTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\u003C%if [\u003Ctv-story-list>contains\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler=\u003C\u003CcurrentHistoryListTiddler>> cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% elseif [\u003Ctv-story-list>!contains\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-multi-column-keyboard-navigator()\\n\u003C$let\\n\\tcurrentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}}\\n\\tlastColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>last[]] }}}\\n\\ttv-story-list={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}\\n\\ttv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~$:/HistoryList-1 }}}\\n\\tfocusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}\\n\\tnextStoryCounter={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>after\u003CcurrentColumn>] }}}\\n\\tnextStoryList={{{ [\u003Ctv-story-list>removesuffix\u003CcurrentColumn>addsuffix\u003CnextStoryCounter>] }}}\\n\\tnextHistoryList={{{ [\u003Ctv-history-list>removesuffix\u003CcurrentColumn>addsuffix\u003CnextStoryCounter>] }}}\\n\\tfirstNextStoryTiddler={{{ [list\u003CnextStoryList>first[]] }}}\\n\\tpreviousStoryCounter={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>before\u003CcurrentColumn>] }}}\\n\\tpreviousStoryList={{{ [\u003Ctv-story-list>removesuffix\u003CcurrentColumn>addsuffix\u003CpreviousStoryCounter>] }}}\\n\\tpreviousHistoryList={{{ [\u003Ctv-history-list>removesuffix\u003CcurrentColumn>addsuffix\u003CpreviousStoryCounter>] }}}\\n\\tfirstPreviousStoryTiddler={{{ [list\u003CpreviousStoryList>first[]] }}}\\n>\\n\\t\u003C\u003Cactions>>\\n\u003C/$let>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/privates/selectors\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/privates/selectors\",\"text\":\"\\\\procedure tiddlyflex-tiddler-scroll-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]\\n\\\\end\\n\\\\procedure tiddlyflex-draft-focus-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}] input.tc-titlebar.tc-edit-texteditor\\n\\\\end\\n\\\\procedure tiddlyflex-focus-draft-tiddler()\\n\u003C$wikify name=\\\"focusSelector\\\" text=\u003C\u003Ctiddlyflex-draft-focus-selector>>>\\n\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003CfocusSelector>> preventScroll=\\\"true\\\"/>\\n\u003C/$wikify>\\n\\\\end\\n\\\\procedure tiddlyflex-scroll-to-tiddler()\\n\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-tiddler-scroll-selector>>>\\n\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\u003C/$wikify>\\n\\\\end\\n\\\\procedure tiddlyflex-scroll-to-column()\\n\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector={{{ [[.tc-tiddlyflex-story-river-]addsuffix\u003CcurrentColumn>] }}}/>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/readme\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/readme\",\"text\":\"!!! ~TiddlyFlex\\n\\nThis ''plugin'' provides an alternative [ext[Flexbox|https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox]] Layout for ~TiddlyWiki5\"},\"$:/core/ui/EditorToolbar/preview-type-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-editortoolbar-preview-type-dropdown>>\"},\"$:/core/ui/Buttons/control-panel\":{\"title\":\"$:/core/ui/Buttons/control-panel\",\"tags\":\"$:/tags/PageControls\",\"caption\":\"{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}\",\"description\":\"{{$:/language/Buttons/ControlPanel/Hint}}\",\"text\":\"\\\\whitespace trim\\n\\\\define control-panel-button(class)\\n\\\\whitespace trim\\n\u003C$button to=\\\"$:/ControlPanel\\\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\\\"\\\"\\\"$(tv-config-toolbar-class)$ $class$\\\"\\\"\\\">\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n{{$:/core/images/options-button}}\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text={{$:/language/Buttons/ControlPanel/Caption}}/>\u003C/span>\\n\u003C/$list>\\n\u003C/$button>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[addprefix[$:/StoryList-]] +[enlist-input[]] +[contains[$:/ControlPanel]] %>\\n\\t\\t\u003C\u003Ccontrol-panel-button \\\"tc-selected\\\">>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ccontrol-panel-button>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C%if [\u003Ctv-story-list>contains[$:/ControlPanel]] %>\\n\\t\\t\u003C\u003Ccontrol-panel-button \\\"tc-selected\\\">>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ccontrol-panel-button>>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"caption\":\"{{$:/core/images/plus-button}} Add a column\",\"description\":\"Add an additional column at the right\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/core/ui/TopBar/menu\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let columns={{{ [list[$:/columns]count[]!match[0]] ~1 }}} nextColumn={{{ [\u003Ccolumns>add[1]] }}}>\\n\\t\\t\u003C$button class=\u003C\u003Ctv-config-toolbar-class>> tooltip=\\\"add column\\\">\\n\\t\\t\\t\u003C%if [list[$:/columns]count[]match[0]] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"1\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CnextColumn>]\\\"/>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\\t{{$:/core/images/plus-button}}\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\\t\u003C$text text=\\\"Add a column\\\"/>\\n\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$button>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/drag-grip}} Enable / disable dragging\",\"description\":\"Enable / disable dragging of tiddlers\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"dragging\\\">\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/drag-grip}}\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"En-/disable dragging\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/filter}} Filter story rivers\",\"description\":\"Filter the story rivers by the search input\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/state/tiddlyflex/story-river/filter}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"filter\\\">\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\" text=\\\"yes\\\"/>\\n\\t\\t\\t\u003C%if [{$:/temp/search/input}is[blank]match[]then[yes]] %>\\n\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-search input\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/filter}}\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"Filter story\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"caption\":\"{{$:/core/images/minus-button}} Close last column\",\"description\":\"Close the last column\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"text\":\"\\\\whitespace trim\\n\\\\procedure remove-column-actions()\\n\u003C$set name=\\\"columnCount\\\" value={{{ [list[$:/columns]count[]] }}}>\\n\\t\u003C$list filter=\\\"[[$:/columns]get[current-column]match\u003CcolumnCount>]\\\">\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column={{{ [\u003CcolumnCount>subtract[1]!match[0]] ~1 }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CcolumnCount>!match[1]]\\\">\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"-[\u003CcolumnCount>]\\\"/>\\n\\t\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let columns={{{ [list[$:/columns]count[]] ~1 }}}>\\n\\t\\t\u003C$button class=\u003C\u003Ctv-config-toolbar-class>> actions=\u003C\u003Cremove-column-actions>> tooltip=\\\"remove column\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\\t{{$:/core/images/minus-button}}\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\\t\u003C$text text=\\\"Remove a column\\\"/>\\n\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$button>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/horizontal}} Switch View\",\"description\":\"Switch the Story River View\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/config/tiddlyflex/story-river/horizontal}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"horizontal / vertical\\\">\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}match[yes]] %>\\n\\t\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/horizontal}}\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/vertical}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"Horizontal / Vertical\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\",\"tags\":\"$:/tags/ViewToolbar $:/tags/EditToolbar\",\"text\":\"\\\\define get-button-class(class)\\nbtc-fullscreen-button $(tv-config-toolbar-class)$ tc-toolbar-icon $class$\\n\\\\end\\n\\\\define get-fullscreen-tooltip(onoff)\\nfullscreen $onoff$ - [$(fullScreenShortcut)$]\\n\\\\end\\n\\n\\\\whitespace trim\\n\u003C$vars fullScreenShortcut=\u003C\u003Cdisplayshortcuts ((fullscreen))>> state={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003Cstate>!is[missing]get[text]!match[yes]] ~[\u003Cstate>is[missing]] %>\\n\\t\\t\u003C$button class=\u003C\u003Cget-button-class>> tooltip=\u003C\u003Cget-fullscreen-tooltip \\\"on\\\">>>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Cstate>> text=\\\"yes\\\" column=\u003C\u003CtiddlyFlexColumn>>/>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-icons>match[yes]] %>\\n\\t\\t\\t\\t{{$:/core/images/full-screen-button}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-text>match[yes]] %>\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text=\\\"fullscreen\\\"/>\u003C/span>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$button>\\n\\t\u003C% elseif [\u003Cstate>get[text]match[yes]] %>\\n\\t\\t\u003C$button class=\u003C\u003Cget-button-class \\\"tc-selected\\\">> tooltip=\u003C\u003Cget-fullscreen-tooltip \\\"off\\\">>>\\n\\t\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\" variable=\\\"fullScreenTiddler\\\">\\n\\t\\t\\t\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CfullScreenTiddler>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-icons>match[yes]] %>\\n\\t\\t\\t\\t{{$:/core/images/full-screen-button}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-text>match[yes]] %>\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text=\\\"fullscreen\\\"/>\u003C/span>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$button>\\n\\t\u003C% endif %>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu\",\"tags\":\"$:/tags/ViewToolbar\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/tiddlyflex/menu\\\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class={{{ [\u003Ctv-config-toolbar-class>] tc-tiddlyflex-shown-when-narrow +[join[ ]] }}} selectedClass=\\\"tc-selected\\\">\\n{{$:/core/images/menu-button}}\\n\u003C/$button>\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/tiddlyflex/menu\\\">> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n\\n\u003Cdiv class=\\\"tc-drop-down\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" value=\\\"tc-btn-invisible\\\">\\n\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!is[draft]] -[[$:/core/ui/Buttons/more-tiddler-actions]] -[[$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" filter=\\\"[\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]]\\\">\\n\\n\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"inline\\\"/>\\n\\n\u003C/$set>\\n\\n\u003C/$list>\\n\\n\u003C/$set>\\n\\n\u003C/$set>\\n\\n\u003C/$set>\\n\\n\u003C/div>\\n\\n\u003C/$reveal>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\u003C$checkbox field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" class=\\\"tc-tiddlyflex-ui-form-switch\\\"/>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\\n\u003C$edit-text tag=\\\"input\\\" class=\\\"tc-tiddlyflex-ui-form-input\\\"/>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\\n\u003C$vars cnt={{{[enlist{!!option-names}count[]]}}}>\\n\u003C$select class=\\\"tc-tiddlyflex-ui-form-select\\\">\\n\u003C$list filter=\\\"[range\u003Ccnt>]\\\" variable=\\\"index\\\">\\n\u003Coption value={{{[enlist{!!option-values}nth\u003Cindex>]}}}>\u003C$text text={{{[enlist{!!option-names}nth\u003Cindex>]}}}/>\u003C/option>\\n\u003C/$list>\\n\u003C/$select>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/Toolbars\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/Toolbars\",\"caption\":\"Toolbars\",\"tags\":\"$:/tags/TiddlyFlex/Settings\",\"text\":\"\\\\define config-base() $:/config/TiddlyFlex/Toolbars/Visibility/\\n\\n\u003C$list filter=\\\"$:/tags/TopToolbar $:/tags/LeftToolbar $:/tags/BottomToolbar\\\" variable=\\\"toolbarTag\\\">\\n\\n\\t\u003C%if [all[tiddlers+shadows]tag\u003CtoolbarTag>limit[1]] %>\\n\\n\\t\\t!! \u003C$text text={{{ [\u003CtoolbarTag>removeprefix[$:/tags/]] }}}/>\\n\\n\\t\\t\\t\u003C$macrocall $name=\\\"list-tagged-draggable\\\" tag=\u003C\u003CtoolbarTag>> itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\t\\t\u003Chr>\\n\\n\\t\u003C% endif %>\\n\\n\u003C/$list>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\",\"caption\":\"UI\",\"tags\":\"$:/tags/TiddlyFlex/Settings\",\"text\":\"\\\\define sortBySettingsGroupFilter()\\n[get[settings-group]!is[blank]else[!general]] [get[settings-group-header]!is[blank]else[99]] +[join[]]\\n\\\\end\\n\\n\u003C$edit-text tiddler=\\\"$:/state/tiddlyflex/settings/search\\\" class=\\\"tc-tiddlyflex-search-input\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"search\\\" placeholder=\\\"search...\\\"/>\\n\\n\u003Cdiv class=\\\"tc-tiddlyflex-list-group tc-tiddlyflex-list-group-box-shadow tc-tiddlyflex-list-settings\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]prefix[$:/config/tiddlyflex/]has[settings-template]] [[$:/config/ShowEditPreview/PerTiddler]] +[search:title,caption,description{$:/state/tiddlyflex/settings/search}] +[sortsub\u003CsortBySettingsGroupFilter>]\\\">\\n\u003C$list filter={{{[{!!condition}!is[blank]] :else[{!!title}]}}} variable=\\\"list-condition\\\">\\n\u003Cdiv class=\\\"tc-tiddlyflex-list-group-item\\\">\\n\u003C$transclude tiddler={{!!settings-template}}/>\\n\u003C/div>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings\",\"caption\":\"TiddlyFlex\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"text\":\"\u003C\u003Ctabs \\\"[all[tiddlers+shadows]tag[$:/tags/TiddlyFlex/Settings]]\\\" \\\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\\\">>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Layout\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Layout\",\"tags\":\"$:/tags/Layout\",\"description\":\"A Flexbox Layout\",\"name\":\"~TiddlyFlex\",\"icon\":\"$:/plugins/BTC/TiddlyFlex/icons/layout\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\procedure tiddlyflex-activate-column-actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] +[!match\u003CtiddlyFlexColumn>] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CtiddlyFlexColumn>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-hide-sidebar-actions() \u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"no\\\"/>\\n\\\\procedure tiddlyflex-layout-story()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-story-river-wrapper\\\">\\n\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-story-river-header\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>>>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-header\\\">\\n\\t\\t\\t\u003C$set name=\\\"aboveStoryHeaderTag\\\" value={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryHeaderTag>!is[draft]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C/div>\\n\\t\u003C/$eventcatcher>\\n\\t\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\\\"/>\\n\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-story-river-footer\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>>>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-footer\\\">\\n\\t\\t\\t\u003C$set name=\\\"belowStoryFooterTag\\\" value={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryFooterTag>!is[draft]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C/div>\\n\\t\u003C/$eventcatcher>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-story-rivers()\\n\\\\whitespace trim\\n\u003C$list filter=\u003C\u003Ctdff.tiddlyflex-enlist-columns>> variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"transclusion\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\u003C$vars tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-story>>/>\\n\\t\\t\u003C/$vars>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-drafts-inner()\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\\\"/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-drafts()\\n\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-drafts-inner>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-sidebar()\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\\\"/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-header()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-header\\\">\\n\\t\u003C$list filter=\\\"[{$:/status/RequireReloadDueToPluginChange}match[yes]then{$:/temp/HidePluginWarning}!match[yes]then[$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning]] [all[shadows+tiddlers]tag[$:/tags/TopToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-leftbar()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-leftbar\\\">\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/LeftToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-footer()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-footer\\\">\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/BottomToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-enable-drag-and-drop={{$:/config/DragAndDrop/Enable}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\t\u003Cdiv class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/PageTemplate/TiddlyFlex]!is[draft]] :map:flat[subfilter{!!text}] tc-page-container tc-tiddlyflex-container [[tc-page-view-]addsuffix\u003CstoryviewTitle>] [[tc-language-]addsuffix\u003ClanguageTitle>] [{$:/state/sidebar}match[yes]then[tc-sidebar-shown]] :and[unique[]join[ ]] }}} tabindex=\\\"0\\\">\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-sidebar-shown\\\" matchSelector=\\\".tc-tiddlyflex-sidebar-shown\\\" $click=\u003C\u003Ctiddlyflex-hide-sidebar-actions>> class=\\\"tc-tiddlyflex-sidebar-shown-eventcatcher\\\">\\n\\t\\t\\t\\t\u003Cdiv class={{{ [{$:/state/sidebar}!match[no]then[tc-tiddlyflex-sidebar-hide tc-btn-invisible tc-tiddlyflex-sidebar-shown]] [{$:/state/sidebar}match[no]then[tc-tiddlyflex-sidebar-hide tc-btn-invisible tc-tiddlyflex-sidebar-hidden]] }}}/>\\n\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-header>>/>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-main-wrapper\\\">\\n\\t\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-leftbar>>/>\\n\\t\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\\t\u003Cmain class=\\\"tc-tiddlyflex-main\\\">\\n\\t\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]] %>\\n\\t\\t\\t\\t\\t\u003C$eventcatcher tag=\\\"div\\\" class=\\\"tc-tiddlyflex-pointerdown-eventcatcher\\\" selector=\\\".tc-tiddlyflex-sidebar-resizer\\\" matchSelector=\\\".tc-tiddlyflex-sidebar-resizer\\\" $pointerdown=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerdown-actions>> $pointerup=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>>>\\n\\t\\t\\t\\t\\t\\t\u003C%if [{$:/state/sidebar/resizing}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$eventcatcher tag=\\\"div\\\" selector=\\\".tc-tiddlyflex-pointermove\\\" matchSelector=\\\".tc-tiddlyflex-pointermove\\\" class=\\\"tc-tiddlyflex-pointermove-eventcatcher\\\" $pointerup=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>> $pointermove=\u003C\u003Ctiddlyflex-sidebar-resizer-pointermove-actions>> $pointerleave=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>> $pointerout=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>>>\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-pointermove\\\"/>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-resizer\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-container\\\">\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-container-inner\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-layout-story-rivers>>\\n\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-layout-drafts>>\\n\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar\\\">\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-container\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-container-inner\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-sidebar>>/>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/show-top-right-bar}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$transclude tiddler=\\\"$:/core/ui/PageTemplate/toprightbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\\t\u003C/main>\\n\\t\\t\u003C/div>\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-footer>>/>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\u003C/div>\\n\u003C/$vars>\"},\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\":{\"title\":\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\",\"text\":\"The Ensemble Title must not be empty\"},\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/MatchingEnsembleNotification\":{\"title\":\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/MatchingEnsembleNotification\",\"text\":\"Nothing to load. The current configuration matches the Ensemble.\"},\"$:/plugins/BTC/TiddlyFlex/ui/SideBar/Ensemble\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/SideBar/Ensemble\",\"caption\":\"Ensemble\",\"tags\":\"$:/tags/SideBar\",\"text\":\"\\\\define tiddlyflex-get-ensemble-delete-message()\\nDo you want to delete the Ensemble \\\"$(ensembleName)$\\\"?\\n\\\\end\\n\\\\procedure tiddlyflex-delete-ensemble-actions()\\n\u003C$action-confirm $message=\u003C\u003Ctiddlyflex-get-ensemble-delete-message>>>\\n\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CensembleTiddler>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\\\procedure tiddlyflex-ensemble-list()\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"foregroundColour\\\" text=\u003C\u003Ccolour foreground>>>\\n\u003Cspan class=\\\"tc-small-gap-right\\\" style={{{ [[font-size: 24px; color: ]addsuffix\u003CforegroundColour>addsuffix[;]] }}}>\\n\u003Cdiv style=\\\"width: 24px; height: 24px; text-align: center; display: inline-block;\\\">\\n\u003C%if [\u003CensembleTiddler>get[icon]] %>\\n\u003C$transclude tiddler={{{ [\u003CensembleTiddler>get[icon]] }}}/>\\n\u003C% else %>\\n\u003C$text text={{{ [\u003CensembleName>splitbefore[]] }}}/>\\n\u003C% endif %>\\n\u003C/div>\\n\u003C/span>\\n\u003C/$wikify>\\n\u003Cspan style=\\\"font-size: 24px;\\\">\\n\u003C$text text=\u003C\u003CensembleName>>/>\\n\u003C/span>\\n\u003C$button actions=\u003C\u003Ctiddlyflex-load-ensemble-actions>> class=\\\"tc-small-gap-left\\\">\\nLoad\\n\u003C/$button>\\n\u003C$button class=\\\"tc-small-gap-left\\\" actions=\u003C\u003Ctiddlyflex-delete-ensemble-actions>>>\\nDelete\\n\u003C/$button>\\n\u003C$button class=\\\"tc-big-gap-left\\\">\\n\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions\\\" ensembleTitle=\u003C\u003CensembleName>> icon={{{ [\u003CensembleTiddler>get[icon]] }}}/>\\nSave\\n\u003C/$button>\\n\\\\end\\n\\\\whitespace trim\\n\\n!! Save Ensemble\\n\\nGive your ensemble a title:\u003Cbr>\\n\u003C$edit-text tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" default=\\\"\\\" placeholder=\\\"Title\\\" tag=\\\"input\\\" class=\\\"tc-story-title tc-small-gap-right\\\"/>\u003C$button class=\\\"tc-btn-invisible tc-greyed-out-button\\\">\u003C$action-deletefield $tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" $field=\\\"text\\\"/>{{$:/core/images/close-button}}\u003C/$button>\\n\\nOptionally, provide an icon:\u003Cbr>\\n\u003C$edit-text tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" default=\\\"\\\" field=\\\"icon\\\" placeholder=\\\"Icon\\\" tag=\\\"input\\\" class=\\\"tc-small-gap-right\\\"/>\u003C$button class=\\\"tc-btn-invisible tc-greyed-out-button\\\">\u003C$action-deletefield $tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" $field=\\\"icon\\\"/>{{$:/core/images/close-button}}\u003C/$button>\\n\\n\u003C$let ensembleTitle={{{ [[$:/temp/tiddlyflex/save-ensemble/story-title]get[text]] }}} icon={{{ [[$:/temp/tiddlyflex/save-ensemble/story-title]get[icon]] }}}>\\n\\t\u003C$button>\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions\\\" ensembleTitle=\u003C\u003CensembleTitle>> icon=\u003C\u003Cicon>>/>Save\u003C/$button>\\n\u003C/$let>\\n\\n\u003Chr class=\\\"simple\\\">\\n\\n!! Load Ensemble\\n\\n\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/Ensemble/]]\\\" variable=\\\"ensembleTiddler\\\" storyview=\\\"pop\\\">\\n\\n\u003C$let ensembleName={{{ [\u003CensembleTiddler>removeprefix[$:/Ensemble/]] }}}>\\n\\n\u003C\u003Ctiddlyflex-ensemble-list>>\\n\\n\u003C/$let>\\n\\n\u003C/$list>\"},\"$:/core/ui/SideBar/Open\":{\"title\":\"$:/core/ui/SideBar/Open\",\"tags\":\"$:/tags/SideBar\",\"caption\":\"{{$:/language/SideBar/Open/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/CloseAll/\\n\\n\\\\define drop-actions()\\n\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CcurrentTiddler>]\\\"/>\\n\\\\end\\n\\n\\\\define placeholder()\\n\u003Cdiv class=\\\"tc-droppable-placeholder\\\"/>\\n\\\\end\\n\\n\\\\define droppable-item(button)\\n\\\\whitespace trim\\n\u003C$droppable actions=\u003C\u003Cdrop-actions>> enable=\u003C\u003Ctv-allow-drag-and-drop>> tag=\\\"div\\\">\\n\u003C\u003Cplaceholder>>\\n\u003Cdiv>\\n$button$\\n\u003C/div>\\n\u003C/$droppable>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-sidebar-tab-open()\\n\u003Cdiv class=\\\"tc-sidebar-tab-open\\\">\\n\u003C$list filter=\\\"[list\u003Ctv-story-list>]\\\" history=\u003C\u003Ctv-history-list>> storyview=\\\"tiddlypop\\\">\\n\u003Cdiv class=\\\"tc-sidebar-tab-open-item\\\">\\n\u003C$macrocall $name=\\\"droppable-item\\\" button=\\\"\u003C$button message='tm-close-tiddler' tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class='tc-btn-invisible tc-btn-mini tc-small-gap-right'>{{$:/core/images/close-button}}\u003C/$button>\u003C$link/>\\\"/>\\n\u003C/div>\\n\u003C/$list>\\n\u003C$tiddler tiddler=\\\"\\\">\\n\u003Cdiv>\\n\u003C$macrocall $name=\\\"droppable-item\\\" button=\\\"\u003C$button message='tm-close-all-tiddlers' class='tc-btn-invisible tc-btn-mini'>\u003C\u003Clingo Button>>\u003C/$button>\\\"/>\\n\u003C/div>\\n\u003C/$tiddler>\\n\u003C/div>\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>] }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-sidebar-tab-open>>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-sidebar-tab-open>>\\n\u003C% endif %>\"},\"$:/tags/TiddlyFlex/EditTemplate\":{\"title\":\"$:/tags/TiddlyFlex/EditTemplate\",\"list\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\"},\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\":{\"title\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"list\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri $:/config/TiddlyFlex/EditTemplateBodyFilters/default\"},\"$:/tags/TiddlyFlex/ViewTemplate\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"list\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\"},\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"list\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body $:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body $:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet $:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags $:/config/TiddlyFlex/ViewTemplateBodyFilters/system $:/config/TiddlyFlex/ViewTemplateBodyFilters/import $:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin $:/config/TiddlyFlex/ViewTemplateBodyFilters/default\"},\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"list\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system $:/config/TiddlyFlex/ViewTemplateTitleFilters/default\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-current\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-current\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}\",\"list-after\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-diffs-current>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-shadow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-shadow\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}\",\"list-after\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-diffs-shadow>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/Output}}\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-output>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-canonical-uri>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default\",\"text\":\"\\\\function edit-preview-state()\\n[{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[\u003Cqualified-preview-state>] +[get[text]] :else[[no]]\\n\\\\end\\n\\n\\\\define config-visibility-title()\\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define importFileActions()\\n\u003C$action-popup $state=\u003C\u003CimportState>> $coords=\\\"(0,0,0,0)\\\" $floating=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\",\"text\":\"\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body-editor>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\",\"text\":\"\u003C\u003Ctoolbar-button-outer>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-controls>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default\",\"text\":\"\u003C\u003Ctdfp-tiddlyflex-edittemplate-fieldeditor-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define config-title()\\n$:/config/EditTemplateFields/Visibility/$(currentField)$\\n\\\\end\\n\\n\\\\define config-filter()\\n[[hide]] -[title{$(config-title)$}]\\n\\\\end\\n\\n\u003C!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->\\n\\\\define get-field-value-tiddler-filter() [subfilter\u003Cget-field-editor-filter>sha256[16]addprefix[/]addprefix\u003CnewFieldValueTiddlerPrefix>]\\n\\\\define get-field-editor-filter() [\u003CnewFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\define current-tiddler-new-field-selector()\\n[data-tiddler-title=\\\"$(currentTiddlerCSSescaped)$\\\"] .tc-edit-field-add-name-wrapper input\\n\\\\end\\n\\n\\\\define new-field-actions()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [\u003CnewFieldNameTiddler>get[text]] }}} $value={{{ [\u003CnewFieldNameTiddler>get[text]] :map[subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\u003C/$set>\\n\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003Ccurrent-tiddler-new-field-selector>>/>\\n\\\\end\\n\\n\\\\define delete-state-tiddlers() \u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\\n\\\\define cancel-search-actions-inner()\\n\\\\whitespace trim\\n\u003C$list\\n\\tfilter=\\\"[\u003CstoreTitle>has[text]] [\u003CnewFieldNameTiddler>has[text]]\\\"\\n\\tvariable=\\\"ignore\\\"\\n\\temptyMessage=\\\"\u003C\u003Ccancel-delete-tiddler-actions 'cancel'>>\\\">\\n\u003C\u003Cdelete-state-tiddlers>>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n\u003C$set name=\\\"userInput\\\" value={{{ [\u003CstoreTitle>get[text]] }}}>\\n\u003C$list\\n\\tfilter=\\\"[\u003CnewFieldNameTiddler>get[text]!match\u003CuserInput>]\\\"\\n\\temptyMessage=\\\"\u003C\u003Ccancel-search-actions-inner>>\\\">\\n\u003C$action-setfield $tiddler=\u003C\u003CnewFieldNameTiddler>> text=\u003C\u003CuserInput>>/>\u003C$action-setfield $tiddler=\u003C\u003CrefreshTitle>> text=\\\"yes\\\"/>\\n\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\define new-field()\\n\\\\whitespace trim\\n\u003C$vars name={{{ [\u003CnewFieldNameTiddler>get[text]] }}}>\\n\u003C$reveal type=\\\"nomatch\\\" text=\\\"\\\" default=\u003C\u003Cname>>>\\n\u003C$button tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\"\\n$name=\u003C\u003Cname>>\\n$value={{{ [subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\u003C/$set>\\n\u003C\u003Clingo Fields/Add/Button>>\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"\\\" default=\u003C\u003Cname>>>\\n\u003C$button>\\n\u003C\u003Clingo Fields/Add/Button>>\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C/$vars>\\n\\\\end\\n\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Shadow/\\n\\\\define pluginLinkBody()\\n\\\\whitespace trim\\n\u003C$link to=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\">\\n\u003C$text text=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\"/>\\n\u003C/$link>\\n\\\\end\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-shadow>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\\n\\\\procedure lingo-base() $:/language/EditTemplate/\\n\\n\u003C$let saveTiddler=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$macrocall $name=\\\"edit-tags-template\\\" tagField=\u003C\u003CtagField>>/>\\n\u003C/$let>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-title>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"first-search-filter\":\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search\u003CuserInput>]\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define input-cancel-actions() \u003C$list filter=\\\"[\u003CstoreTitle>get[text]] [\u003CcurrentTiddler>get[type]] +[limit[1]]\\\" emptyMessage=\\\"\\\"\\\"\u003C\u003Ccancel-delete-tiddler-actions \\\"cancel\\\">>\\\"\\\"\\\">\u003C$action-sendmessage $message=\\\"tm-remove-field\\\" $param=\\\"type\\\"/>\u003C$action-deletetiddler $filter=\\\"[\u003CtypeInputTiddler>] [\u003CrefreshTitle>] [\u003CtypeSelectionTiddler>]\\\"/>\u003C/$list>\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-type>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\procedure delete-edittemplate-state-tiddlers()\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CnewFieldNameInputTiddler>] [\u003CnewFieldNameSelectionTiddler>] [\u003CnewTagNameTiddler>] [\u003CnewTagNameInputTiddler>] [\u003CnewTagNameSelectionTiddler>] [\u003CtypeInputTiddler>] [\u003CtypeSelectionTiddler>]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure save-tiddler-actions()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param={{{ [\u003CnewTagNameTiddler>get[text]] }}}/>\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [\u003CnewFieldNameTiddler>get[text]] }}} $value={{{ [\u003CnewFieldNameTiddler>get[text]] :map[subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C$action-sendmessage $message=\\\"tm-save-tiddler\\\"/>\\n\\\\end\\n\\n\\\\define cancel-delete-tiddler-actions(message)\\n\u003C%if [[$message$]match[delete]] %>\\n\\t\u003C\u003Ctiddlyflex-delete-draft-tiddler-actions>>\\n\u003C% elseif [[$message$]match[cancel]] %>\\n\\t\u003C\u003Ctiddlyflex-cancel-draft-tiddler-actions>>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure get-field-value-tiddler-filter() [subfilter\u003Cget-field-editor-filter>sha256[16]addprefix[/]addprefix\u003CnewFieldValueTiddlerPrefix>]\\n\\\\procedure get-field-editor-filter() [\u003CnewFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edit-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-templates-list-item-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-templates-tag-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-code>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import\",\"text\":\"\\\\procedure lingo-base() $:/language/Import/\\n\\n\\\\procedure confirmCancel()\\n\\\\whitespace trim\\n\u003C$action-confirm $message={{$:/language/Import/Listing/Cancel/Warning}} >\\n\u003C$action-deletetiddler $tiddler=\u003C\u003CcurrentTiddler>>/>\\n\u003C$action-sendmessage $message=\\\"tm-close-tiddler\\\" title=\u003C\u003CcurrentTiddler>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\n\\\\procedure buttons()\\n\\\\whitespace trim\\n\u003C$button actions=\u003C\u003CconfirmCancel>> >\u003C\u003Clingo Listing/Cancel/Caption>>\u003C/$button>\\n \\n\u003C$button message=\\\"tm-perform-import\\\" param=\u003C\u003CcurrentTiddler>>>\u003C\u003Clingo Listing/Import/Caption>>\u003C/$button>\\n \\n\u003C\u003Clingo Listing/Preview>> \u003C$select tiddler=\\\"$:/state/importpreviewtype\\\" default=\\\"$:/core/ui/ImportPreviews/Text\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\\\">\\n\u003Coption value=\u003C\u003CcurrentTiddler>>>{{!!caption}}\u003C/option>\\n\u003C/$list>\\n\u003C/$select>\\n\\\\end\\n\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-import>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-plugin>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-rendered-plain-text>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate $:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/ClassicWarning/\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-classic>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modified\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modified\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate/Subtitle\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle-modified>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modifier\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modifier\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate/Subtitle\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle-modifier>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-tags>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title-system>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\\\\define title-styles() fill:$(foregroundColor)$;\\n\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-unfold>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\define folded-state()\\n$:/state/folded/$(currentTiddler)$\\n\\\\end\\n\\\\define cancel-delete-tiddler-actions(message) \u003C$action-sendmessage $message=\\\"tm-$message$-tiddler\\\"/>\\n\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]]\\n\u003C$vars storyTiddler=\u003C\u003CcurrentTiddler>> tiddlerInfoState=\u003C\u003Cqualify \\\"$:/state/popup/tiddler-info\\\">>>\\n\\t\u003Cdiv data-tiddler-title=\u003C\u003CcurrentTiddler>> data-tags={{!!tags}} class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]addprefix[tc-tiddlyflex-column-]] tc-tiddler-view-frame [\u003CcurrentTiddler>is[tiddler]then[tc-tiddler-exists]] [\u003CcurrentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [\u003CcurrentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [\u003CcurrentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [\u003CcurrentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [\u003CcurrentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}} role=\\\"article\\\">\\n\\t\\t\u003C$tiddlyflex-draggable enable={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>is[missing]then[yes]] ~[[no]] }}} tiddler=\u003C\u003CcurrentTiddler>> startactions=\u003C\u003Ctiddlyflex-drag-start-actions>> endactions=\u003C\u003Ctiddlyflex-drag-end-actions>> class=\\\"tc-tiddler-frame\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C% if [{$:/state/dragging}match[yes]then{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/story-river/full-screen/]addsuffix\u003CcurrentTiddler>is[missing]] %>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-top-half\\\" actions=\u003C\u003Ctiddlyflex-top-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-top-dragenter-actions>>/>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-bottom-half\\\" actions=\u003C\u003Ctiddlyflex-bottom-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-bottom-dragenter-actions>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$tiddlyflex-draggable>\\n\\t\u003C/div>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\",\"text\":\"\\\\whitespace trim\\n\u003C$reveal state=\\\"$:/status/IsReadOnly\\\" type=\\\"nomatch\\\" text=\\\"yes\\\" tag=\\\"div\\\" class=\\\"tc-drafts-list tc-tiddlyflex-drafts-list\\\">\\n\u003C$list filter=\\\"[is[draft]!sort[modified]] -[all[tiddlers]prefix[$:/StoryList-]get[list]enlist-input[]]\\\">\\n\u003C$link>\\n\u003Cspan class=\\\"tc-small-gap-right\\\">{{$:/core/images/edit-button}}\u003C/span>\u003C$text text=\u003C\u003CcurrentTiddler>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$reveal>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\define config-title()\\n$:/config/SideBarSegments/Visibility/$(listItem)$\\n\\\\end\\n\\n\u003C$scrollable class=\\\"tc-tiddlyflex-sidebar-scrollable\\\" fallthrough=\\\"no\\\">\\n\\n\\t\u003Cdiv class=\\\"tc-sidebar-header\\\">\\n\\n\\t\\t\u003C$reveal state=\\\"$:/state/sidebar\\\" type=\\\"match\\\" text=\\\"yes\\\" default=\\\"yes\\\" animate=\\\"yes\\\">\\n\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n\\n\\t\\t\\t\\t\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003Cconfig-title>> text=\\\"hide\\\" tag=\\\"div\\\">\\n\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"block\\\"/>\\n\\n\\t\\t\\t\\t\u003C/$reveal>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C/$reveal>\\n\\n\\t\u003C/div>\\n\\n\u003C/$scrollable>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\procedure tiddlyflex-filtered-story-list()\\n\\n\u003C$list filter=\u003C\u003Ctdff.tiddlyflex-story-river-filter>> history=\u003C\u003Ctv-history-list>> template=\\\"$:/core/ui/StoryTiddlerTemplate\\\" storyview=\\\"tiddlyflex\\\" emptyMessage={{{ [list\u003Ctv-story-list>limit[1]then[]else{$(emptyMessageTiddler)$}] }}}/>\\n\\n\\\\end\\n\u003Cdiv class={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] +[match\u003CtiddlyFlexColumn>then[tc-tiddlyflex-story-river-active]] [[tc-tiddlyflex-story-river-wrapper-inner]] [[tc-tiddlyflex-story-river-]addsuffix\u003CtiddlyFlexColumn>] :and[unique[]join[ ]] }}}>\\n\\n\\t\u003C$dropzone enable={{{ [tdff.tiddlyflex-fullscreen[]is[blank]then\u003Ctv-enable-drag-and-drop>] }}} class={{{ [\u003CtiddlyFlexColumn>!is[blank]addprefix[tc-tiddlyflex-dropzone-]] ~tc-tiddlyflex-dropzone-1 }}} importTitle={{{ [[$:/Import-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-activate-column\\\" matchSelector=\\\".tc-tiddlyflex-activate-column\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>> class=\\\"tc-tiddlyflex-active-column-wrapper\\\">\\n\\n\\t\\t\\t\u003Ca class=\\\"tc-btn-invisible tc-tiddlyflex-activate-column\\\"/>\\n\\n\\t\\t\u003C/$eventcatcher>\\n\\n\\t\\t\u003Csection class=\\\"tc-tiddlyflex-story-river\\\" role=\\\"main\\\">\\n\\n\\t\\t\\t\u003Csection class=\\\"story-backdrop\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"aboveStoryTag\\\" value={{{ [[$:/tags/AboveStory-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryTag>!is[draft]]\\\">\\n\\n\\t\\t\\t\\t\\t\\t\u003C$transclude/>\\n\\n\\t\\t\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\\t\u003Csection class=\\\"tc-tiddlyflex-story-river-inner\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"emptyMessageTiddler\\\" value={{{ [[$:/config/EmptyStoryMessage-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-filtered-story-list>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-below-story-river-droppable\\\" actions=\u003C\u003Ctiddlyflex-story-droppable-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-story-droppable-dragenter-actions>>/>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\\t\u003Csection class=\\\"story-frontdrop\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"belowStoryTag\\\" value={{{ [[$:/tags/BelowStory-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryTag>!is[draft]]\\\">\\n\\n\\t\\t\\t\\t\\t\\t\u003C$transclude/>\\n\\n\\t\\t\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\u003C/section>\\n\\n\\t\u003C/$dropzone>\\n\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning\",\"text\":\"\\\\define lingo-base() $:/language/\\n\\n\u003Cdiv class=\\\"tc-plugin-reload-warning\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" value=\\\"\\\">\\n\\n\u003C\u003Clingo PluginReloadWarning>>\u003C$button set=\\\"$:/temp/HidePluginWarning\\\" setTo=\\\"yes\\\" class=\\\"tc-btn-invisible tc-small-gap-left\\\">{{$:/core/images/close-button}}\u003C/$button>\\n\\n\u003C/$set>\\n\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/Segments/search\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/Segments/search\",\"tags\":\"$:/tags/TopLeftBar\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t{{$:/core/ui/SideBarSegments/search}}\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/TopToolbar\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/TopToolbar\",\"caption\":\"Top ~TiddlyFlex Toolbar\",\"description\":\"The standard Top ~TiddlyFlex Toolbar\",\"tags\":\"$:/tags/TopToolbar\",\"text\":\"\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar\\\">\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-left\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopLeftToolbarItems/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/div>\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-center\\\">\\n\\n\\t\u003C/div>\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-right\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopRightToolbarItems/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/div>\\n\u003C/div>\"}}}","revision":"0","bag":"default"}
+{"title":"$:/plugins/BTC/TiddlyFlex","description":"A Flexbox Layout for TiddlyWiki5","name":"TiddlyFlex","plugin-type":"plugin","author":"Simon Huber","version":"0.4.7","core-version":">=5.3.3","source":"https://github.com/BurningTreeC/TiddlyFlex","list":"readme license","dependents":"","type":"application/json","text":"{\"tiddlers\":{\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/add-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/add-column\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((add-column))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let columns={{{ [list[$:/columns]count[]!match[0]] ~1 }}} nextColumn={{{ [\u003Ccolumns>add[1]] }}}>\\n\\t\\t\\t\u003C%if [list[$:/columns]count[]match[0]] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"1\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CnextColumn>]\\\"/>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/cancel-close-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/cancel-close-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((cancel-close-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure tiddlyflex-tiddler-is-draft-actions-draft-of-not-is-missing()\\n\u003C$list filter=\\\"[list[$:/columns]!match{$:/columns!!current-column}]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}}>\\n\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Ctiddler>] %>\\n\\t\\t\\t\u003C$set name=\\\"index\\\" value={{{ [list\u003Ctv-story-list>allbefore\u003Ctiddler>add[1]] }}}>\\n\\t\\t\\t\\t\u003C$let nextTiddler={{{ [list\u003Ctv-story-list>zth\u003Cindex>] }}} viewTiddler={{{ [\u003Ctiddler>get[draft.of]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CviewTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003Ctiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\\\\end\\n\\\\procedure tiddlyflex-tiddler-is-draft-actions()\\n\u003C% if [\u003Ctiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\u003C$list filter=\\\"[list[$:/columns]!match{$:/columns!!current-column}]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}}>\\n\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Ctiddler>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003Ctiddler>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-tiddler-is-draft-actions-draft-of-not-is-missing>>\\n\\t\u003C$set name=\\\"toTiddler\\\" value={{{ [\u003Ctiddler>get[draft.of]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CtoTiddler>] }}}/>\\n\\t\u003C/$set>\\n\u003C% endif %>\\n\u003C$set name=\\\"scrollTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003Ctiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003Ctiddler>] }}}>\\n\\t\u003C%if [\u003Ctiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\u003C%if [\u003CscrollTiddler>is[draft]] %>\\n\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003CscrollTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\\t\u003C$action-sendmessage $message=\\\"tm-cancel-tiddler\\\" $param=\u003C\u003Ctiddler>>/>\\n\u003C/$set>\\n\\\\end\\n\\\\define actions()\\n\u003C$set name=\\\"tiddler\\\" value=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C%if [\u003Ctiddler>!is[draft]] %>\\n\\t\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[before\u003Ctiddler>] ~[after\u003Ctiddler>] }}}>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-close-tiddler\\\" $param=\u003C\u003Ctiddler>>/>\\n\\t\\t\\t\u003C%if [\u003CscrollTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003CscrollTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$let>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}}/>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-tiddler-is-draft-actions>>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Ctiddler>] }}}/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((column-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} columnCount={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>last[]] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] ~1 }}} nextColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[before\u003CcurrentColumn>] ~[\u003CcolumnCount>] }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CnextColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CnextColumn>] }}}>\\n\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CnextColumn>>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/column-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((column-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} nextColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[after\u003CcurrentColumn>] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] ~1 }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CnextColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CnextColumn>] }}}>\\n\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CnextColumn>>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/dragging\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/dragging\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((dragging))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/edit-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/edit-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((edit-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentTiddler>] %>\\n\\t\u003C%if [\u003CcurrentTiddler>!is[draft]] %>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-edit-tiddler\\\" $param=\u003C\u003CcurrentTiddler>>/>\\n\\t\\t\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/Draft of ']addsuffix\u003CcurrentTiddler>addsuffix[']] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/filter-river\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/filter-river\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((filter-river))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\" text=\\\"yes\\\"/>\\n\\t\\t\\t\u003C%if [{$:/temp/search/input}is[blank]match[]then[yes]] %>\\n\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-search input\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/fullscreen\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((fullscreen))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentTiddler>] %>\\n\\t\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} text=\\\"yes\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/horizontal-vertical\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/horizontal-vertical\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((horizontal-vertical))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" text=\\\"yes\\\"/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\"/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n\u003C$set name=\\\"nextTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore:currentTiddler\u003CnextTiddler>]\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-left\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-left\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-left))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure current-tiddler-is-empty-message()\\n\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstPreviousStoryTiddler>]\\\"/>\\n\u003C$action-setfield $tiddler=\u003C\u003CpreviousHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\\\end\\n\\\\procedure actions()\\n\u003C%if [\u003CfocusedTiddler>!is[blank]then\u003Ctv-story-list>!match[$:/StoryList-1]] %>\\n\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/removing/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"left\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/adding/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"right\\\" column={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>before\u003CcurrentColumn>] }}}/>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}/>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CfocusedTiddler>]\\\"/>\\n\\t\\t\u003C%if [\u003CpreviousHistoryList>get[current-tiddler]!match[]] %>\\n\\t\\t\\t\u003C$set name=\\\"previousStoryFocusedTiddler\\\" value={{{ [\u003CpreviousHistoryList>get[current-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CpreviousStoryList>contains\u003CpreviousStoryFocusedTiddler>] %>\\n\\t\\t\\t\\t\\t\u003C%if [list\u003CpreviousStoryList>search:$(searchFields)$:$(searchFlags)${$:/temp/search/input}match\u003CpreviousStoryFocusedTiddler>then{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CpreviousStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CpreviousStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"firstFilteredStoryTiddler\\\" value={{{ [list\u003CpreviousStoryList>search{$:/temp/search/input}nth[1]] }}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CpreviousStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstFilteredStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CpreviousHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CpreviousStoryCounter>>/>\\n\\t\\t\\t\u003C%if [\u003CfocusedTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$let currentColumn=\u003C\u003CpreviousStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentTiddler={{{ [list\u003Ctv-story-list>after\u003CfocusedTiddler>] ~[list\u003Ctv-story-list>before\u003CfocusedTiddler>] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>is[draft]] %>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$let currentColumn=\u003C\u003CpreviousStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-tiddler>>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-multi-column-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-right\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-right\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-right))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure current-tiddler-is-empty-message()\\n\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstNextStoryTiddler>]\\\"/>\\n\u003C$action-setfield $tiddler=\u003C\u003CnextHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\\\end\\n\\\\procedure actions()\\n\u003C%if [\u003CfocusedTiddler>!is[blank]then\u003CcurrentColumn>!match\u003ClastColumn>] %>\\n\\t\u003C$let scrollTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/removing/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"right\\\" column=\u003C\u003CcurrentColumn>>/>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/state/tiddlyflex/adding/]addsuffix\u003CfocusedTiddler>] }}} direction=\\\"left\\\" column={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>after\u003CcurrentColumn>] }}}/>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}}/>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CfocusedTiddler>]\\\"/>\\n\\t\\t\u003C%if [\u003CnextHistoryList>get[current-tiddler]!match[]] %>\\n\\t\\t\\t\u003C$set name=\\\"nextStoryFocusedTiddler\\\" value={{{ [\u003CnextHistoryList>get[current-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CnextStoryList>contains\u003CnextStoryFocusedTiddler>] %>\\n\\t\\t\\t\\t\\t\u003C%if [list\u003CnextStoryList>search:$(searchFields)$:$(searchFlags)${$:/temp/search/input}match\u003CnextStoryFocusedTiddler>then{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CnextStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}!match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CnextStoryFocusedTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003CnextStoryList>nth[1]] }}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CnextStoryList>> $subfilter=\\\"+[insertbefore\u003CfocusedTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CnextHistoryList>> current-tiddler=\u003C\u003CfocusedTiddler>>/>\\n\\t\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C\u003Ccurrent-tiddler-is-empty-message>>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CnextStoryCounter>>/>\\n\\t\\t\\t\u003C%if [\u003CfocusedTiddler>is[draft]] %>\\n\\t\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextStoryCounter>> cssEscapedTitle={{{ [\u003CfocusedTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-column>>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-to-tiddler>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>is[draft]] %>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-multi-column-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/move-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((move-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\define actions()\\n\u003C$set name=\\\"previousTiddler\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[before\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CpreviousTiddler>!is[blank]!match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore:previousTiddler\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-down\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-down\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((navigate-down))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions-inner()\\n\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\u003C% endif %>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\define actions()\\n\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\u003C$set name=\\\"focusedTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>match\u003CfocusedTiddler>] %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C% else %>\\n\\t\u003C$let focusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}} nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>after\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\u003C\u003Cactions-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-up\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/navigate-up\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((navigate-up))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/selectors $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions-inner()\\n\u003C%if [\u003CnextTiddler>!is[blank]!match[]] %>\\n\\t\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\\t\u003C% endif %>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\define actions()\\n\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\u003C$set name=\\\"focusedTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>match\u003CfocusedTiddler>] %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Cactions-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C% else %>\\n\\t\u003C$let focusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}} nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>before\u003CfocusedTiddler>] ~[subfilter\u003Ctdff.tiddlyflex-story-river-filter>last[]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\u003C\u003Cactions-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-image\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-image\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-image))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-image}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-journal\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-journal\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-journal))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-journal}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/new-tiddler\":{\"title\":\"$:/core/ui/KeyboardShortcuts/new-tiddler\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((new-tiddler))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/privates/navigation $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure actions()\\n{{$:/core/ui/Actions/new-tiddler}}\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] %>\\n\\t\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-simple-keyboard-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\u003C% else %>\\n\\t\u003C$navigator story=\\\"$:/StoryList\\\" history=\\\"$:/HistoryList\\\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/remove-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/KeyboardShortcuts/remove-column\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((remove-column))\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions\\n\\\\procedure remove-column-actions()\\n\u003C$set name=\\\"columnCount\\\" value={{{ [list[$:/columns]count[]] }}}>\\n\\t\u003C$list filter=\\\"[[$:/columns]get[current-column]match\u003CcolumnCount>]\\\">\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column={{{ [\u003CcolumnCount>subtract[1]!match[0]] ~1 }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CcolumnCount>!match[1]]\\\">\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"-[\u003CcolumnCount>]\\\"/>\\n\\t\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [tdff.tiddlyflex-fullscreen[]is[blank]] %>\\n\\t\\t\u003C$let columns={{{ [list[$:/columns]count[]] ~1 }}}>\\n\\t\\t\\t\u003C\u003Cremove-column-actions>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/core/ui/KeyboardShortcuts/toggle-sidebar\":{\"title\":\"$:/core/ui/KeyboardShortcuts/toggle-sidebar\",\"tags\":\"$:/tags/KeyboardShortcut\",\"key\":\"((toggle-sidebar))\",\"text\":\"\\\\whitespace trim\\n\u003C%if [[$:/state/sidebar]is[missing]] [{$:/state/sidebar}match[yes]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"no\\\"/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"yes\\\"/>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/StartupActions/current-tiddlers\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/StartupActions/current-tiddlers\",\"tags\":\"$:/tags/StartupAction/PostRender\",\"text\":\"\\\\import $:/plugins/BTC/TiddlyFlex/globals/layout/functions $:/plugins/BTC/TiddlyFlex/privates/selectors\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"column\\\">\\n\\t\\t\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003Ccolumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003Ccolumn>!match[$:/HistoryList-]] ~$:/HistoryList-1 }}} currentTiddler={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\u003C%if [\u003CcurrentTiddler>!is[blank]!match[]] %>\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CcurrentTiddler>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$let currentColumn={{$:/columns!!current-column}} currentStoryList={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>] }}} currentTiddler={{{ [list\u003CcurrentStoryList>nth[1]] }}} cssEscapedTitle={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\\n\\t\\t\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-tiddler-scroll-selector>>>\\n\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\\t\\t\u003C/$wikify>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/config/DefaultColourMappings/tiddlyflex-box-shadow\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-box-shadow\",\"text\":\"rgba(0,0,0,0.6)\"},\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler-muted\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler-muted\",\"text\":\"\u003C\u003Ccolour foreground>>\"},\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-current-tiddler\",\"text\":\"\u003C\u003Ccolour primary>>\"},\"$:/config/DefaultColourMappings/tiddlyflex-sidebar-resizer\":{\"title\":\"$:/config/DefaultColourMappings/tiddlyflex-sidebar-resizer\",\"text\":\"rgba(0,0,0,0.2)\"},\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri\":{\"title\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"text\":\"[has[_canonical_uri]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri]] [has[_canonical_uri]then{$:/layout}!match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/core/ui/EditTemplate/body/canonical-uri]]\"},\"$:/config/TiddlyFlex/EditTemplateBodyFilters/default\":{\"title\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"text\":\"[{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default]else[$:/core/ui/EditTemplate/body/default]]\"},\"$:/config/TiddlyFlex/EditTemplatePreviewFilters\":{\"title\":\"$:/config/TiddlyFlex/EditTemplatePreviewFilters\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplatePreviewFilter\",\"text\":\"[prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]] [prefix[$:/core/]] :map:flat[tdff.tiddlyflex-layout[]then\u003CcurrentTiddler>!prefix[$:/core/]] :map:flat[!tdff.tiddlyflex-layout[]then\u003CcurrentTiddler>!prefix[prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]] [!prefix[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/]!prefix[$:/core/]]\"},\"$:/config/ShortcutInfo/add-column\":{\"title\":\"$:/config/ShortcutInfo/add-column\",\"text\":\"Add one more column\"},\"$:/config/ShortcutInfo/cancel-close-tiddler\":{\"title\":\"$:/config/ShortcutInfo/cancel-close-tiddler\",\"text\":\"Cancel or close the current tiddler\"},\"$:/config/ShortcutInfo/column-down\":{\"title\":\"$:/config/ShortcutInfo/column-down\",\"text\":\"Select the next column at the left\"},\"$:/config/ShortcutInfo/column-up\":{\"title\":\"$:/config/ShortcutInfo/column-up\",\"text\":\"Select the next column at the right\"},\"$:/config/ShortcutInfo/dragging\":{\"title\":\"$:/config/ShortcutInfo/dragging\",\"text\":\"Toggle dragging on or off\"},\"$:/config/ShortcutInfo/edit-tiddler\":{\"title\":\"$:/config/ShortcutInfo/edit-tiddler\",\"text\":\"Edit the current tiddler\"},\"$:/config/ShortcutInfo/filter-river\":{\"title\":\"$:/config/ShortcutInfo/filter-river\",\"text\":\"Filter the story river by the search input\"},\"$:/config/ShortcutInfo/fullscreen\":{\"title\":\"$:/config/ShortcutInfo/fullscreen\",\"text\":\"Toggle fullscreen view of the current tiddler\"},\"$:/config/ShortcutInfo/horizontal-vertical\":{\"title\":\"$:/config/ShortcutInfo/horizontal-vertical\",\"text\":\"Toggle between horizontal and vertical view\"},\"$:/config/ShortcutInfo/move-down\":{\"title\":\"$:/config/ShortcutInfo/move-down\",\"text\":\"Move the current tiddler down\"},\"$:/config/ShortcutInfo/move-left\":{\"title\":\"$:/config/ShortcutInfo/move-left\",\"text\":\"Move the current tiddler to the left\"},\"$:/config/ShortcutInfo/move-right\":{\"title\":\"$:/config/ShortcutInfo/move-right\",\"text\":\"Move the current tiddler to the right\"},\"$:/config/ShortcutInfo/move-up\":{\"title\":\"$:/config/ShortcutInfo/move-up\",\"text\":\"Move the current tiddler up\"},\"$:/config/ShortcutInfo/navigate-down\":{\"title\":\"$:/config/ShortcutInfo/navigate-down\",\"text\":\"Navigate down to the next tiddler\"},\"$:/config/ShortcutInfo/navigate-up\":{\"title\":\"$:/config/ShortcutInfo/navigate-up\",\"text\":\"Navigate up to the next tiddler\"},\"$:/config/ShortcutInfo/remove-column\":{\"title\":\"$:/config/ShortcutInfo/remove-column\",\"text\":\"Remove one column\"},\"$:/config/shortcuts/add-column\":{\"title\":\"$:/config/shortcuts/add-column\",\"text\":\"ctrl-alt-N\"},\"$:/config/shortcuts/cancel-close-tiddler\":{\"title\":\"$:/config/shortcuts/cancel-close-tiddler\",\"text\":\"alt-C\"},\"$:/config/shortcuts/column-down\":{\"title\":\"$:/config/shortcuts/column-down\",\"text\":\"alt-Left\"},\"$:/config/shortcuts/column-up\":{\"title\":\"$:/config/shortcuts/column-up\",\"text\":\"alt-Right\"},\"$:/config/shortcuts/dragging\":{\"title\":\"$:/config/shortcuts/dragging\",\"text\":\"alt-D\"},\"$:/config/shortcuts/edit-tiddler\":{\"title\":\"$:/config/shortcuts/edit-tiddler\",\"text\":\"alt-E\"},\"$:/config/shortcuts/filter-river\":{\"title\":\"$:/config/shortcuts/filter-river\",\"text\":\"alt-F\"},\"$:/config/shortcuts/fullscreen\":{\"title\":\"$:/config/shortcuts/fullscreen\",\"text\":\"alt-shift-F\"},\"$:/config/shortcuts/horizontal-vertical\":{\"title\":\"$:/config/shortcuts/horizontal-vertical\",\"text\":\"alt-shift-V\"},\"$:/config/shortcuts/move-down\":{\"title\":\"$:/config/shortcuts/move-down\",\"text\":\"alt-shift-Down\"},\"$:/config/shortcuts/move-left\":{\"title\":\"$:/config/shortcuts/move-left\",\"text\":\"alt-shift-Left\"},\"$:/config/shortcuts/move-right\":{\"title\":\"$:/config/shortcuts/move-right\",\"text\":\"alt-shift-Right\"},\"$:/config/shortcuts/move-up\":{\"title\":\"$:/config/shortcuts/move-up\",\"text\":\"alt-shift-Up\"},\"$:/config/shortcuts/navigate-down\":{\"title\":\"$:/config/shortcuts/navigate-down\",\"text\":\"alt-Down\"},\"$:/config/shortcuts/navigate-up\":{\"title\":\"$:/config/shortcuts/navigate-up\",\"text\":\"alt-Up\"},\"$:/config/shortcuts/remove-column\":{\"title\":\"$:/config/shortcuts/remove-column\",\"text\":\"ctrl-alt-M\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"text\":\"hide\"},\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\":{\"title\":\"$:/config/PageControlButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\",\"text\":\"hide\"},\"$:/config/ShowEditPreview/PerTiddler\":{\"title\":\"$:/config/ShowEditPreview/PerTiddler\",\"caption\":\"Show Edit-Preview Per-Tiddler\",\"description\":\"Whether or not the Edit-Preview should be shown for the current Tiddler only\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"yes\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:code-body[yes]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]] [tag[$:/tags/TiddlyFlex/EditPreview]] [tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/default\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:hide-body[yes]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/blank]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/import\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/import\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[field:plugin-type[import]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[has[plugin-type]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[tag[$:/tags/Stylesheet]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text]]\"},\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/system\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/system\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"text\":\"[prefix[$:/boot/]] [prefix[$:/config/]] [prefix[$:/core/macros]] [prefix[$:/core/save/]] [prefix[$:/core/templates/]] [prefix[$:/info/]] [prefix[$:/language/]] [prefix[$:/languages/]] [prefix[$:/snippets/]] [prefix[$:/state/]] [prefix[$:/status/]] [prefix[$:/info/]] [prefix[$:/temp/]] +[!is[image]limit[1]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code]]\"},\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/default\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/default\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"text\":\"[[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default]]\"},\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system\":{\"title\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"text\":\"[prefix[$:/]then[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system]]\"},\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\":{\"title\":\"$:/config/ViewToolbarButtons/Visibility/$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\",\"text\":\"hide\"},\"$:/config/tiddlyflex/dragndrop/AnimationDuration\":{\"title\":\"$:/config/tiddlyflex/dragndrop/AnimationDuration\",\"caption\":\"Drag&Drop animation duration\",\"description\":\"The Duration in Milliseconds for the Drag&Drop Animations\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"175\"},\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\":{\"title\":\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\",\"caption\":\"Edit missing tiddlers\",\"description\":\"Whether or not clicking a Link to a missing Tiddler should automatically open it for Editing\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/tiddlyflex/sidebar/resizer\":{\"title\":\"$:/config/tiddlyflex/sidebar/resizer\",\"caption\":\"Sidebar resizer\",\"description\":\"Whether or not the Sidebar Resizer should be enabled\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/tiddlyflex/sidebar/width\":{\"title\":\"$:/config/tiddlyflex/sidebar/width\",\"caption\":\"Sidebar width\",\"description\":\"The Width of the Sidebar in % or px\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"25%\"},\"$:/config/tiddlyflex/story-river/animation-curve\":{\"title\":\"$:/config/tiddlyflex/story-river/animation-curve\",\"caption\":\"Animation Curve\",\"description\":\"Which Animation Curve should be used for UI animations\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"option-names\":\"Linear Ease Ease-In-Out Ease-In Ease-Out\",\"option-values\":\"linear ease ease-in-out ease-in ease-out\",\"text\":\"ease-in-out\"},\"$:/config/tiddlyflex/story-river/filter/fields\":{\"title\":\"$:/config/tiddlyflex/story-river/filter/fields\",\"caption\":\"Story-River Filter Fields-Suffix\",\"description\":\"The Fields Suffix used for the search operator when filtering the Story Rivers\",\"option-names\":\"[[*]] [[tags,text,title]] [[tags]] [[text]] [[title]]\",\"option-values\":\"[[*]] [[tags,text,title]] [[tags]] [[text]] [[title]]\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"*\"},\"$:/config/tiddlyflex/story-river/filter/flags\":{\"title\":\"$:/config/tiddlyflex/story-river/filter/flags\",\"caption\":\"Story-River Filter Flags-Suffix\",\"description\":\"The Flags Suffix used for the search operator when filtering the Story Rivers\",\"option-names\":\"[[words]] [[literal]] [[regexp]] [[whitespace]] [[some]]\",\"option-values\":\"[[words]] [[literal]] [[regexp]] [[whitespace]] [[some]]\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"words\"},\"$:/config/tiddlyflex/story-river/follow-current-column\":{\"title\":\"$:/config/tiddlyflex/story-river/follow-current-column\",\"caption\":\"Follow Active Column\",\"description\":\"Whether or not the Active Column follows where Tiddlers are moved to\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"yes\"},\"$:/config/tiddlyflex/story-river/horizontal\":{\"title\":\"$:/config/tiddlyflex/story-river/horizontal\",\"text\":\"no\"},\"$:/config/tiddlyflex/story-river/min-width\":{\"title\":\"$:/config/tiddlyflex/story-river/min-width\",\"caption\":\"Story-River Min-Width\",\"description\":\"The Minimum Width for the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"300px\"},\"$:/config/tiddlyflex/story-river/padding\":{\"title\":\"$:/config/tiddlyflex/story-river/padding\",\"caption\":\"Story-River Padding\",\"description\":\"The Padding of the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"42px\"},\"$:/config/tiddlyflex/show-top-right-bar\":{\"title\":\"$:/config/tiddlyflex/show-top-right-bar\",\"caption\":\"Show the Top Right Menu\",\"description\":\"Whether or not the Top Right Menu should be shown\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/adding\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/adding\",\"tags\":\"$:/tags/ClassFilters/TiddlerTemplate\",\"text\":\"[\u003C..currentTiddler>addprefix[$:/state/tiddlyflex/adding/]!is[missing]get[direction]addprefix[tc-tiddlyflex-adding-from-]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/removing\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ClassFilters/removing\",\"tags\":\"$:/tags/ClassFilters/TiddlerTemplate\",\"text\":\"[\u003C..currentTiddler>addprefix[$:/state/tiddlyflex/removing/]!is[missing]get[direction]addprefix[tc-tiddlyflex-removing-to-]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/EditTemplate/StoryTiddlerTemplateFilter\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/EditTemplate/StoryTiddlerTemplateFilter\",\"tags\":\"$:/tags/StoryTiddlerTemplateFilter\",\"list-before\":\"\",\"text\":\"[is[draft]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate]]\"},\"$:/config/TiddlyFlex/story-river/tiddler/ViewTemplate/StoryTiddlerTemplateFilter\":{\"title\":\"$:/config/TiddlyFlex/story-river/tiddler/ViewTemplate/StoryTiddlerTemplateFilter\",\"tags\":\"$:/tags/StoryTiddlerTemplateFilter\",\"list-before\":\"\",\"text\":\"[!is[draft]then{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]then[$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate]]\"},\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\",\"caption\":\"Box-Shadow spread for Tiddlers\",\"description\":\"The Box-Shadow spread for Tiddlers in the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"4px\"},\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\",\"caption\":\"Menu Breakpoint when Sidebar is shown\",\"description\":\"The Menu Breakpoint in columns (when the Sidebar is shown)\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"3\"},\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\",\"caption\":\"Menu Breakpoint\",\"description\":\"The Menu Breakpoint in columns (when the Sidebar is hidden)\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"4\"},\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\",\"caption\":\"Tiddler Margin-Bottom\",\"description\":\"The Bottom Margin for Tiddlers in the Story Rivers\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"28px\"},\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\":{\"title\":\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\",\"caption\":\"Show Controls on Hover\",\"description\":\"Whether or not the tiddler controls should be only shown on hover\",\"settings-template\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"no\"},\"$:/plugins/BTC/TiddlyFlex/styles/base\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/base\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n.tc-tiddlyflex-container {\\n\\tdisplay: flex;\\n\\tflex-flow: column;\\n\\tjustify-content: flex-start;\\n\\talign-items: stretch;\\n\\theight: 100vh;\\n\\tmax-height: 100vh;\\n\\twidth: 100vw;\\n\\tmax-width: 100vw;\\n\\toutline: none;\\n\\toverflow: clip;\\n}\\n\\n.tc-tiddlyflex-main-wrapper {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-grow: 1;\\n}\\n\\n.tc-tiddlyflex-main {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 1;\\n\\tflex-basis: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tposition: relative;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\t-webkit-transition: max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C% if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\t\u003C!--max-width: calc(100% + ((100vw / 100) * {{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[%]] ~[{$:/config/tiddlyflex/sidebar/width}removesuffix[px]] }}}));-->\\n\\t\\tmax-width: calc(100% + {{$:/config/tiddlyflex/sidebar/width}});\\n\\t}\\n\\n\u003C% endif %>\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-main {\\n\\t\\toverflow-x: clip;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-header {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 0 1px 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tz-index: 999;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n.tc-tiddlyflex-footer {\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 0 -1px 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tz-index: 999;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n.tc-tiddlyflex-leftbar {\\n\\tdisplay: flex;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: 1px 0 5px -1px \u003C\u003Ccolour tiddlyflex-box-shadow>>;;\\n\\tz-index: 998;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n}\\n\\n/***************/\\n/* STORY RIVER */\\n/***************/\\n\\n.tc-tiddlyflex-story-river-container {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n\\tflex-basis: 100%;\\n\\toverflow: hidden;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t-webkit-transition: flex-basis {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: flex-basis {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, max-width {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C%if [{$:/state/sidebar}!match[no]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\tflex-basis: calc(100% - {{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\tmax-width: calc(100% - {{$:/config/tiddlyflex/sidebar/width}});\\n\\t}\\n\\n\u003C% endif %>\\n\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t-webkit-transition: none;\\n\\t\\ttransition: none;\\n\\t}\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]then[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t\\tflex-basis: max(max(calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)),calc({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}})),calc(100% - (100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)))));\\n\\t\\t}\\n\\n\\t\u003C% else %>\\n\\n\\t\\t.tc-tiddlyflex-story-river-container {\\n\\t\\t\\tflex-basis: max(max(calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)),calc({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}})),calc(100% - (100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px)))));\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-story-river-container {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-story-river-container-inner {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tjustify-content: flex-start;\\n\\talign-items: stretch;\\n\\tmax-height: 100%;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tflex-grow: 1;\\n\\toverflow: hidden;\\n\\tz-index: 500;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-wrapper {\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper-inner {\\n\\tflex-grow: 1;\\n\\tflex-shrink: 1;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tz-index: 600;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-story-river-wrapper-inner {\\n\\t\\tflex-basis: 0;\\n\\t}\\n\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper .tc-tiddler-frame {\\n\\twidth: 100%;\\n\\tmargin-bottom: 0;\\n\\t-webkit-box-shadow: 0 0 {{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}} \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tbox-shadow: 0 0 {{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}} \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper-inner .tc-tiddlyflex-story-river {\\n\\tpadding: {{$:/config/tiddlyflex/story-river/padding}};\\n\\tmin-height: 100%;\\n}\\n\\n.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame {\\n\\tmargin-bottom: {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}};\\n}\\n\\n.tc-tiddlyflex-story-river .tc-navigating .tc-tiddler-frame {\\n\\tborder: 2px dashed \u003C\u003Ccolour primary>>;\\n}\\n\\n/***********/\\n/* SIDEBAR */\\n/***********/\\n\\n.tc-tiddlyflex-sidebar {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\tmax-height: 100%;\\n\\tz-index: 998;\\n\\t-webkit-box-shadow: 0px 0px 5px 0px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n\\tbox-shadow: 0px 0px 5px 0px \u003C\u003Ccolour tiddlyflex-box-shadow>>;\\n}\\n\\n@media (min-width: 992px) {\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\twidth: {{$:/config/tiddlyflex/sidebar/width}};\\n\\t\\t-webkit-transition: box-shadow {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\ttransition: box-shadow {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t}\\n\\n}\\n\\n\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]then[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: max(min(max(calc(100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px))),{{$:/config/tiddlyflex/sidebar/width}}),calc(100% - ({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}))),{{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\t}\\n\\n\\t\u003C% else %>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: max(min(max(calc(100% - ({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px))),{{$:/config/tiddlyflex/sidebar/width}}),calc(100% - ({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}))),{{$:/config/tiddlyflex/sidebar/width}});\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\t-webkit-box-shadow: 0px 0px 0px 0px transparent;\\n\\t\\tbox-shadow: 0px 0px 0px 0px transparent;\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-sidebar-container {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tjustify-content: flex-start;\\n\\talign-items: stretch;\\n\\tmax-height: 100%;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n}\\n\\n.tc-tiddlyflex-sidebar-container-inner {\\n\\tdisplay: flex;\\n\\tflex-grow: 1;\\n\\tflex-shrink: 0;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tflex-basis: 0;\\n\\tflex-direction: row;\\n}\\n\\n.tc-tiddlyflex-sidebar-scrollable {\\n\\tpadding-top: 42px;\\n\\tpadding-left: 42px;\\n\\tmin-width: 100%;\\n}\\n\\n.tc-tiddlyflex-sidebar-shown-eventcatcher {\\n\\t-webkit-tap-highlight-color: transparent;\\n\\t-webkit-touch-callout: none;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n.tc-tiddlyflex-sidebar-hide {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tbottom: 0;\\n\\tright: 0;\\n\\twidth: 100vw;\\n\\theight: 100vh;\\n\\tbackground: 0 0;\\n\\tvisibility: hidden;\\n\\tz-index: 1000;\\n\\tcursor: pointer;\\n\\t-webkit-transition: background {{$:/config/AnimationDuration}}ms {{$:/config/AnimationDuration}}ms, visibility 0s calc(2 * {{$:/config/AnimationDuration}}ms);\\n\\ttransition: background {{$:/config/AnimationDuration}}ms {{$:/config/AnimationDuration}}ms, visibility 0s calc(2 * {{$:/config/AnimationDuration}}ms);\\n}\\n\\n/******************/\\n/* ACTIVE COLUMNS */\\n/******************/\\n\\n.tc-tiddlyflex-story-river-active {\\n\\tbackground: repeating-linear-gradient(\\n\\t\\tto right,\\n\\t\\t\u003C\u003Ccolour page-background>>,\\n\\t\\t\u003C\u003Ccolour page-background>> 10px,\\n\\t\\t\u003C\u003Ccolour tiddler-background>> 10px,\\n\\t\\t\u003C\u003Ccolour tiddler-background>> 20px\\n\\t);\\n}\\n\\n.tc-tiddlyflex-activate-column {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\theight: 100%;\\n\\tcursor: default;\\n\\tbackground-color: transparent;\\n\\t-webkit-tap-highlight-color: transparent;\\n\\t-webkit-touch-callout: none;\\n\\t-webkit-user-select: none;\\n\\t-khtml-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n}\\n\\n/*************/\\n/* DROPZONES */\\n/*************/\\n\\ndiv[class^=\\\"tc-tiddlyflex-dropzone-\\\"] {\\n\\tmin-height: 100%;\\n\\tposition: relative;\\n}\\n\\ndiv[class^=\\\"tc-tiddlyflex-dropzone-\\\"].tc-dragover:before {\\n\\tz-index: 999;\\n\\tdisplay: block;\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbackground: \u003C\u003Ccolour dropzone-background>>;\\n\\ttext-align: center;\\n\\tcontent: \\\"\u003C\u003Clingo DropMessage>>\\\";\\n}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/current-tiddler\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/current-tiddler\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}} historyList={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}}>\\n\\n\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003ChistoryList>get[current-tiddler]escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-style-current-tiddler>>\\n\\n\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[!match\u003CcurrentColumn>]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\u003C$let historyList={{{ [[$:/HistoryList-]addsuffix\u003Ccolumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}} cssEscapedTitle={{{ [\u003ChistoryList>get[current-tiddler]escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-style-unfocused-tiddlers>>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C/$let>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/dragndrop\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/dragndrop\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-tiddler-frame-transitions()\\n\\n.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: margin-top {{$:/config/tiddlyflex/dragndrop/AnimationDuration}}ms linear, margin-bottom {{$:/config/tiddlyflex/dragndrop/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: none;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingNextTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-no-copying-last()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingBeforeTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-bottom: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(startingBeforeTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-bottom-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\tbottom: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-copying()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddlyflex-story-river-inner > [data-tiddler-title=\\\"$(dragTiddlerCSSEscaped)$\\\"].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\ttransition: none;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-position-start-tiddlers-copying-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(dragTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame .tc-tiddlyflex-droppable-top-half {\\n\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-target-tiddler-margin()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddler-view-frame:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddler-edit-frame:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame {\\n\\tmargin-top: calc( {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} .tc-tiddler-view-frame:first-of-type:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame, .tc-tiddlyflex-story-river-$(currentRiver)$ .tc-tiddler-edit-frame:first-of-type:not([data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}]) .tc-tiddler-frame {\\n\\tmargin-top: 0;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + 2px);\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-target-tiddler-margin-nth-0()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentRiver)$]substitute[]] }}} [data-tiddler-title={{{ [[$(targetTiddlerCSSEscaped)$]substitute[]] }}}] .tc-tiddler-frame {\\n\\tmargin-top: calc({{$:/state/dragging!!height}}px + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t.tc-tiddlyflex-droppable-top-half {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - 2px);\\n\\t\\t\\tleft: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 1px);\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + 2px);\\n\\t\\t\\twidth: calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}}));\\n\\t\\t\\tdisplay: none;\\n\\t\\t\\tz-index: 501;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-view-frame:first-of-type .tc-tiddlyflex-droppable-top-half, .tc-tiddler-edit-frame:first-of-type .tc-tiddlyflex-droppable-top-half {\\n\\t\\t\\ttop: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/padding}} + 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-bottom-half {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: calc( -{{$:/config/tiddlyflex/story-river/padding}} - 1px);\\n\\t\\t\\theight: calc(50% + 2px);\\n\\t\\t\\twidth: calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}}));\\n\\t\\t\\tz-index: 501;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-top-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t\\ttop: calc(-{{$:/state/dragging!!height}}px - (2 * {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}}) - 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-view-frame:first-of-type .tc-tiddlyflex-droppable-top-half.tc-dragover, .tc-tiddler-edit-frame:first-of-type .tc-tiddlyflex-droppable-top-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/config/tiddlyflex/story-river/padding}} + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t\\ttop: calc(-{{$:/state/dragging!!height}}px - {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{$:/config/tiddlyflex/story-river/padding}} - 2px);\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-droppable-bottom-half.tc-dragover {\\n\\t\\t\\theight: calc(50% + {{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} + {{$:/state/dragging!!height}}px + 2px);\\n\\t\\t}\\n\\n\\t\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t\\t.tc-tiddlyflex-droppable-top-half, .tc-tiddlyflex-droppable-bottom-half {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C$set name=\\\"dragTiddler\\\" value={{$:/state/dragging!!drag-tiddler}}>\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"dragTiddlerCSSEscaped\\\" value={{{ [\u003CdragTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-tiddler-frame-transitions>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C$let currentRiver={{$:/state/dragging!!river}} story={{{ [[$:/StoryList-]addsuffix\u003CcurrentRiver>] }}} targetTiddler={{$:/state/dragging!!target}} nextTiddler={{{ [list\u003Cstory>after\u003CtargetTiddler>] }}} margin={{$:/state/dragging!!margin}} targetTiddlerCSSEscaped={{{ [\u003Cmargin>match[top]then\u003CtargetTiddler>escapecss[]] [\u003Cmargin>match[bottom]then\u003CnextTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-target-tiddler-margin>>\\n\\n\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-target-tiddler-margin-nth-0>>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C/$let>\\n\\n\\t\\t.tc-tiddlyflex-below-story-river-droppable {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: calc(100% + {{$:/config/tiddlyflex/story-river/padding}});\\n\\t\\t\\theight: calc(100% + {{$:/config/tiddlyflex/story-river/padding}});\\n\\t\\t\\tleft: -{{$:/config/tiddlyflex/story-river/padding}};\\n\\t\\t\\ttop: -{{$:/config/tiddlyflex/story-river/padding}};\\n\\t\\t}\\n\\n\\t\\t\u003C$let currentRiver={{$:/state/dragging!!start-river}} dragTiddler={{$:/state/dragging!!drag-tiddler}} startingNextTiddler={{$:/state/dragging!!starting-next-tiddler}} startingNextTiddlerCSSEscaped={{{ [\u003CstartingNextTiddler>escapecss[]] }}} startingBeforeTiddler={{$:/state/dragging!!starting-before-tiddler}} startingBeforeTiddlerCSSEscaped={{{ [\u003CstartingBeforeTiddler>escapecss[]] }}} dragTiddlerCSSEscaped={{{ [\u003CdragTiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\u003C%if [{$:/state/dragging!!copying}!match[yes]] %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying>>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying-nth-0>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstartingNextTiddler>is[blank]] :and[\u003CstartingBeforeTiddler>!is[blank]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-no-copying-last>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% else %>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-copying>>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging!!nth}match[0]] %>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-position-start-tiddlers-copying-nth-0>>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C/$let>\\n\\n\\t\u003C% endif %>\\n\\n\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[no]] %>\\n\\n\\t\\t.tc-tiddler-frame img {\\n\\t\\t\\t-webkit-user-drag: none;\\n\\t\\t\\t-khtml-user-drag: none;\\n\\t\\t\\t-moz-user-drag: none;\\n\\t\\t\\t-o-user-drag: none;\\n\\t\\t\\tuser-drag: none;\\n\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t-khtml-user-select: none;\\n\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t-o-user-select: none;\\n\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\tuser-select: none;\\n\\t\\t\\ttouch-action: none;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/fullscreen\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-view-tiddler-full-screen()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}]:not(.tc-navigating), .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-navigating {\\n\\tposition: fixed;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\theight: 100vh;\\n\\twidth: 100vw;\\n\\tz-index: 1004;\\n\\tborder: none;\\n\\tborder-radius: 0px;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}]:not(.tc-navigating) > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-navigating > .tc-tiddler-frame {\\n\\tmin-height: 100%;\\n\\theight: 100%;\\n\\toverflow-y: auto;\\n\\tscroll-behavior: smooth;\\n\\tborder: none;\\n\\tborder-radius: 0px;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-inherit-overflow-columns()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-wrapper-inner.tc-tiddlyflex-story-river-$(column)$ {\\n\\toverflow-y: hidden;\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\" variable=\\\"fullScreenTiddler\\\">\\n\\n\\t\\t.tc-tiddlyflex-story-river-wrapper-inner, .tc-tiddlyflex-story-river-wrapper {\\n\\t\\t\\tz-index: initial;\\n\\t\\t}\\n\\n\\t\\t\u003C$vars column={{{ [\u003CfullScreenTiddler>get[column]] }}} fullScreenTiddler={{{ [\u003CfullScreenTiddler>removeprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}>\\n\\n\\t\\t\\t\u003C$let tiddlerTitle=\u003C\u003CfullScreenTiddler>> tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-view-tiddler-full-screen>>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C/$vars>\\n\\n\\t\\t@media (max-width: 991.98px) {\\n\\n\\t\\t\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\u003C\u003Ctiddlyflex-inherit-overflow-columns>>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C/$list>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/icons\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/icons\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"svg.lucide.lucide-layout-dashboard {\\n\\tstroke: \u003C\u003Ccolour foreground>>;\\n\\tstroke-width: 3;\\n}\\n\\nsvg.lucide {\\n\\tstroke: \u003C\u003Ccolour muted-foreground>>;\\n\\tfill: none;\\n}\\n\\n.tc-selected svg.lucide, .tc-btn-invisible:hover svg.lucide {\\n\\tstroke: \u003C\u003Ccolour foreground>>;\\n\\tfill: none;\\n}\\n\\n.tc-selected svg.lucide.lucide-grip {\\n\\tstroke: \u003C\u003Ccolour primary>>;\\n}\"},\"$:/plugins/BTC/TiddlyFlex/styles/menu\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/menu\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t.tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t\u003C%if [[$:/state/sidebar/posx]is[missing]] %>\\n\\n\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\tdisplay: inline;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[{$:/state/sidebar}match[no]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]compare:number:gteq{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint}] :else[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]compare:number:gteq{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}]\\\" variable=\\\"column\\\">\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-column-\u003C\u003Ccolumn>> .tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-column-\u003C\u003Ccolumn>> .tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C%if [[$:/state/sidebar/posx]!is[missing]] %>\\n\\n\\t\\t\\t\u003C$vars sidebarWidthPixels={{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[px]] }}} sidebarWidthPercentage={{{ [{$:/config/tiddlyflex/sidebar/width}removesuffix[%]] }}} drag-diff={{$:/state/sidebar/posx!!drag-diff}} selectednodeWidth={{$:/state/sidebar/posx!!selectednode-width}} containerWidth={{$:/state/sidebar/posx!!widgetnode-width}} columnCount={{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} minStoryWidth={{{ [{$:/config/tiddlyflex/story-river/min-width}removesuffix[px]] }}} leftbarWidth={{{ [all[shadows+tiddlers]tag[$:/tags/LeftToolbar]limit[1]] :then[{$:/state/sidebar/posx!!leftbar-width}] ~0 }}}>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CsidebarWidthPixels>!is[blank]!match[]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$let viewportWidth={{$:/state/DynaView/ViewportDimensions/Width}} containerWidth={{{ [\u003CviewportWidth>!is[blank]subtract\u003CleftbarWidth>] ~[\u003CcontainerWidth>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C$let originalStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPixels>] }}} originalSingleColumnWidth={{{ [\u003CoriginalStoryContainerWidth>divide\u003CcolumnCount>] }}} sidebarResizerWidth={{{ [\u003CselectednodeWidth>divide[2]] }}} gripDiff={{{ [\u003CsidebarResizerWidth>subtract\u003Cdrag-diff>] }}} minStoryContainerWidth={{{ [\u003CminStoryWidth>multiply\u003CcolumnCount>] }}} sidebarWidthMax={{{ [\u003CcontainerWidth>subtract\u003CminStoryContainerWidth>] }}} sidebarWidth={{{ [\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:lteq\u003CsidebarWidthPixels>then\u003CsidebarWidthPixels>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:gteq\u003CsidebarWidthMax>then\u003CsidebarWidthMax>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>] }}} maxStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPixels>] }}} storyContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidth>compare:number:gteq\u003CminStoryContainerWidth>] ~[\u003CminStoryContainerWidth>] }}} singleColumnWidth={{{ [\u003CstoryContainerWidth>divide\u003CcolumnCount>compare:number:gt\u003CminStoryWidth>] ~[\u003CminStoryWidth>] }}} narrowWidthWhenSidebarShown={{{ [\u003CoriginalStoryContainerWidth>divide{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}compare:number:gteq\u003CminStoryWidth>] ~[\u003CminStoryWidth>multiply{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}divide\u003CcolumnCount>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C%if [\u003CsingleColumnWidth>compare:number:lteq\u003CnarrowWidthWhenSidebarShown>] %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\u003C% elseif [\u003CsidebarWidthPercentage>!is[blank]!match[]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$let viewportWidth={{$:/state/DynaView/ViewportDimensions/Width}} containerWidth={{{ [\u003CviewportWidth>!is[blank]subtract\u003CleftbarWidth>] ~[\u003CcontainerWidth>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"sidebarWidthPercentage\\\" value={{{ [\u003CcontainerWidth>divide[100]multiply\u003CsidebarWidthPercentage>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C$let originalStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPercentage>] }}} originalSingleColumnWidth={{{ [\u003CoriginalStoryContainerWidth>divide\u003CcolumnCount>] }}} sidebarResizerWidth={{{ [\u003CselectednodeWidth>divide[2]] }}} gripDiff={{{ [\u003CsidebarResizerWidth>subtract\u003Cdrag-diff>] }}} minStoryContainerWidth={{{ [\u003CminStoryWidth>multiply\u003CcolumnCount>] }}} sidebarWidthMax={{{ [\u003CcontainerWidth>subtract\u003CminStoryContainerWidth>] }}} sidebarWidth={{{ [\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:lteq\u003CsidebarWidthPercentage>then\u003CsidebarWidthPercentage>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>compare:number:gteq\u003CsidebarWidthMax>then\u003CsidebarWidthMax>] ~[\u003CcontainerWidth>subtract{$:/state/sidebar/posx}add\u003CgripDiff>] }}} maxStoryContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidthPercentage>] }}} storyContainerWidth={{{ [\u003CcontainerWidth>subtract\u003CsidebarWidth>compare:number:gteq\u003CminStoryContainerWidth>] ~[\u003CminStoryContainerWidth>] }}} singleColumnWidth={{{ [\u003CstoryContainerWidth>divide\u003CcolumnCount>compare:number:gt\u003CminStoryWidth>] ~[\u003CminStoryWidth>] }}} narrowWidthWhenSidebarShown={{{ [\u003CoriginalStoryContainerWidth>divide{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}compare:number:gteq\u003CminStoryWidth>] ~[\u003CminStoryWidth>multiply{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}divide\u003CcolumnCount>] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C%if [\u003CsingleColumnWidth>compare:number:lteq\u003CnarrowWidthWhenSidebarShown>] %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C/$vars>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t.tc-tiddler-controls > button:not(.tc-tiddlyflex-shown-when-narrow) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% else %>\\n\\n\\t.tc-tiddler-controls .tc-tiddlyflex-shown-when-narrow {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/misc\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/misc\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t.tc-tiddlyflex-sidebar .tc-sidebar-header {\\n\\t\\ttransition: none;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-tiddlyflex-top-toolbar .tc-hide-sidebar-btn svg.tc-image-chevron-right {\\n\\t\\ttransform: none;\\n\\t}\\n\\n\\t.tc-modal-wrapper {\\n\\t\\tz-index: 999;\\n\\t}\\n\\n\\t.tc-plugin-reload-warning {\\n\\t\\tposition: relative;\\n\\t\\tpadding-top: 15px;\\n\\t\\tpadding-bottom: 15px;\\n\\t}\\n\\n\\t.tc-plugin-reload-warning p {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t.tc-drafts-list.tc-tiddlyflex-drafts-list {\\n\\t\\tz-index: 997;\\n\\t\\tposition: absolute;\\n\\t\\tfont-size: 0.8em;\\n\\t\\tleft: 0;\\n\\t\\tbottom: 0;\\n\\t}\\n\\n\\t\u003C%if [{$:/config/tiddlyflex/story-river/tiddler/show-controls-hover}match[yes]] %>\\n\\n\\t\\t@media (min-width: 992px) {\\n\\n\\t\\t\\t.tc-tiddler-frame .tc-tiddler-controls {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddler-frame:hover .tc-tiddler-controls {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/narrow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/narrow\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure story-river-width-sidebar() calc(100% - (100% - {{{ [[$(sidebarPosX)$]substitute[]addsuffix[px]] }}}))\\n\\\\procedure story-river-width() calc(100% - {{{ [[$(sidebarWidth)$]substitute[]addsuffix[px]] }}})\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t\u003C\u003Ctiddlyflex-css-horizontal-view>>\\n\\n\\t\\t.tc-tiddlyflex-sidebar {\\n\\t\\t\\twidth: 90%;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}match[yes]] %>\\n\\n\\t\\t\\t\u003C$let columnCount={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] }}} sidebarPosX={{{ [[$:/state/sidebar/posx]!is[missing]get[text]addsuffix[px]] ~DEFAULT }}} sidebarWidth={{$:/config/tiddlyflex/sidebar/width}}>\\n\\n\\t\\t\\t\\t\u003C$wikify name=\\\"horizontalWidth\\\" text={{{ [\u003CsidebarPosX>!match[DEFAULT]then\u003Cstory-river-width-sidebar>] ~[\u003Cstory-river-width>] }}}>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-main-wrapper {\\n\\t\\t\\t\\t\\t\\toverflow-x: auto;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-main {\\n\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river-container-inner {\\n\\t\\t\\t\\t\\t\\toverflow-x: auto;\\n\\t\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\t\\t\\tscroll-behavior: smooth;\\n\\t\\t\\t\\t\\t\\tscroll-snap-type: x mandatory;\\n\\t\\t\\t\\t\\t\\tz-index: 1;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river-wrapper {\\n\\t\\t\\t\\t\\t\\tflex-basis: 100%;\\n\\t\\t\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\t\\t\\tscroll-snap-align: start;\\n\\t\\t\\t\\t\\t\\toverflow: clip;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C/$wikify>\\n\\n\\t\\t\\t\u003C/$let>\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 767.98px) {\\n\\t\\t\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search input {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t}\\n\\n\\t@media (max-width: 575.98px) {\\n\\t\\t\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search input {\\n\\t\\t\\twidth: 100px;\\n\\t\\t}\\n\\n\\t\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists .tc-search .tc-image-down-arrow + em {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/scroll-margins\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/scroll-margins\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-scroll-margin-top-story-river-padding()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-edit-frame {\\n\\tscroll-margin-top: {{$:/config/tiddlyflex/story-river/padding}};\\n\\tscroll-margin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-scroll-margin-top()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}].tc-tiddler-edit-frame {\\n\\tscroll-margin-top: {{{ [{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}compare:number:lteq{$:/config/tiddlyflex/story-river/padding}] ~[{$:/config/tiddlyflex/story-river/padding}] }}};\\n\\tscroll-margin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]]\\\" variable=\\\"tiddler\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003Ctiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-margin-top-story-river-padding>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-story-river-filter>] -[subfilter\u003Ctdff.tiddlyflex-story-river-filter>nth[1]]\\\" variable=\\\"tiddler\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"cssEscapedTitle\\\" value={{{ [\u003Ctiddler>escapecss[]] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-scroll-margin-top>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C/$set>\\n\\n\\t\u003C/$list>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/settings\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/settings\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"/** checkbox switches start **/\\n/** https://www.w3schools.com/howto/howto_css_switch.asp **/\\n/* The switch - the box around the slider */\\nlabel.tc-tiddlyflex-ui-form-switch {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: 36px;\\n\\theight: 12px;\\n}\\n\\n/* Hide default HTML checkbox */\\nlabel.tc-tiddlyflex-ui-form-switch input {\\n\\topacity: 0;\\n\\twidth: 0;\\n\\theight: 0;\\n}\\n\\n/* The slider */\\nlabel.tc-tiddlyflex-ui-form-switch span {\\n\\tposition: absolute;\\n\\tcursor: pointer;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tbackground-color: \u003C\u003Ccolor tiddler-controls-foreground>>;\\n\\t-webkit-transition: .2s;\\n\\ttransition: .2s;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span:before {\\n\\tposition: absolute;\\n\\tcontent: \\\"\\\";\\n\\theight: 20px;\\n\\twidth: 20px;\\n\\tleft: -1px;\\n\\ttop: -4px;\\n\\tbottom: 4px;\\n\\tbackground-color: \u003C\u003Ccolor background>>;\\n\\t-webkit-transition: .2s;\\n\\ttransition: .2s;\\n\\tbox-shadow: 0 1px 3px 0 rgba(0,0,0,0.7);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span {\\n\\tbackground-color: rgba(26,115,232,0.5);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span:before {\\n\\tbackground-color: rgb(26,115,232);\\n\\topacity: 1;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:focus + span {\\n\\tbox-shadow: 0 0 1px #2196F3;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch input:checked + span:before {\\n\\t-webkit-transform: translateX(17px);\\n\\t-ms-transform: translateX(17px);\\n\\ttransform: translateX(17px);\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span {\\n\\tborder-radius: 12px;\\n}\\n\\nlabel.tc-tiddlyflex-ui-form-switch span:before {\\n\\tborder-radius: 50%;\\n}\\n\\ndiv.tc-tiddlyflex-ui-form-label {\\n\\t\\n}\\n\\n/*** checkbox switches end ***/\\n\\n/** form select elements **/\\n.tc-tiddlyflex-ui-form-select {\\n\\tappearance: none;\\n\\tbackground: url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' fill='%235F6368'%3E%3Cpath d='M0 0h24L12 12z'/%3E%3C/svg%3E\\\") calc(100% - 8px) center no-repeat;\\n\\tbackground-color: rgb(241,243,244);\\n\\tbackground-size: 10px;\\n\\tborder: none;\\n\\tborder-radius: 4px;\\n\\tcolor: rgb(32,33,36);\\n\\tcursor: pointer;\\n\\tmax-width: 100%;\\n\\toutline: none;\\n\\tpadding: 6px 21px 6px 8px;\\n/*\\twidth: 200px;*/\\n}\\n\\ninput.tc-tiddlyflex-ui-form-input {\\n\\tborder: 1px solid \u003C\u003Ccolor tiddler-controls-foreground>>;\\n\\tborder-radius: 3px;\\n\\tbackground-color: \u003C\u003Ccolour background>>;\\n\\tpadding: 6px;\\n\\tcolor: \u003C\u003Ccolour foreground>>;\\n}\\n\\ninput.tc-tiddlyflex-ui-form-input:focus {\\n\\toutline-color: #ccc;\\n}\\n\\n\\n.tc-tiddlyflex-list-group {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tpadding-left: 0;\\n\\tmargin-bottom: 0;\\n\\tbox-sizing: border-box;\\n}\\n\\n.tc-tiddlyflex-list-group-box-shadow {\\n\\tbox-shadow:1px 1px 5px rgba(0, 0, 0, 0.3);\\t\\n\\tborder-bottom-left-radius: .25rem;\\n\\tborder-bottom-right-radius: .25rem;\\n\\tborder-top-left-radius: .25rem;\\n\\tborder-top-right-radius: .25rem;\\t\\t\\n}\\n\\t\\n.tc-tiddlyflex-list-group-item {\\n\\tposition: relative;\\n\\tdisplay: block;\\n\\tpadding: 0.75rem 1.25rem;\\n\\tbackground-color: \u003C\u003Ccolor background>>;\\n\\tborder: 1px solid rgba(0,0,0,.125);\\n\\twidth: 100%;\\n\\tcolor: #495057;\\n\\ttext-align:\\tinherit;\\t\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tjustify-content: space-between!important;\\n\\talign-items: center!important;\\n\\tword-spacing: 0.1em;\\n}\\n\\n\\n.tc-tiddlyflex-list-group-item+.tc-tiddlyflex-list-group-item {\\n\\tborder-top-width: 0;\\n}\\n\\n.tc-tiddlyflex-list-group-item:first-child {\\n\\tborder-top-left-radius: .25rem;\\n\\tborder-top-right-radius: .25rem;\\n}\\n\\n.tc-tiddlyflex-list-group-item:last-child {\\n\\tborder-bottom-left-radius: .25rem;\\n\\tborder-bottom-right-radius: .25rem;\\n}\\n\\n.tc-tiddlyflex-list-settings {\\n\\tfont-size: 90%;\\n}\\n\\ninput.tc-tiddlyflex-search-input {\\n display: block;\\n width: 100%;\\n height: calc(1.5em + .75rem + 2px);\\n padding: .375rem .75rem;\\n font-size: 0.8rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: \u003C\u003Ccolor background>>;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: .25rem;\\n transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;\\n margin-bottom: 0.75em;\\n}\\n\\ninput.tc-tiddlyflex-search-input:focus {\\ncolor: #495057;\\n background-color: \u003C\u003Ccolor background>>;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);\\n}\"},\"$:/plugins/BTC/TiddlyFlex/styles/sidebar-resizer\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/sidebar-resizer\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t@media (min-width: 992px) {\\n\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]] %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\t\\tz-index: 1001;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointermove-eventcatcher {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\tz-index: 1003;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddlyflex-pointermove {\\n\\t\\t\\t\\tposition: fixed;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\theight: 100vh;\\n\\t\\t\\t\\twidth: 100vw;\\n\\t\\t\\t\\tz-index: 1003;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc(50% - 26px);\\n\\t\\t\\t\\tleft: calc(100% - 39px);\\n\\t\\t\\t\\theight: 26px;\\n\\t\\t\\t\\twidth: 52px;\\n\\t\\t\\t\\tborder-radius: 26px 26px 0 0;\\n\\t\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t\\t\\tbackground-color: \u003C\u003Ccolour tiddlyflex-sidebar-resizer>>;\\n\\t\\t\\t\\tz-index: 1002;\\n\\t\\t\\t\\ttransition: left {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}}, visibility {{$:/config/AnimationDuration}}ms {{$:/config/tiddlyflex/story-river/animation-curve}};\\n\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t}\\n\\n\\t\\t\\t\u003C%if [{$:/state/sidebar}!match[no]then[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\ttransition: none;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C%if [{$:/state/sidebar}!match[no]] %>\\n\\n\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\tleft: calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C%if [[$:/state/sidebar/posx]!is[missing]then{$:/state/sidebar}!match[no]] %>\\n\\n\\t\\t\\t\\t\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\t\\tleft: min(max(min(calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px),calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px) - 39px)),calc(({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}) - 39px)),calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px));\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C% else %>\\n\\n\\t\\t\\t\\t\\t.tc-tiddlyflex-sidebar-resizer {\\n\\t\\t\\t\\t\\t\\tleft: min(max(min(calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px),calc({{$:/state/sidebar/posx}}px + (({{$:/state/sidebar/posx!!selectednode-width}}px / 2) - {{$:/state/sidebar/posx!!drag-diff}}px) - 39px)),calc(({{{ [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] :then[subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] ~1 }}} * {{$:/config/tiddlyflex/story-river/min-width}}) - 39px)),calc(100% - {{$:/config/tiddlyflex/sidebar/width}} - 39px));\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\u003C% else %>\\n\\n\\t\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\n\\t\\t\u003C% endif %>\\n\\n\\t}\\n\\n\\t@media (max-width: 991.98px) {\\n\\n\\t\\t.tc-tiddlyflex-pointerdown-eventcatcher {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/tiddler-animations\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/tiddler-animations\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-dont-display-tiddler()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: hidden;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-remove-tiddler-animation()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n@keyframes margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {\\n\\tfrom {\\n\\t\\tmargin-top: 0%;\\n\\t}\\n\\tto {\\n\\t\\tmargin-top: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{{ [[$(tiddlerHeight)$]substitute[]] }}}px);\\n\\t}\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: visible;\\n\\t-webkit-animation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: slide-out-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame {\\n\\tz-index: 999;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-edit-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-edit-frame {\\n\\t-webkit-animation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: margin-top-remove-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-add-tiddler-animation()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n@keyframes margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {\\n\\tfrom {\\n\\t\\tmargin-top: calc( -{{$:/config/tiddlyflex/story-river/tiddler/margin-bottom}} - {{{ [[$(tiddlerHeight)$]substitute[]] }}}px);\\n\\t}\\n\\tto {\\n\\t\\tmargin-top: 0%;\\n\\t}\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tvisibility: visible;\\n\\t-webkit-animation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: slide-in-{{{ [[$(direction)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\u003C%if [{$:/config/tiddlyflex/story-river/follow-current-column}match[yes]] %>\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame > .tc-tiddler-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame {\\n\\tz-index: 999;\\n}\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-view-frame + .tc-tiddler-edit-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-view-frame, .tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}}].tc-tiddler-edit-frame + .tc-tiddler-edit-frame {\\n\\t-webkit-animation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\t-moz-animation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n\\tanimation: margin-top-add-{{{ [[$(column)$]substitute[]] }}}-{{{ [[$(tiddlerTitleCSSEscaped)$]substitute[]] }}} {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/config/AnimationDuration}!is[blank]!match[0]] %>\\n\\n\\t\\t@keyframes slide-out-left {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(calc(-100% - (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-out-right {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-in-left {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(calc( -100% - (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@keyframes slide-in-right {\\n\\t\\t\\tfrom {\\n\\t\\t\\t\\ttransform: translateX(calc(100% + (2 * {{$:/config/tiddlyflex/story-river/padding}})));\\n\\t\\t\\t}\\n\\t\\t\\tto {\\n\\t\\t\\t\\ttransform: translateX(0%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/removing/]]\\\" variable=\\\"stateTiddler\\\">\\n\\t\\t\\t\u003C$let tiddlerTitle={{{ [\u003CstateTiddler>removeprefix[$:/state/tiddlyflex/removing/]] }}} tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}} column={{{ [\u003CstateTiddler>get[column]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-dont-display-tiddler>>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstateTiddler>has[height]] %>\\n\\t\\t\\t\\t\\t\u003C$let direction={{{ [\u003CstateTiddler>get[direction]] }}} tiddlerHeight={{{ [\u003CstateTiddler>get[height]] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-remove-tiddler-animation>>\\n\\n\\t\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river {\\n\\t\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/adding/]]\\\" variable=\\\"stateTiddler\\\">\\n\\t\\t\\t\u003C$let tiddlerTitle={{{ [\u003CstateTiddler>removeprefix[$:/state/tiddlyflex/adding/]] }}} tiddlerTitleCSSEscaped={{{ [\u003CtiddlerTitle>escapecss[]] }}} column={{{ [\u003CstateTiddler>get[column]] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-dont-display-tiddler>>\\n\\n\\t\\t\\t\\t\u003C%if [\u003CstateTiddler>has[height]] %>\\n\\t\\t\\t\\t\\t\u003C$let direction={{{ [\u003CstateTiddler>get[direction]] }}} tiddlerHeight={{{ [\u003CstateTiddler>get[height]] }}}>\\n\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-add-tiddler-animation>>\\n\\n\\t\\t\\t\\t\\t\\t.tc-tiddlyflex-story-river {\\n\\t\\t\\t\\t\\t\\t\\toverflow-x: clip;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C% endif %>\\n\\n\\t.tc-tiddlyflex-adding-from-left, .tc-tiddlyflex-adding-from-right, .tc-tiddlyflex-removing-to-left, .tc-tiddlyflex-removing-to-right {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/toolbars\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/toolbars\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t.tc-tiddlyflex-top-toolbar {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: stretch;\\n\\t\\tline-height: 2em;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search {\\n\\t\\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search .tc-block-dropdown {\\n\\t\\tcolor: \u003C\u003Ccolour muted-foreground>>;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar .tc-sidebar-lists.tc-sidebar-search .tc-search > .tc-reveal {\\n\\t\\tfont-size: 0.75rem;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar p {\\n\\t\\tmargin: 0;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left, .tc-tiddlyflex-top-toolbar-right {\\n\\t\\tflex-grow: 0;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-center {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left {\\n\\t\\tmargin-top: 5px;\\n\\t\\tmargin-bottom: 5px;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-left > div:first-of-type {\\n\\t\\tmargin-left: {{$:/config/tiddlyflex/story-river/padding}};\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right button {\\n\\t\\tmargin-right: 0.5em;\\n\\t\\tvertical-align: bottom;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible svg:not(.lucide) {\\n\\t\\tfill: \u003C\u003Ccolour muted-foreground>>;\\n\\t\\tfont-size: 1rem;\\n\\t\\theight: 1rem;\\n\\t\\twidth: 1rem;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible:hover svg:not(.lucide), .tc-tiddlyflex-top-toolbar-right .tc-btn-invisible.tc-selected svg:not(.lucide) {\\n\\t\\tfill: \u003C\u003Ccolour foreground>>;\\n\\t}\\n\\n\\t.tc-tiddlyflex-top-toolbar-right .tc-btn-invisible.tc-selected {\\n\\t\\t-webkit-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t\\t-moz-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t\\tfilter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\\n\\t}\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/styles/z-indexes\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/styles/z-indexes\",\"tags\":\"$:/tags/Stylesheet\",\"text\":\"\\\\procedure tiddlyflex-tiddler-z-indexes-inner()\\n\\n\u003C$list filter=\\\"[range\u003CstoryListCount>]\\\">\\n`.tc-tiddlyflex-story-river-`{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} `.tc-tiddlyflex-story-river-inner > .tc-tiddler-view-frame:nth-child(100n+`\u003C$text text=\u003C\u003CcurrentTiddler>>/>`) > .tc-tiddler-frame`,\\n`.tc-tiddlyflex-story-river-`{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} `.tc-tiddlyflex-story-river-inner > .tc-tiddler-edit-frame:nth-child(100n+`\u003C$text text=\u003C\u003CcurrentTiddler>>/>`) > .tc-tiddler-frame {\\nz-index: `\u003C$text text={{{ [\u003CstoryListCount>add[501]subtract\u003CcurrentTiddler>] }}}/>`;\\n}\\n`\\n\u003C/$list>\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tiddler-z-indexes()\\n\\n\u003C$set name=\\\"storyListCount\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[count[]] }}}>\\n\\n\\t\u003C\u003Ctiddlyflex-tiddler-z-indexes-inner>>\\n\\n\u003C/$set>\\n\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\n\\t\u003C%if [{$:/themes/tiddlywiki/vanilla/options/stickytitles}match[yes]] %>\\n\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\n\\t\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-tiddler-z-indexes>>\\n\\n\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\u003C/$list>\\n\\n\\t\u003C% endif %>\\n\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nFavicon handling\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"tiddlyflex-hooks\\\";\\nexports.platforms = [\\\"browser\\\"];\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\nexports.startup = function() {\\n\\t$tw.hooks.addHook(\\\"th-navigating\\\",function(event) { \\n\\t\\tif(!event.navigateTo && event.event && event.event.navigateTo) {\\n\\t\\t\\tif(event.navigateFromTitle && !event.event.navigateFromTitle) {\\n\\t\\t\\t\\tevent.event.navigateFromTitle = event.navigateFromTitle;\\n\\t\\t\\t}\\n\\t\\t\\treturn event.event;\\n\\t\\t} else {\\n\\t\\t\\treturn event;\\n\\t\\t}\\n\\t});\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/startup/tiddlyflex-hooks.js\",\"module-type\":\"startup\"},\"$:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nUtils, mainly for catching the \\\"Resizeobserver loop completed with undelivered notifications.\\\" error on FireFox\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.error = function(err) {\\n\\t// Prepare the error message\\n\\tvar errHeading = ( $tw.language == undefined ? \\\"Internal JavaScript Error\\\" : $tw.language.getString(\\\"InternalJavaScriptError/Title\\\") ),\\n\\t\\tpromptMsg = ( $tw.language == undefined ? \\\"Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser\\\" : $tw.language.getString(\\\"InternalJavaScriptError/Hint\\\") );\\n\\t// Log the error to the console\\n\\tconsole.error($tw.node ? \\\"\\\\x1b[1;31m\\\" + err + \\\"\\\\x1b[0m\\\" : err);\\n\\tif($tw.browser && !$tw.node && (err !== \\\"ResizeObserver loop completed with undelivered notifications.\\\")) {\\n\\t\\t// Display an error message to the user\\n\\t\\tvar dm = $tw.utils.domMaker,\\n\\t\\t\\theading = dm(\\\"h1\\\",{text: errHeading}),\\n\\t\\t\\tprompt = dm(\\\"div\\\",{text: promptMsg, \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tmessage = dm(\\\"div\\\",{text: err, \\\"class\\\":\\\"tc-error-message\\\"}),\\n\\t\\t\\tcloseButton = dm(\\\"div\\\",{children: [dm(\\\"button\\\",{text: ( $tw.language == undefined ? \\\"close\\\" : $tw.language.getString(\\\"Buttons/Close/Caption\\\") )})], \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tdownloadButton = dm(\\\"div\\\",{children: [dm(\\\"button\\\",{text: ( $tw.language == undefined ? \\\"download tiddlers\\\" : $tw.language.getString(\\\"Buttons/EmergencyDownload/Caption\\\") )})], \\\"class\\\": \\\"tc-error-prompt\\\"}),\\n\\t\\t\\tform = dm(\\\"form\\\",{children: [heading,prompt,downloadButton,message,closeButton], \\\"class\\\": \\\"tc-error-form\\\"});\\n\\t\\tdocument.body.insertBefore(form,document.body.firstChild);\\n\\t\\tdownloadButton.addEventListener(\\\"click\\\",function(event) {\\n\\t\\t\\tif($tw && $tw.wiki) {\\n\\t\\t\\t\\tvar tiddlers = [];\\n\\t\\t\\t\\t$tw.wiki.each(function(tiddler,title) {\\n\\t\\t\\t\\t\\ttiddlers.push(tiddler.fields);\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tvar link = dm(\\\"a\\\"),\\n\\t\\t\\t\\t\\ttext = JSON.stringify(tiddlers);\\n\\t\\t\\t\\tif(Blob !== undefined) {\\n\\t\\t\\t\\t\\tvar blob = new Blob([text], {type: \\\"text/html\\\"});\\n\\t\\t\\t\\t\\tlink.setAttribute(\\\"href\\\", URL.createObjectURL(blob));\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tlink.setAttribute(\\\"href\\\",\\\"data:text/html,\\\" + encodeURIComponent(text));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tlink.setAttribute(\\\"download\\\",\\\"emergency-tiddlers-\\\" + (new Date()) + \\\".json\\\");\\n\\t\\t\\t\\tdocument.body.appendChild(link);\\n\\t\\t\\t\\tlink.click();\\n\\t\\t\\t\\tdocument.body.removeChild(link);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\talert(\\\"Emergency tiddler download is not available\\\");\\n\\t\\t\\t}\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\treturn false;\\n\\t\\t},true);\\n\\t\\tform.addEventListener(\\\"submit\\\",function(event) {\\n\\t\\t\\tdocument.body.removeChild(form);\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\treturn false;\\n\\t\\t},true);\\n\\t\\treturn null;\\n\\t} else if(!$tw.browser) {\\n\\t\\t// Exit if we're under node.js\\n\\t\\tprocess.exit(1);\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/utils/utils.js\",\"module-type\":\"utils\"},\"$:/core/modules/utils/dom/scroller.js\":{\"text\":\"/*\\\\\\ntitle: $:/core/modules/utils/dom/scroller.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nEvent handler for when the `tm-scroll` event hits the document body\\n*/\\nvar PageScroller = function() {\\n\\tthis.idRequestFrame = null;\\n\\tthis.requestAnimationFrame = window.requestAnimationFrame ||\\n\\t\\twindow.webkitRequestAnimationFrame ||\\n\\t\\twindow.mozRequestAnimationFrame ||\\n\\t\\tfunction(callback) {\\n\\t\\t\\treturn window.setTimeout(callback, 1000/60);\\n\\t\\t};\\n\\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\\n\\t\\twindow.webkitCancelAnimationFrame ||\\n\\t\\twindow.webkitCancelRequestAnimationFrame ||\\n\\t\\twindow.mozCancelAnimationFrame ||\\n\\t\\twindow.mozCancelRequestAnimationFrame ||\\n\\t\\tfunction(id) {\\n\\t\\t\\twindow.clearTimeout(id);\\n\\t\\t};\\n};\\n\\nPageScroller.prototype.isScrolling = function() {\\n\\treturn this.idRequestFrame !== null;\\n}\\n\\nPageScroller.prototype.cancelScroll = function(srcWindow) {\\n\\tif(this.idRequestFrame) {\\n\\t\\tthis.cancelAnimationFrame.call(srcWindow,this.idRequestFrame);\\n\\t\\tthis.idRequestFrame = null;\\n\\t}\\n};\\n\\n/*\\nHandle an event\\n*/\\nPageScroller.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"tm-scroll\\\") {\\n\\t\\tvar options = {};\\n\\t\\tif($tw.utils.hop(event.paramObject,\\\"animationDuration\\\")) {\\n\\t\\t\\toptions.animationDuration = event.paramObject.animationDuration;\\n\\t\\t}\\n\\t\\tif(event.paramObject && event.paramObject.selector) {\\n\\t\\t\\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\\n\\t\\t} else {\\n\\t\\t\\tthis.scrollIntoView(event.target,null,options);\\n\\t\\t}\\n\\t\\treturn false; // Event was handled\\n\\t}\\n\\treturn true;\\n};\\n\\n/*\\nHandle a scroll event hitting the page document\\n*/\\nPageScroller.prototype.scrollIntoView = function(element,callback,options) {\\n\\tvar self = this,\\n\\t\\tduration = $tw.utils.hop(options,\\\"animationDuration\\\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\\n\\t\\tsrcWindow = element ? element.ownerDocument.defaultView : window;\\n\\tvar scrollIntoView = function() {\\n\\t\\telement.scrollIntoView({block: \\\"start\\\", inline: \\\"start\\\"});\\n\\t};\\n\\tthis.idRequestFrame = this.requestAnimationFrame.call(srcWindow,scrollIntoView);\\n\\t$tw.utils.addClass(element,\\\"tc-navigating\\\");\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.removeClass(element,\\\"tc-navigating\\\");\\n\\t},duration);\\n};\\n\\nPageScroller.prototype.scrollSelectorIntoView = function(baseElement,selector,callback,options) {\\n\\tbaseElement = baseElement || document;\\n\\tvar element = $tw.utils.querySelectorSafe(selector,baseElement);\\n\\tif(element) {\\n\\t\\tthis.scrollIntoView(element,callback,options);\\n\\t}\\n};\\n\\nexports.PageScroller = PageScroller;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/utils/dom/scroller.js\",\"module-type\":\"utils\"},\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nViews the story as a linear sequence\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar easing = \\\"cubic-bezier(0.645, 0.045, 0.355, 1)\\\"; // From http://easings.net/#easeInOutCubic\\nvar addTimeout,\\n\\tremoveTimeout;\\n\\nvar TiddlyFlexStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nTiddlyFlexStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar duration = $tw.utils.getAnimationDuration()\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\tif(duration) {\\n\\t\\t// Scroll the node into view\\n\\t\\tthis.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n\\t} else {\\n\\t\\ttargetElement.scrollIntoView();\\n\\t}\\n};\\n\\nTiddlyFlexStoryView.prototype.insert = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration(),\\n\\t\\ttiddlerTitle = widget.parseTreeNode.itemTitle;\\n\\tif(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle) && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/story-river/fullscreen/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode();\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar computedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Reset the margin once the transition is over\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(function() {\\n\\t\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t\\t{marginBottom: \\\"\\\"}\\n\\t\\t\\t]);\\n\\t\\t},duration);\\n\\t\\t// Set up the initial position of the element\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t// Transition to the final position\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t\\t]);\\n\\t} else if(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode();\\n\\t\\twidget.wiki.setText(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle,\\\"height\\\",undefined,targetElement.offsetHeight);\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t} else {\\n\\t\\tclearTimeout(addTimeout);\\n\\t\\taddTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/adding/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t}\\n\\tif($tw.wiki.tiddlerExists(\\\"$:/state/dragging\\\")) {\\n\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/dragging\\\");\\n\\t}\\n};\\n\\nTiddlyFlexStoryView.prototype.remove = function(widget) {\\n\\tvar duration = $tw.utils.getAnimationDuration(),\\n\\t\\ttiddlerTitle = widget.parseTreeNode.itemTitle;\\n\\tif(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle) && !widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/story-river/fullscreen/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\t\\tremoveElement = function() {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t\\t};\\n\\t\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\t\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\t\\tremoveElement();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\t// Get the current height of the tiddler\\n\\t\\tvar currWidth = targetElement.offsetWidth,\\n\\t\\t\\tcomputedStyle = window.getComputedStyle(targetElement),\\n\\t\\t\\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\\n\\t\\t\\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\\n\\t\\t\\tcurrHeight = targetElement.offsetHeight + currMarginTop;\\n\\t\\t// Remove the dom nodes of the widget at the end of the transition\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(removeElement,duration);\\n\\t\\t// Animate the closure\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"translateX(0px)\\\"},\\n\\t\\t\\t{marginBottom: currMarginBottom + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"1.0\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.forceLayout(targetElement);\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms \\\" + easing + \\\", \\\" +\\n\\t\\t\\t\\t\\t\\t\\\"margin-bottom \\\" + duration + \\\"ms \\\" + easing},\\n\\t\\t\\t{transform: \\\"translateX(-\\\" + currWidth + \\\"px)\\\"},\\n\\t\\t\\t{marginBottom: (-currHeight) + \\\"px\\\"},\\n\\t\\t\\t{opacity: \\\"0.0\\\"}\\n\\t\\t]);\\n\\t} else if(duration && !widget.wiki.tiddlerExists(\\\"$:/state/dragging\\\") && widget.wiki.tiddlerExists(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle)) {\\n\\t\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\t\\tremoveElement = function() {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t};\\n\\t\\twidget.wiki.setText(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle,\\\"height\\\",undefined,targetElement.offsetHeight);\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t\\tsetTimeout(removeElement,duration);\\n\\t} else {\\n\\t\\twidget.removeChildDomNodes();\\n\\t\\tclearTimeout(removeTimeout);\\n\\t\\tremoveTimeout = setTimeout(function() {\\n\\t\\t\\twidget.wiki.deleteTiddler(\\\"$:/state/tiddlyflex/removing/\\\" + tiddlerTitle);\\n\\t\\t},duration);\\n\\t}\\n};\\n\\nexports.tiddlyflex = TiddlyFlexStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlyflex.js\",\"module-type\":\"storyview\"},\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\\ntype: application/javascript\\nmodule-type: storyview\\n\\nAnimates list insertions and removals\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar TiddlyPopStoryView = function(listWidget) {\\n\\tthis.listWidget = listWidget;\\n};\\n\\nTiddlyPopStoryView.prototype.navigateTo = function(historyInfo) {\\n\\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\\n\\tif(listElementIndex === undefined) {\\n\\t\\treturn;\\n\\t}\\n\\tvar listItemWidget = this.listWidget.children[listElementIndex],\\n\\t\\ttargetElement = listItemWidget.findFirstDomNode();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Scroll the node into view\\n\\t//this.listWidget.dispatchEvent({type: \\\"tm-scroll\\\", target: targetElement});\\n};\\n\\nTiddlyPopStoryView.prototype.insert = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration();\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\treturn;\\n\\t}\\n\\t// Reset once the transition is over\\n\\tsetTimeout(function() {\\n\\t\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t\\t{transition: \\\"none\\\"},\\n\\t\\t\\t{transform: \\\"none\\\"}\\n\\t\\t]);\\n\\t\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t\\t{\\\"overflow-x\\\": \\\"\\\"}\\n\\t\\t]);\\n\\t},duration);\\n\\t// Prevent the page from overscrolling due to the zoom factor\\n\\t$tw.utils.setStyle(widget.document.body,[\\n\\t\\t{\\\"overflow-x\\\": \\\"hidden\\\"}\\n\\t]);\\n\\t// Set up the initial position of the element\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(2)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t// Transition to the final position\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n};\\n\\nTiddlyPopStoryView.prototype.remove = function(widget) {\\n\\tvar targetElement = widget.findFirstDomNode(),\\n\\t\\tduration = $tw.utils.getAnimationDuration(),\\n\\t\\tremoveElement = function() {\\n\\t\\t\\tif(targetElement && targetElement.parentNode) {\\n\\t\\t\\t\\twidget.removeChildDomNodes();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t// Abandon if the list entry isn't a DOM element (it might be a text node)\\n\\tif(!targetElement || targetElement.nodeType === Node.TEXT_NODE) {\\n\\t\\tremoveElement();\\n\\t\\treturn;\\n\\t}\\n\\t// Remove the element at the end of the transition\\n\\tsetTimeout(removeElement,duration);\\n\\t// Animate the closure\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: \\\"none\\\"},\\n\\t\\t{transform: \\\"scale(1)\\\"},\\n\\t\\t{opacity: \\\"1.0\\\"}\\n\\t]);\\n\\t$tw.utils.forceLayout(targetElement);\\n\\t$tw.utils.setStyle(targetElement,[\\n\\t\\t{transition: $tw.utils.roundTripPropertyName(\\\"transform\\\") + \\\" \\\" + duration + \\\"ms ease-in-out, \\\" +\\n\\t\\t\\t\\t\\t\\\"opacity \\\" + duration + \\\"ms ease-in-out\\\"},\\n\\t\\t{transform: \\\"scale(0.1)\\\"},\\n\\t\\t{opacity: \\\"0.0\\\"}\\n\\t]);\\n};\\n\\nexports.tiddlypop = TiddlyPopStoryView;\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/storyviews/tiddlypop.js\",\"module-type\":\"storyview\"},\"$:/core/modules/startup/story.js\":{\"text\":\"/*\\\\\\ntitle: $:/core/modules/startup/story.js\\ntype: application/javascript\\nmodule-type: startup\\n\\nLoad core modules\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n// Export name and synchronous status\\nexports.name = \\\"story\\\";\\nexports.after = [\\\"startup\\\"];\\nexports.synchronous = true;\\n\\n// Default story and history lists\\nvar DEFAULT_STORY_TITLE = \\\"$:/StoryList\\\";\\nvar DEFAULT_HISTORY_TITLE = \\\"$:/HistoryList\\\";\\n\\n// Default tiddlers\\nvar DEFAULT_TIDDLERS_TITLE = \\\"$:/DefaultTiddlers\\\";\\n\\n// Config\\nvar CONFIG_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/UpdateAddressBar\\\"; // Can be \\\"no\\\", \\\"permalink\\\", \\\"permaview\\\"\\nvar CONFIG_UPDATE_HISTORY = \\\"$:/config/Navigation/UpdateHistory\\\"; // Can be \\\"yes\\\" or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD = \\\"$:/config/Navigation/Permalinkview/CopyToClipboard\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\nvar CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR = \\\"$:/config/Navigation/Permalinkview/UpdateAddressBar\\\"; // Can be \\\"yes\\\" (default) or \\\"no\\\"\\n\\n\\n// Links to help, if there is no param\\nvar HELP_OPEN_EXTERNAL_WINDOW = \\\"http://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window\\\";\\n\\nexports.startup = function() {\\n\\t// Open startup tiddlers\\n\\topenStartupTiddlers({\\n\\t\\tdisableHistory: $tw.boot.disableStartupNavigation\\n\\t});\\n\\tif($tw.browser) {\\n\\t\\t// Set up location hash update\\n\\t\\t$tw.wiki.addEventListener(\\\"change\\\",function(changes) {\\n\\t\\t\\tif($tw.utils.hop(changes,$tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,$tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE)) {\\n\\t\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\\\"permaview\\\").trim(),\\n\\t\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim()\\n\\t\\t\\t\\t});\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for changes to the browser location hash\\n\\t\\twindow.addEventListener(\\\"hashchange\\\",function() {\\n\\t\\t\\tvar hash = $tw.utils.getLocationHash();\\n\\t\\t\\tif(hash !== $tw.locationHash) {\\n\\t\\t\\t\\t$tw.locationHash = hash;\\n\\t\\t\\t\\tif(hash !== \\\"#\\\") {\\n\\t\\t\\t\\t\\topenStartupTiddlers({defaultToCurrentStory: true});\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},false);\\n\\t\\t// Listen for the tm-browser-refresh message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-browser-refresh\\\",function(event) {\\n\\t\\t\\twindow.location.reload(true);\\n\\t\\t});\\n\\t\\t// Listen for tm-open-external-window message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-open-external-window\\\",function(event) {\\n\\t\\t\\tvar paramObject = event.paramObject || {},\\n\\t\\t\\t\\tstrUrl = event.param || HELP_OPEN_EXTERNAL_WINDOW,\\n\\t\\t\\t\\tstrWindowName = paramObject.windowName,\\n\\t\\t\\t\\tstrWindowFeatures = paramObject.windowFeatures;\\n\\t\\t\\twindow.open(strUrl, strWindowName, strWindowFeatures);\\n\\t\\t});\\n\\t\\t// Listen for the tm-print message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-print\\\",function(event) {\\n\\t\\t\\t(event.event.view || window).print();\\n\\t\\t});\\n\\t\\t// Listen for the tm-home message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-home\\\",function(event) {\\n\\t\\t\\twindow.location.hash = \\\"\\\";\\n\\t\\t\\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\\n\\t\\t\\t\\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t\\t\\t//invoke any hooks that might change the default story list\\n\\t\\t\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t\\t\\t$tw.wiki.addTiddler({title: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t\\t\\tif(storyList[0]) {\\n\\t\\t\\t\\t$tw.wiki.addToHistory(storyList[0]);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t// Listen for the tm-permalink message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permalink\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permalink\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\\t// Listen for the tm-permaview message\\n\\t\\t$tw.rootWidget.addEventListener(\\\"tm-permaview\\\",function(event) {\\n\\t\\t\\tupdateLocationHash({\\n\\t\\t\\t\\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_UPDATE_ADDRESS_BAR,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\",\\n\\t\\t\\t\\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\\\"no\\\").trim(),\\n\\t\\t\\t\\ttargetTiddler: event.param || event.tiddlerTitle,\\n\\t\\t\\t\\tcopyToClipboard: $tw.wiki.getTiddlerText(CONFIG_PERMALINKVIEW_COPY_TO_CLIPBOARD,\\\"yes\\\").trim() === \\\"yes\\\" ? \\\"permaview\\\" : \\\"none\\\"\\n\\t\\t\\t});\\n\\t\\t});\\n\\t}\\n};\\n\\n/*\\nProcess the location hash to open the specified tiddlers. Options:\\ndisableHistory: if true $:/History is NOT updated\\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\\n*/\\nfunction openStartupTiddlers(options) {\\n\\toptions = options || {};\\n\\t// Work out the target tiddler and the story filter. \\\"null\\\" means \\\"unspecified\\\"\\n\\tvar target = null,\\n\\t\\tstoryFilter = null;\\n\\tif($tw.locationHash.length > 1) {\\n\\t\\tvar hash = $tw.locationHash.substr(1),\\n\\t\\t\\tsplit = hash.indexOf(\\\":\\\");\\n\\t\\tif(split === -1) {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.trim());\\n\\t\\t} else {\\n\\t\\t\\ttarget = $tw.utils.decodeURIComponentSafe(hash.substr(0,split).trim());\\n\\t\\t\\tstoryFilter = $tw.utils.decodeURIComponentSafe(hash.substr(split + 1).trim());\\n\\t\\t}\\n\\t}\\n\\t// If the story wasn't specified use the current tiddlers or a blank story\\n\\tif(storyFilter === null) {\\n\\t\\tif(options.defaultToCurrentStory) {\\n\\t\\t\\tvar currStoryList = $tw.wiki.getTiddlerList($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE);\\n\\t\\t\\tstoryFilter = $tw.utils.stringifyList(currStoryList);\\n\\t\\t} else {\\n\\t\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t\\tstoryFilter = \\\"\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// Process the story filter to get the story list\\n\\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\\n\\t// Invoke any hooks that want to change the default story list\\n\\tstoryList = $tw.hooks.invokeHook(\\\"th-opening-default-tiddlers-list\\\",storyList);\\n\\t// If the target tiddler isn't included then splice it in at the top\\n\\tif(target && storyList.indexOf(target) === -1) {\\n\\t\\tstoryList.unshift(target);\\n\\t}\\n\\t// Save the story list\\n\\t$tw.wiki.addTiddler({title: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE, text: \\\"\\\", list: storyList},$tw.wiki.getModificationFields());\\n\\t// Update history\\n\\tvar story = new $tw.Story({\\n\\t\\twiki: $tw.wiki,\\n\\t\\tstoryTitle: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE,\\n\\t\\thistoryTitle: $tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE\\n\\t});\\n\\tif(!options.disableHistory) {\\n\\t\\t// If a target tiddler was specified add it to the history stack\\n\\t\\tif(target && target !== \\\"\\\") {\\n\\t\\t\\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\\n\\t\\t\\tif(target.indexOf(\\\"[[\\\") === 0 && target.substr(-2) === \\\"]]\\\") {\\n\\t\\t\\t\\ttarget = target.substr(2,target.length - 4);\\n\\t\\t\\t}\\n\\t\\t\\tif($tw.wiki.getTiddlerText(\\\"$:/layout\\\") !== \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\") {\\n\\t\\t\\t\\tstory.addToHistory(target);\\n\\t\\t\\t}\\n\\t\\t} else if((storyList.length > 0) && ($tw.wiki.getTiddlerText(\\\"$:/layout\\\") !== \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\")) {\\n\\t\\t\\tstory.addToHistory(storyList[0]);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\noptions: See below\\noptions.updateAddressBar: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"permaview\\\")\\noptions.updateHistory: \\\"yes\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.copyToClipboard: \\\"permalink\\\", \\\"permaview\\\" or \\\"no\\\" (defaults to \\\"no\\\")\\noptions.targetTiddler: optional title of target tiddler for permalink\\n*/\\nfunction updateLocationHash(options) {\\n\\t// Get the story and the history stack\\n\\tvar storyList = $tw.wiki.getTiddlerList($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/StoryList-1\\\" : DEFAULT_STORY_TITLE),\\n\\t\\thistoryList = $tw.wiki.getTiddlerData($tw.wiki.getTiddlerText(\\\"$:/layout\\\") === \\\"$:/plugins/BTC/TiddlyFlex/ui/Layout\\\" ? \\\"$:/HistoryList-1\\\" : DEFAULT_HISTORY_TITLE,[]),\\n\\t\\ttargetTiddler = \\\"\\\";\\n\\tif(options.targetTiddler) {\\n\\t\\ttargetTiddler = options.targetTiddler;\\n\\t} else {\\n\\t\\t// The target tiddler is the one at the top of the stack\\n\\t\\tif(historyList.length > 0) {\\n\\t\\t\\ttargetTiddler = historyList[historyList.length-1].title;\\n\\t\\t}\\n\\t\\t// Blank the target tiddler if it isn't present in the story\\n\\t\\tif(storyList.indexOf(targetTiddler) === -1) {\\n\\t\\t\\ttargetTiddler = \\\"\\\";\\n\\t\\t}\\n\\t}\\n\\t// Assemble the location hash\\n\\tswitch(options.updateAddressBar) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler);\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.locationHash = \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Copy URL to the clipboard\\n\\tswitch(options.copyToClipboard) {\\n\\t\\tcase \\\"permalink\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler));\\n\\t\\t\\tbreak;\\n\\t\\tcase \\\"permaview\\\":\\n\\t\\t\\t$tw.utils.copyToClipboard($tw.utils.getLocationPath() + \\\"#\\\" + encodeURIComponent(targetTiddler) + \\\":\\\" + encodeURIComponent($tw.utils.stringifyList(storyList)));\\n\\t\\t\\tbreak;\\n\\t}\\n\\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\\n\\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\\n\\t\\tif(options.updateHistory === \\\"yes\\\") {\\n\\t\\t\\t// Assign the location hash so that history is updated\\n\\t\\t\\twindow.location.hash = $tw.locationHash;\\n\\t\\t} else {\\n\\t\\t\\t// We use replace so that browser history isn't affected\\n\\t\\t\\twindow.location.replace(window.location.toString().split(\\\"#\\\")[0] + $tw.locationHash);\\n\\t\\t}\\n\\t}\\n}\\n\\n})();\\n\",\"type\":\"application/javascript\",\"title\":\"$:/core/modules/startup/story.js\",\"module-type\":\"startup\"},\"$:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\\ntype: application/javascript\\nmodule-type: utils\\n\\nBrowser data transfer utilities, used with the clipboard and drag and drop\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\n/*\\nOptions:\\n\\ndomNode: dom node to make draggable\\nselector: CSS selector to identify element within domNode to be used as drag handle (optional)\\ndragImageType: \\\"pill\\\", \\\"blank\\\" or \\\"dom\\\" (the default)\\ndragTiddlerFn: optional function to retrieve the title of tiddler to drag\\ndragFilterFn: optional function to retreive the filter defining a list of tiddlers to drag\\nwidget: widget to use as the context for the filter\\n*/\\nexports.makeTiddlyFlexDraggable = function(options) {\\n\\tvar dragImageType = options.dragImageType || \\\"dom\\\",\\n\\t\\tdragImage,\\n\\t\\tdomNode = options.domNode,\\n\\t\\tremoveEventHandler = options.remove;\\n\\t// Make the dom node draggable (not necessary for anchor tags)\\n\\tif(!options.selector && ((domNode.tagName || \\\"\\\").toLowerCase() !== \\\"a\\\")) {\\n\\t\\tdomNode.setAttribute(\\\"draggable\\\",\\\"true\\\");\\n\\t}\\n\\tvar dragStartHandlerFunction = function(event) {\\n\\t\\tif(event.dataTransfer === undefined) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\t// Collect the tiddlers being dragged\\n\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\tstartActions = options.startActions,\\n\\t\\t\\tvariables,\\n\\t\\t\\tdomNodeRect;\\n\\t\\tif(dragFilter) {\\n\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t}\\n\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t// Check that we've something to drag\\n\\t\\tif(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {\\n\\t\\t\\t// Mark the drag in progress\\n\\t\\t\\t$tw.dragInProgress = domNode;\\n\\t\\t\\t// Set the dragging class on the element being dragged\\n\\t\\t\\t$tw.utils.addClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t// Invoke drag-start actions if given\\n\\t\\t\\tif(startActions !== undefined) {\\n\\t\\t\\t\\t// Collect our variables\\n\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\toptions.widget.invokeActionString(startActions,options.widget,event,variables);\\n\\t\\t\\t}\\n\\t\\t\\t// Create the drag image elements\\n\\t\\t\\tdragImage = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\tdragImage.className = \\\"tc-tiddler-dragger\\\";\\n\\t\\t\\tvar inner = options.widget.document.createElement(\\\"div\\\");\\n\\t\\t\\tinner.className = \\\"tc-tiddler-dragger-inner\\\";\\n\\t\\t\\tinner.appendChild(options.widget.document.createTextNode(\\n\\t\\t\\t\\ttitles.length === 1 ? \\n\\t\\t\\t\\t\\ttitles[0] :\\n\\t\\t\\t\\t\\ttitles.length + \\\" tiddlers\\\"\\n\\t\\t\\t));\\n\\t\\t\\tdragImage.appendChild(inner);\\n\\t\\t\\toptions.widget.document.body.appendChild(dragImage);\\n\\t\\t\\t// Set the data transfer properties\\n\\t\\t\\tvar dataTransfer = event.dataTransfer;\\n\\t\\t\\t// Set up the image\\n\\t\\t\\tdataTransfer.effectAllowed = \\\"all\\\";\\n\\t\\t\\tif(dataTransfer.setDragImage) {\\n\\t\\t\\t\\tif(dragImageType === \\\"pill\\\") {\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\\n\\t\\t\\t\\t} else if(dragImageType === \\\"blank\\\") {\\n\\t\\t\\t\\t\\tdragImage.removeChild(dragImage.firstChild);\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(dragImage,0,0);\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tvar r = domNode.getBoundingClientRect();\\n\\t\\t\\t\\t\\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t// Set up the data transfer\\n\\t\\t\\tif(dataTransfer.clearData) {\\n\\t\\t\\t\\tdataTransfer.clearData();\\n\\t\\t\\t}\\n\\t\\t\\tvar jsonData = [];\\n\\t\\t\\tif(titles.length > 1) {\\n\\t\\t\\t\\ttitles.forEach(function(title) {\\n\\t\\t\\t\\t\\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tjsonData = \\\"[\\\" + jsonData.join(\\\",\\\") + \\\"]\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\\n\\t\\t\\t}\\n\\t\\t\\t// IE doesn't like these content types\\n\\t\\t\\tif(!$tw.browser.isIE) {\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/vnd.tiddler\\\",jsonData);\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/plain\\\",titleString);\\n\\t\\t\\t\\tdataTransfer.setData(\\\"text/x-moz-url\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t}\\n\\t\\t\\t// If browser is Chrome-like and has a touch-input device do NOT .setData\\n\\t\\t\\tif(!($tw.browser.isMobileChrome)) {\\n\\t\\t\\t\\tdataTransfer.setData(\\\"URL\\\",\\\"data:text/vnd.tiddler,\\\" + encodeURIComponent(jsonData));\\n\\t\\t\\t}\\n\\t\\t\\tdataTransfer.setData(\\\"Text\\\",titleString);\\n\\t\\t\\tevent.stopPropagation();\\n\\t\\t}\\n\\t\\treturn false;\\n\\t};\\n\\n\\tvar dragEndHandlerFunction = function(event) {\\n\\t\\tif((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {\\n\\t\\t\\t// Collect the tiddlers being dragged\\n\\t\\t\\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\\n\\t\\t\\t\\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\\n\\t\\t\\t\\ttitles = dragTiddler ? [dragTiddler] : [],\\n\\t\\t\\t\\tendActions = options.endActions,\\n\\t\\t\\t\\tvariables;\\n\\t\\t\\tif(dragFilter) {\\n\\t\\t\\t\\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\\n\\t\\t\\t}\\n\\t\\t\\tvar titleString = $tw.utils.stringifyList(titles);\\n\\t\\t\\t$tw.dragInProgress = null;\\n\\t\\t\\t// Invoke drag-end actions if given\\n\\t\\t\\tif(endActions !== undefined) {\\n\\t\\t\\t\\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\\n\\t\\t\\t\\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\t\\t\\tvariables[\\\"actionTiddler\\\"] = titleString;\\n\\t\\t\\t\\toptions.widget.invokeActionString(endActions,options.widget,event,variables);\\n\\t\\t\\t}\\n\\t\\t\\t// Remove the dragging class on the element being dragged\\n\\t\\t\\t$tw.utils.removeClass(domNode,\\\"tc-dragging\\\");\\n\\t\\t\\t// Delete the drag image element\\n\\t\\t\\tif(dragImage) {\\n\\t\\t\\t\\tdragImage.parentNode.removeChild(dragImage);\\n\\t\\t\\t\\tdragImage = null;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn false;\\n\\t};\\n\\n\\t// Add event handlers\\n\\toptions.widget.dragStartListenerReference = dragStartHandlerFunction;\\n\\toptions.widget.dragEndListenerReference = dragEndHandlerFunction;\\n\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t{name: \\\"dragstart\\\", handlerFunction: dragStartHandlerFunction},\\n\\t\\t{name: \\\"dragend\\\", handlerFunction: dragEndHandlerFunction}\\n\\t]);\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/utils/dom/tiddlyflex-utils.js\",\"module-type\":\"utils\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nDraggable widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar DraggableWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nDraggableWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nDraggableWidget.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag,\\n\\t\\tdomNode,\\n\\t\\tclasses = [];\\n\\t// Save the parent dom node\\n\\tthis.parentDomNode = parent;\\n\\t// Compute our attributes\\n\\tthis.computeAttributes();\\n\\t// Execute our logic\\n\\tthis.execute();\\n\\t// Sanitise the specified tag\\n\\ttag = this.draggableTag;\\n\\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\\n\\t\\ttag = \\\"div\\\";\\n\\t}\\n\\t// Create our element\\n\\tdomNode = this.document.createElement(tag);\\n\\t// Assign classes\\n\\tif(this.draggableClasses) {\\n\\t\\tclasses.push(this.draggableClasses);\\n\\t}\\n\\tif(!this.dragHandleSelector && this.dragEnable) {\\n\\t\\tclasses.push(\\\"tc-draggable\\\");\\n\\t}\\n\\tdomNode.setAttribute(\\\"class\\\",classes.join(\\\" \\\"));\\n\\t// Assign data- attributes and style. attributes\\n\\tthis.assignAttributes(domNode,{\\n\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\tdestPrefix: \\\"data-\\\"\\n\\t});\\n\\t// Insert the node into the DOM and render any children\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.makeDraggable(domNode);\\n\\tthis.domNodes.push(domNode);\\n};\\n\\nDraggableWidget.prototype.makeDraggable = function(domNode) {\\n\\tvar self = this;\\n\\t// Add event handlers\\n\\tif(this.dragEnable) {\\n\\t\\t$tw.utils.makeTiddlyFlexDraggable({\\n\\t\\t\\tdomNode: domNode,\\n\\t\\t\\tremove: false,\\n\\t\\t\\tdragTiddlerFn: function() {return self.getAttribute(\\\"tiddler\\\");},\\n\\t\\t\\tdragFilterFn: function() {return self.getAttribute(\\\"filter\\\");},\\n\\t\\t\\tstartActions: self.startActions,\\n\\t\\t\\tendActions: self.endActions,\\n\\t\\t\\tdragImageType: self.dragImageType,\\n\\t\\t\\twidget: this,\\n\\t\\t\\tselector: self.dragHandleSelector\\n\\t\\t});\\n\\t} else if(this.dragStartListenerReference && this.dragEndListenerReference) {\\n\\t\\tdomNode.removeEventListener(\\\"dragstart\\\",this.dragStartListenerReference,false);\\n\\t\\tdomNode.removeEventListener(\\\"dragend\\\",this.dragEndListenerReference,false);\\n\\t\\tdomNode.removeAttribute(\\\"draggable\\\");\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nDraggableWidget.prototype.execute = function() {\\n\\t// Pick up our attributes\\n\\tthis.draggableTag = this.getAttribute(\\\"tag\\\",\\\"div\\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\tthis.startActions = this.getAttribute(\\\"startactions\\\");\\n\\tthis.endActions = this.getAttribute(\\\"endactions\\\");\\n\\tthis.dragImageType = this.getAttribute(\\\"dragimagetype\\\");\\n\\tthis.dragHandleSelector = this.getAttribute(\\\"selector\\\");\\n\\tthis.dragEnable = this.getAttribute(\\\"enable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t// Make the child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n\\nDraggableWidget.prototype.updateDomNodeClasses = function() {\\n\\tvar domNodeClasses = this.domNodes[0].className.split(\\\" \\\"),\\n\\t\\toldClasses = this.draggableClasses.split(\\\" \\\");\\n\\tthis.draggableClasses = this.getAttribute(\\\"class\\\");\\n\\t//Remove classes assigned from the old value of class attribute\\n\\t$tw.utils.each(oldClasses,function(oldClass){\\n\\t\\tvar i = domNodeClasses.indexOf(oldClass);\\n\\t\\tif(i !== -1) {\\n\\t\\t\\tdomNodeClasses.splice(i,1);\\n\\t\\t}\\n\\t});\\n\\t//Add new classes from updated class attribute.\\n\\t$tw.utils.pushTop(domNodeClasses,this.draggableClasses);\\n\\tthis.domNodes[0].setAttribute(\\\"class\\\",domNodeClasses.join(\\\" \\\"));\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nDraggableWidget.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.selector || changedAttributes.dragimagetype || changedAttributes.startactions || changedAttributes.endactions) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\tif(changedAttributes[\\\"enable\\\"]) {\\n\\t\\t\\tthis.dragEnable = this.getAttribute(\\\"enable\\\",\\\"yes\\\") === \\\"yes\\\";\\n\\t\\t\\tthis.makeDraggable(this.domNodes[0]);\\n\\t\\t\\tif(!this.dragHandleSelector && this.dragEnable && !this.domNodes[0].classList.contains(\\\"tc-draggable\\\")) {\\n\\t\\t\\t\\tthis.domNodes[0].classList.add(\\\"tc-draggable\\\");\\n\\t\\t\\t} else if(!this.dragHandleSelector && !this.dragEnable && this.domNodes[0].classList.contains(\\\"tc-draggable\\\")) {\\n\\t\\t\\t\\tthis.domNodes[0].classList.remove(\\\"tc-draggable\\\");\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif(changedAttributes[\\\"class\\\"]) {\\n\\t\\t\\tthis.updateDomNodeClasses();\\n\\t\\t}\\n\\t\\tthis.assignAttributes(this.domNodes[0],{\\n\\t\\t\\tchangedAttributes: changedAttributes,\\n\\t\\t\\tsourcePrefix: \\\"data-\\\",\\n\\t\\t\\tdestPrefix: \\\"data-\\\"\\n\\t\\t});\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\nexports[\\\"tiddlyflex-draggable\\\"] = DraggableWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/tiddlyflex-draggable.js\",\"module-type\":\"widget\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\\ntype: application/javascript\\nmodule-type: widget\\n\\nRefreshBlocker widget\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nvar Widget = require(\\\"$:/core/modules/widgets/widget.js\\\").widget;\\n\\nvar RefreshBlocker = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nvar RefreshBlockerWidget = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\n/*\\nInherit from the base widget class\\n*/\\nRefreshBlockerWidget.prototype = new Widget();\\n\\n/*\\nRender this widget into the DOM\\n*/\\nRefreshBlockerWidget.prototype.render = function(parent,nextSibling) {\\n\\tthis.parentDomNode = parent;\\n\\tthis.execute();\\n\\tthis.renderChildren(parent,null);\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nRefreshBlockerWidget.prototype.execute = function() {\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\nRefreshBlockerWidget.prototype.refresh = function(changedTiddlers) {\\n\\tif(changedTiddlers[\\\"$:/state/sidebar/posx\\\"] && $tw.wiki.tiddlerExists(\\\"$:/state/sidebar/resizing\\\")) {\\n\\t\\treturn false;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\nexports[\\\"refresh-blocker\\\"] = RefreshBlockerWidget;\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/refresh-blocker.js\",\"module-type\":\"widget\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\\ntype: application/javascript\\nmodule-type: widget-subclass\\n\\nWidget base class\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.baseClass = \\\"droppable\\\";\\n\\nexports.constructor = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nexports.prototype = {};\\n\\nexports.prototype.render = function(parent,nextSibling) {\\n\\tvar self = this,\\n\\t\\ttag = this.parseTreeNode.isBlock ? \\\"div\\\" : \\\"span\\\",\\n\\t\\tdomNode;\\n\\t// Remember parent\\n\\tthis.parentDomNode = parent;\\n\\t// Compute attributes and execute state\\n\\tthis.computeAttributes();\\n\\tthis.execute();\\n\\tif(this.droppableTag && $tw.config.htmlUnsafeElements.indexOf(this.droppableTag) === -1) {\\n\\t\\ttag = this.droppableTag;\\n\\t}\\n\\t// Create element and assign classes\\n\\tdomNode = this.document.createElement(tag);\\n\\tthis.domNode = domNode;\\n\\tthis.assignDomNodeClasses();\\n\\t// Add event handlers\\n\\tif(this.droppableEnable) {\\n\\t\\t$tw.utils.addEventListeners(domNode,[\\n\\t\\t\\t{name: \\\"dragenter\\\", handlerObject: this, handlerMethod: \\\"handleDragEnterEvent\\\"},\\n\\t\\t\\t{name: \\\"dragover\\\", handlerObject: this, handlerMethod: \\\"handleDragOverEvent\\\"},\\n\\t\\t\\t{name: \\\"dragleave\\\", handlerObject: this, handlerMethod: \\\"handleDragLeaveEvent\\\"},\\n\\t\\t\\t{name: \\\"drop\\\", handlerObject: this, handlerMethod: \\\"handleDropEvent\\\"},\\n\\t\\t\\t{name: \\\"dragend\\\", handlerObject: this, handlerMethod: \\\"handleDragEndEvent\\\"}\\n\\t\\t]);\\n\\t} else {\\n\\t\\t$tw.utils.addClass(this.domNode,this.disabledClass);\\n\\t}\\n\\t// Insert element\\n\\tparent.insertBefore(domNode,nextSibling);\\n\\tthis.renderChildren(domNode,null);\\n\\tthis.domNodes.push(domNode);\\n\\t// Stack of outstanding enter/leave events\\n\\tthis.currentlyEntered = [];\\n};\\n\\nexports.prototype.handleEvent = function(event) {\\n\\tif(event.type === \\\"dragenter\\\") {\\n\\t\\tif(event.target && event.target !== this.domNode && !$tw.utils.domContains(this.domNode,event.target)) {\\n\\t\\t\\tthis.resetState(null,event);\\n\\t\\t}\\n\\t} else if(event.type === \\\"dragleave\\\") {\\n\\t\\t// Check if drag left the window\\n\\t\\tif(event.relatedTarget === null || (event.relatedTarget && event.relatedTarget.nodeName === \\\"HTML\\\")) {\\n\\t\\t\\tthis.resetState(null,event);\\n\\t\\t}\\n\\t}\\n};\\n\\nexports.prototype.resetState = function(options,event) {\\n\\toptions = options || {};\\n\\tif(this.domNodes[0]) {\\n\\t\\t$tw.utils.removeClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\t}\\n\\tthis.currentlyEntered = [];\\n\\tthis.document.body.removeEventListener(\\\"dragenter\\\",this,true);\\n\\tthis.document.body.removeEventListener(\\\"dragleave\\\",this,true);\\n\\tif(options.performDragLeaveActions && this.dragLeaveActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragLeaveActions,this,event,{modifier: modifierKey});\\n\\t}\\n\\tif(options.performDragEndActions && this.dragEndActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragEndActions,this,event,{modifier: modifierKey});\\n\\t}\\n};\\n\\nexports.prototype.enterDrag = function(event) {\\n\\tif(this.currentlyEntered.indexOf(event.target) === -1) {\\n\\t\\tthis.currentlyEntered.push(event.target);\\n\\t}\\n\\t// If we're entering for the first time we need to apply highlighting\\n\\t$tw.utils.addClass(this.domNodes[0],\\\"tc-dragover\\\");\\n\\tthis.document.body.addEventListener(\\\"dragenter\\\",this,true);\\n\\tthis.document.body.addEventListener(\\\"dragleave\\\",this,true);\\n\\tif(this.dragEnterActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.dragEnterActions,this,event,{modifier: modifierKey});\\n\\t}\\n};\\n\\nexports.prototype.leaveDrag = function(event) {\\n\\tvar pos = this.currentlyEntered.indexOf(event.target);\\n\\tif(pos !== -1) {\\n\\t\\tthis.currentlyEntered.splice(pos,1);\\n\\t}\\n\\t// Remove highlighting if we're leaving externally. The hacky second condition is to resolve a problem with Firefox whereby there is an erroneous dragenter event if the node being dragged is within the dropzone\\n\\tif(this.currentlyEntered.length === 0) {\\n\\t\\tthis.resetState({performDragLeaveActions: true},event);\\n\\t}\\n};\\n\\nexports.prototype.handleDragEnterEvent = function(event) {\\n\\tthis.enterDrag(event);\\n\\t// Tell the browser that we're ready to handle the drop\\n\\tevent.preventDefault();\\n\\t// Tell the browser not to ripple the drag up to any parent drop handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragOverEvent = function(event) {\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Tell the browser that we're still interested in the drop\\n\\tevent.preventDefault();\\n\\t// Set the drop effect\\n\\tevent.dataTransfer.dropEffect = this.droppableEffect;\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragLeaveEvent = function(event) {\\n\\tthis.leaveDrag(event);\\n\\treturn false;\\n};\\n\\nexports.prototype.handleDragEndEvent = function(event) {\\n\\tthis.resetState({performDragEndActions: true});\\n};\\n\\nexports.prototype.handleDropEvent = function(event) {\\n\\tvar self = this;\\n\\tthis.leaveDrag(event);\\n\\t// Check for being over a TEXTAREA or INPUT\\n\\tif([\\\"TEXTAREA\\\",\\\"INPUT\\\"].indexOf(event.target.tagName) !== -1) {\\n\\t\\treturn false;\\n\\t}\\n\\tvar dataTransfer = event.dataTransfer;\\n\\t// Remove highlighting\\n\\tthis.resetState(null,event);\\n\\t// Try to import the various data types we understand\\n\\t$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {\\n\\t\\tfieldsArray.forEach(function(fields) {\\n\\t\\t\\tself.performActions(fields.title || fields.text,event);\\n\\t\\t});\\n\\t});\\n\\t// Tell the browser that we handled the drop\\n\\tevent.preventDefault();\\n\\t// Stop the drop ripple up to any parent handlers\\n\\tevent.stopPropagation();\\n\\treturn false;\\n};\\n\\nexports.prototype.performActions = function(title,event) {\\n\\tif(this.droppableActions) {\\n\\t\\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\\n\\t\\tthis.invokeActionString(this.droppableActions,this,event,{actionTiddler: title, modifier: modifierKey});\\n\\t}\\n};\\n\\n/*\\nCompute the internal state of the widget\\n*/\\nexports.prototype.execute = function() {\\n\\tthis.droppableActions = this.getAttribute(\\\"actions\\\");\\n\\tthis.droppableEffect = this.getAttribute(\\\"effect\\\",\\\"copy\\\");\\n\\tthis.droppableTag = this.getAttribute(\\\"tag\\\");\\n\\tthis.droppableEnable = (this.getAttribute(\\\"enable\\\") || \\\"yes\\\") === \\\"yes\\\";\\n\\tthis.disabledClass = this.getAttribute(\\\"disabledClass\\\",\\\"\\\");\\n\\tthis.dragEnterActions = this.getAttribute(\\\"dragenteractions\\\");\\n\\tthis.dragLeaveActions = this.getAttribute(\\\"dragleaveactions\\\");\\n\\tthis.dragEndActions = this.getAttribute(\\\"dragendactions\\\");\\n\\t// Make child widgets\\n\\tthis.makeChildWidgets();\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nexports.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect || changedAttributes.dragenteractions || changedAttributes.dragleaveactions || changedAttributes.dragendactions) {\\n\\t\\tthis.refreshSelf();\\n\\t\\treturn true;\\n\\t} else if(changedAttributes[\\\"class\\\"]) {\\n\\t\\tthis.assignDomNodeClasses();\\n\\t}\\n\\treturn this.refreshChildren(changedTiddlers);\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/droppable.js\",\"module-type\":\"widget-subclass\"},\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\":{\"text\":\"/*\\\\\\ntitle: $:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\\ntype: application/javascript\\nmodule-type: widget-subclass\\n\\nWidget base class\\n\\n\\\\*/\\n(function(){\\n\\n/*jslint node: true, browser: true */\\n/*global $tw: false */\\n\\\"use strict\\\";\\n\\nexports.baseClass = \\\"transclude\\\";\\n\\nexports.constructor = function(parseTreeNode,options) {\\n\\tthis.initialise(parseTreeNode,options);\\n};\\n\\nexports.prototype = {};\\n\\nexports.prototype.findParentContainedElement = function() {\\n\\tvar widget = this;\\n\\twhile(widget) {\\n\\t\\tfor(var i=0; i\u003Cwidget.domNodes.length; i++) {\\n\\t\\t\\tvar domNode = widget.domNodes[i];\\n\\t\\t\\tif(domNode.style && domNode.style[\\\"contain\\\"]) {\\n\\t\\t\\t\\treturn domNode;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\twidget = widget.parentWidget;\\n\\t}\\n\\treturn null;\\n};\\n\\n/*\\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\\n*/\\nexports.prototype.refresh = function(changedTiddlers) {\\n\\tvar changedAttributes = this.computeAttributes();\\n\\tif(($tw.utils.count(changedAttributes) > 0) || (this.transcludeVariableIsFunction && this.functionNeedsRefresh()) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {\\n\\t\\tvar containedElement = this.findParentContainedElement();\\n\\t\\tthis.refreshSelf();\\n\\t\\tif(containedElement) {\\n\\t\\t\\t$tw.utils.setStyle(containedElement,[\\n\\t\\t\\t\\t{ contain: null }\\n\\t\\t\\t]);\\n\\t\\t}\\n\\t\\treturn true;\\n\\t} else {\\n\\t\\treturn this.refreshChildren(changedTiddlers);\\n\\t}\\n};\\n\\n})();\",\"type\":\"application/javascript\",\"title\":\"$:/plugins/BTC/TiddlyFlex/modules/widgets/subclasses/transclude.js\",\"module-type\":\"widget-subclass\"},\"$:/plugins/BTC/TiddlyFlex/globals/css\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/css\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\define tiddlyflex-style-current-tiddler()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]:not(.tc-navigating) > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler>>;\\n}\\n\\n\\\\end\\n\\n\\\\define tiddlyflex-style-unfocused-tiddlers()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n\\n.tc-tiddlyflex-story-river-{{{ [[$(column)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]:not(.tc-navigating) > .tc-tiddler-frame {\\n\\tborder: 1px solid \u003C\u003Ccolour tiddlyflex-current-tiddler-muted>>;\\n}\\n\\n\\\\end\\n\\n\\\\procedure tiddlyflex-css-horizontal-view()\\n\\n.tc-tiddlyflex-main-wrapper {\\n\\toverflow-x: auto;\\n}\\n\\n.tc-tiddlyflex-main {\\n\\toverflow-x: clip;\\n}\\n\\n.tc-tiddlyflex-sidebar {\\n\\tposition: fixed;\\n\\ttop:0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\tz-index: 1001;\\n\\tbackground-color: \u003C\u003Ccolour page-background>>;\\n\\ttransform: translate3d(0,0,0);\\n\\t-webkit-transition: transform {{$:/config/AnimationDuration}}ms linear, box-shadow {{$:/config/AnimationDuration}}ms linear;\\n\\ttransition: transform {{$:/config/AnimationDuration}}ms linear, box-shadow {{$:/config/AnimationDuration}}ms linear;\\n}\\n\\n\u003C%if [{$:/state/sidebar}match[no]] %>\\n\\n\\t.tc-tiddlyflex-sidebar {\\n\\t\\ttransform: translate3d(100%,0,0);\\n\\t}\\n\\n\u003C% endif %>\\n\\n.tc-tiddlyflex-leftbar {\\n\\tdisplay: none;\\n}\\n\\n.tc-tiddlyflex-story-river-container {\\n\\tflex-basis: 100%;\\n\\tmax-width: 100%;\\n}\\n\\n.tc-tiddlyflex-story-river-container-inner {\\n\\toverflow-x: auto;\\n\\twidth: 100vw;\\n\\tscroll-behavior: smooth;\\n\\tscroll-snap-type: x mandatory;\\n}\\n\\n.tc-tiddlyflex-story-river-wrapper {\\n\\twidth: 100vw;\\n\\tflex-basis: 100vw;\\n\\tscroll-snap-align: start;\\n\\toverflow: hidden;\\n}\\n\\n.tc-tiddlyflex-sidebar-hide.tc-tiddlyflex-sidebar-shown {\\n\\tvisibility: visible;\\n\\tbackground: rgba(0,0,0,.6);\\n\\t-webkit-transition: background {{$:/config/AnimationDuration}}ms 0s;\\n\\ttransition: background {{$:/config/AnimationDuration}}ms 0s;\\n}\\n\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/dragndrop\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/dragndrop\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-top-dragenter-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" drag-count={{{ [[$:/state/dragging]get[drag-count]add[1]] }}}/>\\n\u003C%if [[$:/state/dragging]has[dragenter-count]] %>\\n \\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\" target=\u003C\u003CcurrentTiddler>> margin=\\\"top\\\" nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} river=\u003C\u003CtiddlyFlexColumn>> next-tiddler=\\\"\\\" from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} from-story=\u003C\u003Ctv-story-list>> dragenter-count={{{ [[$:/state/dragging]get[dragenter-count]add[1]] }}}/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-dragenter-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" drag-count={{{ [[$:/state/dragging]get[drag-count]add[1]] }}}/>\\n\u003C%if [[$:/state/dragging]has[dragenter-count]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\" target=\u003C\u003CcurrentTiddler>> margin=\\\"bottom\\\" nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]add[1]] }}} river=\u003C\u003CtiddlyFlexColumn>> next-tiddler=\\\"\\\" from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]add[1]] }}} from-story=\u003C\u003Ctv-story-list>> dragenter-count={{{ [[$:/state/dragging]get[dragenter-count]add[1]] }}}/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-top-drop-actions-inner()\\n\u003C%if [\u003CactionTiddler>!match\u003CcurrentTiddler>] %>\\n\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C%if [\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]] %>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\u003C% endif %>\\n\u003C$vars fromStoryList={{$:/state/dragging!!starting-from-story}} fromHistoryList={{$:/state/dragging!!from-history}}>\\n\\t\u003C%if [\u003CfromStoryList>!match\u003Ctv-story-list>] %>\\n\\t\\t\u003C%if [{$:/state/dragging!!is-focused-tiddler}match[TRUE]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CfromHistoryList>> current-tiddler={{{ [list\u003CfromStoryList>zth{$:/state/dragging!!starting-from-index}] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-top-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-top-drop-actions-inner>>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-top-drop-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-drop-actions-inner()\\n\u003C$set name=\\\"nextTiddler\\\" value={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003CnextTiddler>match[]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C% else %>\\n\\t\\t\u003C%if [\u003CactionTiddler>!match\u003CnextTiddler>] %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-history-list>get[current-tiddler]match[]] [\u003Ctv-history-list>!has[current-tiddler]] +[limit[1]]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CactionTiddler>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\u003C$vars fromStoryList={{$:/state/dragging!!starting-from-story}} fromHistoryList={{$:/state/dragging!!from-history}}>\\n\\t\u003C%if [\u003CfromStoryList>!match\u003Ctv-story-list>] %>\\n\\t\\t\u003C%if [{$:/state/dragging!!is-focused-tiddler}match[TRUE]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003CfromHistoryList>> current-tiddler={{{ [list\u003CfromStoryList>zth{$:/state/dragging!!starting-from-index}] }}}/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-bottom-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-bottom-drop-actions-inner>>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-bottom-drop-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-drag-start-actions()\\n\u003C$let nth={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}} storyListLength={{{ [list\u003Ctv-story-list>count[]subtract[1]] }}}>\\n\\t\u003C%if [\u003Cnth>match\u003CstoryListLength>] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" starting-before-tiddler={{{ [list\u003Ctv-story-list>before\u003CcurrentTiddler>] }}}/>\\n\\t\u003C% endif %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\"\\n\\t\\tdrag-count=\\\"0\\\"\\n\\t\\tnth=\u003C\u003Cnth>>\\n\\t\\theight=\u003C\u003Ctv-selectednode-height>>\\n\\t\\twidth=\u003C\u003Ctv-selectednode-width>>\\n\\t\\tstart-river=\u003C\u003CtiddlyFlexColumn>>\\n\\t\\tstarting-next-tiddler={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t\\tstarting-from-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}}\\n\\t\\tstarting-from-story=\u003C\u003Ctv-story-list>>\\n\\t/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\"\\n\\t\\tdrag-tiddler=\u003C\u003CcurrentTiddler>>\\n\\t\\tnext-tiddler={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t\\tfrom-index={{{ [list\u003Ctv-story-list>allbefore\u003CcurrentTiddler>count[]] }}}\\n\\t\\tfrom-story=\u003C\u003Ctv-story-list>>\\n\\t\\tfrom-history=\u003C\u003Ctv-history-list>>\\n\\t\\tis-focused-tiddler={{{ [\u003Ctv-history-list>get[current-tiddler]match\u003CcurrentTiddler>then[TRUE]] ~[[FALSE]] }}}\\n\\t\\ttarget={{{ [list\u003Ctv-story-list>after\u003CcurrentTiddler>] }}}\\n\\t/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" text=\\\"yes\\\"/>\\n\\t\u003C%if [\u003Cmodifier>!match[ctrl]] %>\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\u003C% else %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" copying=\\\"yes\\\"/>\\n\\t\u003C% endif %>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-drag-end-actions()\\n\u003C%if [[$:/state/drag-handled]is[missing]] %>\\n\\t\u003C$let fromStoryList={{$:/state/dragging!!starting-from-story}} fromIndex={{$:/state/dragging!!starting-from-index}} listBeforeTiddler={{{ [list\u003CfromStoryList>zth\u003CfromIndex>] }}} prefix=\\\"[[\\\" suffix=\\\"]]\\\" actionTiddler={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] :else[\u003CactionTiddler>] }}}>\\n\\t\\t\u003C%if [\u003ClistBeforeTiddler>!is[blank]] %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CfromStoryList>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003ClistBeforeTiddler>]\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CfromStoryList>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\\n\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/dragging\\\"/>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/drag-handled\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-story-droppable-drop-actions()\\n\u003C$action-setfield $tiddler=\\\"$:/state/drag-handled\\\" text=\\\"yes\\\"/>\\n\u003C$vars prefix=\\\"[[\\\" suffix=\\\"]]\\\">\\n\\t\u003C%if [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] %>\\n\\t\\t\u003C$set name=\\\"actionTiddler\\\" value={{{ [\u003CactionTiddler>removeprefix\u003Cprefix>removesuffix\u003Csuffix>] }}}>\\n\\t\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] +[subfilter\u003Ctdff.tiddlyflex-story-river-filter>then[no]else[yes]!match[no]] %>\\n\\t\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\\t\u003C$let lastShownTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[last[]] }}} insertBeforeTiddler={{{ [list\u003Ctv-story-list>after\u003ClastShownTiddler>] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CinsertBeforeTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C% else %>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]subfilter\u003Ctdff.tiddlyflex-story-river-filter>then[no]else[yes]!match[no]] %>\\n\\t\\t\\t\u003C$set name=\\\"firstStoryTiddler\\\" value={{{ [list\u003Ctv-story-list>nth[1]] }}}>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CfirstStoryTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% elseif [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\u003C$let lastShownTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[last[]] }}} insertBeforeTiddler={{{ [list\u003Ctv-story-list>after\u003ClastShownTiddler>] }}}>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CinsertBeforeTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"[\u003CactionTiddler>]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% endif %>\\n\u003C/$vars>\\n\\\\end\\n\\\\procedure tiddlyflex-story-droppable-dragenter-actions()\\n\u003C%if [[$:/state/dragging]get[dragenter-count]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" target=\\\"\\\" starting-next-tiddler=\\\"\\\" copying=\\\"\\\"/>\\n\u003C% else %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/dragging\\\" dragenter-count=\\\"1\\\"/>\\n\u003C% endif %>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/interaction\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/interaction\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-tm-message-navigator(actions)\\n\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-message-navigator-outside(actions)\\n\u003C$navigator story={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/StoryList-]] }}} history={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-message-actions(message,exclude)\\n\u003C$set name=\\\"storyTiddler\\\" value=\u003C\u003Cevent-navigateFromTitle>>>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\u003C\u003Cevent-type>>\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-type>!match[tm-new-tiddler]then\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$navigateTo=\u003C\u003Cevent-navigateTo>>\\n\\t\\t$navigateFromTitle=\u003C\u003Cevent-navigateFromTitle>>\\n\\t\\t$navigateFromClientRect=\u003C\u003Cevent-navigateFromClientRect>>\\n\\t\\t$navigateFromClientTop=\u003C\u003Cevent-navigateFromClientTop>>\\n\\t\\t$navigateFromClientLeft=\u003C\u003Cevent-navigateFromClientLeft>>\\n\\t\\t$navigateFromClientWidth=\u003C\u003Cevent-navigateFromClientWidth>>\\n\\t\\t$navigateFromClientRight=\u003C\u003Cevent-navigateFromClientRight>>\\n\\t\\t$navigateFromClientBottom=\u003C\u003Cevent-navigateFromClientBottom>>\\n\\t\\t$navigateFromClientHeight=\u003C\u003Cevent-navigateFromClientHeight>>\\n\\t\\t$navigateSuppressNavigation=\u003C\u003Cevent-navigateSuppressNavigation>>\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tm-cancel-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-cancel-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]get[draft.of]] ~[\u003Cevent-tiddlerTitle>get[draft.of]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-other-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [\u003Cevent-param>!is[blank]addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] ~[\u003Cevent-tiddlerTitle>addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-delete-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-delete-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-edit-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-edit-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]addprefix[Draft of ']addsuffix[']] ~[\u003Cevent-tiddlerTitle>addprefix[Draft of ']addsuffix[']] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-other-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-home-actions()\\n\\\\procedure actions() \u003C$action-log/>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-navigate-actions()\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C\u003Ctiddlyflex-navigate-story-river-actions>>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-import-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-import-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-new-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-new-tiddler \\\"tiddlerTitle type param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-perform-import-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-perform-import \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-save-tiddler-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-save-tiddler \\\"param\\\">>\\n\u003C%if [tdff.tiddlyflex-fullscreen[]!is[blank]] %>\\n\\t\u003C$vars from={{{ [\u003Cevent-param>!is[blank]] ~[\u003Cevent-tiddlerTitle>] }}} to={{{ [\u003Cevent-param>!is[blank]get[draft.title]] ~[\u003Cevent-tiddlerTitle>get[draft.title]] }}}>\\n\\t\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cfrom>] }}} to={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003Cto>] }}}/>\\n\\t\u003C/$vars>\\t\\n\u003C% endif %>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-unfold-all-tiddlers-actions()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-unfold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-tm-cancel-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-cancel-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-other-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-close-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-close-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-delete-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-delete-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-edit-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-edit-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-other-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-other-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-fold-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-fold-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-home-actions-outside()\\n\\\\procedure actions() \u003C$action-log/>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-navigate-actions-outside()\\n\u003C$set name=\\\"tiddlyFlexColumn\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}}>\\n\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions>>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-import-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-import-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-new-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-new-tiddler \\\"tiddlerTitle type param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-perform-import-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-perform-import \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-save-tiddler-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-save-tiddler \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-tm-unfold-all-tiddlers-actions-outside()\\n\\\\procedure actions() \u003C\u003Ctiddlyflex-tm-message-actions tm-unfold-all-tiddlers \\\"param\\\">>\\n\u003C$macrocall $name=\\\"tiddlyflex-tm-message-navigator-outside\\\" actions=\u003C\u003Cactions>>/>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/ensemble\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/ensemble\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\function tdff.tiddlyflex-ensemble-tiddler-not-contains-value-in-field() [[$(ensembleTiddler)$]substitute[]addprefix[$(tiddlyFlexPrefix)$]substitute[]addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[!contains:]] ${$(field)$}$ +[substitute[]] +[join[]] +[addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(value)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\define tiddlyflex-get-ensemble-overwrite-message()\\nThe ensemble \\\"$(ensembleTitle)$\\\" already exists.\\n\\nDo you want to overwrite it?\\n\\\\end\\n\\n\\\\procedure tiddlyflex-set-ensemble-configuration(tiddler,field:\\\"text\\\",value)\\n\\\\whitespace trim\\n\u003C$action-setfield $tiddler=\u003C\u003Ctiddler>> $field=\u003C\u003Cfield>> $value=\u003C\u003Cvalue>>/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-save-ensemble-actions-inner(ensembleTitle)\\n\\\\whitespace trim\\n\u003C$set name=\\\"ensembleTiddler\\\" value={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}}>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"layout\\\" value={{$:/layout}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"view\\\" value={{$:/view}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"horizontal\\\" value={{$:/config/tiddlyflex/story-river/horizontal}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-state\\\" value={{$:/state/sidebar}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"columns\\\" value={{$:/columns!!list}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"current-column\\\" value={{$:/columns!!current-column}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-width\\\" value={{$:/config/tiddlyflex/sidebar/width}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"drag-drop-animation-duration\\\" value={{$:/config/tiddlyflex/dragndrop/AnimationDuration}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"edit-missing-tiddlers\\\" value={{$:/config/tiddlyflex/navigation/edit-missing-tiddlers}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"sidebar-resizer\\\" value={{$:/config/tiddlyflex/sidebar/resizer}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"story-river-min-width\\\" value={{$:/config/tiddlyflex/story-river/min-width}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"box-shadow-spread\\\" value={{$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-controls-breakpoint\\\" value={{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-controls-breakpoint-sidebar\\\" value={{$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"follow-current-column\\\" value={{{ [{$:/config/tiddlyflex/story-river/follow-current-column}match[no]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-edit-preview-per-tiddler\\\" value={{$:/config/ShowEditPreview/PerTiddler}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-controls-hover\\\" value={{$:/config/tiddlyflex/story-river/tiddler/show-controls-hover}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"animation-curve\\\" value={{$:/config/tiddlyflex/story-river/animation-curve}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"story-river-padding\\\" value={{{ [[$:/config/tiddlyflex/story-river/padding]get[text]] ~[[]] }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"tiddler-margin-bottom\\\" value={{{ [[$:/config/tiddlyflex/story-river/tiddler/margin-bottom]get[text]] ~[[]] }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"palette\\\" value={{$:/palette}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field=\\\"show-top-right-bar\\\" value={{$:/config/tiddlyflex/show-top-right-bar}}/>\\n\\t\u003C$list filter=\\\"[list[$:/columns]]\\\" variable=\\\"column\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CensembleTiddler>> field={{{ [[story-list-]addsuffix\u003Ccolumn>] }}} value={{{ [[$:/StoryList-]addsuffix\u003Ccolumn>get[list]] ~[[]] }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopToolbar]!is[draft]]\\\" variable=\\\"topToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"top-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CtopToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/BottomToolbar]!is[draft]]\\\" variable=\\\"bottomToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"bottom-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CbottomToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/LeftToolbar]!is[draft]]\\\" variable=\\\"leftToolbarTiddler\\\">\\n\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\\\"left-toolbar-tiddler\\\" $subfilter=\\\"+[\u003CleftToolbarTiddler>]\\\"/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tags[]prefix[$:/tags/AboveStoryHeader-]]\\\" variable=\\\"aboveStoryHeaderTag\\\">\\n\\t\\t\u003C$set name=\\\"index\\\" value={{{ [\u003CaboveStoryHeaderTag>removeprefix[$:/tags/AboveStoryHeader-]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryHeaderTag>!is[draft]]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\u003C$vars field={{{ [[above-story-header-tiddler-]addsuffix\u003Cindex>] }}} value=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\u003C\u003Cfield>> $subfilter=\\\"+[\u003Cvalue>]\\\"/>\\n\\t\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tags[]prefix[$:/tags/BelowStoryFooter-]]\\\" variable=\\\"belowStoryFooterTag\\\">\\n\\t\\t\u003C$set name=\\\"index\\\" value={{{ [\u003CbelowStoryFooterTag>removeprefix[$:/tags/BelowStoryFooter-]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryFooterTag>!is[draft]]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\u003C$vars field={{{ [[below-story-footer-tiddler-]addsuffix\u003Cindex>] }}} value=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CensembleTiddler>> $field=\u003C\u003Cfield>> $subfilter=\\\"+[\u003Cvalue>]\\\"/>\\n\\t\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C$action-sendmessage $message=\\\"tm-auto-save-wiki\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-empty-ensemble-title-message()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-notify\\\" $param=\\\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\\\"/>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-overwrite-ensemble-message()\\n\\\\whitespace trim\\n\u003C$action-confirm $message=\u003C\u003Ctiddlyflex-get-ensemble-overwrite-message>>>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}}/>\\n\\t\u003C$action-setfield $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}} icon=\u003C\u003Cicon>>/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions-inner\\\" ensembleTitle=\u003C\u003CensembleTitle>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-save-ensemble-actions(ensembleTitle,icon)\\n\\\\whitespace trim\\n\u003C%if [\u003CensembleTitle>!is[blank]!match[]] %>\\n\\t\u003C%if [[$:/Ensemble/]addsuffix\u003CensembleTitle>is[missing]] %>\\n\\t\\t\u003C$action-setfield $tiddler={{{ [[$:/Ensemble/]addsuffix\u003CensembleTitle>] }}} icon=\u003C\u003Cicon>>/>\\n\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions-inner\\\" ensembleTitle=\u003C\u003CensembleTitle>>/>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-overwrite-ensemble-message>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-empty-ensemble-title-message>>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-load-ensemble-actions()\\n\\\\whitespace trim\\n\u003C%if [\u003CensembleTiddler>!is[missing]] %>\\n\\t\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/StoryList-]]\\\" variable=\\\"storyList\\\">\\n\\t\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CstoryList>>/>\\n\\t\u003C/$list>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/layout\\\" value={{{ [\u003CensembleTiddler>get[layout]] ~$:/plugins/BTC/TiddlyFlex/ui/Layout }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/view\\\" value={{{ [\u003CensembleTiddler>get[view]] ~tiddlyflex }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/state/sidebar\\\" value={{{ [\u003CensembleTiddler>get[sidebar-state]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/columns\\\" field=\\\"list\\\" value={{{ [\u003CensembleTiddler>get[columns]] ~1 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/columns\\\" field=\\\"current-column\\\" value={{{ [\u003CensembleTiddler>get[current-column]] ~1 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" value={{{ [\u003CensembleTiddler>get[horizontal]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/ShowEditPreview/PerTiddler\\\" value={{{ [\u003CensembleTiddler>get[show-edit-preview-per-tiddler]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/show-controls-hover\\\" value={{{ [\u003CensembleTiddler>get[show-controls-hover]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/animation-curve\\\" value={{{ [\u003CensembleTiddler>get[animation-curve]] ~linear }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/padding\\\" value={{{ [\u003CensembleTiddler>get[story-river-padding]] ~42px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/sidebar/width\\\" value={{{ [\u003CensembleTiddler>get[sidebar-width]] ~15% }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/dragndrop/AnimationDuration\\\" value={{{ [\u003CensembleTiddler>get[drag-drop-animation-duration]] ~175 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/navigation/edit-missing-tiddlers\\\" value={{{ [\u003CensembleTiddler>get[edit-missing-tiddlers]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/sidebar/resizer\\\" value={{{ [\u003CensembleTiddler>get[sidebar-resizer]] ~no }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/min-width\\\" value={{{ [\u003CensembleTiddler>get[story-river-min-width]] ~300px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/box-shadow-spread\\\" value={{{ [\u003CensembleTiddler>get[box-shadow-spread]] ~4px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint\\\" value={{{ [\u003CensembleTiddler>get[tiddler-controls-breakpoint]] ~4 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/controls-breakpoint-sidebar\\\" value={{{ [\u003CensembleTiddler>get[tiddler-controls-breakpoint-sidebar]] ~3 }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/tiddler/margin-bottom\\\" value={{{ [\u003CensembleTiddler>get[tiddler-margin-bottom]] ~28px }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/story-river/follow-current-column\\\" value={{{ [\u003CensembleTiddler>get[follow-current-column]] ~yes }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/palette\\\" value={{{ [\u003CensembleTiddler>get[palette]] ~$:/palettes/Vanilla }}}/>\\n\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\\\"$:/config/tiddlyflex/show-top-right-bar\\\" value={{{ [\u003CensembleTiddler>get[show-top-right-bar]] ~no }}}/>\\n\\t\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/Ensemble/]]\\\" variable=\\\"ensembleTiddler\\\">\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[stylesheets]] %>\\n\\t\\t\\t\u003C$set name=\\\"stylesheetsList\\\" value={{{ [\u003CensembleTiddler>get[stylesheets]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CstylesheetsList>]\\\" variable=\\\"stylesheetTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CstylesheetTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/Stylesheet\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[top-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"topbarsList\\\" value={{{ [\u003CensembleTiddler>get[top-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CtopbarsList>]\\\" variable=\\\"topbarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CtopbarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/TopToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[left-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"leftbarsList\\\" value={{{ [\u003CensembleTiddler>get[left-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CleftbarsList>]\\\" variable=\\\"leftbarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CleftbarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/LeftToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C%if [\u003CensembleTiddler>has[bottom-toolbar-tiddler]] %>\\n\\t\\t\\t\u003C$set name=\\\"bottombarsList\\\" value={{{ [\u003CensembleTiddler>get[bottom-toolbar-tiddler]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbottombarsList>]\\\" variable=\\\"bottombarTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbottombarTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param=\\\"$:/tags/BottomToolbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[above-story-header-tiddler-]]\\\" variable=\\\"aboveStoryHeaderField\\\">\\n\\t\\t\\t\u003C$vars aboveStoryHeaderList={{{ [\u003CensembleTiddler>get\u003CaboveStoryHeaderField>] }}} index={{{ [\u003CaboveStoryHeaderField>removeprefix[above-story-header-tiddler-]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CaboveStoryHeaderList>]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003Cindex>] }}}/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[below-story-footer-tiddler-]]\\\" variable=\\\"belowStoryFooterField\\\">\\n\\t\\t\\t\u003C$vars belowStoryFooterList={{{ [\u003CensembleTiddler>get\u003CbelowStoryFooterField>] }}} index={{{ [\u003CbelowStoryFooterField>removeprefix[below-story-footer-tiddler-]] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbelowStoryFooterList>]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-remove-tag\\\" $param={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003Cindex>] }}}/>\\n\\t\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$list>\\n\\t\u003C%if [\u003CensembleTiddler>has[stylesheets]] %>\\n\\t\\t\u003C$set name=\\\"stylesheetsList\\\" value={{{ [\u003CensembleTiddler>get[stylesheets]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CstylesheetsList>]\\\" variable=\\\"stylesheetTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CstylesheetTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/Stylesheet\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[top-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"topbarsList\\\" value={{{ [\u003CensembleTiddler>get[top-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CtopbarsList>]\\\" variable=\\\"topbarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CtopbarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/TopToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[bottom-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"bottombarsList\\\" value={{{ [\u003CensembleTiddler>get[bottom-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbottombarsList>]\\\" variable=\\\"bottombarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbottombarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/BottomToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C%if [\u003CensembleTiddler>has[left-toolbar-tiddler]] %>\\n\\t\\t\u003C$set name=\\\"leftbarsList\\\" value={{{ [\u003CensembleTiddler>get[left-toolbar-tiddler]] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CleftbarsList>]\\\" variable=\\\"leftbarTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CleftbarTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\\\"$:/tags/LeftToolbar\\\"/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C% endif %>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[above-story-header-tiddler-]]\\\" variable=\\\"aboveStoryHeaderField\\\">\\n\\t\\t\u003C$let aboveStoryHeaderList={{{ [\u003CensembleTiddler>get\u003CaboveStoryHeaderField>] }}} index={{{ [\u003CaboveStoryHeaderField>removeprefix[above-story-header-tiddler-]] }}} aboveStoryHeaderTag={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003Cindex>] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CaboveStoryHeaderList>]\\\" variable=\\\"aboveStoryHeaderTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CaboveStoryHeaderTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\u003C\u003CaboveStoryHeaderTag>>/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[below-story-footer-tiddler-]]\\\" variable=\\\"belowStoryFooterField\\\">\\n\\t\\t\u003C$let belowStoryFooterList={{{ [\u003CensembleTiddler>get\u003CbelowStoryFooterField>] }}} index={{{ [\u003CbelowStoryFooterField>removeprefix[below-story-footer-tiddler-]] }}} belowStoryFooterTag={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003Cindex>] }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[enlist\u003CbelowStoryFooterList>]\\\" variable=\\\"belowStoryFooterTiddler\\\">\\n\\t\\t\\t\\t\u003C$fieldmangler tiddler=\u003C\u003CbelowStoryFooterTiddler>>>\\n\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param=\u003C\u003CbelowStoryFooterTag>>/>\\n\\t\\t\\t\\t\u003C/$fieldmangler>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CensembleTiddler>fields[]prefix[story-list-]]\\\" variable=\\\"storyField\\\">\\n\\t\\t\u003C$let storyNumber={{{ [\u003CstoryField>removeprefix[story-list-]] }}} storyTitle={{{ [[$:/StoryList-]addsuffix\u003CstoryNumber>] }}}>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-set-ensemble-configuration\\\" tiddler=\u003C\u003CstoryTitle>> field=\\\"list\\\" value={{{ [\u003CensembleTiddler>get\u003CstoryField>] }}}/>\\n\\t\\t\u003C/$let>\\n\\t\u003C/$list>\\n\\t\u003C$action-deletetiddler $filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-ensemble(title)\\n\u003C$set name=\\\"ensembleTiddler\\\" value={{{ [[$:/Ensemble/]addsuffix\u003Ctitle>] }}}>\\n\u003C$button class=\\\"tc-btn-invisible\\\" actions=\u003C\u003Ctiddlyflex-load-ensemble-actions>>>\u003C$text text=\u003C\u003Ctitle>>/>\u003C/$button>\\n\u003C/$set>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/functions\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/functions\",\"list-before\":\"\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyFlexPrefix() [\\n\\\\procedure tiddlyFlexSuffix() ]\\n\\n\\\\function tdff.tiddlyflex-layout() [{$:/layout}match[$:/plugins/BTC/TiddlyFlex/ui/Layout]]\\n\\n\\\\function tdff.tiddlyflex-fullscreen() [all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] ~[[]]\\n\\n\\\\function tdff.tiddlyflex-current-column-filtered() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[count[]!match[1]] :then[subfilter\u003Ctdff.tiddlyflex-current-column-filtered-before>] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>] ~1\\n\\n\\\\function tdff.tiddlyflex-current-column-filtered-before() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] [{$:/columns!!current-column}] +[unique[]] +[nsort[]] +[before{$:/columns!!current-column}]\\n\\n\\\\function tdff.tiddlyflex-exclude-columns() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map:flat]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map:flat]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/temp/search/input}]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[else\u003CcurrentTiddler>removeprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[join]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[ ]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\function tdff.tiddlyflex-enlist-columns() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]] +[addsuffix[ ~1]]\\n\\n\\\\function tdff.tiddlyflex-enlist-columns-first() [[list]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/columns]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ :map]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>addprefix]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$:/StoryList-]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[get]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[list]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[enlist-input]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]addsuffix[limit]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[1]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ +]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[first]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]]\\n\\n\\\\function tiddlyflex-story-filter-fields() [fields[]] :intersection[[$:/config/tiddlyflex/story-river/filter/fields]get[text]!is[blank]!match[]split[,]] +[join[,]] ~[[*]]\\n\\n\\\\function tiddlyflex-story-filter-flags() [[$:/config/tiddlyflex/story-river/filter/flags]get[text]!is[blank]!match[]] ~[[words]]\\n\\n\\\\function tdff.tiddlyflex-story-river-filter-no-draft() [[list]addsuffix[\u003Ctv-story-list>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ ]addsuffix[:filter]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>!is]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[draft]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]] +[addsuffix[else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\\n\\n\\\\function tdff.tiddlyflex-story-river-filter() [[list]addsuffix[\u003Ctv-story-list>]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[ ]addsuffix[:filter]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[{$:/state/tiddlyflex/story-river/filter}match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]addsuffix[search:]] ${$(tiddlyflex-story-filter-fields)$}$ +[substitute[]] +[join[]] +[addsuffix[:]] ${$(tiddlyflex-story-filter-flags)$}$ +[substitute[]] +[join[]] +[addsuffix[{$:/temp/search/input}]] +[addsuffix[else{$:/state/tiddlyflex/story-river/filter}!match]addsuffix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[yes]addsuffix[$(tiddlyFlexSuffix)$]substitute[]addsuffix[then\u003CcurrentTiddler>]] +[addprefix[$(tiddlyFlexPrefix)$]substitute[]addsuffix[$(tiddlyFlexSuffix)$]substitute[]]\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/procedures\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/procedures\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-message-catcher(tiddlyflex-layout-inner)\\n\\\\function tiddlyflex-current-column() [\u003CtiddlyFlexColumn>]\\n\u003C$messagecatcher\\n\\t$tm-cancel-tiddler=\u003C\u003Ctiddlyflex-tm-cancel-tiddler-actions>>\\n\\t$tm-close-all-tiddlers=\u003C\u003Ctiddlyflex-tm-close-all-tiddlers-actions>>\\n\\t$tm-close-other-tiddlers=\u003C\u003Ctiddlyflex-tm-close-other-tiddlers-actions>>\\n\\t$tm-close-tiddler=\u003C\u003Ctiddlyflex-tm-close-tiddler-actions>>\\n\\t$tm-delete-tiddler=\u003C\u003Ctiddlyflex-tm-delete-tiddler-actions>>\\n\\t$tm-edit-tiddler=\u003C\u003Ctiddlyflex-tm-edit-tiddler-actions>>\\n\\t$tm-fold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-all-tiddlers-actions>>\\n\\t$tm-fold-other-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-other-tiddlers-actions>>\\n\\t$tm-fold-tiddler=\u003C\u003Ctiddlyflex-tm-fold-tiddler-actions>>\\n\\t$tm-home=\u003C\u003Ctiddlyflex-tm-home-actions>>\\n\\t$tm-import-tiddlers=\u003C\u003Ctiddlyflex-tm-import-tiddlers-actions>>\\n\\t$tm-navigate=\u003C\u003Ctiddlyflex-tm-navigate-actions>>\\n\\t$tm-new-tiddler=\u003C\u003Ctiddlyflex-tm-new-tiddler-actions>>\\n\\t$tm-perform-import=\u003C\u003Ctiddlyflex-tm-perform-import-actions>>\\n\\t$tm-save-tiddler=\u003C\u003Ctiddlyflex-tm-save-tiddler-actions>>\\n\\t$tm-unfold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-unfold-all-tiddlers-actions>>>\\n\\t\u003C\u003Ctiddlyflex-layout-inner>>\\n\u003C/$messagecatcher>\\n\\\\end\\n\\\\procedure tiddlyflex-message-catcher-outside(tiddlyflex-layout-inner)\\n\\\\function tiddlyflex-current-column() [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>]\\n\u003C$messagecatcher\\n\\t$tm-cancel-tiddler=\u003C\u003Ctiddlyflex-tm-cancel-tiddler-actions-outside>>\\n\\t$tm-close-all-tiddlers=\u003C\u003Ctiddlyflex-tm-close-all-tiddlers-actions-outside>>\\n\\t$tm-close-other-tiddlers=\u003C\u003Ctiddlyflex-tm-close-other-tiddlers-actions-outside>>\\n\\t$tm-close-tiddler=\u003C\u003Ctiddlyflex-tm-close-tiddler-actions-outside>>\\n\\t$tm-delete-tiddler=\u003C\u003Ctiddlyflex-tm-delete-tiddler-actions-outside>>\\n\\t$tm-edit-tiddler=\u003C\u003Ctiddlyflex-tm-edit-tiddler-actions-outside>>\\n\\t$tm-fold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-all-tiddlers-actions-outside>>\\n\\t$tm-fold-other-tiddlers=\u003C\u003Ctiddlyflex-tm-fold-other-tiddlers-actions-outside>>\\n\\t$tm-fold-tiddler=\u003C\u003Ctiddlyflex-tm-fold-tiddler-actions-outside>>\\n\\t$tm-home=\u003C\u003Ctiddlyflex-tm-home-actions-outside>>\\n\\t$tm-import-tiddlers=\u003C\u003Ctiddlyflex-tm-import-tiddlers-actions-outside>>\\n\\t$tm-navigate=\u003C\u003Ctiddlyflex-tm-navigate-actions-outside>>\\n\\t$tm-new-tiddler=\u003C\u003Ctiddlyflex-tm-new-tiddler-actions-outside>>\\n\\t$tm-perform-import=\u003C\u003Ctiddlyflex-tm-perform-import-actions-outside>>\\n\\t$tm-save-tiddler=\u003C\u003Ctiddlyflex-tm-save-tiddler-actions-outside>>\\n\\t$tm-unfold-all-tiddlers=\u003C\u003Ctiddlyflex-tm-unfold-all-tiddlers-actions-outside>>>\\n\\t\u003C\u003Ctiddlyflex-layout-inner>>\\n\u003C/$messagecatcher>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/sidebar-resizer\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/sidebar-resizer\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-sidebar-resizer-pointerdown-actions()\\n\u003C%if [[$:/state/sidebar/resizing]is[missing]then\u003Cevent-mousebutton>match[left]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/resizing\\\" text=\\\"yes\\\"/>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" starting-posx=\u003C\u003Cevent-fromcatcher-posx>> drag-diff=\u003C\u003Cevent-fromselected-posx>> selectednode-width=\u003C\u003Ctv-selectednode-width>> widgetnode-width=\u003C\u003Ctv-widgetnode-width>> text=\u003C\u003Cevent-fromcatcher-posx>> column-count={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]] }}} leftbar-width={{{ [\u003Cevent-fromviewport-posx>subtract\u003Cevent-fromcatcher-posx>] }}}/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-sidebar-resizer-pointerup-actions()\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/sidebar/resizing\\\"/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-sidebar-resizer-pointermove-actions()\\n\u003C%if [[$:/state/sidebar/resizing]!is[missing]] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" text=\u003C\u003Cevent-fromcatcher-posx>>/>\\n\\t\u003C%if [\u003Cevent-fromcatcher-posx>compare:number:lt{$:/state/sidebar/posx!!starting-posx}] %>\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/sidebar/posx\\\" starting-posx=\u003C\u003Cevent-fromcatcher-posx>>/>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/layout/templates\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/layout/templates\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tdfp-tiddlyflex-edit-template()\\n\\\\whitespace trim\\n\u003Cdiv\\n\\tdata-tiddler-title=\u003C\u003CcurrentTiddler>>\\n\\tdata-tags={{!!tags}}\\n\\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]addprefix[tc-tiddlyflex-column-]] tc-tiddler-edit-frame [\u003CcurrentTiddler>is[tiddler]then[tc-tiddler-exists]] [\u003CcurrentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [\u003CcurrentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [\u003CcurrentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [\u003CcurrentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\\n\\trole=\\\"region\\\"\\n\\taria-label={{$:/language/EditTemplate/Caption}}>\\n\\t\u003C$fieldmangler>\\n\\t\\t\u003C$tiddlyflex-draggable enable={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>is[missing]then[yes]] ~[[no]] }}} tiddler=\u003C\u003CcurrentTiddler>> startactions=\u003C\u003Ctiddlyflex-drag-start-actions>> endactions=\u003C\u003Ctiddlyflex-drag-end-actions>> class=\\\"tc-tiddler-frame\\\">\\n\\t\\t\\t\u003C$vars\\n\\t\\t\\t\\tstoryTiddler=\u003C\u003CcurrentTiddler>>\\n\\t\\t\\t\\tnewTagNameTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName\\\">>\\n\\t\\t\\t\\tnewFieldNameTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName\\\">>\\n\\t\\t\\t\\tnewFieldValueTiddlerPrefix=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">>\\n\\t\\t\\t\\tnewFieldNameInputTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName/input\\\">>\\n\\t\\t\\t\\tnewFieldNameSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/NewFieldName/selected-item\\\">>\\n\\t\\t\\t\\tnewTagNameInputTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName/input\\\">>\\n\\t\\t\\t\\tnewTagNameSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/NewTagName/selected-item\\\">>\\n\\t\\t\\t\\ttypeInputTiddler=\u003C\u003Cqualify \\\"$:/temp/Type/input\\\">>\\n\\t\\t\\t\\ttypeSelectionTiddler=\u003C\u003Cqualify \\\"$:/temp/Type/selected-item\\\">>>\\n\\t\\t\\t\\t\u003C$keyboard key=\\\"((cancel-edit-tiddler))\\\" actions=\u003C\u003Ccancel-delete-tiddler-actions \\\"cancel\\\">> tag=\\\"div\\\">\\n\\t\\t\\t\\t\\t\u003C$keyboard key=\\\"((save-tiddler))\\\" actions=\u003C\u003Csave-tiddler-actions>> tag=\\\"div\\\">\\n\\t\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\\t\\t\u003C/$keyboard>\\n\\t\\t\\t\\t\u003C/$keyboard>\\n\\t\\t\\t\u003C/$vars>\\n\\t\\t\\t\u003C% if [{$:/state/dragging}match[yes]then{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/story-river/full-screen/]addsuffix\u003CcurrentTiddler>is[missing]] %>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-top-half\\\" actions=\u003C\u003Ctiddlyflex-top-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-top-dragenter-actions>>/>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-bottom-half\\\" actions=\u003C\u003Ctiddlyflex-bottom-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-bottom-dragenter-actions>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$tiddlyflex-draggable>\\n\\t\u003C/$fieldmangler>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-preview-type-button()\\n\\\\whitespace trim\\n\u003C$button tag=\\\"a\\\">\\n\\n\u003C$action-setfield $tiddler=\\\"$:/state/editpreviewtype\\\" $value={{{ [[$(previewType)$]substitute[]] }}}/>\\n\\n\u003C$action-deletetiddler\\n\\t$tiddler=\u003C\u003Cdropdown-state>>\\n/>\\n\\n\u003C$transclude tiddler=\u003C\u003CpreviewType>> field=\\\"caption\\\" mode=\\\"inline\\\">\\n\\n\u003C$view tiddler=\u003C\u003CpreviewType>> field=\\\"title\\\" mode=\\\"inline\\\"/>\\n\\n\u003C/$transclude> \\n\\n\u003C$reveal tag=\\\"span\\\" state=\\\"$:/state/editpreviewtype\\\" type=\\\"match\\\" text=\u003C\u003CpreviewType>> default={{{ [tdff.tiddlyflex-layout[]then[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output]else[$:/core/ui/EditTemplate/body/preview/output]] }}}>\\n\\n\u003C$entity entity=\\\" \\\"/>\\n\\n\u003C$entity entity=\\\"✓\\\"/>\\n\\n\u003C/$reveal>\\n\\n\u003C/$button>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-editortoolbar-preview-type-dropdown()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!is[draft]] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplatePreviewFilter]!is[draft]get[text]]\\\" variable=\\\"previewType\\\">\\n\\n\u003C\u003Ctiddlyflex-preview-type-button>>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-diffs-current()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n\u003C$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=\u003C\u003CcurrentTiddler>>/>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-diffs-shadow()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[\u003CcurrentTiddler>!is[image]]\\\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\\n\\n\u003C$macrocall $name=\\\"compareTiddlerText\\\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=\u003C\u003CcurrentTiddler>>/>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-preview-output()\\n\\\\whitespace trim\\n\u003C$set name=\\\"tv-tiddler-preview\\\" value=\\\"yes\\\">\\n\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]] }}} />\\n\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body()\\n\\\\whitespace trim\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body-default()\\n\\\\whitespace trim\\n\u003C$let\\n\\tqualified-preview-state=\u003C\u003Cqualify \\\"$:/state/showeditpreview\\\">>\\n\\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[\u003Cqualified-preview-state>] }}}\\n\\timportTitle=\u003C\u003Cqualify $:/ImportImage>>\\n\\timportState=\u003C\u003Cqualify $:/state/ImportImage>> >\\n\u003C$dropzone importTitle=\u003C\u003CimportTitle>> autoOpenOnImport=\\\"no\\\" contentTypesFilter={{$:/config/Editor/ImportContentTypesFilter}} class=\\\"tc-dropzone-editor\\\" enable={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}} filesOnly=\\\"yes\\\" actions=\u003C\u003CimportFileActions>> >\\n\u003Cdiv>\\n\u003Cdiv class={{{ [\u003Cedit-preview-state>match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\\n\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\\\" mode=\\\"inline\\\"/>\\n\\n\u003C%if [\u003CeditPreviewStateTiddler>get[text]match[yes]] %>\\n\\n\u003Cdiv class=\\\"tc-tiddler-preview-preview\\\" data-tiddler-title={{!!draft.title}} data-tags={{!!tags}}>\\n\\n\u003C$transclude tiddler={{$:/state/editpreviewtype}} mode=\\\"inline\\\">\\n\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\\\" mode=\\\"inline\\\"/>\\n\\n\u003C/$transclude>\\n\\n\u003C/div>\\n\\n\u003C% endif %>\\n\\n\u003C/div>\\n\\n\u003C/div>\\n\\n\u003C/$dropzone>\\n\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tdfp-tiddlyflex-edittemplate-canonical-uri()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo External/Hint>>\\n\\n\u003Ca href={{!!_canonical_uri}}>\u003C$text text={{!!_canonical_uri}}/>\u003C/a>\\n\\n\u003C$edit-text field=\\\"_canonical_uri\\\" class=\\\"tc-edit-fields\\\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\u003C/$edit-text>\\n\\n\u003C/div>\\n\\\\end\\n\\\\procedure tdfp-tiddlyflex-edittemplate-body-editor()\\n\\\\whitespace trim\\n\u003C$edit\\n\\n field=\\\"text\\\"\\n class=\\\"tc-edit-texteditor tc-edit-texteditor-body\\\"\\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\\n tabindex={{$:/config/EditTabIndex}}\\n focus={{{ [{$:/config/AutoFocus}match[text]then[true]] ~[[false]] }}}\\n cancelPopups=\\\"yes\\\"\\n fileDrop={{{ [{$:/config/DragAndDrop/Enable}match[no]] :else[subfilter{$:/config/Editor/EnableImportFilter}then[yes]else[no]] }}}\\n type={{!!type}}\\n\\n>\u003C$set\\n\\n name=\\\"targetTiddler\\\"\\n value=\u003C\u003CcurrentTiddler>>\\n\\n>\u003C$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\\\"\\n\\n>\u003C%if [\u003Cconfig-visibility-title>!match[hide]] %>\u003Cspan class=\\\"tc-text-editor-toolbar-item-wrapper\\\">\u003C$transclude\\n\\n tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\\\"\\n mode=\\\"inline\\\"\\n\\n/>\u003C/span>\u003C% endif %>\u003C/$list>\u003C$list\\n\\n filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\\\"\\n\\n>\u003C$list\\n\\tfilter={{!!condition}}\\n\\tvariable=\\\"list-condition\\\"\\n>\u003C$transclude/>\\n\u003C/$list>\u003C/$list>\u003C/$set>\u003C/$edit>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-controls()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-title tc-tiddler-edit-title\\\">\\n\\t\u003C$view field=\\\"title\\\"/>\\n\\t\u003Cspan class=\\\"tc-tiddler-controls tc-titlebar\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\u003C$let tv-config-toolbar-class={{{ [enlist\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\\n\\t\\t\\t\\t\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003Cconfig-title>> text=\\\"hide\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude $tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$reveal>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\u003C/span>\\n\\t\u003Cdiv style=\\\"clear: both;\\\">\u003C/div>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fieldeditor-default()\\n\\\\whitespace trim\\n\u003C$edit-text tiddler=\u003C\u003CcurrentTiddler>> field=\u003C\u003CcurrentField>> tag=\\\"input\\\" default=\\\"\\\" class=\\\"tc-edit-texteditor tc-edit-fieldeditor\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields-add-field-dropdown()\\n\\\\whitespace trim\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n\u003Cdiv class=\\\"tc-block-dropdown tc-edit-type-dropdown\\\">\\n\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\u003C$linkcatcher to=\u003C\u003CnewFieldNameTiddler>>>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C\u003Clingo Fields/Add/Dropdown/User>>\\n\u003C/div>\\n\u003C$set name=\\\"newFieldName\\\" value={{{ [\u003CstoreTitle>get[text]] }}}>\\n\u003C$list filter=\\\"[!is[shadow]!is[system]fields[]search:title\u003CnewFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\\\" variable=\\\"currentField\\\">\\n\u003C$list filter=\\\"[\u003CcurrentField>addsuffix[-primaryList]] -[\u003CsearchListState>get[text]]\\\" emptyMessage=\\\"\\\"\\\"\u003C$link to=\u003C\u003CcurrentField>> class=\\\"tc-list-item-selected\\\">\u003C$text text=\u003C\u003CcurrentField>>/>\u003C/$link>\\\"\\\"\\\">\\n\u003C$link to=\u003C\u003CcurrentField>>>\\n\u003C$text text=\u003C\u003CcurrentField>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$list>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C\u003Clingo Fields/Add/Dropdown/System>>\\n\u003C/div>\\n\u003C$list filter=\\\"[fields[]search:title\u003CnewFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\\\" variable=\\\"currentField\\\">\\n\u003C$list filter=\\\"[\u003CcurrentField>addsuffix[-secondaryList]] -[\u003CsearchListState>get[text]]\\\" emptyMessage=\\\"\\\"\\\"\u003C$link to=\u003C\u003CcurrentField>> class=\\\"tc-list-item-selected\\\">\u003C$text text=\u003C\u003CcurrentField>>/>\u003C/$link>\\\"\\\"\\\">\\n\u003C$link to=\u003C\u003CcurrentField>>>\\n\u003C$text text=\u003C\u003CcurrentField>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/$set>\\n\u003C/$linkcatcher>\\n\u003C/$set>\\n\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields-add-field()\\n\\\\whitespace trim\\n\u003C$fieldmangler>\\n\u003Cdiv class=\\\"tc-edit-field-add\\\">\\n\u003Cem class=\\\"tc-edit tc-small-gap-right\\\">\\n\u003C\u003Clingo Fields/Add/Prompt>>\\n\u003C/em>\\n\u003C$vars refreshTitle=\u003C\u003Cqualify \\\"$:/temp/fieldname/refresh\\\">> storeTitle=\u003C\u003CnewFieldNameInputTiddler>> searchListState=\u003C\u003CnewFieldNameSelectionTiddler>>>\\n\u003Cdiv class=\\\"tc-edit-field-add-name-wrapper\\\">\\n\u003C$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=\u003C\u003CnewFieldNameTiddler>> storeTitle=\u003C\u003CstoreTitle>> refreshTitle=\u003C\u003CrefreshTitle>>\\n\\t\\tselectionStateTitle=\u003C\u003CsearchListState>> tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\\n\\t\\tfocusPopup=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> class=\\\"tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}}\\n\\t\\tfocus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\"\\n\\t\\tconfigTiddlerFilter=\\\"[[$:/config/EditMode/fieldname-filter]]\\\" inputCancelActions=\u003C\u003Ccancel-search-actions>> />\\n\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/field-dropdown\\\">> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\u003C/$button>\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields-add-field-dropdown>>\\n\u003C/div>\\n\u003C$let currentTiddlerCSSescaped={{{ [\u003CcurrentTiddler>escapecss[]] }}} currentTiddler={{{ [subfilter\u003Cget-field-value-tiddler-filter>] }}} currentField=\\\"text\\\" currentFieldName={{{ [\u003CnewFieldNameTiddler>get[text]] }}}>\\n\u003Cspan class=\\\"tc-edit-field-add-value tc-small-gap-right\\\">\\n\u003C$keyboard key=\\\"((add-field))\\\" actions=\u003C\u003Cnew-field-actions>>>\\n\u003C$transclude tiddler={{{ [subfilter\u003Cget-field-editor-filter>] }}} />\\n\u003C/$keyboard>\\n\u003C/span>\\n\u003Cspan class=\\\"tc-edit-field-add-button\\\">\\n\u003C$macrocall $name=\\\"new-field\\\"/>\\n\u003C/span>\\n\u003C/$let>\\n\u003C/$vars>\\n\u003C/div>\\n\u003C/$fieldmangler>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-fields()\\n\\\\whitespace trim\\n\u003C$set name=\\\"newFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\u003Cdiv class=\\\"tc-edit-fields\\\">\\n\u003Ctable class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>\\n\u003Ctbody>\\n\u003C$list filter=\\\"[all[current]fields[]] +[sort[title]]\\\" variable=\\\"currentField\\\" storyview=\\\"pop\\\">\\n\u003C$list filter=\u003C\u003Cconfig-filter>> variable=\\\"temp\\\">\\n\u003Ctr class=\\\"tc-edit-field\\\">\\n\u003Ctd class=\\\"tc-edit-field-name\\\">\\n\u003C$text text=\u003C\u003CcurrentField>>/>:\u003C/td>\\n\u003Ctd class=\\\"tc-edit-field-value\\\">\\n\u003C$keyboard key=\\\"((delete-field))\\\" actions=\\\"\\\"\\\"\u003C$action-deletefield $field=\u003C\u003CcurrentField>>/>\u003C$set name=\\\"currentTiddlerCSSescaped\\\" value={{{ [\u003CcurrentTiddler>escapecss[]] }}}>\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003Ccurrent-tiddler-new-field-selector>>/>\u003C/$set>\\\"\\\"\\\">\\n\u003C$transclude tiddler={{{ [\u003CcurrentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default}] }}} />\\n\u003C/$keyboard>\\n\u003C/td>\\n\u003Ctd class=\\\"tc-edit-field-remove\\\">\\n\u003C$button class=\\\"tc-btn-invisible\\\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\\n\u003C$action-deletefield $field=\u003C\u003CcurrentField>>/>\\n{{$:/core/images/delete-button}}\\n\u003C/$button>\\n\u003C/td>\\n\u003C/tr>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/tbody>\\n\u003C/table>\\n\u003C/div>\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields-add-field>>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-shadow()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\\\">\\n\\n\u003C$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n\u003C$set name=\\\"pluginLink\\\" value=\u003C\u003CpluginLinkBody>>>\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo Warning>>\\n\\n\u003C/div>\\n\u003C/$set>\\n\u003C/$list>\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[all[current]get[draft.of]is[shadow]is[tiddler]]\\\">\\n\\n\u003C$list filter=\\\"[all[current]shadowsource[]]\\\" variable=\\\"pluginTitle\\\">\\n\\n\u003C$set name=\\\"pluginLink\\\" value=\u003C\u003CpluginLinkBody>>>\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo OverriddenWarning>>\\n\\n\u003C/div>\\n\u003C/$set>\\n\u003C/$list>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-title()\\n\\\\whitespace trim\\n\u003C$edit-text field=\\\"draft.title\\\" class=\\\"tc-titlebar tc-edit-texteditor\\\" focus={{{ [{$:/config/AutoFocus}match[title]then[true]] ~[[false]] }}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\"/>\\n\\n\u003C$vars pattern=\\\"\\\"\\\"[\\\\|\\\\[\\\\]{}]\\\"\\\"\\\" bad-chars=\\\"\\\"\\\"`| [ ] { }`\\\"\\\"\\\">\\n\\n\u003C$list filter=\\\"[all[current]regexp:draft.title\u003Cpattern>]\\\" variable=\\\"listItem\\\">\\n\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\n\u003C/$vars>\\n\\n\u003C$reveal state=\\\"!!draft.title\\\" type=\\\"nomatch\\\" text={{!!draft.of}} tag=\\\"div\\\">\\n\\n\u003C$list filter=\\\"[{!!draft.title}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}: \u003C$link to={{!!draft.title}} />\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\n\u003C$list filter=\\\"[{!!draft.of}!is[missing]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\\n\\n\u003C$checkbox tiddler=\\\"$:/config/RelinkOnRename\\\" field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" default=\\\"no\\\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}\u003C/$checkbox>\\n\\n\u003C$list filter=\\\"[title\u003CfromTitle>backlinks[]limit[1]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$vars stateTiddler=\u003C\u003Cqualify \\\"$:/state/edit/references\\\">> >\\n\\n\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$button set=\u003C\u003CstateTiddler>> setTo=\\\"show\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/right-arrow}}\\n \\n\u003C\u003Clingo EditTemplate/Title/References/Prompt>>\u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$button set=\u003C\u003CstateTiddler>> setTo=\\\"hide\\\" class=\\\"tc-btn-invisible\\\">\\n{{$:/core/images/down-arrow}}\\n \\n\u003C\u003Clingo EditTemplate/Title/References/Prompt>>\u003C/$button>\\n\u003C/$reveal>\\n\\n\u003C$reveal type=\\\"match\\\" state=\u003C\u003CstateTiddler>> text=\\\"show\\\">\\n\u003C$tiddler tiddler=\u003C\u003CfromTitle>> >\\n\u003C$transclude tiddler=\\\"$:/core/ui/TiddlerInfo/References\\\"/>\\n\u003C/$tiddler>\\n\u003C/$reveal>\\n\\n\u003C/$vars>\\n\\n\u003C/$list>\\n\\n\u003C/$vars>\\n\\n\u003C/$list>\\n\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-edittemplate-type()\\n\\\\whitespace trim\\n\u003C$set name=\\\"refreshTitle\\\" value=\u003C\u003Cqualify \\\"$:/temp/type-search/refresh\\\">>>\\n\u003Cdiv class=\\\"tc-edit-type-selector-wrapper\\\">\\n\u003Cem class=\\\"tc-edit tc-small-gap-right\\\">\u003C\u003Clingo Type/Prompt>>\u003C/em>\\n\u003Cdiv class=\\\"tc-type-selector-dropdown-wrapper\\\">\\n\u003Cdiv class=\\\"tc-type-selector\\\">\u003C$fieldmangler>\\n\u003C$macrocall $name=\\\"keyboard-driven-input\\\" tiddler=\u003C\u003CcurrentTiddler>> storeTitle=\u003C\u003CtypeInputTiddler>> refreshTitle=\u003C\u003CrefreshTitle>> selectionStateTitle=\u003C\u003CtypeSelectionTiddler>> field=\\\"type\\\" tag=\\\"input\\\" default=\\\"\\\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> class=\\\"tc-edit-typeeditor tc-edit-texteditor tc-popup-handle\\\" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups=\\\"yes\\\" configTiddlerFilter=\\\"[[$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type]]\\\" inputCancelActions=\u003C\u003Cinput-cancel-actions>>/>\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> class=\\\"tc-btn-invisible tc-btn-dropdown tc-small-gap\\\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}\u003C/$button>\u003C$button message=\\\"tm-remove-field\\\" param=\\\"type\\\" class=\\\"tc-btn-invisible tc-btn-icon\\\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}\u003C$action-deletetiddler $filter=\\\"[\u003CtypeInputTiddler>] [\u003CstoreTitle>] [\u003CrefreshTitle>] [\u003CselectionStateTitle>]\\\"/>\u003C/$button>\\n\u003C/$fieldmangler>\u003C/div>\\n\\n\u003Cdiv class=\\\"tc-block-dropdown-wrapper\\\">\\n\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/type-dropdown\\\">> type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\">\\n\u003Cdiv class=\\\"tc-block-dropdown tc-edit-type-dropdown\\\">\\n\u003C$linkcatcher to=\\\"!!type\\\">\\n\u003C$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\\n\u003Cdiv class=\\\"tc-dropdown-item\\\">\\n\u003C$text text={{!!group}}/>\\n\u003C/div>\\n\u003C$set name=\\\"userInput\\\" value={{{ [\u003CtypeInputTiddler>get[text]] }}}>\\n\u003C$list filter=\\\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search\u003CuserInput>]\\\">\u003Cspan class={{{ [\u003CcurrentTiddler>addsuffix[-primaryList]] -[\u003CtypeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}>\u003C$link to={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}>\u003C$view tiddler={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\\\"description\\\"/>\u003C$text text=\\\" \\\"/>(\u003C$view tiddler={{{ [\u003CcurrentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\\\"name\\\"/>)\u003C/$link>\u003C/span>\\n\u003C/$list>\\n\u003C/$set>\\n\u003C/$list>\\n\u003C/$linkcatcher>\\n\u003C/div>\\n\u003C/$reveal>\\n\u003C/$set>\\n\u003C/div>\\n\u003C/div>\\n\u003C/div>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"foregroundColor\\\"\\n\\ttext=\\\"\\\"\\\"\u003C$macrocall $name=\\\"contrastcolour\\\"\\n\\t\\ttarget=\u003C\u003Ccolour>>\\n\\t\\tfallbackTarget=\u003C\u003CfallbackTarget>>\\n\\t\\tcolourA=\u003C\u003CcolourA>>\\n\\t\\tcolourB=\u003C\u003CcolourB>>/>\\n\\t\\\"\\\"\\\"\\n>\\n\\t\u003C$let backgroundColor=\u003C\u003Ccolour>> >\\n\\t\\t\u003Cspan class=\\\"tc-tag-label tc-tag-list-item tc-small-gap-right\\\"\\n\\t\\t\\tdata-tag-title=\u003C\u003CcurrentTiddler>>\\n\\t\\t\\tstyle.color=\u003C\u003CforegroundColor>>\\n\\t\\t\\tstyle.fill=\u003C\u003CforegroundColor>>\\n\\t\\t\\tstyle.background-color=\u003C\u003CbackgroundColor>>\\n\\t\\t>\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003Cicon>>/>\\n\\t\\t\\t\u003C$view field=\\\"title\\\" format=\\\"text\\\"/>\\n\\t\\t\\t\u003C$button class=\\\"tc-btn-invisible tc-remove-tag-button\\\"\\n\\t\\t\\t\\tstyle.fill=\u003C\u003CforegroundColor>>\\n\\t\\t\\t>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003CsaveTiddler>> $field=\u003C\u003CtagField>> $subfilter=\\\"-[{!!title}]\\\"/>\\n\\t\\t\\t\\t{{$:/core/images/close-button}}\\n\\t\\t\\t\u003C/$button>\\n\\t\\t\u003C/span>\\n\\t\u003C/$let>\\n\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure tag-body(colour,palette,icon,tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003C$macrocall $name=\\\"tag-body-inner\\\"\\n\\tcolour=`$(colour)$`\\n\\tcolourA={{{ [\u003Cpalette>getindex[foreground]] }}}\\n\\tcolourB={{{ [\u003Cpalette>getindex[background]] }}}\\n\\tfallbackTarget={{{ [\u003Cpalette>getindex[tag-background]] }}}\\n\\ticon=\u003C\u003Cicon>>\\n\\ttagField=\u003C\u003CtagField>>\\n/>\\n\\\\end\\n\\n\\\\procedure edit-tags-template(tagField:\\\"tags\\\")\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-edit-tags\\\">\\n\\t\u003C$list filter=\\\"[\u003CcurrentTiddler>get\u003CtagField>enlist-input[]sort[title]]\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tag-body\\\"\\n\\t\\t\\tcolour={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\\n\\t\\t\\tpalette={{$:/palette}}\\n\\t\\t\\ticon={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\\n\\t\\t\\ttagField=\u003C\u003CtagField>>\\n\\t\\t/>\\n\\t\u003C/$list>\\n\\t\u003C$let tabIndex={{$:/config/EditTabIndex}} cancelPopups=\\\"yes\\\">\\n\\t\\t\u003C$macrocall $name=\\\"tag-picker\\\" tagField=\u003C\u003CtagField>>/>\\n\\t\u003C/$let>\\n\u003C/div>\\n\\\\end\\n\\\\procedure toolbar-button-icon()\\n\\\\whitespace trim\\n\u003C$list\\n\\n filter=\\\"[all[current]!has[custom-icon]]\\\"\\n variable=\\\"no-custom-icon\\\"\\n\\n>\u003C$transclude\\n\\n tiddler={{!!icon}}\\n\\n/>\u003C/$list>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-dropdown()\\n\\\\whitespace trim\\n\u003C$reveal\\n\\n state=\u003C\u003Cdropdown-state>>\\n type=\\\"popup\\\"\\n position=\\\"below\\\"\\n animate=\\\"yes\\\"\\n retain=\\\"yes\\\"\\n tag=\\\"span\\\"\\n\\n>\u003Cdiv\\n\\n class=\\\"tc-drop-down tc-popup-keep\\\"\\n\\n>\u003C$transclude\\n\\n tiddler={{!!dropdown}}\\n mode=\\\"block\\\"\\n\\n/>\u003C/div>\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-dropdown-button()\\n\\\\whitespace trim\\n\u003C$button\\n\\n popup=\u003C\u003Cdropdown-state>>\\n class={{{ tc-popup-keep tc-btn-invisible [[$(buttonClasses)$]substitute[]] +[join[ ]] }}}\\n selectedClass=\\\"tc-selected\\\"\\n tooltip=\u003C\u003Ctooltip-text>>\\n actions={{!!actions}}\\n disabled=\u003C\u003Cdisabled>>\\n\\n>\u003Cspan\\n\\n data-tw-keyboard-shortcut={{{ [\u003Cdisabled>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/>\u003C\u003Ctoolbar-button-icon>>\u003C$transclude\\n\\n tiddler=\u003C\u003CcurrentTiddler>>\\n field=\\\"text\\\"\\n\\n/>\u003C/$button>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified-button()\\n\\\\whitespace trim\\n\u003C$button\\n\\n class={{{ tc-btn-invisible [[$(buttonClasses)$]substitute[]] +[join[ ]] }}}\\n tooltip=\u003C\u003Ctooltip-text>>\\n actions={{!!actions}}\\n disabled=\u003C\u003Cdisabled>>\\n\\n>\u003Cspan\\n\\n data-tw-keyboard-shortcut={{{ [\u003Cdisabled>match[yes]then[]else{!!shortcuts}] }}}\\n\\n/>\u003C\u003Ctoolbar-button-icon>>\u003C$transclude\\n\\n tiddler=\u003C\u003CcurrentTiddler>>\\n field=\\\"text\\\"\\n\\n/>\u003C/$button>\\n\\\\end\\n\\n\\\\procedure toolbar-button-wikified()\\n\\\\whitespace trim\\n\u003C$wikify\\n\\n name=\\\"tooltip-text\\\"\\n text=\u003C\u003Ctoolbar-button-tooltip>>\\n mode=\\\"inline\\\"\\n output=\\\"text\\\"\\n\\n>\u003C$list\\n\\n filter=\\\"[all[current]!has[dropdown]]\\\"\\n variable=\\\"no-dropdown\\\"\\n\\n>\u003C$set name=disabled filter={{!!condition-disabled}}>\u003C\u003Ctoolbar-button-wikified-button>>\u003C/$set>\u003C/$list>\u003C$list\\n\\n filter=\\\"[all[current]has[dropdown]]\\\"\\n variable=\\\"dropdown\\\"\\n\\n>\u003C$set\\n\\n name=\\\"dropdown-state\\\"\\n value=\u003C\u003Cqualify \\\"$:/state/EditorToolbarDropdown\\\">>\\n\\n>\u003C$set name=disabled filter={{!!condition-disabled}}>\u003C\u003Ctoolbar-button-wikified-dropdown-button>>\u003C/$set>\u003C\u003Ctoolbar-button-wikified-dropdown>>\u003C/$set>\u003C/$list>\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure toolbar-button-tooltip()\\n\\\\whitespace trim\\n{{!!description}}\u003C$macrocall $name=\\\"displayshortcuts\\\" $output=\\\"text/plain\\\" shortcuts={{!!shortcuts}} prefix=\\\"` - [\\\" separator=\\\"] [\\\" suffix=\\\"]`\\\"/>\\n\\\\end\\n\\n\\\\procedure toolbar-button()\\n\\\\whitespace trim\\n\u003C$list\\n\\n filter={{!!condition}}\\n variable=\\\"list-condition\\\"\\n\\n>\u003C\u003Ctoolbar-button-wikified>>\u003C/$list>\\n\\\\end\\n\\n\\\\procedure toolbar-button-outer()\\n\\\\whitespace trim\\n\u003C$set\\n\\n name=\\\"buttonClasses\\\"\\n value={{!!button-classes}}\\n\\n>\u003C\u003Ctoolbar-button>>\u003C/$set>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-code()\\n\\\\whitespace trim\\n\u003C$codeblock code={{{ [\u003CcurrentTiddler>get[text]] }}} language={{{ [\u003CcurrentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-default()\\n\\\\whitespace trim\\n\u003C$transclude>\\n\\n\u003C$transclude tiddler=\\\"$:/language/MissingTiddler/Hint\\\"/>\\n\\n\u003C/$transclude>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-import()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]field:plugin-type[import]]\\\">\\n\\n\u003Cdiv class=\\\"tc-import\\\">\\n\\n\u003C\u003Clingo Listing/Hint>>\\n\\n\u003C\u003Cbuttons>>\\n\\n{{||$:/core/ui/ImportListing}}\\n\\n\u003C\u003Cbuttons>>\\n\\n\u003C/div>\\n\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-plugin()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-plugin-info\\\">\\n\u003C$let plugin-type={{!!plugin-type}}\\n\\tdefault-popup-state=\\\"yes\\\"\\n\\tqualified-state=\u003C\u003Cqualify \\\"$:/state/plugin-info\\\">>\\n>\\n{{||$:/core/ui/Components/plugin-info}}\\n\u003C/$let>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body-rendered-plain-text()\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"text\\\" text={{!!text}} type={{!!type}}>\\n\u003C$codeblock code=\u003C\u003Ctext>> language=\\\"css\\\"/>\\n\u003C/$wikify>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-body()\\n\\\\whitespace trim\\n\u003C$reveal tag=\\\"div\\\" class=\\\"tc-tiddler-body\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\\n\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default]] }}} />\\n\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-classic()\\n\\\\whitespace trim\\n\u003C$list filter=\\\"[all[current]type[text/x-tiddlywiki]]\\\">\\n\u003Cdiv class=\\\"tc-message-box\\\">\\n\\n\u003C\u003Clingo Hint>>\\n\\n\u003C$button set=\\\"!!type\\\" setTo=\\\"text/vnd.tiddlywiki\\\">\u003C\u003Clingo Upgrade/Caption>>\u003C/$button>\\n\\n\u003C/div>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle-modified()\\n\\\\whitespace trim\\n\u003C$view field=\\\"modified\\\" format=\\\"date\\\" template={{$:/language/Tiddler/DateFormat}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle-modifier()\\n\\\\whitespace trim\\n\u003C$link to={{!!modifier}}/>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-subtitle()\\n\\\\whitespace trim\\n\u003C$reveal type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" tag=\\\"div\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003Cdiv class=\\\"tc-subtitle\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplate/Subtitle]!has[draft.of]]\\\" variable=\\\"subtitleTiddler\\\">\\n\u003C$transclude tiddler=\u003C\u003CsubtitleTiddler>> mode=\\\"inline\\\"/>\u003C$list-join> \u003C/$list-join>\\n\u003C/$list>\\n\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-tags()\\n\\\\whitespace trim\\n\u003C$reveal type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" tag=\\\"div\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003Cdiv class=\\\"tc-tags-wrapper\\\">\u003C$list filter=\\\"[all[current]tags[]sort[title]]\\\" template=\\\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\\\" storyview=\\\"pop\\\"/>\u003C/div>\\n\u003C/$reveal>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title-default()\\n\\\\whitespace trim\\n\u003Ch2 class=\\\"tc-title\\\">\\n\u003C$view field=\\\"title\\\"/>\\n\u003C/h2>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title-system()\\n\\\\whitespace trim\\n\u003Ch2 class=\\\"tc-title\\\" title={{$:/language/SystemTiddler/Tooltip}}>\\n\u003Cspan class=\\\"tc-system-title-prefix\\\">$:/\u003C/span>\u003C$text text={{{ [\u003CcurrentTiddler>removeprefix[$:/]] }}}/>\\n\u003C/h2>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-title()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddler-title\\\">\\n\\t\u003Cdiv class=\\\"tc-titlebar\\\">\\n\\t\\t\u003Cspan class=\\\"tc-tiddler-controls\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] :filter[lookup[$:/config/ViewToolbarButtons/Visibility/]!match[hide]]\\\"\\n\\t\\t\\t\\tstoryview=\\\"pop\\\"\\n\\t\\t\\t\\tvariable=\\\"listItem\\\"\\n\\t\\t\\t>\\n\\t\\t\\t\\t\u003C$set name=\\\"tv-config-toolbar-class\\\" filter=\\\"[\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]]\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/span>\\n\\t\\t\u003C$set name=\\\"tv-wikilinks\\\" value={{$:/config/Tiddlers/TitleLinks}}>\\n\\t\\t\\t\u003C$link>\\n\\t\\t\\t\\t\u003C%if [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] +[!is[blank]] %>\\n\\t\\t\\t\\t\\t\u003C$let foregroundColor={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\\n\\t\\t\\t\\t\\t\\t\u003Cspan class=\\\"tc-tiddler-title-icon\\\" style=\u003C\u003Ctitle-styles>>>\\n\\t\\t\\t\\t\\t\\t\\t{{||$:/core/ui/TiddlerIcon}}\\n\\t\\t\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C$transclude tiddler={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default]] }}} />\\n\\t\\t\\t\u003C/$link>\\n\\t\\t\u003C/$set>\\n\\t\u003C/div>\\n\\t\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" text=\\\"\\\" default=\\\"\\\" state=\u003C\u003CtiddlerInfoState>> class=\\\"tc-tiddler-info tc-popup-handle\\\" animate=\\\"yes\\\" retain=\\\"yes\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"block\\\"/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$reveal>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-viewtemplate-unfold()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-reveal\\\">\\n\u003C%if [{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] %>\\n\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"hide\\\" default=\\\"show\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003C$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\\\"tc-fold-banner\\\">\\n\u003C$action-sendmessage $message=\\\"tm-fold-tiddler\\\" $param=\u003C\u003CcurrentTiddler>> foldedState=\u003C\u003Cfolded-state>>/>\\n{{$:/core/images/chevron-up}}\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C% endif %>\\n\u003C%if [{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] :else[\u003Cfolded-state>get[text]match[hide]] %>\\n\u003C$reveal tag=\\\"div\\\" type=\\\"nomatch\\\" stateTitle=\u003C\u003Cfolded-state>> text=\\\"show\\\" default=\\\"show\\\" retain=\\\"yes\\\" animate=\\\"yes\\\">\\n\u003C$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\\\"tc-unfold-banner\\\">\\n\u003C$action-sendmessage $message=\\\"tm-fold-tiddler\\\" $param=\u003C\u003CcurrentTiddler>> foldedState=\u003C\u003Cfolded-state>>/>\\n{{$:/core/images/chevron-down}}\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C% endif %>\\n\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-templates-list-item-template()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-menu-list-item\\\">\u003C$link />\u003C/div>\\n\\\\end\\n\\n\\\\procedure tdfp-tiddlyflex-templates-tag-template()\\n\\\\whitespace trim\\n\u003Cspan class=\\\"tc-tag-list-item\\\" data-tag-title=\u003C\u003CcurrentTiddler>>>\\n\u003C$set name=\\\"transclusion\\\" value=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$macrocall $name=\\\"tag-pill-body\\\"\\n\\t\\ttag=\u003C\u003CcurrentTiddler>>\\n\\t\\ticon={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\\n\\t\\tcolour={{{ [\u003CcurrentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\\n\\t\\tpalette={{$:/palette}}\\n\\t\\telement-tag=\\\"$button\\\"\\n\\t\\telement-attributes=\\\"\\\"\\\"popup=\u003C\u003Cqualify \\\"$:/state/popup/tag\\\">> dragFilter=\\\"[all[current]tagging[]]\\\" tag='span'\\\"\\\"\\\"\\n\\t/>\\n\\t\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/tag\\\">> type=\\\"popup\\\" position=\\\"below\\\" animate=\\\"yes\\\" class=\\\"tc-drop-down\\\">\\n\\t\\t\u003C$set name=\\\"tv-show-missing-links\\\" value=\\\"yes\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\\\"/>\\n\\t\\t\u003C/$set>\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\\\" variable=\\\"listItem\\\"> \\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003Chr>\\n\\t\\t\u003C$macrocall $name=\\\"list-tagged-draggable\\\" tag=\u003C\u003CcurrentTiddler>>/>\\n\\t\u003C/$reveal>\\n\u003C/$set>\\n\u003C/span>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/globals/navigation\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/globals/navigation\",\"tags\":\"$:/tags/Global\",\"text\":\"\\\\procedure tiddlyflex-navigate-story-river-actions-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(tiddlyFlexColumn)$]substitute[]] }}} [data-tiddler-title={{{ [[$(navigateToCSSEscaped)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]\\n\\\\end\\n\\\\function edit-missing-tiddler() [{$:/config/tiddlyflex/navigation/edit-missing-tiddlers}match[yes]then\u003Cevent-navigateTo>!is[shadow]is[missing]]\\n\\\\procedure tiddlyflex-navigate-story-river-actions-navigate()\\n\u003C$set name=\\\"storyTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] :intersection[list\u003Ctv-story-list>] ~[[$:/HistoryList-]addsuffix[$:/columns!!current-column]get[current-tiddler]] }}}>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-navigate\\\"\\n\\t\\t$navigateTo=\u003C\u003Cevent-navigateTo>>\\n\\t\\t$navigateFromTitle={{{ [\u003CstoryTiddler>!is[blank]!match[]] ~[\u003Cevent-navigateFromTitle>] }}}\\n\\t\\t$navigateFromClientRect=\u003C\u003Cevent-navigateFromClientRect>>\\n\\t\\t$navigateFromClientTop=\u003C\u003Cevent-navigateFromClientTop>>\\n\\t\\t$navigateFromClientLeft=\u003C\u003Cevent-navigateFromClientLeft>>\\n\\t\\t$navigateFromClientWidth=\u003C\u003Cevent-navigateFromClientWidth>>\\n\\t\\t$navigateFromClientRight=\u003C\u003Cevent-navigateFromClientRight>>\\n\\t\\t$navigateFromClientBottom=\u003C\u003Cevent-navigateFromClientBottom>>\\n\\t\\t$navigateFromClientHeight=\u003C\u003Cevent-navigateFromClientHeight>>\\n\\t\\t$navigateSuppressNavigation={{{ [\u003Cmodifier>match[ctrl]then[true]] [\u003Cmodifier>match[meta]then[true]] [\u003Cmodifier>match[alt]then[true]] +[match[true]else[false]] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions-inner-inner()\\n\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\u003C%if [[$:/columns]!contains\u003CtiddlyFlexColumn>] %>\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CtiddlyFlexColumn>]\\\"/>\\n\\t\u003C% endif %>\\n\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>>\\n\\t\\t\\t\\t$tiddlerTitle=\u003C\u003Cevent-tiddlerTitle>>\\n\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$navigator>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions-inner()\\n\u003C%if [\u003Cmodifier>match[shift]] %>\\n\\t\u003C$let currentColumn=\u003C\u003CtiddlyFlexColumn>> tiddlyFlexColumn={{{ [\u003CcurrentColumn>add[1]] }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner-inner>>\\n\\t\u003C/$let>\\n\u003C% elseif [\u003Cmodifier>match[alt-shift]] %>\\n\\t\u003C$let currentColumn=\u003C\u003CtiddlyFlexColumn>> tiddlyFlexColumn={{{ [\u003CtiddlyFlexColumn>!match[1]subtract[1]] ~1 }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner-inner>>\\n\\t\u003C/$let>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-navigate-story-river-actions()\\n\\\\function tiddlyflex-no-shift-alt() [\u003Cmodifier>!match[shift]then\u003Cmodifier>!match[alt-shift]]\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[addprefix[$:/StoryList-]] +[enlist-input[]] +[contains\u003Cevent-navigateTo>] %>\\n\\t\u003C%if [function[tiddlyflex-no-shift-alt]] %>\\n\\t\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\\t\u003C$let tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} navigateToCSSEscaped={{{ [\u003Cevent-navigateTo>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003Cevent-navigateTo>] %>\\n\\t\\t\\t\\t\\t\u003C%if [\u003Cmodifier>!match[ctrl]then\u003Cmodifier>!match[meta]then\u003Cmodifier>!match[alt]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-navigate-story-river-actions-selector>>>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\\t\\t\\t\\t\\t\\t\u003C/$wikify>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>> \\n\\t\\t\\t\\t\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\\t\\t\\t\\t\u003C/$navigator>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C/$list>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C%if [function[tiddlyflex-no-shift-alt]] %>\\n\\t\\t\u003C%if [function[edit-missing-tiddler]] %>\\n\\t\\t\\t\u003C$navigator story={{{ [\u003CtiddlyFlexColumn>addprefix[$:/StoryList-]] }}} history={{{ [\u003CtiddlyFlexColumn>addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t\\t\\t$message=\\\"tm-edit-tiddler\\\"\\n\\t\\t\\t\\t\\t$param=\u003C\u003Cevent-navigateTo>>\\n\\t\\t\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\\t\\t\u003C/$navigator>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$navigator story={{{ [\u003Ctv-story-list>!is[blank]!match[]] ~[[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} history={{{ [\u003Ctv-history-list>!is[blank]!match[]] ~[[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\\t\u003C$set name=\\\"currentColumn\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-navigate>>\\n\\t\\t\\t\\t\u003C/$set>\\n\\t\\t\\t\u003C/$navigator>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ctiddlyflex-navigate-story-river-actions-inner>>\\n\\t\u003C% endif %>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-cancel-draft-tiddler-actions-draft-of-not-is-missing()\\n\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}>\\n\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003CcurrentTiddler>] %>\\n\\t\\t\\t\u003C$set name=\\\"index\\\" value={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[allbefore\u003CcurrentTiddler>add[1]] }}}>\\n\\t\\t\\t\\t\u003C$let nextTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[zth\u003Cindex>] }}} viewTiddler={{{ [\u003CcurrentTiddler>get[draft.of]] }}}>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CviewTiddler>,\u003CnextTiddler>]\\\"/>\\n\\t\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\\t\\t\\t\u003C/$let>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C%if [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>!is[missing]] %>\\n\\t\u003C$action-sendmessage $message=\\\"tm-rename-tiddler\\\" from={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}} to={{{ [\u003CcurrentTiddler>get[draft.of]addprefix[$:/state/tiddlyflex/story-river/fullscreen/]] }}}/>\\n\u003C% endif %>\\n\u003C$navigator story={{{ [\u003CtiddlyFlexColumn>addprefix[$:/StoryList-]] }}} history={{{ [\u003CtiddlyFlexColumn>addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-cancel-tiddler\\\"\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-cancel-draft-tiddler-actions()\\n\u003C%if [\u003CcurrentTiddler>get[draft.of]!is[shadow]is[missing]] %>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-story-list>contains\u003CcurrentTiddler>]\\\" variable=\\\"ignore\\\">\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CcurrentTiddler>]\\\"/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\\t\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\\t\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\\t\u003C$let scrollTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] ~[\u003Ctdff.tiddlyflex-story-river-filter>before\u003CcurrentTiddler>] }}}>\\n\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\\t\u003C$action-sendmessage\\n\\t\\t\\t$message=\\\"tm-cancel-tiddler\\\"\\n\\t\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-cancel-draft-tiddler-actions-draft-of-not-is-missing>>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-delete-draft-tiddler-actions()\\n\u003C$let deleteTiddlerViewMode={{{ [\u003CcurrentTiddler>get[draft.of]] }}} deleteTiddlerEditMode=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$list filter=\\\"[subfilter\u003Ctdff.tiddlyflex-enlist-columns>!match\u003CtiddlyFlexColumn>]\\\" variable=\\\"tiddlyFlexColumn\\\">\\n\\t\\t\u003C$set name=\\\"tv-story-list\\\" value={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>!match[$:/StoryList-1]] ~[[$:/StoryList]] }}}>\\n\\t\\t\\t\u003C%if [\u003Ctv-story-list>contains\u003CdeleteTiddlerViewMode>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CdeleteTiddlerViewMode>]\\\"/>\\n\\t\\t\\t\u003C% elseif [\u003Ctv-story-list>contains\u003CdeleteTiddlerEditMode>] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"-[\u003CdeleteTiddlerEditMode>]\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$set>\\n\\t\u003C/$list>\\n\u003C/$let>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C$action-deletetiddler $tiddler={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}/>\\n\u003C$let scrollTiddler={{{ [\u003Ctdff.tiddlyflex-story-river-filter>] +[after\u003CcurrentTiddler>] ~[\u003Ctdff.tiddlyflex-story-river-filter>before\u003CcurrentTiddler>] }}}>\\n\\t\u003C$action-setfield $tiddler=\u003C\u003Ctv-history-list>> current-tiddler=\u003C\u003CscrollTiddler>>/>\\n\\t\u003C$action-sendmessage\\n\\t\\t$message=\\\"tm-delete-tiddler\\\"\\n\\t\\t$param={{{ [\u003Cevent-param>!is[blank]!match[]] ~[\u003Cevent-tiddlerTitle>] }}}\\n\\t\\t$names=\\\"[\u003Clist-event-paramObject>enlist-input[]]\\\"\\n\\t\\t$values=\\\"[\u003Clist-event-paramObject>enlist-input[]] :map:flat[addprefix[event-paramObject-]getvariable[]]\\\"/>\\n\u003C/$let>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/icons/drag-grip\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/drag-grip\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-grip\\\">\u003Ccircle cx=\\\"12\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"5\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"12\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"12\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"19\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003Ccircle cx=\\\"5\\\" cy=\\\"19\\\" r=\\\"1\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/filter\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/filter\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-filter\\\">\u003Cpolygon points=\\\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/horizontal\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/horizontal\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-chevrons-left-right\\\">\u003Cpath d=\\\"m9 7-5 5 5 5\\\"/>\u003Cpath d=\\\"m15 7 5 5-5 5\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/layout\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/layout\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-layout-dashboard\\\">\u003Crect width=\\\"7\\\" height=\\\"9\\\" x=\\\"3\\\" y=\\\"3\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"5\\\" x=\\\"14\\\" y=\\\"3\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"9\\\" x=\\\"14\\\" y=\\\"12\\\" rx=\\\"1\\\"/>\u003Crect width=\\\"7\\\" height=\\\"5\\\" x=\\\"3\\\" y=\\\"16\\\" rx=\\\"1\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/icons/vertical\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/icons/vertical\",\"text\":\"\u003Csvg width=\\\"1rem\\\" height=\\\"1rem\\\" viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" stroke-width=\\\"2\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" class=\\\"lucide lucide-chevrons-up-down\\\">\u003Cpath d=\\\"m7 15 5 5 5-5\\\"/>\u003Cpath d=\\\"m7 9 5-5 5 5\\\"/>\u003C/svg>\"},\"$:/plugins/BTC/TiddlyFlex/license\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/license\",\"text\":\"!!! This plugin is distributed under MIT License\\n\\n```\\n\\nMIT License\\n\\nCopyright (c) 2024 Simon Huber\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy\\nof this software and associated documentation files (the \\\"Software\\\"), to deal\\nin the Software without restriction, including without limitation the rights\\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\ncopies of the Software, and to permit persons to whom the Software is\\nfurnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all\\ncopies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\\nSOFTWARE.\\n\\n```\\n\\n!!! Lucide icons are distributed under ISC License\\n\\n```\\nISC License\\n\\nCopyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.\\n\\nPermission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\\n\\nTHE SOFTWARE IS PROVIDED \\\"AS IS\\\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\\n\\n```\\n\\n!!! The configuration panel is copied from [ext[@saqimtiaz'|https://github.com/saqimtiaz]] [ext[streams plugin|https://github.com/saqimtiaz/streams]]\\n\\n```\\n\\nBSD 3-Clause License\\n\\nCopyright (c) 2020, saqimtiaz\\nAll rights reserved.\\n\\nRedistribution and use in source and binary forms, with or without\\nmodification, are permitted provided that the following conditions are met:\\n\\n1. Redistributions of source code must retain the above copyright notice, this\\n list of conditions and the following disclaimer.\\n\\n2. Redistributions in binary form must reproduce the above copyright notice,\\n this list of conditions and the following disclaimer in the documentation\\n and/or other materials provided with the distribution.\\n\\n3. Neither the name of the copyright holder nor the names of its\\n contributors may be used to endorse or promote products derived from\\n this software without specific prior written permission.\\n\\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \\\"AS IS\\\"\\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\\n\\n```\"},\"$:/plugins/BTC/TiddlyFlex/privates/navigation\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/privates/navigation\",\"text\":\"\\\\procedure tiddlyflex-focus-flexcontainer() \u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-tiddlyflex-container\\\" preventScroll=\\\"true\\\"/>\\n\\\\procedure tiddlyflex-keyboard-navigator(actions)\\n\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}} tv-story-list={{{ [tdff.tiddlyflex-fullscreen[]!is[blank]] :then[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]get[column]addprefix[$:/StoryList-]] ~[[$:/StoryList-]addsuffix\u003CcurrentColumn>!match[$:/StoryList-]] ~[[$:/StoryList-1]] }}} tv-history-list={{{ [tdff.tiddlyflex-fullscreen[]!is[blank]] :then[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]get[column]addprefix[$:/HistoryList-]] ~[[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~[[$:/HistoryList-1]] }}} currentTiddler={{{ [all[tiddlers]removeprefix[$:/state/tiddlyflex/story-river/fullscreen/]limit[1]] ~[\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\u003C\u003Cactions>>\\n\\t\u003C/$navigator>\\n\u003C/$let>\\n\\\\end\\n\\\\procedure tiddlyflex-simple-keyboard-navigator()\\n\u003C$navigator story={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] :map[addprefix[$:/StoryList-]] }}} history={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-enlist-columns>first[]] :map[addprefix[$:/HistoryList-]] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C\u003Cactions>>\\n\u003C/$navigator>\\n\\\\end\\n\\\\procedure tiddlyflex-cycle-columns-navigator-inner()\\n\u003C%if [\u003CnextTiddler>is[draft]] %>\\n\\t\u003C\u003Ctiddlyflex-focus-draft-tiddler>>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-focus-flexcontainer>>\\n\u003C% endif %>\\n\u003C$navigator story=\u003C\u003Ctv-story-list>> history=\u003C\u003Ctv-history-list>> openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\u003C$action-navigate $to=\u003C\u003CnextTiddler>>/>\\n\u003C/$navigator>\\n\\\\end\\n\\\\define tiddlyflex-cycle-columns-navigator()\\n\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CnextColumn>>/>\\n\u003C$set name=\\\"currentHistoryListTiddler\\\" value={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}>\\n\\t\u003C%if [\u003Ctv-story-list>contains\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[match\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler=\u003C\u003CcurrentHistoryListTiddler>> cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\\t\u003C/$let>\\n\\t\\t\u003C% endif %>\\n\\t\u003C% elseif [\u003Ctv-story-list>!contains\u003CcurrentHistoryListTiddler>] %>\\n\\t\\t\u003C$let currentColumn=\u003C\u003CnextColumn>> nextTiddler={{{ [subfilter\u003Ctdff.tiddlyflex-story-river-filter>] +[nth[1]] }}} cssEscapedTitle={{{ [\u003CnextTiddler>escapecss[]] }}}>\\n\\t\\t\\t\u003C\u003Ctiddlyflex-cycle-columns-navigator-inner>>\\n\\t\\t\u003C/$let>\\n\\t\u003C% endif %>\\n\u003C/$set>\\n\\\\end\\n\\\\procedure tiddlyflex-multi-column-keyboard-navigator()\\n\u003C$let\\n\\tcurrentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] }}}\\n\\tlastColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>last[]] }}}\\n\\ttv-story-list={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>!match[$:/StoryList-]] ~$:/StoryList-1 }}}\\n\\ttv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>!match[$:/HistoryList-]] ~$:/HistoryList-1 }}}\\n\\tfocusedTiddler={{{ [\u003Ctv-history-list>get[current-tiddler]] }}}\\n\\tnextStoryCounter={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>after\u003CcurrentColumn>] }}}\\n\\tnextStoryList={{{ [\u003Ctv-story-list>removesuffix\u003CcurrentColumn>addsuffix\u003CnextStoryCounter>] }}}\\n\\tnextHistoryList={{{ [\u003Ctv-history-list>removesuffix\u003CcurrentColumn>addsuffix\u003CnextStoryCounter>] }}}\\n\\tfirstNextStoryTiddler={{{ [list\u003CnextStoryList>first[]] }}}\\n\\tpreviousStoryCounter={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>before\u003CcurrentColumn>] }}}\\n\\tpreviousStoryList={{{ [\u003Ctv-story-list>removesuffix\u003CcurrentColumn>addsuffix\u003CpreviousStoryCounter>] }}}\\n\\tpreviousHistoryList={{{ [\u003Ctv-history-list>removesuffix\u003CcurrentColumn>addsuffix\u003CpreviousStoryCounter>] }}}\\n\\tfirstPreviousStoryTiddler={{{ [list\u003CpreviousStoryList>first[]] }}}\\n>\\n\\t\u003C\u003Cactions>>\\n\u003C/$let>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/privates/selectors\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/privates/selectors\",\"text\":\"\\\\procedure tiddlyflex-tiddler-scroll-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}]\\n\\\\end\\n\\\\procedure tiddlyflex-draft-focus-selector()\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock whitespace\\n.tc-tiddlyflex-story-river-{{{ [[$(currentColumn)$]substitute[]] }}} .tc-tiddlyflex-story-river-inner > [data-tiddler-title={{{ [[$(cssEscapedTitle)$]substitute[]addprefix[\\\"]addsuffix[\\\"]] }}}] input.tc-titlebar.tc-edit-texteditor\\n\\\\end\\n\\\\procedure tiddlyflex-focus-draft-tiddler()\\n\u003C$wikify name=\\\"focusSelector\\\" text=\u003C\u003Ctiddlyflex-draft-focus-selector>>>\\n\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003CfocusSelector>> preventScroll=\\\"true\\\"/>\\n\u003C/$wikify>\\n\\\\end\\n\\\\procedure tiddlyflex-scroll-to-tiddler()\\n\u003C$wikify name=\\\"scrollSelector\\\" text=\u003C\u003Ctiddlyflex-tiddler-scroll-selector>>>\\n\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector=\u003C\u003CscrollSelector>>/>\\n\u003C/$wikify>\\n\\\\end\\n\\\\procedure tiddlyflex-scroll-to-column()\\n\\t\u003C$action-sendmessage $message=\\\"tm-scroll\\\" selector={{{ [[.tc-tiddlyflex-story-river-]addsuffix\u003CcurrentColumn>] }}}/>\\n\\\\end\"},\"$:/plugins/BTC/TiddlyFlex/readme\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/readme\",\"text\":\"!!! ~TiddlyFlex\\n\\nThis ''plugin'' provides an alternative [ext[Flexbox|https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox]] Layout for ~TiddlyWiki5\"},\"$:/core/ui/EditorToolbar/preview-type-dropdown\":{\"title\":\"$:/core/ui/EditorToolbar/preview-type-dropdown\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-editortoolbar-preview-type-dropdown>>\"},\"$:/core/ui/Buttons/control-panel\":{\"title\":\"$:/core/ui/Buttons/control-panel\",\"tags\":\"$:/tags/PageControls\",\"caption\":\"{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}\",\"description\":\"{{$:/language/Buttons/ControlPanel/Hint}}\",\"text\":\"\\\\whitespace trim\\n\\\\define control-panel-button(class)\\n\\\\whitespace trim\\n\u003C$button to=\\\"$:/ControlPanel\\\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\\\"\\\"\\\"$(tv-config-toolbar-class)$ $class$\\\"\\\"\\\">\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n{{$:/core/images/options-button}}\\n\u003C/$list>\\n\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text={{$:/language/Buttons/ControlPanel/Caption}}/>\u003C/span>\\n\u003C/$list>\\n\u003C/$button>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] +[addprefix[$:/StoryList-]] +[enlist-input[]] +[contains[$:/ControlPanel]] %>\\n\\t\\t\u003C\u003Ccontrol-panel-button \\\"tc-selected\\\">>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ccontrol-panel-button>>\\n\\t\u003C% endif %>\\n\u003C% else %>\\n\\t\u003C%if [\u003Ctv-story-list>contains[$:/ControlPanel]] %>\\n\\t\\t\u003C\u003Ccontrol-panel-button \\\"tc-selected\\\">>\\n\\t\u003C% else %>\\n\\t\\t\u003C\u003Ccontrol-panel-button>>\\n\\t\u003C% endif %>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"caption\":\"{{$:/core/images/plus-button}} Add a column\",\"description\":\"Add an additional column at the right\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/core/ui/TopBar/menu\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let columns={{{ [list[$:/columns]count[]!match[0]] ~1 }}} nextColumn={{{ [\u003Ccolumns>add[1]] }}}>\\n\\t\\t\u003C$button class=\u003C\u003Ctv-config-toolbar-class>> tooltip=\\\"add column\\\">\\n\\t\\t\\t\u003C%if [list[$:/columns]count[]match[0]] %>\\n\\t\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"1\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"[\u003CnextColumn>]\\\"/>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\\t{{$:/core/images/plus-button}}\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\\t\u003C$text text=\\\"Add a column\\\"/>\\n\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$button>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/drag-grip}} Enable / disable dragging\",\"description\":\"Enable / disable dragging of tiddlers\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"dragging\\\">\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/drag-grip}}\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"En-/disable dragging\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/tiddler/drag-enabled\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/filter\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/filter}} Filter story rivers\",\"description\":\"Filter the story rivers by the search input\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/state/tiddlyflex/story-river/filter}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"filter\\\">\\n\\t\\t\u003C%if [{$:/state/tiddlyflex/story-river/filter}match[yes]] %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/state/tiddlyflex/story-river/filter\\\" text=\\\"yes\\\"/>\\n\\t\\t\\t\u003C%if [{$:/temp/search/input}is[blank]match[]then[yes]] %>\\n\\t\\t\\t\\t\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\\\".tc-search input\\\"/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C% endif %>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/filter}}\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"Filter story\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/remove-column\",\"caption\":\"{{$:/core/images/minus-button}} Close last column\",\"description\":\"Close the last column\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/add-column\",\"text\":\"\\\\whitespace trim\\n\\\\procedure remove-column-actions()\\n\u003C$set name=\\\"columnCount\\\" value={{{ [list[$:/columns]count[]] }}}>\\n\\t\u003C$list filter=\\\"[[$:/columns]get[current-column]match\u003CcolumnCount>]\\\">\\n\\t\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column={{{ [\u003CcolumnCount>subtract[1]!match[0]] ~1 }}}/>\\n\\t\u003C/$list>\\n\\t\u003C$list filter=\\\"[\u003CcolumnCount>!match[1]]\\\">\\n\\t\\t\u003C$action-listops $tiddler=\\\"$:/columns\\\" $subfilter=\\\"-[\u003CcolumnCount>]\\\"/>\\n\\t\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let columns={{{ [list[$:/columns]count[]] ~1 }}}>\\n\\t\\t\u003C$button class=\u003C\u003Ctv-config-toolbar-class>> actions=\u003C\u003Cremove-column-actions>> tooltip=\\\"remove column\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\\t{{$:/core/images/minus-button}}\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\\t\u003C$text text=\\\"Remove a column\\\"/>\\n\\t\\t\\t\\t\u003C/span>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\u003C/$button>\\n\\t\u003C/$let>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/switch-view\",\"caption\":\"{{$:/plugins/BTC/TiddlyFlex/icons/horizontal}} Switch View\",\"description\":\"Switch the Story River View\",\"tags\":\"$:/tags/TopRightBar $:/tags/PageControls\",\"list-before\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/TopToolbar/dragging\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$button class={{{ [{$:/config/tiddlyflex/story-river/horizontal}match[yes]then[tc-selected]] [\u003Ctv-config-toolbar-class>] +[join[ ]] }}} tooltip=\\\"horizontal / vertical\\\">\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-icons>match[yes]]\\\">\\n\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}match[yes]] %>\\n\\t\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/horizontal}}\\n\\t\\t\\t\u003C% else %>\\n\\t\\t\\t\\t{{$:/plugins/BTC/TiddlyFlex/icons/vertical}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C$list filter=\\\"[\u003Ctv-config-toolbar-text>match[yes]]\\\">\\n\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\\n\\t\\t\\t\\t\u003C$text text=\\\"Horizontal / Vertical\\\"/>\\n\\t\\t\\t\u003C/span>\\n\\t\\t\u003C/$list>\\n\\t\\t\u003C%if [{$:/config/tiddlyflex/story-river/horizontal}!match[yes]] %>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\" text=\\\"yes\\\"/>\\n\\t\\t\u003C% else %>\\n\\t\\t\\t\u003C$action-deletetiddler $tiddler=\\\"$:/config/tiddlyflex/story-river/horizontal\\\"/>\\n\\t\\t\u003C% endif %>\\n\\t\u003C/$button>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/fullscreen\",\"tags\":\"$:/tags/ViewToolbar $:/tags/EditToolbar\",\"text\":\"\\\\define get-button-class(class)\\nbtc-fullscreen-button $(tv-config-toolbar-class)$ tc-toolbar-icon $class$\\n\\\\end\\n\\\\define get-fullscreen-tooltip(onoff)\\nfullscreen $onoff$ - [$(fullScreenShortcut)$]\\n\\\\end\\n\\n\\\\whitespace trim\\n\u003C$vars fullScreenShortcut=\u003C\u003Cdisplayshortcuts ((fullscreen))>> state={{{ [[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>] }}}>\\n\\t\u003C%if [\u003Cstate>!is[missing]get[text]!match[yes]] ~[\u003Cstate>is[missing]] %>\\n\\t\\t\u003C$button class=\u003C\u003Cget-button-class>> tooltip=\u003C\u003Cget-fullscreen-tooltip \\\"on\\\">>>\\n\\t\\t\\t\u003C$action-setfield $tiddler=\u003C\u003Cstate>> text=\\\"yes\\\" column=\u003C\u003CtiddlyFlexColumn>>/>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-icons>match[yes]] %>\\n\\t\\t\\t\\t{{$:/core/images/full-screen-button}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-text>match[yes]] %>\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text=\\\"fullscreen\\\"/>\u003C/span>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$button>\\n\\t\u003C% elseif [\u003Cstate>get[text]match[yes]] %>\\n\\t\\t\u003C$button class=\u003C\u003Cget-button-class \\\"tc-selected\\\">> tooltip=\u003C\u003Cget-fullscreen-tooltip \\\"off\\\">>>\\n\\t\\t\\t\u003C$list filter=\\\"[all[tiddlers]prefix[$:/state/tiddlyflex/story-river/fullscreen/]]\\\" variable=\\\"fullScreenTiddler\\\">\\n\\t\\t\\t\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CfullScreenTiddler>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-icons>match[yes]] %>\\n\\t\\t\\t\\t{{$:/core/images/full-screen-button}}\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\u003C%if [\u003Ctv-config-toolbar-text>match[yes]] %>\\n\\t\\t\\t\\t\u003Cspan class=\\\"tc-btn-text\\\">\u003C$text text=\\\"fullscreen\\\"/>\u003C/span>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$button>\\n\\t\u003C% endif %>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu\",\"tags\":\"$:/tags/ViewToolbar\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\u003C$button popup=\u003C\u003Cqualify \\\"$:/state/popup/tiddlyflex/menu\\\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class={{{ [\u003Ctv-config-toolbar-class>] tc-tiddlyflex-shown-when-narrow +[join[ ]] }}} selectedClass=\\\"tc-selected\\\">\\n{{$:/core/images/menu-button}}\\n\u003C/$button>\\n\u003C$reveal state=\u003C\u003Cqualify \\\"$:/state/popup/tiddlyflex/menu\\\">> type=\\\"popup\\\" position=\\\"belowleft\\\" animate=\\\"yes\\\">\\n\\n\u003Cdiv class=\\\"tc-drop-down\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-icons\\\" value=\\\"yes\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-text\\\" value=\\\"yes\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" value=\\\"tc-btn-invisible\\\">\\n\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!is[draft]] -[[$:/core/ui/Buttons/more-tiddler-actions]] -[[$:/plugins/BTC/TiddlyFlex/ui/Buttons/ViewToolbar/menu]]\\\" variable=\\\"listItem\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" filter=\\\"[\u003Ctv-config-toolbar-class>] [\u003ClistItem>encodeuricomponent[]addprefix[tc-btn-]]\\\">\\n\\n\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"inline\\\"/>\\n\\n\u003C/$set>\\n\\n\u003C/$list>\\n\\n\u003C/$set>\\n\\n\u003C/$set>\\n\\n\u003C/$set>\\n\\n\u003C/div>\\n\\n\u003C/$reveal>\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input-switch\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\u003C$checkbox field=\\\"text\\\" checked=\\\"yes\\\" unchecked=\\\"no\\\" class=\\\"tc-tiddlyflex-ui-form-switch\\\"/>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/input\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\\n\u003C$edit-text tag=\\\"input\\\" class=\\\"tc-tiddlyflex-ui-form-input\\\"/>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/Templates/select\",\"text\":\"\u003Clabel class=\\\"tc-tiddlyflex-ui-form-label\\\">\u003C$link tooltip={{!!description}}>{{!!caption}}\u003C/$link>\u003C/label>\\n\u003C$vars cnt={{{[enlist{!!option-names}count[]]}}}>\\n\u003C$select class=\\\"tc-tiddlyflex-ui-form-select\\\">\\n\u003C$list filter=\\\"[range\u003Ccnt>]\\\" variable=\\\"index\\\">\\n\u003Coption value={{{[enlist{!!option-values}nth\u003Cindex>]}}}>\u003C$text text={{{[enlist{!!option-names}nth\u003Cindex>]}}}/>\u003C/option>\\n\u003C/$list>\\n\u003C/$select>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/Toolbars\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/Toolbars\",\"caption\":\"Toolbars\",\"tags\":\"$:/tags/TiddlyFlex/Settings\",\"text\":\"\\\\define config-base() $:/config/TiddlyFlex/Toolbars/Visibility/\\n\\n\u003C$list filter=\\\"$:/tags/TopToolbar $:/tags/LeftToolbar $:/tags/BottomToolbar\\\" variable=\\\"toolbarTag\\\">\\n\\n\\t\u003C%if [all[tiddlers+shadows]tag\u003CtoolbarTag>limit[1]] %>\\n\\n\\t\\t!! \u003C$text text={{{ [\u003CtoolbarTag>removeprefix[$:/tags/]] }}}/>\\n\\n\\t\\t\\t\u003C$macrocall $name=\\\"list-tagged-draggable\\\" tag=\u003C\u003CtoolbarTag>> itemTemplate=\\\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\\\"/>\\n\\n\\t\\t\u003Chr>\\n\\n\\t\u003C% endif %>\\n\\n\u003C/$list>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\",\"caption\":\"UI\",\"tags\":\"$:/tags/TiddlyFlex/Settings\",\"text\":\"\\\\define sortBySettingsGroupFilter()\\n[get[settings-group]!is[blank]else[!general]] [get[settings-group-header]!is[blank]else[99]] +[join[]]\\n\\\\end\\n\\n\u003C$edit-text tiddler=\\\"$:/state/tiddlyflex/settings/search\\\" class=\\\"tc-tiddlyflex-search-input\\\" default=\\\"\\\" tag=\\\"input\\\" type=\\\"search\\\" placeholder=\\\"search...\\\"/>\\n\\n\u003Cdiv class=\\\"tc-tiddlyflex-list-group tc-tiddlyflex-list-group-box-shadow tc-tiddlyflex-list-settings\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]prefix[$:/config/tiddlyflex/]has[settings-template]] [[$:/config/ShowEditPreview/PerTiddler]] +[search:title,caption,description{$:/state/tiddlyflex/settings/search}] +[sortsub\u003CsortBySettingsGroupFilter>]\\\">\\n\u003C$list filter={{{[{!!condition}!is[blank]] :else[{!!title}]}}} variable=\\\"list-condition\\\">\\n\u003Cdiv class=\\\"tc-tiddlyflex-list-group-item\\\">\\n\u003C$transclude tiddler={{!!settings-template}}/>\\n\u003C/div>\\n\u003C/$list>\\n\u003C/$list>\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings\",\"caption\":\"TiddlyFlex\",\"tags\":\"$:/tags/ControlPanel/SettingsTab\",\"text\":\"\u003C\u003Ctabs \\\"[all[tiddlers+shadows]tag[$:/tags/TiddlyFlex/Settings]]\\\" \\\"$:/plugins/BTC/TiddlyFlex/ui/ControlPanel/settings/UI\\\">>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Layout\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Layout\",\"tags\":\"$:/tags/Layout\",\"description\":\"A Flexbox Layout\",\"name\":\"~TiddlyFlex\",\"icon\":\"$:/plugins/BTC/TiddlyFlex/icons/layout\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\import [subfilter{$:/core/config/GlobalImportFilter}]\\n\\\\procedure tiddlyflex-activate-column-actions()\\n\u003C%if [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] +[!match\u003CtiddlyFlexColumn>] %>\\n\\t\u003C$action-setfield $tiddler=\\\"$:/columns\\\" current-column=\u003C\u003CtiddlyFlexColumn>>/>\\n\u003C% endif %>\\n\\\\end\\n\\\\procedure tiddlyflex-hide-sidebar-actions() \u003C$action-setfield $tiddler=\\\"$:/state/sidebar\\\" text=\\\"no\\\"/>\\n\\\\procedure tiddlyflex-layout-story()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-story-river-wrapper\\\">\\n\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-story-river-header\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>>>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-header\\\">\\n\\t\\t\\t\u003C$set name=\\\"aboveStoryHeaderTag\\\" value={{{ [[$:/tags/AboveStoryHeader-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryHeaderTag>!is[draft]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C/div>\\n\\t\u003C/$eventcatcher>\\n\\t\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\\\"/>\\n\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-story-river-footer\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>>>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-footer\\\">\\n\\t\\t\\t\u003C$set name=\\\"belowStoryFooterTag\\\" value={{{ [[$:/tags/BelowStoryFooter-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryFooterTag>!is[draft]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C/$set>\\n\\t\\t\u003C/div>\\n\\t\u003C/$eventcatcher>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-story-rivers()\\n\\\\whitespace trim\\n\u003C$list filter=\u003C\u003Ctdff.tiddlyflex-enlist-columns>> variable=\\\"tiddlyFlexColumn\\\">\\n\\t\u003C$set name=\\\"transclusion\\\" value=\u003C\u003CtiddlyFlexColumn>>>\\n\\t\\t\u003C$vars tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CtiddlyFlexColumn>] }}} openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-story>>/>\\n\\t\\t\u003C/$vars>\\n\\t\u003C/$set>\\n\u003C/$list>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-drafts-inner()\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\\\"/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-drafts()\\n\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-drafts-inner>>/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-sidebar()\\n\u003C$transclude tiddler=\\\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\\\"/>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-header()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-header\\\">\\n\\t\u003C$list filter=\\\"[{$:/status/RequireReloadDueToPluginChange}match[yes]then{$:/temp/HidePluginWarning}!match[yes]then[$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning]] [all[shadows+tiddlers]tag[$:/tags/TopToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-leftbar()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-leftbar\\\">\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/LeftToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\\\\procedure tiddlyflex-layout-footer()\\n\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-footer\\\">\\n\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/BottomToolbar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\u003C/$list>\\n\u003C/div>\\n\\\\end\\n\u003C$vars\\n\\ttv-config-toolbar-icons={{$:/config/Toolbar/Icons}}\\n\\ttv-config-toolbar-text={{$:/config/Toolbar/Text}}\\n\\ttv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}}\\n\\ttv-enable-drag-and-drop={{$:/config/DragAndDrop/Enable}}\\n\\ttv-show-missing-links={{$:/config/MissingLinks}}\\n\\tstoryviewTitle={{$:/view}}\\n\\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\\n\\t\u003Cdiv class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/PageTemplate/TiddlyFlex]!is[draft]] :map:flat[subfilter{!!text}] tc-page-container tc-tiddlyflex-container [[tc-page-view-]addsuffix\u003CstoryviewTitle>] [[tc-language-]addsuffix\u003ClanguageTitle>] [{$:/state/sidebar}match[yes]then[tc-sidebar-shown]] :and[unique[]join[ ]] }}} tabindex=\\\"0\\\">\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-sidebar-shown\\\" matchSelector=\\\".tc-tiddlyflex-sidebar-shown\\\" $click=\u003C\u003Ctiddlyflex-hide-sidebar-actions>> class=\\\"tc-tiddlyflex-sidebar-shown-eventcatcher\\\">\\n\\t\\t\\t\\t\u003Cdiv class={{{ [{$:/state/sidebar}!match[no]then[tc-tiddlyflex-sidebar-hide tc-btn-invisible tc-tiddlyflex-sidebar-shown]] [{$:/state/sidebar}match[no]then[tc-tiddlyflex-sidebar-hide tc-btn-invisible tc-tiddlyflex-sidebar-hidden]] }}}/>\\n\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-header>>/>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-main-wrapper\\\">\\n\\t\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-leftbar>>/>\\n\\t\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\\t\u003Cmain class=\\\"tc-tiddlyflex-main\\\">\\n\\t\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/sidebar/resizer}match[yes]] %>\\n\\t\\t\\t\\t\\t\u003C$eventcatcher tag=\\\"div\\\" class=\\\"tc-tiddlyflex-pointerdown-eventcatcher\\\" selector=\\\".tc-tiddlyflex-sidebar-resizer\\\" matchSelector=\\\".tc-tiddlyflex-sidebar-resizer\\\" $pointerdown=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerdown-actions>> $pointerup=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>>>\\n\\t\\t\\t\\t\\t\\t\u003C%if [{$:/state/sidebar/resizing}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\\t\u003C$eventcatcher tag=\\\"div\\\" selector=\\\".tc-tiddlyflex-pointermove\\\" matchSelector=\\\".tc-tiddlyflex-pointermove\\\" class=\\\"tc-tiddlyflex-pointermove-eventcatcher\\\" $pointerup=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>> $pointermove=\u003C\u003Ctiddlyflex-sidebar-resizer-pointermove-actions>> $pointerleave=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>> $pointerout=\u003C\u003Ctiddlyflex-sidebar-resizer-pointerup-actions>>>\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-pointermove\\\"/>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-resizer\\\"/>\\n\\t\\t\\t\\t\\t\u003C/$eventcatcher>\\n\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-container\\\">\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-story-river-container-inner\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-layout-story-rivers>>\\n\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-layout-drafts>>\\n\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar\\\">\\n\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-container\\\">\\n\\t\\t\\t\\t\\t\\t\\t\u003Cdiv class=\\\"tc-tiddlyflex-sidebar-container-inner\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-sidebar>>/>\\n\\t\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003C/div>\\n\\t\\t\\t\\t\\t\u003C%if [{$:/config/tiddlyflex/show-top-right-bar}match[yes]] %>\\n\\t\\t\\t\\t\\t\\t\u003C$transclude tiddler=\\\"$:/core/ui/PageTemplate/toprightbar\\\"/>\\n\\t\\t\\t\\t\\t\u003C% endif %>\\n\\t\\t\\t\\t\u003C/$refresh-blocker>\\n\\t\\t\\t\u003C/main>\\n\\t\\t\u003C/div>\\n\\t\\t\u003C$refresh-blocker>\\n\\t\\t\\t\u003C$macrocall $name=\\\"tiddlyflex-message-catcher-outside\\\" tiddlyflex-layout-inner=\u003C\u003Ctiddlyflex-layout-footer>>/>\\n\\t\\t\u003C/$refresh-blocker>\\n\\t\u003C/div>\\n\u003C/$vars>\"},\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\":{\"title\":\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/EmptyNotification\",\"text\":\"The Ensemble Title must not be empty\"},\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/MatchingEnsembleNotification\":{\"title\":\"$:/plugins/BTC/tiddlyflex/ui/Notifications/Ensemble/MatchingEnsembleNotification\",\"text\":\"Nothing to load. The current configuration matches the Ensemble.\"},\"$:/plugins/BTC/TiddlyFlex/ui/SideBar/Ensemble\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/SideBar/Ensemble\",\"caption\":\"Ensemble\",\"tags\":\"$:/tags/SideBar\",\"text\":\"\\\\define tiddlyflex-get-ensemble-delete-message()\\nDo you want to delete the Ensemble \\\"$(ensembleName)$\\\"?\\n\\\\end\\n\\\\procedure tiddlyflex-delete-ensemble-actions()\\n\u003C$action-confirm $message=\u003C\u003Ctiddlyflex-get-ensemble-delete-message>>>\\n\\t\u003C$action-deletetiddler $tiddler=\u003C\u003CensembleTiddler>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\\\procedure tiddlyflex-ensemble-list()\\n\\\\whitespace trim\\n\u003C$wikify name=\\\"foregroundColour\\\" text=\u003C\u003Ccolour foreground>>>\\n\u003Cspan class=\\\"tc-small-gap-right\\\" style={{{ [[font-size: 24px; color: ]addsuffix\u003CforegroundColour>addsuffix[;]] }}}>\\n\u003Cdiv style=\\\"width: 24px; height: 24px; text-align: center; display: inline-block;\\\">\\n\u003C%if [\u003CensembleTiddler>get[icon]] %>\\n\u003C$transclude tiddler={{{ [\u003CensembleTiddler>get[icon]] }}}/>\\n\u003C% else %>\\n\u003C$text text={{{ [\u003CensembleName>splitbefore[]] }}}/>\\n\u003C% endif %>\\n\u003C/div>\\n\u003C/span>\\n\u003C/$wikify>\\n\u003Cspan style=\\\"font-size: 24px;\\\">\\n\u003C$text text=\u003C\u003CensembleName>>/>\\n\u003C/span>\\n\u003C$button actions=\u003C\u003Ctiddlyflex-load-ensemble-actions>> class=\\\"tc-small-gap-left\\\">\\nLoad\\n\u003C/$button>\\n\u003C$button class=\\\"tc-small-gap-left\\\" actions=\u003C\u003Ctiddlyflex-delete-ensemble-actions>>>\\nDelete\\n\u003C/$button>\\n\u003C$button class=\\\"tc-big-gap-left\\\">\\n\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions\\\" ensembleTitle=\u003C\u003CensembleName>> icon={{{ [\u003CensembleTiddler>get[icon]] }}}/>\\nSave\\n\u003C/$button>\\n\\\\end\\n\\\\whitespace trim\\n\\n!! Save Ensemble\\n\\nGive your ensemble a title:\u003Cbr>\\n\u003C$edit-text tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" default=\\\"\\\" placeholder=\\\"Title\\\" tag=\\\"input\\\" class=\\\"tc-story-title tc-small-gap-right\\\"/>\u003C$button class=\\\"tc-btn-invisible tc-greyed-out-button\\\">\u003C$action-deletefield $tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" $field=\\\"text\\\"/>{{$:/core/images/close-button}}\u003C/$button>\\n\\nOptionally, provide an icon:\u003Cbr>\\n\u003C$edit-text tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" default=\\\"\\\" field=\\\"icon\\\" placeholder=\\\"Icon\\\" tag=\\\"input\\\" class=\\\"tc-small-gap-right\\\"/>\u003C$button class=\\\"tc-btn-invisible tc-greyed-out-button\\\">\u003C$action-deletefield $tiddler=\\\"$:/temp/tiddlyflex/save-ensemble/story-title\\\" $field=\\\"icon\\\"/>{{$:/core/images/close-button}}\u003C/$button>\\n\\n\u003C$let ensembleTitle={{{ [[$:/temp/tiddlyflex/save-ensemble/story-title]get[text]] }}} icon={{{ [[$:/temp/tiddlyflex/save-ensemble/story-title]get[icon]] }}}>\\n\\t\u003C$button>\u003C$macrocall $name=\\\"tiddlyflex-save-ensemble-actions\\\" ensembleTitle=\u003C\u003CensembleTitle>> icon=\u003C\u003Cicon>>/>Save\u003C/$button>\\n\u003C/$let>\\n\\n\u003Chr class=\\\"simple\\\">\\n\\n!! Load Ensemble\\n\\n\u003C$list filter=\\\"[all[tiddlers+shadows]prefix[$:/Ensemble/]]\\\" variable=\\\"ensembleTiddler\\\" storyview=\\\"pop\\\">\\n\\n\u003C$let ensembleName={{{ [\u003CensembleTiddler>removeprefix[$:/Ensemble/]] }}}>\\n\\n\u003C\u003Ctiddlyflex-ensemble-list>>\\n\\n\u003C/$let>\\n\\n\u003C/$list>\"},\"$:/core/ui/SideBar/Open\":{\"title\":\"$:/core/ui/SideBar/Open\",\"tags\":\"$:/tags/SideBar\",\"caption\":\"{{$:/language/SideBar/Open/Caption}}\",\"text\":\"\\\\whitespace trim\\n\\\\define lingo-base() $:/language/CloseAll/\\n\\n\\\\define drop-actions()\\n\u003C$action-listops $tiddler=\u003C\u003Ctv-story-list>> $subfilter=\\\"+[insertbefore\u003CactionTiddler>,\u003CcurrentTiddler>]\\\"/>\\n\\\\end\\n\\n\\\\define placeholder()\\n\u003Cdiv class=\\\"tc-droppable-placeholder\\\"/>\\n\\\\end\\n\\n\\\\define droppable-item(button)\\n\\\\whitespace trim\\n\u003C$droppable actions=\u003C\u003Cdrop-actions>> enable=\u003C\u003Ctv-allow-drag-and-drop>> tag=\\\"div\\\">\\n\u003C\u003Cplaceholder>>\\n\u003Cdiv>\\n$button$\\n\u003C/div>\\n\u003C/$droppable>\\n\\\\end\\n\\n\\\\procedure tiddlyflex-sidebar-tab-open()\\n\u003Cdiv class=\\\"tc-sidebar-tab-open\\\">\\n\u003C$list filter=\\\"[list\u003Ctv-story-list>]\\\" history=\u003C\u003Ctv-history-list>> storyview=\\\"tiddlypop\\\">\\n\u003Cdiv class=\\\"tc-sidebar-tab-open-item\\\">\\n\u003C$macrocall $name=\\\"droppable-item\\\" button=\\\"\u003C$button message='tm-close-tiddler' tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class='tc-btn-invisible tc-btn-mini tc-small-gap-right'>{{$:/core/images/close-button}}\u003C/$button>\u003C$link/>\\\"/>\\n\u003C/div>\\n\u003C/$list>\\n\u003C$tiddler tiddler=\\\"\\\">\\n\u003Cdiv>\\n\u003C$macrocall $name=\\\"droppable-item\\\" button=\\\"\u003C$button message='tm-close-all-tiddlers' class='tc-btn-invisible tc-btn-mini'>\u003C\u003Clingo Button>>\u003C/$button>\\\"/>\\n\u003C/div>\\n\u003C/$tiddler>\\n\u003C/div>\\n\\\\end\\n\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t\u003C$let currentColumn={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[[$:/columns]get[current-column]] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] ~1 }}} tv-story-list={{{ [[$:/StoryList-]addsuffix\u003CcurrentColumn>] }}} tv-history-list={{{ [[$:/HistoryList-]addsuffix\u003CcurrentColumn>] }}}>\\n\\t\\t\u003C\u003Ctiddlyflex-sidebar-tab-open>>\\n\\t\u003C/$let>\\n\u003C% else %>\\n\\t\u003C\u003Ctiddlyflex-sidebar-tab-open>>\\n\u003C% endif %>\"},\"$:/tags/TiddlyFlex/EditTemplate\":{\"title\":\"$:/tags/TiddlyFlex/EditTemplate\",\"list\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type $:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\"},\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\":{\"title\":\"$:/tags/TiddlyFlex/EditTemplateBodyFilter\",\"list\":\"$:/config/TiddlyFlex/EditTemplateBodyFilters/canonical-uri $:/config/TiddlyFlex/EditTemplateBodyFilters/default\"},\"$:/tags/TiddlyFlex/ViewTemplate\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"list\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic $:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\"},\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplateBodyFilter\",\"list\":\"$:/config/TiddlyFlex/ViewTemplateBodyFilters/hide-body $:/config/TiddlyFlex/ViewTemplateBodyFilters/code-body $:/config/TiddlyFlex/ViewTemplateBodyFilters/stylesheet $:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/TiddlyFlex/ViewTemplateBodyFilters/core-ui-tags $:/config/TiddlyFlex/ViewTemplateBodyFilters/system $:/config/TiddlyFlex/ViewTemplateBodyFilters/import $:/config/TiddlyFlex/ViewTemplateBodyFilters/plugin $:/config/TiddlyFlex/ViewTemplateBodyFilters/default\"},\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\":{\"title\":\"$:/tags/TiddlyFlex/ViewTemplateTitleFilter\",\"list\":\"$:/config/TiddlyFlex/ViewTemplateTitleFilters/system $:/config/TiddlyFlex/ViewTemplateTitleFilters/default\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-current\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-current\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}\",\"list-after\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-diffs-current>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-shadow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/diffs-shadow\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}\",\"list-after\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-diffs-shadow>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/preview/output\",\"tags\":\"$:/tags/EditPreview\",\"caption\":\"{{$:/language/EditTemplate/Body/Preview/Type/Output}}\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-preview-output>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/canonical-uri\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Body/\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-canonical-uri>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/default\",\"text\":\"\\\\function edit-preview-state()\\n[{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[\u003Cqualified-preview-state>] +[get[text]] :else[[no]]\\n\\\\end\\n\\n\\\\define config-visibility-title()\\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\\n\\\\end\\n\\n\\\\define importFileActions()\\n\u003C$action-popup $state=\u003C\u003CimportState>> $coords=\\\"(0,0,0,0)\\\" $floating=\\\"yes\\\"/>\\n\\\\end\\n\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/editor\",\"text\":\"\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body-editor>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body/toolbar/button\",\"text\":\"\u003C\u003Ctoolbar-button-outer>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/body\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-body>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/controls\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-controls>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default\",\"text\":\"\u003C\u003Ctdfp-tiddlyflex-edittemplate-fieldeditor-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fields\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define config-title()\\n$:/config/EditTemplateFields/Visibility/$(currentField)$\\n\\\\end\\n\\n\\\\define config-filter()\\n[[hide]] -[title{$(config-title)$}]\\n\\\\end\\n\\n\u003C!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->\\n\\\\define get-field-value-tiddler-filter() [subfilter\u003Cget-field-editor-filter>sha256[16]addprefix[/]addprefix\u003CnewFieldValueTiddlerPrefix>]\\n\\\\define get-field-editor-filter() [\u003CnewFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\define current-tiddler-new-field-selector()\\n[data-tiddler-title=\\\"$(currentTiddlerCSSescaped)$\\\"] .tc-edit-field-add-name-wrapper input\\n\\\\end\\n\\n\\\\define new-field-actions()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [\u003CnewFieldNameTiddler>get[text]] }}} $value={{{ [\u003CnewFieldNameTiddler>get[text]] :map[subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\u003C/$set>\\n\u003C$action-sendmessage $message=\\\"tm-focus-selector\\\" $param=\u003C\u003Ccurrent-tiddler-new-field-selector>>/>\\n\\\\end\\n\\n\\\\define delete-state-tiddlers() \u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\\n\\\\define cancel-search-actions-inner()\\n\\\\whitespace trim\\n\u003C$list\\n\\tfilter=\\\"[\u003CstoreTitle>has[text]] [\u003CnewFieldNameTiddler>has[text]]\\\"\\n\\tvariable=\\\"ignore\\\"\\n\\temptyMessage=\\\"\u003C\u003Ccancel-delete-tiddler-actions 'cancel'>>\\\">\\n\u003C\u003Cdelete-state-tiddlers>>\\n\u003C/$list>\\n\\\\end\\n\\n\\\\define cancel-search-actions()\\n\\\\whitespace trim\\n\u003C$set name=\\\"userInput\\\" value={{{ [\u003CstoreTitle>get[text]] }}}>\\n\u003C$list\\n\\tfilter=\\\"[\u003CnewFieldNameTiddler>get[text]!match\u003CuserInput>]\\\"\\n\\temptyMessage=\\\"\u003C\u003Ccancel-search-actions-inner>>\\\">\\n\u003C$action-setfield $tiddler=\u003C\u003CnewFieldNameTiddler>> text=\u003C\u003CuserInput>>/>\u003C$action-setfield $tiddler=\u003C\u003CrefreshTitle>> text=\\\"yes\\\"/>\\n\u003C/$list>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\define new-field()\\n\\\\whitespace trim\\n\u003C$vars name={{{ [\u003CnewFieldNameTiddler>get[text]] }}}>\\n\u003C$reveal type=\\\"nomatch\\\" text=\\\"\\\" default=\u003C\u003Cname>>>\\n\u003C$button tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\"\\n$name=\u003C\u003Cname>>\\n$value={{{ [subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CstoreTitle>] [\u003CsearchListState>]\\\"/>\\n\u003C/$set>\\n\u003C\u003Clingo Fields/Add/Button>>\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C$reveal type=\\\"match\\\" text=\\\"\\\" default=\u003C\u003Cname>>>\\n\u003C$button>\\n\u003C\u003Clingo Fields/Add/Button>>\\n\u003C/$button>\\n\u003C/$reveal>\\n\u003C/$vars>\\n\\\\end\\n\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-fields>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/shadow\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/Shadow/\\n\\\\define pluginLinkBody()\\n\\\\whitespace trim\\n\u003C$link to=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\">\\n\u003C$text text=\\\"\\\"\\\"$(pluginTitle)$\\\"\\\"\\\"/>\\n\u003C/$link>\\n\\\\end\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-shadow>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/tags\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\\n\\\\procedure lingo-base() $:/language/EditTemplate/\\n\\n\u003C$let saveTiddler=\u003C\u003CcurrentTiddler>>>\\n\\t\u003C$macrocall $name=\\\"edit-tags-template\\\" tagField=\u003C\u003CtagField>>/>\\n\u003C/$let>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/title\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-title>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/type\",\"tags\":\"$:/tags/TiddlyFlex/EditTemplate\",\"first-search-filter\":\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search\u003CuserInput>]\",\"text\":\"\\\\define lingo-base() $:/language/EditTemplate/\\n\\\\define input-cancel-actions() \u003C$list filter=\\\"[\u003CstoreTitle>get[text]] [\u003CcurrentTiddler>get[type]] +[limit[1]]\\\" emptyMessage=\\\"\\\"\\\"\u003C\u003Ccancel-delete-tiddler-actions \\\"cancel\\\">>\\\"\\\"\\\">\u003C$action-sendmessage $message=\\\"tm-remove-field\\\" $param=\\\"type\\\"/>\u003C$action-deletetiddler $filter=\\\"[\u003CtypeInputTiddler>] [\u003CrefreshTitle>] [\u003CtypeSelectionTiddler>]\\\"/>\u003C/$list>\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edittemplate-type>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/EditTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\procedure delete-edittemplate-state-tiddlers()\\n\u003C$set name=\\\"safeNewFieldValueTiddlerPrefix\\\" value=\u003C\u003CnewFieldValueTiddlerPrefix>> emptyValue=\u003C\u003Cqualify \\\"$:/temp/NewFieldValue\\\">> >\\n\\t\u003C$action-deletetiddler $filter=\\\"[\u003CnewFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix\u003CsafeNewFieldValueTiddlerPrefix>] [\u003CnewFieldNameInputTiddler>] [\u003CnewFieldNameSelectionTiddler>] [\u003CnewTagNameTiddler>] [\u003CnewTagNameInputTiddler>] [\u003CnewTagNameSelectionTiddler>] [\u003CtypeInputTiddler>] [\u003CtypeSelectionTiddler>]\\\"/>\\n\u003C/$set>\\n\\\\end\\n\\n\\\\procedure save-tiddler-actions()\\n\\\\whitespace trim\\n\u003C$action-sendmessage $message=\\\"tm-add-tag\\\" $param={{{ [\u003CnewTagNameTiddler>get[text]] }}}/>\\n\u003C$action-sendmessage $message=\\\"tm-add-field\\\" $name={{{ [\u003CnewFieldNameTiddler>get[text]] }}} $value={{{ [\u003CnewFieldNameTiddler>get[text]] :map[subfilter\u003Cget-field-value-tiddler-filter>get[text]] }}}/>\\n\u003C\u003Cdelete-edittemplate-state-tiddlers>>\\n\u003C$action-sendmessage $message=\\\"tm-save-tiddler\\\"/>\\n\\\\end\\n\\n\\\\define cancel-delete-tiddler-actions(message)\\n\u003C%if [[$message$]match[delete]] %>\\n\\t\u003C\u003Ctiddlyflex-delete-draft-tiddler-actions>>\\n\u003C% elseif [[$message$]match[cancel]] %>\\n\\t\u003C\u003Ctiddlyflex-cancel-draft-tiddler-actions>>\\n\u003C% endif %>\\n\\\\end\\n\\n\\\\procedure get-field-value-tiddler-filter() [subfilter\u003Cget-field-editor-filter>sha256[16]addprefix[/]addprefix\u003CnewFieldValueTiddlerPrefix>]\\n\\\\procedure get-field-editor-filter() [\u003CnewFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/plugins/BTC/TiddlyFlex/ui/EditTemplate/fieldEditor/default}]\\n\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-edit-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ListItemTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-templates-list-item-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/TagTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-templates-tag-template>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/code\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-code>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/default\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/import\",\"text\":\"\\\\procedure lingo-base() $:/language/Import/\\n\\n\\\\procedure confirmCancel()\\n\\\\whitespace trim\\n\u003C$action-confirm $message={{$:/language/Import/Listing/Cancel/Warning}} >\\n\u003C$action-deletetiddler $tiddler=\u003C\u003CcurrentTiddler>>/>\\n\u003C$action-sendmessage $message=\\\"tm-close-tiddler\\\" title=\u003C\u003CcurrentTiddler>>/>\\n\u003C/$action-confirm>\\n\\\\end\\n\\n\\\\procedure buttons()\\n\\\\whitespace trim\\n\u003C$button actions=\u003C\u003CconfirmCancel>> >\u003C\u003Clingo Listing/Cancel/Caption>>\u003C/$button>\\n \\n\u003C$button message=\\\"tm-perform-import\\\" param=\u003C\u003CcurrentTiddler>>>\u003C\u003Clingo Listing/Import/Caption>>\u003C/$button>\\n \\n\u003C\u003Clingo Listing/Preview>> \u003C$select tiddler=\\\"$:/state/importpreviewtype\\\" default=\\\"$:/core/ui/ImportPreviews/Text\\\">\\n\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\\\">\\n\u003Coption value=\u003C\u003CcurrentTiddler>>>{{!!caption}}\u003C/option>\\n\u003C/$list>\\n\u003C/$select>\\n\\\\end\\n\\\\whitespace trim\\n\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-import>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/plugin\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-plugin>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body/rendered-plain-text\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body-rendered-plain-text>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/body\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-body>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/classic\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate $:/tags/TiddlyFlex/EditTemplate\",\"text\":\"\\\\define lingo-base() $:/language/ClassicWarning/\\n\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-classic>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modified\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modified\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate/Subtitle\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle-modified>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modifier\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle/modifier\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate/Subtitle\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle-modifier>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/subtitle\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-subtitle>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/tags\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-tags>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/default\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title-default>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title/system\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title-system>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/title\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\\\\define title-styles() fill:$(foregroundColor)$;\\n\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-title>>\\n\"},\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/ViewTemplate/unfold\",\"tags\":\"$:/tags/TiddlyFlex/ViewTemplate\",\"text\":\"\\\\whitespace trim\\n\u003C\u003Ctdfp-tiddlyflex-viewtemplate-unfold>>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/ViewTemplate\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\define folded-state()\\n$:/state/folded/$(currentTiddler)$\\n\\\\end\\n\\\\define cancel-delete-tiddler-actions(message) \u003C$action-sendmessage $message=\\\"tm-$message$-tiddler\\\"/>\\n\\\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View]!is[draft]]\\n\u003C$vars storyTiddler=\u003C\u003CcurrentTiddler>> tiddlerInfoState=\u003C\u003Cqualify \\\"$:/state/popup/tiddler-info\\\">>>\\n\\t\u003Cdiv data-tiddler-title=\u003C\u003CcurrentTiddler>> data-tags={{!!tags}} class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] [subfilter\u003Ctdff.tiddlyflex-enlist-columns>count[]addprefix[tc-tiddlyflex-column-]] tc-tiddler-view-frame [\u003CcurrentTiddler>is[tiddler]then[tc-tiddler-exists]] [\u003CcurrentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [\u003CcurrentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [\u003CcurrentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [\u003CcurrentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [\u003CcurrentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}} role=\\\"article\\\">\\n\\t\\t\u003C$tiddlyflex-draggable enable={{{ [{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/tiddlyflex/story-river/fullscreen/]addsuffix\u003CcurrentTiddler>is[missing]then[yes]] ~[[no]] }}} tiddler=\u003C\u003CcurrentTiddler>> startactions=\u003C\u003Ctiddlyflex-drag-start-actions>> endactions=\u003C\u003Ctiddlyflex-drag-end-actions>> class=\\\"tc-tiddler-frame\\\">\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TiddlyFlex/ViewTemplate]!is[draft]]\\\" variable=\\\"listItem\\\">\\n\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\\t\u003C/$list>\\n\\t\\t\\t\u003C% if [{$:/state/dragging}match[yes]then{$:/state/tiddlyflex/story-river/tiddler/drag-enabled}match[yes]then[$:/state/story-river/full-screen/]addsuffix\u003CcurrentTiddler>is[missing]] %>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-top-half\\\" actions=\u003C\u003Ctiddlyflex-top-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-top-dragenter-actions>>/>\\n\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-droppable-bottom-half\\\" actions=\u003C\u003Ctiddlyflex-bottom-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-bottom-dragenter-actions>>/>\\n\\t\\t\\t\u003C% endif %>\\n\\t\\t\u003C/$tiddlyflex-draggable>\\n\\t\u003C/div>\\n\u003C/$vars>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/drafts\",\"text\":\"\\\\whitespace trim\\n\u003C$reveal state=\\\"$:/status/IsReadOnly\\\" type=\\\"nomatch\\\" text=\\\"yes\\\" tag=\\\"div\\\" class=\\\"tc-drafts-list tc-tiddlyflex-drafts-list\\\">\\n\u003C$list filter=\\\"[is[draft]!sort[modified]] -[all[tiddlers]prefix[$:/StoryList-]get[list]enlist-input[]]\\\">\\n\u003C$link>\\n\u003Cspan class=\\\"tc-small-gap-right\\\">{{$:/core/images/edit-button}}\u003C/span>\u003C$text text=\u003C\u003CcurrentTiddler>>/>\\n\u003C/$link>\\n\u003C/$list>\\n\u003C/$reveal>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/sidebar\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\define config-title()\\n$:/config/SideBarSegments/Visibility/$(listItem)$\\n\\\\end\\n\\n\u003C$scrollable class=\\\"tc-tiddlyflex-sidebar-scrollable\\\" fallthrough=\\\"no\\\">\\n\\n\\t\u003Cdiv class=\\\"tc-sidebar-header\\\">\\n\\n\\t\\t\u003C$reveal state=\\\"$:/state/sidebar\\\" type=\\\"match\\\" text=\\\"yes\\\" default=\\\"yes\\\" animate=\\\"yes\\\">\\n\\n\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\\\" variable=\\\"listItem\\\">\\n\\n\\t\\t\\t\\t\u003C$reveal type=\\\"nomatch\\\" state=\u003C\u003Cconfig-title>> text=\\\"hide\\\" tag=\\\"div\\\">\\n\\n\\t\\t\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>> mode=\\\"block\\\"/>\\n\\n\\t\\t\\t\\t\u003C/$reveal>\\n\\n\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\u003C/$reveal>\\n\\n\\t\u003C/div>\\n\\n\u003C/$scrollable>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Templates/story\",\"code-body\":\"yes\",\"text\":\"\\\\whitespace trim\\n\\\\procedure tiddlyflex-filtered-story-list()\\n\\n\u003C$list filter=\u003C\u003Ctdff.tiddlyflex-story-river-filter>> history=\u003C\u003Ctv-history-list>> template=\\\"$:/core/ui/StoryTiddlerTemplate\\\" storyview=\\\"tiddlyflex\\\" emptyMessage={{{ [list\u003Ctv-story-list>limit[1]then[]else{$(emptyMessageTiddler)$}] }}}/>\\n\\n\\\\end\\n\u003Cdiv class={{{ [subfilter\u003Ctdff.tiddlyflex-enlist-columns>] :intersection[{$:/columns!!current-column}] ~[subfilter\u003Ctdff.tiddlyflex-current-column-filtered>] +[match\u003CtiddlyFlexColumn>then[tc-tiddlyflex-story-river-active]] [[tc-tiddlyflex-story-river-wrapper-inner]] [[tc-tiddlyflex-story-river-]addsuffix\u003CtiddlyFlexColumn>] :and[unique[]join[ ]] }}}>\\n\\n\\t\u003C$dropzone enable={{{ [tdff.tiddlyflex-fullscreen[]is[blank]then\u003Ctv-enable-drag-and-drop>] }}} class={{{ [\u003CtiddlyFlexColumn>!is[blank]addprefix[tc-tiddlyflex-dropzone-]] ~tc-tiddlyflex-dropzone-1 }}} importTitle={{{ [[$:/Import-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\u003C$eventcatcher selector=\\\".tc-tiddlyflex-activate-column\\\" matchSelector=\\\".tc-tiddlyflex-activate-column\\\" $click=\u003C\u003Ctiddlyflex-activate-column-actions>> class=\\\"tc-tiddlyflex-active-column-wrapper\\\">\\n\\n\\t\\t\\t\u003Ca class=\\\"tc-btn-invisible tc-tiddlyflex-activate-column\\\"/>\\n\\n\\t\\t\u003C/$eventcatcher>\\n\\n\\t\\t\u003Csection class=\\\"tc-tiddlyflex-story-river\\\" role=\\\"main\\\">\\n\\n\\t\\t\\t\u003Csection class=\\\"story-backdrop\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"aboveStoryTag\\\" value={{{ [[$:/tags/AboveStory-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CaboveStoryTag>!is[draft]]\\\">\\n\\n\\t\\t\\t\\t\\t\\t\u003C$transclude/>\\n\\n\\t\\t\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\\t\u003Csection class=\\\"tc-tiddlyflex-story-river-inner\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"emptyMessageTiddler\\\" value={{{ [[$:/config/EmptyStoryMessage-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C\u003Ctiddlyflex-filtered-story-list>>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\\t\u003C%if [{$:/state/dragging}match[yes]] %>\\n\\n\\t\\t\\t\\t\\t\u003C$droppable class=\\\"tc-tiddlyflex-below-story-river-droppable\\\" actions=\u003C\u003Ctiddlyflex-story-droppable-drop-actions>> dragenteractions=\u003C\u003Ctiddlyflex-story-droppable-dragenter-actions>>/>\\n\\n\\t\\t\\t\\t\u003C% endif %>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\\t\u003Csection class=\\\"story-frontdrop\\\">\\n\\n\\t\\t\\t\\t\u003C$set name=\\\"belowStoryTag\\\" value={{{ [[$:/tags/BelowStory-]addsuffix\u003CtiddlyFlexColumn>] }}}>\\n\\n\\t\\t\\t\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag\u003CbelowStoryTag>!is[draft]]\\\">\\n\\n\\t\\t\\t\\t\\t\\t\u003C$transclude/>\\n\\n\\t\\t\\t\\t\\t\u003C/$list>\\n\\n\\t\\t\\t\\t\u003C/$set>\\n\\n\\t\\t\\t\u003C/section>\\n\\n\\t\\t\u003C/section>\\n\\n\\t\u003C/$dropzone>\\n\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/PluginReloadWarning\",\"text\":\"\\\\define lingo-base() $:/language/\\n\\n\u003Cdiv class=\\\"tc-plugin-reload-warning\\\">\\n\\n\u003C$set name=\\\"tv-config-toolbar-class\\\" value=\\\"\\\">\\n\\n\u003C\u003Clingo PluginReloadWarning>>\u003C$button set=\\\"$:/temp/HidePluginWarning\\\" setTo=\\\"yes\\\" class=\\\"tc-btn-invisible tc-small-gap-left\\\">{{$:/core/images/close-button}}\u003C/$button>\\n\\n\u003C/$set>\\n\\n\u003C/div>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/Segments/search\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/Segments/search\",\"tags\":\"$:/tags/TopLeftBar\",\"text\":\"\\\\whitespace trim\\n\u003C%if [tdff.tiddlyflex-layout[]] %>\\n\\t{{$:/core/ui/SideBarSegments/search}}\\n\u003C% endif %>\"},\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/TopToolbar\":{\"title\":\"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/TopToolbar\",\"caption\":\"Top ~TiddlyFlex Toolbar\",\"description\":\"The standard Top ~TiddlyFlex Toolbar\",\"tags\":\"$:/tags/TopToolbar\",\"text\":\"\\\\whitespace trim\\n\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar\\\">\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-left\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopLeftToolbarItems/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/div>\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-center\\\">\\n\\n\\t\u003C/div>\\n\\t\u003Cdiv class=\\\"tc-tiddlyflex-top-toolbar-right\\\">\\n\\t\\t\u003C$list filter=\\\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopRightToolbarItems/Visibility/]!match[hide]]\\\" variable=\\\"listItem\\\" storyview=\\\"pop\\\">\\n\\t\\t\\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\\n\\t\\t\u003C/$list>\\n\\t\u003C/div>\\n\u003C/div>\"}}}","revision":"0","bag":"default"}
,
{"title":"$:/plugins/BTC/TiddlyFlex/ui/Toolbars/TopToolbar","caption":"Top ~TiddlyFlex Toolbar","description":"The standard Top ~TiddlyFlex Toolbar","modified":"20240919025018579","tags":"$:/tags/TopToolbar","type":"text/vnd.tiddlywiki","text":"\\whitespace trim\n\u003Cdiv class=\"tc-tiddlyflex-top-toolbar\">\n\t\u003Cdiv class=\"tc-tiddlyflex-top-toolbar-left\">\n\t\t\u003C$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopLeftToolbarItems/Visibility/]!match[hide]]\" variable=\"listItem\" storyview=\"pop\">\n\t\t\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\n\t\t\u003C/$list>\n\t\u003C/div>\n\t\u003Cdiv class=\"tc-tiddlyflex-top-toolbar-center\">\n\n\t\u003C/div>\n\t\u003Cdiv class=\"tc-tiddlyflex-top-toolbar-right\">\n\t\t\u003C$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!is[draft]] :filter[lookup[$:/config/TiddlyFlex/Toolbars/TopRightToolbarItems/Visibility/]!match[hide]]\" variable=\"listItem\" storyview=\"pop\">\n\t\t\t\u003C$transclude tiddler=\u003C\u003ClistItem>>/>\n\t\t\u003C/$list>\n\t\u003C/div>\n\u003C/div>","revision":"0","bag":"default"}
,
@@ -395,7 +395,7 @@
,
{"title":"$:/StoryList-2","created":"20240919025018579","list":"[[Star me on GitHub]] [[Resize the sidebar by dragging]] [[Filter the story lists]] [[Keyboard Shortcuts]] [[Tiddler Links]] [[Headers & Footers]]","modified":"20240919063703776","type":"text/vnd.tiddlywiki","revision":"0","bag":"default"}
,
-{"title":"$:/StoryList-3","created":"20240919025018579","list":"[[I am Mr. Van Gogh]] [[I am one of that guy's paintings]] [[Nikola Tesla - With his equipment]] [[The Birth of Venus]] [[The Great Wave off the Coast of Kanagawa]]","modified":"20240919030529510","type":"text/vnd.tiddlywiki","revision":"0","bag":"default"}
+{"title":"$:/StoryList-3","created":"20240919025018579","list":"[[I am Mr. Van Gogh]] [[I am one of that guy's paintings]] [[Nikola Tesla - With his equipment]] [[The Birth of Venus]] [[The Great Wave off the Coast of Kanagawa]]","modified":"20240919112231104","type":"text/vnd.tiddlywiki","revision":"0","bag":"default"}
,
{"title":"$:/themes/tiddlywiki/snowwhite","name":"Snow White","author":"JeremyRuston","core-version":">=5.0.0","plugin-type":"theme","description":"Emphasises individual tiddlers","dependents":"$:/themes/tiddlywiki/vanilla","plugin-priority":"0","version":"5.3.6-prerelease","type":"application/json","text":"{\"tiddlers\":{\"$:/themes/tiddlywiki/snowwhite/base\":{\"title\":\"$:/themes/tiddlywiki/snowwhite/base\",\"tags\":\"[[$:/tags/Stylesheet]]\",\"text\":\"\\\\define sidebarbreakpoint-minus-one()\\n\u003C$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\\n\\\\end\\n\\n\\\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\\n\\n.tc-sidebar-header {\\n\\ttext-shadow: 0 1px 0 \u003C\u003Ccolour sidebar-foreground-shadow>>;\\n}\\n\\n.tc-tiddler-info {\\n\\t\u003C\u003Cbox-shadow \\\"inset 1px 2px 3px rgba(0,0,0,0.1)\\\">>\\n}\\n\\n@media screen {\\n\\t.tc-tiddler-frame {\\n\\t\\t\u003C\u003Cbox-shadow \\\"1px 1px 5px rgba(0, 0, 0, 0.3)\\\">>\\n\\t}\\n}\\n\\n@media (max-width: \u003C\u003Csidebarbreakpoint-minus-one>>) {\\n\\t.tc-tiddler-frame {\\n\\t\\t\u003C\u003Cbox-shadow none>>\\n\\t}\\n}\\n\\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\\n\\t\u003C\u003Ctransition \\\"fill 150ms ease-in-out\\\">>\\n}\\n\\n.tc-tiddler-controls button.tc-selected,\\n.tc-page-controls button.tc-selected {\\n\\t\u003C\u003Cfilter \\\"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\\\">>\\n}\\n\\n.tc-tiddler-frame input.tc-edit-texteditor,\\n.tc-tiddler-frame select.tc-edit-texteditor {\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 8px rgba(0, 0, 0, 0.15)\\\">>\\n}\\n\\n.tc-edit-tags {\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 8px rgba(0, 0, 0, 0.15)\\\">>\\n}\\n\\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\\n\\t\u003C\u003Cbox-shadow \\\"none\\\">>\\n\\tborder: none;\\n\\toutline: none;\\n}\\n\\ntextarea.tc-edit-texteditor {\\n\\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\\n}\\n\\ncanvas.tc-edit-bitmapeditor {\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 5px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-drop-down {\\n\\tborder-radius: 4px;\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 10px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-block-dropdown {\\n\\tborder-radius: 4px;\\n\\t\u003C\u003Cbox-shadow \\\"2px 2px 10px rgba(0, 0, 0, 0.5)\\\">>\\n}\\n\\n.tc-modal {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.3)\\\">>\\n}\\n\\n.tc-modal-footer {\\n\\tborder-radius: 0 0 6px 6px;\\n\\t\u003C\u003Cbox-shadow \\\"inset 0 1px 0 #fff\\\">>;\\n}\\n\\n\\n.tc-alert {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.6)\\\">>\\n}\\n\\n.tc-notification {\\n\\tborder-radius: 6px;\\n\\t\u003C\u003Cbox-shadow \\\"0 3px 7px rgba(0,0,0,0.3)\\\">>\\n\\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\\n}\\n\\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\\n\\tborder-top: none;\\n\\theight: 1px;\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\\\">>\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\\\">>\\n}\\n\\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\\n\\t\u003C\u003Cbackground-linear-gradient \\\"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\\\">>\\n}\\n\\n.tc-message-box img {\\n\\t\u003C\u003Cbox-shadow \\\"1px 1px 3px rgba(0,0,0,0.5)\\\">>\\n}\\n\\n.tc-plugin-info {\\n\\t\u003C\u003Cbox-shadow \\\"1px 1px 3px rgba(0,0,0,0.5)\\\">>\\n}\\n\"}}}","revision":"0","bag":"default"}
,