{"\"up to us\" vs externals":"ethicsatwes-teacher","$ $:/plugins/danielo/encryptTiddler/crypt-button$":"ethicsatwes-teacher","$:/.jp/css/blockquote":"ethicsatwes-teacher","$:/.jp/css/quote":"ethicsatwes-teacher","$:/.tb/macros/linkimg":"ethicsatwes-teacher","$:/.tb/ui/AdvancedSearch/Field":"ethicsatwes-teacher","$:/AdvancedSearch":"ethicsatwes-teacher","$:/ControlPanel":"ethicsatwes-teacher","$:/CurvedText":"ethicsatwes-teacher","$:/DefaultTiddlers":"ethicsatwes-teacher","$:/Justice-b1":"ethicsatwes-teacher","$:/KE":"ethicsatwes-teacher","$:/LinkStyle/Stylesheet":"ethicsatwes-teacher","$:/PrintList":"ethicsatwes-teacher","$:/SVGExampleRadius":"ethicsatwes-teacher","$:/SiteSubtitle":"ethicsatwes-teacher","$:/SiteTitle":"ethicsatwes-teacher","$:/UploadName":"ethicsatwes-teacher","$:/UploadURL":"ethicsatwes-teacher","$:/_TWaddle/Stretch/CSS":"ethicsatwes-teacher","$:/_TWaddle/Stretch/Macro":"ethicsatwes-teacher","$:/_telmiger/ref":"ethicsatwes-teacher","$:/_telmiger/strex":"ethicsatwes-teacher","$:/_telmiger/strex.css":"ethicsatwes-teacher","$:/_telmiger/utils/HashStr.js":"ethicsatwes-teacher","$:/_tw-scholars/doc/macros/slider_accordion":"ethicsatwes-teacher","$:/_tw-scholars/tab/features":"ethicsatwes-teacher","$:/config/AnimationDuration":"ethicsatwes-teacher","$:/config/AutoSave":"ethicsatwes-teacher","$:/config/BitmapEditor/Colour":"ethicsatwes-teacher","$:/config/BitmapEditor/LineWidth":"ethicsatwes-teacher","$:/config/BitmapEditor/Opacity":"ethicsatwes-teacher","$:/config/ColourPicker/Recent":"ethicsatwes-teacher","$:/config/Comments/EnableFilter":"ethicsatwes-teacher","$:/config/DefaultSidebarTab":"ethicsatwes-teacher","$:/config/DownloadSaver/AutoSave":"ethicsatwes-teacher","$:/config/EditTabIndex":"ethicsatwes-teacher","$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/linkify":"ethicsatwes-teacher","$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/transcludify":"ethicsatwes-teacher","$:/config/EditorTypeMappings/text/vnd.tiddlywiki":"ethicsatwes-teacher","$:/config/Manager/Filter":"ethicsatwes-teacher","$:/config/Manager/System":"ethicsatwes-teacher","$:/config/Manager/Tag":"ethicsatwes-teacher","$:/config/MuuriTouch/ColumnCount":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/control-panel":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-tiddler":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/save-wiki":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/BTC/tiddly-touch/Buttons/change-view":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/BurningTreeC/muuritouch/ui/Buttons/dragging":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/BurningTreeC/muuritouch/ui/Buttons/visibility":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/aaldrich/tables/button":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/kookma/commander/buttons/pagecontrol":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/kookma/utility/pagecontrol/view-fields-button":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/$:/plugins/telmiger/ReaderMode/ui/Buttons/drag":"ethicsatwes-teacher","$:/config/PageControlButtons/Visibility/AddMicroessay":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/BTC/tiddly-touch":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/KeeBoord":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/PrintRiver":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/muuritouch":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/TWaddle/ListTree":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/aaldrich/tables":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/ajh/favorites":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/bimlas/highlight-searched-text":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/danielo/encryptTiddler":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/danielo515/ContextPlugin":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/danielo515/encryptTiddler":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/eucaly/popuptagger":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/hchaase/toc_counting":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/ihm/tidgraph":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/jd/NTFS":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/jd/NTFS19":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/jd/fullscreen-editor":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/kookma/commander":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/kookma/refnotes":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/kookma/shiraz":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/kookma/utility":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/mklauber/aliases":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/mklauber/shuffle":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/sk/FancyQuotes":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/snowgoon88/edit-comptext":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/ColorAction":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/EditorCounter":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/ReaderMode":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/details":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/listreveal":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/telmiger/rpn":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tgrosinger/tw5-checklist":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/comments":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/tw2parser":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/appear":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/inc":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/plantuml":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/preview":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/sparkl":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/tobibeer/split":"ethicsatwes-teacher","$:/config/Plugins/Disabled/$:/plugins/wikilabs/uni-link":"ethicsatwes-teacher","$:/config/RelinkOnRename":"ethicsatwes-teacher","$:/config/TextEditor/EditorHeight/Height":"ethicsatwes-teacher","$:/config/TextEditor/EditorHeight/Mode":"ethicsatwes-teacher","$:/config/Tiddlers/TitleLinks":"ethicsatwes-teacher","$:/config/TimestampDisable":"ethicsatwes-teacher","$:/config/Toolbar/Text":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/jd/fullscreen-editor/EditButton":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/plugins/ajh/favorites/template":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/$:/plugins/danielo/encryptTiddler/crypt-button":"ethicsatwes-teacher","$:/config/ViewToolbarButtons/Visibility/Draft of '$:/plugins/danielo/encryptTiddler/crypt-button' by espringer":"ethicsatwes-teacher","$:/config/WikiParserRules/Inline/wikilink":"ethicsatwes-teacher","$:/config/fa5/decorate-extlinks":"ethicsatwes-teacher","$:/config/flibbles/relink/fields/keywords":"ethicsatwes-teacher","$:/config/flibbles/relink/fields/vocabulary":"ethicsatwes-teacher","$:/config/listreveal-mode":"ethicsatwes-teacher","$:/core/macros/timeline":"ethicsatwes-teacher","$:/core/macros/toc":"ethicsatwes-teacher","$:/core/ui/ControlPanel/Plugins":"ethicsatwes-teacher","$:/core/ui/ControlPanel/Toolbars":"ethicsatwes-teacher","$:/core/ui/ControlPanel/Toolbars/ViewToolbar":"ethicsatwes-teacher","$:/core/ui/PageTemplate/drafts":"ethicsatwes-teacher","$:/core/ui/PageTemplate/story":"ethicsatwes-teacher","$:/core/ui/SideBar/More":"ethicsatwes-teacher","$:/core/ui/SideBar/Tools":"ethicsatwes-teacher","$:/core/ui/SideBarSegments/tabs":"ethicsatwes-teacher","$:/core/ui/ViewTemplate/TOCgeneric":"ethicsatwes-teacher","$:/core/ui/ViewTemplate/subtitle":"ethicsatwes-teacher","$:/core/ui/ViewTemplate/tags":"ethicsatwes-teacher","$:/excerpts":"ethicsatwes-teacher","$:/favicon.ico":"ethicsatwes-teacher","$:/fullscreen-editor":"ethicsatwes-teacher","$:/images/fa5/solid/thumbs-up":"ethicsatwes-teacher","$:/images/fa5/solid/user":"ethicsatwes-teacher","$:/jd/macros/paragraphs":"ethicsatwes-teacher","$:/keepstate/dynamictables/submissions overview list/style":"ethicsatwes-teacher","$:/keepstate/dynamictables/this oq overview list/style":"ethicsatwes-teacher","$:/keepstate/utility/toggle-view-fields":"ethicsatwes-teacher","$:/language/MissingTiddler/Hint":"ethicsatwes-teacher","$:/palette":"ethicsatwes-teacher","$:/palettes/Blanca_wes":"ethicsatwes-teacher","$:/palettes/Nord":"ethicsatwes-teacher","$:/pleasure b1":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/CSS":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/EmptyStoryMessage":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/PageTemplate/muuri":"ethicsatwes-teacher","$:/plugins/BTC/tiddly-touch/config":"ethicsatwes-teacher","$:/plugins/BurningTreeC/KeeBoord":"ethicsatwes-teacher","$:/plugins/BurningTreeC/PrintRiver":"ethicsatwes-teacher","$:/plugins/BurningTreeC/muuritouch":"ethicsatwes-teacher","$:/plugins/BurningTreeC/muuritouch/config":"ethicsatwes-teacher","$:/plugins/HCHaase/TOCgeneric":"ethicsatwes-teacher","$:/plugins/HCHaase/TOCgeneric/ViewTemplate":"ethicsatwes-teacher","$:/plugins/OokTech/WordCount":"ethicsatwes-teacher","$:/plugins/TheDiveO/FontAwesome":"ethicsatwes-teacher","$:/plugins/aaldrich/tables":"ethicsatwes-teacher","$:/plugins/ajh/favorites":"ethicsatwes-teacher","$:/plugins/ajh/favorites/list":"ethicsatwes-teacher","$:/plugins/ajh/favorites/template":"ethicsatwes-teacher","$:/plugins/ajh/tiddlytime":"ethicsatwes-teacher","$:/plugins/ajh/tiddlytime/stylesheet":"ethicsatwes-teacher","$:/plugins/bimlas/highlight-searched-text":"ethicsatwes-teacher","$:/plugins/chanilino/viz":"ethicsatwes-teacher","$:/plugins/danielo/encryptTiddler/crypt-button$":"ethicsatwes-teacher","$:/plugins/danielo515/ContextPlugin":"ethicsatwes-teacher","$:/plugins/danielo515/encryptTiddler":"ethicsatwes-teacher","$:/plugins/eucaly/popuptagger":"ethicsatwes-teacher","$:/plugins/eucaly/popuptagger/TagBar":"ethicsatwes-teacher","$:/plugins/eucaly/popuptagger/config":"ethicsatwes-teacher","$:/plugins/eucaly/quickjump":"ethicsatwes-teacher","$:/plugins/eucaly/quickjump/macros":"ethicsatwes-teacher","$:/plugins/flibbles/relink":"ethicsatwes-teacher","$:/plugins/hchaase/toc_counting":"ethicsatwes-teacher","$:/plugins/jd/NTFS19":"ethicsatwes-teacher","$:/plugins/jd/fullscreen-editor":"ethicsatwes-teacher","$:/plugins/kookma/commander":"ethicsatwes-teacher","$:/plugins/kookma/shiraz":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/macros/dtables/table-dynamic":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/styles/misc/edit-buttons":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/styles/misc/ui-buttons":"ethicsatwes-teacher","$:/plugins/kookma/shiraz/styles/multicols/storyriver":"ethicsatwes-teacher","$:/plugins/kookma/utility":"ethicsatwes-teacher","$:/plugins/kookma/utility/ui/ControlPanel/Settings":"ethicsatwes-teacher","$:/plugins/kookma/utility/viewtemplate/view-fields":"ethicsatwes-teacher","$:/plugins/mklauber/aliases":"ethicsatwes-teacher","$:/plugins/mklauber/shuffle":"ethicsatwes-teacher","$:/plugins/sk/FancyQuotes":"ethicsatwes-teacher","$:/plugins/snowgoon88/edit-comptext":"ethicsatwes-teacher","$:/plugins/telmiger/ColorAction/usage":"ethicsatwes-teacher","$:/plugins/telmiger/EditorCounter":"ethicsatwes-teacher","$:/plugins/telmiger/HarveyBalls":"ethicsatwes-teacher","$:/plugins/telmiger/PluginSize":"ethicsatwes-teacher","$:/plugins/telmiger/ReaderMode":"ethicsatwes-teacher","$:/plugins/telmiger/ReaderMode/story.css":"ethicsatwes-teacher","$:/plugins/telmiger/WMR":"ethicsatwes-teacher","$:/plugins/telmiger/details":"ethicsatwes-teacher","$:/plugins/telmiger/listreveal":"ethicsatwes-teacher","$:/plugins/telmiger/rpn":"ethicsatwes-teacher","$:/plugins/tgrosinger/tw5-checklist":"ethicsatwes-teacher","$:/plugins/tiddlywiki/comments":"ethicsatwes-teacher","$:/plugins/tiddlywiki/hammerjs":"ethicsatwes-teacher","$:/plugins/tobibeer/appear":"ethicsatwes-teacher","$:/plugins/tobibeer/appear/styles":"ethicsatwes-teacher","$:/plugins/tobibeer/inc":"ethicsatwes-teacher","$:/plugins/tobibeer/plantuml":"ethicsatwes-teacher","$:/plugins/tobibeer/preview":"ethicsatwes-teacher","$:/plugins/tobibeer/preview/defaults/delay":"ethicsatwes-teacher","$:/plugins/tobibeer/preview/defaults/exclude":"ethicsatwes-teacher","$:/plugins/tobibeer/preview/defaults/not":"ethicsatwes-teacher","$:/plugins/tobibeer/random":"ethicsatwes-teacher","$:/plugins/tobibeer/setvars":"ethicsatwes-teacher","$:/plugins/tobibeer/split":"ethicsatwes-teacher","$:/plugins/tongerner/toolbar/images/calendar":"ethicsatwes-teacher","$:/plugins/wikilabs/edit-tabs":"ethicsatwes-teacher","$:/plugins/wikilabs/edit-tabs/config":"ethicsatwes-teacher","$:/plugins/wikilabs/uni-link":"ethicsatwes-teacher","$:/quickj":"ethicsatwes-teacher","$:/resp-template":"ethicsatwes-teacher","$:/selected1-1976414779":"ethicsatwes-teacher","$:/selected2-1976414779":"ethicsatwes-teacher","$:/springer/tagstyles":"ethicsatwes-teacher","$:/springer/textstyles":"ethicsatwes-teacher","$:/tags/Macro":"ethicsatwes-teacher","$:/tags/MoreSideBar/Plugins":"ethicsatwes-teacher","$:/tags/PageControls":"ethicsatwes-teacher","$:/tags/Stylesheet":"ethicsatwes-teacher","$:/tags/ViewToolbar":"ethicsatwes-teacher","$:/tags/ViewToolbar/plus":"ethicsatwes-teacher","$:/telmiger/svg/icon/path":"ethicsatwes-teacher","$:/theme":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/storyright":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/storytop":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/storywidth":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/options/sidebarlayout":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/options/stickytitles":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/settings/backgroundimage":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/settings/editorfontfamily":"ethicsatwes-teacher","$:/themes/tiddlywiki/vanilla/settings/fontfamily":"ethicsatwes-teacher","$:/time":"ethicsatwes-teacher","$:/toc/exper/selectedTiddler":"ethicsatwes-teacher","$:/view":"ethicsatwes-teacher","$:/who":"ethicsatwes-teacher","04 Checklists":"ethicsatwes-teacher","2020 midterm exam options":"ethicsatwes-teacher","2020 calendar":"ethicsatwes-teacher","21-03-25_oq-result":"ethicsatwes-teacher","21-03-25_oq-result 1":"ethicsatwes-teacher","21-03-25_oq-result 1 1":"ethicsatwes-teacher","21-03-25_oq-result 1 2":"ethicsatwes-teacher","21-03-25_oq-result 1 2 1":"ethicsatwes-teacher","21-03-25_oq-result 1 2 1 1":"ethicsatwes-teacher","3 formulations of the categorical imperative":"ethicsatwes-teacher","3spheres.svg":"ethicsatwes-teacher","@Activity":"ethicsatwes-teacher","@Evolution":"ethicsatwes-teacher","@Flood":"ethicsatwes-teacher","@Justice":"ethicsatwes-teacher","@Liberation":"ethicsatwes-teacher","@Obedience":"ethicsatwes-teacher","@Pleasure":"ethicsatwes-teacher","@Safety":"ethicsatwes-teacher","@Sharing":"ethicsatwes-teacher","@Spontaneity":"ethicsatwes-teacher","@Survival":"ethicsatwes-teacher","@Transcendence":"ethicsatwes-teacher","@Virtue":"ethicsatwes-teacher","@Wisdom":"ethicsatwes-teacher","@Work":"ethicsatwes-teacher","A: conscience vs self-interest":"ethicsatwes-teacher","About Intro Ethics (PHIL212)":"ethicsatwes-teacher","Add or Remove Tags":"ethicsatwes-teacher","AddMicroessay":"ethicsatwes-teacher","AddMicroessayTemplate":"ethicsatwes-teacher","Agenda Crito":"ethicsatwes-teacher","Agenda day 1":"ethicsatwes-teacher","Ahmed":"ethicsatwes-teacher","Ahmed key concepts":"ethicsatwes-teacher","Alias ViewTemplate":"ethicsatwes-teacher","Ambiguity in facing dilemma…":"ethicsatwes-teacher","Apology":"ethicsatwes-teacher","Appetite vs spirit in Aristotle?":"ethicsatwes-teacher","Appiah":"ethicsatwes-teacher","Appiah, Global Citizenship":"ethicsatwes-teacher","Areas of philosophy":"ethicsatwes-teacher","Arist passages":"ethicsatwes-teacher","Arist/Plato pic":"ethicsatwes-teacher","Arist3 excerpts":"ethicsatwes-teacher","Aristotelian Ethics":"ethicsatwes-teacher","Aristotle":"ethicsatwes-teacher","Aristotle 1 (up to 1115a)":"ethicsatwes-teacher","Aristotle 2 (1115-1132b)":"ethicsatwes-teacher","Aristotle 3 (books 7, 8, 10)":"ethicsatwes-teacher","Aristotle alternate translation of 1146b":"ethicsatwes-teacher","Aristotle and privilege":"ethicsatwes-teacher","Aristotle diagram steps":"ethicsatwes-teacher","Aristotle google slide link":"ethicsatwes-teacher","Aristotle on friendship…":"ethicsatwes-teacher","Aristotle on sex & virtue":"ethicsatwes-teacher","Aristotle on sticking with friends?":"ethicsatwes-teacher","Aristotle question experiment (appear)":"ethicsatwes-teacher","Aristotle's cultural ideals…":"ethicsatwes-teacher","Aristotle's young man argument (diagram)":"ethicsatwes-teacher","Aristotle, Nicomachean Ethics":"ethicsatwes-teacher","Ataraxia…":"ethicsatwes-teacher","B7280B6A-F05E-4491-86C5-F9F927FE38E9.jpeg":"ethicsatwes-teacher","B: social influence":"ethicsatwes-teacher","Backend solution":"ethicsatwes-teacher","Background: Kant, Piaget":"ethicsatwes-teacher","Barbara":"ethicsatwes-teacher","Beauvoir":"ethicsatwes-teacher","Beauvoir lines at bottom":"ethicsatwes-teacher","Beauvoir on freedom…":"ethicsatwes-teacher","Beauvoir passages":"ethicsatwes-teacher","Beauvoir vocabulary":"ethicsatwes-teacher","Beauvoir's paradoxes":"ethicsatwes-teacher","Beauvoir, Ethics of Ambiguity":"ethicsatwes-teacher","Bentham":"ethicsatwes-teacher","Bentham's quantitative utilitarianism":"ethicsatwes-teacher","Best wishes for summer and beyond!":"ethicsatwes-teacher","Blockquote styling and notebook class":"ethicsatwes-teacher","C2-response":"ethicsatwes-teacher","C2-response 1":"ethicsatwes-teacher","C2-response 1 1":"ethicsatwes-teacher","C: human essence":"ethicsatwes-teacher","Capability of the majority?":"ethicsatwes-teacher","Charles Mills":"ethicsatwes-teacher","Christian virtues & vices [Wikipedia]":"ethicsatwes-teacher","Comments! Questions! This site is now interactive…":"ethicsatwes-teacher","Course expectations & objectives":"ethicsatwes-teacher","Crito":"ethicsatwes-teacher","Crito excerpts":"ethicsatwes-teacher","Crito microessay set":"ethicsatwes-teacher","Crito moral development":"ethicsatwes-teacher","Crito objections":"ethicsatwes-teacher","Crito outline":"ethicsatwes-teacher","Crito sample 1 (Batte)":"ethicsatwes-teacher","Cultural disparity":"ethicsatwes-teacher","D1 question via google":"ethicsatwes-teacher","D1-group":"ethicsatwes-teacher","D1-group 1":"ethicsatwes-teacher","Dangerous to obey only reason?":"ethicsatwes-teacher","DetailsWidget testing":"ethicsatwes-teacher","Developmental Moral Psychology":"ethicsatwes-teacher","Developmental stages":"ethicsatwes-teacher","Dewey":"ethicsatwes-teacher","Dewey allusions":"ethicsatwes-teacher","Dewey on moral theory":"ethicsatwes-teacher","Dewey passages":"ethicsatwes-teacher","Dewey, Theories of Morals":"ethicsatwes-teacher","Diogenes the cynic":"ethicsatwes-teacher","Draft of 'Noddings claims' by espringer":"ethicsatwes-teacher","Draft of 'Radiolab episode on blame' by espringer":"ethicsatwes-teacher","Easter Island notes":"ethicsatwes-teacher","Elise Springer":"ethicsatwes-teacher","Epictetus":"ethicsatwes-teacher","Epictetus excerpts":"ethicsatwes-teacher","Epictetus key terms":"ethicsatwes-teacher","Epictetus on family":"ethicsatwes-teacher","Epictetus' critics":"ethicsatwes-teacher","Epictetus, Enchiridion":"ethicsatwes-teacher","Eric's next suggestion":"ethicsatwes-teacher","Euthyphro":"ethicsatwes-teacher","Euthyphro core argument (11a)":"ethicsatwes-teacher","Euthyphro dilemma":"ethicsatwes-teacher","Euthyphro excerpts":"ethicsatwes-teacher","Euthyphro flowchart":"ethicsatwes-teacher","Euthyphro footnotes˙ (taking sides on Euthyphro dilemma)":"ethicsatwes-teacher","Euthyphro microessay set":"ethicsatwes-teacher","Euthyphro's mistakes in defining piety…":"ethicsatwes-teacher","Euthyphro's polytheism":"ethicsatwes-teacher","Excellent incontinence?":"ethicsatwes-teacher","Experience and free will":"ethicsatwes-teacher","Extension of existing moral theories…":"ethicsatwes-teacher","Feel so different":"ethicsatwes-teacher","FileMaker Pro":"ethicsatwes-teacher","Final exam essay options 2019":"ethicsatwes-teacher","First, find your group":"ethicsatwes-teacher","GMM §2 ¶1-11":"ethicsatwes-teacher","GMM §3":"ethicsatwes-teacher","Google fonts for TW5":"ethicsatwes-teacher","Graph/Pie/Stylesheet":"ethicsatwes-teacher","Graph/_Core":"ethicsatwes-teacher","Graph/_Core/Stylesheet":"ethicsatwes-teacher","Graph/_CoreComp/ElementLabels":"ethicsatwes-teacher","Graph/_CoreComp/avg":"ethicsatwes-teacher","Graph/_CoreComp/totalsum":"ethicsatwes-teacher","Graph/_CoreComp/vendors":"ethicsatwes-teacher","Greek":"ethicsatwes-teacher","GroupedList":"ethicsatwes-teacher","Gruen":"ethicsatwes-teacher","GruenDiagram":"ethicsatwes-teacher","Hardin & Callicott":"ethicsatwes-teacher","Hate speech policies at Wesleyan":"ethicsatwes-teacher","Hegel":"ethicsatwes-teacher","Hegelian dialectic":"ethicsatwes-teacher","Heinz dilemma":"ethicsatwes-teacher","HelloThere":"ethicsatwes-teacher","Hierocles diagram":"ethicsatwes-teacher","Home":"ethicsatwes-teacher","Honor code":"ethicsatwes-teacher","Incontinent Fool paradox?":"ethicsatwes-teacher","Introductory question":"ethicsatwes-teacher","Is akrasia real?":"ethicsatwes-teacher","J S Mill":"ethicsatwes-teacher","JSON example":"ethicsatwes-teacher","Kant":"ethicsatwes-teacher","Kant / Hegel / existentialism":"ethicsatwes-teacher","Kant GMM §1 outline by ¶":"ethicsatwes-teacher","Kant against happiness?":"ethicsatwes-teacher","Kant background concepts":"ethicsatwes-teacher","Kant excerpts":"ethicsatwes-teacher","Kant faces determinism":"ethicsatwes-teacher","Kant on moral duties…":"ethicsatwes-teacher","Kant on moral worth…":"ethicsatwes-teacher","Kant on staying silent":"ethicsatwes-teacher","Kant's 4 examples of duty":"ethicsatwes-teacher","Kant's argument on the purpose of reason (diagram steps)":"ethicsatwes-teacher","Kant, Grounding for the Metaphysics of Morals":"ethicsatwes-teacher","Kant1":"ethicsatwes-teacher","Kant2":"ethicsatwes-teacher","Kant3":"ethicsatwes-teacher","Kimmerer, Gift of Strawberries":"ethicsatwes-teacher","King":"ethicsatwes-teacher","King and his Black liberation critics":"ethicsatwes-teacher","King and his interlocutors":"ethicsatwes-teacher","King on justice…":"ethicsatwes-teacher","King passages":"ethicsatwes-teacher","King, Letter from Birmingham Jail":"ethicsatwes-teacher","Kohlberg":"ethicsatwes-teacher","Kohlberg excerpts":"ethicsatwes-teacher","Kohlberg, The Child as a Moral Philosopher":"ethicsatwes-teacher","Kohlberg_mexico_boys.png":"ethicsatwes-teacher","Kohlberg_taiwan_boys.png":"ethicsatwes-teacher","Kohlberg_us_boys.png":"ethicsatwes-teacher","Korsgaard":"ethicsatwes-teacher","Korsgaard departs from Kant…":"ethicsatwes-teacher","Korsgaard in microessay form":"ethicsatwes-teacher","Korsgaard outline":"ethicsatwes-teacher","Korsgaard quotes":"ethicsatwes-teacher","Korsgaard, The Right to Lie":"ethicsatwes-teacher","Latin":"ethicsatwes-teacher","Likely Revisions to syllabus after Thursday...":"ethicsatwes-teacher","Limits of Dissent?":"ethicsatwes-teacher","Long-term narratives":"ethicsatwes-teacher","MLK and being \"maladjusted\"":"ethicsatwes-teacher","Malcolm X passages":"ethicsatwes-teacher","Marx":"ethicsatwes-teacher","Marx concepts":"ethicsatwes-teacher","Marx excerpts":"ethicsatwes-teacher","Marx issues":"ethicsatwes-teacher","Marx quotes":"ethicsatwes-teacher","Marx, Morality as Ideology":"ethicsatwes-teacher","Midterm essay question options":"ethicsatwes-teacher","Mill 5 passages":"ethicsatwes-teacher","Mill addresses crucial objection":"ethicsatwes-teacher","Mill on justice and utility (practice)":"ethicsatwes-teacher","Mill on private actions":"ethicsatwes-teacher","Mill passages (Ch3-4)":"ethicsatwes-teacher","Mill's quasi-proof":"ethicsatwes-teacher","Mill, Utilitarianism":"ethicsatwes-teacher","Mill1":"ethicsatwes-teacher","Mill2":"ethicsatwes-teacher","Mill3":"ethicsatwes-teacher","Moodle.svg":"ethicsatwes-teacher","More on animals and moral status":"ethicsatwes-teacher","NE, Book 1":"ethicsatwes-teacher","NE, Book 2":"ethicsatwes-teacher","NE, Book 3":"ethicsatwes-teacher","New Table":"ethicsatwes-teacher","Nicomachean Ethics Ch 1–3 outline":"ethicsatwes-teacher","Nietzsche":"ethicsatwes-teacher","Nietzsche excerpts":"ethicsatwes-teacher","Nietzsche, Transvaluation, Gay Science excerpts":"ethicsatwes-teacher","Nietzsche, aligned with Marx…":"ethicsatwes-teacher","Noddings":"ethicsatwes-teacher","Noddings claims":"ethicsatwes-teacher","Noddings diagram":"ethicsatwes-teacher","Noddings passages":"ethicsatwes-teacher","Noddings reasoning":"ethicsatwes-teacher","Noddings, Caring":"ethicsatwes-teacher","Noddings:Gilligan::Kant:Kohlberg":"ethicsatwes-teacher","Nussbaum":"ethicsatwes-teacher","Nussbaum passages":"ethicsatwes-teacher","Nussbaum's critical approach to virtues (back)":"ethicsatwes-teacher","Nussbaum's thick-vs-thin virtues…":"ethicsatwes-teacher","Nussbaum, Non-Relative Virtues":"ethicsatwes-teacher","Obeying the law: unjust outcomes?":"ethicsatwes-teacher","Online coursework for balance of spring 2020":"ethicsatwes-teacher","Paragraphs Macro":"ethicsatwes-teacher","Perfect Aristotelian friendship?":"ethicsatwes-teacher","Perspective bias":"ethicsatwes-teacher","Philosophical Reasoning":"ethicsatwes-teacher","Philosophical skills for ethics":"ethicsatwes-teacher","Plato":"ethicsatwes-teacher","Plato, Five Dialogues":"ethicsatwes-teacher","Pleasure-b1":"ethicsatwes-teacher","Plumwood":"ethicsatwes-teacher","Plumwood, Nature in the Active Voice":"ethicsatwes-teacher","QuickJump":"ethicsatwes-teacher","RGB_spotlight_venn.jpg":"ethicsatwes-teacher","Radiolab episode notes":"ethicsatwes-teacher","Radiolab episode on blame":"ethicsatwes-teacher","Rawles":"ethicsatwes-teacher","Rawles, Conservation and Animal Welfare":"ethicsatwes-teacher","Reading material":"ethicsatwes-teacher","Safety-b1":"ethicsatwes-teacher","Sartre's student":"ethicsatwes-teacher","SaveButtons":"ethicsatwes-teacher","Shame in Aristotle?":"ethicsatwes-teacher","Sharing-b1":"ethicsatwes-teacher","Singer":"ethicsatwes-teacher","Singer argument diagram":"ethicsatwes-teacher","Singer objections and replies":"ethicsatwes-teacher","Singer objections for discussion":"ethicsatwes-teacher","Singer podcasts":"ethicsatwes-teacher","Singer, Famine Affluence and Morality":"ethicsatwes-teacher","Social Justice Lecture, Feb 6":"ethicsatwes-teacher","Socrates":"ethicsatwes-teacher","Socrates on acting rightly…":"ethicsatwes-teacher","Socrates' priorities in Crito":"ethicsatwes-teacher","Speech Act theory":"ethicsatwes-teacher","Spontaneity-b1":"ethicsatwes-teacher","Story of Isaac":"ethicsatwes-teacher","Susan Griffin quote":"ethicsatwes-teacher","TAchoice":"ethicsatwes-teacher","TAs for Spring 2020":"ethicsatwes-teacher","Table Macros":"ethicsatwes-teacher","Tagger":"ethicsatwes-teacher","Target.png":"ethicsatwes-teacher","Tessman":"ethicsatwes-teacher","Tessman, Moral Luck":"ethicsatwes-teacher","TextStretch":"ethicsatwes-teacher","TiddlySpot Upload":"ethicsatwes-teacher","TiddlyTables internal search":"ethicsatwes-teacher","TiddlyWiki":"ethicsatwes-teacher","Tony's idea in progress":"ethicsatwes-teacher","Tony's trick":"ethicsatwes-teacher","Unit A":"ethicsatwes-teacher","Unit A skills":"ethicsatwes-teacher","Unit A synthesis":"ethicsatwes-teacher","Unit B":"ethicsatwes-teacher","Unit C":"ethicsatwes-teacher","Unit D":"ethicsatwes-teacher","Unit E":"ethicsatwes-teacher","Unit F":"ethicsatwes-teacher","Untitled":"ethicsatwes-teacher","Untitled 1":"ethicsatwes-teacher","Untitled 2":"ethicsatwes-teacher","Update Fields on Multiple Tiddlers":"ethicsatwes-teacher","Venn diagram":"ethicsatwes-teacher","Virtue-b1":"ethicsatwes-teacher","Virtues list (front)":"ethicsatwes-teacher","Ways to use this":"ethicsatwes-teacher","Welcome to Intro Ethics":"ethicsatwes-teacher","Wiesel Prize":"ethicsatwes-teacher","Writing corrections quiz":"ethicsatwes-teacher","Writing details":"ethicsatwes-teacher","Writing tutors":"ethicsatwes-teacher","_play":"ethicsatwes-teacher","a balanced microessay":"ethicsatwes-teacher","a posteriori":"ethicsatwes-teacher","a priori":"ethicsatwes-teacher","a priori synthesis":"ethicsatwes-teacher","a priori vs a posteriori":"ethicsatwes-teacher","abcd-folks@a3":"ethicsatwes-teacher","abcde":"ethicsatwes-teacher","abde-crew@a2":"ethicsatwes-teacher","abe-a4":"ethicsatwes-teacher","about Nietzsche":"ethicsatwes-teacher","absent@a1":"ethicsatwes-teacher","absent@a2":"ethicsatwes-teacher","absolute value not in results":"ethicsatwes-teacher","act utilitarianism":"ethicsatwes-teacher","act utilitarianism vs rule utilitarianism":"ethicsatwes-teacher","ad hominem":"ethicsatwes-teacher","additional articles on medical triage":"ethicsatwes-teacher","additional_fonts":"ethicsatwes-teacher","advice":"ethicsatwes-teacher","advice for reading Plato's dialogues":"ethicsatwes-teacher","aesthetics":"ethicsatwes-teacher","affirming the consequent":"ethicsatwes-teacher","agreeing and disagreeing":"ethicsatwes-teacher","akrasia":"ethicsatwes-teacher","alias":"ethicsatwes-teacher","all the results":"ethicsatwes-teacher","almost.png":"ethicsatwes-teacher","an example microessay from template":"ethicsatwes-teacher","analysis":"ethicsatwes-teacher","analysis steps for young person argument":"ethicsatwes-teacher","analytic":"ethicsatwes-teacher","animal intelligence":"ethicsatwes-teacher","animal subsistence":"ethicsatwes-teacher","animals":"ethicsatwes-teacher","animism":"ethicsatwes-teacher","announcements":"ethicsatwes-teacher","another go at definitions":"ethicsatwes-teacher","another toc":"ethicsatwes-teacher","antecedent":"ethicsatwes-teacher","anthropomorphism debate":"ethicsatwes-teacher","anticipated objection":"ethicsatwes-teacher","antinomianism":"ethicsatwes-teacher","aphorism":"ethicsatwes-teacher","aporia":"ethicsatwes-teacher","appeal to authority":"ethicsatwes-teacher","appeal to ignorance":"ethicsatwes-teacher","appointments":"ethicsatwes-teacher","archive":"ethicsatwes-teacher","areas of philosophy":"ethicsatwes-teacher","argument":"ethicsatwes-teacher","argument analysis":"ethicsatwes-teacher","argument analysis exercise":"ethicsatwes-teacher","assignment types for PHIL212":"ethicsatwes-teacher","assignments":"ethicsatwes-teacher","assignments grading pie":"ethicsatwes-teacher","associationist psychology":"ethicsatwes-teacher","asterisk-solid.svg":"ethicsatwes-teacher","ataraxia":"ethicsatwes-teacher","authenticity":"ethicsatwes-teacher","autonomy":"ethicsatwes-teacher","b3-resp":"ethicsatwes-teacher","b3-resp 1":"ethicsatwes-teacher","b3-resp 1 1":"ethicsatwes-teacher","b3-resp 1 1 1":"ethicsatwes-teacher","b3-resp 1 1 1 1":"ethicsatwes-teacher","b3-resp 1 1 1 1 1":"ethicsatwes-teacher","b3-resp 2":"ethicsatwes-teacher","b3-resp 2 1":"ethicsatwes-teacher","b4-resp":"ethicsatwes-teacher","b4-resp 1":"ethicsatwes-teacher","bad faith":"ethicsatwes-teacher","batch":"ethicsatwes-teacher","bc-only-a4":"ethicsatwes-teacher","bccdjehtnk@a1":"ethicsatwes-teacher","bce-a4":"ethicsatwes-teacher","before each virtual class…":"ethicsatwes-teacher","begging the question":"ethicsatwes-teacher","best life?":"ethicsatwes-teacher","bestial (brutish) state":"ethicsatwes-teacher","biting the bullet":"ethicsatwes-teacher","book-open-solid.svg":"ethicsatwes-teacher","book-reader-solid.svg":"ethicsatwes-teacher","book-solid.svg":"ethicsatwes-teacher","brutishness":"ethicsatwes-teacher","bug":"ethicsatwes-teacher","bullseye icon":"ethicsatwes-teacher","bullseye-green.png":"ethicsatwes-teacher","bullseye-sm.png":"ethicsatwes-teacher","bullseye-solid.svg":"ethicsatwes-teacher","c1-resp":"ethicsatwes-teacher","c1-resp 1":"ethicsatwes-teacher","c1-resp 1 1":"ethicsatwes-teacher","c1-resp 1 1 1":"ethicsatwes-teacher","c1-resp 1 1 1 1":"ethicsatwes-teacher","c1-resp 1 1 1 1 1":"ethicsatwes-teacher","c1-resp 1 1 1 1 2":"ethicsatwes-teacher","calendar of sessions":"ethicsatwes-teacher","calendar-alt-regular.svg":"ethicsatwes-teacher","calendar-check-regular.svg":"ethicsatwes-teacher","calendly":"ethicsatwes-teacher","calendly-logo.png":"ethicsatwes-teacher","capuchin justice?":"ethicsatwes-teacher","care ethics":"ethicsatwes-teacher","categorical imperative":"ethicsatwes-teacher","categorical logic":"ethicsatwes-teacher","cde-folks@a3":"ethicsatwes-teacher","ce-only@a3":"ethicsatwes-teacher","certainty vs passivity":"ethicsatwes-teacher","charitable interpretation":"ethicsatwes-teacher","check-circle-solid.svg":"ethicsatwes-teacher","checklist":"ethicsatwes-teacher","chief_good_diagram":"ethicsatwes-teacher","childtabs":"ethicsatwes-teacher","childtabs-v":"ethicsatwes-teacher","circle with text":"ethicsatwes-teacher","circular reasoning":"ethicsatwes-teacher","citation details":"ethicsatwes-teacher","claim":"ethicsatwes-teacher","classic pagination":"ethicsatwes-teacher","clear-both":"ethicsatwes-teacher","climate change ethics":"ethicsatwes-teacher","coherence of any given virtue":"ethicsatwes-teacher","colors":"ethicsatwes-teacher","coming to be desired for itself":"ethicsatwes-teacher","comparisons between Marx and Nietzsche":"ethicsatwes-teacher","compatibilism":"ethicsatwes-teacher","concept cards game":"ethicsatwes-teacher","concern":"ethicsatwes-teacher","conclusion":"ethicsatwes-teacher","conditional":"ethicsatwes-teacher","conditional vs unconditional goods":"ethicsatwes-teacher","conscience":"ethicsatwes-teacher","conscience vs conscious":"ethicsatwes-teacher","consciousness":"ethicsatwes-teacher","consequent":"ethicsatwes-teacher","consequentialism":"ethicsatwes-teacher","continence":"ethicsatwes-teacher","continence puzzle":"ethicsatwes-teacher","contingency":"ethicsatwes-teacher","contradiction":"ethicsatwes-teacher","contradiction in conception":"ethicsatwes-teacher","contradiction in willing":"ethicsatwes-teacher","coronavirus and disparate impact":"ethicsatwes-teacher","cosmopolitanism":"ethicsatwes-teacher","cosmopolitanism beyond humanity?":"ethicsatwes-teacher","coursepack contents list":"ethicsatwes-teacher","crosshairs-solid.svg":"ethicsatwes-teacher","culling dilemmas":"ethicsatwes-teacher","culture, variation, disagreement":"ethicsatwes-teacher","cute animals":"ethicsatwes-teacher","cynicism":"ethicsatwes-teacher","d2-response":"ethicsatwes-teacher","d2-response 1":"ethicsatwes-teacher","d2-response 1 1":"ethicsatwes-teacher","d3-response":"ethicsatwes-teacher","d3-response 1":"ethicsatwes-teacher","d3-response 1 1":"ethicsatwes-teacher","d3-response 1 1 1":"ethicsatwes-teacher","d3-response 1 1 1 1":"ethicsatwes-teacher","d3-response 1 1 1 1 1":"ethicsatwes-teacher","d3-response 1 1 2":"ethicsatwes-teacher","d4-results":"ethicsatwes-teacher","d4-results 1":"ethicsatwes-teacher","day 1 notes":"ethicsatwes-teacher","deductive argument":"ethicsatwes-teacher","def variations":"ethicsatwes-teacher","definitions":"ethicsatwes-teacher","denying the antecedent":"ethicsatwes-teacher","deontology":"ethicsatwes-teacher","details snippet":"ethicsatwes-teacher","details stylesheet tweaks experiment":"ethicsatwes-teacher","details tweaks":"ethicsatwes-teacher","determinism":"ethicsatwes-teacher","determinism and freedom doctrines":"ethicsatwes-teacher","development TW5 play":"ethicsatwes-teacher","developmental stages in Piaget":"ethicsatwes-teacher","diagram challenge":"ethicsatwes-teacher","diagram challenge 2":"ethicsatwes-teacher","diagram_answer":"ethicsatwes-teacher","diagramming tutorial":"ethicsatwes-teacher","diagrams":"ethicsatwes-teacher","dialectic":"ethicsatwes-teacher","dialectic structure":"ethicsatwes-teacher","dialogue":"ethicsatwes-teacher","different moral questions":"ethicsatwes-teacher","dilemma":"ethicsatwes-teacher","dilemma from Sartre":"ethicsatwes-teacher","discussion groups":"ethicsatwes-teacher","discussion questions for Tessman":"ethicsatwes-teacher","distinction":"ethicsatwes-teacher","diversity of meanings":"ethicsatwes-teacher","divine understanding in Aristotle?":"ethicsatwes-teacher","doctrine":"ethicsatwes-teacher","dualism":"ethicsatwes-teacher","dualisms array˙":"ethicsatwes-teacher","duty":"ethicsatwes-teacher","duty to tell truth?":"ethicsatwes-teacher","e-only@a3":"ethicsatwes-teacher","e1-results":"ethicsatwes-teacher","e1-results 1":"ethicsatwes-teacher","e1-results 1 1":"ethicsatwes-teacher","e1-results 1 1 1":"ethicsatwes-teacher","e1-results 1 1 1 1":"ethicsatwes-teacher","e2-response":"ethicsatwes-teacher","e2-response 1":"ethicsatwes-teacher","e2-response 1 1":"ethicsatwes-teacher","e4-resp":"ethicsatwes-teacher","e4-resp 1":"ethicsatwes-teacher","early dialogues of Plato":"ethicsatwes-teacher","elenchus":"ethicsatwes-teacher","elgmiger_sample.svg":"ethicsatwes-teacher","elise_camping.jpg":"ethicsatwes-teacher","embraces partiality":"ethicsatwes-teacher","empirical":"ethicsatwes-teacher","empiricism":"ethicsatwes-teacher","encrypt show-hide shortcut":"ethicsatwes-teacher","end-of-semester checklist for students":"ethicsatwes-teacher","enlightened self-interest vs selfishness":"ethicsatwes-teacher","enthusiastic_springer.png":"ethicsatwes-teacher","enthymeme":"ethicsatwes-teacher","epistemology":"ethicsatwes-teacher","equivocation":"ethicsatwes-teacher","essay prompts":"ethicsatwes-teacher","essay-advice":"ethicsatwes-teacher","essentialism":"ethicsatwes-teacher","eternal return":"ethicsatwes-teacher","ethics":"ethicsatwes-teacher","ethics and epidemics":"ethicsatwes-teacher","eudaimonia":"ethicsatwes-teacher","eudaimonism":"ethicsatwes-teacher","euthanasia discussion":"ethicsatwes-teacher","evaluative commentary":"ethicsatwes-teacher","evergreen notes site":"ethicsatwes-teacher","evolution-b1":"ethicsatwes-teacher","evolution-b1 1":"ethicsatwes-teacher","evolution-b2":"ethicsatwes-teacher","exams":"ethicsatwes-teacher","excerpts":"ethicsatwes-teacher","exclamation-triangle-solid.svg":"ethicsatwes-teacher","exegesis":"ethicsatwes-teacher","existence_cartoon.png":"ethicsatwes-teacher","existentialism":"ethicsatwes-teacher","existentialists theorize oppression":"ethicsatwes-teacher","expanding the circle":"ethicsatwes-teacher","expanding utilitarianism":"ethicsatwes-teacher","explanation of moral alienation":"ethicsatwes-teacher","extensionism":"ethicsatwes-teacher","extrinsic value":"ethicsatwes-teacher","f1-resp":"ethicsatwes-teacher","f1-resp 1":"ethicsatwes-teacher","f1-resp 2":"ethicsatwes-teacher","facet rubric":"ethicsatwes-teacher","facticity":"ethicsatwes-teacher","fallacies reference sheet":"ethicsatwes-teacher","fallacy":"ethicsatwes-teacher","fallibilism":"ethicsatwes-teacher","family-tree style":"ethicsatwes-teacher","final essay":"ethicsatwes-teacher","final essay evaluation":"ethicsatwes-teacher","final essay faq":"ethicsatwes-teacher","final essay menu spring 2021":"ethicsatwes-teacher","final exam":"ethicsatwes-teacher","final exam essay choices (spring 2020)":"ethicsatwes-teacher","final exam essay procedure":"ethicsatwes-teacher","final exam spring 2020":"ethicsatwes-teacher","final exam spring 2021":"ethicsatwes-teacher","final exam time spring 2019":"ethicsatwes-teacher","final parallel questions chart Spring 2019":"ethicsatwes-teacher","font troubleshooting":"ethicsatwes-teacher","food ethics":"ethicsatwes-teacher","forced choices":"ethicsatwes-teacher","formatting microessays":"ethicsatwes-teacher","forms of bad faith":"ethicsatwes-teacher","fractal-tree-alpha.png":"ethicsatwes-teacher","fractal-tree.png":"ethicsatwes-teacher","free will":"ethicsatwes-teacher","freedom = morality = reason":"ethicsatwes-teacher","friendly amendment":"ethicsatwes-teacher","friendly amendments to Aristotle":"ethicsatwes-teacher","friendship in Aristotle":"ethicsatwes-teacher","from duty (or virtue) vs in-accord with duty (or virtue)":"ethicsatwes-teacher","further Beauvoir links":"ethicsatwes-teacher","game theory":"ethicsatwes-teacher","glossary of stoic terms":"ethicsatwes-teacher","good will":"ethicsatwes-teacher","grading":"ethicsatwes-teacher","grading pie":"ethicsatwes-teacher","greatest happiness principle":"ethicsatwes-teacher","h1":"ethicsatwes-teacher","h1-indicators":"ethicsatwes-teacher","h2":"ethicsatwes-teacher","h3":"ethicsatwes-teacher","h4":"ethicsatwes-teacher","h5":"ethicsatwes-teacher","h6":"ethicsatwes-teacher","h7":"ethicsatwes-teacher","handouts":"ethicsatwes-teacher","happiness":"ethicsatwes-teacher","happiness contrast":"ethicsatwes-teacher","hb":"ethicsatwes-teacher","heteronomy":"ethicsatwes-teacher","highlighting tips":"ethicsatwes-teacher","historicism":"ethicsatwes-teacher","human exceptionalism":"ethicsatwes-teacher","hypocrisy and violations of duty":"ethicsatwes-teacher","hypothesis":"ethicsatwes-teacher","hypothetical imperative":"ethicsatwes-teacher","icons from FA":"ethicsatwes-teacher","ideology":"ethicsatwes-teacher","image chart":"ethicsatwes-teacher","image syntax for TW5":"ethicsatwes-teacher","images":"ethicsatwes-teacher","impartiality":"ethicsatwes-teacher","impartiality and demandingness":"ethicsatwes-teacher","imperfect duty":"ethicsatwes-teacher","inclination":"ethicsatwes-teacher","incontinence":"ethicsatwes-teacher","inductive argument":"ethicsatwes-teacher","inference":"ethicsatwes-teacher","inference diagram key":"ethicsatwes-teacher","inference indicator":"ethicsatwes-teacher","inference patterns":"ethicsatwes-teacher","intemperance":"ethicsatwes-teacher","intention":"ethicsatwes-teacher","interconnectedness of virtues":"ethicsatwes-teacher","interlocutor":"ethicsatwes-teacher","internalized oppression":"ethicsatwes-teacher","interpretation":"ethicsatwes-teacher","intertwining of moral and bio-medical phenomena":"ethicsatwes-teacher","intrinsic value":"ethicsatwes-teacher","intrinsic vs extrinsic value":"ethicsatwes-teacher","irony":"ethicsatwes-teacher","is vs ought":"ethicsatwes-teacher","jgkambavmfbrrkta@a1":"ethicsatwes-teacher","justice":"ethicsatwes-teacher","justice-b1":"ethicsatwes-teacher","justice-b2":"ethicsatwes-teacher","kaleidoself.jpg":"ethicsatwes-teacher","key concepts for ethics":"ethicsatwes-teacher","key-solid.svg":"ethicsatwes-teacher","kldgesak@a1":"ethicsatwes-teacher","kohlberg_stages_original.jpg":"ethicsatwes-teacher","lachewcsadeilh@a1":"ethicsatwes-teacher","lifeboat ethics":"ethicsatwes-teacher","link fields in definitions":"ethicsatwes-teacher","links for core tiddlers":"ethicsatwes-teacher","logic":"ethicsatwes-teacher","macro test":"ethicsatwes-teacher","macro/slider-macro":"ethicsatwes-teacher","majority@a2":"ethicsatwes-teacher","making a living":"ethicsatwes-teacher","marginal utility":"ethicsatwes-teacher","materialism":"ethicsatwes-teacher","maxim":"ethicsatwes-teacher","medical dilemmas":"ethicsatwes-teacher","metaethics":"ethicsatwes-teacher","metaphor":"ethicsatwes-teacher","metaphysics":"ethicsatwes-teacher","microessay rubric":"ethicsatwes-teacher","microessay walkthrough":"ethicsatwes-teacher","microessays":"ethicsatwes-teacher","midterm":"ethicsatwes-teacher","midterm essay options":"ethicsatwes-teacher","mill opening question":"ethicsatwes-teacher","misc news links":"ethicsatwes-teacher","mobility developmental stages":"ethicsatwes-teacher","modern moral theories":"ethicsatwes-teacher","modus ponens":"ethicsatwes-teacher","modus tollens":"ethicsatwes-teacher","moodle formatting screenshot":"ethicsatwes-teacher","moodle.png":"ethicsatwes-teacher","moodle_logo":"ethicsatwes-teacher","moon":"ethicsatwes-teacher","moral agent":"ethicsatwes-teacher","moral agents vs moral patients":"ethicsatwes-teacher","moral alienation":"ethicsatwes-teacher","moral damage":"ethicsatwes-teacher","moral demandingness":"ethicsatwes-teacher","moral development: logic or habits?":"ethicsatwes-teacher","moral dilemma":"ethicsatwes-teacher","moral injury":"ethicsatwes-teacher","moral judgment":"ethicsatwes-teacher","moral luck":"ethicsatwes-teacher","moral luck quote":"ethicsatwes-teacher","moral maturity vs moral correctness":"ethicsatwes-teacher","moral motivation":"ethicsatwes-teacher","moral patient":"ethicsatwes-teacher","moral pedagogy":"ethicsatwes-teacher","moral stages according to Kohlberg˙":"ethicsatwes-teacher","moral status":"ethicsatwes-teacher","more details examples":"ethicsatwes-teacher","more random keywords":"ethicsatwes-teacher","motive":"ethicsatwes-teacher","motive vs intention":"ethicsatwes-teacher","motovun":"ethicsatwes-teacher","mourning elephants":"ethicsatwes-teacher","multiple interpretations":"ethicsatwes-teacher","muritest":"ethicsatwes-teacher","name cards for day 1":"ethicsatwes-teacher","nationalism":"ethicsatwes-teacher","navigation":"ethicsatwes-teacher","new toc tag":"ethicsatwes-teacher","newspaper-regular.svg":"ethicsatwes-teacher","nominalism":"ethicsatwes-teacher","non-ideal theory":"ethicsatwes-teacher","non-violence":"ethicsatwes-teacher","normative claim":"ethicsatwes-teacher","normative ethics":"ethicsatwes-teacher","normativity":"ethicsatwes-teacher","notes":"ethicsatwes-teacher","objection":"ethicsatwes-teacher","objections and replies to utilitarianism":"ethicsatwes-teacher","office hours":"ethicsatwes-teacher","oikeiosis":"ethicsatwes-teacher","ok-teal.png":"ethicsatwes-teacher","ok.png":"ethicsatwes-teacher","only happiness is desirable":"ethicsatwes-teacher","openalltagged/macro":"ethicsatwes-teacher","opening question results":"ethicsatwes-teacher","opening_questions":"ethicsatwes-teacher","oq":"ethicsatwes-teacher","order of explanation (10a-d)":"ethicsatwes-teacher","ought implies can":"ethicsatwes-teacher","outline Mill Ch 1-2˙":"ethicsatwes-teacher","outline Mill Ch 3-4":"ethicsatwes-teacher","outline Mill Ch 5":"ethicsatwes-teacher","overview":"ethicsatwes-teacher","pandemic ethics":"ethicsatwes-teacher","paradox":"ethicsatwes-teacher","paradox and contradiction …":"ethicsatwes-teacher","paragraphs Macro (Examples)":"ethicsatwes-teacher","partiality":"ethicsatwes-teacher","participation":"ethicsatwes-teacher","past final exam essay choices":"ethicsatwes-teacher","pdf-packet":"ethicsatwes-teacher","pdf.png":"ethicsatwes-teacher","pedal rubric":"ethicsatwes-teacher","pencil-alt-solid.svg":"ethicsatwes-teacher","perfect duty":"ethicsatwes-teacher","perfect vs imperfect duties":"ethicsatwes-teacher","person-summary":"ethicsatwes-teacher","perspectivalism":"ethicsatwes-teacher","persuasion":"ethicsatwes-teacher","perusall_logo":"ethicsatwes-teacher","phenomenology":"ethicsatwes-teacher","philia":"ethicsatwes-teacher","philology":"ethicsatwes-teacher","philosophers":"ethicsatwes-teacher","philosophers list experiment":"ethicsatwes-teacher","philosophical diplomacy":"ethicsatwes-teacher","philosophy":"ethicsatwes-teacher","piety":"ethicsatwes-teacher","plantUML trial":"ethicsatwes-teacher","pleasure-b2":"ethicsatwes-teacher","podcast on Beauvoir Ethics of Ambiguity":"ethicsatwes-teacher","podcasts on pandemic ethics":"ethicsatwes-teacher","political philosophy":"ethicsatwes-teacher","practical ethics":"ethicsatwes-teacher","pragmatism":"ethicsatwes-teacher","praxis":"ethicsatwes-teacher","premise":"ethicsatwes-teacher","principle of charity":"ethicsatwes-teacher","prisoners' dilemma":"ethicsatwes-teacher","problem":"ethicsatwes-teacher","problem-driven writing":"ethicsatwes-teacher","prohairesis":"ethicsatwes-teacher","proposition":"ethicsatwes-teacher","propositional logic":"ethicsatwes-teacher","prudence":"ethicsatwes-teacher","puzzle-piece-solid.svg":"ethicsatwes-teacher","puzzles in Aristotle":"ethicsatwes-teacher","quantity, quality of pleasures":"ethicsatwes-teacher","question-circle-regular.svg":"ethicsatwes-teacher","quick-delete-list":"ethicsatwes-teacher","quotes":"ethicsatwes-teacher","radiolab on culling":"ethicsatwes-teacher","random keywords":"ethicsatwes-teacher","rationalism":"ethicsatwes-teacher","read before uploading or attaching":"ethicsatwes-teacher","reading for argument":"ethicsatwes-teacher","reading for objections and replies":"ethicsatwes-teacher","reading for problems":"ethicsatwes-teacher","recognizing fallacies":"ethicsatwes-teacher","reductio ad absurdum":"ethicsatwes-teacher","reductio via gerrymandering?":"ethicsatwes-teacher","refutation":"ethicsatwes-teacher","relativism":"ethicsatwes-teacher","renaming tags experiment":"ethicsatwes-teacher","replacing alias field":"ethicsatwes-teacher","replacing alias field with aliases":"ethicsatwes-teacher","reply":"ethicsatwes-teacher","resentment":"ethicsatwes-teacher","resp-f2":"ethicsatwes-teacher","resp-f2 1":"ethicsatwes-teacher","resp-f2 1 1":"ethicsatwes-teacher","resp-f2 1 1 1":"ethicsatwes-teacher","resp-f2 1 1 1 1":"ethicsatwes-teacher","resp-f2 1 1 1 1 1":"ethicsatwes-teacher","response-C3":"ethicsatwes-teacher","response-C3 1":"ethicsatwes-teacher","response-C3 1 1":"ethicsatwes-teacher","response-C3 1 1 1":"ethicsatwes-teacher","response-e3":"ethicsatwes-teacher","response-e3 1":"ethicsatwes-teacher","response-e3 1 1":"ethicsatwes-teacher","reveal widget play":"ethicsatwes-teacher","review":"ethicsatwes-teacher","rh_sidewalk_pano_pale.jpg":"ethicsatwes-teacher","rigorism":"ethicsatwes-teacher","rule utilitarianism":"ethicsatwes-teacher","russell_sidewalk_banner.jpg":"ethicsatwes-teacher","safety-b2":"ethicsatwes-teacher","sample extra credit format":"ethicsatwes-teacher","sample thing for slider macro":"ethicsatwes-teacher","selectedTags":"ethicsatwes-teacher","selfishishness vs altruism argument critique":"ethicsatwes-teacher","session 3 agenda":"ethicsatwes-teacher","session template":"ethicsatwes-teacher","sessions":"ethicsatwes-teacher","shades":"ethicsatwes-teacher","shapes-solid.svg":"ethicsatwes-teacher","share-alt-square-solid.svg":"ethicsatwes-teacher","sharing-b2":"ethicsatwes-teacher","simplest argument diagram.png":"ethicsatwes-teacher","site introduction":"ethicsatwes-teacher","site_title_logo":"ethicsatwes-teacher","six major patterns in moral reasoning":"ethicsatwes-teacher","skills":"ethicsatwes-teacher","sliders, details, accordions, reveal, appear":"ethicsatwes-teacher","soundness":"ethicsatwes-teacher","sp21":"ethicsatwes-teacher","sparklines test":"ethicsatwes-teacher","speech":"ethicsatwes-teacher","speech bubble.svg":"ethicsatwes-teacher","splash screen":"ethicsatwes-teacher","spontaneity-b2":"ethicsatwes-teacher","spring 2020":"ethicsatwes-teacher","spring 2020 opening questions":"ethicsatwes-teacher","spring 2021 opening questions":"ethicsatwes-teacher","springer_wonders_wh.png":"ethicsatwes-teacher","stage-graphs":"ethicsatwes-teacher","stances":"ethicsatwes-teacher","step a":"ethicsatwes-teacher","step b":"ethicsatwes-teacher","step c":"ethicsatwes-teacher","step d":"ethicsatwes-teacher","stoic school":"ethicsatwes-teacher","stoicism":"ethicsatwes-teacher","stoicism and politics":"ethicsatwes-teacher","straw man":"ethicsatwes-teacher","study questions":"ethicsatwes-teacher","stylesheet code offline":"ethicsatwes-teacher","stylesheet for Q and A":"ethicsatwes-teacher","stylesheet/semantic/tags-bglowtone-colors":"ethicsatwes-teacher","subconclusion":"ethicsatwes-teacher","supererogatory":"ethicsatwes-teacher","suppressed premise":"ethicsatwes-teacher","survey":"ethicsatwes-teacher","survey_replies":"ethicsatwes-teacher","survival-b2":"ethicsatwes-teacher","svg image play":"ethicsatwes-teacher","syllabus":"ethicsatwes-teacher","syllabus pdf":"ethicsatwes-teacher","sympathetic chimps":"ethicsatwes-teacher","synthetic":"ethicsatwes-teacher","table creation wizard":"ethicsatwes-teacher","table of virtues":"ethicsatwes-teacher","table overview":"ethicsatwes-teacher","table styles":"ethicsatwes-teacher","tabtemplate":"ethicsatwes-teacher","tacit consent":"ethicsatwes-teacher","tag cloud":"ethicsatwes-teacher","take-home essay process":"ethicsatwes-teacher","take-home pros-and-cons comparison (spring 2020)":"ethicsatwes-teacher","tc styles":"ethicsatwes-teacher","team-results":"ethicsatwes-teacher","team-summary":"ethicsatwes-teacher","telegram-plane-brands.svg":"ethicsatwes-teacher","temperance":"ethicsatwes-teacher","tensions":"ethicsatwes-teacher","terms from reasoning well":"ethicsatwes-teacher","text on path?":"ethicsatwes-teacher","textbooks":"ethicsatwes-teacher","texts_concepts_perspective_.svg":"ethicsatwes-teacher","thesis claim":"ethicsatwes-teacher","thesis-driven writing":"ethicsatwes-teacher","thick vs thin evaluative concepts":"ethicsatwes-teacher","thumbs-down-solid.svg":"ethicsatwes-teacher","thumbs-up-solid.svg":"ethicsatwes-teacher","toc":"ethicsatwes-teacher","toc_for_session":"ethicsatwes-teacher","toc_snippet":"ethicsatwes-teacher","tools for distance learning":"ethicsatwes-teacher","tools-solid.svg":"ethicsatwes-teacher","transcendence":"ethicsatwes-teacher","transcendentalism":"ethicsatwes-teacher","translation_notes":"ethicsatwes-teacher","transvaluation":"ethicsatwes-teacher","triage":"ethicsatwes-teacher","triage ethics as non-ideal…":"ethicsatwes-teacher","trial for venn diagrams":"ethicsatwes-teacher","trolley problem at Radiolab":"ethicsatwes-teacher","trolley problem video":"ethicsatwes-teacher","troubleshooting":"ethicsatwes-teacher","trvvrlhw@a1":"ethicsatwes-teacher","trvvrlhweiadcs@a2":"ethicsatwes-teacher","two big patterns in ethics":"ethicsatwes-teacher","two kinds of imperative":"ethicsatwes-teacher","ultimate moral dilemmas?":"ethicsatwes-teacher","unit structure graph":"ethicsatwes-teacher","unit template":"ethicsatwes-teacher","units":"ethicsatwes-teacher","universalizability":"ethicsatwes-teacher","unjust_law_no_law.jpg":"ethicsatwes-teacher","upgrade wishlist":"ethicsatwes-teacher","utilitarianism":"ethicsatwes-teacher","utility":"ethicsatwes-teacher","validity":"ethicsatwes-teacher","venn_simple.svg":"ethicsatwes-teacher","venn_space.jpg":"ethicsatwes-teacher","vice":"ethicsatwes-teacher","virtue":"ethicsatwes-teacher","virtue as virtuosity":"ethicsatwes-teacher","virtue desired":"ethicsatwes-teacher","virtue ethics":"ethicsatwes-teacher","virtue-b2":"ethicsatwes-teacher","virtues across cultures table":"ethicsatwes-teacher","virtues comparison":"ethicsatwes-teacher","vital phenomena":"ethicsatwes-teacher","vocab field tweaks":"ethicsatwes-teacher","vocabulary":"ethicsatwes-teacher","vocabulary overview":"ethicsatwes-teacher","vocabulary-here":"ethicsatwes-teacher","vs.png":"ethicsatwes-teacher","waving_springer.png":"ethicsatwes-teacher","ways of reading":"ethicsatwes-teacher","welcome":"ethicsatwes-teacher","what distinguishes (in)justice?":"ethicsatwes-teacher","whiteoutsm.jpg":"ethicsatwes-teacher","word count tool":"ethicsatwes-teacher","world music tracks":"ethicsatwes-teacher","writing":"ethicsatwes-teacher","wrong vs inexpedient":"ethicsatwes-teacher","yes.png":"ethicsatwes-teacher","young_man_diagram":"ethicsatwes-teacher","zoom demo venn diagram":"ethicsatwes-teacher","zoom_logo":"ethicsatwes-teacher","Ω review 440-445":"ethicsatwes-teacher","◎ About Kevin, Aristotle would say…":"ethicsatwes-teacher","◎ Appiah and cosmopolitan spirit…":"ethicsatwes-teacher","◎ Aristotle & moral luck …":"ethicsatwes-teacher","◎ Aristotle on biological causes…":"ethicsatwes-teacher","◎ Aristotle on humans’ animal nature":"ethicsatwes-teacher","◎ Aristotle on virtuous feelings…":"ethicsatwes-teacher","◎ Aristotle on voluntary actions…":"ethicsatwes-teacher","◎ Beauvoir on the student’s dilemma…":"ethicsatwes-teacher","◎ Buddha and Epictetus parallel…":"ethicsatwes-teacher","◎ Crito’s and Socrates’ values…":"ethicsatwes-teacher","◎ Dewey and paths of life…":"ethicsatwes-teacher","◎ Epictetus’ masculine-individualist ideals…":"ethicsatwes-teacher","◎ Euthyphro’s “What all the gods love” hypothesis…":"ethicsatwes-teacher","◎ Happiness for Mill, in contrast to others…":"ethicsatwes-teacher","◎ Kant and double-belonging…":"ethicsatwes-teacher","◎ Kant differs from Aristotle…":"ethicsatwes-teacher","◎ Kant on the categorical imperative…":"ethicsatwes-teacher","◎ Kant's examples illustrate…":"ethicsatwes-teacher","◎ King & ancient philosophers…":"ethicsatwes-teacher","◎ King’s invocation of ideals…":"ethicsatwes-teacher","◎ Kohlberg on other thinkers…":"ethicsatwes-teacher","◎ Kohlberg on relativism…":"ethicsatwes-teacher","◎ Korsgaard’s double-level theory…":"ethicsatwes-teacher","◎ M\bill’s psychology…":"ethicsatwes-teacher","◎ Marx on \"ruling ideas\"…":"ethicsatwes-teacher","◎ Mill on motivation…":"ethicsatwes-teacher","◎ Mill on perfect and imperfect duties…":"ethicsatwes-teacher","◎ Mill replies to objections…":"ethicsatwes-teacher","◎ Mill would sacrifice…?":"ethicsatwes-teacher","◎ Nietzsche aligned with Marx…":"ethicsatwes-teacher","◎ Noddings on reason…":"ethicsatwes-teacher","◎ Noddings responds…":"ethicsatwes-teacher","◎ Nussbaum on cultual difference…":"ethicsatwes-teacher","◎ Nussbaum on spheres of choice":"ethicsatwes-teacher","◎ Pandemic ethics as non-ideal theory":"ethicsatwes-teacher","◎ Plumwood diagnoses…":"ethicsatwes-teacher","◎ Plumwood on agency…":"ethicsatwes-teacher","◎ Rawles and extensionism…":"ethicsatwes-teacher","◎ Rawles on goat-culling…":"ethicsatwes-teacher","◎ Singer anticipates objections…":"ethicsatwes-teacher","◎ Socrates indicates \"the majority\"…":"ethicsatwes-teacher","◎ from duty vs in-accord-with duty, for Kant…":"ethicsatwes-teacher","◎ relation of piety & justice…":"ethicsatwes-teacher","◎Aristotle's eudaimonia…":"ethicsatwes-teacher","⬒ Degrees of freedom for Kant?":"ethicsatwes-teacher","⬒ Monotheism and Euthyphro?":"ethicsatwes-teacher","⬒ Pious as god-loved?":"ethicsatwes-teacher","⬒ Socrates’ challenge to Euthyphro":"ethicsatwes-teacher"}
{"\"up to us\" vs externals":"\"ce01e3131725bcd54f6f91a6fd35bc82\"","$ $:/plugins/danielo/encryptTiddler/crypt-button$":"\"c394c0440053fc6271f0622b22d9e2b8\"","$:/.jp/css/blockquote":"\"281e9d26e8bc8b3ef6871ec569436d49\"","$:/.jp/css/quote":"\"d0231c3516b6ad1368df44f9fb3fcc28\"","$:/.tb/macros/linkimg":"\"d4a028cc58fd8e0e232da47efac8510e\"","$:/.tb/ui/AdvancedSearch/Field":"\"c50c50e42d80d0962abb25f84c83093b\"","$:/AdvancedSearch":"\"a0125a54233575fff824ea55c5cf81d7\"","$:/ControlPanel":"\"1bed87f9bf2072f3030255926de75dd6\"","$:/CurvedText":"\"510dab6a310c3a38c5d8aab944ccf038\"","$:/DefaultTiddlers":"\"47bb68ad2132aa0ffa93a1914ddbab08\"","$:/Justice-b1":"\"e044c078a52a49059eddafd34daf593d\"","$:/KE":"\"fe758bd7b515b009359fb77359a47ad9\"","$:/LinkStyle/Stylesheet":"\"53d71eb78da4dafedd3a8efe203d0dbb\"","$:/PrintList":"\"f9f26f8c071d7ef099b7547f47c6c514\"","$:/SVGExampleRadius":"\"f34fdca8f8caa4c1eb630b257b337979\"","$:/SiteSubtitle":"\"38e3a80bfb56bfc01120c1b908c573ed\"","$:/SiteTitle":"\"1e1fa78e2832293ce5465df16204d3d5\"","$:/UploadName":"\"6d285e913e006da674c52d71eef5f9d8\"","$:/UploadURL":"\"0bf5100b53925fd9c066ad7ce11e8e14\"","$:/_TWaddle/Stretch/CSS":"\"af769861130f074131dc346246d1d527\"","$:/_TWaddle/Stretch/Macro":"\"76fb47a14ed3efdc15301f53d33b027f\"","$:/_telmiger/ref":"\"856d8226f214f6f8c41573230e745dea\"","$:/_telmiger/strex":"\"734b4c501b4815489696f6b389aaa431\"","$:/_telmiger/strex.css":"\"4d4ac4f0c54970ba4d323824a120b422\"","$:/_telmiger/utils/HashStr.js":"\"ce24e1aa12ab6c6641c21cdaad53060a\"","$:/_tw-scholars/doc/macros/slider_accordion":"\"31a78b23c2ad1b09bb7948d3a77cc4be\"","$:/_tw-scholars/tab/features":"\"96a490dfa6e7486b408acda86c7ae395\"","$:/config/AnimationDuration":"\"06a9b518e7dfb44bf17d4a5a3560b11c\"","$:/config/AutoSave":"\"4433ceb9800d718fe8c6ff508a988731\"","$:/config/BitmapEditor/Colour":"\"53e85d0c30667370db4ba4c9349804f0\"","$:/config/BitmapEditor/LineWidth":"\"522215bab04e5f49c7e262ddd6f38e9e\"","$:/config/BitmapEditor/Opacity":"\"3380d330a14bec5e9730b5fdd5431a47\"","$:/config/ColourPicker/Recent":"\"2d0fdd61d4507f786304acc99dd04728\"","$:/config/Comments/EnableFilter":"\"cdab4d200425f4b5df47b322f4d930da\"","$:/config/DefaultSidebarTab":"\"2cefaa18590424344000dc0638e6b3d6\"","$:/config/DownloadSaver/AutoSave":"\"474757319f0042eb31e04421e7fbc7aa\"","$:/config/EditTabIndex":"\"f6244346eefd0c721fe17ea592da8ea5\"","$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/linkify":"\"cd9de58b0cb7f0cfa1ff338d5ee34ffa\"","$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/transcludify":"\"e0660131e61d776cf527e33a9e467cf3\"","$:/config/EditorTypeMappings/text/vnd.tiddlywiki":"\"c5f1d62e7fc4553fb4d43a1c9d6ee3a1\"","$:/config/Manager/Filter":"\"d1afdd4a6be22e260b37aa1c640e7dc5\"","$:/config/Manager/System":"\"146b479349328229e98c579123cbb233\"","$:/config/Manager/Tag":"\"f644be3b73213daf5e1d04db60aa41e6\"","$:/config/MuuriTouch/ColumnCount":"\"86b204226cf371dc8d1a11a645527002\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/control-panel":"\"7c8cf15cc71c2f636bf326e8888a18ea\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption":"\"d14d262584b755c4e3603b261f5bf743\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen":"\"f60fc98bff628be05092e810d8cea9f4\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home":"\"ea01d5694d8274a3d8b2d482dd3ca936\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":"\"adf709f578d1b7fc879062c736483aa4\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager":"\"b7dca83717f4889283f6178522ffaf41\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions":"\"314f6523d8c54d4a572b4579e36d5f3a\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-tiddler":"\"ac0d9d2b6e006271c7017b01fcfaf093\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette":"\"22ff45b1a4ccbf9b496513bd90d2db3d\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/save-wiki":"\"8b7c6f7fe04bd713d33c4ef8d1bccfce\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview":"\"67528742f3ba3926f664e8da41af854a\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager":"\"a471c6f8a9c614a4deb8d3554331a7fb\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp":"\"254f7ce57c610b3f704c1b6981a0f1e2\"","$:/config/PageControlButtons/Visibility/$:/plugins/BTC/tiddly-touch/Buttons/change-view":"\"df764f34595ae2c535134cfdf6a36d98\"","$:/config/PageControlButtons/Visibility/$:/plugins/BurningTreeC/muuritouch/ui/Buttons/dragging":"\"7d1ee5cc60d63ef72bcd3410df9e37a5\"","$:/config/PageControlButtons/Visibility/$:/plugins/BurningTreeC/muuritouch/ui/Buttons/visibility":"\"ff19ddd962a4c37bf53fee6ad9a9ef84\"","$:/config/PageControlButtons/Visibility/$:/plugins/aaldrich/tables/button":"\"5cb1752a401a39967657763a2c3fb681\"","$:/config/PageControlButtons/Visibility/$:/plugins/kookma/commander/buttons/pagecontrol":"\"56a5ed310ce61bb4c6f59696a605f4e6\"","$:/config/PageControlButtons/Visibility/$:/plugins/kookma/utility/pagecontrol/view-fields-button":"\"ccac56cf52a5bff8272e67e2e583ee72\"","$:/config/PageControlButtons/Visibility/$:/plugins/telmiger/ReaderMode/ui/Buttons/drag":"\"f73f61ee56b33df71a69a5f9f70263fc\"","$:/config/PageControlButtons/Visibility/AddMicroessay":"\"70a169968e98f721aa4717237871340a\"","$:/config/Plugins/Disabled/$:/plugins/BTC/tiddly-touch":"\"7c51978ddff100c5e63966fae63fab2f\"","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/KeeBoord":"\"655d14683d234301f9802b4175c54e8e\"","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/PrintRiver":"\"4c28a53d4425928cc842c2be70fe5c22\"","$:/config/Plugins/Disabled/$:/plugins/BurningTreeC/muuritouch":"\"4f48e92d0feeb3c7ad234d966b60700d\"","$:/config/Plugins/Disabled/$:/plugins/TWaddle/ListTree":"\"cdb5b81ea122705c515ecd20a424ab65\"","$:/config/Plugins/Disabled/$:/plugins/aaldrich/tables":"\"18afe224e062df7d1b22566e7b548e14\"","$:/config/Plugins/Disabled/$:/plugins/ajh/favorites":"\"66d4df99ad29f0bf870c35e9ffe9d27c\"","$:/config/Plugins/Disabled/$:/plugins/bimlas/highlight-searched-text":"\"24b57e597b3c80105a414b32ae9d8f5b\"","$:/config/Plugins/Disabled/$:/plugins/danielo/encryptTiddler":"\"bdca90df715b30b21204e37146bfd366\"","$:/config/Plugins/Disabled/$:/plugins/danielo515/ContextPlugin":"\"11832285d70e80dcc6986161c72642e7\"","$:/config/Plugins/Disabled/$:/plugins/danielo515/encryptTiddler":"\"242413346d566b4e95a1a5fe59e9dc66\"","$:/config/Plugins/Disabled/$:/plugins/eucaly/popuptagger":"\"7d98b80f24be28058953bea6da25a4f9\"","$:/config/Plugins/Disabled/$:/plugins/hchaase/toc_counting":"\"e819d809fb6f4a5fdbd2226b58c381e4\"","$:/config/Plugins/Disabled/$:/plugins/ihm/tidgraph":"\"ab0b431101c51b9554cdd5094ca2706c\"","$:/config/Plugins/Disabled/$:/plugins/jd/NTFS":"\"43ec17c05dd0a4979e96a97fb8bcdaef\"","$:/config/Plugins/Disabled/$:/plugins/jd/NTFS19":"\"7b8e09147465e507d2380b2b39bbbbc7\"","$:/config/Plugins/Disabled/$:/plugins/jd/fullscreen-editor":"\"2aaa033290afda2455f73b08cb31bca8\"","$:/config/Plugins/Disabled/$:/plugins/kookma/commander":"\"36d1937f29a504f26fb39e6aeebfceaa\"","$:/config/Plugins/Disabled/$:/plugins/kookma/refnotes":"\"a426645650e638a78e8ae4330fdd6d23\"","$:/config/Plugins/Disabled/$:/plugins/kookma/shiraz":"\"eb5065f84f9212e75bf88384588f7378\"","$:/config/Plugins/Disabled/$:/plugins/kookma/utility":"\"7832a0d7d379debb24d2421a0e7d4c4d\"","$:/config/Plugins/Disabled/$:/plugins/mklauber/aliases":"\"e40ed9422cf4ddab092199d85346deb9\"","$:/config/Plugins/Disabled/$:/plugins/mklauber/shuffle":"\"f2e96816af4ed6568b67a6cc43ad2a81\"","$:/config/Plugins/Disabled/$:/plugins/sk/FancyQuotes":"\"1ad466d8f51304c35258126c1fbd2614\"","$:/config/Plugins/Disabled/$:/plugins/snowgoon88/edit-comptext":"\"bbea82c51d9dec6ddb835c27963eb552\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/ColorAction":"\"5ac105b66657cebc9f1d3970f7bffe0e\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/EditorCounter":"\"ed73c3297306446fba5475813b907f62\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/ReaderMode":"\"197e1d24b3b003856ff12c721ba63b86\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/details":"\"3a9e4bec7da89637c1505e58ea8cd658\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/listreveal":"\"7c371e578705c2cbde55c07aa237191b\"","$:/config/Plugins/Disabled/$:/plugins/telmiger/rpn":"\"df212b9c79a81cabebb21e13fb143e30\"","$:/config/Plugins/Disabled/$:/plugins/tgrosinger/tw5-checklist":"\"e43890f1b542c86246e9930d4fee47c5\"","$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/comments":"\"a9f86c96b6d73724cfc07d2c6905a959\"","$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/tw2parser":"\"17d9151fbdad9191e381a00af8401c35\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/appear":"\"e79c96acc9ba62edad19e0b4f2148e98\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/inc":"\"5c61f2f9592107374c544fab234ddcf7\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/plantuml":"\"31a2f55270baf720fa92c0308152c4bd\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/preview":"\"06fd0c48e091869f90ba5a95ed530188\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/sparkl":"\"566a5d78fc839d02745136008cc59331\"","$:/config/Plugins/Disabled/$:/plugins/tobibeer/split":"\"1f9af3cde7fd55f2b1bfc18b6d3f2aca\"","$:/config/Plugins/Disabled/$:/plugins/wikilabs/uni-link":"\"f8ed490b416f96c035d409cc8a3b40b5\"","$:/config/RelinkOnRename":"\"60923a3736e2a141deca41944f666db9\"","$:/config/TextEditor/EditorHeight/Height":"\"5d5bfc5bd5cc638c8bfab391f2659a3c\"","$:/config/TextEditor/EditorHeight/Mode":"\"b5a0cca030a477e352bdcad97bd9802b\"","$:/config/Tiddlers/TitleLinks":"\"33c80cfcd5e9886e17548b0af29b52a0\"","$:/config/TimestampDisable":"\"cb4db83c6e0a93c8064ab864fc78ba33\"","$:/config/Toolbar/Text":"\"605af1546d1718d0b5587465ee1e0397\"","$:/config/ViewToolbarButtons/Visibility/$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":"\"38f31c0ca93bb301f4e2ea19207cbca1\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone":"\"c3ccd9946a3a84f42134b4b348cc4d51\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit":"\"f7a544e0c312bb91c2e8328696bd072c\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar":"\"c8e98c7dc943a64647a1c33bfffa371b\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info":"\"2174eb26168e63801b015dfc37493b62\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here":"\"d770afd94f7ae29d690ac681335ee39c\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window":"\"dff8c3a82bdb0e049f8bdae69eb57ecf\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":"\"515f9ff73e58d995704f8e540a05c0e6\"","$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview":"\"174710bb70d15b5f43739925fe536146\"","$:/config/ViewToolbarButtons/Visibility/$:/jd/fullscreen-editor/EditButton":"\"af1ab3e12e702a074b4715925a49b07d\"","$:/config/ViewToolbarButtons/Visibility/$:/plugins/ajh/favorites/template":"\"91497d7ea54e79099f3bc866d474c802\"","$:/config/ViewToolbarButtons/Visibility/$:/plugins/danielo/encryptTiddler/crypt-button":"\"0d1ecba80ed234689d4d6591941e9e03\"","$:/config/ViewToolbarButtons/Visibility/Draft of '$:/plugins/danielo/encryptTiddler/crypt-button' by espringer":"\"174c7655352bf9db3ca67310db061b51\"","$:/config/WikiParserRules/Inline/wikilink":"\"90556e1771062b62fe75679d4ed25408\"","$:/config/fa5/decorate-extlinks":"\"970b868253d3251d7d84d98b8d01ff7d\"","$:/config/flibbles/relink/fields/keywords":"\"a9ac34bc5b51e45109327db0b123a141\"","$:/config/flibbles/relink/fields/vocabulary":"\"68411ad063cbfae22e626b102e72f6e4\"","$:/config/listreveal-mode":"\"e656ee4e0c89c813627f59150eb71c15\"","$:/core/macros/timeline":"\"19db63d9c8549fd089702c82c1f6af06\"","$:/core/macros/toc":"\"20143af45103b08f04221b8c5a992b56\"","$:/core/ui/ControlPanel/Plugins":"\"2de5f45362e888ba1e0817e8137b6512\"","$:/core/ui/ControlPanel/Toolbars":"\"8c2af94109ae8a36ea52fd687a53d00b\"","$:/core/ui/ControlPanel/Toolbars/ViewToolbar":"\"8b5ac933d0b7be97149e072bb22c5fec\"","$:/core/ui/PageTemplate/drafts":"\"84c92f21af962b5b4872433cc0dc5974\"","$:/core/ui/PageTemplate/story":"\"27ef3c7089ee8bde1db3fba7a051e30c\"","$:/core/ui/SideBar/More":"\"3e7537cc1354a745f314b7d681be517f\"","$:/core/ui/SideBar/Tools":"\"2b57e0ed68f44c0906b933522c37357d\"","$:/core/ui/SideBarSegments/tabs":"\"416bebcd165a552b5a69ba9c0168d53e\"","$:/core/ui/ViewTemplate/TOCgeneric":"\"1be92fe3bc8c18c118608352297707d3\"","$:/core/ui/ViewTemplate/subtitle":"\"6553831ea2347417e403096f96b54d85\"","$:/core/ui/ViewTemplate/tags":"\"e6dabe175e48b7e8ab8dad9f54fe067e\"","$:/excerpts":"\"2d8180389002db8e3a3c67479895552c\"","$:/favicon.ico":"\"34acaf262c8cbb5fb727c4b830587908\"","$:/fullscreen-editor":"\"da6f5d2687149f15de1cb194e778ca3f\"","$:/images/fa5/solid/thumbs-up":"\"b30771eae5f06b0766b389cff0666018\"","$:/images/fa5/solid/user":"\"88a1f8b391fb5035b55ae766e51d1cf4\"","$:/jd/macros/paragraphs":"\"3e2d1395ae58b05e4938a2e5543a36e9\"","$:/keepstate/dynamictables/submissions overview list/style":"\"d36af57c2024b15db8360fc4bb6d3075\"","$:/keepstate/dynamictables/this oq overview list/style":"\"425f9bd31c8ccf07fbc5b3ee54bb8d29\"","$:/keepstate/utility/toggle-view-fields":"\"007e909d9a063a05dba6d66795f8635a\"","$:/language/MissingTiddler/Hint":"\"8d8739702ac24f9fa0770f5d14a18533\"","$:/palette":"\"2057f245b6a1bfe5791a0869fb7a848d\"","$:/palettes/Blanca_wes":"\"2512bfe5e698856536389cca44cb9873\"","$:/palettes/Nord":"\"38e3a79ff8a52fca6216f5ae13b43d28\"","$:/pleasure b1":"\"8f4af874ab59abcc313b33e46b608e2f\"","$:/plugins/BTC/tiddly-touch":"\"e288557543e6591c21ca623e10f1c77f\"","$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps":"\"0aaf3a613cb732971e1d0e011fdc064c\"","$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions":"\"4932bc1c1337eef1d33bb265b6e4091c\"","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert":"\"b7afab677b3f0b7eba71a532a51e756a\"","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right":"\"b959b25f603046565c572edec5b2b214\"","$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom":"\"7c8d3f0d2cb9b8531662a529c2aa7052\"","$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag":"\"cc5b952c625753da18d8499d558c7640\"","$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width":"\"680502392e44912888ed63a41faf99b8\"","$:/plugins/BTC/tiddly-touch/CSS":"\"e741dd448ac87ac127c88a2d5c9698ea\"","$:/plugins/BTC/tiddly-touch/EmptyStoryMessage":"\"67b2c504b03f07ce354c4668f3ecf172\"","$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar":"\"c6f517ee4a10ac88699f8e3582eced8c\"","$:/plugins/BTC/tiddly-touch/PageTemplate/muuri":"\"911f742fd3a7db37bb39cc200993f879\"","$:/plugins/BTC/tiddly-touch/config":"\"710de2f2f67b33de1fc50639634f5f0b\"","$:/plugins/BurningTreeC/KeeBoord":"\"6aee763cfa3a7118fa5f2a2b6f225930\"","$:/plugins/BurningTreeC/PrintRiver":"\"808fc8fbc667e289e430c81097ddcaf2\"","$:/plugins/BurningTreeC/muuritouch":"\"5238c2843c60857232be5372ce5b0056\"","$:/plugins/BurningTreeC/muuritouch/config":"\"b61db7eddc7464cf67bc6c0c6205200f\"","$:/plugins/HCHaase/TOCgeneric":"\"b82c910d88f1faa698aaf201ad81e05b\"","$:/plugins/HCHaase/TOCgeneric/ViewTemplate":"\"d7e75978dc70f1c585744db8e557cc18\"","$:/plugins/OokTech/WordCount":"\"c6526f246913d503c032a53992cdb482\"","$:/plugins/TheDiveO/FontAwesome":"\"cc6c9916ce3bd3eec944f4a1c7380053\"","$:/plugins/aaldrich/tables":"\"775ab49dbf5c3ce47a6ffc4f4bc356e7\"","$:/plugins/ajh/favorites":"\"1a78c59eff6138ec8fb8fdf6f424ea0f\"","$:/plugins/ajh/favorites/list":"\"1c6c77414eb9de85351c8635013ea08d\"","$:/plugins/ajh/favorites/template":"\"38f115471ff89b90898e266c0cffdf1b\"","$:/plugins/ajh/tiddlytime":"\"fdd6790ce483a2fbb65d424098c9adde\"","$:/plugins/ajh/tiddlytime/stylesheet":"\"7ac6ea971a8737a54a1bb76e7ee410ad\"","$:/plugins/bimlas/highlight-searched-text":"\"10bc33334b180f98adcbab3001596448\"","$:/plugins/chanilino/viz":"\"9029dd9c049b1846a22803c7c00d1ad9\"","$:/plugins/danielo/encryptTiddler/crypt-button$":"\"bd32c618fd4d05228ce68a9ea5123c21\"","$:/plugins/danielo515/ContextPlugin":"\"9aa03abb40997d41230890a713b01782\"","$:/plugins/danielo515/encryptTiddler":"\"0f6f96039c039a65f34ea6fbe45c1789\"","$:/plugins/eucaly/popuptagger":"\"eabe77b78cd76b5491e39ea8a3d4333a\"","$:/plugins/eucaly/popuptagger/TagBar":"\"793d5fa6c571f7c462416ae47b8c34b5\"","$:/plugins/eucaly/popuptagger/config":"\"479405bd1b9f0504abee32d5bb2c19b6\"","$:/plugins/eucaly/quickjump":"\"27cefb1983cd07ef0f686f31a88f545c\"","$:/plugins/eucaly/quickjump/macros":"\"7f295978ec6c16b64708b849a2bfd390\"","$:/plugins/flibbles/relink":"\"0d73d8baf51d566af688ac6922ced1f2\"","$:/plugins/hchaase/toc_counting":"\"1feaededa93069abbe8ba8db043faace\"","$:/plugins/jd/NTFS19":"\"7cb8c421131c43bec6854cb443b99560\"","$:/plugins/jd/fullscreen-editor":"\"927e7f89feb19708c3730fcd5237d8c0\"","$:/plugins/kookma/commander":"\"c3970bc1895619e4d60663f1c74bafb7\"","$:/plugins/kookma/shiraz":"\"fedf847ea699598adbfa0de6516d5af4\"","$:/plugins/kookma/shiraz/macros/dtables/table-dynamic":"\"30283cdaa0c46fa4aeef344ced29c781\"","$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab":"\"a6597f0bb937e148d399203a8d12554b\"","$:/plugins/kookma/shiraz/styles/misc/edit-buttons":"\"a20f31f9db0e7d025ddcf9080034a53a\"","$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility":"\"5dc5b21ff4bdce67619a92734d452a05\"","$:/plugins/kookma/shiraz/styles/misc/ui-buttons":"\"f7efea83bbeb79bb24eb1f7656fa88c9\"","$:/plugins/kookma/shiraz/styles/multicols/storyriver":"\"8762b475678b7e9be9072a586b25b427\"","$:/plugins/kookma/utility":"\"e992a1e436da39bab6a9762605971193\"","$:/plugins/kookma/utility/ui/ControlPanel/Settings":"\"dc0400f1cf5ce4dfb13cb94aa2904df0\"","$:/plugins/kookma/utility/viewtemplate/view-fields":"\"199a847ac6e047672b4de932457d0e3e\"","$:/plugins/mklauber/aliases":"\"f74127c251118a0d265ce29fb6c3c455\"","$:/plugins/mklauber/shuffle":"\"86db318e687358774f2634434a021ff8\"","$:/plugins/sk/FancyQuotes":"\"946ce3cc37fc424e09b1bb5a8b38d342\"","$:/plugins/snowgoon88/edit-comptext":"\"963766ad64cffdbc6f38d1d31207dc91\"","$:/plugins/telmiger/ColorAction/usage":"\"1903d733e16811fede8e13b0c6770841\"","$:/plugins/telmiger/EditorCounter":"\"e0cfc1e4845a572c1c44701ac350708f\"","$:/plugins/telmiger/HarveyBalls":"\"87897644f677638b770ee03bec284040\"","$:/plugins/telmiger/PluginSize":"\"54ccdb2ec3825be4b09e5a6ee4fda3ad\"","$:/plugins/telmiger/ReaderMode":"\"559ca223c16d2491191e919e7a7bcf04\"","$:/plugins/telmiger/ReaderMode/story.css":"\"76dac3c0cec2bb32ba7a2082c693a5d3\"","$:/plugins/telmiger/WMR":"\"033a5cccb69171e4965d2eee68714d82\"","$:/plugins/telmiger/details":"\"187c3d5dc6693aa50d2981599ec261b4\"","$:/plugins/telmiger/listreveal":"\"3997a556cbdde000bbaad7c6321aab21\"","$:/plugins/telmiger/rpn":"\"3666ba23cce69bdce5b4f2283a7bd21d\"","$:/plugins/tgrosinger/tw5-checklist":"\"8deca163fd57e67a1c32766bd0ad273b\"","$:/plugins/tiddlywiki/comments":"\"9e8915bdf2e6d04a961cfeabc7c60910\"","$:/plugins/tiddlywiki/hammerjs":"\"f39df342d57851ce442057b7a6dd8865\"","$:/plugins/tobibeer/appear":"\"b7458a470c5a89f80fefceb6f48bf45a\"","$:/plugins/tobibeer/appear/styles":"\"a6321dab4109cf793981bd8ca05fa915\"","$:/plugins/tobibeer/inc":"\"83efa0c813722908de98bd1d80dde9a9\"","$:/plugins/tobibeer/plantuml":"\"9509681a055bc51b0c2358dbf70c6a1e\"","$:/plugins/tobibeer/preview":"\"48abd4905690a107ac86a11e0b892e3f\"","$:/plugins/tobibeer/preview/defaults/delay":"\"66953d7604caf53c5e6c5185914bea6c\"","$:/plugins/tobibeer/preview/defaults/exclude":"\"cd0e84b73c35f64343a374705bc02cf9\"","$:/plugins/tobibeer/preview/defaults/not":"\"8ac5ed3ff6f369990d90b23d4b19d652\"","$:/plugins/tobibeer/random":"\"30d690f41ed200c9b1b4e246d1437ae4\"","$:/plugins/tobibeer/setvars":"\"c6030c1a104a864cbed3361a27fcf83b\"","$:/plugins/tobibeer/split":"\"992bcb22d47f17d2d6e3602a97d9ec28\"","$:/plugins/tongerner/toolbar/images/calendar":"\"e4ebd5ca25010517babbb2be1032f9ea\"","$:/plugins/wikilabs/edit-tabs":"\"d519e1d8efaa51de525afb560c7e21c8\"","$:/plugins/wikilabs/edit-tabs/config":"\"fb3c9b25ae6ae6d2c580c785428f51cb\"","$:/plugins/wikilabs/uni-link":"\"336987e71b8fe5f6cdabf85755c77c09\"","$:/quickj":"\"2e7bab27fdde71c8efdee577328c539c\"","$:/resp-template":"\"8c4d31b3196d20e24592f6006f807d2e\"","$:/selected1-1976414779":"\"cfbc3d4cc7108d394ba3b4df6a413d5d\"","$:/selected2-1976414779":"\"f4f330b19e992a015ed691f0e2a925be\"","$:/springer/tagstyles":"\"f75e1f54bc6790f3322e0c6e5c4e43eb\"","$:/springer/textstyles":"\"363fcb7943d5775d3a0e085da66f971f\"","$:/tags/Macro":"\"94e038be5077f182b0c417518daa8227\"","$:/tags/MoreSideBar/Plugins":"\"7ccdf830df1caace542007d6d2c6ac5f\"","$:/tags/PageControls":"\"ab541cee4206034a44756bc14b5fc16b\"","$:/tags/Stylesheet":"\"66598a459bf45192f9120c2b95c4124e\"","$:/tags/ViewToolbar":"\"d17dbfefddf80ec8e9770f4694d1aa16\"","$:/tags/ViewToolbar/plus":"\"d557059cdcd45761d9eaebb8ea8438ab\"","$:/telmiger/svg/icon/path":"\"93f3b2ea667683782f7aa175d766fcbb\"","$:/theme":"\"7aca15e2f4a9a9d787870367da580ec3\"","$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint":"\"9d475b2d00ab34393514af062631912d\"","$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth":"\"c4a8f2dbbf0e5fb3ae8a37ebf7b6d17f\"","$:/themes/tiddlywiki/vanilla/metrics/storyright":"\"62625257ee3188ccfbc4bb59de78935c\"","$:/themes/tiddlywiki/vanilla/metrics/storytop":"\"1fe9d5ee624fbb3e345b11fc8910c79c\"","$:/themes/tiddlywiki/vanilla/metrics/storywidth":"\"0401f4bd750155bb010cbd2e0f75cae8\"","$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth":"\"8dcc4bb4a59470f2d8858a5fedb498fa\"","$:/themes/tiddlywiki/vanilla/options/sidebarlayout":"\"f890b929d5782dbc4ba624c2c1fa6887\"","$:/themes/tiddlywiki/vanilla/options/stickytitles":"\"d14726f742686600f541dceac2d7293e\"","$:/themes/tiddlywiki/vanilla/settings/backgroundimage":"\"a9b8d2d778d0ca7256fd19f2de2050ef\"","$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment":"\"e4c61e866e3072c7a2f11c0b48a8c916\"","$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize":"\"8955f8a477bb6695eabe4b400438b05c\"","$:/themes/tiddlywiki/vanilla/settings/editorfontfamily":"\"bce3c643631aba22138906ea201b2d5f\"","$:/themes/tiddlywiki/vanilla/settings/fontfamily":"\"93bd63dd0b283ff733806906f694ea83\"","$:/time":"\"a00e1b5c9c2782671589e1e3599a6230\"","$:/toc/exper/selectedTiddler":"\"7ae320f88b759e4d46642afc204c52b8\"","$:/view":"\"97e07b75ee1127ceffe63ddffc4d47f7\"","$:/who":"\"bec61360c35703c5056929acacfd92bb\"","04 Checklists":"\"0571791de432511f9fffddc585694c57\"","2020 midterm exam options":"\"062b448266b70a0ff39e4ce8315a73aa\"","2020 calendar":"\"bedaeb04e70038fa987d9bf430ecb0fe\"","21-03-25_oq-result":"\"23de88323816a66b592a5a20d65c938b\"","21-03-25_oq-result 1":"\"349c532f6ea7662d5a4bc2fb91e388fa\"","21-03-25_oq-result 1 1":"\"1ba22190430838c4e31d037192a991b7\"","21-03-25_oq-result 1 2":"\"b5db09b0d2580a813082cfe93398a069\"","21-03-25_oq-result 1 2 1":"\"07a32376c83e58fe017a3d851e634e99\"","21-03-25_oq-result 1 2 1 1":"\"c7dc371b7f1b63d69fefb26a716ceb9e\"","3 formulations of the categorical imperative":"\"86e4c1d712666f9915a522fe1be3eb17\"","3spheres.svg":"\"2221873bf0d1da3fbcf36369d746697d\"","@Activity":"\"b4ae4b1692b12f44704039085873da01\"","@Evolution":"\"f5f66c4516e7bdfe5e86f795d4e367cf\"","@Flood":"\"4b38fd8bba4808b138c7422f03705dd4\"","@Justice":"\"c85042f1683418e3c03f249c929852a2\"","@Liberation":"\"ba3db11f8a61c4366bc5c2399e41ca74\"","@Obedience":"\"c54c3a072aa3b1ed86c0f906cf973d2b\"","@Pleasure":"\"1da45a981be4f393b3d16659545ccead\"","@Safety":"\"dc17cf2d65ab450ba806269207e4778a\"","@Sharing":"\"5a42f59bb828328154efe7d9abb77fe2\"","@Spontaneity":"\"e21fcb6fdaf96846f7ee74e2a70b3d7a\"","@Survival":"\"9df431b9af7193393533221138441ed6\"","@Transcendence":"\"395884d7cbd85a5a3c20a0ae49e77473\"","@Virtue":"\"98111a854ebd52e2f7ade21648e1226e\"","@Wisdom":"\"09649e245b6201a9cc8aa371b276c98e\"","@Work":"\"93307f776d7afcaea287b027540a28dd\"","A: conscience vs self-interest":"\"f24f2892f07fb1eb4420e21ccb259c61\"","About Intro Ethics (PHIL212)":"\"035be6b3eb7befe79e71ab0e75712d49\"","Add or Remove Tags":"\"99e4e686eaacd15fb92b840f81a799c4\"","AddMicroessay":"\"434ee68cc142c0bc853991cd36367c78\"","AddMicroessayTemplate":"\"e195247afb6e3d83398cff7a8667918b\"","Agenda Crito":"\"c9388f1a19ec7a5b98b6c80002abac8c\"","Agenda day 1":"\"176afe62face0593565dc2910db64678\"","Ahmed":"\"445617f1ca35da0c101b4a2f5246ee0c\"","Ahmed key concepts":"\"8f75a5190b0ad5eb17103f4542e2ddfc\"","Alias ViewTemplate":"\"03031a3e8c3b50e878f1b3d6e8426b62\"","Ambiguity in facing dilemma…":"\"da8db171f02153e31eeb9085d3cce571\"","Apology":"\"13e343224d2489365a588003c5762b1d\"","Appetite vs spirit in Aristotle?":"\"f3a564679e91b052195b75eade269219\"","Appiah":"\"24415f4fb6f4b5d37510fced0b266b7f\"","Appiah, Global Citizenship":"\"44ba9cd877939b4ab2736043ebddecba\"","Areas of philosophy":"\"5363f70c5ff54314c3d1b1e39eb49874\"","Arist passages":"\"93fef68090e3ab0c37ab315311dc09cf\"","Arist/Plato pic":"\"97692a7b12d33def172cb673a27b296c\"","Arist3 excerpts":"\"7d4b4e35d05802ee72073cbc484a466a\"","Aristotelian Ethics":"\"96d3612f194ea33570578c493fe8df2e\"","Aristotle":"\"18ce45325202ca0c5c41e7cb100d3ab2\"","Aristotle 1 (up to 1115a)":"\"ea2b435e222a8352e1df962bf853b82a\"","Aristotle 2 (1115-1132b)":"\"d891d3f6f3f685a10be0d003c3ae5b44\"","Aristotle 3 (books 7, 8, 10)":"\"1fd180e297feb87682b20962ed6de392\"","Aristotle alternate translation of 1146b":"\"545e96913d66b34d5a0a47a8b2701adb\"","Aristotle and privilege":"\"c569f6cdcfb561a29516e77b526aa59a\"","Aristotle diagram steps":"\"151a809d62d3da38c8a38770b8292220\"","Aristotle google slide link":"\"e3c56c61357c5ba6f9ca625164f6087c\"","Aristotle on friendship…":"\"f9e3bfe8336c0278126e47156e5beea6\"","Aristotle on sex & virtue":"\"97627cff89b4de0aafff17a55b70a88c\"","Aristotle on sticking with friends?":"\"e9b8dad26baffd7fa699eeeb98303bcb\"","Aristotle question experiment (appear)":"\"ec72f2d3f10420269726ecb438722519\"","Aristotle's cultural ideals…":"\"2f2fc7e718d70ca22e5502a8c9414f5e\"","Aristotle's young man argument (diagram)":"\"582d672c9439ebd07689d3a5fa4138cd\"","Aristotle, Nicomachean Ethics":"\"6206ba873c9af74dc78e31aa8ece9584\"","Ataraxia…":"\"f352a418e8f10a978790d7ee02b3525d\"","B7280B6A-F05E-4491-86C5-F9F927FE38E9.jpeg":"\"5a1ff26f0a48ba32c298abbd662d9498\"","B: social influence":"\"87dd1f4f0a21b513dd888bb1352dc0e5\"","Backend solution":"\"71bf7449284f5009f8a498a025c319e0\"","Background: Kant, Piaget":"\"00436d4cc24ff1eb05795274f0397b67\"","Barbara":"\"ec8af53c19c7cc8c1de26078081bc896\"","Beauvoir":"\"d2b0e3a38f1d6c77f59463d5776cd05a\"","Beauvoir lines at bottom":"\"1591743b86c471114b3cb68637ceaaf2\"","Beauvoir on freedom…":"\"ca0c1fa29b95c3e0cea104af8b4b52b0\"","Beauvoir passages":"\"dda7d85c2543e4a6c46fcfc98387e4d3\"","Beauvoir vocabulary":"\"e6bb723f68f7f7bb8c8faefd39242f4e\"","Beauvoir's paradoxes":"\"ba27770a37f7a821209024267cdf209c\"","Beauvoir, Ethics of Ambiguity":"\"f5fa14242a9213ab6529c3b70bd40ec1\"","Bentham":"\"d0e5771f0c91da59fb8c0fb19d013392\"","Bentham's quantitative utilitarianism":"\"1a897dc8c716743a208166f8f95a5142\"","Best wishes for summer and beyond!":"\"eeb08266a2f768985ffafa75d31ab208\"","Blockquote styling and notebook class":"\"e59a251ff5d462e1b075f6db1e4135ab\"","C2-response":"\"32221eadb2ca4e564de7242d4d4e8945\"","C2-response 1":"\"c4fd16aa86f088c5d9df37d291372c81\"","C2-response 1 1":"\"9b01d9aaacfecbb02e034c20b43e1fd7\"","C: human essence":"\"2ffe46fbbd6acddac67fd7aefe746eaf\"","Capability of the majority?":"\"2a1816d91134212e6b9d94c0516fed20\"","Charles Mills":"\"5c9d1a1943995d379bdfc9b2a7f51837\"","Christian virtues & vices [Wikipedia]":"\"1358989216c621e47bcbae0be2d9584f\"","Comments! Questions! This site is now interactive…":"\"a1dff91d95f3fe2e96d860c07541e3cf\"","Course expectations & objectives":"\"82f9217b52addc3e71e0d17ef2a2f2e3\"","Crito":"\"a27a9fbc4c32274bdedfeb34659381ba\"","Crito excerpts":"\"b64837671f45c433cac198a846a82228\"","Crito microessay set":"\"16594ce49a6c454b7812266d9b1fa8d6\"","Crito moral development":"\"3607c6450bbb4bfe2582ba682750c69b\"","Crito objections":"\"4bd0713d2f988054aef3cefd03c674a8\"","Crito outline":"\"bd9c0ec4e357326b8752881049047462\"","Crito sample 1 (Batte)":"\"ce0891fc6421370eb49c1e9eb7f8ffb5\"","Cultural disparity":"\"b9ff539a1184ae9b081ef1d0dbe2f166\"","D1 question via google":"\"4df00a9421be90d1290adbbb6d54336b\"","D1-group":"\"f375d2cdb9eccfdf35c41a59352c35d9\"","D1-group 1":"\"314464552313379c710d21b41f474844\"","Dangerous to obey only reason?":"\"2eb79d84fcba8f05ee4ddd3aba99e9a8\"","DetailsWidget testing":"\"8461098e1c77c043991ab1668f7b3e6e\"","Developmental Moral Psychology":"\"348d42ae9097157f098bfe2d2c84968e\"","Developmental stages":"\"5e82fc7637f47a1ce863f12ce39aea67\"","Dewey":"\"4369397dbaafe0f007f0734a880f3a33\"","Dewey allusions":"\"9c81675d2d57d655943c8ba22e49e9bc\"","Dewey on moral theory":"\"e8582ec107c519a09a50896233191f18\"","Dewey passages":"\"5ddc2b9e14af827e00f41a92b91df3f7\"","Dewey, Theories of Morals":"\"ca3c12a50b9479a957ebe82477dc2453\"","Diogenes the cynic":"\"10288d61f391d7d76c91ab57ce5d7838\"","Draft of 'Noddings claims' by espringer":"\"738a9dfad5f938a24c24926ccc2b7653\"","Draft of 'Radiolab episode on blame' by espringer":"\"0c0a48ae2731e64bc9314b58deab97fc\"","Easter Island notes":"\"ce1018ae00d931f7272bb57936a75ebd\"","Elise Springer":"\"e3e50972489ba3a7d94e5f64ab4623b2\"","Epictetus":"\"96cc111f65c1376ee096884439e74066\"","Epictetus excerpts":"\"557dc5649627e39c4c0d1ab286a8b34f\"","Epictetus key terms":"\"11bba5ed7419d8ed6d978b37219e00e3\"","Epictetus on family":"\"75096956159fefcd0adae16e08021ca2\"","Epictetus' critics":"\"03a36ad4966b90429ca2a7a287cdb5fe\"","Epictetus, Enchiridion":"\"a0034bb4df0b6b6cb1946911a84e5ebd\"","Eric's next suggestion":"\"5c86b5849b0161abe3bf7f27a693a3df\"","Euthyphro":"\"07b0a7d507dcdcf59455c45cc322e714\"","Euthyphro core argument (11a)":"\"e1aff10aa9f0bd38c04089e07780a24b\"","Euthyphro dilemma":"\"6462d6adba145a01a5406e4799b6abc7\"","Euthyphro excerpts":"\"b7c97400667bc083b3b0a5f2d9508064\"","Euthyphro flowchart":"\"247c75a6d7cd69ea7c8202daeac850d4\"","Euthyphro footnotes˙ (taking sides on Euthyphro dilemma)":"\"81d713d8a085c9113b3231d1437dea85\"","Euthyphro microessay set":"\"5e1e21d641dcc60e6e99c177a00e7ca0\"","Euthyphro's mistakes in defining piety…":"\"7416756858f1b40fcde6e4a509f975d0\"","Euthyphro's polytheism":"\"9cda1b45537bed8d7f981162aa2b4002\"","Excellent incontinence?":"\"02f8767e177be1c3f88c7dabdf13fd31\"","Experience and free will":"\"7d628977a3dd041b34f1535c148e26c1\"","Extension of existing moral theories…":"\"ef993c17635f59e39250095310d9f94b\"","Feel so different":"\"da586a610627d6180a26f22ce38b46f9\"","FileMaker Pro":"\"6f6a9a28f5a6e1c73e9561f9f792927c\"","Final exam essay options 2019":"\"1681177c5ede2ba756b69f37986b830a\"","First, find your group":"\"e04c0b797bee2086b407f01ee5ad2b95\"","GMM §2 ¶1-11":"\"8159e4eb256be09f2b934ece561a94e6\"","GMM §3":"\"d64b2f8a698b2e13098f4240d630b013\"","Google fonts for TW5":"\"f67338b699f80bf02ffd25b3a38fda51\"","Graph/Pie/Stylesheet":"\"6445fddf1831b39a382b9dec07fb9d1a\"","Graph/_Core":"\"f568e191b8c0223e9bf9c4fc2b6d6197\"","Graph/_Core/Stylesheet":"\"dcdec3cacb656e4352c7a3fd862b5677\"","Graph/_CoreComp/ElementLabels":"\"deb2b425e0c2eaf2fcc5627b4393674a\"","Graph/_CoreComp/avg":"\"5f026511b40cf663fa8af1e86726f33f\"","Graph/_CoreComp/totalsum":"\"a7ba08f6df5d2a2bdaf2bf391285fa97\"","Graph/_CoreComp/vendors":"\"c43822c851efa7c98a04ac948494718a\"","Greek":"\"163f23afd9a344bd51f8b7dac6a79fcf\"","GroupedList":"\"52338d208999d0de90be2e9de768415e\"","Gruen":"\"2a08868af43efd8d5d8c2ff3a372b4a8\"","GruenDiagram":"\"eb73b26ed3b595498cb417bc447808da\"","Hardin & Callicott":"\"1eae387bea7352254acea11b3da55404\"","Hate speech policies at Wesleyan":"\"4510155acbf5c36a6028ede6559a8075\"","Hegel":"\"9a478e8ee5732b2e8bee4172c280fd72\"","Hegelian dialectic":"\"e05947bdea822a7bbac01fa452b37f77\"","Heinz dilemma":"\"30dfb22e25c4a6d8a4db6cfb89a1daed\"","HelloThere":"\"6140b3727cf5f8283b29442f571fe81b\"","Hierocles diagram":"\"141127fb23298bbb712dca67c0fec0e5\"","Home":"\"2fa106fbf88a9926521618932ec064d8\"","Honor code":"\"092fb88679f92d2d5f6ee6563ab3b80e\"","Incontinent Fool paradox?":"\"032e997641f20a2990e572bb97729078\"","Introductory question":"\"89d84d3af71357056b54ea7c9893c3c2\"","Is akrasia real?":"\"e8293ac07297587ee2b71e1bf671bd5e\"","J S Mill":"\"e602345252ee2b505c2a08afb4db3590\"","JSON example":"\"08ea8de1f106023a2c2374b62e76ff8d\"","Kant":"\"1d114fb633b2238a117251020bf6e189\"","Kant / Hegel / existentialism":"\"bc5cc0289bfb330f91e40e79f1a4e7cf\"","Kant GMM §1 outline by ¶":"\"c40e9ace237d2019bc5eb7e40a8bc6ad\"","Kant against happiness?":"\"fe2295c312bd2671ca1bb5ff4080a7cf\"","Kant background concepts":"\"34cd096c460d9a1cf95b01643e3b7c97\"","Kant excerpts":"\"2bc53669f805c9fe30432b304b56eea7\"","Kant faces determinism":"\"68362d014780efeaa9a7a69bbab29825\"","Kant on moral duties…":"\"ef526c3c2a55d4e07d3f326317c81c1e\"","Kant on moral worth…":"\"1375e1aa39f8a156f91fb2975863e7f4\"","Kant on staying silent":"\"55891f726fd2ff39743d0106b8ee5140\"","Kant's 4 examples of duty":"\"6dec1bafbba2c67ce729cd25c5cefa48\"","Kant's argument on the purpose of reason (diagram steps)":"\"77a52e4dee12128eb41238b90c959747\"","Kant, Grounding for the Metaphysics of Morals":"\"a7194715d296612bc704addc97d7ccbe\"","Kant1":"\"4f56c0e297e2f389a81313ab099e4e78\"","Kant2":"\"f20ce74871aaf33ffad673de6b87892d\"","Kant3":"\"31642d60f8e27ee93a40f2ffdf5c6523\"","Kimmerer, Gift of Strawberries":"\"1bb1cbb2b8c7713fe9ed0654238280f5\"","King":"\"81cdafb2fb4795b118be0152c06a9766\"","King and his Black liberation critics":"\"6408c914d904d8d1ea6a29a474aee47a\"","King and his interlocutors":"\"430e76f35119b3f18ab7dd59c5d15569\"","King on justice…":"\"c4ef91de25c80155a17bd09c15896436\"","King passages":"\"4d5da1b28d8e7a40036ff3622a8f20b0\"","King, Letter from Birmingham Jail":"\"eacbb2ff9062d4651cbc85470c6706ec\"","Kohlberg":"\"bfdcea0c26cc46a92691a174bae7da45\"","Kohlberg excerpts":"\"eb0aa51f91d0e2bfc03b3ddfb60f4254\"","Kohlberg, The Child as a Moral Philosopher":"\"a67e600c3e6258313f86b73ba4812c2f\"","Kohlberg_mexico_boys.png":"\"4855690f030eb58d6b1fd2bbac8d880d\"","Kohlberg_taiwan_boys.png":"\"557eeff7c532ec15a9dc735db795d2bc\"","Kohlberg_us_boys.png":"\"4f4277812416ca82a3b641ed6ca615fd\"","Korsgaard":"\"c550329f83d525ca549f625b48888a4d\"","Korsgaard departs from Kant…":"\"007c5c73980964ec76d0df300a03f16d\"","Korsgaard in microessay form":"\"ff18d4e499d78bde6451316793be94b1\"","Korsgaard outline":"\"333c549cbad785bd5675b738698b856f\"","Korsgaard quotes":"\"c873f27a1dac7eb5bda89699383c3f4f\"","Korsgaard, The Right to Lie":"\"91b719967b5644738781abcbdddc0566\"","Latin":"\"00f74e48fefc9c71a523eabe0f3f6e79\"","Likely Revisions to syllabus after Thursday...":"\"d80985c63d0fceb2622b16bd5eb4772b\"","Limits of Dissent?":"\"04427797a0e5305a61fb2921b01bbca5\"","Long-term narratives":"\"010c2f029e5915a407d78cad134716b0\"","MLK and being \"maladjusted\"":"\"6989208365fd512d870029191b494de4\"","Malcolm X passages":"\"6564d1ea18e1dff82c995d61f88de18e\"","Marx":"\"26f86dad72d66efa58858df7113a7a54\"","Marx concepts":"\"eafe87fec96ba9bb096c909476461799\"","Marx excerpts":"\"2cd2598004eec5b386c33ba5338eb5b0\"","Marx issues":"\"dbc7213b24a49f2ae949482f38247691\"","Marx quotes":"\"65e78c3f9e5cec1b8871bff503530dc1\"","Marx, Morality as Ideology":"\"5743d403b704453f20288706668c4903\"","Midterm essay question options":"\"a6366ed1b0ba2e7e8f4b0e2e15401a5b\"","Mill 5 passages":"\"4d35d52bd676de8d6c712521edb6c4e1\"","Mill addresses crucial objection":"\"208a945c0eb261f397cbf31e4d45f604\"","Mill on justice and utility (practice)":"\"5bd14142fa92ec69e1b6e4518bd2534d\"","Mill on private actions":"\"67c648323740b312a000f9d9a6c9e6f4\"","Mill passages (Ch3-4)":"\"b6baf2518b4e4c47ccdda4296e746407\"","Mill's quasi-proof":"\"fc4d5176b536cc1977ddcc86763c3e12\"","Mill, Utilitarianism":"\"5b59898ad7cd6cddcf2d325d10fa0499\"","Mill1":"\"dc4feeebbe32adc0033945ace0ad5632\"","Mill2":"\"f98bb38bc33effc364e3f4e7bc409603\"","Mill3":"\"8bf1a2d8da57eefd68823482d8200350\"","Moodle.svg":"\"3430147e122c75720fede89beb6d062f\"","More on animals and moral status":"\"949b4fa5c2a299f5d64dd9e062f6a3a1\"","NE, Book 1":"\"0ca0a7e43a881e3bfb6bdc2dbecfbdf2\"","NE, Book 2":"\"4b58b44125d5ebf3d736cc9807848897\"","NE, Book 3":"\"2cbcb594f10dd5f95c6966d1b0b8c759\"","New Table":"\"aca512c37e1376c4c0653972446d7888\"","Nicomachean Ethics Ch 1–3 outline":"\"98dfe868960582cea6fb1c1936208989\"","Nietzsche":"\"096e07cbd178f9efd50160790f606019\"","Nietzsche excerpts":"\"7c3578615e8c3bd8850ff5bcbb094e3a\"","Nietzsche, Transvaluation, Gay Science excerpts":"\"16baa6cb85080f19f6447c2e64b26d68\"","Nietzsche, aligned with Marx…":"\"0376887284715df55561ce6d32eec552\"","Noddings":"\"e01bc6c77cb7653ca4b999a82b36f83a\"","Noddings claims":"\"f7be80fb289ac6c17a4c10f4dec0c34a\"","Noddings diagram":"\"fb12d8927deeecce8225f19c874a6793\"","Noddings passages":"\"d5b27a3b89b510462c3b91b134ff00dc\"","Noddings reasoning":"\"f478879975891ce70e0e018dcc72413e\"","Noddings, Caring":"\"0794ac6e2b460f605970b29fe177c5fa\"","Noddings:Gilligan::Kant:Kohlberg":"\"048b00904d4205e5b620497dfc2ebf16\"","Nussbaum":"\"3b9b4da2c47624ba9f07d14c7da6ba32\"","Nussbaum passages":"\"cf1715159affb62b3c83494aeb13d386\"","Nussbaum's critical approach to virtues (back)":"\"e93ed9df163895072203c5d74ac743e0\"","Nussbaum's thick-vs-thin virtues…":"\"9ff077905fca1543b1c239e531a2692a\"","Nussbaum, Non-Relative Virtues":"\"8be04095f656dbd37bd90a705a9b6f52\"","Obeying the law: unjust outcomes?":"\"d4eb1ee60ba717ad907b1ce48ba170a1\"","Online coursework for balance of spring 2020":"\"a8d1d0a49eae78c18ed2fecd51647458\"","Paragraphs Macro":"\"03cecc97a5cd0fffdcbbae93e48d9738\"","Perfect Aristotelian friendship?":"\"90e3e9023930eb22accf2d6fa442c141\"","Perspective bias":"\"aa89ee7ba77f06b03ab8b8ccfc6ed58c\"","Philosophical Reasoning":"\"d906bf41e0e4061b48c25ca0f5cff4ea\"","Philosophical skills for ethics":"\"f190f8f7d0216f0d47794395092ada55\"","Plato":"\"1c2eaae5819505f4e38caf06c622198f\"","Plato, Five Dialogues":"\"1bd981c515fc9cef4e3312c78a190047\"","Pleasure-b1":"\"da6218bec4b650116a047a5a23fea402\"","Plumwood":"\"24b436adf788350405dc13b67c5840e7\"","Plumwood, Nature in the Active Voice":"\"4aa9c2514efefa91a24414ce4e9106a3\"","QuickJump":"\"f3e2148a9988eebe3a0453a24868e47e\"","RGB_spotlight_venn.jpg":"\"691dd0aad0b78bdbeef1ce8df5af2b6f\"","Radiolab episode notes":"\"79276ba24e6bed841c73958fd4f2815f\"","Radiolab episode on blame":"\"042252408a3f9f0a7705e6ce2a7b8c44\"","Rawles":"\"19057cb82130bb2348c94c3a1093e463\"","Rawles, Conservation and Animal Welfare":"\"a56dd197378b3528ec96592c8ca1fafa\"","Reading material":"\"a839448793b00121553c16a40e3f6b32\"","Safety-b1":"\"bfad31f17c1ba7fbcb7492f04b733128\"","Sartre's student":"\"f568308b3abfc8d5260b44b5ae3fcaae\"","SaveButtons":"\"60f7b2757278131c3fa22895e148f32e\"","Shame in Aristotle?":"\"73ea11cc2220021436b703f25be55660\"","Sharing-b1":"\"59594b1abb7917806a0256469377b607\"","Singer":"\"7177bea3cfc226a58c8860ff04605e51\"","Singer argument diagram":"\"5071792ee28f0b68f43ba4d3e55ee220\"","Singer objections and replies":"\"6b6042701c9a975e6a1204ac8f555f02\"","Singer objections for discussion":"\"6464004a461e612d6a04fbc46101a16c\"","Singer podcasts":"\"cf53c92e3dc2f356e353267d890c7c9f\"","Singer, Famine Affluence and Morality":"\"f0f036b3bc26c540bd861456b36d56ee\"","Social Justice Lecture, Feb 6":"\"737bbf06585bd5a12c2078e03413dcf6\"","Socrates":"\"84d5b4dcf91278439415c1ecb1d686c0\"","Socrates on acting rightly…":"\"e8041af6fc0dd293104e189f89cdeb4e\"","Socrates' priorities in Crito":"\"93d380d63b1ca051b0eb65265db7486f\"","Speech Act theory":"\"b49ae10bea38ea949d525ce34598243c\"","Spontaneity-b1":"\"d24b139d031c01030f45770ce4f4ba34\"","Story of Isaac":"\"f421dcd475baccc1916b8addb5a652c0\"","Susan Griffin quote":"\"73ccb269e4b4173d282b6bcc8d7e1453\"","TAchoice":"\"83eeb03efacff1dc8f2bee6380a7e28f\"","TAs for Spring 2020":"\"be40f564d730db041949963314945df6\"","Table Macros":"\"600329695d442246418243c5c3f529a8\"","Tagger":"\"9bb13e40ea1bf0eef7b168237ba1cde0\"","Target.png":"\"a41a0fe00bea55a6269a3c4ba5f7b469\"","Tessman":"\"08283cbc720a1a18a9d8bfe48fc008eb\"","Tessman, Moral Luck":"\"7bbcb59b00ec3984755472ea2e810213\"","TextStretch":"\"e821610c922dedeca79d9ea2d265c21e\"","TiddlySpot Upload":"\"eb4ae2058115abb6feee9c1d9e21e01e\"","TiddlyTables internal search":"\"58cd95bcdab9dee16411c946ca986c2f\"","TiddlyWiki":"\"ed45f7b0c5b6d65a83d8da02912377cb\"","Tony's idea in progress":"\"c5d393d0cc360e32de4537386890e383\"","Tony's trick":"\"1252e70ba00eb366a2217e2214e2e612\"","Unit A":"\"4f9adef10ed744122411da92af23c17b\"","Unit A skills":"\"36cef399da2c499949bbaa8706a4d07a\"","Unit A synthesis":"\"efe6ede737aa4e4e84937e29321d6d11\"","Unit B":"\"bb8cc3247f2ed6f03df26a4a97ab9bfe\"","Unit C":"\"fd1950fc9a02a3c0c988de5fb0955ff1\"","Unit D":"\"72a40fac1ee039da014365c6b4eef761\"","Unit E":"\"8d8477bbdaf6b3cc3744effdec89729b\"","Unit F":"\"436cbdc910e6c3c9a645044d163a5dbe\"","Untitled":"\"d7e7e3a9d6fae528b2263e3a1ea2d712\"","Untitled 1":"\"a8d83b790dbbcc5b5b45811617c7b7de\"","Untitled 2":"\"466ffc71baa94bc2a13c4e7628ee8758\"","Update Fields on Multiple Tiddlers":"\"5faa4dc5983fce24dfbdd39ca431abcb\"","Venn diagram":"\"35d6349f74dba33f116f44fe6d74949f\"","Virtue-b1":"\"87776d2e9c65e76c5d6c907452943dd1\"","Virtues list (front)":"\"8d52712e4fdcb2bb54887778ca18c72f\"","Ways to use this":"\"1450182ff0b1caa920d297e74aeaea17\"","Welcome to Intro Ethics":"\"2e97818932c2fe352b9d98bf2b371a3a\"","Wiesel Prize":"\"9bffd7e8a3f8afc34b6564a78fcc284e\"","Writing corrections quiz":"\"a03f3b4544d46bcdf41bc9d913c4c5ab\"","Writing details":"\"4dcd1936aa95262fa50cac55d9750b53\"","Writing tutors":"\"c0acffcf4530937811e83db8164ac3af\"","_play":"\"ed9c01c8d242576bec051d928a0d5f71\"","a balanced microessay":"\"bc01308ab05e6db703dc71deaa1f1309\"","a posteriori":"\"54b11145511ea61294a3a42ac25fb63e\"","a priori":"\"e72b16d3fdd6172af3b3672aa20839b5\"","a priori synthesis":"\"abcfcbba0d14363c06cc4e45fc9fc4f2\"","a priori vs a posteriori":"\"c81e88c0c0068fd6988ab67bdaa8e557\"","abcd-folks@a3":"\"3a025fcaf6b0f8827dd6bc223fafc0d3\"","abcde":"\"0aebcf8e7733b6d74fed39d352817194\"","abde-crew@a2":"\"d8cceccfce846504b23c1530af61fe44\"","abe-a4":"\"0b08f2ad7b633ca3c8ff74049e1b756d\"","about Nietzsche":"\"633d1c79ffc082b2e7b0dd3dcbda5854\"","absent@a1":"\"139f34877a20e909050fc0742b04e574\"","absent@a2":"\"0abcc69bb1bc43fb3cc5d1f4e0c5abcb\"","absolute value not in results":"\"4d3997284307305a90bdf787f555479b\"","act utilitarianism":"\"317dd8aa5b08d2ff9aebc012636ac406\"","act utilitarianism vs rule utilitarianism":"\"c808ce73ea5b9594c7540186bbd922dc\"","ad hominem":"\"b62c80a9ebfb7347f2dea94887ba12b9\"","additional articles on medical triage":"\"7c38fe059cf2f89514e0bb79889043a3\"","additional_fonts":"\"beda8ce2aeb4885d90e9e06a9a6c0c7a\"","advice":"\"56025517c257316522e1aeabf87cb72f\"","advice for reading Plato's dialogues":"\"78de2fb20562bc3cc85f25fb71255c11\"","aesthetics":"\"94dd293816c714995e83568497f4801e\"","affirming the consequent":"\"ae9819791694aa4c6299e52eb8aeefbe\"","agreeing and disagreeing":"\"fe72b1ac262537cc556870493071e9be\"","akrasia":"\"7a2be32f6ae58c49453c703719166df2\"","alias":"\"8a663207b816056a9f0622675f8a88cc\"","all the results":"\"14dbf582991aa00cee65f3b99052e970\"","almost.png":"\"44035f82bbaed00b79639397bfb0dc8a\"","an example microessay from template":"\"7b3712f52b80b7fd1c1953ca80317158\"","analysis":"\"3a64db932b3d4e2eabc8928403b20d68\"","analysis steps for young person argument":"\"6cfe0ac530ea635672c6dc42bc912773\"","analytic":"\"434b94121cc4e27a4189aaed840045a9\"","animal intelligence":"\"03511665af0db71b09647920145a7371\"","animal subsistence":"\"974bd937e9a5f4cef4137377eb4d52b4\"","animals":"\"f6da8afa34d6ba189871b0d028d1f6d0\"","animism":"\"4a7299e7a746574d7ab691e25754dbed\"","announcements":"\"cb2201586891457b94aece744265805f\"","another go at definitions":"\"9399ac165387ed33b4c4961e7c691f17\"","another toc":"\"d9c682ddc50927a6b60b007e7884648d\"","antecedent":"\"039e94e5d005c379020c55cc85dcb806\"","anthropomorphism debate":"\"393886cee38147b18c539fa9d3a90edd\"","anticipated objection":"\"ef33b8a2351b1e5d20a22db10c0720af\"","antinomianism":"\"96015a2fbf1dba3f1e048e17ed8f00a2\"","aphorism":"\"b142a7862505d607e517612508882f9b\"","aporia":"\"cec179990fe4c94c457a66c4dbd94c54\"","appeal to authority":"\"e08be0d35e92781f2b6a06a92d39dc27\"","appeal to ignorance":"\"0e435378ac35b81394b80cbec9ad417a\"","appointments":"\"60a6645b700037207440e9549bcea1c4\"","archive":"\"1b17d970abcc03699e58c48f40fbd989\"","areas of philosophy":"\"007ef43b1bd4c452f95652a5c8d9def8\"","argument":"\"07f13e3f937b583aa5c4992483a27714\"","argument analysis":"\"2e4713d99233fcb39f3039f82398f14a\"","argument analysis exercise":"\"59d3110ee22299a841e9a9fef95e54c3\"","assignment types for PHIL212":"\"068e7e8004d340228f57e688d0d9fe87\"","assignments":"\"b40551acde2758e4500a47af16a07b6b\"","assignments grading pie":"\"a054caa0aea2f7d0308b38c3a33d4a3b\"","associationist psychology":"\"d8245cdccffd726ac5ac12a975ecd871\"","asterisk-solid.svg":"\"a1a4d62b245531c832210f16fd424e9e\"","ataraxia":"\"5cc323159a04890ab052733cc2d7e416\"","authenticity":"\"5b9d29dc799f568b187a554c75cbd2bf\"","autonomy":"\"d1bbac8ce14ae164423f39c3fb97e99e\"","b3-resp":"\"caa65ddc69a0347ab81b97130a759c56\"","b3-resp 1":"\"75a91e955c93b513d236599a17446f44\"","b3-resp 1 1":"\"ecdc3e4160d62d70bba5e2cf09b6e9e8\"","b3-resp 1 1 1":"\"a2bef40bfb86fd6d02b03c96d8823e1c\"","b3-resp 1 1 1 1":"\"d537fe2d1a41891db015b3ba83d9df6c\"","b3-resp 1 1 1 1 1":"\"f98f30aaca93283beb62eca2d2341d8e\"","b3-resp 2":"\"08e39ba136213bcd6b1da802279e8eaf\"","b3-resp 2 1":"\"e35059309a30f376a8082d64b1b1c722\"","b4-resp":"\"50e86d9eeced7f6d83bea05c6c0e791b\"","b4-resp 1":"\"6aa85d3f693283dbde221b28ef2580ba\"","bad faith":"\"8ff242cf0108f3aa0dd9b962e6ac2804\"","batch":"\"24a5f37b2efa89d351cdc23eae4b9bd9\"","bc-only-a4":"\"61f743ef27c8e6072dd0c2a4c0339f16\"","bccdjehtnk@a1":"\"fdad8619e40f7015643d29867bb7e098\"","bce-a4":"\"f173f95dc6873ffdf0873b13ccbfe961\"","before each virtual class…":"\"0d681ee593d528abf3c7c2798d9f4970\"","begging the question":"\"31a083b5d6f550d55c31851cf8dc4e89\"","best life?":"\"813f9b11c293e811d3233e57442a6a12\"","bestial (brutish) state":"\"2e1b6495202bd30fbdced60ac2f59d2d\"","biting the bullet":"\"43fa0062750d2d5b878d74997dbe2a42\"","book-open-solid.svg":"\"b056d3a5d32d08c2743c5fcb774e87d9\"","book-reader-solid.svg":"\"8bbda3ac282f2dcf6b1cbd019d871878\"","book-solid.svg":"\"14e2d94e5402cdc5ac83e516423f497c\"","brutishness":"\"acce72b8d7b4a7cb779a4e1edaea2317\"","bug":"\"042e05112f1c02bcd17933b796951aa4\"","bullseye icon":"\"9f9813636f1791a0e90fb84cd1cc6922\"","bullseye-green.png":"\"94a8fdd4e620669870b3ca66d1032675\"","bullseye-sm.png":"\"b8381fb430a580d2ab795b585373759b\"","bullseye-solid.svg":"\"c64d85ffce9d09dd1623cb3510037fd2\"","c1-resp":"\"7d9c5ca39b8bac137e901a59ab2ef75e\"","c1-resp 1":"\"01889cb2c363cfd2442a5b388f31ca0b\"","c1-resp 1 1":"\"5dcb817f1b49c6f0e4877d8372759119\"","c1-resp 1 1 1":"\"a80538a19bf59aa7a0e6db70001ef964\"","c1-resp 1 1 1 1":"\"f0266bd16a0a12928e211898881e5438\"","c1-resp 1 1 1 1 1":"\"f42588a46d43c7afc2a954e6f2910431\"","c1-resp 1 1 1 1 2":"\"7823173b50e1212b98619751297be7f6\"","calendar of sessions":"\"2416971d350abe07fbc1dfd3c2a3bf0a\"","calendar-alt-regular.svg":"\"78c46e892df76e215229ba1a70ea024e\"","calendar-check-regular.svg":"\"1d43ce41746e2d3e4be85054f696e0ff\"","calendly":"\"987bdfa754e2489e84244cc7df56f1e6\"","calendly-logo.png":"\"523ff63850cbe3bf157f3d75ab8e3940\"","capuchin justice?":"\"bacebee1b80a584c2a01f9a94c7e596f\"","care ethics":"\"66c00e0946753968b0b9b32e4f85b84d\"","categorical imperative":"\"b7c156f05f933bcdb6b56e8a89bccb09\"","categorical logic":"\"6ee8695c8cd3a9f2a1f3419f596b8247\"","cde-folks@a3":"\"51c2412fe07acdac5d8dbebb74a14385\"","ce-only@a3":"\"e26b7929ae93a29835acf5df420c7ecc\"","certainty vs passivity":"\"db7f5cd310241acfcd711f8827c1f316\"","charitable interpretation":"\"5c658c450dce3aca95df39cf8cabeba2\"","check-circle-solid.svg":"\"8559e37625ad64bfe069d10a3b6852f2\"","checklist":"\"caaaaa5a14780c52461894964d439032\"","chief_good_diagram":"\"9ca13bf831fc63e773a082d3d738ed03\"","childtabs":"\"1ff2a18d93ba03ad49e63b36da45444c\"","childtabs-v":"\"478cef737ac9232e669780321d66ff9d\"","circle with text":"\"208c9fc21da1a5c683d70a27ca7e5d91\"","circular reasoning":"\"8a887d1b0fd31e6337b599b6321384e3\"","citation details":"\"42fbbc72b3c58e2d806ac92af402afe2\"","claim":"\"2e0a34245ae85a537ca18985b68cda30\"","classic pagination":"\"77df4f814b072ffa1223e6d65b425625\"","clear-both":"\"81889b4d7804fe74079140e7fd0a408a\"","climate change ethics":"\"59ba538b2a3e7e513de33d659424c2e6\"","coherence of any given virtue":"\"dc8a28059a9c41593a484a9dc634e572\"","colors":"\"c00ba5b3a9b7780845278e1fb1a60256\"","coming to be desired for itself":"\"b02908a7613f0ff68cbafc82a396c5a5\"","comparisons between Marx and Nietzsche":"\"3d82cc4b3ff74bf92d63843694d093f4\"","compatibilism":"\"44b19d6bff0ee3138b904ca83974966d\"","concept cards game":"\"2595e390b24657441eec8b7b54c81168\"","concern":"\"ac5ae34ceed63cbc1500b0b71a5de5d6\"","conclusion":"\"1ba505259b05e1b5426c52dde631e39a\"","conditional":"\"54aa88a4566d99423fd5b19b256cbe66\"","conditional vs unconditional goods":"\"2441e3cc4ae9fb69567471e7acf833d0\"","conscience":"\"9ba7dfb7b8fe7c3b4301e86be87ff8a3\"","conscience vs conscious":"\"1e27e7ff22c069d49f822e146b7572ef\"","consciousness":"\"9458277298eac657612303521fb4b966\"","consequent":"\"9612f60e937e3cada3748df1b9bfc293\"","consequentialism":"\"c1a024f4d5baba1659b2c5a8893cc89a\"","continence":"\"b8d40e7af148a3c6bca83a9f3edd819d\"","continence puzzle":"\"d5f74615798cf239265c8975517a44a5\"","contingency":"\"e6498209bd6ed0cbba3021a54051aaf1\"","contradiction":"\"2074b5a9f545f9173416ab0f24ca575e\"","contradiction in conception":"\"f326fe10efb4daf5f4c3806574bd208e\"","contradiction in willing":"\"e0d1579753c2dd5c972cd86a64b28389\"","coronavirus and disparate impact":"\"9a016ff84addfe0c82f593a4f88212da\"","cosmopolitanism":"\"b7ba3ae4eadb80f27a1bf5569434dc82\"","cosmopolitanism beyond humanity?":"\"7731382297d9ef9a56ddfc7e87defd53\"","coursepack contents list":"\"8d66ed16b5f380949e6160684c8b3779\"","crosshairs-solid.svg":"\"cb12ca400f9729875bea48e5d6a1987c\"","culling dilemmas":"\"1c8092efa53bc51fc0051b293c7423dd\"","culture, variation, disagreement":"\"cae8953536e60662b69a2ffa2f554b6b\"","cute animals":"\"94830abeaea10cd029842929b61d03cd\"","cynicism":"\"4294b1c53993ec2f17c98ff0e2112c88\"","d2-response":"\"18ebdac1e60acb46c742a7e0fe016efd\"","d2-response 1":"\"6f9002672bfb93bd5541c6f91448ab60\"","d2-response 1 1":"\"e49dc8742e50c5740f9f7012af920a1b\"","d3-response":"\"853d548936dc0ea77ba8f1b89b10b45f\"","d3-response 1":"\"b60ae697020dd8da025e963014238f22\"","d3-response 1 1":"\"853d7344c824653f19a6703ac30a53a9\"","d3-response 1 1 1":"\"71321ff1ea5b3db0d3e8153e7a0e7c85\"","d3-response 1 1 1 1":"\"4f1bb4e48c9bfa50258b65c7ac12d684\"","d3-response 1 1 1 1 1":"\"4a4c91fc9d4a6c95082ae509659dcc24\"","d3-response 1 1 2":"\"1ef6658220e57117331a63cd73ce9e78\"","d4-results":"\"4a84ea193edd70d3b42f5c0b44f3f9fb\"","d4-results 1":"\"d9440629514a1e02510744ef8f136532\"","day 1 notes":"\"9eb561e10a0b0f1693f1279c9c66033a\"","deductive argument":"\"dbe6e4fb8b5b9cb3c57d60d0a1450774\"","def variations":"\"ad0891e4a3bee42173283444b6d18246\"","definitions":"\"a2cb90511474981c15aee601f0156902\"","denying the antecedent":"\"8654f675070ab8bb2abb71bb9a46a04e\"","deontology":"\"eae635785a8872c3f41b7a86563c0271\"","details snippet":"\"be3688d55bd57fbe2bd19bd92ba1a12d\"","details stylesheet tweaks experiment":"\"b60269ec8095938e91356c97aab7f369\"","details tweaks":"\"a603b9ad10b696dc5c2bc385dc268eca\"","determinism":"\"f7f949fcd6a7d97c69bfe78b604c4c92\"","determinism and freedom doctrines":"\"a9fd9c1b4e90ba8b3c4e9f026b3de1d0\"","development TW5 play":"\"ac939789737a3e506bb4f12b5b70e84d\"","developmental stages in Piaget":"\"18d818f10615782b09bd7265e6ec1e8f\"","diagram challenge":"\"1aa1bb0ef4007a10705b3329136435ad\"","diagram challenge 2":"\"1682f098b4d34a02b530e5ec538721f1\"","diagram_answer":"\"05e0d5de30622ea4581f8cfd9679d47b\"","diagramming tutorial":"\"6033d3d1e57822709236d93d93fb4041\"","diagrams":"\"20a84d8b34f8b6e95ddf2b6864f910e8\"","dialectic":"\"83083b4b6b099a3864bd1a8073b15d8e\"","dialectic structure":"\"0cbcc3e92bd44c50993a6476b3378d09\"","dialogue":"\"9e95f2e6250bae2ea992f6c737b00f98\"","different moral questions":"\"4d7a1d135331363e0a9700756459a269\"","dilemma":"\"4309c174dda20341e6dd198e58206ba5\"","dilemma from Sartre":"\"f052d84aa9feade2680861c1ee76236c\"","discussion groups":"\"e5018075249772732bc4ea72e48a2638\"","discussion questions for Tessman":"\"1c921d36518914d90adaeb6028666a76\"","distinction":"\"3f6eea866747248dcec220f69c91642b\"","diversity of meanings":"\"788c513bd669c95b703d687974c9781b\"","divine understanding in Aristotle?":"\"d8de234802f14b905635e08728ea5048\"","doctrine":"\"30048716688c170e24440ce824e4e480\"","dualism":"\"19b67a02e4a63c19a91cabb5349c2eed\"","dualisms array˙":"\"dd02d5a62ce499543b8832e523dcb11e\"","duty":"\"12ed364362a1805e453da267d18269ff\"","duty to tell truth?":"\"4c5acbcd6bad6a4ad5f38e0095e2c0e5\"","e-only@a3":"\"172bda89c5a65af16bcfadb667d1f4da\"","e1-results":"\"bc4ec90a43074536ca8e53def99a1149\"","e1-results 1":"\"29de4febb1ee890a132404fd2c0587a8\"","e1-results 1 1":"\"2c69b29ab0e1c63fa991e13c609006d8\"","e1-results 1 1 1":"\"8903f893132fbc1855a10ee5b66a09ad\"","e1-results 1 1 1 1":"\"11c8d06c3d32b7e8eb0332ff71ee85bb\"","e2-response":"\"95f8e9adcaa5fa4e3d2c560b99c06b20\"","e2-response 1":"\"1cc4d1686fdf6d9f0579d821b66fbc1c\"","e2-response 1 1":"\"d3d0ef5aea96b1bd36b165247f57eab5\"","e4-resp":"\"f1777a3418607ce1f3bda649459ae802\"","e4-resp 1":"\"8d3aeeefd878e3d999e920a197942b23\"","early dialogues of Plato":"\"b58e5f0b8aa937969106a682463bcc96\"","elenchus":"\"1eb475f808c37b8c29958f164c31d9ee\"","elgmiger_sample.svg":"\"a34bbbf0345bab1cc306b6e067940d56\"","elise_camping.jpg":"\"40e06cf499c92c4ef418d932e333c30c\"","embraces partiality":"\"244fc848b62a174d3f1a3ad6892c3e62\"","empirical":"\"93cbf2bdd4f02e0a61a4c3f48ca812a3\"","empiricism":"\"221dd09dc0a4087ce92ac4efbcdd1541\"","encrypt show-hide shortcut":"\"dde0e5011e52b054625bb7d08616c251\"","end-of-semester checklist for students":"\"e2b43edfacf0a7ff87c1b027b8236346\"","enlightened self-interest vs selfishness":"\"8ae5724334bdd67aae3f3fa5d33dc00c\"","enthusiastic_springer.png":"\"80062b1ea58c0d29d46e5f29eee121d1\"","enthymeme":"\"fde7476206aa3646eb0b228feee1817f\"","epistemology":"\"40f2ea64da42678106ad328c432569ca\"","equivocation":"\"05a160ce3f6872d35b520a56a29a4962\"","essay prompts":"\"ce7fd5be796323a1647ba88ab11f8b31\"","essay-advice":"\"5274b014ffa5f7b660a94a73e559e6c6\"","essentialism":"\"44d937a2b887fc56c38e562a89f16616\"","eternal return":"\"dac0c46f7ff8184f4e2c357bdfda55b0\"","ethics":"\"bffa9d9fb4e3ffd9cd4bcf2e6400d35b\"","ethics and epidemics":"\"dbbd43c4dcea449aa678547bed485ef4\"","eudaimonia":"\"308617fbc3e1c0fb4a29cdca16eef3c8\"","eudaimonism":"\"9cef9c4b64738efdd7779614ea151f6e\"","euthanasia discussion":"\"aa250b4cfa1b166afd6bdeb3d20f79e3\"","evaluative commentary":"\"1a7b7bbeeb10535849a445c3129bb5ef\"","evergreen notes site":"\"2859d4ffec6185a86019895538c0090e\"","evolution-b1":"\"1c0fd87f5e7fcba7b4d5ca173a71d075\"","evolution-b1 1":"\"0fcf0e05c4f6a6252d878637ee8de427\"","evolution-b2":"\"d0dbeb502cad517354202ccc35a3e623\"","exams":"\"da03b940b70eac166f8fc4b9aa4a6fcb\"","excerpts":"\"5c54d6552717bc5925ebe25fa672d6e5\"","exclamation-triangle-solid.svg":"\"d440a937168a8d2a8c1e4d3c41350aa9\"","exegesis":"\"e5b8c6682371a5eb04d6fbd5db6db03d\"","existence_cartoon.png":"\"18551e70825774a82c6b3865e6fc590b\"","existentialism":"\"c6b25af61e0fbe94d423b27b3195e69a\"","existentialists theorize oppression":"\"4eb54300f481ea246b4598e5df9a7ad5\"","expanding the circle":"\"a10b21093141618be77d6b4516d3f6ce\"","expanding utilitarianism":"\"b519de4069ae4c8a658759cf2b3a207d\"","explanation of moral alienation":"\"bf9df80769c28b10dd77e8ac254adf70\"","extensionism":"\"b7061ef5586aa1aad192c12481f9ef11\"","extrinsic value":"\"235d655149ee21448107fe8554204fff\"","f1-resp":"\"f95954a2d40ef5dbffab6aed7fd1bbb4\"","f1-resp 1":"\"9e1b990f8f1300d8d2591bafdaf5d7cc\"","f1-resp 2":"\"430b034e02cf0a70c7fe7f629357f24f\"","facet rubric":"\"8c491f8ca502c38f8a11c0efcd979386\"","facticity":"\"617b7b7e30f9c945f2752affbe8fe9c6\"","fallacies reference sheet":"\"bdb07d980df11f27706d47263da9d3f2\"","fallacy":"\"8905189953ec523ee9ebd0120a69d3a3\"","fallibilism":"\"8b1948741ac02ef69fc8907f2718e51b\"","family-tree style":"\"ffe57b6f797ed497a7a4dd6b56b7357b\"","final essay":"\"7f8a0c7ae28b95d113c2e120f653d2a0\"","final essay evaluation":"\"ea8fca70c239a57d37eba4049c69f6ea\"","final essay faq":"\"bc2f05eb8bef8a80a79262b2df3570b6\"","final essay menu spring 2021":"\"76854efd18f0b03672c58b0a4ebea9a2\"","final exam":"\"708ad141f1216fba535653d191ea8861\"","final exam essay choices (spring 2020)":"\"0d14d6433ec6daf1f5fc1506e75c9340\"","final exam essay procedure":"\"e1f648a715feb9ebbd898662c1284306\"","final exam spring 2020":"\"4d18526c2540b6120973c01a73972cf2\"","final exam spring 2021":"\"8255bc8e0e69742327b5aa81b79200e8\"","final exam time spring 2019":"\"91706b042a7392d6cfb6f0487a4903c6\"","final parallel questions chart Spring 2019":"\"a5d9cfc4100eb3fecd7d17914c84c1f6\"","font troubleshooting":"\"781fb33c5a82d74d957975d98d02e5c1\"","food ethics":"\"63b9e086505164f9e01c17d59564e887\"","forced choices":"\"7d6e6852a6c83b18d2915ca48ff65eca\"","formatting microessays":"\"befabdf8fc97b34b7e8696c6cda5531c\"","forms of bad faith":"\"fb63de0bfc66866c8e89a7155e844157\"","fractal-tree-alpha.png":"\"990e95d0a7fafa1b9295c89eae62ba39\"","fractal-tree.png":"\"47c921797689318e2e2f7a05aebae165\"","free will":"\"1d8894a1dc2545a199c1d1d1c7dd26a0\"","freedom = morality = reason":"\"1a67792bbb098cdfe2f6c631d88d2ecf\"","friendly amendment":"\"569ccc1d341a567d1177ef2bf31b214c\"","friendly amendments to Aristotle":"\"41a2349d4fdda9c7f44ebf5d2808634c\"","friendship in Aristotle":"\"65de3b23d3cf93eee6b22772cb6317d8\"","from duty (or virtue) vs in-accord with duty (or virtue)":"\"beedd9aacd712a8bcd60deacabc2f582\"","further Beauvoir links":"\"a5aaa96ef6738dd23b1c3468b6cba163\"","game theory":"\"9827f0e7f0a131168872f73b02e2c437\"","glossary of stoic terms":"\"d1364123cb1174d8c08c8489a5b46a0f\"","good will":"\"90cd4da7086809c96c058d29327b0a2b\"","grading":"\"92ca5a39f4b8848991199f0dcbbba150\"","grading pie":"\"addeffeb8340b793f44e95f9e0675f04\"","greatest happiness principle":"\"d2ae53117b88069059ce5d4fa9f46a97\"","h1":"\"1c3ab5f6a36b51313495ab20862e35aa\"","h1-indicators":"\"9c2a7263c3db055038ae5be35aee2ae9\"","h2":"\"474e86a4350073d82ec1f95765518c50\"","h3":"\"2cc841fe8a391743e2e08b6e6e31e808\"","h4":"\"b38cec8360aa0cd022cb1097f762faea\"","h5":"\"180ef12a51c90deb66ac3cf3af93f8f2\"","h6":"\"2d1e55d6ffbdc161f694f97b564e856b\"","h7":"\"c2117bea416d2eb25a365b9ba6ca918e\"","handouts":"\"96a8b7ce4a3f4e03cd31139abac5d230\"","happiness":"\"551e9d58a0edbaf01ea4b0fb1931c96c\"","happiness contrast":"\"825e7408be8375cad743e54bcae0c6f3\"","hb":"\"d853eb81002bdd8f91f007497feddf18\"","heteronomy":"\"5f53262d213e12d11eec4d2431bba671\"","highlighting tips":"\"751cc7e8cb8979339351c4499cebf202\"","historicism":"\"f710fd396fb2a6f6a8d5ef6ff2f291be\"","human exceptionalism":"\"a8a0b5b5490844f8879fdb3e535cf92c\"","hypocrisy and violations of duty":"\"5148a36cfef4e94edd602ff4ad725689\"","hypothesis":"\"68558b11f35f50f05b3cb30e87fb9b01\"","hypothetical imperative":"\"1f6e634d2e5c06d59349586dbfb8e459\"","icons from FA":"\"cfb7c7ba82532c1286920aaa230e60f1\"","ideology":"\"1f55660d45596e4550aefb763ef66aae\"","image chart":"\"839b9ffbb192ac1a76af2f06f2b14b41\"","image syntax for TW5":"\"691d102360499494f87ea92ed597bb9f\"","images":"\"57a25d22731c4eff6914cb6bab381efd\"","impartiality":"\"56510fa36b765937e70cce5b48b7ecc6\"","impartiality and demandingness":"\"4bec4c9bdd825af7d0a7abb99d098c34\"","imperfect duty":"\"43976bf9ea55bb2d88bc6bd93afb19ec\"","inclination":"\"db101a4aedc5053323505f9833344f05\"","incontinence":"\"aa6373e523db42485426a3befa609cb9\"","inductive argument":"\"957ef7ae2703b87f078f9fc8cfbf9066\"","inference":"\"3dec2a8a5bde09a0cdc13c8ef905563b\"","inference diagram key":"\"99e9237e851670916e929fdfa5942f66\"","inference indicator":"\"cf939c00ff6b57a21df964477fed0c5a\"","inference patterns":"\"99413d581f81638c0ea89baee0f47423\"","intemperance":"\"c8e0a7af1bce9b1fb3ed2969640eded5\"","intention":"\"c4aa497c98145f4577fb7a3b8d4ac190\"","interconnectedness of virtues":"\"0f3a1f0b2a0411b175f102afbe626810\"","interlocutor":"\"1c4ca8045cf3b47e644d9b223aefb3b4\"","internalized oppression":"\"b9680f46331fef412ca1f1b1ca707837\"","interpretation":"\"e01f453a187a9d68358fa6bebd31ad68\"","intertwining of moral and bio-medical phenomena":"\"575e5c39127127f79f2eece153776877\"","intrinsic value":"\"6c14c5f81de0bcd83da0b3e1711eebff\"","intrinsic vs extrinsic value":"\"5a16826844d1e0ff723efb03464ff33e\"","irony":"\"922f1ffe389cdf2744e61aa90644423e\"","is vs ought":"\"6ecf734b030414a7e43bb48785bd03ec\"","jgkambavmfbrrkta@a1":"\"b39657ffc2687cc6ce0e9d87bd642151\"","justice":"\"bd480bdea31ebf54d1e7fcc10e18e4b4\"","justice-b1":"\"53934291c241d05063cf53b6e1f9617f\"","justice-b2":"\"b300e9a610a33a3663154a05e0d55751\"","kaleidoself.jpg":"\"3b02c0c0f3fd4f6d0e5dd30b5d3ff976\"","key concepts for ethics":"\"6e3ffac9fae243f0ed4db4c282aa9c5d\"","key-solid.svg":"\"0e70af5bb8e3a25953894196ba4b436d\"","kldgesak@a1":"\"504dd7594f60d77ec977756dec4cf242\"","kohlberg_stages_original.jpg":"\"13e759367290e97d6b33264404c23464\"","lachewcsadeilh@a1":"\"9aa00631c046e0a68c09855ecc733d64\"","lifeboat ethics":"\"f5b4260f51904c46f65c612d5fc15fac\"","link fields in definitions":"\"b4e2441daecbcd7f0cc68882dd9cc7b8\"","links for core tiddlers":"\"a60408ece49953317e9fb83e67b78709\"","logic":"\"989f0f8e45c6db0dc8d138721f14d267\"","macro test":"\"c4461e33e94e2e2227b7b79a1cb7e21c\"","macro/slider-macro":"\"acd1a38e48f551d3093f736062f001e5\"","majority@a2":"\"86cbbb41137ccced00dddb75da329617\"","making a living":"\"11f21756a275d8a1c4daac4304a4fecf\"","marginal utility":"\"c71579f6ce5a5dc4385ad3bde62bf774\"","materialism":"\"0db9771db7e01edf64b9d499eb9681bf\"","maxim":"\"e7c7429810184e8445430b487b87b593\"","medical dilemmas":"\"22eaa0cf4a44b0c984ca10505972e283\"","metaethics":"\"08731ece502b223d60d4095edf300ca7\"","metaphor":"\"8883ae5557cc174e082e6b7cb280e1e3\"","metaphysics":"\"5e1f976b578d8bf297dba8c4782bc348\"","microessay rubric":"\"4cf6014688ed76feaf206e3657227b13\"","microessay walkthrough":"\"74d134dd341af1959228a6c70334bd63\"","microessays":"\"97fef528bbe0f17653fef89391ea3dac\"","midterm":"\"8913039cb7a0db1bac1caccbb283dbb6\"","midterm essay options":"\"23f94163007b27160c39b7ab58e11af1\"","mill opening question":"\"92b9ba32d584b5956b278ca55a79e33e\"","misc news links":"\"00881df223740ab3f3a6ff3d59ee8faa\"","mobility developmental stages":"\"b5891a5c51efd9a475233ac789db9a54\"","modern moral theories":"\"ed02eb41f6a5c4ed7b3abb80f179f33a\"","modus ponens":"\"857a2a701db71d54a4b6fb24afe4eaa9\"","modus tollens":"\"37f6e533461b5e6c34d39218fbf87c56\"","moodle formatting screenshot":"\"4096e6c057dbad378704d59aeee79d31\"","moodle.png":"\"44093304552b9d380634cd32c25a0684\"","moodle_logo":"\"7b5ebac74a6ef2542f90dca6f28e805e\"","moon":"\"d272787b328478bb9991e4306d74b55d\"","moral agent":"\"2ace53750c70f271d1c0a8ba812fa55f\"","moral agents vs moral patients":"\"7e0c707b8ae6e28dc02d5c9677005d77\"","moral alienation":"\"190e62d873d94d71b1664851dafe57ce\"","moral damage":"\"bff42fd479c011cbefe0feb3a20ed6bd\"","moral demandingness":"\"0e90f96f189fb4692c2780f9f990646c\"","moral development: logic or habits?":"\"b4844f853666d9d0c6c447c1cb33860a\"","moral dilemma":"\"e0a55a3d002a7cc5cdb87ff6b6cb173d\"","moral injury":"\"b4b60d76f36ef772cfdb749b7d5ecf02\"","moral judgment":"\"07c5b8ad07cd085a7d81024f608c515a\"","moral luck":"\"ed293027306ca4438fd5f3aa9c00271e\"","moral luck quote":"\"1f5139ae841e4b815fe833ddc0daa7ac\"","moral maturity vs moral correctness":"\"e87401926957ca758be07c26c73781fb\"","moral motivation":"\"6706fded60eb092f3410a6cb1dbc6a8a\"","moral patient":"\"e9f4c72f7d4ca10b4bfbea6377542b19\"","moral pedagogy":"\"4d70af3a4aba6fc16126d51fe050dc11\"","moral stages according to Kohlberg˙":"\"64f851cfb24831548e4cb4b44649cad6\"","moral status":"\"fa545e9a96230031b58f85cb11a64b6d\"","more details examples":"\"982fb23078bfd8b03efc2148919ae698\"","more random keywords":"\"12ede8633952f23235cefc950b7253ba\"","motive":"\"776e349554bbb5117f614613400f6844\"","motive vs intention":"\"141fcd026d65fac567143e44ddd541e0\"","motovun":"\"741ce30dd6bbfe111b239b6f0f0084ab\"","mourning elephants":"\"d2262c1d67255f6b6fb1311671d42cce\"","multiple interpretations":"\"a478a475cb87e633cf07b46510780c2c\"","muritest":"\"f5b79cac466b2607eceb110d291e0d5b\"","name cards for day 1":"\"039e5ba3c348508173d0adf71fa966aa\"","nationalism":"\"01fd33ecd8316c920dbb6bbd0531c1ab\"","navigation":"\"ee8565cd919adb068da7d08d198c0378\"","new toc tag":"\"70c653e6dd336ebac83e8f713202e667\"","newspaper-regular.svg":"\"a49d7a40f42c550e62abc0942007efd5\"","nominalism":"\"f2ca3f67acdf6eb9d979c0a26e830174\"","non-ideal theory":"\"462ddbca4e719d952a91e21ebd809485\"","non-violence":"\"90cfcff5f3675f64c8bc6065de8d0d8d\"","normative claim":"\"ede435c4483d780de71cd531036f5f7b\"","normative ethics":"\"2b14a14ac031fc9a9d06e0691697a58c\"","normativity":"\"f31cf01eef61093d72889d4737cfdeef\"","notes":"\"7bfe52209e943d1530758a469b96715b\"","objection":"\"215d4741aa00a9e710e5816db0b01a8e\"","objections and replies to utilitarianism":"\"f0c13463915c21ec6d6f7a45c1ed4422\"","office hours":"\"deca0eadd5f2c5b78a845537d04e6712\"","oikeiosis":"\"f08b371f92e9f58681f5e0c8c96fd35e\"","ok-teal.png":"\"a44f76221241df0149c075991d4fcc32\"","ok.png":"\"a62c4aded48a2a7eaa14b1e2201d1730\"","only happiness is desirable":"\"e2dd5c5f39d4789cdb363c3ff31c1856\"","openalltagged/macro":"\"e45e4c9e201717556cf3595cf850e21f\"","opening question results":"\"a779057bc0f2db9853785d98a86aaf02\"","opening_questions":"\"3ab56cfe0d4dffc3a4b1f8d932b57b0e\"","oq":"\"3fce9003f5326b8531ac2599130dd2df\"","order of explanation (10a-d)":"\"a5059d2eb55bb48fa92cc4b0e1c9c0e6\"","ought implies can":"\"5dd4821fcfce5540969be47dde108960\"","outline Mill Ch 1-2˙":"\"6454cb69d8f39c58db8bcb02499eb179\"","outline Mill Ch 3-4":"\"0625fbf191707918a1ac73a053c17d0a\"","outline Mill Ch 5":"\"b4161b1c3563154264ce8638ccb7a11a\"","overview":"\"614662f3758b8adf439fab35b7e7a118\"","pandemic ethics":"\"d22bf1849137db9c8e4ccf651184e4b2\"","paradox":"\"d3d3f68a262a17db26a85aa622982ff6\"","paradox and contradiction …":"\"d24268a5deab6df48b5c730f9a5e386e\"","paragraphs Macro (Examples)":"\"5b9349aeb27eb474511ba9e494a86d8c\"","partiality":"\"2a821fbfb0eab8e4fc577f5308d975bc\"","participation":"\"6aa9fad4b66b3179524965d093742027\"","past final exam essay choices":"\"87c722e54fbb2a695aff0de2cb148499\"","pdf-packet":"\"4b047646d929282f7b861078ab042779\"","pdf.png":"\"b097af9fb8ee09befd6a4b6a43118c82\"","pedal rubric":"\"69465adb6b38e5a14be4dda87fcc216c\"","pencil-alt-solid.svg":"\"a6b8ac4b7b201d069ea16f3404754039\"","perfect duty":"\"3195cef74c3b466ea3d0e546764428af\"","perfect vs imperfect duties":"\"283f1ba3c51d04d17e95544c53b7a2bb\"","person-summary":"\"cefaf7de7aa47b8614f6ed007de7d6b4\"","perspectivalism":"\"ccfeac070bcc70dbc2a75ccc2ea44549\"","persuasion":"\"b6f4c4e4674a6924f6907cfb4ebdf3fd\"","perusall_logo":"\"51e5d02a00ccc9d2975f4e03eb8d5f44\"","phenomenology":"\"4bfc390c9e04675942d48d2eaad3c74e\"","philia":"\"3952634d9fe749557b0fd1d0dd6d609e\"","philology":"\"a7b809de4343cd2f9a1a38ab9b02ddff\"","philosophers":"\"1edb00e6efddb39a1571377dc83cd820\"","philosophers list experiment":"\"b69a8624341842864c2719a79cbd8d05\"","philosophical diplomacy":"\"d22ad89cf432f5d29d0315b1e93fd514\"","philosophy":"\"913c181ff634db813117b7f04da7037f\"","piety":"\"31d5861a965ec591be0e9ee6ef3ebdb2\"","plantUML trial":"\"69d9cf1c4bd12d5b1de2b44a9601bd0b\"","pleasure-b2":"\"c9d612f083441d78667ebe22399054b8\"","podcast on Beauvoir Ethics of Ambiguity":"\"cc3a26d81157fc84cfcb65a6b4541e37\"","podcasts on pandemic ethics":"\"c9bbdb0a98dd17852edfb1b219089aa2\"","political philosophy":"\"6473fd02dde144684ed3ac2fefa1fdfc\"","practical ethics":"\"42f44b4a57598597b8463d3a3b39b43a\"","pragmatism":"\"291b1c60d315fa5ed05bbc5b2ea34030\"","praxis":"\"a2737989f84468594a42ecbd5d2ab1a4\"","premise":"\"6fd67df0b4036ea3a6c075f5fd3d8b46\"","principle of charity":"\"656d0d5c2831b10fab8223991ac6289c\"","prisoners' dilemma":"\"56dfd8eee3d3d52d6a251093093c7342\"","problem":"\"0de7b55c431f556e9e9b7d16634e25ef\"","problem-driven writing":"\"33ff7992b318ce2035036f5e37d6bc08\"","prohairesis":"\"9f9f69e517930b33ac3cfb2c6d5ea404\"","proposition":"\"3aff3f9c959486ea86ac39e5b70f634a\"","propositional logic":"\"dced84297211c5e095583506e60d269b\"","prudence":"\"c14b12bf85249fa61f23bd9171623f70\"","puzzle-piece-solid.svg":"\"07d079d78a367b91859a84ed8f6931c2\"","puzzles in Aristotle":"\"68aefa9bdd1448db73adb838da842387\"","quantity, quality of pleasures":"\"6c297dc65d55dc2cba1f8effe699e409\"","question-circle-regular.svg":"\"75354421f558dddcde415a5d9e084f0e\"","quick-delete-list":"\"19e5e2c5e950622fbb9ac1f5f05f0923\"","quotes":"\"fac96bf7a34063f4e18a5969821d2f15\"","radiolab on culling":"\"67a51c9b0763d5e6022110a0597ad010\"","random keywords":"\"8de2cffe5ad57891f6d4fb5c89ff8faf\"","rationalism":"\"421816314e669bde834e61ac82dd8c97\"","read before uploading or attaching":"\"9739893fad95fd30d62660c2e142eb0f\"","reading for argument":"\"9cdc049966d035b2881e9299c2812e78\"","reading for objections and replies":"\"476101202377fc0a10b904cb454286aa\"","reading for problems":"\"9ab01b4973b7fdf93d5d82a54602e8a7\"","recognizing fallacies":"\"613ff697d505f2ac6c6b4d6056d81bad\"","reductio ad absurdum":"\"5758fc094a8a2630830e6030211f991e\"","reductio via gerrymandering?":"\"7b27b858fb96a7ef2b122c261fc56e06\"","refutation":"\"86b2c8db43203bbc2d92da5b1417e2c9\"","relativism":"\"10a17d63415074f5f6d6de9f86f32d4b\"","renaming tags experiment":"\"bd066f82a1beb6e174f9778e8de9563f\"","replacing alias field":"\"ab2c5a995f3ad1f2ae07afca2e113868\"","replacing alias field with aliases":"\"b29a5ff897d96d283274d00b205db98a\"","reply":"\"480a41eaffdefce8faed817373dadc9e\"","resentment":"\"e67ac417412609399d07f0cbd657741f\"","resp-f2":"\"a4df84bb73bac6a8f984e20d0e0b2a71\"","resp-f2 1":"\"cceef8da1944d178178bcb2cad267b19\"","resp-f2 1 1":"\"2164a8c9777fbf07586e31df383fc6fc\"","resp-f2 1 1 1":"\"2a852d8c0feff0a1056c09347e6289c5\"","resp-f2 1 1 1 1":"\"f7ea661e61a8114e5392c677460a009c\"","resp-f2 1 1 1 1 1":"\"49701dd7fb4c4acf3156b4cbbd9216c7\"","response-C3":"\"5759c7bcc1227ac0dd70d7ca9690a097\"","response-C3 1":"\"62e5035a0badcfd3562f9d2088773191\"","response-C3 1 1":"\"83bf98f06ec99c0ea0ad0229f25048b3\"","response-C3 1 1 1":"\"7f0eaeffd58d8acd1be8eb6e3cbcc70c\"","response-e3":"\"81b5cac3e5ab7f12a9c3389d8b936921\"","response-e3 1":"\"8cff3ee53fc16d9e3def503787c4ae0b\"","response-e3 1 1":"\"7be455e85c3e70e0654c1187b01caf16\"","reveal widget play":"\"2d6b35277a703bf0dbe32c737da580e9\"","review":"\"de7217725d585108423965df885c80ff\"","rh_sidewalk_pano_pale.jpg":"\"89a3dec3334fab167d572549fa6a21f6\"","rigorism":"\"c216c345133b072ef52e5299aa1434dc\"","rule utilitarianism":"\"a403752d28ab784a2d005b930a8e2c15\"","russell_sidewalk_banner.jpg":"\"3273bdfe7ef6c2fe1bf494039105dd1c\"","safety-b2":"\"5b13c0e4ed412cf463e298b327d261a0\"","sample extra credit format":"\"5914521674dc4b4b4f66bd43c7412796\"","sample thing for slider macro":"\"7369901dbdc989260c7f81d1cb03d21c\"","selectedTags":"\"1cd9815c8e8668b926f67e9db793beda\"","selfishishness vs altruism argument critique":"\"a4467d28818f7bcf9292389ed83a183b\"","session 3 agenda":"\"0c96bd9eb597f8ebbffdf838d91861ed\"","session template":"\"c8a1f4055ec403a07805b424beca9a73\"","sessions":"\"a7e0befc0c797ad0c847cc81e117001a\"","shades":"\"fcdf5f8a47a1e00b8f2a821080850b5e\"","shapes-solid.svg":"\"f38aa87781a58392aa8277bec341332d\"","share-alt-square-solid.svg":"\"e27fc22f6db008d14a34a552fb5c70bd\"","sharing-b2":"\"203d6a63a4e96810f1b2b6bb77c5f071\"","simplest argument diagram.png":"\"586580a5ff24edc85c2182fbded9b002\"","site introduction":"\"3a4ebacc7216d21e728e67a0a135afe5\"","site_title_logo":"\"b62c55a6fe95f9e796f5c72fc0d4bc76\"","six major patterns in moral reasoning":"\"dec5a4b50d9e7e58e3ddb5ee769e7fe4\"","skills":"\"c95e682a9db9ae1d09035933fea3b5a4\"","sliders, details, accordions, reveal, appear":"\"ac13961775edb1706b68aec97a69e6a1\"","soundness":"\"5f785792d727fd6d00c93c05f8b6b79d\"","sp21":"\"26965c3a201f403587e32bd51600c1f2\"","sparklines test":"\"3d5a009492cfcb77b6e9ddcef0ba47c3\"","speech":"\"dbb3becd0b2f0d0baedebab04a871eaa\"","speech bubble.svg":"\"4b32a149478890cd6c2fa0a4d7c1b986\"","splash screen":"\"f601429d440c9a95837aab11ffdc031b\"","spontaneity-b2":"\"67a8e98d57efd199be4f0fd93f4b61ee\"","spring 2020":"\"f2f620035594194336b937ead3c0ac4f\"","spring 2020 opening questions":"\"c5bbeac3091862ac0d9c175354143401\"","spring 2021 opening questions":"\"0e5bb335e7088ec382e1946171dc9d64\"","springer_wonders_wh.png":"\"99bb91148c95a4b805c9c10fd802ce09\"","stage-graphs":"\"ae9db0d12a6c3cf624e79e33102018af\"","stances":"\"bed4763caa68fc20f57d5d1c097d8cae\"","step a":"\"23deb147bdf428f940848c2eb1959dd6\"","step b":"\"c44cf088c95ed0af16811e40c6522b3d\"","step c":"\"4d58e4b4ae4b09bb75c2b3d9c5e792ca\"","step d":"\"fe43447c663182db756eb9bf8e1e55c8\"","stoic school":"\"ae42aedfd20d3caa3f5b1029d654fb4c\"","stoicism":"\"aaefcdd0d2b9871d787fe050d8f80fb5\"","stoicism and politics":"\"d673836ddc49052090839c576a7e58e5\"","straw man":"\"26889327277fe057b0f3fa5eeb9f3bb5\"","study questions":"\"e71b4d68dbfcf853bc1dbf4ecaaeaced\"","stylesheet code offline":"\"b13d3b6202a8976b60e728a3bffe27b0\"","stylesheet for Q and A":"\"d198aac068fcfb7de58ad16ae64b4110\"","stylesheet/semantic/tags-bglowtone-colors":"\"83f1e3dc7f5a1dd9c629926290058853\"","subconclusion":"\"8e11fea746a55afd49c64a021ada03bc\"","supererogatory":"\"119be1904ea530bc9be591890581f6bc\"","suppressed premise":"\"33228286831b8833d52d4d0d300c3a5a\"","survey":"\"2ce9d7bd4aef6a455a3707126f1cffd9\"","survey_replies":"\"c92c93b1d01f387553fed7d216100a5f\"","survival-b2":"\"532d1a00b9088cb9bf5f41b2b99d6fe4\"","svg image play":"\"fea05ae209de5f3982a6c4e374fb2969\"","syllabus":"\"a710748a82100f7da464dea3d6b9480a\"","syllabus pdf":"\"f1a8c3c3134247d291ee55f33771645a\"","sympathetic chimps":"\"0a65fa70901f9c137c5369698b800b78\"","synthetic":"\"872992079a286f17cfd8faba0911f436\"","table creation wizard":"\"2342e58ed56d1321a827ecbeba548e13\"","table of virtues":"\"501ba40fa5fc40e3efde542f9bf463d4\"","table overview":"\"9e486b21b93c8ea1b6cbc27d03f7be24\"","table styles":"\"7da4c52853d2e8129efb579549b49678\"","tabtemplate":"\"d26cafbb06d855b210b7b35deb29692a\"","tacit consent":"\"9600e4fcaeb1b8ec7b62faba6ee9ff46\"","tag cloud":"\"7d708ab11db8e876ed929bdac4f45020\"","take-home essay process":"\"44869c969317cee6ca43dffc7394eca5\"","take-home pros-and-cons comparison (spring 2020)":"\"e9667827508a35d73d84e362a18daa0f\"","tc styles":"\"c2405e6eea7541e3252356e5d718c0ed\"","team-results":"\"7337ee94e9ae933b975acee346359d69\"","team-summary":"\"06da5b550dc55c4c00fba25941cb8d33\"","telegram-plane-brands.svg":"\"ff590301db0ff59acb544b8191441233\"","temperance":"\"2014db060ace024504d75c7af8e8598a\"","tensions":"\"0cd685a44026145cc8bee452df133beb\"","terms from reasoning well":"\"e5bc7027fa9d9f97c67e61e86ff3e8aa\"","text on path?":"\"575acf111207a217c45494e4d6a9c281\"","textbooks":"\"3aab5a58cb9af22420ff4ed2c451a117\"","texts_concepts_perspective_.svg":"\"64ecdda21260ce67ca1b4dc3c2a685e3\"","thesis claim":"\"b283b1ebec1bf15900582133e3c63368\"","thesis-driven writing":"\"db715138b328672d1aabd43b884d766d\"","thick vs thin evaluative concepts":"\"bfa7825cd1ac867b174ce46bc1e155c2\"","thumbs-down-solid.svg":"\"21e136b62eb2c8924702a239496dd60d\"","thumbs-up-solid.svg":"\"972856dc2ed23f10ebf0c23dc870632c\"","toc":"\"b816d74d22c8b42957a41680bc3362fc\"","toc_for_session":"\"e7c38cd0743a4ecbfca16dc4142673aa\"","toc_snippet":"\"797002d2c1934aefe941be18f395c721\"","tools for distance learning":"\"2b2a4ece810e77808206d0a9a34571d6\"","tools-solid.svg":"\"25157cbb7e96448b97e389352f9353dd\"","transcendence":"\"5b7831b438ad631246077c770ae1c9af\"","transcendentalism":"\"c5f562b62ae85efd7ef35e38af9ade55\"","translation_notes":"\"0b4d4487bf655fbdcec5e7bcb9389729\"","transvaluation":"\"14e3f5889346d35e49bcd98f4911b17c\"","triage":"\"1dd4ad423a2d59b71f31e025c1f481cc\"","triage ethics as non-ideal…":"\"aa96e2a30da5663cf184a402c2121649\"","trial for venn diagrams":"\"df33ce833bba7d381cbc430fd8fe8a3f\"","trolley problem at Radiolab":"\"c8945b55fc42ccd462d957a143d43fea\"","trolley problem video":"\"d67008a94d529bb7c7aba933ed3cf870\"","troubleshooting":"\"182928b372b1e1715c8dd8347b3cb9c6\"","trvvrlhw@a1":"\"903638bf267729e5504698293e8afd77\"","trvvrlhweiadcs@a2":"\"26b0c9ff9c958d8e7f3eaa2317bf992e\"","two big patterns in ethics":"\"0e92ebd3227fe40ac763f0f453e00778\"","two kinds of imperative":"\"b645b7d566121ae9238a9f9cc3684fdc\"","ultimate moral dilemmas?":"\"0ae6652a5200512b8b37b0f9d7ff8bd6\"","unit structure graph":"\"1f8e4e1bdd3ea731c5eb0969edc459c0\"","unit template":"\"7baf189b23c300885dba1b53f54ea3bf\"","units":"\"ddfd39c2f49920e7fe36f6a133a0174a\"","universalizability":"\"a4246c50b5e37351961bfeb0258efc51\"","unjust_law_no_law.jpg":"\"1022e730e524842455be3ab781d03231\"","upgrade wishlist":"\"a69793b23cebcac10a48f4b918ce5afe\"","utilitarianism":"\"9bc3fe357356e26eee13df411551c7ff\"","utility":"\"c7e4e4c499fbf51fa03d5ce5f2fdc6b1\"","validity":"\"0e51a372a3bc0b97b429c69493abcff2\"","venn_simple.svg":"\"d3f9a1f95d9616c3df1183c025c81b2b\"","venn_space.jpg":"\"e46646dfc9bc27ddd45fadb4dec0ed35\"","vice":"\"3a7494c7d982a31d70c7a71463c3431d\"","virtue":"\"1d71e49467fa192e339b8793971c8b3c\"","virtue as virtuosity":"\"af414b7638976d1d855e0a0c5ad93ebc\"","virtue desired":"\"d65452bd07df34a0fd48d96cdb116d91\"","virtue ethics":"\"5701a2b145a5061a9ecb8a2b7ffee52d\"","virtue-b2":"\"dea778781b39c908c1c652c22519e1e3\"","virtues across cultures table":"\"c2dd87ca56d1cca572c0a9ab8df459a6\"","virtues comparison":"\"6c6f9621baea702780c208117af107ea\"","vital phenomena":"\"1c596a7d735ccf807150d1738c228d9b\"","vocab field tweaks":"\"039efd05f5e5bd4eb4887eee03b44205\"","vocabulary":"\"df8b42503905e7b9659ee3ae21015329\"","vocabulary overview":"\"a36c32ef0dc78924e7b7be6258415afc\"","vocabulary-here":"\"97a7561fd5dbee6bb5762dc076b3d47e\"","vs.png":"\"d776f164a02d6268bfdfd017648b515c\"","waving_springer.png":"\"207c503ede062ccbf6867f03af18d515\"","ways of reading":"\"bb8d5f1747a5ddcccfa9203dfefcfb32\"","welcome":"\"95f12ced95b15b3e4c090fc28635c4c5\"","what distinguishes (in)justice?":"\"8958a062a663f57e4456555e12fed7d0\"","whiteoutsm.jpg":"\"299b3bb5900149e7b0cc531838c2fd49\"","word count tool":"\"c063bbd208410982624d33ceaa74835f\"","world music tracks":"\"fe9696e89022b122dec12313f73884b3\"","writing":"\"f04ab0a68af4007eb5531f8f2171c20d\"","wrong vs inexpedient":"\"243f13b3acd223d3fc8714fe1ebff018\"","yes.png":"\"f81d371a612a09fc73244a24285d0307\"","young_man_diagram":"\"b596c316cb6f6df9cae4b406a1989c40\"","zoom demo venn diagram":"\"5160796036cf4451ddbc0977be5d6a69\"","zoom_logo":"\"5aaa8caaca8bfbf0445379683d648dc3\"","Ω review 440-445":"\"5095294f1b1ed796183b74883cd4b077\"","◎ About Kevin, Aristotle would say…":"\"57b189e4ef6843ad5dd87e485fc7db9c\"","◎ Appiah and cosmopolitan spirit…":"\"f93bab971f8ffa8ade97cbb47dc066bb\"","◎ Aristotle & moral luck …":"\"3f9dfb4e710f39c8e900d4efe82fac12\"","◎ Aristotle on biological causes…":"\"122a593ca54313d8cad14b31d7e74434\"","◎ Aristotle on humans’ animal nature":"\"a3e7acd0c2ebfb9b66888a550968c545\"","◎ Aristotle on virtuous feelings…":"\"30a10cd1684e0375bd645c2f99f2b5c4\"","◎ Aristotle on voluntary actions…":"\"e3d434c7bb738dd3e69c4480459510b6\"","◎ Beauvoir on the student’s dilemma…":"\"3d7900e52832587b740d6651f8b31a79\"","◎ Buddha and Epictetus parallel…":"\"eabc5b12a85d80da5c979bf3ef01f464\"","◎ Crito’s and Socrates’ values…":"\"f8d861bc1f7b1df55fbd0e5500ba061a\"","◎ Dewey and paths of life…":"\"8d6004a12fdbce6e218b1aaaf856b567\"","◎ Epictetus’ masculine-individualist ideals…":"\"93774050600d8f25a48f39b67ac9bf67\"","◎ Euthyphro’s “What all the gods love” hypothesis…":"\"3909d504316733e6507a690b2332af3a\"","◎ Happiness for Mill, in contrast to others…":"\"3b59987b4b52d60e8331df54466046b0\"","◎ Kant and double-belonging…":"\"a77cfccb2d302e5f395abceb1c19c99c\"","◎ Kant differs from Aristotle…":"\"7cf632f9659d2d1a8e9430dcb1720eab\"","◎ Kant on the categorical imperative…":"\"b93ac936526b547abc51f8449719b967\"","◎ Kant's examples illustrate…":"\"bfa1cb638b2103c5f5efdf29b2dd43b8\"","◎ King & ancient philosophers…":"\"c0e790b856cd98ae48296496834811af\"","◎ King’s invocation of ideals…":"\"3962080489f9a0d345168b10f1bf8a33\"","◎ Kohlberg on other thinkers…":"\"519828498838a81005641f087d83cd49\"","◎ Kohlberg on relativism…":"\"be7903f960c7a06f0ad2cc640fb5138a\"","◎ Korsgaard’s double-level theory…":"\"87492a129d0df285b7c466a67155cb24\"","◎ M\bill’s psychology…":"\"0a1b94266ba22a5a0906350ea6512474\"","◎ Marx on \"ruling ideas\"…":"\"c6d6161e9400f9ec3c276752fdf3d035\"","◎ Mill on motivation…":"\"821c5ba0400d13b6dda85c3ff7b69e70\"","◎ Mill on perfect and imperfect duties…":"\"eb29cc42ea450f9cadc9e08b18320145\"","◎ Mill replies to objections…":"\"6d371b8b93148044733ef5e0b9fb6a29\"","◎ Mill would sacrifice…?":"\"3cf427257b80a907491ce444ac607b33\"","◎ Nietzsche aligned with Marx…":"\"59c69cc1dccb3e869807006e00c5c753\"","◎ Noddings on reason…":"\"eeb657a2b1654ffc178f39dc29da37f9\"","◎ Noddings responds…":"\"462a34876ad2bdee8a74a3e611959cf3\"","◎ Nussbaum on cultual difference…":"\"a9129e27125e6ef89edabbc703659ec4\"","◎ Nussbaum on spheres of choice":"\"a1b8c8dc438e896d472667ced2f75d4a\"","◎ Pandemic ethics as non-ideal theory":"\"5c8562b4005847776242cbaa95aa2b7a\"","◎ Plumwood diagnoses…":"\"30cbdad9acaabd098bacafe8fc18748f\"","◎ Plumwood on agency…":"\"f4f9f1dd902470a1e2a25c70bf7f8469\"","◎ Rawles and extensionism…":"\"e98ae3fae1668ae10c106029c11afc8a\"","◎ Rawles on goat-culling…":"\"e6d3115652b40774dc187466d61710d4\"","◎ Singer anticipates objections…":"\"50896e3d2990390ae13140604c3e8dad\"","◎ Socrates indicates \"the majority\"…":"\"c33ca2083cb917934216404d581d0857\"","◎ from duty vs in-accord-with duty, for Kant…":"\"be012e906dd64a647d842c3d32e9d838\"","◎ relation of piety & justice…":"\"4c4b45fa33f1744c59573c10f13dbbc7\"","◎Aristotle's eudaimonia…":"\"486ff50161b0d0d211690c6cabddb776\"","⬒ Degrees of freedom for Kant?":"\"26f21a033ff06d6719655812c6a8c5da\"","⬒ Monotheism and Euthyphro?":"\"b08222348c1f57ebc040ff6b480593ba\"","⬒ Pious as god-loved?":"\"b9bd447e67d16178f93baa4c2dc76341\"","⬒ Socrates’ challenge to Euthyphro":"\"c9dfa077dbfaa4c39b5bd4d5a32c9565\""}
https://3ra8f69t8l.execute-api.eu-west-2.amazonaws.com/prod/
7dt020qa8e7mu1oqeqqc0sdss4
eu-west-2:a8912c43-2425-4dc8-b508-26f00b4c2342
: the [[stoic|stoicism]] [[distinction]] between matters that are subject to [[prohairesis]] and matters that are wisely seen as beyond our control, and hence unworthy of being the object of our desire and choice.
blockquote.moo{
border: 2px solid #336;
border-left: 1em solid #EDA87A;
padding: 0.5em 2em 0.25em 3em;
margin: 0px 0px 0px 0px;
line-height: 1.5;
position: relative;
background-color: #fff;
color: #003;
font-family: 'Encode Sans', sans-serif;
background-image: url(https://www.dropbox.com/s/e7dleo36d9rtq1i/moodle_f.svg?raw=1);
background-position: left 5px bottom 5px;
background-size: auto 1em;
background-repeat: no-repeat;
}
blockquote.oq{
padding: .5em 3em 0em .5em;
margin: 0em 0em 0em -.75em;
background-color: #fff;
border: 3px solid #ffd;
border-bottom: none;
color: #000;
font-size: 16pt;
line-height: 1.5;
}
blockquote.dark {
font-family: Trebuchet MS, serif;
font-size: 15px;
width: auto;
margin: 0.25em 0 0 0;
padding: 0.25em 0.25em 0em 5em;
line-height: 1.4;
position: relative;
color: #eee;
background-color: #432;
border: none;
}
blockquote.dark:before {
display: block;
content: "\201C";
font-size: 80px;
position: absolute;
left: -2px;
top: -10px;
color: #864;
}
blockquote.dark cite {
color: #cacecf;
text-align: right;
font-size: 15px;
font-style: normal;
margin-right: 0em;
display: block;
background-image: linear-gradient(to bottom right, #432, #753);
margin-top: 0px;
padding-top: 0px;
}
blockquote.dark cite:before {
font-size: 15px;
content: "\2014 \2009";
}
blockquote.dark cite:after {
content: "\2001";
}
blockquote.fm {
font-family: Trebuchet MS, serif;
font-size: 15px;
width: auto;
margin: 0 0 0 0;
padding: 0 0 0 4em;
line-height: 1.4;
position: relative;
color: #eee;
background-color: #234;
border: none;
}
blockquote.fm:before {
display: block;
content: "\201C";
font-size: 80px;
position: absolute;
left: .25em;
top: -10px;
color: #468;
}
blockquote.fm cite {
color: #fed;
text-align: right;
font-size: 15px;
font-style: normal;
margin-right: 0em;
display: block;
background-image: linear-gradient(to bottom right, #234, #357);
margin-top: 0px;
padding-top: 0px;
}
blockquote.fm cite:before {
font-size: 15px;
content: "\2014 \2009";
}
blockquote.fm cite:after {
content: "\2001";
}
blockquote.style5: before {
display: block;
content: "\201C";
font-size: 48px;
position: absolute;
left: -2px;
top: -2px;
color: #7a7a7a;
}
blockquote.style5 {
font: 12px/18px normal "Trebuchet MS", sans-serif;
padding-left: 80px;
padding-right: 80px
padding-top: 6px;
padding-bottom: 12px;
background-color: #000;
color: white;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
margin: 2px;
background-position: middle left;
background-repeat: no-repeat;
text-indent: 0px;
}
blockquote.style5 div {
padding-right: 40px;
display: block;
background-repeat: no-repeat;
background-position: bottom right;
}
blockquote.style6 {
color: #999;
margin: 40px;
font-style: italic;
}
blockquote.style6::before {
content: “\201C”;
display: block;
font-size: 20px;
height: 0;
left: -20px;
position: relative;
top: -10px;
}
blockquote.style7 {
border-left: 4px solid #18B888;
color: #18B888;
font-style: italic;
margin: 30px 0 30px 15px;
padding-left: 15px;
}
blockquote.style8 {
border-left: none;
border-top: 1px solid #3A78AB;
border-bottom: 1px solid #3A78AB;
color: #3A78AB;
font-style: italic;
margin: 30px;
padding: 30px;
text-align: center;
}
blockquote.style01 {
border-left: none;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
text-align: center;
}
blockquote.style02 {
border: none;
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
}
blockquote.style02::first-letter {
float: left;
margin: -9px 6px 0 0;
font-size: 35px;
}
blockquote.style03 {
border-left: 4px solid #ccc;
color: #a5a4a4;
font-style: italic;
margin: 30px 0 30px 15px;
padding-left: 15px;
}
blockquote.style04 {
background: #fcfcfc;
border-left: 1px dashed #ccc;
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
}
blockquote.style06 {
width: 450px;
background-color: #f9f9f9;
border: 1px solid #ccc;
border-radius: 6px;
box-shadow: 1px 1px 1px #ccc;
font-style: italic;
}
blockquote.style06 cite:before {
content: "\2014 \2009";
}
blockquote.tw-quote:before {
display: block;
content: "\275D";
font-size: 40px;
position: absolute;
left: -0.75em;
top: -0.05em;
color: #7a7a7a;
}
blockquote.style1 {
font: 14px/20px italic Times, serif;
padding: 8px;
background-color: #faebbc;
border-top: 1px solid #e1cc89;
border-bottom: 1px solid #e1cc89;
margin: 5px;
background-position: top left;
background-repeat: no-repeat;
text-indent: 23px;
}
blockquote.style1 span {
display: block;
background-repeat: no-repeat;
background-position: bottom right;
}
blockquote.style2 {
font: 14px/22px normal helvetica, sans-serif;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 50px;
padding-left: 15px;
border-left: 3px solid #ccc;
}
blockquote.style3 {
font: 18px/30px normal Tahoma, sans-serif;
padding-top: 22px;
margin: 5px;
background-position: top left;
background-repeat: no-repeat;
text-indent: 65px;
}
blockquote.style3 span {
display: block;
background-repeat: no-repeat;
background-position: bottom right;
}
blockquote.style4 {
font: 14px/20px italic Times, serif;
padding-left: 70px;
padding-top: 18px;
padding-bottom: 18px;
padding-right: 10px;
background-color: #dadada;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
margin: 5px;
background-position: middle left;
background-repeat: no-repeat;
text-indent: 23px;
}
blockquote.dialog {
text-indent: -1em; }
.jp-quote-block {
background: #efefef;
font-family: Georgia, serif;
font-size: 18px;
font-style: italic;
width: 500px;
margin: 0.25em 0;
padding: 0.25em 40px;
line-height: 1.45;
position: relative;
color: #383838;
}
.jp-quote-block:before {
display: block;
content: "\201C";
font-size: 80px;
position: absolute;
padding: 0.25em 20px;
left: -20px;
top: -20px;
color: #0044BB;
}
.jp-quote-block cite {
color: #0044BB;
font-size: 14px;
display: block;
margin-top: 5px;
}
.jp-quote-block cite:before {
content: "\2014 \2009";
}
.jp-text-quote {
display:block;
background: #fff;
padding: 15px 20px 15px 45px;
margin: 0 0 20px;
position: relative;
/*Font*/
font-family: Georgia, serif;
font-size: 16px;
line-height: 1.2;
color: #666;
text-align: justify;
/*Borders - (Optional)*/
<!-- border-left: 15px solid #c76c0c; -->
<!-- border-right: 2px solid #c76c0c; -->
/*Box Shadow - (Optional)*/
-moz-box-shadow: 2px 2px 15px #ccc;
-webkit-box-shadow: 2px 2px 15px #ccc;
box-shadow: 2px 2px 15px #ccc;
}
.jp-text-quote:before {
content: "\201C"; /*Unicode for Left Double Quote*/
/*Font*/
font-family: Georgia, serif;
font-size: 60px;
font-weight: bold;
color: #999;
/*Positioning*/
position: absolute;
left: 10px;
top:5px;
}
.jp-text-quote:after {
/*Reset to make sure*/
content: "";
}
.jp-text-quote a {
text-decoration: none;
background: #eee;
cursor: pointer;
padding: 0 3px;
color: #c76c0c;
}
.jp-text-quote a:hover {
color: #666;
}
.jp-text-quote em {
font-style: italic;
}
.jp-basic-quote {
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
text-align: center;
}
.jp-first-letter {
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
}
.jp-first-letter:first-letter {
float: left;
margin: -9px 6px 0 0;
font-size: 35px;
}
/*QUOTE BOXES (simple)*/
.jp-quote-blue {
border-top: 1px solid #3A78AB;
border-bottom: 1px solid #3A78AB;
color: #3A78AB;
font-style: italic;
margin: 30px;
padding: 30px;
text-align: center;
}
.jp-quote-gray {
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
color: #a5a4a4;
font-style: italic;
margin: 30px;
padding: 30px;
text-align: center;
}
/*SHORT*/
.jp-short {
width: 0;
height: 150px;
overflow: scroll;
}
\define linkimg(tiddler, image, tooltip, class, width, svg)
<$list filter="[[$tiddler$]!prefix[http://]]"><$link to="$tiddler$"><$reveal type=match text="yes" default=$svg$><span class="linksvg $class$">{{$image$}}</span></$reveal><$reveal type=nomatch text="yes" default=$svg$>[img width="$width$" class="linkimg $class$" [$tooltip$|$image$]]</$reveal></$link></$list><$list filter="[[$tiddler$]prefix[http://]]"><a href="$tiddler$" target="_blank"><$reveal type=match text=yes default=$svg$><span class="linksvg $class$">{{$image$}}</span></$reveal><$reveal type=nomatch text="yes" default=$svg$>[img width="$width$" class="linkimg $class$" [$tooltip$|$image$]]</$reveal></a></$list>
\end
\define searchInField(field, for, ci)
<$list filter="[!is[shadow]!is[system]regexp:$field$[$for$$ci$]limit[1]]">
<dt>$field$</dt>
</$list>
<$list filter="[!is[shadow]!is[system]regexp:$field$[$for$$ci$]]">
<dd><$link><$view field="title"/></$link></dd>
</$list>
\end
<style>.tc-advanced-search-check imput {width:auto !important;}</style>
Search in fields... <span class="tc-advanced-search-check"><$checkbox field="case-insensitive" tiddler="$:/temp/advancedsearch" checked="(?i)"> case insensitive</$checkbox></span>
<div class="tc-search">
<$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/> <$select field="field" tiddler="$:/temp/advancedsearch" default="">
<option value="">*any</option>
<$list filter="[!is[shadow]!is[system]fields[]sort[]]" variable="field">
<option value=<<field>>><<field>></option>
</$list>
</$select>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$reveal state="$:/temp/advancedsearch!!field" type="match" text="">
<dl>
<$list filter="[!is[shadow]!is[system]fields[]]" variable="field">
<$reveal type=nomatch text=text default=<<field>>>
<$macrocall $name="searchInField" field=<<field>> for={{$:/temp/advancedsearch}} ci={{$:/temp/advancedsearch!!case-insensitive}}/>
</$reveal>
</$list>
</dl>
</$reveal>
<$reveal state="$:/temp/advancedsearch!!field" type="nomatch" text="">
<dl>
<$macrocall $name="searchInField" field={{$:/temp/advancedsearch!!field}} for={{$:/temp/advancedsearch}} ci={{$:/temp/advancedsearch!!case-insensitive}}/>
</dl>
</$reveal>
</$reveal>
<div class="tc-advanced-search">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]" "$:/core/ui/AdvancedSearch/System">>
</div>
<div class="tc-control-panel">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]" "$:/core/ui/ControlPanel/Info">>
</div>
Here's some text on a path... really?
[list[$:/plugins/ajh/favorites/list]]
<<table-dynamic filter:"[search:list[KE]has[responses]]" fields:"tbl-expand tags team responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
\define linkstyle()
<$set name="uri" value=<<makedatauri """$(tid)$""" "text/plain">> >
<$list variable="urititle" filter="""[<uri>removeprefix[data:text/plain,]]""">
<style>
a[href='#<<urititle>>'] { <<style>> }
.tc-sidebar-lists a[href='#<<urititle>>'] { <<style>> }
a[href="#<<urititle>>"]:before { <<style-before>> }
a[href="#<<urititle>>"]:after { <<style-after>> }
</style>
</$list>
</$set>
\end
<$list filter="""[has[linkstyle]] [has[linkstyle-before]] [has[linkstyle-after]]""">
<$vars tid={{!!title}}
style={{!!linkstyle}}
style-before={{!!linkstyle-before}}
style-after={{!!linkstyle-after}}
>
<<linkstyle>>
</$vars>
</$list>
@@float:right;{{$:/plugins/tongerner/toolbar/images/calendar}} @@<hr>[[➡️ student site|https://xememex.com/ethicsatwes/]] [[ |$:/core/ui/ControlPanel/Saving/General]] <br>
http://ethicsatwes.tiddlyspot.com/store.cgi
<pre>
.stretch-closed {
display:inline-block;
padding: 0 3px 0 2px;
margin:0px -2px 0 -1px;
line-height:96%;
background: none;
border: 1px solid lightgray;
/* box-shadow: inset 0 0 5px #b3b3b3; */
margin-right:2px;
}
.stretch-open {
display:inline-block;
padding: 0px 3px; /*0 3*/
margin:0 -2px;
background:#f4f4f4;
border: 1px solid transparent; border-bottom:1px solid silver;
}
.stretch-outline {
display:inline-block;
/* box-shadow: inset 0 0 2px gray; */
padding-right:2px; padding-left:0px; /*2*/
-webkit-animation: revealoutline 3.5s ease 1 running;
animation: revealoutline 3.5s ease 1 running;
outline: solid 0px red;
outline-offset:1px;
/* margin-right:0px; */
}
@-webkit-keyframes revealoutline {
0% { outline: transparent solid 1px; }
25.0% { outline: silver solid 1px; }
50.0% { outline: silver solid 1px; }
100.0% { outline: transparent solid 1px; }
}
@keyframes revealoutline {
0% {outline: transparent solid 1px; }
25.0% { outline: silver solid 1px; }
50.0% { outline: silver solid 1px; }
100.0% { outline: transparent solid 1px; }
}
.stretch-open:hover + .stretch-outline { outline:silver solid 1px; }
.stretch-content {
padding: 0 0px; /*0 3 */
white-space: pre-wrap;
/* margin-right:-6px; -6 */
-webkit-animation: revealcontent .4s ease 1 running;
animation: revealcontent .4s ease 1 running;
opacity:1;
}
@-webkit-keyframes revealcontent {
0% {opacity:0;} 100.0% {opacity:1;}
}
@keyframes revealcontent {
0% {opacity:0;} 100.0% {opacity:1;}
}
</pre>
\define cont() $(content)$
\define stretch(label, restornothing, content)
<$vars restornothing="""$restornothing$""" content="""$content$""">
<$set name="contentToReveal" filter="[<content>regexp[^$]]"
value=<<restornothing>> emptyValue=<<content>>>
<$set name="rest" filter="[<content>regexp[^$]]"
value="" emptyValue=<<restornothing>>>
<$set name="qualstate" value=<<qualify "$:/state/$label$">> >
<$reveal type="nomatch" state=<<qualstate>> text="show" animate="yes">
<$button set=<<qualstate>> setTo="show" class="stretch-closed" >
<$list filter="[[$label$]splitbefore[_]removesuffix[_]] [[$label$]splitbefore[_]] +[first[]]" variable="lab"><<lab>></$list>
</$button>"""<<rest>>"""
</$reveal><$reveal type="match" state=<<qualstate>> text="show" animate="yes">
<$button set=<<qualstate>> setTo="hide" class="stretch-open" >
<$action-setfield $tiddler=<<qualstate>>/>
<$list filter="[[$label$]splitbefore[_]removesuffix[_]] [[$label$]splitbefore[_]] +[first[]]" variable="lab"><<lab>></$list>
</$button> """<<rest>>"""<span class="stretch-outline">
<span class="stretch-content"><<contentToReveal>></span>
</span></$reveal>
</$set>
</$set>
</$set>
</$vars>
\end
\define ref(content:"empty")
<$macrocall $name="strex" content="""$content$""" label="​" start="start" end="​" class="hint numbers"/>
\end
\define strex(content:"TextStretch", label:"…", start:"[", end:"]", class:"", id:"_false_")
<$vars content="""$content$""" id="""$id$""">
<$set name="uid" filter="[<id>!prefix[_false_]]" value=<<id>> emptyValue=<<content>> >
<span class="strex-container $class$"><$macrocall $name="strexx" content=<<content>> label="""$label$""" start="""$start$""" end="""$end$""" class="""$class$""" uid=<<uid>>/></span>
</$set>
</$vars>
\end
\define strexx(content, label, start, end, class, uid)
<$set name="xuid" filter="[<uid>prefix[_false_]]" value="error: xuid hashing" emptyValue=<<HashStr """$uid$""">> >
<$macrocall $name="strexxx" content="""$content$""" label="""$label$""" start="""$start$""" end="""$end$""" class="""$class$""" xuid=<<xuid>>/>
</$set>
\end
\define strexxx(content, label, start, end, class, xuid)
<$vars content="""$content$""" label="""$label$""" start="""$start$""" end="""$end$""" class="""$class$""" xuid="""$xuid$""">
<$set name="qualstate" value=<<qualify "$:/state/strex_$xuid$_">> >
<$vars openclass="strex-open $class$" contentclass="strex-content $class$" startclass="strex-close strex-start $class$" endclass="strex-close strex-end $class$">
<$reveal type="nomatch" state=<<qualstate>> text="visible" animate="yes"><$button set=<<qualstate>> setTo="visible" class=<<openclass>> tooltip="show text part"><<label>></$button></$reveal><$reveal type="match" state=<<qualstate>> text="visible" animate="yes">
<span class="strex-all $class$"><span class="strex-inner $class$"><$button class=<<startclass>> tooltip="hide text part">$start$<$action-deletetiddler $tiddler=<<qualstate>>/></$button><span class=<<contentclass>> > <<content>> </span></span><$button class=<<endclass>> tooltip="hide text part">$end$<$action-deletetiddler $tiddler=<<qualstate>>/></$button></span></$reveal>
</$vars>
</$set>
</$vars>
\end
<!-- step 1 (x): check for id, replace with content if param is empty -->
<!-- step 2 (xx): hash id -->
<!-- step 3 (xxx): generate output, use state with hashed id -->
/* strex standard styling */
.strex-container, .strex-container .tc-reveal, .strex-all {
position:relative;
}
.strex-open, .strex-start, .strex-end {
color: <<colour tiddler-link-foreground>>;
padding: 0 6px 3px 6px;
line-height: 96%;
background-color: #f0f0f0;
border: 1px solid lightgray;
}
.strex-open:hover, .strex-start:hover, .strex-end:hover {
border: 1px solid black;
}
.strex-open:active, .strex-start:active, .strex-end:active,
.strex-open:focus, .strex-start:focus, .strex-end:focus {
border: 1px solid lightgray;
}
.strex-content .tc-reveal .strex-close {
color: <<colour foreground>>;
}
.strex-content {
color: #c44;
display:inline;
-webkit-animation: expandtext 1s ease 0s running;
animation-name: expandtext;
animation-duration: 1s;
animation-timing-function: ease;
animation-delay: 0s;
animation-iteration-count: 1;
animation-direction: normal;
}
.strex-content .tc-reveal .strex-content {
color: #766;
}
/* * * * * * * * * * * *
** Footnotes with Numbers
* * * * * * * * * * * * */
body {
counter-reset: notenr; /* set counter to 0 */
}
div .tc-tiddler-frame {
counter-reset: tidnotenr;
}
.strex-container.storynumbers {
counter-increment: notenr; /* counter +1 */
}
.strex-container.numbers {
counter-increment: tidnotenr;
}
button.strex-open.storynumbers::before,
button.strex-start.storynumbers::before {
content: counter(notenr); /* Display the counter */
font-size: xx-small;
vertical-align: top;
}
button.strex-end.storynumbers::after {
content: counter(notenr);
font-size: xx-small;
vertical-align: top;
}
button.strex-open.numbers::before,
button.strex-start.numbers::before {
content: counter(tidnotenr);
}
button.strex-end.numbers::after {
content: counter(tidnotenr);
}
/* Footer Collection as Numbered List `<ol>` */
.footnotes p ol {
list-style-type: none;
margin: 0;
padding: 0;
counter-reset: li-counter;
}
.footnotes p ol span > li {
position: relative;
margin-bottom: 0.6em;
margin-left: 2.25rem;
padding: 0.2em;
background-color: <<colour sidebar-tab-background-selected>>;
min-height: 2.1em;
}
.footnotes p ol span > li:before {
position: absolute;
top: 0;
width: 1.75rem;
height: 1.75rem;
font-size: 0.75rem;
line-height: 1;
text-align: right;
color: <<colour sidebar-tab-foreground>>;
background-color: <<colour sidebar-tab-background>>;
content: counter(li-counter);
counter-increment: li-counter;
padding: 0.1em 0.2em 0.2em 0.1em;
margin-left: -2.5rem;
}
/* * * * * * * * * * * *
** Special Styles
* * * * * * * * * * * * */
/* hidden parts */
.strex-content.nocontent, .strex-start.nostart, .strex-end.noend, .strex-close.noclose {
display: none;
}
/* standard text color */
.strex-content.standardcolor {
color: <<colour foreground>>;
}
/* block */
.strex-content.block, .strex-inner.blockinner,
.strex-container.blockcontainer {
display: block;
}
/* hint */
.strex-inner.hint {
position: absolute;
min-width: 220px;
background-color: rgb(252, 254, 211);
border: 1px solid black;
box-shadow: 5px 5px 10px #aaa;
padding: 15px 13px 12px 15px;
margin: 24px 0 0 -5px;
z-index: 998;
}
.strexXX-inner.hint {
display: block;
}
.strex-start.hint {
letter-spacing: -0.5em;
color: rgba(1,1,1,0) !important;
background-color: transparent;
border: 0;
position: absolute;
padding: 0 6px 3px;
right: 10px;
top: 5px;
}
.strex-inner.hint button::before {
content: " ×";
font-size: 1.2em;
color: <<colour tiddler-link-foreground>>;
}
.strex-content.hint {
padding-right: 10px;
}
/* note top right */
.strex-inner.note {
background-color: rgb(252, 254, 211);
border: 1px solid black;
box-shadow: 5px 5px 10px #aaa;
display: block;
min-width: 220px;
padding: 26px 10px 15px 15px;
position: fixed;
right: 5%;
top: 5%;
z-index: 998;
}
.strex-start.note {
position: absolute;
padding: 0 6px 3px;
right: 5px;
top: 5px;
}
.strex-content.note {
padding-right: 10px;
}
/* note flex */
.strex-inner.noteflex {
background-color: rgb(252, 254, 211);
border: 1px solid black;
box-shadow: 5px 5px 10px #aaa;
display: flex;
flex-flow: column wrap;
min-width: 220px;
padding: 10px 15px 15px 15px;
position: fixed;
right: 5%;
top: 5%;
z-index: 999;
justify-content: center;
}
.strex-start.noteflex {
display: flex;
order: 2;
margin: 10px auto 1px;
order: 2;
padding: 3px 10px 5px;
}
.strex-content.noteflex {
display: flex;
order: 1;
margin-top: 8px;
width: 100%;
}
/* * * * * * * * * * * *
** stretch animation
* * * * * * * * * * * * */
@keyframes expandtext {
0% {
letter-spacing: -0.48em;
rotateY(88deg);
opacity: 0;
}
70.0% {
opacity: 0.35;
}
100.0% {
letter-spacing: 0;
rotateY(0deg);
opacity: 1;
}
}
@-webkit-keyframes expandtext {
0% {
letter-spacing: -0.48em;
rotateY(88deg);
opacity: 0;
}
100.0% {
letter-spacing: 0;
rotateY(0deg);
opacity: 1;
}
}
/*\
title: $:/core/modules/macros/HashStr.js
type: application/javascript
module-type: macro
Generate a numeric hash from a string
uses $:/core/modules/utils/utils.js
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Information about this macro
*/
exports.name = "HashStr";
exports.params = [
{name: "str"}
];
/*
Run the macro
*/
exports.run = function(str) {
var hash = $tw.utils.hashString(str);
return hash;
};
})();
<div class="">
<div class="important">
The code of the macros have changed and this documentation is no longer up to date.
It will be updated soon.
</div>
! Introduction
The [[slider and accordion macros|$:/_tw-scholars/macros/slider+accordion]] hide or show their content when clicked.The only difference is their behaviour when using several sliders on the same page:
* The `<<slider>>` macro creates one state tiddler for each new slider, so they can be opened/closed independently of one another;
* The `<<accordion>>` macro uses a single state tiddler for all the sliders on the same page, thus only one can be open at a time.
They also show next to the caption a link `…` to the original tiddler (if there's one).
! Content and Attributes
The content of the `<<slider>>` and `<<accordion>>` macros is displayed according to the rules given above.
<!--
|!Attribute |!Description |
|caption |The slider caption |
|body |The contents to be shown or hidden. If it is a tiddlers' title, its content is transcluded, else it is displayed as is |
|heading |The heading level of the slider (defaults to "h1") |
|tooltip1 |Show tooltip (defaults to "Click to show the contents of this slider") |
|tooltip2 |Hide tooltip (defaults to "Click to hide") |
|tooltip3 |Edit tooltip (defaults to "Edit this section") |
|state |Set to "popup" to delete the state tiddler on each startup (defaults to "slider") |
|retain |Set to "yes" to force the content to be retained even when hidden (defaults to "no")|
|animate |Set to "yes" to animate opening and closure (defaults to "no") |
|btn-class |The div class to be applied to the slider button (defaults to "invisible") |
|btn-style |The span style to be applied to the slider button (defaults to "") |
|body-class |The div class to be applied to the body (defaults to "") |
|body-style |The span class to be applied to the slider button (defaults to "") |
|aria-label-show |Optional Accessibility label for the show button (defaults to "") |
|aria-label-hide |Optional Accessibility label for the hide button (defaults to "") |
|aria-label-link |Optional Accessibility label for the link (defaults to "") |
-->
<table>
<thead>
<tr>
<td>Attribute</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>caption</td>
<td>The slider caption</td>
</tr>
<tr>
<td>body</td>
<td>The contents to be shown or hidden</td>
</tr>
<tr>
<td>heading</td>
<td>Optional heading level of the slider (defaults to "h1")</td>
</tr>
<tr>
<td>tooltip1</td>
<td>Optional show tooltip (defaults to "Click to show the contents of this slider")</td>
</tr>
<tr>
<td>tooltip2</td>
<td>Optional hide tooltip (defaults to "Click to hide")</td>
</tr>
<tr>
<td>tooltip3</td>
<td>Optional edit tooltip (defaults to "Edit this section")</td>
</tr>
<tr>
<td>state</td>
<td>Set to "popup" to delete the state tiddler on each startup (defaults to "slider")</td>
</tr>
<tr>
<td>retain</td>
<td>Set to "yes" to force the content to be retained even when hidden (defaults to "no")</td>
</tr>
<tr>
<td>animate</td>
<td>Set to "yes" to animate opening and closure (defaults to "no")</td>
</tr>
<tr>
<td>btn-class</td>
<td>Optional div class to be applied to the slider button (defaults to "")</td>
</tr>
<tr>
<td>btn-style</td>
<td>Optional span style to be applied to the slider button (defaults to "")</td>
</tr>
<tr>
<td>body-class</td>
<td>Optional div class to be applied to the body (defaults to "")</td>
</tr>
<tr>
<td>body-style</td>
<td>Optional span class to be applied to the slider button (defaults to "")</td>
</tr>
<tr>
<td>aria-label-show</td>
<td>Optional Accessibility label for the show button (defaults to "")</td>
</tr>
<tr>
<td>aria-label-hide</td>
<td>Optional Accessibility label for the hide button (defaults to "")</td>
</tr>
<tr>
<td>aria-label-link</td>
<td>Optional Accessibility label for the link (defaults to "")</td>
</tr>
</tbody>
</table>
Retaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting ''animate="yes"'' will also force ''retain="yes"''.
! Examples
!!Example 1
```
<<slider "How are you?" "Fine, thanks!" "h3" >>
```
Gives this:
<<slider "How are you?" "Fine, thanks!" "h3" animate="yes">>
!!Example 2
The first level sliders on the "Features" tab are created with the following code (see [[tiddler|$:/_tw-scholars/tab/features]]) :
```
!Features
<$list filter="[[$:/_tw-scholars/tab/features]listed[parent]!has[draft.of]sort[description]]">
<$macrocall $name="accordion" caption={{!!description}} body={{!!title}} heading="h2" state="popup"/>
</$list>
```
</div>
<div class="tw-tab-content">
!{{$:/_images/ok}}<<trad "Features">>
<$list filter="[[$:/_tw-scholars/tab/features]listed[parent]!has[draft.of]sort[description]]">
<$macrocall $name="accordion" caption="description" body={{!!title}} heading="h2" body-class="box yellow"/>
</$list>
</div>
[all[current]!is[system]]
\define timeline-title()
\whitespace trim
<!-- Override this macro with a global macro
of the same name if you need to change
how titles are displayed on the timeline
-->
<$view field="title"/>
\end
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"!has[result]",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}><<timeline-title>></$link>
</div>
</$list>
</div>
</$list>
</div>
\end
\define toc-caption()
<$set name="tv-wikilinks" value="no">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$set>
\end
\define toc-body(tag,sort:"",itemClassFilter,exclude,path)
<ol class="tc-toc">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$vars item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
<li class=<<toc-item-class>>>
<$list filter="[all[current]toc-link[no]]" emptyMessage="<$link><$view field='caption'><$view field='title'/></$view></$link>">
<<toc-caption>>
</$list>
<$macrocall $name="toc-body" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
</li>
</$set>
</$set>
</$vars>
</$list>
</ol>
\end
\define toc(tag,sort:"",itemClassFilter:"")
<$macrocall $name="toc-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> />
\end
\define toc-linked-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<!-- helper function -->
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
<li class=<<toc-item-class>>>
<$link>
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
<<toc-caption>>
</$link>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
</$reveal>
</li>
</$set>
</$qualify>
\end
\define toc-expandable-empty-message()
<$macrocall $name="toc-linked-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end
\define toc-expandable(tag,sort:"",itemClassFilter:"",exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<ol class="tc-toc toc-expandable">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$list filter="[all[current]toc-link[no]]" emptyMessage=<<toc-expandable-empty-message>> >
<$macrocall $name="toc-unlinked-expandable-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="""itemClassFilter""" exclude=<<excluded>> path=<<path>> />
</$list>
</$list>
</ol>
</$set>
</$vars>
\end
\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item" >
<li class=<<toc-item-class>>>
<$link>
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
</$list>
<<toc-caption>>
</$link>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
</$reveal>
</li>
</$set>
</$qualify>
\end
\define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter,exclude,path)
<$qualify name="toc-state" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>
<$set name="toc-item-class" filter=<<__itemClassFilter__>> emptyValue="toc-item-selected" value="toc-item">
<li class=<<toc-item-class>>>
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
<$reveal type="nomatch" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="open" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/right-arrow}}
<<toc-caption>>
</$button>
</$reveal>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$button setTitle=<<toc-state>> setTo="close" class="tc-btn-invisible tc-popup-keep">
{{$:/core/images/down-arrow}}
<<toc-caption>>
</$button>
</$reveal>
</$list>
<$reveal type="match" stateTitle=<<toc-state>> text="open">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>
</$reveal>
</li>
</$set>
</$qualify>
\end
\define toc-selective-expandable-empty-message()
<$macrocall $name="toc-linked-selective-expandable-body" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>
\end
\define toc-selective-expandable(tag,sort:"",itemClassFilter,exclude,path)
<$vars tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>
<$set name="excluded" filter="""[enlist<__exclude__>] [<__tag__>]""">
<ol class="tc-toc toc-selective-expandable">
<$list filter="""[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[enlist<__exclude__>]""">
<$list filter="[all[current]toc-link[no]]" variable="ignore" emptyMessage=<<toc-selective-expandable-empty-message>> >
<$macrocall $name="toc-unlinked-selective-expandable-body" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>
</$list>
</$list>
</ol>
</$set>
</$vars>
\end
\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>
<div class="tc-tabbed-table-of-contents">
<$linkcatcher to=<<__selectedTiddler__>>>
<div class="tc-table-of-contents">
<$macrocall $name="toc-selective-expandable" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter="[all[current]] -[<__selectedTiddler__>get[text]]"/>
</div>
</$linkcatcher>
<div class="tc-tabbed-table-of-contents-content">
<$reveal stateTitle=<<__selectedTiddler__>> type="nomatch" text="">
<$transclude mode="block" tiddler=<<__template__>>>
<h1><$link><$view field='title'/></$link></h1>
<$transclude mode="block">$missingText$</$transclude>
</$transclude>
</$reveal>
<$reveal stateTitle=<<__selectedTiddler__>> type="match" text="">
$unselectedText$
</$reveal>
</div>
</div>
</$tiddler>
\end
\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText,missingText,template:"")
<$linkcatcher to=<<__selectedTiddler__>>>
<$macrocall $name="toc-tabbed-external-nav" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>>/>
</$linkcatcher>
\end
\define lingo-base() $:/language/ControlPanel/Plugins/
\define plugin-table(type)
<$set name="plugin-type" value="""$type$""">
<$set name="qualified-state" value=<<qualify "$:/state/plugin-info">>>
<$list filter="[!has[draft.of]plugin-type[$type$]sort[description]]" emptyMessage=<<lingo "Empty/Hint">> template="$:/core/ui/Components/plugin-info"/>
</$set>
</$set>
\end
{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}
<<lingo Installed/Hint>>
<<tabs "[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]" "$:/core/ui/ControlPanel/Plugins/Installed/Plugins">>
{{$:/language/ControlPanel/Toolbars/Hint}}
<div class="tc-control-panel">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]" "$:/core/ui/ControlPanel/Toolbars/ViewToolbar" "$:/state/tabs/controlpanel/toolbars" "tc-vertical">>
</div>
\define lingo-base() $:/language/TiddlerInfo/
\define config-base() $:/config/ViewToolbarButtons/Visibility/
{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$macrocall $name="list-tagged-draggable" tag="$:/tags/ViewToolbar" itemTemplate="$:/core/ui/ControlPanel/Toolbars/ItemTemplate"/>
</$set>
</$set>
<!-- Overridden to remove the red draft indicators from the bottom of the window -->
\whitespace trim
<section class="tc-story-river">
<section class="story-backdrop">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]">
<$transclude/>
</$list>
</section>
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template={{$:/config/ui/ViewTemplate}} editTemplate={{$:/config/ui/EditTemplate}} storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>
<section class="story-frontdrop">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]">
<$transclude/>
</$list>
</section>
</section>
<div class="tc-more-sidebar">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]" default={{$:/config/DefaultMoreSidebarTab}} state="$:/state/tab/moresidebar" class="tc-vertical" />
</div>
\define lingo-base() $:/language/ControlPanel/
\define config-title()
$:/config/PageControlButtons/Visibility/$(listItem)$
\end
<<lingo Basics/Version/Prompt>> <<version>>
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$set name="tv-config-toolbar-class" value="">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">
<div style="position:relative;" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>
<$checkbox tiddler=<<config-title>> field="text" checked="show" unchecked="hide" default="show"/> <$transclude tiddler=<<listItem>>/> <i class="tc-muted"><$transclude tiddler=<<listItem>> field="description"/></i>
</div>
</$list>
</$set>
</$set>
</$set>
<div class="tc-sidebar-lists tc-sidebar-tabs">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]" default={{$:/config/DefaultSidebarTab}} state="$:/state/tab/sidebar" />
</div>
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<div class="tc-subtitle">
@@float:left;
<$list filter='[tag{!!title}] +[limit[1]]' variable=null>
<<tag !!currentTiddler>>
</$list>
@@
@@float:right;
<$link to='2020 calendar'>
<$view field="calendar_date" format="date" template="mmm DD (ddd)"/>
</$link>
{{!!unit_tag}}
{{!!author_tag}}
{{!!textsource_tag}}
{{!!moo_link}} {{!!pdf-link}} @@
</div>
</$reveal>
<$list filter="[all[current]!hide-tags[yes]]" variable=nul>
<$reveal type="nomatch" stateTitle=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<div class="tc-tags-wrapper"><$list filter="[all[current]tags[]sort[title]]" template="$:/core/ui/TagTemplate" storyview="pop"/></div>
</$reveal>
</$list>
<<<
[Recognizing] that externals are not the path to happiness is essential. [Yet] it is not enough only to look inward when there is injustice in the world. The responsibility to not remain complacent to injustice lies within us all.
<<<—MN
<<<
... the idea that the hardships [people] experience are part of ... the greater good ... can [lead] people to criticize victims in pain for not understanding the "greater plan" (as in the case of the 1755 Lisbon Earthquake)."
<<< —MJ
<<<
... [If we] accept a plurality of appropriate responses, and abjure the temptation to rely on a prescriptive moral code, how do we maintain a rigorous sense of moral agency? ... Without the standard of universal impartiality to guide us, what are we accountabe for?
<<< —SN
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
<svg class="tc-image-thumbs-up tc-image-button" width="22pt" height="22pt" viewBox="0 0 512 512"><path d="M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"/></svg>
<svg class="tc-image-user tc-image-button" width="22pt" height="22pt" viewBox="0 0 448 512"><path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"/></svg>
\define stateEditTid() $:/state/edit/$(parItem)$
\define tempTid() $:/temp/edit/$(parItem)$
\define createTemp() <$action-setfield $tiddler="$(tempTid)$" text={{$(parItem)$}}/>
\define saveTemp() <$action-setfield $tiddler="$(parItem)$" text={{$(tempTid)$}}/>
\define deleteStateTemp()
<$action-deletetiddler $tiddler=<<tempTid>>/>
<$action-deletetiddler $tiddler=<<stateEditTid>>/>
\end
\define paragraphs(filter titleclass:"" buttonsetclass:"" buttonclass:"tc-btn-invisible" textareaclass:"tc-edit-texteditor")
<$list filter="$filter$" variable="parItem">
<div class="paragraph-wrapper">
<$reveal type="match" state=<<stateEditTid>> text="yes" tag="div" class="$buttonsetclass$">
<$button class="$buttonclass$" tooltip="discard changes">
<<deleteStateTemp>>
{{$:/core/images/close-button}}
</$button>
<$button class="$buttonclass$" tooltip="commit changes">
<<saveTemp>>
<<deleteStateTemp>>
{{$:/core/images/done-button}}
</$button>
</$reveal>
<$reveal type="nomatch" state=<<stateEditTid>> text="yes" tag="div" class="$buttonsetclass$">
<$button class="$buttonclass$" set=<<stateEditTid>> setTo="yes" tooltip="edit">
<<createTemp>>
{{$:/core/images/edit-button}}
</$button>
</$reveal>
<div class="$titleclass$">
<h3>
<$transclude tiddler=<<parItem>> field="caption">
<$view tiddler=<<parItem>> field="title"/>
</$transclude>
</h3>
</div>
<$reveal type="match" state=<<stateEditTid>> text="yes">
<$edit-text tiddler=<<tempTid>> class="$textareaclass$"/>
</$reveal>
<$reveal type="nomatch" state=<<stateEditTid>> text="yes">
<div class="paragraph-body">
<$transclude tiddler=<<parItem>>/>
</div>
</$reveal>
</div>
</$list>
<style>
.paragraph-wrapper .notitle { display: none; }
.paragraph-wrapper { position: relative; }
.paragraph-wrapper .float-left {
position: absolute;
left: -24px;
top: 0;
display: flex;
flex-direction: column;
opacity: 0;
transition: opacity 400ms;
font-size: 20px;
}
.paragraph-wrapper:hover .float-left { opacity: 1; }
</style>
\end
{
"$:/pleasure b1": "color:#155724;background-color:#d4edda;",
"Safety b1": "color:#155724;background-color:#d4edda;",
"$:/evolution-b1": "color:#155724;background-color:#d4edda;",
"e-only@a3": "color:#155724;background-color:#d4edda;",
"lachewcsadeilh@a1": "color:#155724;background-color:#d4edda;",
"bccdjehtnk@a1": "color:#155724;background-color:#d4edda;",
"trvvrlhw@a1": "color:#155724;background-color:#d4edda;",
"trvvrlhweiadcs@a2": "color:#155724;background-color:#d4edda;",
"bce-a4": "color:#155724;background-color:#d4edda;",
"evolution-b2": "color:#155724;background-color:#d4edda;",
"spontaneity-b2": "color:#155724;background-color:#d4edda;",
"b4-resp": "color:#155724;background-color:#d4edda;",
"$:/spontaneity-b1": "color:#155724;background-color:#d4edda;",
"b3-resp 2": "color:#155724;background-color:#d4edda;",
"b3-resp 1": "color:#155724;background-color:#d4edda;",
"justice-b2": "color:#155724;background-color:#d4edda;",
"safety-b2": "color:#155724;background-color:#d4edda;",
"$:/pleasure-b1": "color:#155724;background-color:#d4edda;",
"pleasure-b2": "color:#155724;background-color:#d4edda;",
"$:/safety-b1": "color:#155724;background-color:#d4edda;",
"c1-resp": "color:#155724;background-color:#d4edda;",
"C2-response": "color:#155724;background-color:#d4edda;"
}
alert-background: #ffe476
alert-border: #b99e2f
alert-highlight: #881122
alert-muted-foreground: #b99e2f
background: #fcfcfc
blockquote-bar: <<colour muted-foreground>>
button-background:
button-foreground:
button-border:
code-background: #f7f7f9
code-border: #e1e1e8
code-foreground: #dd1144
dirty-indicator: #ff0000
download-background: #66cccc
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: #fff
dropdown-tab-background: #ececec
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #0000aa
external-link-foreground: #0000ee
foreground: #333333
message-background: #ecf2ff
message-border: #cfd6e6
message-foreground: #547599
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: #999999
modal-footer-background: #f5f5f5
modal-footer-border: #dddddd
modal-header-border: #eeeeee
muted-foreground: #999999
notification-background: #ffffdd
notification-border: #999999
page-background: #fdfdfd
pre-background: #f5f5f5
pre-border: #cccccc
primary: #4164da
select-tag-background:
select-tag-foreground:
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: #ff0000
sidebar-controls-foreground: #ccc
sidebar-foreground-shadow: rgba(255,255,255, 0.8)
sidebar-foreground: #acacac
sidebar-muted-foreground-hover: #444444
sidebar-muted-foreground: #c0c0c0
sidebar-tab-background-selected: #eee
sidebar-tab-background: <<colour tab-background>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour tab-divider>>
sidebar-tab-foreground-selected: #eee
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: #444444
sidebar-tiddler-link-foreground: #4461e1
site-title-foreground: <<colour tiddler-title-foreground>>
static-alert-foreground: #aaaaaa
tab-background-selected: #eee
tab-background: #eeeeee
tab-border-selected: #cccccc
tab-border: #cccccc
tab-divider: #d8d8d8
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: #666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #ccc
tag-foreground: #222
tiddler-background: <<colour background>>
tiddler-border: #eee
tiddler-controls-foreground-hover: #888888
tiddler-controls-foreground-selected: #444444
tiddler-controls-foreground: #cccccc
tiddler-editor-background: #f8f8f8
tiddler-editor-border-image: #ffffff
tiddler-editor-border: #cccccc
tiddler-editor-fields-even: #e0e8e0
tiddler-editor-fields-odd: #f0f4f0
tiddler-info-background: #f8f8f8
tiddler-info-border: #dddddd
tiddler-info-tab-background: #f8f8f8
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: #c0c0c0
tiddler-title-foreground: #cc7788
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button:
toolbar-cancel-button:
toolbar-done-button:
untagged-background: #999999
very-muted-foreground: #888888
alert-background: #D08770
alert-border: #D08770
alert-highlight: #B48EAD
alert-muted-foreground: #4C566A
blockquote-bar: <<colour muted-foreground>>
button-background: #4C566A
button-foreground: #D8DEE9
button-border: transparent
code-background: #2E3440
code-border: #2E3440
code-foreground: #BF616A
diff-delete-background: #BF616A
diff-delete-foreground: <<colour foreground>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: #A3BE8C
diff-insert-foreground: <<colour foreground>>
diff-invisible-background:
diff-invisible-foreground: <<colour muted-foreground>>
dirty-indicator: #BF616A
download-background: #A3BE8C
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour background>>
dropdown-tab-background-selected: #ECEFF4
dropdown-tab-background: #4C566A
dropzone-background: #A3BE8C
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: #5E81AC
external-link-foreground: #8FBCBB
foreground: #d8dee9
message-background: #2E3440
message-border: #2E3440
message-foreground: #547599
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: #3b4252
modal-footer-background: #3b4252
modal-footer-border: #3b4252
modal-header-border: #3b4252
muted-foreground: #4C566A
notification-background: <<colour primary>>
notification-border: #EBCB8B
page-background: #2e3440
pre-background: #2E3440
pre-border: #2E3440
primary: #5E81AC
select-tag-background: #3b4252
select-tag-foreground: <<colour foreground>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: #4C566A
sidebar-controls-foreground: #3B4252
sidebar-foreground-shadow: transparent
sidebar-foreground: #D8DEE9
sidebar-muted-foreground-hover: #4C566A
sidebar-muted-foreground: #4C566A
sidebar-tab-background-selected: #ECEFF4
sidebar-tab-background: #4C566A
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: #4C566A
sidebar-tab-divider: <<colour page-background>>
sidebar-tab-foreground-selected: #4C566A
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: #A3BE8C
sidebar-tiddler-link-foreground: #81A1C1
site-title-foreground: <<colour tiddler-title-foreground>>
static-alert-foreground: #B48EAD
tab-background-selected: #ECEFF4
tab-background: #4C566A
tab-border-selected: #4C566A
tab-border: #4C566A
tab-divider: #4C566A
tab-foreground-selected: #4C566A
tab-foreground: #D8DEE9
table-border: #4C566A
table-footer-background: #2e3440
table-header-background: #2e3440
tag-background: #A3BE8C
tag-foreground: #4C566A
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
tiddler-controls-foreground-hover:
tiddler-controls-foreground-selected: #EBCB8B
tiddler-controls-foreground: #4C566A
tiddler-editor-background: #2e3440
tiddler-editor-border-image: #2e3440
tiddler-editor-border: #2e3440
tiddler-editor-fields-even: #2e3440
tiddler-editor-fields-odd: #2e3440
tiddler-info-background: #2e3440
tiddler-info-border: #2e3440
tiddler-info-tab-background: #2e3440
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: #4C566A
tiddler-title-foreground: #81A1C1
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button:
toolbar-cancel-button:
toolbar-done-button:
untagged-background: #2d3038
very-muted-foreground: #2d3038
{
"tiddlers": {
"$:/plugins/BTC/tiddly-touch/Buttons/change-view": {
"text": "<$reveal state=\"$:/view\" type=\"nomatch\" text=\"muuri\">\n<$button class=\"tc-btn-invisible\" tooltip=\"muuri storyview\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"tiddly-list\" $value={{$:/StoryList!!list}}/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/ViewToolbar\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps\">\n<$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[hide-leftbar]!regexp[^yes$]]\"><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar\">\n<$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler></$list><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/core/ui/PageTemplate/story\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/EmptyStoryMessage\">\n<$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/BelowStory\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/CSS\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/Stylesheet\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/ViewToolbar\"/></$fieldmangler><$fieldmangler tiddler=\"$:/core/ui/Buttons/more-tiddler-actions\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/ViewToolbar\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/ViewTemplate\"/><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/EditTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"previous-storyview\" $value={{$:/view}}/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"previous-sidebarlayout\" $value={{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}}/><$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" $value=\"fluid-fixed\"/><$action-setfield $tiddler=\"$:/StoryList\" $field=\"list\" $value={{$:/plugins/BTC/tiddly-touch/config!!muuri-list}}/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"previous-sidebar\" $value={{$:/state/sidebar}}/><$action-setfield $tiddler=\"$:/state/sidebar\" $value=\"no\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"spreadsheet-view\" $value=\"no\"/>\n{{$:/plugins/BTC/tiddly-touch/icons!!view-dashboard}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/view\" type=\"match\" text=\"muuri\">\n<$button class=\"tc-btn-invisible\" tooltip=\"leave muuri storyview\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"muuri-list\" $value={{$:/StoryList!!list}}/>\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/ViewToolbar\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[hide-leftbar]!regexp[^yes$]]\"><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler></$list><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageControls\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/EmptyStoryMessage\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/BelowStory\"/></$fieldmangler><$fieldmangler tiddler=\"$:/core/ui/PageTemplate/story\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/CSS\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/Stylesheet\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/ViewToolbar\"/></$fieldmangler><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width\"><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/ViewTemplate\"/><$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/EditTemplate\"/></$fieldmangler><$action-deletetiddler $tiddler=\"$:/core/ui/Buttons/more-tiddler-actions\"/><$action-setfield $tiddler=\"$:/StoryList\" $field=\"list\" $value={{$:/plugins/BTC/tiddly-touch/config!!tiddly-list}}/><$action-setfield $tiddler=\"$:/view\" $value={{$:/plugins/BTC/tiddly-touch/config!!previous-storyview}}/><$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" $value={{$:/plugins/BTC/tiddly-touch/config!!previous-sidebarlayout}}/><$action-setfield $tiddler=\"$:/state/sidebar\" $value={{$:/plugins/BTC/tiddly-touch/config!!previous-sidebar}}/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"spreadsheet-view\" $value=\"no\"/>{{$:/plugins/BTC/tiddly-touch/icons!!view-stream}}\n</$button>\n</$reveal>",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/change-view",
"tags": "$:/tags/PageControls $:/tags/BottomBar",
"revision": "0",
"modified": "20180120183331427",
"description": "switch from classic to muuri view an back",
"created": "20171223083802430",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!view-dashboard}} switch views",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps": {
"text": "<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!fill-gaps\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"fill gaps on\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"fill-gaps\" $value=\"yes\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-quilt}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!fill-gaps\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon tc-selected\" tooltip=\"fill gaps off\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"fill-gaps\" $value=\"no\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-quilt}}\n</$button>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/fill-gaps",
"tags": "$:/tags/LeftBar",
"modified": "20180121165555479",
"description": "toggle if muuri should fill gaps or not",
"created": "20171224154814593",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!view-quilt}} toggle gaps-filling"
},
"$:/plugins/BTC/tiddly-touch/Buttons/free-story-tiddlers": {
"text": "<$list filter=\"[list[$:/StoryList]has[muuri-tiddler-width]get[muuri-tiddler-width]regexp[^(0|1|2|3|4|5|6|7|8|9|10|11|12)$]limit[1]]\">\n<div style=\"width: 100%;\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon\" style=\"width:50%;font-size: 0.4em; float:right;\" tooltip=\"free willy!\">\n<$list filter=\"[list[$:/StoryList]has[muuri-tiddler-width]]\">\n<$action-deletefield $field=\"muuri-tiddler-width\"/></$list>{{$:/plugins/BTC/tiddly-touch/icons!!dot}}</$button>\n</div>\n</$list>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/free-story-tiddlers",
"tags": "$:/tags/LeftBar",
"muuri-tiddler-width": "6",
"modified": "20180121151314642",
"description": "reset the width of all tiddlers in the storyriver",
"created": "20180121095536511",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!dot}} free willy button"
},
"$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions": {
"text": "\\whitespace trim\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<morePopupState>> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/More/Caption}}/>\n</span>\n</$list>\n</$button>\n<$reveal state=<<morePopupState>> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$set>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/more-tiddler-actions",
"modified": "20180121165555480",
"description": "{{$:/language/Buttons/More/Hint}} made with love for muuri",
"created": "20180119092120527",
"caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}} //muuri custom//"
},
"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert": {
"text": "<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"align tiddlers horizontally\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-horizontal\" $value=\"yes\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-vertical}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"align tiddlers vertically\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-horizontal\" $value=\"no\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-horizontal}}\n</$button>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-horiz-vert",
"tags": "$:/tags/LeftBar",
"modified": "20180121165555479",
"description": "switch between vertical and horizontal view",
"created": "20180119121038549",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!view-horizontal}} switch between vertical / horizontal"
},
"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right": {
"text": "<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-right\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"tiddlers aligned left\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-right\" $value=\"yes\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!format-align-left}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-right\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"tiddlers aligned right\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/configPageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-right\" $value=\"no\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!format-align-right}}\n</$button>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-left-right",
"tags": "$:/tags/LeftBar",
"modified": "20180121165555479",
"description": "align tiddlers to the left or the right",
"created": "20171224144532966",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!format-align-right}} align tiddlers to the left or the right"
},
"$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom": {
"text": "<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-bottom\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"tiddlers aligned to the top\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-bottom\" $value=\"yes\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!vertical-align-top}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-bottom\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible\" tooltip=\"tiddlers aligned to the bottom\">\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"align-bottom\" $value=\"no\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!vertical-align-bottom}}\n</$button>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/swap-tiddler-alignment-top-bottom",
"tags": "$:/tags/LeftBar",
"modified": "20180121165555479",
"description": "align tiddlers to the top or the bottom",
"created": "20171224151228341",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!vertical-align-bottom}} align tiddlers to the top or the bottom"
},
"$:/plugins/BTC/tiddly-touch/Buttons/toggle-columns": {
"text": "\\define columnicons()\n{{$:/plugins/BTC/tiddly-touch/icons!!columns-$(columns)$}}\n\\end\n<$set name=\"columns\" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>\n<$set name=\"nextValue\" filter=\"[<columns>] +[next[$:/plugins/BTC/tiddly-touch/Buttons/toggle-columns]]\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon\" tooltip=\"toggle columns\">\n<$list filter=\"[<columns>!regexp[^6$]]\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"column-count\" $value=<<nextValue>>/></$list>\n<$list filter=\"[<columns>regexp[^6$]]\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"column-count\" $value=\"1\"/>\n</$list><<columnicons>></$button></$set></$set>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/toggle-columns",
"tags": "$:/tags/LeftBar",
"modified": "20180120183310896",
"list": "1 2 3 4 5 6",
"description": "cycle through 1 - 6 columns in the storyriver",
"created": "20171228133157578",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!columns-6}} cycle through 1 - 6 columns"
},
"$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag": {
"text": "\\define before-actions()\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/>\n\\end\n\\define after-actions()\n<$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>\n\\end\n\\define set-dragging-yes-no(yesno)\n<<before-actions>><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"drag-enabled\" $value=\"$yesno$\"/><<after-actions>>\n\\end\n\\define getStoryListIndex(yesno)\n<$set name=\"storyCount\" filter=\"[list[$:/StoryList]count[]]\">\n<$list filter=\"[list[$:/plugins/BTC/tiddly-touch/lists/numbers]limit<storyCount>]\">\n<$list filter=\"[list[$:/StoryList]nth<currentTiddler>title[$(scrollTiddler)$]]\" variable=\"scrollTiddlerIndex\">\n<<set-dragging-yes-no $yesno$>>\n</$list>\n</$list>\n</$set>\n\\end\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!drag-enabled\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-dragging-button\" tooltip=\"enable dragging\">\n<$set name=\"scrollTiddler\" value=<<storyTiddler>>>\n<$set name=\"storyList\" filter=\"[list[$:/StoryList]]\">\n<<set-dragging-yes-no yes>>\n</$set>\n</$set>\n{{$:/plugins/BTC/tiddly-touch/icons!!drag-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!drag-enabled\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-selected tc-dragging-button\" tooltip=\"disable dragging\">\n<$set name=\"scrollTiddler\" value=<<storyTiddler>>>\n<$set name=\"storyList\" filter=\"[list[$:/StoryList]]\">\n<<set-dragging-yes-no no>>\n</$set>\n</$set>\n{{$:/plugins/BTC/tiddly-touch/icons!!drag-button}}\n</$button>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag",
"tags": "$:/tags/LeftBar",
"modified": "20180121165555479",
"description": "toggle dragging on/off",
"created": "20171224145410886",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!drag-button}} toggle dragging"
},
"$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width": {
"text": "\\define columnicons()\n{{$:/plugins/BTC/tiddly-touch/icons!!columns-$(tiddlerWidth)$}}\n\\end\n\\define next-tiddler-action()\n<$list filter=\"[[$(nextValue)$]regexp[^(1|2|3|4|5|6|7|8|9|10|11|12)$]]\">\n<$action-setfield $tiddler=\"\"\"$(nextStoryTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=\"$(nextNextValue)$\" $timestamp=\"no\"/>\n</$list>\n<$list filter=\"[[$(nextValue)$]regexp[^0$]]\">\n<$set name=\"columnCount\" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>\n<$set name=\"remainingSpace\" filter=\"1 3 2 8 9 7 5 6 4 10 +[nth<columnCount>]\">\n<$action-setfield $tiddler=\"\"\"$(nextStoryTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=<<remainingSpace>> $timestamp=\"no\"/>\n</$set>\n</$set>\n</$list>\n<$list filter=\"[[$(nextValue)$]!regexp[^(0|1|2|3|4|5|6|7|8|9|10|11|12)$]]\">\n<$action-setfield $tiddler=\"\"\"$(nextStoryTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=\"7\" $timestamp=\"no\"/>\n</$list>\n\\end\n\\define enslave-next-tiddler-button()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!adjacent-tiddler-width\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft-2\" tooltip=\"enslave $(nextStoryTiddler)$\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"adjacent-tiddler-width\" $value=\"yes\"/>\n{{$:/plugins/BTC/tiddly-touch/icons!!dot}}\n</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!adjacent-tiddler-width\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft-2 tc-selected blue-icon\" tooltip=\"free $(nextStoryTiddler)$\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"adjacent-tiddler-width\" $value=\"no\"/>\n{{$:/plugins/BTC/tiddly-touch/icons!!dot}}\n</$button>\n</$reveal>\n\\end\n\\define toggle-tiddler-width()\n<span class=\"tc-topleft-span\">\n<$list filter=\"[[$(storyTiddler)$]next[$:/StoryList]]\" variable=\"nextStoryTiddler\">\n<$set name=\"tiddlerWidth\" filter=\"[[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]regexp[^(0|1|2|3|4|5|6)$]] [[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]!regexp[^(0|1|2|3|4|5|6)$]addprefix[0]] [[$(storyTiddler)$]!has[muuri-tiddler-width]addprefix[0]removesuffix[$(storyTiddler)$]]\">\n<$set name=\"nextValue\" filter=\"[<tiddlerWidth>next[$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width]]\">\n<$set name=\"nextNextValue\" filter=\"0 4 3 2 8 6 +[nth<nextValue>]\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft\" tooltip=\"toggle tiddler width\">\n<$list filter=\"[<tiddlerWidth>!regexp[^0$]]\">\n<$action-setfield $tiddler=\"\"\"$(storyTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=<<nextValue>> $timestamp=\"no\"/>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[adjacent-tiddler-width]regexp[^yes$]]\">\n<$list filter=\"[<nextStoryTiddler>!regexp[^$]]\">\n<<next-tiddler-action>>\n</$list>\n</$list>\n</$list>\n<$list filter=\"[<tiddlerWidth>regexp[^0$]]\">\n<$action-setfield $tiddler=\"\"\"$(storyTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=\"6\" $timestamp=\"no\"/>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[adjacent-tiddler-width]regexp[^yes$]]\">\n<$list filter=\"[<nextStoryTiddler>!regexp[^$]]\">\n<<next-tiddler-action>>\n</$list>\n</$list>\n</$list>\n<<columnicons>>\n</$button>\n</$set></$set></$set>\n<<enslave-next-tiddler-button>>\n</$list>\n<$set name=\"storyListCount\" filter=\"[list[$:/StoryList]count[]]\">\n<$list filter=\"[list[$:/StoryList]nth<storyListCount>regexp[$(storyTiddler)$]]\">\n<$set name=\"tiddlerWidth\" filter=\"[[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]regexp[^(0|1|2|3|4|5|6)$]] [[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]!regexp[^(0|1|2|3|4|5|6)$]addprefix[0]] [[$(storyTiddler)$]!has[muuri-tiddler-width]addprefix[0]removesuffix[$(storyTiddler)$]]\">\n<$set name=\"nextValue\" filter=\"[<tiddlerWidth>next[$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width]]\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft\" tooltip=\"toggle tiddler width\">\n<$list filter=\"[<tiddlerWidth>!regexp[^0$]]\">\n<$action-setfield $tiddler=\"\"\"$(storyTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=<<nextValue>> $timestamp=\"no\"/>\n</$list>\n<$list filter=\"[<tiddlerWidth>regexp[^0$]]\">\n<$action-setfield $tiddler=\"\"\"$(storyTiddler)$\"\"\" $field=\"muuri-tiddler-width\" $value=\"6\" $timestamp=\"no\"/>\n</$list>\n<<columnicons>>\n</$button>\n</$set></$set>\n</$list>\n</$set>\n</span>\n\\end\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!topleft-width-button\" type=\"nomatch\" text=\"no\">\n<<toggle-tiddler-width>>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width",
"modified": "20180121165555480",
"list": "6 5 4 3 2 1 0",
"description": "cycle through 6 different widths for the current tiddler",
"created": "20180120144951684",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!columns-6}} cycle through 6 tiddler widths"
},
"$:/plugins/BTC/tiddly-touch/config": {
"created": "20171223072521383",
"text": "",
"vertical-toolbar-user": "no",
"vertical-toolbar": "yes",
"topleft-width-button-user": "no",
"topleft-width-button": "yes",
"title": "$:/plugins/BTC/tiddly-touch/config",
"tiddly-view-pagetemplate": "$:/core/ui/PageTemplate/story",
"tiddly-view": "no",
"tiddly-story-view": "classic",
"tiddly-story-list": "",
"tiddly-sidebar-state": "yes",
"tiddly-sidebar-layout": "fluid-fixed",
"tiddly-previous-view": "",
"tiddly-previous-sidebar": "yes",
"tiddly-list": "",
"tiddler-opacity": "e6",
"slider-width-value": "58",
"sidebar-new-window": "no",
"show-duration": "200",
"seamless": "no",
"right-grid-width": "2",
"right-grid": "show",
"previous-storyview": "classic",
"previous-sidebarlayout": "fixed-fluid",
"previous-sidebar": "yes",
"muuri-view-pagetemplate": "$:/plugins/BTC/tiddly-touch/PageTemplate/muuri",
"muuri-view": "no",
"muuri-list": "",
"modified": "20180121165757540",
"hide-titles": "no",
"hide-tags": "no",
"hide-leftbar": "no",
"hide-duration": "200",
"hide-controls": "no",
"fill-gaps-user": "no",
"fill-gaps": "yes",
"drag-sort-threshold": "40",
"drag-sort-action-user": "yes",
"drag-sort-action": "move",
"drag-sort": "yes",
"drag-enabled": "yes",
"column-count": "3",
"child-class": "tc-tiddler-frame",
"animation-duration": "400",
"align-right-user": "yes",
"align-right": "no",
"align-horizontal": "no",
"align-bottom-user": "yes",
"align-bottom": "no",
"adjacent-tiddler-width-user": "no",
"adjacent-tiddler-width": "yes"
},
"$:/plugins/BTC/tiddly-touch/ControlPanel/settings": {
"text": "\\define before-actions()\n<$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler><$action-setfield $tiddler=\"$:/view\" $value=\"\"/>\n\\end\n\\define after-actions()\n<$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><$fieldmangler tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri\"><$action-sendmessage $message=\"tm-add-tag\" $param=\"$:/tags/PageTemplate\"/></$fieldmangler>\n\\end\n\\define hide-show-leftbar-actions(setting)\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[hide-leftbar]!regexp[^yes$]]\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-leftbar\" $value=\"yes\"/>\n</$list>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[hide-leftbar]regexp[^yes$]]\">\n<$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-leftbar\" $value=\"no\"/>\n</$list>\n\\end\n\\define muuri-user-actions(setting)\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[$setting$]!regexp[^yes$]]\">\n<<before-actions>><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"$setting$-user\" $value=\"yes\"/><<after-actions>>\n</$list>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[$setting$]regexp[^yes$]]\">\n<<before-actions>><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"$setting$-user\" $value=\"no\"/><$action-setfield $tiddler=\"$:/view\" $value=\"muuri\"/><<after-actions>>\n</$list>\n\\end\n\\define muuri-user-checkbox(setting,checkedunchecked,reload-yesno)\n<$set name=\"description\" value={{$:/plugins/BTC/tiddly-touch/ControlPanel/settings!!description-$setting$}}>\n<$list filter=\"[[$reload-yesno$]!regexp[^noreload$]]\">\n<$checkbox tiddler=\"$:/plugins/BTC/tiddly-touch/config\" field=\"$setting$\" $checkedunchecked$ actions=<<muuri-user-actions $setting$>>> <<description>></$checkbox>\n</$list>\n<$list filter=\"[[$reload-yesno$]regexp[^noreload$]]\">\n<$checkbox tiddler=\"$:/plugins/BTC/tiddly-touch/config\" field=\"$setting$\" $checkedunchecked$> <<description>></$checkbox>\n</$list>\n</$set>\n\\end\n\\define muuri-user-setting-field(setting)\n<$set name=\"description\" value={{$:/plugins/BTC/tiddly-touch/ControlPanel/settings!!description-$setting$}}>\n<$edit-text tiddler=\"$:/plugins/BTC/tiddly-touch/config\" field=\"$setting$\"/> <<description>>\n</$set>\n\\end\n\\define get-muuri-user-action(reload-yesno)\n<<muuri-user-checkbox \"$(listItem)$\" 'checked=\"yes\" unchecked=\"no\" '>>\n\\end\n\\define get-muuri-user-action-reverted()\n<<muuri-user-checkbox \"$(listItem)$\" 'checked=\"no\" unchecked=\"yes\" ' $reload-yesno$>>\n\\end\n\nTweak TiddlyTouch to your likings\n\n<hr>\n\n<$checkbox tiddler=\"$:/plugins/BTC/tiddly-touch/config\" field=\"sidebar-new-window\" checked=\"yes\" unchecked=\"no\"> leftbar sidebar button (top right button will behave the standard way): open sidebar in new window on/off</$checkbox>\n\n<$list filter=\"[list[$:/plugins/BTC/tiddly-touch/ControlPanel/settings!!user-checkboxes]]\" variable=\"listItem\">\n\n<<get-muuri-user-action>>\n\n</$list>\n\n<$list filter=\"[list[$:/plugins/BTC/tiddly-touch/ControlPanel/settings!!user-checkboxes-noreload]]\" variable=\"listItem\">\n\n<<get-muuri-user-action noreload>>\n\n</$list>\n\n<$list filter=\"[list[$:/plugins/BTC/tiddly-touch/ControlPanel/settings!!user-checkboxes-reverted]]\" variable=\"listItem\">\n\n<<get-muuri-user-action-reverted>>\n\n</$list>\n\n<$checkbox tiddler=\"$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar\" tag=\"$:/tags/PageTemplate\" invertTag=\"yes\" actions=<<hide-show-leftbar-actions>>> hide the left bar</$checkbox>\n\n<<muuri-user-checkbox \"drag-sort-action\" ' checked=\"swap\" unchecked=\"move\" '>>\n\n> For the following settings to take effect a muuri reload is needed. The simplest way to do that is switching to the normal view and back\n\n<br>\n\n<<muuri-user-setting-field \"show-duration\">>\n\n<<muuri-user-setting-field \"hide-duration\">>\n\n<<muuri-user-setting-field \"animation-duration\">>\n\n",
"user-checkboxes-reverted": "vertical-toolbar topleft-width-button",
"user-checkboxes-noreload": "",
"user-checkboxes": "fill-gaps align-right align-bottom",
"title": "$:/plugins/BTC/tiddly-touch/ControlPanel/settings",
"tags": "$:/tags/ControlPanel/Appearance",
"modified": "20180121130319910",
"description-vertical-toolbar": "disable the vertical toolbar",
"description-topleft-width-button": "hide the topleft tiddler-width buttons",
"description-show-duration": "the duration in milliseconds for the show-animation",
"description-hide-duration": "the duration in milliseconds for the hide-animation",
"description-fill-gaps": "fill gaps when sorting tiddlers on the storyriver",
"description-drag-sort-action": "dragging tiddlers behaviour: move tiddlers to new positions or swap the tiddler positions<br>//unselected: move, selected: swap//<br>//in horizontal view, `swap` appears to work better",
"description-animation-duration": "the duration in milliseconds for the layout-animation",
"description-align-right": "show tiddlers from right to left inside the storyriver",
"description-align-bottom": "show tiddlers from bottom to top inside the storyriver",
"description-adjacent-tiddler-width": "adjacent tiddler width",
"created": "20180102073125992",
"caption": "Muuri settings"
},
"$:/plugins/BTC/tiddly-touch/CSS": {
"text": ".grid, .tc-muuri-grid { position: relative; } .tc-tiddler-frame { display: block; position: absolute; width: 100%; margin: 8px;} .tc-tiddler-frame.tc-dragover { z-index: 2; } .tc-tiddler-frame.muuri-hidden { z-index: 0; display: none; } .tc-tiddler-frame:hover, .tc-tiddler-frame:focus { z-index: 3; } .tc-tiddler-frame-content { position: relative; width: 100%; height: 100%; }\n.tc-tiddler-frame.tc-dragging { z-index: 999; } .tc-alert, .tc-alerts { z-index: 999999 !important; }\n\n/* ** Tiddler view styles */\n\n\n.tc-btn-invisible.tc-toolbar-icon {\n color: <<colour muted-foreground>>;\n vertical-align: sub;\n}\n\n.tc-btn-invisible.tc-toolbar-icon:hover {\n color: <<colour foreground>>;\n}\n\n.tc-tagged-defined-width {\n width: calc(100vw / 3.5) !important;\n}\n\n.tc-tagged-defined-width-2 {\n width: calc(100vw / 2) !important;\n}\n\n.tc-tiddler-frame.tc-tagged-6 { width: calc(100% * 6 / 12 - 16px); min-width: calc(72px * 6); }\n\n }\n\n.tc-tiddler-frame {\n\tbackground-color: <<colour tiddler-background>>{{$:/config/muritest!!tiddler-opacity}} !important;\n}\n\n<<if-no-sidebar \"\n\n.tc-sidebar-scrollable {\n\tdisplay: none;\n}\n\n.tc-topbar-right {\n right: 10px !important;\n}\n\n\">>\n\n.tc-story-river {\n\tpadding-top: 0px !important;\n}\n\n.tc-muuri-empty-story {\n height: 60vh;\n display: flex;\n justify-content: center;\n flex-direction: column;\n text-align: center;\n}\n\n\n.tc-tagged-Journal {\n background-color: #feff9c !important;\n border-color: #fff740 !important;\n}\n\n.tc-tiddler-frame.span-4 iframe {\n min-height: calc(100vh / 4);\n}\n\n.tc-tiddler-frame.span-6 iframe {\n min-height: calc(100vh / 3);\n}\n\n.tc-tiddler-frame.span-9 iframe, .tc-tiddler-frame.span-12 iframe {\n min-height: calc(100vh / 2);\n}\n\n/*.tc-tiddler-frame img, .tc-tiddler-frame image { position: relative; display: block; height: auto; } */\n\n@media (max-height: 500px) {\n\n.tc-image-full-screen-button {\n fill: <<colour primary>> !important;\n}\n\n.tc-story-river {\n padding: 0px 0px 0px 25px;\n}\n\n\n}\n\n\n@media (max-width: 500px) {\n\n.tc-tiddler-frame {\n padding: 14px 28px 14px 14px;\n}\n\n.tc-topbar-right {\n display: none !important;\n}\n\n.tc-story-river {\n padding: 0px 0px 0px 25px !important;\n}\n\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!vertical-toolbar\" type=\"nomatch\" text=\"no\">\n\n.tc-tiddler-frame {\n min-height: 130px;\n}\n\n</$reveal>\n\n.tc-image-full-screen-button {\n fill: <<colour primary>> !important;\n}\n}\n\n<<if-horizontal-grid \"\"\"\n\n\n\n.grid, .tc-muuri-grid {\n height: calc(100vh - 15px);\n max-height: calc(100vh - 15px);\n min-width: 100%;\n}\n\n.tc-story-river {\n height: calc(100vh - 15px);\n max-height: calc(100vh - 15px);\n min-width: calc(100vw - 84px);\n}\n\n.tc-sidebar-scrollable {\n\n}\n\n\"\"\">>\n\n.tc-muuri-grid .tc-drop-down {\n min-width: 220px;\n}\n\n.tc-tiddler-frame.tc-tagged-sampletag {\nmax-height: 10vh !important;\nmax-width: 10vh !important;\nmin-height: 10vh !important;\nmin-width: 10vh !important;\npadding: 5px 5px 5px 5px;\ntext-align: center !important;\nvertical-align: center;\n}\n\n.tc-tiddler-frame.tc-tagged-sampletag .tc-titlebar h2 {\n display: none;\n}\n.tc-tiddler-frame.tc-tagged-sampletag .tc-titlebar {\n display: none !important;\n}\n\n.tc-tiddler-frame.tc-tagged-sampletag .tc-subtitle, .tc-tiddler-frame.tc-tagged-sampletag .tc-tags-wrapper, .tc-tiddler-frame.tc-tagged-sampletag .tc-tiddler-controls {\n display: none !important;\n}\n\n<<if-dragging-enabled \"\"\"\n\n.tc-dragging-button {\n color: <$macrocall $name=\"colour\" name=\"very-muted-foreground\"/> !important;\n}\n\n\"\"\">>\n\n@media (min-width: 900px) {\n .tc-sidebar-scrollable {\n background-color: <<colour background>>{{$:/config/muritest!!tiddler-opacity}} !important;\n background: <<colour background>>{{$:/config/muritest!!tiddler-opacity}} ;\n z-index: 9999;\n box-shadow: -1px 0px 1px 1px <<colour muted-foreground>>;\n}\n}\n\n<<if-sidebar \"\"\"\n\n.tc-topbar-right {\n z-index: 10000 !important;\n}\n\n.tc-story-river {\n padding-right: 42px !important;\n margin-right: 0px !important;\n}\n\n\"\"\">>\n\n.tc-tiddler-frame.span-4 , .tc-tiddler-frame.span-5, .tc-tiddler-frame.span-6, .tc-tiddler-frame.span-7, .tc-tiddler-frame.span-8, .tc-tiddler-frame.span-9, .tc-tiddler-frame.span-10, .tc-tiddler-frame.span-11, .tc-tiddler-frame.span-12, .tc-tiddler-frame.span-13 {\n padding-left: 42px;\n padding-right: 42px;\n}\n\n<<vertical-toolbar-yes-no>>\n\n<<vertical-toolbar-macro>>\n\n<<toggle-muuri-columns>>\n\n.span-4 .tc-tiddler-controls, .span-5 .tc-tiddler-controls, .span-6 .tc-tiddler-controls, .span-7 .tc-tiddler-controls, .span-8 .tc-tiddler-controls, .span-9 .tc-tiddler-controls, .span-10 .tc-tiddler-controls, .span-11 .tc-tiddler-controls, .span-12 .tc-tiddler-controls, .span-13 .tc-tiddler-controls {\n right: -60px !important;\n}\n\n.span-4 .tc-tiddler-info, .span-5 .tc-tiddler-info, .span-13 .tc-tiddler-info, .span-6 .tc-tiddler-info, .span-7 .tc-tiddler-info, .span-8 .tc-tiddler-info, .span-9 .tc-tiddler-info, .span-10 .tc-tiddler-info, .span-11 .tc-tiddler-info, .span-12 .tc-tiddler-info {\n margin-left: -20px;\n margin-right: -20px;\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.span-4 .tc-unfold-banner, .span-5 .tc-unfold-banner, .span-6 .tc-unfold-banner, .span-7 .tc-unfold-banner, .span-8 .tc-unfold-banner, .span-9 .tc-unfold-banner, .span-10 .tc-unfold-banner, .span-11 .tc-unfold-banner, .span-12 .tc-unfold-banner, .span-13 .tc-unfold-banner {\n margin-left: -43px;\n width: 100%;\n}\n\n.span-4 .tc-fold-banner, .span-5 .tc-fold-banner, .span-6 .tc-fold-banner, .span-7 .tc-fold-banner, .span-8 .tc-fold-banner, .span-9 .tc-fold-banner, .span-10 .tc-fold-banner, .span-11 .tc-fold-banner, .span-12 .tc-fold-banner, .span-13 .tc-fold-banner {\n margin-left: -35px;\n width: 23px;\n}\n\n.tc-leftbar , div.tc-leftbar-open {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-leftbar button {\n\tpadding: 8px;\n}\n\n.tc-leftbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-leftbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-leftbar {\n position: fixed;\n top: 5vh;\n left: 0px;\n width: 32px;\n font-size: 1.6em !important;\n padding-left:6px;\n}\n\ndiv.tc-leftbar-open {\n position: fixed;\n bottom: 10vh;\n right:0px;\n width: 42px;\n font-size: 1.6rem;\n}\n\nspan.tc-leftbar-open a {\n\tdisplay: none;\n}\n\n.tc-leftbar-open span:hover > .tc-leftbar-open span > a { \n\tdisplay: inline-block !important;\n}\n\n@media (max-height: 500px) {\n.tc-leftbar {\n position: fixed;\n top: -1vh;\n left: 0px;\n width: 25px;\n font-size: 1.2rem !important;\n padding-left:2px;\n}\n.tc-tiddler-view-frame:not(.tc-tiddler-folded) .tc-tiddler-controls {\n width: 0.8em;\n right: -27px;\n position: fixed;\n top: -20px;\n}\n.tc-leftbar .tc-btn-invisible {\n padding: 1px 4px 1px 4px;\n}\n.tc-leftbar .material-icons {\n font-size: 1.2rem !important;\n}\n.tc-topbar-right {\n display: none !important;\n}\n.tc-tiddler-frame {\n padding: 14px 28px 14px 14px;\n}\n}\n\n\n@media (max-width: 500px) {\n.tc-leftbar {\n position: fixed;\n top: 0vh;\n left: 0px;\n width: 20px;\n font-size: 1.2em !important;\n padding-left:0px;\n}\n\n.tc-leftbar .material-icons {\n font-size: 1.2em !important;\n}\n}\n\n<<tiddly-touch-toolbar-left-right>>\n\n/*@media (max-width: 500px) {\n .tc-sidebar-scrollable {\n max-height: 45vh !important;\n padding-left: 20px !important;\n}\n}*/\n\n.tc-btn-invisible.tc-toolbar-icon {\n color: <<colour muted-foreground>>;\n vertical-align: sub;\n}\n\n.tc-btn-invisible.tc-toolbar-icon:hover {\n color: <<colour foreground>>;\n}\n\n.tc-sidebar-lists .tc-tiddler-edit-frame {\n width: calc(100% - 42px) !important;\n}\n\n@media (max-width: 500px) {\n .tc-story-river .tc-tiddler-edit-frame {\n\n}\n .tc-leftbar {\n display: none;\n}\n .tc-story-river {\n padding: 1% 1% 0% 1% !important;\n width: 100%;\n}\n\n<<mobile-portrait-tiles>>\n\n}\n\n.tc-single-tiddler-window .tc-sidebar-window {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: 3% 3% 0% 3%;\n}\n\n.tc-single-tiddler-window {\n background-color: <<colour page-background>> !important;\n}\n\n/*@media (max-device-width: 500px) {\n .tc-single-tiddler-window .tc-sidebar-window {\n padding: 2% 2% 0% 2%;\n font-size: 2rem !important;\n line-height: 2em !important;\n}\n}*/\n\n.tc-single-tiddler-window .tc-sidebar-window:not(.tc-sidebar-lists) .tc-tiddler-edit-frame {\n border: 0px solid <<colour page-background>> !important;\n padding: 2% 2% 2% 2% !important;\n box-shadow: none !important;\n width: 90% !important;\n}\n\n<<sidebar-new-window-tiddler-edit-frame-hide>>\n\n.tc-leftbar button.tc-selected {\n -webkit-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\n -moz-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\n filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));\n}\n\n.tc-leftbar button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-leftbar .tc-btn-invisible.tc-toolbar-icon.tc-selected.tc-dragging-button {\n color: <<colour tiddler-controls-foreground-selected>> !important;\n}\n\nsvg.blue-icon, svg.blue-icon:hover, .tc-tiddler-controls button svg.blue-icon {\n fill: <<colour primary>>;\n}\n\nsvg.green-icon, svg.green-icon:hover {\n\tfill: <<colour download-background>>;\n}\n\nsvg.red-icon, svg.red-icon:hover {\n fill: <<colour code-foreground>>;\n}\n\n<<show-hide-tiddler-title-tags>>\n\n<<hide-controls-from-user>>\n\n.tc-tiddler-body.tc-muuri-spreadsheet {\n min-height: 0px !important;\n font-size: 8px !important;\n line-height: 12px !important;\n}\n\n.tc-tiddler-frame.tc-muuri-spreadsheet {\n width: calc((100% / 20) - 1px) !important;\n min-width: calc((100% / 30) - 1px) !important;\n min-height: calc((95vh / 20) - 1px) !important;\n height: calc((95vh / 10) - 1px) !important;\n max-width: calc((100% / 20) - 1px) !important;\n max-height: calc((95vh / 10) - 1px) !important;\n box-shadow: none !important;\n padding: 0px 0px 0px 0px !important;\n margin: 0 1px 1px 0 !important;\n border-radius: 0px !important;\n border: 1px solid rgba( 0, 0, 0, 0.1) !important;\n}\n\n<<if-spreadsheet-view \"\"\"\n\n.tc-story-river {\n padding-bottom: 0px;\n}\n\n.tc-muuri-grid {\n margin-left: 8px;\n}\n\n\"\"\">>\n\n.tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-4 {\n display: none;\n}\n\n.tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-3,\n .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-4 {\n display: block !important;\n}\n\n.tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-3 {\n display: none;\n}\n\n.tc-below-spreadsheet-view {\n position: fixed !important;\n bottom: 0px;\n background-color: <<colour page-background>>;\n z-index: 99999;\n}\n\nbutton.tc-btn-invisible.tc-spreadsheet-cell {\n display: inline-block;\n outline: none;\n width: calc(100% - 0px);\n height: calc(100% - 0px);\n}\n\n.tc-story-river.tc-spreadsheet-view .tc-muuri-grid {\n max-height: 45vh !important;\n}\n\n.tc-grid-1 {\n position: relative;\n}\n\n.tc-grid-2 {\n position: fixed;\n width: 13%;\n background-color: transparent;\n left: 42px;\n top: 0px;\n height: 100vh;\n border: none;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.tc-grid-3 {\n position: fixed;\n background-color: transparent;\n width: 13%;\n right: 46px;\n top: 0px;\n height: 100vh;\n border: none;\n border-right: 0px solid #ffffff;\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\n.tc-grid-3::-webkit-scrollbar, .tc-grid-2::-webkit-scrollbar {\n display: none;\n}\n\n.tc-grid-2 .tc-tiddler-frame, .tc-grid-3 .tc-tiddler-frame {\n width: 100%;\n}\n\n.tc-grid-2 .tc-tiddler-body, .tc-grid-3 .tc-tiddler-body, .tc-grid-2 .tc-tags-wrapper, .tc-grid-3 .tc-tags-wrapper, .tc-grid-2 .tc-tiddler-controls, .tc-grid-3 .tc-tiddler-controls {\n display: none;\n}\n\n.tc-grid-2 .tc-title, .tc-grid-2 .tc-title h2, .tc-grid-3 .tc-title, .tc-grid-3 .tc-title h2, .tc-grid-2 .tc-titlebar, .tc-grid-3 .tc-titlebar {\n font-size: 15px;\n line-height: 16px;\n display: inline-block;\n}\n\n.tc-grid-2 .tc-tiddler-frame, .tc-grid-3 .tc-tiddler-frame {\n padding: 0px 10px 10px 10px;\n max-height: calc(100vh / 6);\n min-height: calc(100vh / 10);\n width: 100%;\n}\n\n.grid-container-1 {\n position: relative;\n z-index: 1;\n min-height: 800px !important;\n}\n\n.grid-container-2 {\n position: relative;\n z-index: 1;\n min-height: 800px !important;\n}\n\n.grid-container-3 {\n position: relative;\n z-index: 1;\n min-height: 800px !important;\n}\n\n.grid-container-3 .tc-tiddler-frame {\n margin-top: 2px;\n margin-bottom: 2px;\n margin-left: 4px;\n margin-right: 4px;\n}\n\n.grid-container-2 .tc-tiddler-frame, .tc-grid-2 .tc-tiddler-frame {\n min-width: 0px !important;\n margin-top: 2px;\n margin-bottom: 2px;\n margin-left: 4px;\n margin-right: 4px;\n}\n\n.tc-muuri-header {\n height: 100px;\n width: 100%;\n background-color: <<colour primary>>;\n}\n\nbutton.no-outline {\n outline: none !important;\n}\n\n<<hide-tiddler-borders-and-gaps>>\n\n\n.tc-dragging img, .tc-dragging image, .muuri-item-dragging img, .muuri-item-dragging image, .tc-dragging svg, .tc-dragging iframe {\n opacity: 0.3 !important;\n}\n\n.tc-btn-invisible {\n outline: none !important;\n}\n\n.fade-in {\n\n -webkit-animation: fadein 0.4s; /* Safari, Chrome and Opera > 12.1 */\n -moz-animation: fadein 0.4s; /* Firefox < 16 */\n -ms-animation: fadein 0.4s; /* Internet Explorer */\n -o-animation: fadein 0.4s; /* Opera < 12.1 */\n animation: fadein 0.4s;\n}\n\n@keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* Firefox < 16 */\n@-moz-keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* Safari, Chrome and Opera > 12.1 */\n@-webkit-keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* Internet Explorer */\n@-ms-keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* Opera < 12.1 */\n@-o-keyframes fadein {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n.limit-image img, .limit-image image, .limit-image svg {\n max-width: 100%;\n position: relative;\n}\n\n<<show-hide-right-grid>>\n\n<<show-hide-left-grid>>\n\n<<rightgrid-width-macro>>\n\n.tc-btn-invisible.tc-text-button {\n color: <<colour muted-foreground>>;\n}\n\n.tc-btn-invisible.tc-text-button.tc-selected {\n color: <<colour foreground>>;\n font-weight: 500;\n}\n\n.tc-btn-invisible.tc-text-button:hover {\n color: <<colour foreground>>;\n}\n\n.tc-grid-1 .tc-dragging .tc-tiddler-body {\n mix-blend-mode: multiply;\n}\n\n.tc-grid-migrate-2 .tc-tiddler-frame {\n border: 10px solid #ff0000;\n}\n\n.tc-tiddler-frame.tc-tiddler-more-popup {\n z-index: 5;\n}\n\n.tc-toolbar-icon-topleft {\n position: fixed;\n top: 5px;\n font-size: 1.3em;\n left: 30px;\n}\n\n.tc-toolbar-icon-topleft-2 {\n position: fixed;\n top: 5px;\n font-size: 0.6em;\n left: 60px;\n}\n\n.tc-toolbar-icon-topleft-2 svg {\n fill: <<colour muted-foreground>>;\n vertical-align: bottom;\n}\n.tc-toolbar-icon-topleft svg {\n fill: <<colour muted-foreground>>;\n }\n .tc-topleft-span:hover .tc-toolbar-icon-topleft-2 svg {\n fill: <<colour muted-foreground>>;\n }\n.tc-topleft-span:hover .tc-toolbar-icon-topleft svg, .tc-topleft-span:hover .tc-toolbar-icon-topleft-2.tc-selected svg {\n fill: <<colour primary>>;\n }",
"title": "$:/plugins/BTC/tiddly-touch/CSS",
"modified": "20180121165555480",
"list-after": "$:/themes/tiddlywiki/vanilla/base",
"created": "20180118195938162"
},
"$:/plugins/BTC/tiddly-touch/icons": {
"text": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" />\n",
"visibility-off-red": "<svg class=\"tc-image-button red-icon\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"/></svg>",
"visibility-off-green": "<svg class=\"tc-image-button green-icon\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"/></svg>",
"visibility-off-blue": "<svg class=\"tc-image-button blue-icon\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"/></svg>",
"visibility": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/></svg>",
"view-vertical": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z\"/></svg>",
"view-stream": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M4 18h17v-6H4v6zM4 5v6h17V5H4z\"/></svg>",
"view-quilt": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M10 18h5v-6h-5v6zm-6 0h5V5H4v13zm12 0h5v-6h-5v6zM10 5v6h11V5H10z\"/></svg>",
"view-horizontal": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z\"/></svg>",
"view-dashboard": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\"/></svg>",
"vertical-align-top": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z\"/></svg>",
"vertical-align-bottom": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z\"/></svg>",
"title": "$:/plugins/BTC/tiddly-touch/icons",
"tiddly-view": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M4 18h17v-6H4v6zM4 5v6h17V5H4z\"/></svg>",
"tags": "",
"spreadsheet-view": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/></svg>",
"muuri-view": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\"/></svg>",
"modified": "20180121101037431",
"format-align-right": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z\"/></svg>",
"format-align-left": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z\"/></svg>",
"drag-button": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zm9.84 4.63l-4.54-2.26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1.5S10 6.67 10 7.5v10.74l-3.43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-.79.8 4.94 4.94c.27.27.65.44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-.07.02-.14.02-.2 0-.62-.38-1.16-.91-1.38z\"/></svg>",
"dot": "<svg class=\"tc-image-button\" width=\"10pt\" height=\"10pt\" viewBox=\"0 0 128 128\"> <g> <path d=\" M 45.84 6.76 C 60.79 2.05 77.60 3.35 91.49 10.69 C 105.76 17.88 116.73 31.15 121.37 46.42 C 125.81 60.68 124.63 76.64 118.03 90.05 C 112.26 102.19 102.23 112.24 90.09 118.01 C 73.74 126.11 53.60 126.00 37.34 117.73 C 25.47 111.93 15.66 102.02 9.99 90.09 C 2.11 74.13 1.98 54.56 9.69 38.52 C 16.59 23.47 30.10 11.80 45.84 6.76 Z\" /> </g> </svg>",
"created": "20180107175152399",
"columns-6": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2h-2c-1.1 0-2-.89-2-2V9c0-1.11.9-2 2-2h4v2z\"/></svg>",
"columns-5": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2H9v-2h4v-2H9V7h6v2z\"/></svg>",
"columns-4": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z\"/></svg>",
"columns-3": "<svg class=\"tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 24 24\"><path d=\"M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15c0 1.11-.9 2-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4c1.1 0 2 .89 2 2v1.5z\"/></svg>",
"columns-2": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.11-.9 2-2 2h-2v2h4v2H9v-4c0-1.11.9-2 2-2h2V9H9V7h4c1.1 0 2 .89 2 2v2z\"/></svg>",
"columns-1": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z\"/></svg>",
"columns-0": "<svg class=\"tc-image-button blue-icon\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z\"/></svg>",
"chart": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/></svg>",
"calendar": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z\"/></svg>"
},
"$:/plugins/BTC/tiddly-touch/lib/muuri.js": {
"text": "/*!\n * Muuri v0.5.3\n * https://github.com/haltu/muuri\n * Copyright (c) 2015, Haltu Oy\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n(function (global, factory) {\n\n var namespace = 'Muuri';\n var Hammer;\n var ItemAnimate = require('$:/plugins/BTC/tiddly-touch/lib/web-animations.js');\n var popmotion = require('$:/plugins/BTC/tiddly-touch/lib/popmotion.js');\n\n if (typeof module === 'object' && module.exports) {\n /* eslint-disable */\n try { Hammer = require('$:/plugins/BTC/tiddly-touch/lib/hammer.js'); } catch (e) {}\n /* eslint-enable */\n module.exports = factory(namespace, Hammer);\n }\n else if (typeof define === 'function' && define.amd) {\n define(['hammerjs'], function (Hammer) {\n return factory(namespace, Hammer);\n });\n }\n else {\n global[namespace] = factory(namespace, global.Hammer);\n }\n\n}(typeof window !== 'undefined' ? window : this, function (namespace, Hammer, undefined) {\n\n 'use strict';\n\n // Get references to all the stuff we are using from the global scope.\n var global = window;\n var Object = global.Object;\n var Array = global.Array;\n var Math = global.Math;\n var Error = global.Error;\n var Element = global.Element;\n var doc = global.document;\n var docElem = doc.documentElement;\n var body = doc.body;\n\n // Types.\n var typeFunction = 'function';\n var typeString = 'string';\n var typeNumber = 'number';\n\n // Raf loop that can be used to organize DOM write and read operations\n // optimally in the next animation frame.\n var rafLoop = createRafLoop();\n\n // Raf loop queue names.\n var rafQueueLayout = 'layout';\n var rafQueueVisibility = 'visibility';\n var rafQueueMove = 'move';\n var rafQueueScroll = 'scroll';\n\n // Drag start predicate states.\n var startPredicateInactive = 0;\n var startPredicatePending = 1;\n var startPredicateResolved = 2;\n var startPredicateRejected = 3;\n\n // Keep track of Grid instances.\n var gridInstances = {};\n\n // Keep track of Item instances.\n var itemInstances = {};\n\n // No operation function.\n var noop = function () {};\n\n // Unique id which is used for Grid instances and Item instances.\n // Should be incremented every time when used.\n var uuid = 0;\n\n // Get the supported element.matches().\n var elementMatches = getSupportedElementMatches();\n\n // Get the supported transform style property.\n var transform = getSupportedStyle('transform');\n\n // Test if transformed elements leak fixed elements.\n var transformLeaksFixed = body ? doesTransformLeakFixed() : null;\n\n // Event names.\n var evSynchronize = 'synchronize';\n var evLayoutStart = 'layoutStart';\n var evLayoutEnd = 'layoutEnd';\n var evAdd = 'add';\n var evRemove = 'remove';\n var evShowStart = 'showStart';\n var evShowEnd = 'showEnd';\n var evHideStart = 'hideStart';\n var evHideEnd = 'hideEnd';\n var evFilter = 'filter';\n var evSort = 'sort';\n var evMove = 'move';\n var evSend = 'send';\n var evBeforeSend = 'beforeSend';\n var evReceive = 'receive';\n var evBeforeReceive = 'beforeReceive';\n var evDragInit = 'dragInit';\n var evDragStart = 'dragStart';\n var evDragMove = 'dragMove';\n var evDragScroll = 'dragScroll';\n var evDragEnd = 'dragEnd';\n var evDragReleaseStart = 'dragReleaseStart';\n var evDragReleaseEnd = 'dragReleaseEnd';\n var evDestroy = 'destroy';\n\n /**\n * Grid\n * ****\n */\n\n /**\n * Creates a new Grid instance.\n *\n * @public\n * @class\n * @param {(HTMLElement|String)} element\n * @param {Object} [options]\n * @param {(?HTMLElement[]|NodeList|String)} [options.items]\n * @param {Number} [options.showDuration=300]\n * @param {String} [options.showEasing=\"ease\"]\n * @param {Object} [options.visibleStyles]\n * @param {Number} [options.hideDuration=300]\n * @param {String} [options.hideEasing=\"ease\"]\n * @param {Object} [options.hiddenStyles]\n * @param {(Function|Object)} [options.layout]\n * @param {Boolean} [options.layout.fillGaps=false]\n * @param {Boolean} [options.layout.horizontal=false]\n * @param {Boolean} [options.layout.alignRight=false]\n * @param {Boolean} [options.layout.alignBottom=false]\n * @param {Boolean} [options.layout.rounding=true]\n * @param {(Boolean|Number)} [options.layoutOnResize=100]\n * @param {Boolean} [options.layoutOnInit=true]\n * @param {Number} [options.layoutDuration=300]\n * @param {String} [options.layoutEasing=\"ease\"]\n * @param {?Object} [options.sortData=null]\n * @param {Boolean} [options.dragEnabled=false]\n * @param {?HtmlElement} [options.dragContainer=null]\n * @param {?Function} [options.dragStartPredicate]\n * @param {Number} [options.dragStartPredicate.distance=0]\n * @param {Number} [options.dragStartPredicate.delay=0]\n * @param {(Boolean|String)} [options.dragStartPredicate.handle=false]\n * @param {?String} [options.dragAxis]\n * @param {(Boolean|Function)} [options.dragSort=true]\n * @param {Number} [options.dragSortInterval=100]\n * @param {(Function|Object)} [options.dragSortPredicate]\n * @param {Number} [options.dragSortPredicate.threshold=50]\n * @param {String} [options.dragSortPredicate.action=\"move\"]\n * @param {String} [options.dragSortPredicate.gaps=true]\n * @param {Number} [options.dragReleaseDuration=300]\n * @param {String} [options.dragReleaseEasing=\"ease\"]\n * @param {Object} [options.dragHammerSettings={touchAction: \"none\"}]\n * @param {String} [options.containerClass=\"muuri\"]\n * @param {String} [options.itemClass=\"muuri-item\"]\n * @param {String} [options.itemVisibleClass=\"muuri-item-visible\"]\n * @param {String} [options.itemHiddenClass=\"muuri-item-hidden\"]\n * @param {String} [options.itemPositioningClass=\"muuri-item-positioning\"]\n * @param {String} [options.itemDraggingClass=\"muuri-item-dragging\"]\n * @param {String} [options.itemReleasingClass=\"muuri-item-releasing\"]\n */\n function Grid(element, options) {\n\n var inst = this;\n var settings;\n var items;\n var layoutOnResize;\n // Muuri can be loaded inside the head tag also, but in that case Muuri can\n // not cache body element and run the initial DOM tests. So, if we detect\n // that body element could not be fetched on init we do it here once and\n // also run the DOM tests. If the Grid is instantiated before body is ready\n // you are doing it wrong ;)\n if (!body) {\n body = document.body;\n transformLeaksFixed = doesTransformLeakFixed();\n }\n\n // Allow passing element as selector string. Store element for instance.\n element = inst._element = typeof element === typeString ? doc.querySelector(element) : element;\n\n // Throw an error if the container element is not body element or does not\n // exist within the body element.\n if (!body.contains(element)) {\n throw new Error('Container element must be an existing DOM element');\n }\n\n // Create instance settings by merging the options with default options.\n settings = inst._settings = mergeSettings(Grid.defaultOptions, options);\n\n // Sanitize dragSort setting.\n if (typeof settings.dragSort !== typeFunction) {\n settings.dragSort = !!settings.dragSort;\n }\n\n // Create instance id and store it to the grid instances collection.\n gridInstances[inst._id = ++uuid] = inst;\n\n // Destroyed flag.\n inst._isDestroyed = false;\n\n // Reference to the currently used Layout instance.\n inst._layout = null;\n\n // Create private Emitter instance.\n inst._emitter = new Grid.Emitter();\n\n // Setup grid's show/hide animation handler for items.\n inst._itemShowHandler = getItemVisibilityHandler('show', settings);\n inst._itemHideHandler = getItemVisibilityHandler('hide', settings);\n\n // Add container element's class name.\n addClass(element, settings.containerClass);\n\n // Create initial items.\n inst._items = [];\n items = settings.items;\n if (typeof items === typeString) {\n nodeListToArray(inst._element.children).forEach(function (itemElement) {\n if (items === '*' || elementMatches(itemElement, items)) {\n inst._items.push(new Grid.Item(inst, itemElement));\n }\n });\n }\n else if (Array.isArray(items) || isNodeList(items)) {\n inst._items = nodeListToArray(items).map(function (itemElement) {\n return new Grid.Item(inst, itemElement);\n });\n }\n\n // Sanitize layoutOnResize option and bind debounced resize handler if the\n // layoutOnResize option a valid number.\n layoutOnResize = settings.layoutOnResize;\n layoutOnResize = layoutOnResize === true ? 0 : typeof layoutOnResize === typeNumber ? layoutOnResize : -1;\n if (layoutOnResize >= 0) {\n global.addEventListener('resize', inst._resizeHandler = debounce(function () {\n inst.refreshItems().layout();\n }, layoutOnResize));\n }\n\n // Layout on init if necessary.\n if (settings.layoutOnInit) {\n inst.layout(true);\n }\n\n }\n\n /**\n * Grid - Public properties\n * ************************\n */\n\n /**\n * @see Item\n */\n Grid.Item = Item;\n\n /**\n * @see ItemDrag\n */\n Grid.ItemDrag = ItemDrag;\n\n /**\n * @see ItemRelease\n */\n Grid.ItemRelease = ItemRelease;\n\n /**\n * @see ItemMigrate\n */\n Grid.ItemMigrate = ItemMigrate;\n\n /**\n * @see ItemAnimate\n */\n Grid.ItemAnimate = ItemAnimate;\n\n /**\n * @see Layout\n */\n Grid.Layout = Layout;\n\n /**\n * @see Emitter\n */\n Grid.Emitter = Emitter;\n\n /**\n * Default options for Grid instance.\n *\n * @public\n * @memberof Grid\n */\n Grid.defaultOptions = {\n\n // Item elements\n items: '*',\n\n // Default show animation\n showDuration: 300,\n showEasing: 'ease',\n\n // Default hide animation\n hideDuration: 300,\n hideEasing: 'ease',\n\n // Item's visible/hidden state styles\n visibleStyles: {\n opacity: '1',\n transform: 'scale(1)'\n },\n hiddenStyles: {\n opacity: '0',\n transform: 'scale(0.5)'\n },\n\n // Layout\n layout: {\n fillGaps: false,\n horizontal: false,\n alignRight: false,\n alignBottom: false,\n rounding: true\n },\n layoutOnResize: 100,\n layoutOnInit: true,\n layoutDuration: 300,\n layoutEasing: 'ease',\n\n // Sorting\n sortData: null,\n\n // Drag & Drop\n dragEnabled: false,\n dragContainer: null,\n dragStartPredicate: {\n distance: 0,\n delay: 0,\n handle: false\n },\n dragAxis: null,\n dragSort: true,\n dragSortInterval: 100,\n dragSortPredicate: {\n threshold: 50,\n action: 'move'\n },\n dragReleaseDuration: 300,\n dragReleaseEasing: 'ease',\n dragHammerSettings: {\n touchAction: 'none'\n },\n\n // Classnames\n containerClass: 'muuri',\n itemClass: 'muuri-item',\n itemVisibleClass: 'muuri-item-shown',\n itemHiddenClass: 'muuri-item-hidden',\n itemPositioningClass: 'muuri-item-positioning',\n itemDraggingClass: 'muuri-item-dragging',\n itemReleasingClass: 'muuri-item-releasing',\n targetsAreTiddlers: false\n\n };\n\n /**\n * Grid - Private properties\n * *************************\n */\n\n Grid._maxRafBatchSize = 100;\n\n /**\n * Grid - Public prototype methods\n * *******************************\n */\n\n /**\n * Bind an event listener.\n *\n * @public\n * @memberof Grid.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Grid}\n */\n Grid.prototype.on = function (event, listener) {\n\n var inst = this;\n\n if (!inst._isDestroyed) {\n inst._emitter.on(event, listener);\n }\n\n return inst;\n\n };\n\n /**\n * Bind an event listener that is triggered only once.\n *\n * @public\n * @memberof Grid.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Grid}\n */\n Grid.prototype.once = function (event, listener) {\n\n var inst = this;\n\n if (!inst._isDestroyed) {\n inst._emitter.once(event, listener);\n }\n\n return inst;\n\n };\n\n /**\n * Unbind an event listener.\n *\n * @public\n * @memberof Grid.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Grid}\n */\n Grid.prototype.off = function (event, listener) {\n\n var inst = this;\n\n if (!inst._isDestroyed) {\n inst._emitter.off(event, listener);\n }\n\n return inst;\n\n };\n\n /**\n * Get the container element.\n *\n * @public\n * @memberof Grid.prototype\n * @returns {HTMLElement}\n */\n Grid.prototype.getElement = function () {\n\n return this._element;\n\n };\n\n /**\n * Get all items. Optionally you can provide specific targets (elements and\n * indices) and filter the results based on the state of the items. Note that\n * the returned array is not the same object used by the instance so modifying\n * it will not affect instance's items. All items that are not found are\n * omitted from the returned array.\n *\n * @public\n * @memberof Grid.prototype\n * @param {GridMultiItemQuery} [targets]\n * @param {GridItemState} [state]\n * @returns {Item[]}\n */\n Grid.prototype.getItems = function (targets, state) {\n\n var inst = this;\n\n // Return an empty array immediately if the instance is destroyed.\n if (inst._isDestroyed) {\n return [];\n }\n\n var hasTargets = targets === 0 || (targets && typeof targets !== typeString);\n var targetItems = !hasTargets ? null : isNodeList(targets) ? nodeListToArray(targets) : [].concat(targets);\n var targetState = !hasTargets ? targets : state;\n var ret = [];\n var item;\n var i;\n\n // Sanitize target state.\n targetState = typeof targetState === typeString ? targetState : null;\n\n // If target state or target items are defined return filtered results.\n if (targetState || targetItems) {\n targetItems = targetItems || inst._items;\n for (i = 0; i < targetItems.length; i++) {\n item = hasTargets ? inst._getItem(targetItems[i]) : targetItems[i];\n if (item && (!targetState || isItemInState(item, targetState))) {\n ret.push(item);\n }\n }\n return ret;\n }\n\n // Otherwise return all items.\n else {\n return ret.concat(inst._items);\n }\n\n };\n\n /**\n * Update the cached dimensions of the instance's items.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(GridMultiItemQuery|GridItemState)} [items]\n * @returns {Grid}\n */\n Grid.prototype.refreshItems = function (items) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var targetItems = inst.getItems(items || 'active');\n var i;\n\n for (i = 0; i < targetItems.length; i++) {\n targetItems[i]._refreshDimensions();\n }\n\n return inst;\n\n };\n\n /**\n * Update the sort data of the instance's items.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(GridMultiItemQuery|GridItemState)} [items]\n * @returns {Grid}\n */\n Grid.prototype.refreshSortData = function (items) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var targetItems = inst.getItems(items);\n var i;\n\n for (i = 0; i < targetItems.length; i++) {\n targetItems[i]._refreshSortData();\n }\n\n return inst;\n\n };\n\n /**\n * Synchronize the item elements to match the order of the items in the DOM.\n * This comes handy if you need to keep the DOM structure matched with the\n * order of the items. Note that if an item's element is not currently a child\n * of the container element (if it is dragged for example) it is ignored and\n * left untouched.\n *\n * @public\n * @memberof Grid.prototype\n * @returns {Grid}\n */\n Grid.prototype.synchronize = function () {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var container = inst._element;\n var items = inst._items;\n var fragment;\n var element;\n var i;\n\n // Append all elements in order to the container element.\n if (items.length) {\n for (i = 0; i < items.length; i++) {\n element = items[i]._element;\n if (element.parentNode === container) {\n fragment = fragment || doc.createDocumentFragment();\n fragment.appendChild(element);\n }\n }\n if (fragment) {\n container.appendChild(fragment);\n }\n }\n\n // Emit synchronize event.\n inst._emit(evSynchronize);\n\n return inst;\n\n };\n\n /**\n * Calculate and apply item positions.\n *\n * @public\n * @memberof Grid.prototype\n * @param {Boolean} [instant=false]\n * @param {LayoutCallback} [onFinish]\n * @returns {Grid}\n */\n Grid.prototype.layout = function (instant, onFinish) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var callback = typeof instant === typeFunction ? instant : onFinish;\n var isInstant = instant === true;\n var items = inst.getItems('active');\n var layout = inst._layout = new Grid.Layout(inst, items);\n var counter = items.length;\n var isBorderBox;\n var containerStyles;\n var item;\n var position;\n var i;\n\n // The finish function, which will be used for checking if all the items\n // have laid out yet. After all items have finished their animations call\n // callback and emit layoutEnd event. Only emit layoutEnd event if there\n // hasn't been a new layout call during this layout.\n function tryFinish() {\n if (--counter <= 0) {\n if (typeof callback === typeFunction) {\n callback(inst._layout !== layout, items.concat());\n }\n if (inst._layout === layout) {\n inst._emit(evLayoutEnd, items.concat());\n }\n }\n }\n\n // If grid's width or height was modified, we need to update it's cached\n // dimensions. Also keep in mind that grid's cached width/height should\n // always equal to what elem.getBoundingClientRect() would return, so\n // therefore we need to add the grid element's borders to the dimensions if\n // it's box-sizing is border-box.\n if (layout.setWidth || layout.setHeight) {\n\n containerStyles = {};\n isBorderBox = getStyle(inst._element, 'box-sizing') === 'border-box';\n\n if (layout.setHeight) {\n if (typeof layout.height === typeNumber) {\n containerStyles.height = (isBorderBox ? layout.height + inst._border.top + inst._border.bottom : layout.height) + 'px';\n }\n else {\n containerStyles.height = layout.height;\n }\n }\n\n if (layout.setWidth) {\n if (typeof layout.width === typeNumber) {\n containerStyles.width = (isBorderBox ? layout.width + inst._border.left + inst._border.right : layout.width) + 'px';\n }\n else {\n containerStyles.width = layout.width;\n }\n }\n\n setStyles(inst._element, containerStyles);\n\n }\n\n // Emit layoutStart event. Note that this is intentionally emitted after the\n // container element's dimensions are set, because otherwise there would be\n // no hook for reacting to container dimension changes.\n inst._emit(evLayoutStart, items.concat());\n\n // If there are no items let's finish quickly.\n if (!items.length) {\n tryFinish();\n return inst;\n }\n\n // If there are items let's position them.\n for (i = 0; i < items.length; i++) {\n\n item = items[i];\n position = layout.slots[item._id];\n\n // Update item's position.\n item._left = position.left;\n item._top = position.top;\n\n // Layout non-dragged items.\n if (item.isDragging()) {\n tryFinish(true, item);\n }\n else {\n item._layout(isInstant, tryFinish);\n }\n\n }\n\n return inst;\n\n };\n\n /**\n * Add new items by providing the elements you wish to add to the instance and\n * optionally provide the index where you want the items to be inserted into.\n * All elements that are not already children of the container element will be\n * automatically appended to the container element. If an element has it's CSS\n * display property set to \"none\" it will be marked as inactive during the\n * initiation process. As long as the item is inactive it will not be part of\n * the layout, but it will retain it's index. You can activate items at any\n * point with grid.show() method. This method will automatically call\n * grid.layout() if one or more of the added elements are visible. If only\n * hidden items are added no layout will be called. All the new visible items\n * are positioned without animation during their first layout.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(HTMLElement|HTMLElement[])} elements\n * @param {Object} [options]\n * @param {Number} [options.index=-1]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Item[]}\n */\n Grid.prototype.add = function (elements, options) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return [];\n }\n\n var targetElements = isNodeList(elements) ? nodeListToArray(elements) : [].concat(elements);\n var newItems = [];\n\n // Return early if there are no items.\n if (!targetElements.length) {\n return newItems;\n }\n\n var opts = options || {};\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var items = inst._items;\n var needsLayout = false;\n var elementIndex;\n var item;\n var i;\n\n // Filter out all elements that exist already in current instance.\n // TODO: This filtering can be made a lot faster by storing item elements\n // in a Map or WeakMap. Other option would be to transfer the reponsibility\n // completely to the user and get rid of this sanity check.\n for (i = 0; i < items.length; i++) {\n elementIndex = targetElements.indexOf(items[i]._element);\n if (elementIndex > -1) {\n targetElements.splice(elementIndex, 1);\n\n if (!targetElements.length) {\n return newItems;\n }\n }\n }\n\n var lastElement;\n\n // Create new items.\n for (i = 0; i < targetElements.length; i++) {\n\n item = new Grid.Item(inst, targetElements[i]);\n newItems.push(item);\n\n\n // If the item to be added is active, we need to do a layout. Also, we\n // need to mark the item with the skipNextLayoutAnimation flag to make it\n // position instantly (without animation) during the next layout. Without\n // the hack the item would animate to it's new position from the northwest\n // corner of the grid, which feels a bit buggy (imho).\n if (item._isActive) {\n needsLayout = true;\n item._skipNextLayoutAnimation = true;\n }\n\n if ( i === (targetElements.length -1) ) {\n lastElement = targetElements[i];\n }\n\n }\n\n // Add the new items to the items collection to correct index.\n insertItemsToArray(items, newItems, opts.index);\n\n // Emit add event.\n inst._emit(evAdd, newItems.concat());\n\n // If layout is needed.\n if (needsLayout && layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n //lastElement.scrollIntoView(); //HACK\n\n // Return new items.\n return newItems;\n\n };\n\n /**\n * Remove items from the instance.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(GridMultiItemQuery|GridItemState)} items\n * @param {Object} [options]\n * @param {Boolean} [options.removeElements=false]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Item[]}\n */\n Grid.prototype.remove = function (items, options) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var opts = options || {};\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var needsLayout = false;\n var targetItems = inst.getItems(items);\n var item;\n var i;\n\n // Remove the individual items.\n for (i = 0; i < targetItems.length; i++) {\n item = targetItems[i];\n if (item._isActive) {\n needsLayout = true;\n }\n item._destroy(opts.removeElements);\n }\n\n // Emit remove event.\n inst._emit(evRemove, targetItems.concat());\n\n // If layout is needed.\n if (needsLayout && layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n return targetItems;\n\n };\n\n /**\n * Show instance items.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(GridMultiItemQuery|GridItemState)} items\n * @param {Object} [options]\n * @param {Boolean} [options.instant=false]\n * @param {ShowCallback} [options.onFinish]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n Grid.prototype.show = function (items, options) {\n\n return this._isDestroyed ? this : gridShowHideHandler(this, 'show', items, options);\n\n };\n\n /**\n * Hide instance items.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(GridMultiItemQuery|GridItemState)} items\n * @param {Object} [options]\n * @param {Boolean} [options.instant=false]\n * @param {HideCallback} [options.onFinish]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n Grid.prototype.hide = function (items, options) {\n\n return this._isDestroyed ? this : gridShowHideHandler(this, 'hide', items, options);\n\n };\n\n /**\n * Filter items. Expects at least one argument, a predicate, which should be\n * either a function or a string. The predicate callback is executed for every\n * item in the instance. If the return value of the predicate is truthy the\n * item in question will be shown and otherwise hidden. The predicate callback\n * receives the item instance as it's argument. If the predicate is a string\n * it is considered to be a selector and it is checked against every item\n * element in the instance with the native element.matches() method. All the\n * matching items will be shown and others hidden.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(Function|String)} predicate\n * @param {Object} [options]\n * @param {Boolean} [options.instant=false]\n * @param {FilterCallback} [options.onFinish]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n Grid.prototype.filter = function (predicate, options) {\n\n var inst = this;\n\n // Return immediately if there are no items or if the instance id destroyed.\n if (inst._isDestroyed || !inst._items.length) {\n return inst;\n }\n\n var items = inst._items;\n var predicateType = typeof predicate;\n var isPredicateString = predicateType === typeString;\n var isPredicateFn = predicateType === typeFunction;\n var opts = options || {};\n var isInstant = opts.instant === true;\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var onFinish = typeof opts.onFinish === typeFunction ? opts.onFinish : null;\n var itemsToShow = [];\n var itemsToHide = [];\n var tryFinishCounter = -1;\n var tryFinish = !onFinish ? noop : function () {\n ++tryFinishCounter && onFinish(itemsToShow.concat(), itemsToHide.concat());\n };\n var item;\n var i;\n\n // Check which items need to be shown and which hidden.\n if (isPredicateFn || isPredicateString) {\n for (i = 0; i < items.length; i++) {\n item = items[i];\n if (isPredicateFn ? predicate(item) : elementMatches(item._element, predicate)) {\n itemsToShow.push(item);\n }\n else {\n itemsToHide.push(item);\n }\n }\n }\n\n // Show items that need to be shown.\n if (itemsToShow.length) {\n inst.show(itemsToShow, {\n instant: isInstant,\n onFinish: tryFinish,\n layout: false\n });\n }\n else {\n tryFinish();\n }\n\n // Hide items that need to be hidden.\n if (itemsToHide.length) {\n inst.hide(itemsToHide, {\n instant: isInstant,\n onFinish: tryFinish,\n layout: false\n });\n }\n else {\n tryFinish();\n }\n\n // If there are any items to filter.\n if (itemsToShow.length || itemsToHide.length) {\n\n // Emit filter event.\n inst._emit(evFilter, itemsToShow.concat(), itemsToHide.concat());\n\n // If layout is needed.\n if (layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n }\n\n return inst;\n\n };\n\n /**\n * Sort items. There are three ways to sort the items. The first is simply by\n * providing a function as the comparer which works identically to native\n * array sort. Alternatively you can sort by the sort data you have provided\n * in the instance's options. Just provide the sort data key(s) as a string\n * (separated by space) and the items will be sorted based on the provided\n * sort data keys. Lastly you have the opportunity to provide a presorted\n * array of items which will be used to sync the internal items array in the\n * same order.\n *\n * @public\n * @memberof Grid.prototype\n * @param {(Function|Item[]|String|String[])} comparer\n * @param {Object} [options]\n * @param {Boolean} [options.descending=false]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n Grid.prototype.sort = function (comparer, options) {\n\n var inst = this;\n\n // Let's not sort if it has no effect.\n if (inst._isDestroyed || inst._items.length < 2) {\n return inst;\n }\n\n var items = inst._items;\n var opts = options || {};\n var isDescending = !!opts.descending;\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var origItems = items.concat();\n var indexMap;\n\n // If function is provided do a native array sort.\n if (typeof comparer === typeFunction) {\n items.sort(function (a, b) {\n var result = comparer(a, b);\n return (isDescending && result !== 0 ? -result : result) || compareItemIndices(a, b, isDescending, indexMap || (indexMap = getItemIndexMap(origItems)));\n });\n }\n\n // Otherwise if we got a string, let's sort by the sort data as provided in\n // the instance's options.\n else if (typeof comparer === typeString) {\n comparer = comparer.trim().split(' ').map(function (val) {\n return val.split(':');\n });\n items.sort(function (a, b) {\n return compareItems(a, b, isDescending, comparer) || compareItemIndices(a, b, isDescending, indexMap || (indexMap = getItemIndexMap(origItems)));\n });\n }\n\n // Otherwise if we got an array, let's assume it's a presorted array of the\n // items and order the items based on it.\n else if (Array.isArray(comparer)) {\n sortItemsByReference(items, comparer);\n if (isDescending) {\n items.reverse();\n }\n }\n\n // Otherwise, let's go home.\n else {\n return inst;\n }\n\n // Emit sort event.\n inst._emit(evSort, items.concat(), origItems);\n\n // If layout is needed.\n if (layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n return inst;\n\n };\n\n /**\n * Move item to another index or in place of another item.\n *\n * @public\n * @memberof Grid.prototype\n * @param {GridSingleItemQuery} item\n * @param {GridSingleItemQuery} position\n * @param {Object} [options]\n * @param {String} [options.action=\"move\"]\n * - Accepts either \"move\" or \"swap\".\n * - \"move\" moves the item in place of the other item.\n * - \"swap\" swaps the position of the items.\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n Grid.prototype.move = function (item, position, options) {\n\n var inst = this;\n\n // Return immediately, if moving an item is not possible.\n if (inst._isDestroyed || inst._items.length < 2) {\n return inst;\n }\n\n var items = inst._items;\n var opts = options || {};\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var isSwap = opts.action === 'swap';\n var action = isSwap ? 'swap' : 'move';\n var fromItem = inst._getItem(item);\n var toItem = inst._getItem(position);\n var fromIndex;\n var toIndex;\n\n // Make sure the items exist and are not the same.\n if (fromItem && toItem && (fromItem !== toItem)) {\n\n // Get the indices of the items.\n fromIndex = items.indexOf(fromItem);\n toIndex = items.indexOf(toItem);\n\n // Do the move/swap.\n (isSwap ? arraySwap : arrayMove)(items, fromIndex, toIndex);\n\n // Emit move event.\n inst._emit(evMove, {\n item: fromItem,\n fromIndex: fromIndex,\n toIndex: toIndex,\n action: action\n });\n\n // If layout is needed.\n if (layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n }\n\n return inst;\n\n };\n\n /**\n * Send item to another Grid instance.\n *\n * @public\n * @memberof Grid.prototype\n * @param {GridSingleItemQuery} item\n * @param {Grid} grid\n * @param {GridSingleItemQuery} position\n * @param {Object} [options]\n * @param {HTMLElement} [options.appendTo=document.body]\n * @param {(Boolean|LayoutCallback|String)} [options.layoutSender=true]\n * @param {(Boolean|LayoutCallback|String)} [options.layoutReceiver=true]\n * @returns {Grid}\n */\n Grid.prototype.send = function (item, grid, position, options) {\n\n var currentGrid = this;\n\n // Return immediately if either grid is destroyed or if the grids are the\n // same, or if target item was not found.\n if (currentGrid._isDestroyed || grid._isDestroyed || currentGrid === grid || !(item = currentGrid._getItem(item))) {\n return currentGrid;\n }\n\n var targetGrid = grid;\n var opts = options || {};\n var container = opts.appendTo || body;\n var layoutSender = opts.layoutSender ? opts.layoutSender : opts.layoutSender === undefined;\n var layoutReceiver = opts.layoutReceiver ? opts.layoutReceiver : opts.layoutReceiver === undefined;\n\n // Start the migration process.\n item._migrate.start(targetGrid, position, container);\n\n // If migration was started succesfully and the item is active, let's layout\n // the grids.\n if (item._migrate.isActive && item.isActive()) {\n if (layoutSender) {\n currentGrid.layout(layoutSender === 'instant', typeof layoutSender === typeFunction ? layoutSender : undefined);\n }\n if (layoutReceiver) {\n targetGrid.layout(layoutReceiver === 'instant', typeof layoutReceiver === typeFunction ? layoutReceiver : undefined);\n }\n }\n\n return currentGrid;\n\n };\n\n /**\n * Destroy the instance.\n *\n * @public\n * @memberof Grid.prototype\n * @param {Boolean} [removeElements=false]\n * @returns {Grid}\n */\n Grid.prototype.destroy = function (removeElements) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var container = inst._element;\n var items = inst._items.concat();\n var i;\n\n // Unbind window resize event listener.\n if (inst._resizeHandler) {\n global.removeEventListener('resize', inst._resizeHandler);\n }\n\n // Destroy items.\n for (i = 0; i < items.length; i++) {\n items[i]._destroy(removeElements);\n }\n\n // Restore container.\n removeClass(container, inst._settings.containerClass);\n setStyles(container, {height: ''});\n\n // Emit destroy event and unbind all events.\n inst._emit(evDestroy);\n inst._emitter.destroy();\n\n // Remove reference from the grid instances collection.\n gridInstances[inst._id] = undefined;\n\n // Flag instance as destroyed.\n inst._isDestroyed = true;\n\n return inst;\n\n };\n\n /**\n * Grid - Protected prototype methods\n * **********************************\n */\n\n /**\n * Get instance's item by element or by index. Target can also be an Item\n * instance in which case the function returns the item if it exists within\n * related Grid instance. If nothing is found with the provided target, null\n * is returned.\n *\n * @protected\n * @memberof Grid.prototype\n * @param {GridSingleItemQuery} [target=0]\n * @returns {?Item}\n */\n Grid.prototype._getItem = function (target) {\n\n var inst = this;\n var items = inst._items;\n var i;\n\n // If no target is specified or the instance is destroyed, return the first\n // item or null.\n if (inst._isDestroyed || !target) {\n return items[0] || null;\n }\n\n // If target is number return the item in that index. If the number is lower\n // than zero look for the item starting from the end of the items array. For\n // example -1 for the last item, -2 for the second last item, etc.\n else if (typeof target === typeNumber) {\n return items[target > -1 ? target : items.length + target] || null;\n }\n\n // If the target is an instance of Item return it if it is attached to this\n // Grid instance, otherwise return null.\n else if (target instanceof Item) {\n return target._gridId === inst._id ? target : null;\n }\n\n // In other cases let's assume that the target is an element, so let's try\n // to find an item that matches the element and return it. If item is not\n // found return null.\n else {\n // TODO: This could be made a lot faster by using WeakMap or Map.\n for (i = 0; i < items.length; i++) {\n if (items[i]._element === target) {\n return items[i];\n }\n }\n return null;\n }\n\n };\n\n /**\n * Bind an event listener.\n *\n * @protected\n * @memberof Grid.prototype\n * @param {String} event\n * @param {*} [arg1]\n * @param {*} [arg2]\n * @param {*} [arg3]\n * @returns {Grid}\n */\n Grid.prototype._emit = function () {\n\n var inst = this;\n\n if (!inst._isDestroyed) {\n inst._emitter.emit.apply(inst._emitter, arguments);\n }\n\n return inst;\n\n };\n\n /**\n * Refresh container's internal dimensions.\n *\n * @private\n * @memberof Grid.prototype\n * @returns {Grid}\n */\n Grid.prototype._refreshDimensions = function () {\n\n var inst = this;\n var element = inst._element;\n\n // refreshTiddlerClasses(element);\n\n var rect = element.getBoundingClientRect();\n var sides = ['left', 'right', 'top', 'bottom'];\n var i;\n\n inst._width = rect.width;\n inst._height = rect.height;\n inst._left = rect.left;\n inst._top = rect.top;\n inst._border = {};\n\n for (i = 0; i < sides.length; i++) {\n inst._border[sides[i]] = getStyleAsFloat(element, 'border-' + sides[i] + '-width');\n }\n\n return inst;\n\n };\n\n /**\n * Item\n * ****\n */\n\n /**\n * Creates a new Item instance for a Grid instance.\n *\n * @public\n * @class\n * @param {Grid} grid\n * @param {HTMLElement} element\n */\n function Item(grid, element) {\n\n var inst = this;\n var settings = grid._settings;\n var isHidden;\n\n // Create instance id and add item to the itemInstances collection.\n inst._id = ++uuid;\n itemInstances[inst._id] = inst;\n\n // Destroyed flag.\n inst._isDestroyed = false;\n\n // If the provided item element is not a direct child of the grid container\n // element, append it to the grid container.\n if (element.parentNode !== grid._element) {\n grid._element.appendChild(element);\n }\n\n // Set item class.\n addClass(element, settings.itemClass);\n\n // Check if the element is hidden.\n isHidden = getStyle(element, 'display') === 'none';\n\n // Set visible/hidden class.\n addClass(element, isHidden ? settings.itemHiddenClass : settings.itemVisibleClass);\n\n // Refrence to connected Grid instance's id.\n inst._gridId = grid._id;\n\n // The elements.\n inst._element = element;\n inst._child = element.children[0];\n\n // Initiate item's animation controllers.\n inst._animate = new Grid.ItemAnimate(inst, element);\n inst._animateChild = new Grid.ItemAnimate(inst, inst._child);\n\n // Set up active state (defines if the item is considered part of the layout\n // or not).\n inst._isActive = isHidden ? false : true;\n\n // Set up positioning state (defines if the item is currently animating\n // it's position).\n inst._isPositioning = false;\n\n // Set up visibility states.\n inst._isHidden = isHidden;\n inst._isHiding = false;\n inst._isShowing = false;\n\n // Visibility animation callback queue. Whenever a callback is provided for\n // show/hide methods and animation is enabled the callback is stored\n // temporarily to this array. The callbacks are called with the first\n // argument as false if the animation succeeded without interruptions and\n // with the first argument as true if the animation was interrupted.\n inst._visibilityQueue = [];\n\n // Layout animation callback queue. Whenever a callback is provided for\n // layout method and animation is enabled the callback is stored temporarily\n // to this array. The callbacks are called with the first argument as false\n // if the animation succeeded without interruptions and with the first\n // argument as true if the animation was interrupted.\n inst._layoutQueue = [];\n\n // Set up initial positions.\n inst._left = 0;\n inst._top = 0;\n\n // Set element's initial styles.\n setStyles(element, {\n left: '0',\n top: '0',\n transform: getTranslateString(0, 0),\n display: isHidden ? 'none' : 'block'\n });\n\n // Set up the initial dimensions and sort data.\n inst._refreshDimensions()._refreshSortData();\n\n // Set initial styles for the child element.\n if (isHidden) {\n grid._itemHideHandler.start(inst, true);\n }\n else {\n grid._itemShowHandler.start(inst, true);\n }\n\n // Set up migration handler data.\n inst._migrate = new Grid.ItemMigrate(inst);\n\n // Set up release handler\n inst._release = new Grid.ItemRelease(inst);\n\n // Set up drag handler.\n inst._drag = settings.dragEnabled ? new Grid.ItemDrag(inst) : null;\n\n //refreshTiddlerClasses(element);\n\n }\n\n /**\n * Item - Public prototype methods\n * *******************************\n */\n\n /**\n * Get the instance grid reference.\n *\n * @public\n * @memberof Item.prototype\n * @returns {Grid}\n */\n Item.prototype.getGrid = function () {\n\n return gridInstances[this._gridId];\n\n };\n\n /**\n * Get the instance element.\n *\n * @public\n * @memberof Item.prototype\n * @returns {HTMLElement}\n */\n Item.prototype.getElement = function () {\n\n return this._element;\n\n };\n\n /**\n * Get instance element's cached width.\n *\n * @public\n * @memberof Item.prototype\n * @returns {Number}\n */\n Item.prototype.getWidth = function () {\n\n return this._width;\n\n };\n\n /**\n * Get instance element's cached height.\n *\n * @public\n * @memberof Item.prototype\n * @returns {Number}\n */\n Item.prototype.getHeight = function () {\n\n return this._height;\n\n };\n\n /**\n * Get instance element's cached margins.\n *\n * @public\n * @memberof Item.prototype\n * @returns {Object}\n * - The returned object contains left, right, top and bottom properties\n * which indicate the item element's cached margins.\n */\n Item.prototype.getMargin = function () {\n\n return {\n left: this._margin.left,\n right: this._margin.right,\n top: this._margin.top,\n bottom: this._margin.bottom\n };\n\n };\n\n /**\n * Get instance element's cached position.\n *\n * @public\n * @memberof Item.prototype\n * @returns {Object}\n * - The returned object contains left and top properties which indicate the\n * item element's cached position in the grid.\n */\n Item.prototype.getPosition = function () {\n\n return {\n left: this._left,\n top: this._top\n };\n\n };\n\n /**\n * Is the item active?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isActive = function () {\n\n return this._isActive;\n\n };\n\n /**\n * Is the item visible?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isVisible = function () {\n\n return !this._isHidden;\n\n };\n\n /**\n * Is the item being animated to visible?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isShowing = function () {\n\n return this._isShowing;\n\n };\n\n /**\n * Is the item being animated to hidden?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isHiding = function () {\n\n return this._isHiding;\n\n };\n\n /**\n * Is the item positioning?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isPositioning = function () {\n\n return this._isPositioning;\n\n };\n\n /**\n * Is the item being dragged?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isDragging = function () {\n\n return !!this._drag && this._drag._data.isActive;\n\n };\n\n /**\n * Is the item being released?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isReleasing = function () {\n\n return this._release.isActive;\n\n };\n\n /**\n * Is the item destroyed?\n *\n * @public\n * @memberof Item.prototype\n * @returns {Boolean}\n */\n Item.prototype.isDestroyed = function () {\n\n return this._isDestroyed;\n\n };\n\n function refreshTiddlerClasses(element) {\n var viewPortHeightPX = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n var viewPortHeight = parseInt(viewPortHeightPX, 10);\n var viewPortWidthPX = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n var viewPortWidth = parseInt(viewPortWidthPX, 10);\n var viewPortProp = (viewPortWidth / viewPortHeight)\n\nfunction hasClass(element, tiddlerclass) {\n return (' ' + element.className + ' ').indexOf(' ' + tiddlerclass + ' ') > -1;\n}\n\n\n var itemHeight = getStyleAsFloat(element, \"height\"),//parseInt(document.getComputedStyle(element,null).getPropertyValue(\"height\"), 10),\n itemWidth = getStyleAsFloat(element, \"width\"),// parseInt(document.getComputedStyle(element,null).getPropertyValue(\"width\"), 10),\n widthHeightProp = (itemWidth / itemHeight),\n tiddlerClasses = [\"span-2\", \"span-3\", \"span-4\", \"span-6\", \"span-9\", \"span-12\"],\n tiddlerClassesHigh = [\"span-3\", \"span-4\", \"span-6\", \"span-6\", \"span-9\", \"span-12\"];\nif (viewPortProp > 1) {\n if (widthHeightProp < 0.5 && itemHeight >= (viewPortHeight * 2) && !hasClass(element,\"span-9\")) {\n addClass(element,\"span-9\");\n removeClass(element,\"span-2\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-4\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-12\");\n } else if (widthHeightProp < 0.5 && itemHeight > viewPortHeight && itemHeight <= (viewPortHeight * 2) && !hasClass(element,\"span-6\")) {\n addClass(element,\"span-6\");\n removeClass(element,\"span-2\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-4\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-12\");\n } else if (widthHeightProp < 0.5 && itemHeight > ((viewPortHeight / 3) * 2) && itemHeight < viewPortHeight && !hasClass(element,\"span-4\")) {\n addClass(element,\"span-4\");\n removeClass(element,\"span-2\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-12\");\n } else if (widthHeightProp < 0.5 && itemHeight >= (viewPortHeight / 3) && itemHeight < ((viewPortHeight / 3) * 2) && !hasClass(element,\"span-3\")) {\n addClass(element,\"span-3\");\n removeClass(element,\"span-2\");\n removeClass(element, \"span-4\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-12\");\n } else if (widthHeightProp > 1.9 && itemHeight < (viewPortHeight / 4) && !hasClass(element,\"span-2\")) {\n addClass(element,\"span-2\");\n removeClass(element,\"span-3\");\n removeClass(element, \"span-4\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-12\");\n }\n }\n\n\nreturn;\n}\n\n\n /**\n * Item - Protected prototype methods\n * **********************************\n */\n\n /**\n * Recalculate item's dimensions.\n *\n * @protected\n * @memberof Item.prototype\n * @returns {Item}\n */\n Item.prototype._refreshDimensions = function () {\n\n var inst = this;\n\n if (inst._isDestroyed || inst._isHidden) {\n return inst;\n }\n\n var element = inst._element;\n\n //refreshTiddlerClasses(element);\n\n var rect = element.getBoundingClientRect();\n var sides = ['left', 'right', 'top', 'bottom'];\n var margin = inst._margin = inst._margin || {};\n var side;\n var i;\n\n // Calculate width and height.\n inst._width = rect.width;\n inst._height = rect.height;\n\n // Calculate margins (ignore negative margins).\n for (i = 0; i < 4; i++) {\n side = getStyleAsFloat(element, 'margin-' + sides[i]);\n margin[sides[i]] = side > 0 ? side : 0;\n }\n\n return inst;\n\n };\n\n /**\n * Fetch and store item's sort data.\n *\n * @protected\n * @memberof Item.prototype\n * @returns {Item}\n */\n Item.prototype._refreshSortData = function () {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var sortData = {};\n var getters = inst.getGrid()._settings.sortData;\n\n // Fetch sort data.\n if (getters) {\n Object.keys(getters).forEach(function (key) {\n sortData[key] = getters[key](inst, inst._element);\n });\n }\n\n // Store sort data to the instance.\n inst._sortData = sortData;\n\n return inst;\n\n };\n\n /**\n * Position item based on it's current data.\n *\n * @protected\n * @memberof Item.prototype\n * @param {Boolean} instant\n * @param {Function} [onFinish]\n * @returns {Item}\n */\n Item.prototype._layout = function (instant, onFinish) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var element = inst._element;\n var isPositioning = inst._isPositioning;\n var migrate = inst._migrate;\n var release = inst._release;\n var isJustReleased = release.isActive && release.isPositioningStarted === false;\n var grid = inst.getGrid();\n var settings = grid._settings;\n var animDuration = isJustReleased ? settings.dragReleaseDuration : settings.layoutDuration;\n var animEasing = isJustReleased ? settings.dragReleaseEasing : settings.layoutEasing;\n var animEnabled = !instant && !inst._skipNextLayoutAnimation && animDuration > 0;\n var isAnimating;\n var offsetLeft;\n var offsetTop;\n var currentLeft;\n var currentTop;\n var targetStyles;\n\n // If the item is currently positioning process current layout callback\n // queue with interrupted flag on if the item is currently positioning.\n if (isPositioning) {\n processQueue(inst._layoutQueue, true, inst);\n }\n\n // Mark release positioning as started.\n if (isJustReleased) {\n release.isPositioningStarted = true;\n }\n\n // Push the callback to the callback queue.\n if (typeof onFinish === typeFunction) {\n inst._layoutQueue.push(onFinish);\n }\n\n // Get item container offsets and target styles.\n offsetLeft = release.isActive ? release.containerDiffX : migrate.isActive ? migrate.containerDiffX : 0;\n offsetTop = release.isActive ? release.containerDiffY : migrate.isActive ? migrate.containerDiffY : 0;\n targetStyles = {transform: getTranslateString(inst._left + offsetLeft, inst._top + offsetTop)};\n\n // If no animations are needed, easy peasy!\n if (!animEnabled) {\n isPositioning && rafLoop.cancel(rafQueueLayout, inst._id);\n isAnimating = inst._animate.isAnimating();\n inst._stopLayout(false, targetStyles);\n !isAnimating && setStyles(element, targetStyles);\n inst._skipNextLayoutAnimation = false;\n return inst._finishLayout();\n }\n\n // Set item as positioning.\n inst._isPositioning = true;\n\n // Get the element's current left and top position in the read callback.\n // Then in the write callback do the animation if necessary.\n rafLoop.add(rafQueueLayout, inst._id, function () {\n currentLeft = getTranslateAsFloat(element, 'x') - offsetLeft;\n currentTop = getTranslateAsFloat(element, 'y') - offsetTop;\n }, function () {\n\n // If the item is already in correct position let's quit early.\n if (inst._left === currentLeft && inst._top === currentTop) {\n isPositioning && inst._stopLayout(false, targetStyles);\n inst._isPositioning = false;\n return inst._finishLayout();\n }\n\n // Set item's positioning class.\n !isPositioning && addClass(element, settings.itemPositioningClass);\n\n // Animate.\n inst._animate.start(\n {transform: getTranslateString(currentLeft + offsetLeft, currentTop + offsetTop)},\n targetStyles,\n {\n duration: animDuration,\n easing: animEasing,\n onFinish: function () {\n inst._finishLayout();\n }\n }\n );\n\n });\n\n return inst;\n\n };\n\n /**\n * Position item based on it's current data.\n *\n * @protected\n * @memberof Item.prototype\n * @returns {Item}\n */\n Item.prototype._finishLayout = function () {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n // Mark the item as not positioning and remove positioning classes.\n if (inst._isPositioning) {\n inst._isPositioning = false;\n removeClass(inst._element, inst.getGrid()._settings.itemPositioningClass);\n }\n\n // Finish up release.\n if (inst._release.isActive) {\n inst._release.stop();\n }\n\n // Finish up migration.\n if (inst._migrate.isActive) {\n inst._migrate.stop();\n }\n\n // Process the callback queue.\n processQueue(inst._layoutQueue, false, inst);\n\n return inst;\n\n };\n\n /**\n * Stop item's position animation if it is currently animating.\n *\n * @protected\n * @memberof Item.prototype\n * @param {Boolean} [processLayoutQueue=false]\n * @param {Object} [targetStyles]\n * @returns {Item}\n */\n Item.prototype._stopLayout = function (processLayoutQueue, targetStyles) {\n\n var inst = this;\n\n if (inst._isDestroyed || !inst._isPositioning) {\n return inst;\n }\n\n // Cancel animation init.\n rafLoop.cancel(rafQueueLayout, inst._id);\n\n // Stop animation.\n inst._animate.stop(targetStyles);\n\n // Remove positioning class.\n removeClass(inst._element, inst.getGrid()._settings.itemPositioningClass);\n\n // Reset state.\n inst._isPositioning = false;\n\n // Process callback queue.\n if (processLayoutQueue) {\n processQueue(inst._layoutQueue, true, inst);\n }\n\n return inst;\n\n };\n\n Item.prototype._show = function (instant, onFinish) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var element = inst._element;\n var queue = inst._visibilityQueue;\n var callback = typeof onFinish === typeFunction ? onFinish : null;\n var grid = inst.getGrid();\n var settings = grid._settings;\n\n // If item is visible call the callback and be done with it.\n if (!inst._isShowing && !inst._isHidden) {\n callback && callback(false, inst);\n return inst;\n }\n\n // If item is showing and does not need to be shown instantly, let's just\n // push callback to the callback queue and be done with it.\n if (inst._isShowing && !instant) {\n callback && queue.push(callback);\n return inst;\n }\n\n // If the item is hiding or hidden process the current visibility callback\n // queue with the interrupted flag active, update classes and set display\n // to block if necessary.\n if (!inst._isShowing) {\n processQueue(queue, true, inst);\n removeClass(element, settings.itemHiddenClass);\n addClass(element, settings.itemVisibleClass);\n !inst._isHiding && setStyles(element, {display: 'block'});\n }\n\n // Push callback to the callback queue.\n callback && queue.push(callback);\n\n // Update item's internal states.\n inst._isActive = inst._isShowing = true;\n inst._isHiding = inst._isHidden = false;\n\n // If we need to show instantly.\n if (instant) {\n grid._itemShowHandler.stop(inst, settings.visibleStyles);\n inst._isShowing = false;\n processQueue(queue, false, inst);\n }\n\n // If we need to animate.\n else {\n grid._itemShowHandler.start(inst, instant, function () {\n if (!inst._isHidden) {\n inst._isShowing = false;\n processQueue(queue, false, inst);\n }\n });\n }\n\n return inst;\n\n };\n\n /**\n * Hide item.\n *\n * @protected\n * @memberof Item.prototype\n * @param {Boolean} instant\n * @param {Function} [onFinish]\n * @returns {Item}\n */\n Item.prototype._hide = function (instant, onFinish) {\n\n var inst = this;\n\n // Return immediately if the instance is destroyed.\n if (inst._isDestroyed) {\n return inst;\n }\n\n var element = inst._element;\n var queue = inst._visibilityQueue;\n var callback = typeof onFinish === typeFunction ? onFinish : null;\n var grid = inst.getGrid();\n var settings = grid._settings;\n\n // If item is already hidden call the callback and be done with it.\n if (!inst._isHiding && inst._isHidden) {\n callback && callback(false, inst);\n return inst;\n }\n\n // If item is hiding and does not need to be hidden instantly, let's just\n // push callback to the callback queue and be done with it.\n if (inst._isHiding && !instant) {\n callback && queue.push(callback);\n return inst;\n }\n\n // If the item is showing or visible process the current visibility callback\n // queue with the interrupted flag active, update classes and set display\n // to block if necessary.\n if (!inst._isHiding) {\n processQueue(queue, true, inst);\n addClass(element, settings.itemHiddenClass);\n removeClass(element, settings.itemVisibleClass);\n }\n\n // Push callback to the callback queue.\n callback && queue.push(callback);\n\n // Update item's internal states.\n inst._isHidden = inst._isHiding = true;\n inst._isActive = inst._isShowing = false;\n\n // If we need to hide instantly.\n if (instant) {\n grid._itemHideHandler.stop(inst, settings.hiddenStyles);\n inst._isHiding = false;\n inst._stopLayout(true, {transform: getTranslateString(0, 0)});\n setStyles(element, {display: 'none'});\n processQueue(queue, false, inst);\n }\n\n // If we need to animate.\n else {\n grid._itemHideHandler.start(inst, instant, function () {\n if (inst._isHidden) {\n inst._isHiding = false;\n inst._stopLayout(true, {transform: getTranslateString(0, 0)});\n setStyles(element, {display: 'none'});\n processQueue(queue, false, inst);\n }\n });\n }\n\n return inst;\n\n };\n\n /**\n * Destroy item instance.\n *\n * @protected\n * @memberof Item.prototype\n * @param {Boolean} [removeElement=false]\n * @returns {Item}\n */\n Item.prototype._destroy = function (removeElement) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var element = inst._element;\n var grid = inst.getGrid();\n var settings = grid._settings;\n var index = grid._items.indexOf(inst);\n\n // Destroy release and migration.\n inst._release.destroy();\n inst._migrate.destroy();\n\n // Stop animations.\n inst._stopLayout(true, {});\n grid._itemShowHandler.stop(inst, {});\n grid._itemHideHandler.stop(inst, {});\n\n // Destroy drag.\n inst._drag && inst._drag.destroy();\n\n // Destroy animation handlers.\n inst._animate.destroy();\n inst._animateChild.destroy();\n\n // Handle visibility callback queue, fire all uncompleted callbacks with\n // interrupted flag.\n processQueue(inst._visibilityQueue, true, inst);\n\n // Remove all inline styles.\n element.removeAttribute('style');\n inst._child.removeAttribute('style');\n\n // Remove classes.\n removeClass(element, settings.itemPositioningClass);\n removeClass(element, settings.itemDraggingClass);\n removeClass(element, settings.itemReleasingClass);\n removeClass(element, settings.itemClass);\n removeClass(element, settings.itemVisibleClass);\n removeClass(element, settings.itemHiddenClass);\n\n // Remove item from Grid instance if it still exists there.\n index > -1 && grid._items.splice(index, 1);\n\n // Remove element from DOM.\n removeElement && element.parentNode.removeChild(element);\n\n // Remove item instance from the item instances collection.\n itemInstances[inst._id] = undefined;\n\n // Update item states (mostly just for good measure).\n inst._isActive = inst._isPositioning = inst._isHiding = inst._isShowing = false;\n inst._isDestroyed = inst._isHidden = true;\n\n return inst;\n\n };\n\n /**\n * Layout\n * ******\n */\n\n /**\n * Creates a new Layout instance.\n *\n * @public\n * @class\n * @param {Grid} grid\n * @param {Item[]} items\n */\n function Layout(grid, items) {\n\n var inst = this;\n var layoutSettings = grid._settings.layout;\n\n // Clone items.\n items = items.concat();\n\n // Let's make sure we have the correct container dimensions before going\n // further.\n grid._refreshDimensions();\n\n var width = grid._width - grid._border.left - grid._border.right;\n var height = grid._height - grid._border.top - grid._border.bottom;\n var isCustomLayout = typeof layoutSettings === typeFunction;\n var layout = isCustomLayout ? layoutSettings(items, width, height) :\n muuriLayout(items, width, height, isPlainObject(layoutSettings) ? layoutSettings : {});\n\n // Set instance data based on layout data.\n inst.slots = layout.slots;\n inst.setWidth = layout.setWidth || false;\n inst.setHeight = layout.setHeight || false;\n inst.width = layout.width;\n inst.height = layout.height;\n\n }\n\n /**\n * Emitter\n * *******\n */\n\n /**\n * Event emitter constructor.\n *\n * @public\n * @class\n */\n function Emitter() {\n\n this._events = {};\n this._isDestroyed = false;\n\n }\n\n /**\n * Emitter - Public prototype methods\n * **********************************\n */\n\n /**\n * Bind an event listener.\n *\n * @public\n * @memberof Emitter.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Emitter}\n */\n Emitter.prototype.on = function (event, listener) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var listeners = inst._events[event] || [];\n listeners.push(listener);\n inst._events[event] = listeners;\n\n return inst;\n\n };\n\n /**\n * Bind an event listener that is triggered only once.\n *\n * @public\n * @memberof Emitter.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Emitter}\n */\n Emitter.prototype.once = function (event, listener) {\n\n var inst = this;\n return this.on(event, function callback() {\n inst.off(event, callback);\n listener.apply(null, arguments);\n });\n\n };\n\n /**\n * Unbind all event listeners that match the provided listener function.\n *\n * @public\n * @memberof Emitter.prototype\n * @param {String} event\n * @param {Function} listener\n * @returns {Emitter}\n */\n Emitter.prototype.off = function (event, listener) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var listeners = inst._events[event] || [];\n var i = listeners.length;\n\n while (i--) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n }\n }\n\n return inst;\n\n };\n\n /**\n * Emit all listeners in a specified event with the provided arguments.\n *\n * @public\n * @memberof Emitter.prototype\n * @param {String} event\n * @param {*} [arg1]\n * @param {*} [arg2]\n * @param {*} [arg3]\n * @returns {Emitter}\n */\n Emitter.prototype.emit = function (event, arg1, arg2, arg3) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var listeners = inst._events[event] || [];\n var listenersLength = listeners.length;\n var argsLength = arguments.length - 1;\n var i;\n\n if (listenersLength) {\n listeners = listeners.concat();\n for (i = 0; i < listenersLength; i++) {\n argsLength === 0 ? listeners[i]() :\n argsLength === 1 ? listeners[i](arg1) :\n argsLength === 2 ? listeners[i](arg1, arg2) :\n listeners[i](arg1, arg2, arg3);\n }\n }\n\n return inst;\n\n };\n\n /**\n * Destroy emitter instance. Basically just removes all bound listeners.\n *\n * @public\n * @memberof Emitter.prototype\n * @returns {Emitter}\n */\n Emitter.prototype.destroy = function () {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return inst;\n }\n\n var eventNames = Object.keys(inst._events);\n var i;\n\n for (i = 0; i < eventNames.length; i++) {\n inst._events[eventNames[i]] = null;\n }\n\n inst._isDestroyed = true;\n\n return inst;\n\n };\n\n /**\n * ItemAnimate\n * ***********\n */\n\n /**\n * Muuri's internal animation engine. Uses Web Animations API.\n *\n * @public\n * @class\n * @param {Item} item\n * @param {HTMLElement} element\n */\n function ItemAnimate(item, element) {\n\n var inst = this;\n inst._item = item;\n inst._element = element;\n inst._animation = null;\n inst._propsTo = null;\n inst._isDestroyed = false;\n\n }\n\n /**\n * ItemAnimate - Public prototype methods\n * **************************************\n */\n\n /**\n * Start instance's animation. Automatically stops current animation if it is\n * running.\n *\n * @public\n * @memberof ItemAnimate.prototype\n * @param {Object} propsFrom\n * @param {Object} propsTo\n * @param {Object} [options]\n * @param {Number} [options.duration=300]\n * @param {String} [options.easing='ease']\n * @param {Function} [options.onFinish]\n */\n ItemAnimate.prototype.start = function (propsFrom, propsTo, options) {\n\n var inst = this;\n\n if (inst._isDestroyed) {\n return;\n }\n\n var opts = options || {};\n var callback = typeof opts.onFinish === typeFunction ? opts.onFinish : null;\n var shouldStop;\n\n // If item is being animate check if the target animation properties equal\n // to the properties in the current animation. If they match we can just let\n // the animation continue and be done with it (and of course change the\n // cached callback). If the animation properties do not match we need to\n // stop the ongoing animation.\n if (inst._animation) {\n shouldStop = Object.keys(propsTo).some(function (propName) {\n return propsTo[propName] !== inst._propsTo[propName];\n });\n if (shouldStop) {\n inst._animation.cancel();\n }\n else {\n inst._animation.onfinish = function () {\n inst._animation = inst._propsTo = null;\n callback && callback();\n };\n return;\n }\n }\n\n // Cache target props.\n inst._propsTo = propsTo;\n\n // Start the animation.\n inst._animation = inst._element.animate([propsFrom, propsTo], {\n duration: opts.duration || 300,\n easing: opts.easing || 'ease'\n });\n\n // Bind animation finish callback.\n inst._animation.onfinish = function () {\n inst._animation = inst._propsTo = null;\n callback && callback();\n };\n\n // Set the end styles.\n setStyles(inst._element, propsTo);\n\n };\n\n /**\n * Stop instance's current animation if running.\n *\n * @private\n * @memberof ItemAnimate.prototype\n * @param {Object} [currentProps]\n */\n ItemAnimate.prototype.stop = function (currentProps) {\n\n var inst = this;\n\n if (!inst._isDestroyed && inst._animation) {\n setStyles(inst._element, currentProps || getCurrentStyles(inst._element, inst._propsTo));\n inst._animation.cancel();\n inst._animation = inst._propsTo = null;\n }\n\n };\n\n /**\n * Check if the item is being animated currently.\n *\n * @private\n * @memberof ItemAnimate.prototype\n * @return {Boolean}\n */\n ItemAnimate.prototype.isAnimating = function () {\n\n return !!this._animation;\n\n };\n\n /**\n * Destroy the instance and stop current animation if it is running.\n *\n * @public\n * @memberof ItemAnimate.prototype\n * @returns {Boolean}\n */\n ItemAnimate.prototype.destroy = function () {\n\n var inst = this;\n\n if (!inst._isDestroyed) {\n inst.stop();\n inst._item = inst._element = null;\n inst._isDestroyed = true;\n }\n\n };\n\n /**\n * ItemMigrate\n * ***********\n */\n\n /**\n * The migrate process handler constructor.\n *\n * @class\n * @private\n * @param {Item} item\n */\n function ItemMigrate(item) {\n\n var migrate = this;\n\n // Private props.\n migrate._itemId = item._id;\n migrate._isDestroyed = false;\n\n // Public props.\n migrate.isActive = false;\n migrate.container = false;\n migrate.containerDiffX = 0;\n migrate.containerDiffY = 0;\n\n }\n\n /**\n * ItemMigrate - Public prototype methods\n * **************************************\n */\n\n /**\n * Destroy instance.\n *\n * @public\n * @memberof ItemMigrate.prototype\n * @returns {ItemMigrate}\n */\n ItemMigrate.prototype.destroy = function () {\n\n var migrate = this;\n\n if (!migrate._isDestroyed) {\n migrate.stop(true);\n migrate._isDestroyed = true;\n }\n\n return migrate;\n\n };\n\n /**\n * Get Item instance.\n *\n * @public\n * @memberof ItemMigrate.prototype\n * @returns {?Item}\n */\n ItemMigrate.prototype.getItem = function () {\n\n return itemInstances[this._itemId] || null;\n\n };\n\n /**\n * Start the migrate process of an item.\n *\n * @public\n * @memberof ItemMigrate.prototype\n * @param {Grid} targetGrid\n * @param {GridSingleItemQuery} position\n * @param {HTMLElement} [container]\n * @returns {ItemMigrate}\n */\n ItemMigrate.prototype.start = function (targetGrid, position, container) {\n\n var migrate = this;\n\n if (migrate._isDestroyed) {\n return migrate;\n }\n\n var item = migrate.getItem();\n var itemElement = item._element;\n var isItemVisible = item.isVisible();\n var currentGrid = item.getGrid();\n var currentGridStn = currentGrid._settings;\n var targetGridStn = targetGrid._settings;\n var targetGridElement = targetGrid._element;\n var currentIndex = currentGrid._items.indexOf(item);\n var targetIndex = typeof position === typeNumber ? position : targetGrid._items.indexOf(targetGrid._getItem(position));\n var targetContainer = container || body;\n var currentContainer;\n var offsetDiff;\n var containerDiff;\n var translateX;\n var translateY;\n\n // If we have invalid new index, let's return immediately.\n if (targetIndex === null) {\n return migrate;\n }\n\n // Normalize target index (for event data).\n targetIndex = normalizeArrayIndex(targetGrid._items, targetIndex, true);\n\n // Get current translateX and translateY values if needed.\n if (item.isPositioning() || migrate.isActive || item.isReleasing()) {\n translateX = getTranslateAsFloat(itemElement, 'x');\n translateY = getTranslateAsFloat(itemElement, 'y');\n }\n\n // Abort current positioning.\n if (item.isPositioning()) {\n item._stopLayout(true, {transform: getTranslateString(translateX, translateY)});\n }\n\n // Abort current migration.\n if (migrate.isActive) {\n translateX -= migrate.containerDiffX;\n translateY -= migrate.containerDiffY;\n migrate.stop(true, {transform: getTranslateString(translateX, translateY)});\n }\n\n // Abort current release.\n if (item.isReleasing()) {\n translateX -= item._release.containerDiffX;\n translateY -= item._release.containerDiffY;\n item._release.stop(true, {transform: getTranslateString(translateX, translateY)});\n }\n\n // Stop current visibility animations.\n // TODO: This causes potentially layout thrashing, because we are not\n // feeding any styles to the stop handlers.\n currentGrid._itemShowHandler.stop(item);\n currentGrid._itemHideHandler.stop(item);\n\n // Destroy current drag.\n if (item._drag) {\n item._drag.destroy();\n }\n\n // Destroy current animation handlers.\n item._animate.destroy();\n item._animateChild.destroy();\n\n // Process current visibility animation queue.\n processQueue(item._visibilityQueue, true, item);\n\n // Emit beforeSend event.\n currentGrid._emit(evBeforeSend, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Emit beforeReceive event.\n targetGrid._emit(evBeforeReceive, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Remove current classnames.\n removeClass(itemElement, currentGridStn.itemClass);\n removeClass(itemElement, currentGridStn.itemVisibleClass);\n removeClass(itemElement, currentGridStn.itemHiddenClass);\n\n // Add new classnames.\n addClass(itemElement, targetGridStn.itemClass);\n addClass(itemElement, isItemVisible ? targetGridStn.itemVisibleClass : targetGridStn.itemHiddenClass);\n\n // Move item instance from current grid to target grid.\n currentGrid._items.splice(currentIndex, 1);\n insertItemsToArray(targetGrid._items, item, targetIndex);\n\n // Update item's grid id reference.\n item._gridId = targetGrid._id;\n\n // Instantiate new animation controllers.\n item._animate = new Grid.ItemAnimate(item, itemElement);\n item._animateChild = new Grid.ItemAnimate(item, item._child);\n\n // Get current container\n currentContainer = itemElement.parentNode;\n\n // Move the item inside the target container if it's different than the\n // current container.\n if (targetContainer !== currentContainer) {\n targetContainer.appendChild(itemElement);\n offsetDiff = getOffsetDiff(targetContainer, currentContainer, true);\n if (translateX === undefined) {\n translateX = getTranslateAsFloat(itemElement, 'x');\n translateY = getTranslateAsFloat(itemElement, 'y');\n }\n setStyles(itemElement, {transform: getTranslateString(translateX + offsetDiff.left, translateY + offsetDiff.top)});\n }\n\n // Update child element's styles to reflect the current visibility state.\n item._child.removeAttribute('style');\n if (isItemVisible) {\n targetGrid._itemShowHandler.start(item, true);\n }\n else {\n targetGrid._itemHideHandler.start(item, true);\n }\n\n // Update display styles.\n setStyles(itemElement, {\n display: isItemVisible ? 'block' : 'hidden'\n });\n\n // Get offset diff for the migration data.\n containerDiff = getOffsetDiff(targetContainer, targetGridElement, true);\n\n // Update item's cached dimensions and sort data.\n item._refreshDimensions()._refreshSortData();\n\n // Create new drag handler.\n item._drag = targetGridStn.dragEnabled ? new Grid.ItemDrag(item) : null;\n\n // Setup migration data.\n migrate.isActive = true;\n migrate.container = targetContainer;\n migrate.containerDiffX = containerDiff.left;\n migrate.containerDiffY = containerDiff.top;\n\n // Emit send event.\n currentGrid._emit(evSend, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Emit receive event.\n targetGrid._emit(evReceive, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n return migrate;\n\n };\n\n /**\n * End the migrate process of an item. This method can be used to abort an\n * ongoing migrate process (animation) or finish the migrate process.\n *\n * @public\n * @memberof ItemMigrate.prototype\n * @param {Boolean} [abort=false]\n * - Should the migration be aborted?\n * @param {Object} [currentStyles]\n * - Optional current translateX and translateY styles.\n * @returns {ItemMigrate}\n */\n ItemMigrate.prototype.stop = function (abort, currentStyles) {\n\n var migrate = this;\n\n if (migrate._isDestroyed || !migrate.isActive) {\n return migrate;\n }\n\n var item = migrate.getItem();\n var element = item._element;\n var grid = item.getGrid();\n var gridElement = grid._element;\n var translateX;\n var translateY;\n\n if (migrate.container !== gridElement) {\n if (!currentStyles) {\n translateX = abort ? getTranslateAsFloat(element, 'x') - migrate.containerDiffX : item._left;\n translateY = abort ? getTranslateAsFloat(element, 'y') - migrate.containerDiffY : item._top;\n currentStyles = {transform: getTranslateString(translateX, translateY)};\n }\n gridElement.appendChild(element);\n setStyles(element, currentStyles);\n }\n\n migrate.isActive = false;\n migrate.container = null;\n migrate.containerDiffX = 0;\n migrate.containerDiffY = 0;\n\n return migrate;\n\n };\n\n /**\n * ItemRelease\n * ***********\n */\n\n /**\n * The release process handler constructor. Although this might seem as proper\n * fit for the drag process this needs to be separated into it's own logic\n * because there might be a scenario where drag is disabled, but the release\n * process still needs to be implemented (dragging from a grid to another).\n *\n * @class\n * @private\n * @param {Item} item\n */\n function ItemRelease(item) {\n\n var release = this;\n\n // Private props.\n release._itemId = item._id;\n release._isDestroyed = false;\n\n // Public props.\n release.isActive = false;\n release.isPositioningStarted = false;\n release.containerDiffX = 0;\n release.containerDiffY = 0;\n\n }\n\n /**\n * ItemRelease - Public prototype methods\n * **************************************\n */\n\n /**\n * Destroy instance.\n *\n * @public\n * @memberof ItemRelease.prototype\n * @returns {ItemRelease}\n */\n ItemRelease.prototype.destroy = function () {\n\n var release = this;\n\n if (!release._isDestroyed) {\n release.stop(true);\n release._isDestroyed = true;\n }\n\n return release;\n\n };\n\n /**\n * Get Item instance.\n *\n * @public\n * @memberof ItemRelease.prototype\n * @returns {?Item}\n */\n ItemRelease.prototype.getItem = function () {\n\n return itemInstances[this._itemId] || null;\n\n };\n\n /**\n * Reset public data and remove releasing class.\n *\n * @public\n * @memberof ItemRelease.prototype\n * @returns {ItemRelease}\n */\n ItemRelease.prototype.reset = function () {\n\n var release = this;\n\n if (release._isDestroyed) {\n return release;\n }\n\n var item = release.getItem();\n release.isActive = false;\n release.isPositioningStarted = false;\n release.containerDiffX = 0;\n release.containerDiffY = 0;\n removeClass(item._element, item.getGrid()._settings.itemReleasingClass);\n\n return release;\n\n };\n\n /**\n * Start the release process of an item.\n *\n * @public\n * @memberof ItemRelease.prototype\n * @returns {ItemRelease}\n */\n ItemRelease.prototype.start = function () {\n\n var release = this;\n\n if (release._isDestroyed || release.isActive) {\n return release;\n }\n\n var item = release.getItem();\n var grid = item.getGrid();\n\n // Flag release as active.\n release.isActive = true;\n\n // Add release classname to the released element.\n addClass(item._element, grid._settings.itemReleasingClass);\n\n // Emit dragReleaseStart event.\n grid._emit(evDragReleaseStart, item);\n\n // Position the released item.\n item._layout(false);\n\n return release;\n\n };\n\n /**\n * End the release process of an item. This method can be used to abort an\n * ongoing release process (animation) or finish the release process.\n *\n * @public\n * @memberof ItemRelease.prototype\n * @param {Boolean} [abort=false]\n * - Should the release be aborted? When true, the release end event won't be\n * emitted. Set to true only when you need to abort the release process\n * while the item is animating to it's position.\n * @param {Object} [currentStyles]\n * - Optional current translateX and translateY styles.\n * @returns {ItemRelease}\n */\n ItemRelease.prototype.stop = function (abort, currentStyles) {\n\n var release = this;\n\n if (release._isDestroyed || !release.isActive) {\n return release;\n }\n\n var item = release.getItem();\n var element = item._element;\n var grid = item.getGrid();\n var container = grid._element;\n var containerDiffX = release.containerDiffX;\n var containerDiffY = release.containerDiffY;\n var translateX;\n var translateY;\n\n // Reset data and remove releasing classname from the element.\n release.reset();\n\n // If the released element is outside the grid's container element put it\n // back there and adjust position accordingly.\n if (element.parentNode !== container) {\n if (!currentStyles) {\n translateX = abort ? getTranslateAsFloat(element, 'x') - containerDiffX : item._left;\n translateY = abort ? getTranslateAsFloat(element, 'y') - containerDiffY : item._top;\n currentStyles = {transform: getTranslateString(translateX, translateY)};\n }\n container.appendChild(element);\n setStyles(element, currentStyles);\n }\n\n // Emit dragReleaseEnd event.\n if (!abort) {\n grid._emit(evDragReleaseEnd, item);\n }\n\n return release;\n\n };\n\n /**\n * ItemDrag\n * ********\n */\n\n /**\n * Bind Hammer touch interaction to an item.\n *\n * @class\n * @private\n * @param {Item} item\n */\n function ItemDrag(item) {\n\n if (!Hammer) {\n throw new Error('[' + namespace + '] required dependency Hammer is not defined.');\n }\n\n var drag = this;\n var element = item._element;\n var grid = item.getGrid();\n var settings = grid._settings;\n var hammer;\n\n // Start predicate.\n var startPredicate = typeof settings.dragStartPredicate === typeFunction ?\n settings.dragStartPredicate : ItemDrag.defaultStartPredicate;\n var startPredicateState = startPredicateInactive;\n var startPredicateResult;\n\n // Protected data.\n drag._itemId = item._id;\n drag._gridId = grid._id;\n drag._hammer = hammer = new Hammer.Manager(element);\n drag._isDestroyed = false;\n drag._isMigrating = false;\n drag._data = {};\n\n // Create a private drag start resolver that can be used to resolve the drag\n // start predicate asynchronously.\n drag._resolveStartPredicate = function (event) {\n if (!drag._isDestroyed && startPredicateState === startPredicatePending) {\n startPredicateState = startPredicateResolved;\n drag.onStart(event);\n }\n };\n\n // Create scroll listener.\n drag._scrollListener = function (e) {\n drag.onScroll(e);\n };\n\n // Create overlap checker function.\n drag._checkSortOverlap = debounce(function () {\n drag._data.isActive && drag.checkOverlap();\n }, settings.dragSortInterval);\n\n // Create sort predicate.\n drag._sortPredicate = typeof settings.dragSortPredicate === typeFunction ?\n settings.dragSortPredicate : ItemDrag.defaultSortPredicate;\n\n // Setup item's initial drag data.\n drag.reset();\n\n // Add drag recognizer to hammer.\n hammer.add(new Hammer.Pan({\n event: 'drag',\n pointers: 1,\n threshold: 30,\n direction: Hammer.DIRECTION_ALL\n }));\n\n // Add draginit recognizer to hammer.\n hammer.add(new Hammer.Press({\n event: 'draginit',\n pointers: 1,\n threshold: 1000,\n time: 0\n }));\n\n hammer.add(new Hammer.Pinch({\n event: 'pinch',\n pointers: 2,\n threshold: 0\n }));\n\n hammer.add(new Hammer.Tap({\n event: 'doubletap',\n taps: 2\n }));\n\n hammer.add(new Hammer.Tap({\n event: 'singletap'\n }));\n\n hammer.add(new Hammer.Tap ({\n event: 'tripletap',\n pointer: 1,\n taps: 3,\n threshold: 20,\n posThreshold: 30\n }));\n\n hammer.add(new Hammer.Tap ({\n event: 'quadrupletap',\n taps: 4\n }));\n\n // Configure the hammer instance.\n if (isPlainObject(settings.dragHammerSettings)) {\n hammer.set(settings.dragHammerSettings);\n }\n\n hammer.get('pinch').recognizeWith('draginit');\n hammer.get('draginit').requireFailure('singletap').requireFailure('doubletap').requireFailure('tripletap').requireFailure('quadrupletap').recognizeWith('tripletap'); //.requireFailure('pinch')\n hammer.get('tripletap').recognizeWith('singletap').requireFailure('singletap');\n\n\n // Bind drag events.\nhammer\n .on('pinch pinchstart pinchin pinchout', function (e) {\n e.preventDefault();\n\n // Let's activate drag start predicate state.\n if (startPredicateState === startPredicateInactive) {\n startPredicateState = startPredicatePending;\n }\n\n // If predicate is pending try to resolve it.\n if (startPredicateState === startPredicatePending) {\n startPredicateResult = startPredicate(drag.getItem(), e);\n if (startPredicateResult === true) {\n startPredicateState = startPredicateResolved;\n drag.onPinchStart(e);\n }\n else if (startPredicateResult === false) {\n startPredicateState = startPredicateRejected;\n }\n }\n\n // Otherwise if predicate is resolved and drag is active, move the item.\n else if (startPredicateState === startPredicateResolved && drag._data.isActive) {\n drag.onPinch(e);\n }\n\n })\n .on('dragmove', function (e) {\n \n // Let's activate drag start predicate state.\n if (startPredicateState === startPredicateInactive) {\n startPredicateState = startPredicatePending;\n }\n\n // If predicate is pending try to resolve it.\n if (startPredicateState === startPredicatePending) {\n startPredicateResult = startPredicate(drag.getItem(), e);\n if (startPredicateResult === true) {\n startPredicateState = startPredicateResolved;\n drag.onStart(e);\n }\n else if (startPredicateResult === false) {\n startPredicateState = startPredicateRejected;\n }\n }\n\n // Otherwise if predicate is resolved and drag is active, move the item.\n else if (startPredicateState === startPredicateResolved && drag._data.isActive) {\n drag.onMove(e);\n }\n\n })\n .on('touchend pinchend pinchcancel', function (e) {\n\n // Check if the start predicate was resolved during drag.\n var isResolved = startPredicateState === startPredicateResolved;\n\n // Do final predicate check to allow user to unbind stuff for the current\n // drag procedure within the predicate callback. The return value of this\n // check will have no effect to the state of the predicate.\n startPredicate(drag.getItem(), e);\n\n // Reset start predicate state.\n startPredicateState = startPredicateInactive;\n\n // If predicate is resolved and dragging is active, call the end handler.\n if (isResolved && drag._data.isActive) {\n drag.onPinchEnd(e);\n }\n\n })\n .on('dragend dragcancel draginitup mouseup', function (e) {\n\n // Check if the start predicate was resolved during drag.\n var isResolved = startPredicateState === startPredicateResolved;\n\n // Do final predicate check to allow user to unbind stuff for the current\n // drag procedure within the predicate callback. The return value of this\n // check will have no effect to the state of the predicate.\n startPredicate(drag.getItem(), e);\n\n // Reset start predicate state.\n startPredicateState = startPredicateInactive;\n\n // If predicate is resolved and dragging is active, call the end handler.\n if (isResolved && drag._data.isActive) {\n drag.onEnd(e);\n }\n\n });\n // Prevent native link/image dragging for the item and it's ancestors.\n element.addEventListener('dragstart', preventDefault, false);\n\n }\n\n /**\n * ItemDrag - Public methods\n * *************************\n */\n\n /**\n * Default drag start predicate handler that handles anchor elements\n * gracefully. The return value of this function defines if the drag is\n * started, rejected or pending. When true is returned the dragging is started\n * and when false is returned the dragging is rejected. If nothing is returned\n * the predicate will be called again on the next drag movement.\n *\n * @public\n * @memberof ItemDrag\n * @param {Item} item\n * @param {Object} event\n * @param {Object} [options]\n * - An optional options object which can be used to pass the predicate\n * it's options manually. By default the predicate retrieves the options\n * from the grid's settings.\n * @returns {Boolean}\n */\n ItemDrag.defaultStartPredicate = function (item, event, options) {\n\n var element = item._element;\n var predicate = item._drag._startPredicateData;\n var config;\n var isAnchor;\n var href;\n var target;\n\n // Setup data if it is not set up yet.\n if (!predicate) {\n config = options || item._drag.getGrid()._settings.dragStartPredicate;\n config = isPlainObject(config) ? config : {};\n predicate = item._drag._startPredicateData = {\n distance: Math.abs(config.distance) || 0,\n delay: Math.max(config.delay, 0) || 0,\n handle: typeof config.handle === 'string' ? config.handle : false\n };\n }\n\n // Final event logic. At this stage return value does not matter anymore,\n // the predicate is either resolved or it's not and there's nothing to do\n // about it. Here we just reset data and if the item element is a link\n // we follow it (if there has only been slight movement).\n if (event.isFinal) {\n isAnchor = element.tagName.toLowerCase() === 'a';\n href = element.getAttribute('href');\n target = element.getAttribute('target');\n dragStartPredicateReset(item);\n if (isAnchor && href && Math.abs(event.deltaX) < 2 && Math.abs(event.deltaY) < 2 && event.deltaTime < 200) {\n if (target && target !== '_self') {\n global.open(href, target);\n }\n else {\n global.location.href = href;\n }\n }\n return;\n }\n\n // Find and store the handle element so we can check later on if the\n // cursor is within the handle. If we have a handle selector let's find\n // the corresponding element. Otherwise let's use the item element as the\n // handle.\n if (!predicate.handleElement) {\n if (predicate.handle) {\n predicate.handleElement = (event.changedPointers[0] || {}).target;\n while (predicate.handleElement && !elementMatches(predicate.handleElement, predicate.handle)) {\n predicate.handleElement = predicate.handleElement !== element ? predicate.handleElement.parentElement : null;\n }\n if (!predicate.handleElement) {\n return false;\n }\n }\n else {\n predicate.handleElement = element;\n }\n }\n\n // If delay is defined let's keep track of the latest event and initiate\n // delay if it has not been done yet.\n if (predicate.delay) {\n predicate.event = event;\n if (!predicate.delayTimer) {\n predicate.delayTimer = global.setTimeout(function () {\n predicate.delay = 0;\n if (dragStartPredicateResolve(item, predicate.event)) {\n item._drag._resolveStartPredicate(predicate.event);\n dragStartPredicateReset(item);\n }\n }, predicate.delay);\n }\n }\n\n return dragStartPredicateResolve(item, event);\n\n };\n\n /**\n * Default drag sort predicate.\n *\n * @public\n * @memberof ItemDrag\n * @param {Item} item\n * @param {Object} event\n * @returns {(Boolean|DragSortCommand)}\n * - Returns false if no valid index was found. Otherwise returns drag sort\n * command.\n */\n ItemDrag.defaultSortPredicate = function (item) {\n\n var drag = item._drag;\n var dragData = drag._data;\n var rootGrid = drag.getGrid();\n var settings = rootGrid._settings;\n var config = settings.dragSortPredicate || {};\n var sortThreshold = config.threshold || 50;\n var sortAction = config.action || 'move';\n var itemRect = {\n width: item._width,\n height: item._height,\n left: dragData.elementClientX,\n top: dragData.elementClientY\n };\n var grid = getTargetGrid(item, rootGrid, itemRect, sortThreshold);\n var gridOffsetLeft = 0;\n var gridOffsetTop = 0;\n var matchScore = -1;\n var matchIndex;\n var hasValidTargets;\n var target;\n var score;\n var i;\n\n // Return early if we found no grid container element that overlaps the\n // dragged item enough.\n if (!grid) {\n return false;\n }\n\n // If item is moved within it's originating grid adjust item's left and top\n // props. Otherwise if item is moved to/within another grid get the\n // container element's offset (from the element's content edge).\n if (grid === rootGrid) {\n itemRect.left = dragData.gridX + item._margin.left;\n itemRect.top = dragData.gridY + item._margin.top;\n }\n else {\n gridOffsetLeft = grid._left + grid._border.left;\n gridOffsetTop = grid._top + grid._border.top;\n }\n\n // Loop through the target grid items and try to find the best match.\n for (i = 0; i < grid._items.length; i++) {\n\n target = grid._items[i];\n\n // If the target item is not active or the target item is the dragged item\n // let's skip to the next item.\n if (!target._isActive || target === item) {\n continue;\n }\n\n // Mark the grid as having valid target items.\n hasValidTargets = true;\n\n // Calculate the target's overlap score with the dragged item.\n score = getRectOverlapScore(itemRect, {\n width: target._width,\n height: target._height,\n left: target._left + target._margin.left + gridOffsetLeft,\n top: target._top + target._margin.top + gridOffsetTop\n });\n\n // Update best match index and score if the target's overlap score with\n // the dragged item is higher than the current best match score.\n if (score > matchScore) {\n matchIndex = i;\n matchScore = score;\n }\n\n }\n\n // If there is no valid match and the item is being moved into another grid.\n if (matchScore < sortThreshold && item.getGrid() !== grid) {\n matchIndex = hasValidTargets ? -1 : 0;\n matchScore = Infinity;\n }\n\n // Check if the best match overlaps enough to justify a placement switch.\n if (matchScore >= sortThreshold) {\n return {\n grid: grid,\n index: matchIndex,\n action: sortAction\n };\n }\n\n return false;\n\n };\n\n /**\n * ItemDrag - Public prototype methods\n * ***********************************\n */\n\n /**\n * Destroy instance.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.destroy = function () {\n\n var drag = this;\n\n if (!drag._isDestroyed) {\n drag.stop();\n drag._hammer.destroy();\n drag.getItem()._element.removeEventListener('dragstart', preventDefault, false);\n drag._isDestroyed = true;\n }\n\n return drag;\n\n };\n\n /**\n * Get Item instance.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {?Item}\n */\n ItemDrag.prototype.getItem = function () {\n\n return itemInstances[this._itemId] || null;\n\n };\n\n /**\n * Get Grid instance.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {?Grid}\n */\n ItemDrag.prototype.getGrid = function () {\n\n return gridInstances[this._gridId] || null;\n\n };\n\n /**\n * Setup/reset drag data.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.reset = function () {\n\n var drag = this;\n var dragData = drag._data;\n\n // Is item being dragged?\n dragData.isActive = false;\n\n // The dragged item's container element.\n dragData.container = null;\n\n // The dragged item's containing block.\n dragData.containingBlock = null;\n\n // Hammer event data.\n dragData.startEvent = null;\n dragData.currentEvent = null;\n\n // All the elements which need to be listened for scroll events during\n // dragging.\n dragData.scrollers = [];\n\n // The current translateX/translateY position.\n dragData.left = 0;\n dragData.top = 0;\n\n // Dragged element's current position within the grid.\n dragData.gridX = 0;\n dragData.gridY = 0;\n\n // Dragged element's current offset from window's northwest corner. Does\n // not account for element's margins.\n dragData.elementClientX = 0;\n dragData.elementClientY = 0;\n\n // Offset difference between the dragged element's temporary drag\n // container and it's original container.\n dragData.containerDiffX = 0;\n dragData.containerDiffY = 0;\n\n return drag;\n\n };\n\n /**\n * Bind drag scroll handlers to all scrollable ancestor elements of the\n * dragged element and the drag container element.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.bindScrollListeners = function () {\n\n var drag = this;\n var gridContainer = drag.getGrid()._element;\n var dragContainer = drag._data.container;\n var scrollers = getScrollParents(drag.getItem()._element);\n var i;\n\n // If drag container is defined and it's not the same element as grid\n // container then we need to add the grid container and it's scroll parents\n // to the elements which are going to be listener for scroll events.\n if (dragContainer !== gridContainer) {\n scrollers = arrayUnique(scrollers.concat(gridContainer).concat(getScrollParents(gridContainer)));\n }\n\n // Bind scroll listeners.\n for (i = 0; i < scrollers.length; i++) {\n scrollers[i].addEventListener('scroll', drag._scrollListener);\n }\n\n // Save scrollers to drag data.\n drag._data.scrollers = scrollers;\n\n return drag;\n\n };\n\n /**\n * Unbind currently bound drag scroll handlers from all scrollable ancestor\n * elements of the dragged element and the drag container element.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.unbindScrollListeners = function () {\n\n var drag = this;\n var dragData = drag._data;\n var scrollers = dragData.scrollers;\n var i;\n\n for (i = 0; i < scrollers.length; i++) {\n scrollers[i].removeEventListener('scroll', drag._scrollListener);\n }\n\n dragData.scrollers = [];\n\n return drag;\n\n };\n\n /**\n * Check (during drag) if an item is overlapping other items and based on\n * the configuration layout the items.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.checkOverlap = function () {\n\n var drag = this;\n var item = drag.getItem();\n var result = drag._sortPredicate(item, drag._data.currentEvent);\n var currentGrid;\n var currentIndex;\n var targetGrid;\n var targetIndex;\n var sortAction;\n var isMigration;\n\n // Let's make sure the result object has a valid index before going further.\n if (!isPlainObject(result) || typeof result.index !== typeNumber) {\n return drag;\n }\n\n currentGrid = item.getGrid();\n targetGrid = result.grid || currentGrid;\n isMigration = currentGrid !== targetGrid;\n currentIndex = currentGrid._items.indexOf(item);\n targetIndex = normalizeArrayIndex(targetGrid._items, result.index, isMigration);\n sortAction = result.action === 'swap' ? 'swap' : 'move';\n\n // If the item was moved within it's current grid.\n if (!isMigration) {\n\n // Make sure the target index is not the current index.\n if (currentIndex !== targetIndex) {\n\n // Do the sort.\n (sortAction === 'swap' ? arraySwap : arrayMove)(currentGrid._items, currentIndex, targetIndex);\n\n // Emit move event.\n currentGrid._emit(evMove, {\n item: item,\n fromIndex: currentIndex,\n toIndex: targetIndex,\n action: sortAction\n });\n\n // Layout the grid.\n currentGrid.layout();\n\n }\n\n }\n\n // If the item was moved to another grid.\n else {\n\n // Emit beforeSend event.\n currentGrid._emit(evBeforeSend, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Emit beforeReceive event.\n targetGrid._emit(evBeforeReceive, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Update item's grid id reference.\n item._gridId = targetGrid._id;\n\n // Update drag instances's migrating indicator.\n drag._isMigrating = item._gridId !== drag._gridId;\n\n // Move item instance from current grid to target grid.\n currentGrid._items.splice(currentIndex, 1);\n insertItemsToArray(targetGrid._items, item, targetIndex);\n\n // Set sort data as null, which is an indicator for the item comparison\n // function that the sort data of this specific item should be fetched\n // lazily.\n item._sortData = null;\n\n // Emit send event.\n currentGrid._emit(evSend, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Emit receive event.\n targetGrid._emit(evReceive, {\n item: item,\n fromGrid: currentGrid,\n fromIndex: currentIndex,\n toGrid: targetGrid,\n toIndex: targetIndex\n });\n\n // Layout both grids.\n currentGrid.layout();\n targetGrid.layout();\n\n }\n\n return drag;\n\n };\n\n /**\n * If item is dragged into another grid, finish the migration process\n * gracefully.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.finishMigration = function () {\n\n var drag = this;\n var item = drag.getItem();\n var release = item._release;\n var element = item._element;\n var targetGrid = item.getGrid();\n var targetGridElement = targetGrid._element;\n var targetSettings = targetGrid._settings;\n var targetContainer = targetSettings.dragContainer || targetGridElement;\n var currentSettings = drag.getGrid()._settings;\n var currentContainer = element.parentNode;\n var translateX;\n var translateY;\n var offsetDiff;\n\n // Destroy current drag. Note that we need to set the migrating flag to\n // false first, because otherwise we create an infinite loop between this\n // and the drag.stop() method.\n drag._isMigrating = false;\n drag.destroy();\n\n // Destroy current animation handlers.\n item._animate.destroy();\n item._animateChild.destroy();\n\n // Remove current classnames.\n removeClass(element, currentSettings.itemClass);\n removeClass(element, currentSettings.itemVisibleClass);\n removeClass(element, currentSettings.itemHiddenClass);\n\n // Add new classnames.\n addClass(element, targetSettings.itemClass);\n addClass(element, targetSettings.itemVisibleClass);\n\n // Instantiate new animation controllers.\n item._animate = new Grid.ItemAnimate(item, element);\n item._animateChild = new Grid.ItemAnimate(item, item._child);\n\n // Move the item inside the target container if it's different than the\n // current container.\n if (targetContainer !== currentContainer) {\n targetContainer.appendChild(element);\n offsetDiff = getOffsetDiff(currentContainer, targetContainer, true);\n translateX = getTranslateAsFloat(element, 'x') - offsetDiff.left;\n translateY = getTranslateAsFloat(element, 'y') - offsetDiff.top;\n }\n\n // Update item's cached dimensions and sort data.\n item._refreshDimensions()._refreshSortData();\n\n // Calculate the offset difference between target's drag container (if any)\n // and actual grid container element. We save it later for the release\n // process.\n offsetDiff = getOffsetDiff(targetContainer, targetGridElement, true);\n release.containerDiffX = offsetDiff.left;\n release.containerDiffY = offsetDiff.top;\n\n // Recreate item's drag handler.\n item._drag = targetSettings.dragEnabled ? new Grid.ItemDrag(item) : null;\n\n // Adjust the position of the item element if it was moved from a container\n // to another.\n if (targetContainer !== currentContainer) {\n setStyles(element, {transform: getTranslateString(translateX, translateY)});\n }\n\n // Update child element's styles to reflect the current visibility state.\n item._child.removeAttribute('style');\n targetGrid._itemShowHandler.start(item, true);\n\n // Start the release.\n release.start();\n\n //refreshTiddlerClasses(element);\n\n return drag;\n\n };\n\n /**\n * cancel move/scroll event raf loop action.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.cancelRafLoop = function () {\n\n var id = this.getItem()._id;\n\n rafLoop.cancel(rafQueueScroll, id);\n rafLoop.cancel(rafQueueMove, id);\n\n return this;\n\n };\n\n /**\n * Abort dragging and reset drag data.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.stop = function () {\n\n var drag = this;\n var dragData = drag._data;\n var item = drag.getItem();\n var element = item._element;\n var grid = drag.getGrid();\n\n if (!dragData.isActive) {\n return drag;\n }\n\n // If the item is being dropped into another grid, finish it up and return\n // immediately.\n if (drag._isMigrating) {\n return drag.finishMigration(dragData.currentEvent);\n }\n\n // Cancel raf loop actions.\n drag.cancelRafLoop();\n\n // Remove scroll listeners.\n drag.unbindScrollListeners();\n\n // Cancel overlap check.\n drag._checkSortOverlap('cancel');\n\n // Append item element to the container if it's not it's child. Also make\n // sure the translate values are adjusted to account for the DOM shift.\n if (element.parentNode !== grid._element) {\n grid._element.appendChild(element);\n setStyles(element, {transform: getTranslateString(dragData.gridX, dragData.gridY)});\n }\n\n // Remove dragging class.\n removeClass(element, grid._settings.itemDraggingClass);\n\n // Reset drag data.\n drag.reset();\n\n return drag;\n\n };\n\n\nfunction getTiddlerAsJson(title) {\n\tvar tiddler = $tw.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n}\n\n\n var currentStoryList;\n var storyListIndex;\n\n /**\n * Drag start handler.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @param {Object} event\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.onStart = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n\n // If item is not active, don't start the drag.\n if (!item._isActive) {\n return drag;\n }\n\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var dragData = drag._data;\n var release = item._release;\n var migrate = item._migrate;\n var gridContainer = grid._element;\n var dragContainer = settings.dragContainer || gridContainer;\n var containingBlock = getContainingBlock(dragContainer, true);\n var offsetDiff = dragContainer !== gridContainer ? getOffsetDiff(containingBlock, gridContainer) : 0;\n var currentLeft = getTranslateAsFloat(element, 'x');\n var currentTop = getTranslateAsFloat(element, 'y');\n var elementRect = element.getBoundingClientRect();\n var items = grid.getItems();\n var currentIndex = items.indexOf(item);\n var targetIndex = normalizeArrayIndex(items, currentIndex);\n var targetsAreTiddlers = settings.targetsAreTiddlers;\n var muuriParentWidget = grid._settings.muuriParentWidget;\n var dragTiddler;\n\n//console.log(\"currentIndex: \" + currentIndex + \" targetIndex: \" + targetIndex);\n\n if (targetsAreTiddlers === true) {\n currentStoryList = $tw.wiki.getTiddlerList(\"$:/StoryList\");\n //if(targetIndex < currentStoryList.length) {\n dragTiddler = muuriParentWidget[0].children[targetIndex].variables.currentTiddler;\n//console.log(\"dragTiddler: \" + dragTiddler.value);\n storyListIndex = currentStoryList.indexOf(dragTiddler.value);\n//} else {\n /*currentStoryList = $tw.wiki.getTiddlerList(\"$:/StoryList\");\nfor (var i=0; i<items.length; i++) {\nvar checkItem = items[i]._element;\nfor (var t=0; t<items.length; t++) {\n if(items[t]._element.innerHTML == checkItem.innerHTML && t != i) {\n console.log(\"they are the same\");\n items[t] = items[i];\n console.log(items[i]._element.innerHTML);\n grid.remove(items[i], {removeElements: true});\n}\n}\n//console.log(items[i]._element.innerHTML);\n}\n grid.refreshItems();\n items = grid.getItems();\n item = drag.getItem();\n element = item._element;\n release = item._release;\n migrate = item._migrate;\n currentLeft = getTranslateAsFloat(element, 'x');\n currentTop = getTranslateAsFloat(element, 'y');\n elementRect = element.getBoundingClientRect();\n currentIndex = items.indexOf(item);\n targetIndex = normalizeArrayIndex(items, currentIndex);\nconsole.log(\"currentIndex: \" + currentIndex + \" targetIndex: \" + targetIndex);\n if(targetIndex < currentStoryList.length) {\n dragTiddler = muuriParentWidget[0].children[targetIndex].variables.currentTiddler;\nconsole.log(\"dragTiddler: \" + dragTiddler.value);\n storyListIndex = currentStoryList.indexOf(dragTiddler.value);\n console.log(\"HAPPENED\");\n}\n console.log(\"HAPPENED\");\n}*/\n }\n\n // Stop current positioning animation.\n if (item.isPositioning()) {\n item._stopLayout(true, {transform: getTranslateString(currentLeft, currentTop)});\n }\n\n // Stop current migration animation.\n if (migrate.isActive) {\n currentLeft -= migrate.containerDiffX;\n currentTop -= migrate.containerDiffY;\n migrate.stop(true, {transform: getTranslateString(currentLeft, currentTop)});\n }\n\n // If item is being released reset release data.\n if (item.isReleasing()) {\n release.reset();\n }\n\n // Setup drag data.\n dragData.isActive = true;\n dragData.startEvent = dragData.currentEvent = event;\n dragData.container = dragContainer;\n dragData.containingBlock = containingBlock;\n dragData.elementClientX = elementRect.left;\n dragData.elementClientY = elementRect.top;\n dragData.left = dragData.gridX = currentLeft;\n dragData.top = dragData.gridY = currentTop;\n\n // Emit dragInit event.\n grid._emit(evDragInit, item, event);\n\n // If a specific drag container is set and it is different from the\n // grid's container element we need to cast some extra spells.\n if (dragContainer !== gridContainer) {\n\n // Store the container offset diffs to drag data.\n dragData.containerDiffX = offsetDiff.left;\n dragData.containerDiffY = offsetDiff.top;\n\n // If the dragged element is a child of the drag container all we need to\n // do is setup the relative drag position data.\n if (element.parentNode === dragContainer) {\n dragData.gridX = currentLeft - dragData.containerDiffX;\n dragData.gridY = currentTop - dragData.containerDiffY;\n }\n\n // Otherwise we need to append the element inside the correct container,\n // setup the actual drag position data and adjust the element's translate\n // values to account for the DOM position shift.\n else {\n dragData.left = currentLeft + dragData.containerDiffX;\n dragData.top = currentTop + dragData.containerDiffY;\n dragContainer.appendChild(element);\n setStyles(element, {transform: getTranslateString(dragData.left, dragData.top)});\n }\n\n }\n\n // Set drag class and bind scrollers.\n addClass(element, settings.itemDraggingClass);\n drag.bindScrollListeners();\n\n // Emit dragStart event.\n grid._emit(evDragStart, item, event);\n\n return drag;\n\n };\n\n ItemDrag.prototype.onPinchStart = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n\n // If item is not active, don't start the drag.\n if (!item._isActive) {\n return drag;\n }\n\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var dragData = drag._data;\n var release = item._release;\n var migrate = item._migrate;\n var gridContainer = grid._element;\n var dragContainer = settings.dragContainer || gridContainer;\n var containingBlock = getContainingBlock(dragContainer, true);\n var offsetDiff = dragContainer !== gridContainer ? getOffsetDiff(containingBlock, gridContainer) : 0;\n var currentLeft = getTranslateAsFloat(element, 'x');\n var currentTop = getTranslateAsFloat(element, 'y');\n var elementRect = element.getBoundingClientRect();\n var elementRectCalc = window.getComputedStyle(element,null).getPropertyValue(\"left\");\n\n // Stop current positioning animation.\n if (item.isPositioning()) {\n item._stopLayout(true, {transform: getTranslateString(currentLeft, currentTop)});\n }\n\n // Stop current migration animation.\n if (migrate.isActive) {\n currentLeft -= migrate.containerDiffX;\n currentTop -= migrate.containerDiffY;\n migrate.stop(true, {transform: getTranslateString(currentLeft, currentTop)});\n }\n\n // If item is being released reset release data.\n if (item.isReleasing()) {\n release.reset();\n }\n\n // Setup drag data.\n dragData.isActive = true;\n dragData.startEvent = dragData.currentEvent = event;\n dragData.container = dragContainer;\n dragData.containingBlock = containingBlock;\n dragData.elementClientX = elementRect.left;\n dragData.elementClientY = elementRect.top;\n dragData.left = dragData.gridX = currentLeft;\n dragData.top = dragData.gridY = currentTop;\n\n // Emit dragInit event.\n grid._emit(evDragInit, item, event);\n\n // If a specific drag container is set and it is different from the\n // grid's container element we need to cast some extra spells.\n if (dragContainer !== gridContainer) {\n\n // Store the container offset diffs to drag data.\n dragData.containerDiffX = offsetDiff.left;\n dragData.containerDiffY = offsetDiff.top;\n\n // If the dragged element is a child of the drag container all we need to\n // do is setup the relative drag position data.\n if (element.parentNode === dragContainer) {\n dragData.gridX = currentLeft - dragData.containerDiffX;\n dragData.gridY = currentTop - dragData.containerDiffY;\n }\n\n // Otherwise we need to append the element inside the correct container,\n // setup the actual drag position data and adjust the element's translate\n // values to account for the DOM position shift.\n else {\n dragData.left = currentLeft + dragData.containerDiffX;\n dragData.top = currentTop + dragData.containerDiffY;\n dragContainer.appendChild(element);\n setStyles(element, {transform: getTranslateString(dragData.left, dragData.top)});\n }\n\n }\n\n // Set drag class and bind scrollers.\n addClass(element, settings.itemDraggingClass);\n drag.bindScrollListeners();\n\n // Emit dragStart event.\n grid._emit(evDragStart, item, event);\n\n return drag;\n\n };\n\n\n /**\n * Drag move handler.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @param {Object} event\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.onMove = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n\n // If item is not active, reset drag.\n if (!item._isActive) {\n return drag.stop();\n }\n\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var dragData = drag._data;\n var axis = settings.dragAxis;\n var xDiff = event.deltaX - dragData.currentEvent.deltaX;\n var yDiff = event.deltaY - dragData.currentEvent.deltaY;\n\n rafLoop.add(rafQueueMove, item._id, function () {\n\n // Update current event.\n dragData.currentEvent = event;\n\n // Update horizontal position data.\n if (axis !== 'y') {\n dragData.left += xDiff;\n dragData.gridX += xDiff;\n dragData.elementClientX += xDiff;\n }\n\n // Update vertical position data.\n if (axis !== 'x') {\n dragData.top += yDiff;\n dragData.gridY += yDiff;\n dragData.elementClientY += yDiff;\n }\n\n // Overlap handling.\n settings.dragSort && drag._checkSortOverlap();\n\n }, function () {\n\n // Update element's translateX/Y values.\n setStyles(element, {transform: getTranslateString(dragData.left, dragData.top)});\n\n // Emit dragMove event.\n grid._emit(evDragMove, item, event);\n\n });\n\n return drag;\n\n };\n\n\nfunction getComputedRotation(obj)\n{\n if(!window.getComputedStyle) return;\n var style = getComputedStyle(obj);\n\nvar tr = style.getPropertyValue(\"-webkit-transform\") ||\n style.getPropertyValue(\"-moz-transform\") ||\n style.getPropertyValue(\"-ms-transform\") ||\n style.getPropertyValue(\"-o-transform\") ||\n style.getPropertyValue(\"transform\") ||\n \"FAIL\";\nvar values = tr.split('(')[1].split(')')[0].split(',');\nvar a = values[0];\nvar b = values[1];\nvar angle = Math.round(Math.atan2(b, a) * (180/Math.PI));\n\n\n return angle;\n}\n\n\nfunction getComputedScale(obj)\n{\n if(!window.getComputedStyle) return;\n var style = getComputedStyle(obj);\n\nvar tr = style.getPropertyValue(\"-webkit-transform\") ||\n style.getPropertyValue(\"-moz-transform\") ||\n style.getPropertyValue(\"-ms-transform\") ||\n style.getPropertyValue(\"-o-transform\") ||\n style.getPropertyValue(\"transform\") ||\n \"FAIL\";\nvar values = tr.split('(')[1].split(')')[0].split(',');\nvar a = values[0];\nvar b = values[1];\nvar scale = Math.sqrt(a*a + b*b);\n return scale;\n}\n\nfunction getComputedTranslateX(obj)\n{\n if(!window.getComputedStyle) return;\n var style = obj.currentStyle || getComputedStyle(obj),\n transform = style.transform || style.webkitTransform || style.mozTransform;\n var mat = transform.match(/^matrix3d\\((.+)\\)$/);\n if(mat) return parseFloat(mat[1].split(', ')[13]);\n mat = transform.match(/^matrix\\((.+)\\)$/);\n return mat ? parseFloat(mat[1].split(', ')[4]) : 0;\n}\n\nfunction getComputedTranslateY(obj)\n{\n if(!window.getComputedStyle) return;\n var style = obj.currentStyle || getComputedStyle(obj),\n transform = style.transform || style.webkitTransform || style.mozTransform;\n var mat = transform.match(/^matrix3d\\((.+)\\)$/);\n if(mat) return parseFloat(mat[1].split(', ')[13]);\n mat = transform.match(/^matrix\\((.+)\\)$/);\n return mat ? parseFloat(mat[1].split(', ')[5]) : 0;\n}\n\n\n ItemDrag.prototype.onPinch = function (event) {\n\n var pinch = this;\n var item = pinch.getItem();\n\n // If item is not active, reset drag.\n if (!item._isActive) {\n return pinch.stop();\n }\n\n var element = item._element;\n var pinchData = pinch._data;\n var grid = pinch.getGrid();\n var items = grid.getItems();\n\n var itemIndex;\n var tiddlerTitle;\n\n for (var i=0; i < items.length; i++) {\n if (items[i] === item) {\n itemIndex = i;\n }\n }\n\n var muuriParentWidget = grid._settings.muuriParentWidget;\n if (itemIndex !== undefined) {\n var tiddlerName = muuriParentWidget[0].children[itemIndex].variables.currentTiddler;\n tiddlerTitle = tiddlerName.value;\n }\n \n \nconst { styler, listen, multitouch, value } = window.popmotion;\nlet divStyler = styler(element);\n\nlet itemTranslateX = getComputedTranslateX(element);\nlet itemTranslateY = getComputedTranslateY(element);\nlet itemScale = getComputedScale(element);\n\nlet itemWidth = window.getComputedStyle(element,null).getPropertyValue(\"width\");\nlet itemHeight = window.getComputedStyle(element,null).getPropertyValue(\"height\");\n\nvar itemRealWidth = parseInt(itemWidth, 10);\nvar itemRealHeight = parseInt(itemHeight, 10);\nvar itemRotation = getComputedRotation(element); //Burning\n\nvar itemWidthComputed = (itemRealWidth * itemScale);\nvar itemHeightComputed = (itemRealHeight * itemScale);\n \nlet elementScaleRotation = value({ x: itemTranslateX, y: itemTranslateY }, divStyler.set);\n\n\nlisten(element, 'touchstart', { passive: true })\n .filter(({ touches }) => touches.length >= 2)\n .start((e) => {\n multitouch(elementScaleRotation.get())\n .start(elementScaleRotation);\n});\n\n\nvar storyWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n var storyWidth5 = ((storyWidth - 82) / 5);\n var storyWidth4 = ((storyWidth - 82) / 4);\n var storyWidth3 = ((storyWidth - 82) / 3);\n var storyWidth2 = ((storyWidth - 82) / 2);\n var storyWidth1 = (storyWidth - 82);\n var storyWidth6 = (storyWidth2 + storyWidth3);\nvar setTextOptions = { suppressTimestamp: true };\nvar field = \"span\";\nvar spanValue;\n\n var tiddlyTiddler = $tw.wiki.getTiddler(tiddlerTitle);\nvar fixedWidth = tiddlyTiddler.fields[\"muuri-tiddler-width\"];\n\nlisten(document, 'mouseup touchend')\n .start(() => {\n if (fixedWidth === undefined || fixedWidth === \"0\") {\n if ( itemWidthComputed >= (storyWidth6 + ((storyWidth1 - storyWidth6) / 2))) {\n addClass(element, \"span-12\");\n addClass(element, \"tc-dynaview-zoom-factor-4\");\n spanValue = 12;\n removeClass(element, \"span-6\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-2\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-1\");\n removeClass(element, \"tc-dynaview-zoom-factor-2\");\n removeClass(element, \"tc-dynaview-zoom-factor-3\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n } else if ((storyWidth6 + ((storyWidth1 - storyWidth6) / 2)) >= itemWidthComputed && itemWidthComputed >= (storyWidth2 + ((storyWidth6 - storyWidth2) / 3))) {\n addClass(element, \"span-9\");\n addClass(element, \"tc-dynaview-zoom-factor-4\");\n spanValue = 9;\n removeClass(element, \"span-6\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-2\");\n removeClass(element, \"span-12\");\n removeClass(element, \"span-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-1\");\n removeClass(element, \"tc-dynaview-zoom-factor-2\");\n removeClass(element, \"tc-dynaview-zoom-factor-3\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n } else if ((storyWidth2 + ((storyWidth6 - storyWidth2) / 2)) >= itemWidthComputed && itemWidthComputed >= (storyWidth3 + ((storyWidth2 - storyWidth3) / 3))) {\n addClass(element, \"span-6\");\n addClass(element, \"tc-dynaview-zoom-factor-3\");\n spanValue = 6;\n removeClass(element, \"span-12\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-2\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-1\");\n removeClass(element, \"tc-dynaview-zoom-factor-2\");\n removeClass(element, \"tc-dynaview-zoom-factor-4\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n } else if ((storyWidth3 + ((storyWidth2 - storyWidth3) / 3)) >= itemWidthComputed && itemWidthComputed >= (storyWidth4 + ((storyWidth3 - storyWidth4) / 3))) {\n addClass(element, \"span-4\");\n addClass(element, \"tc-dynaview-zoom-factor-2\");\n spanValue = 4;\n removeClass(element, \"span-12\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-2\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-3\");\n removeClass(element, \"tc-dynaview-zoom-factor-1\");\n removeClass(element, \"tc-dynaview-zoom-factor-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-3\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n } else if ((storyWidth4 + ((storyWidth3 - storyWidth4) / 3)) >= itemWidthComputed && itemWidthComputed >= (storyWidth5 + ((storyWidth4 - storyWidth5) / 3))) {\n addClass(element, \"span-3\");\n addClass(element, \"tc-dynaview-zoom-factor-1\");\n spanValue = 3;\n removeClass(element, \"span-12\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-2\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-2\");\n removeClass(element, \"tc-dynaview-zoom-factor-3\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n } else if ((storyWidth5 + (storyWidth4 - storyWidth5) / 3) >= itemWidthComputed) {\n addClass(element, \"span-2\");\n addClass(element, \"tc-dynaview-zoom-factor-1\");\n spanValue = 2;\n removeClass(element, \"span-12\");\n removeClass(element, \"span-6\");\n removeClass(element, \"span-3\");\n removeClass(element, \"span-9\");\n removeClass(element, \"span-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-4\");\n removeClass(element, \"tc-dynaview-zoom-factor-2\");\n removeClass(element, \"tc-dynaview-zoom-factor-3\");\n /*if (tiddlerTitle !== undefined) {\n $tw.wiki.setText(tiddlerTitle, field, undefined, spanValue + \"\", setTextOptions);\n grid.remove(element);\n }*/\n }\n }\n elementScaleRotation.stop();\n });\n\n // Overlap handling.\n\n setStyles(element, { transform: getTranslateStringTransformed(itemTranslateX, itemTranslateY)});\n\n return pinch;\n };\n\n /**\n * Drag scroll handler.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @param {Object} event\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.onScroll = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var axis = settings.dragAxis;\n var dragData = drag._data;\n var gridContainer = grid._element;\n var elementRect;\n var xDiff;\n var yDiff;\n var offsetDiff;\n\n rafLoop.add(rafQueueScroll, item._id, function () {\n\n // Calculate element's rect and x/y diff.\n elementRect = element.getBoundingClientRect();\n xDiff = dragData.elementClientX - elementRect.left;\n yDiff = dragData.elementClientY - elementRect.top;\n\n // Update container diff.\n if (dragData.container !== gridContainer) {\n offsetDiff = getOffsetDiff(dragData.containingBlock, gridContainer);\n dragData.containerDiffX = offsetDiff.left;\n dragData.containerDiffY = offsetDiff.top;\n }\n\n // Update horizontal position data.\n if (axis !== 'y') {\n dragData.left += xDiff;\n dragData.gridX = dragData.left - dragData.containerDiffX;\n }\n\n // Update vertical position data.\n if (axis !== 'x') {\n dragData.top += yDiff;\n dragData.gridY = dragData.top - dragData.containerDiffY;\n }\n\n // Overlap handling.\n settings.dragSort && drag._checkSortOverlap();\n\n }, function () {\n\n // Update element's translateX/Y values.\n setStyles(element, {transform: getTranslateString(dragData.left, dragData.top)});\n\n // Emit dragScroll event.\n grid._emit(evDragScroll, item, event);\n\n });\n\n return drag;\n\n };\n\n ItemDrag.prototype.onMouseUp = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var dragData = drag._data;\n var release = item._release;\n\n // If item is not active, reset drag.\n if (!item._isActive) {\n return drag.stop();\n }\n\n // Cancel raf loop actions.\n drag.cancelRafLoop();\n\n // Finish currently queued overlap check.\n settings.dragSort && drag._checkSortOverlap('finish');\n\n // Remove scroll listeners.\n drag.unbindScrollListeners();\n\n // Setup release data.\n release.containerDiffX = dragData.containerDiffX;\n release.containerDiffY = dragData.containerDiffY;\n\n // Reset drag data.\n drag.reset();\n\n // Remove drag classname from element.\n removeClass(element, settings.itemDraggingClass);\n\n // Emit dragEnd event.\n grid._emit(evDragEnd, item, event);\n\n // Finish up the migration process or start the release process.\n drag._isMigrating ? drag.finishMigration() : release.start();\n\n return drag;\n\n };\n\n /**\n * Drag end handler.\n *\n * @public\n * @memberof ItemDrag.prototype\n * @param {Object} event\n * @returns {ItemDrag}\n */\n ItemDrag.prototype.onEnd = function (event) {\n\n var drag = this;\n var item = drag.getItem();\n var element = item._element;\n var grid = drag.getGrid();\n var settings = grid._settings;\n var dragData = drag._data;\n var release = item._release;\n var result = drag._sortPredicate(item, drag._data.currentEvent);\n var targetsAreTiddlers = grid._settings.targetsAreTiddlers;\n var muuriListTiddler = grid._settings.muuriListTiddler;\n\n var itemCopy = item;\n\n\n var currentGrid;\n var currentIndex;\n var targetGrid;\n var targetIndex;\n var isMigration;\n\n // Let's make sure the result object has a valid index before going further.\n /* if (!isPlainObject(result) || typeof result.index !== typeNumber) {\n return drag;\n }*/\n\n currentGrid = item.getGrid();\n targetGrid = result.grid || currentGrid;\n isMigration = currentGrid !== targetGrid;\n currentIndex = currentGrid._items.indexOf(item);\n targetIndex = normalizeArrayIndex(targetGrid._items, result.index, isMigration);\n\n var gridItems = currentGrid.getItems();\n var dragElement = gridItems[currentIndex].getElement();\n var targetElement;\n\n // If item is not active, reset drag.\n if (!item._isActive) {\n return drag.stop();\n }\n\n // Cancel raf loop actions.\n drag.cancelRafLoop();\n\n // Finish currently queued overlap check.\n settings.dragSort && drag._checkSortOverlap('finish');\n\n // Remove scroll listeners.\n drag.unbindScrollListeners();\n\n // Setup release data.\n release.containerDiffX = dragData.containerDiffX;\n release.containerDiffY = dragData.containerDiffY;\n\n // Reset drag data.\n drag.reset();\n\n // Remove drag classname from element.\n removeClass(element, settings.itemDraggingClass);\n\n // Emit dragEnd event.\n grid._emit(evDragEnd, item, event);\n\n // Finish up the migration process or start the release process.\n drag._isMigrating ? drag.finishMigration() : release.start();\n\n var items = grid.getItems();\n var gridIndex = items.indexOf(item);\n\nif(targetsAreTiddlers !== false && storyListIndex != gridIndex && gridIndex !== -1 && currentGrid === targetGrid) {\n var storyList = $tw.wiki.getTiddlerList(\"$:/StoryList\");\n var isSwap = settings.dragSortPredicate.action;\nif (isSwap === \"move\") {\nstoryList.splice(gridIndex, 0, storyList.splice(storyListIndex, 1)[0]);\n} else if (isSwap === \"swap\") {\n\n // Swap the items.\n var temp = storyList[storyListIndex];\n storyList[storyListIndex] = storyList[gridIndex];\n storyList[gridIndex] = temp;\n}\n var setTextOptions = { suppressTimestamp: true };\n$tw.wiki.setText(\"$:/StoryList\", \"list\", undefined, storyList, setTextOptions);\n\n} \n \n if (muuriListTiddler !== undefined) {\n var muuriItems = grid.getItems();\n var currentMuuriList = $tw.wiki.getTiddlerList(muuriListTiddler,\"muuri-list\", undefined);\n var newMuuriList = currentMuuriList;\n var listOptions = { suppressTimestamp: true };\n \n for (var m=0; m < muuriItems.length; m++) {\n var muuriElement = muuriItems[m].getElement();\n var id = muuriElement.getAttribute(\"id\");\n\n newMuuriList[m] = id.toString();\n }\n \n var field = \"muuri-list\";\n\n var newMuuriListTiddler = muuriListTiddler.replace(/\\r?\\n|\\r/g, \"\").replace(/\\s+$/g,'');\n\n var newMuuriListJoined = newMuuriList.join(' ');\n \n $tw.wiki.setText(newMuuriListTiddler, field, undefined, newMuuriListJoined, listOptions);\n }\n\n return drag;\n\n };\n\n ItemDrag.prototype.onPinchEnd = function (event) {\n\n var pinch = this;\n var item = pinch.getItem();\n var element = item._element;\n var grid = pinch.getGrid();\n var settings = grid._settings;\n var pinchData = pinch._data;\n var release = item._release;\n\n // If item is not active, reset drag.\n if (!item._isActive) {\n return pinch.stop();\n }\n\n // Cancel raf loop actions.\n pinch.cancelRafLoop();\n\n // Finish currently queued overlap check.\n settings.dragSort && pinch._checkSortOverlap('finish');\n\n // Remove scroll listeners.\n pinch.unbindScrollListeners();\n\n // Setup release data.\n release.containerDiffX = pinchData.containerDiffX;\n release.containerDiffY = pinchData.containerDiffY;\n\n // Reset drag data.\n pinch.reset();\n\n // Remove drag classname from element.\n removeClass(element, settings.itemDraggingClass);\n\n // Emit dragEnd event.\n grid._emit(evDragEnd, item, event);\n\n // Finish up the migration process or start the release process.\n pinch._isMigrating ? pinch.finishMigration() : release.start();\n\n return pinch;\n\n };\n\n\n /**\n * Helpers - Generic\n * *****************\n */\n\n /**\n * Normalize array index. Basically this function makes sure that the provided\n * array index is within the bounds of the provided array and also transforms\n * negative index to the matching positive index.\n *\n * @private\n * @param {Array} array\n * @param {Number} index\n * @param {Boolean} isMigration\n */\n function normalizeArrayIndex(array, index, isMigration) {\n\n var length = array.length;\n var maxIndex = Math.max(0, isMigration ? length : length - 1);\n\n return index > maxIndex ? maxIndex :\n index < 0 ? Math.max(maxIndex + index + 1, 0) :\n index;\n\n }\n\n /**\n * Swap array items.\n *\n * @private\n * @param {Array} array\n * @param {Number} index\n * - Index (positive or negative) of the item that will be swapped.\n * @param {Number} withIndex\n * - Index (positive or negative) of the other item that will be swapped.\n */\n function arraySwap(array, index, withIndex) {\n\n // Make sure the array has two or more items.\n if (array.length < 2) {\n return;\n }\n\n // Normalize the indices.\n var indexA = normalizeArrayIndex(array, index);\n var indexB = normalizeArrayIndex(array, withIndex);\n var temp;\n\n // Swap the items.\n if (indexA !== indexB) {\n temp = array[indexA];\n array[indexA] = array[indexB];\n array[indexB] = temp;\n }\n\n }\n\n /**\n * Move array item to another index.\n *\n * @private\n * @param {Array} array\n * @param {Number} fromIndex\n * - Index (positive or negative) of the item that will be moved.\n * @param {Number} toIndex\n * - Index (positive or negative) where the item should be moved to.\n */\n function arrayMove(array, fromIndex, toIndex) {\n\n // Make sure the array has two or more items.\n if (array.length < 2) {\n return;\n }\n\n // Normalize the indices.\n var from = normalizeArrayIndex(array, fromIndex);\n var to = normalizeArrayIndex(array, toIndex);\n\n // Add target item to the new position.\n if (from !== to) {\n array.splice(to, 0, array.splice(from, 1)[0]);\n }\n\n }\n\n /**\n * Returns a new duplicate free version of the provided array.\n *\n * @private\n * @param {Array} array\n * @returns {Array}\n */\n function arrayUnique(array) {\n\n var ret = [];\n var len = array.length;\n var i;\n\n if (len) {\n ret[0] = array[0];\n for (i = 1; i < len; i++) {\n if (ret.indexOf(array[i]) < 0) {\n ret.push(array[i]);\n }\n }\n }\n\n return ret;\n\n }\n\n /**\n * Check if a value is a plain object.\n *\n * @private\n * @param {*} val\n * @returns {Boolean}\n */\n function isPlainObject(val) {\n\n return typeof val === 'object' && Object.prototype.toString.call(val) === '[object Object]';\n\n }\n\n /**\n * Check if a value is a node list\n *\n * @private\n * @param {*} val\n * @returns {Boolean}\n */\n function isNodeList(val) {\n\n var type = Object.prototype.toString.call(val);\n return type === '[object HTMLCollection]' || type === '[object NodeList]';\n\n }\n\n /**\n * Merge two objects recursively (deep merge). The source object's properties\n * are merged to the target object.\n *\n * @private\n * @param {Object} target\n * - The target object.\n * @param {Object} source\n * - The source object.\n * @returns {Object} Returns the target object.\n */\n function mergeObjects(target, source) {\n\n // Loop through the surce object's props.\n Object.keys(source).forEach(function (propName) {\n\n var isObject = isPlainObject(source[propName]);\n\n // If target and source values are both objects, merge the objects and\n // assign the merged value to the target property.\n if (isPlainObject(target[propName]) && isObject) {\n target[propName] = mergeObjects({}, target[propName]);\n target[propName] = mergeObjects(target[propName], source[propName]);\n }\n\n // Otherwise set the source object's value to target object and make sure\n // that object and array values are cloned and directly assigned.\n else {\n target[propName] = isObject ? mergeObjects({}, source[propName]) :\n Array.isArray(source[propName]) ? source[propName].concat() :\n source[propName];\n }\n\n });\n\n return target;\n\n }\n\n /**\n * Insert an item or an array of items to array to a specified index. Mutates\n * the array. The index can be negative in which case the items will be added\n * to the end of the array.\n *\n * @private\n * @param {Array} array\n * @param {*} items\n * @param {Number} [index=-1]\n */\n function insertItemsToArray(array, items, index) {\n\n var targetIndex = typeof index === typeNumber ? index : -1;\n array.splice.apply(array, [targetIndex < 0 ? array.length - targetIndex + 1 : targetIndex, 0].concat(items));\n\n }\n\n /**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. The returned function accepts one argument which, when\n * being \"finish\", calls the debounced function immediately if it is currently\n * waiting to be called, and when being \"cancel\" cancels the currently queued\n * function call.\n *\n * @private\n * @param {Function} fn\n * @param {Number} wait\n * @returns {Function}\n */\n function debounce(fn, wait) {\n\n var timeout;\n var actionCancel = 'cancel';\n var actionFinish = 'finish';\n\n return wait > 0 ? function (action) {\n\n if (timeout !== undefined) {\n timeout = global.clearTimeout(timeout);\n if (action === actionFinish) {\n fn();\n }\n }\n\n if (action !== actionCancel && action !== actionFinish) {\n timeout = global.setTimeout(function () {\n timeout = undefined;\n fn();\n }, wait);\n }\n\n } : function (action) {\n\n if (action !== actionCancel) {\n fn();\n }\n\n };\n\n }\n\n /**\n * Returns a raf loop queue system that allows pushing callbacks to either\n * the read queue or the write queue.\n *\n * @private\n * @returns {Object}\n */\n function createRafLoop() {\n\n var nextTick = null;\n var queue = [];\n var map = {};\n var raf = (global.requestAnimationFrame\n || global.webkitRequestAnimationFrame\n || global.mozRequestAnimationFrame\n || global.msRequestAnimationFrame\n || function (cb) {\n return global.setTimeout(cb, 16);\n }\n ).bind(global);\n\n function add(type, id, readCallback, writeCallback) {\n\n // First, let's check if an item has been added to the queues with the\n // same id and remove it.\n var currentIndex = queue.indexOf(type + id);\n if (currentIndex > -1) {\n queue.splice(currentIndex, 1);\n }\n\n // Add all move/scroll event callbacks to the beginning of the queue\n // and other callbacks to the end of the queue.\n type === rafQueueMove || type === rafQueueScroll ? queue.unshift(type + id) : queue.push(type + id);\n map[type + id] = [readCallback, writeCallback];\n\n // Finally, let's kickstart the next tick if it is not running yet.\n !nextTick && (nextTick = raf(flush));\n\n }\n\n function cancel(type, id) {\n\n // Let's check if an item has been added to the queue with the id and\n // if so -> remove it.\n var currentIndex = queue.indexOf(type + id);\n if (currentIndex > -1) {\n queue.splice(currentIndex, 1);\n map[type + id] = undefined;\n }\n\n }\n\n function flush() {\n\n var maxBatchSize = +Grid._maxRafBatchSize || 100;\n var batch = queue.splice(0, Math.min(maxBatchSize, queue.length));\n var batchMap = {};\n var i;\n\n // Reset ticker.\n nextTick = null;\n\n // Create batch map and clear map items.\n for (i = 0; i < batch.length; i++) {\n batchMap[batch[i]] = map[batch[i]];\n map[batch[i]] = undefined;\n }\n\n // Process read callbacks.\n for (i = 0; i < batch.length; i++) {\n batchMap[batch[i]][0]();\n }\n\n // Process write callbacks.\n for (i = 0; i < batch.length; i++) {\n batchMap[batch[i]][1]();\n }\n\n // Restart the ticker if needed.\n if (!nextTick && queue.length) {\n nextTick = raf(flush);\n }\n\n }\n\n return {\n add: add,\n cancel: cancel\n };\n\n }\n\n /**\n * Helpers - DOM utils\n * *******************\n */\n\n /**\n * Transforms a camel case style property to kebab case style property.\n *\n * @private\n * @param {String} string\n * @returns {String}\n */\n function getStyleName(string) {\n\n return string.replace(/([A-Z])/g, '-$1').toLowerCase();\n\n }\n\n /**\n * Returns the computed value of an element's style property as a string.\n *\n * @private\n * @param {HTMLElement} element\n * @param {String} style\n * @returns {String}\n */\n function getStyle(element, style) {\n\n return global.getComputedStyle(element, null).getPropertyValue(style === 'transform' ? transform.styleName || style : style);\n\n }\n\n /**\n * Returns the computed value of an element's style property transformed into\n * a float value.\n *\n * @private\n * @param {HTMLElement} el\n * @param {String} style\n * @returns {Number}\n */\n function getStyleAsFloat(el, style) {\n\n return parseFloat(getStyle(el, style)) || 0;\n\n }\n\n /**\n * Returns the element's computed translateX/Y value as a float. Assumes that\n * the translate value is defined as pixels.\n *\n * @private\n * @param {HTMLElement} element\n * @param {String} axis\n * - \"x\" or \"y\".\n * @returns {Number}\n */\n function getTranslateAsFloat(element, axis) {\n\n return parseFloat((getStyle(element, 'transform') || '').replace('matrix(', '').split(',')[axis === 'x' ? 4 : 5]) || 0;\n\n }\n\n /**\n * Transform translateX and translateY value into CSS transform style\n * property's value.\n *\n * @private\n * @param {Number} translateX\n * @param {Number} translateY\n * @returns {String}\n */\n function getTranslateString(translateX, translateY) {\n\n return 'translateX(' + translateX + 'px) translateY(' + translateY + 'px)';\n\n }\n\n function getTranslateStringTransformed(translateX, translateY, scale, rotate) {\n\n return 'translateX(' + translateX + 'px) translateY(' + translateY + 'px) scale(' + scale + ') rotate(' + rotate + 'deg)';\n\n }\n\n /**\n * Get current values of the provided styles definition object.\n *\n * @private\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {Object}\n */\n function getCurrentStyles(element, styles) {\n\n var current = {};\n var keys = Object.keys(styles);\n var i;\n\n for (i = 0; i < keys.length; i++) {\n current[keys[i]] = getStyle(element, getStyleName(keys[i]));\n }\n\n return current;\n\n }\n\n /**\n * Set inline styles to an element.\n *\n * @private\n * @param {HTMLElement} element\n * @param {Object} styles\n */\n function setStyles(element, styles) {\n\n var props = Object.keys(styles);\n var i;\n\n for (i = 0; i < props.length; i++) {\n element.style[props[i] === 'transform' && transform ? transform.propName : props[i]] = styles[props[i]];\n }\n\n }\n\n /**\n * Add class to an element.\n *\n * @private\n * @param {HTMLElement} element\n * @param {String} className\n */\n function addClass(element, className) {\n\n if (element.classList) {\n element.classList.add(className);\n }\n else if (!elementMatches(element, '.' + className)) {\n element.className += ' ' + className;\n }\n\n }\n\n /**\n * Remove class name from an element.\n *\n * @private\n * @param {HTMLElement} element\n * @param {String} className\n */\n function removeClass(element, className) {\n\n if (element.classList) {\n element.classList.remove(className);\n }\n else if (elementMatches(element, '.' + className)) {\n element.className = (' ' + element.className + ' ').replace(' ' + className + ' ', ' ').trim();\n }\n\n }\n\n /**\n * Convert nodeList to array.\n *\n * @private\n * @param {NodeList} nodeList\n * @returns {HTMLElement[]}\n */\n function nodeListToArray(nodeList) {\n\n return [].slice.call(nodeList);\n\n }\n\n /**\n * Checks the supported element.matches() method and returns a function that\n * can be used to call the supported method.\n *\n * @private\n * @returns {Function}\n */\n function getSupportedElementMatches() {\n\n var p = Element.prototype;\n var fn = p.matches || p.matchesSelector || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector || p.oMatchesSelector;\n\n return function (el, selector) {\n return fn.call(el, selector);\n };\n\n }\n\n /**\n * Returns the supported style property's prefix, property name and style name\n * or null if the style property is not supported. This is used for getting\n * the supported transform.\n *\n * @private\n * @param {String} style\n * @returns {?Object}\n */\n function getSupportedStyle(style) {\n\n var styleCap = style.charAt(0).toUpperCase() + style.slice(1);\n var prefixes = ['', 'Webkit', 'Moz', 'O', 'ms'];\n var prefix;\n var propName;\n var i;\n\n for (i = 0; i < prefixes.length; i++) {\n prefix = prefixes[i];\n propName = prefix ? prefix + styleCap : style;\n if (docElem.style[propName] !== undefined) {\n prefix = prefix.toLowerCase();\n return {\n prefix: prefix,\n propName: propName,\n styleName: prefix ? '-' + prefix + '-' + style : style\n };\n }\n }\n\n return null;\n\n }\n\n /**\n * Calculate the offset difference two elements.\n *\n * @private\n * @param {HTMLElement} elemA\n * @param {HTMLElement} elemB\n * @param {Boolean} [compareContainingBlocks=false]\n * - When this is set to true the containing blocks of the provided elements\n * will be used for calculating the difference. Otherwise the provided\n * elements will be compared directly.\n * @returns {Object}\n */\n function getOffsetDiff(elemA, elemB, compareContainingBlocks) {\n\n if (elemA === elemB) {\n return {\n left: 0,\n top: 0\n };\n }\n\n if (compareContainingBlocks) {\n elemA = getContainingBlock(elemA, true);\n elemB = getContainingBlock(elemB, true);\n }\n\n var aOffset = getOffset(elemA, true);\n var bOffset = getOffset(elemB, true);\n\n return {\n left: bOffset.left - aOffset.left,\n top: bOffset.top - aOffset.top\n };\n\n }\n\n /**\n * Returns the element's document offset, which in practice means the vertical\n * and horizontal distance between the element's northwest corner and the\n * document's northwest corner.\n *\n * @private\n * @param {(Document|Element|Window)} element\n * @param {Boolean} [excludeElementBorders=false]\n * @returns {Offset}\n */\n function getOffset(element, excludeElementBorders) {\n\n var rect;\n var ret = {\n left: 0,\n top: 0\n };\n\n // Document's offsets are always 0.\n if (element === doc) {\n return ret;\n }\n\n // Add viewport's scroll left/top to the respective offsets.\n ret.left = global.pageXOffset || 0;\n ret.top = global.pageYOffset || 0;\n\n // Window's offsets are the viewport's scroll left/top values.\n if (element.self === global.self) {\n return ret;\n }\n\n // Add element's client rects to the offsets.\n rect = element.getBoundingClientRect();\n ret.left += rect.left;\n ret.top += rect.top;\n\n // Exclude element's borders from the offset if needed.\n if (excludeElementBorders) {\n ret.left += getStyleAsFloat(element, 'border-left-width');\n ret.top += getStyleAsFloat(element, 'border-top-width');\n }\n\n return ret;\n\n }\n\n /**\n * Returns an aabsolute positioned element's containing block, which is\n * considered to be the closest ancestor element that the target element's\n * positioning is relative to. Disclaimer: this only works as intended for\n * abolute positioned elements.\n *\n * @private\n * @param {HTMLElement} element\n * @param {Boolean} [isParent=false]\n * - When this is set to true the containing block checking is started from\n * the provided element. Otherwise the checking is started from the\n * provided element's parent element.\n * @returns {(Document|Element)}\n */\n function getContainingBlock(element, isParent) {\n\n // As long as the containing block is an element, static and not\n // transformed, try to get the element's parent element and fallback to\n // document. https://github.com/niklasramo/mezr/blob/0.6.1/mezr.js#L339\n var ret = (isParent ? element : element.parentElement) || doc;\n while (ret && ret !== doc && getStyle(ret, 'position') === 'static' && !isTransformed(ret)) {\n ret = ret.parentElement || doc;\n }\n\n return ret;\n\n }\n\n /**\n * Get element's scroll parents.\n *\n * Borrowed from jQuery UI library (and heavily modified):\n * https://github.com/jquery/jquery-ui/blob/63448148a217da7e64c04b21a04982f0d6\n * 4aabaa/ui/scroll-parent.js\n *\n * @private\n * @param {HTMLElement} element\n * @returns {HTMLElement[]}\n */\n function getScrollParents(element) {\n\n var ret = [];\n var overflowRegex = /(auto|scroll)/;\n var parent = element.parentNode;\n\n // If transformed elements leak fixed elements.\n if (transformLeaksFixed) {\n\n // If the element is fixed it can not have any scroll parents.\n if (getStyle(element, 'position') === 'fixed') {\n return ret;\n }\n\n // Find scroll parents.\n while (parent && parent !== doc && parent !== docElem) {\n if (overflowRegex.test(getStyle(parent, 'overflow') + getStyle(parent, 'overflow-y') + getStyle(parent, 'overflow-x'))) {\n ret.push(parent);\n }\n parent = getStyle(parent, 'position') === 'fixed' ? null : parent.parentNode;\n }\n\n // If parent is not fixed element, add window object as the last scroll\n // parent.\n parent !== null && ret.push(global);\n\n }\n // If fixed elements behave as defined in the W3C specification.\n else {\n\n // Find scroll parents.\n while (parent && parent !== doc) {\n\n // If the currently looped element is fixed ignore all parents that are\n // not transformed.\n if (getStyle(element, 'position') === 'fixed' && !isTransformed(parent)) {\n parent = parent.parentNode;\n continue;\n }\n\n // Add the parent element to return items if it is scrollable.\n if (overflowRegex.test(getStyle(parent, 'overflow') + getStyle(parent, 'overflow-y') + getStyle(parent, 'overflow-x'))) {\n ret.push(parent);\n }\n\n // Update element and parent references.\n element = parent;\n parent = parent.parentNode;\n\n }\n\n // If the last item is the root element, replace it with the global\n // object (window). The root element scroll is propagated to the window.\n if (ret[ret.length - 1] === docElem) {\n ret[ret.length - 1] = global;\n }\n\n // Otherwise add global object (window) as the last scroll parent.\n else {\n ret.push(global);\n }\n\n }\n\n return ret;\n\n }\n\n /**\n * Detects if transformed elements leak fixed elements. According W3C\n * transform rendering spec a transformed element should contain even fixed\n * elements. Meaning that fixed elements are positioned relative to the\n * closest transformed ancestor element instead of window. However, not every\n * browser follows the spec (IE and older Firefox). So we need to test it.\n * https://www.w3.org/TR/css3-2d-transforms/#transform-rendering\n *\n * Borrowed from Mezr (v0.6.1):\n * https://github.com/niklasramo/mezr/blob/0.6.1/mezr.js#L607\n *\n * @private\n * @returns {Boolean}\n * - Returns true if transformed elements leak fixed elements, false\n * otherwise.\n */\n function doesTransformLeakFixed() {\n\n if (!transform) {\n return true;\n }\n\n var elems = [0, 1].map(function (elem, isInner) {\n elem = doc.createElement('div');\n setStyles(elem, {\n position: isInner ? 'fixed' : 'absolute',\n display: 'block',\n visibility: 'hidden',\n left: isInner ? '0px' : '1px',\n transform: 'none'\n });\n return elem;\n });\n var outer = body.appendChild(elems[0]);\n var inner = outer.appendChild(elems[1]);\n var left = inner.getBoundingClientRect().left;\n setStyles(outer, {transform: 'scale(1)'});\n var isLeaking = left === inner.getBoundingClientRect().left;\n body.removeChild(outer);\n\n return isLeaking;\n\n }\n\n /**\n * Returns true if element is transformed, false if not. In practice the\n * element's display value must be anything else than \"none\" or \"inline\" as\n * well as have a valid transform value applied in order to be counted as a\n * transformed element.\n *\n * Borrowed from Mezr (v0.6.1):\n * https://github.com/niklasramo/mezr/blob/0.6.1/mezr.js#L661\n *\n * @private\n * @param {HTMLElement} element\n * @returns {Boolean}\n */\n function isTransformed(element) {\n\n var transform = getStyle(element, 'transform');\n var display = getStyle(element, 'display');\n\n return transform !== 'none' && display !== 'inline' && display !== 'none';\n\n }\n\n /**\n * Calculate how many percent the intersection area of two rectangles is from\n * the maximum potential intersection area between the rectangles.\n *\n * @private\n * @param {Rectangle} a\n * @param {Rectangle} b\n * @returns {Number}\n * - A number between 0-100.\n */\n function getRectOverlapScore(a, b) {\n\n // Return 0 immediately if the rectangles do not overlap.\n if (!muuriLayout.doRectsOverlap(a, b)) {\n return 0;\n }\n\n // Calculate intersection area's width, height, max height and max width.\n var width = Math.min(a.left + a.width, b.left + b.width) - Math.max(a.left, b.left);\n var height = Math.min(a.top + a.height, b.top + b.height) - Math.max(a.top, b.top);\n var maxWidth = Math.min(a.width, b.width);\n var maxHeight = Math.min(a.height, b.height);\n\n return (width * height) / (maxWidth * maxHeight) * 100;\n\n }\n\n /**\n * Helpers - Item sort utilities\n * *****************************\n */\n\n /**\n * Helper for the sort method to generate mapped version of the items array\n * than contains reference to the item indices.\n *\n * @private\n * @param {Item[]} items\n * @returns {Object}\n */\n function getItemIndexMap(items) {\n\n var ret = {};\n var i;\n\n for (i = 0; i < items.length; i++) {\n ret[items[i]._id] = i;\n }\n\n return ret;\n\n }\n\n /**\n * Helper for the sort method to compare the indices of the items to enforce\n * stable sort.\n *\n * @private\n * @param {Item} itemA\n * @param {Item} itemB\n * @param {Boolean} isDescending\n * @param {Object} indexMap\n * @returns {Number}\n */\n function compareItemIndices(itemA, itemB, isDescending, indexMap) {\n\n var indexA = indexMap[itemA._id];\n var indexB = indexMap[itemB._id];\n return isDescending ? indexB - indexA : indexA - indexB;\n\n }\n\n /**\n * Helper for the sort method to compare the items based on the provided\n * attributes.\n *\n * @private\n * @param {Item} itemA\n * @param {Item} itemB\n * @param {Boolean} isDescending\n * @param {Object} criterias\n * @returns {Number}\n */\n function compareItems(itemA, itemB, isDescending, criterias) {\n\n var ret = 0;\n var criteriaName;\n var criteriaOrder;\n var valA;\n var valB;\n var i;\n\n // Loop through the list of sort criterias.\n for (i = 0; i < criterias.length; i++) {\n\n // Get the criteria name, which should match an item's sort data key.\n criteriaName = criterias[i][0];\n criteriaOrder = criterias[i][1];\n\n // Get items' cached sort values for the criteria. If the item has no sort\n // data let's update the items sort data (this is a lazy load mechanism).\n valA = (itemA._sortData ? itemA : itemA._refreshSortData())._sortData[criteriaName];\n valB = (itemB._sortData ? itemB : itemB._refreshSortData())._sortData[criteriaName];\n\n // Sort the items in descending order if defined so explicitly.\n if (criteriaOrder === 'desc' || (!criteriaOrder && isDescending)) {\n ret = valB < valA ? -1 : valB > valA ? 1 : 0;\n }\n\n // Otherwise sort items in ascending order.\n else {\n ret = valA < valB ? -1 : valA > valB ? 1 : 0;\n }\n\n // If we have -1 or 1 as the return value, let's return it immediately.\n if (ret !== 0) {\n return ret;\n }\n\n }\n\n return ret;\n\n }\n\n /**\n * Reorder an array of items based on another array of items.\n *\n * @private\n * @param {Item[]} items\n * @param {Item[]} refItems\n * @returns {Item[]}\n */\n function sortItemsByReference(items, refItems) {\n\n var newItems = [];\n var currentItems = items.concat();\n var item;\n var currentIndex;\n var i;\n\n for (i = 0; i < refItems.length; i++) {\n item = refItems[i];\n currentIndex = currentItems.indexOf(item);\n if (currentIndex > -1) {\n newItems.push(item);\n currentItems.splice(currentIndex, 1);\n }\n }\n\n items.splice.apply(items, [0, items.length].concat(newItems).concat(currentItems));\n\n return items;\n\n }\n\n /**\n * Check if a point (coordinate) is within a rectangle.\n *\n * @private\n * @param {Number} x\n * @param {Number} y\n * @param {Rectangle} rect\n * @return {Boolean}\n */\n function isPointWithinRect(x, y, rect) {\n\n return rect.width\n && rect.height\n && x >= rect.left\n && x < (rect.left + rect.width)\n && y >= rect.top\n && y < (rect.top + rect.height);\n\n }\n\n /**\n * Helpers - Muuri\n * ***************\n */\n\n /**\n * Show or hide Grid instance's items.\n *\n * @private\n * @param {Grid} inst\n * @param {String} method\n * - \"show\" or \"hide\".\n * @param {(GridMultiItemQuery|GridItemState)} items\n * @param {Object} [options]\n * @param {Boolean} [options.instant=false]\n * @param {(ShowCallback|HideCallback)} [options.onFinish]\n * @param {(Boolean|LayoutCallback|String)} [options.layout=true]\n * @returns {Grid}\n */\n function gridShowHideHandler(inst, method, items, options) {\n\n var targetItems = inst.getItems(items);\n var opts = options || {};\n var isInstant = opts.instant === true;\n var callback = opts.onFinish;\n var layout = opts.layout ? opts.layout : opts.layout === undefined;\n var counter = targetItems.length;\n var isShow = method === 'show';\n var startEvent = isShow ? evShowStart : evHideStart;\n var endEvent = isShow ? evShowEnd : evHideEnd;\n var needsLayout = false;\n var completedItems = [];\n var hiddenItems = [];\n var item;\n var i;\n\n // If there are no items call the callback, but don't emit any events.\n if (!counter) {\n if (typeof callback === typeFunction) {\n callback(targetItems);\n }\n }\n\n // Otherwise if we have some items let's dig in.\n else {\n\n // Emit showStart/hideStart event.\n inst._emit(startEvent, targetItems.concat());\n\n // Show/hide items.\n for (i = 0; i < targetItems.length; i++) {\n\n item = targetItems[i];\n\n // If inactive item is shown or active item is hidden we need to do\n // layout.\n if ((isShow && !item._isActive) || (!isShow && item._isActive)) {\n needsLayout = true;\n }\n\n // If inactive item is shown we also need to do some special hackery to\n // make the item not animate it's next positioning (layout).\n if (isShow && !item._isActive) {\n item._skipNextLayoutAnimation = true;\n }\n\n // If the a hidden item is being shown we need to refresh the item's\n // dimensions.\n isShow && item._isHidden && hiddenItems.push(item);\n\n // Show/hide the item.\n item['_' + method](isInstant, function (interrupted, item) {\n\n // If the current item's animation was not interrupted add it to the\n // completedItems array.\n if (!interrupted) {\n completedItems.push(item);\n }\n\n // If all items have finished their animations call the callback\n // and emit showEnd/hideEnd event.\n if (--counter < 1) {\n if (typeof callback === typeFunction) {\n callback(completedItems.concat());\n }\n inst._emit(endEvent, completedItems.concat());\n }\n\n });\n\n }\n\n // Refresh hidden items.\n hiddenItems.length && inst.refreshItems(hiddenItems);\n\n // Layout if needed.\n if (needsLayout && layout) {\n inst.layout(layout === 'instant', typeof layout === typeFunction ? layout : undefined);\n }\n\n }\n\n return inst;\n\n }\n\n /**\n * Returns an object which contains start and stop methods for item's\n * show/hide process.\n *\n * @param {String} type\n * @param {Object} settings\n * @returns {Object}\n */\n function getItemVisibilityHandler(type, settings) {\n\n var isShow = type === 'show';\n var duration = parseInt(isShow ? settings.showDuration : settings.hideDuration) || 0;\n var easing = (isShow ? settings.showEasing : settings.hideEasing) || 'ease';\n var styles = isShow ? settings.visibleStyles : settings.hiddenStyles;\n var isEnabled = duration > 0;\n var currentStyles;\n\n styles = isPlainObject(styles) ? styles : null;\n\n return {\n start: function (item, instant, onFinish) {\n if (!styles) {\n onFinish && onFinish();\n }\n else {\n rafLoop.cancel(rafQueueVisibility, item._id);\n if (!isEnabled || instant) {\n if (item._animateChild.isAnimating()) {\n item._animateChild.stop(styles);\n }\n else {\n setStyles(item._child, styles);\n }\n onFinish && onFinish();\n }\n else {\n rafLoop.add(rafQueueVisibility, item._id, function () {\n currentStyles = getCurrentStyles(item._child, styles);\n }, function () {\n item._animateChild.start(currentStyles, styles, {\n duration: duration,\n easing: easing,\n onFinish: onFinish\n });\n });\n }\n }\n },\n stop: function (item, targetStyles) {\n rafLoop.cancel(rafQueueVisibility, item._id);\n item._animateChild.stop(targetStyles);\n }\n };\n\n }\n\n /**\n * Get target grid for the default drag sort predicate.\n *\n * @private\n * @param {Item} item\n * @param {Grid} rootGrid\n * @param {Rectangle} itemRect\n * @param {Number} threshold\n * @returns {?Grid}\n */\n function getTargetGrid(item, rootGrid, itemRect, threshold) {\n\n var ret = null;\n var dragSort = rootGrid._settings.dragSort;\n var grids = dragSort === true ? [rootGrid] : dragSort.call(rootGrid, item);\n var bestScore = -1;\n var gridScore;\n var grid;\n var i;\n\n // Return immediately if there are no grids.\n if (!Array.isArray(grids)) {\n return ret;\n }\n\n // Loop through the grids and get the best match.\n for (i = 0; i < grids.length; i++) {\n\n grid = grids[i];\n\n // Filter out all destroyed grids.\n if (grid._isDestroyed) {\n continue;\n }\n\n // We need to update the grid's offset since it may have changed during\n // scrolling. This could be left as problem for the userland, but it's\n // much nicer this way. One less hack for the user to worry about =)\n grid._refreshDimensions();\n\n // Check how much dragged element overlaps the container element.\n gridScore = getRectOverlapScore(itemRect, {\n width: grid._width,\n height: grid._height,\n left: grid._left,\n top: grid._top\n });\n\n // Check if this grid is the best match so far.\n if (gridScore > threshold && gridScore > bestScore) {\n bestScore = gridScore;\n ret = grid;\n }\n\n }\n\n return ret;\n\n }\n\n /**\n * Process item's callback queue.\n *\n * @private\n * @param {Function[]} queue\n * @param {Boolean} interrupted\n * @param {Item} instance\n */\n function processQueue(queue, interrupted, instance) {\n\n var callbacks = queue.splice(0, queue.length);\n var i;\n\n for (i = 0; i < callbacks.length; i++) {\n callbacks[i](interrupted, instance);\n }\n\n }\n\n /**\n * Check if item is in specific state.\n *\n * @private\n * @param {Item} item\n * @param {GridItemState} state\n * - Accepted values are: \"active\", \"inactive\", \"visible\", \"hidden\",\n * \"showing\", \"hiding\", \"positioning\", \"dragging\", \"releasing\" and\n * \"migrating\".\n * @returns {Boolean}\n */\n function isItemInState(item, state) {\n\n var methodName;\n\n if (state === 'inactive') {\n return !item.isActive();\n }\n\n if (state === 'hidden') {\n return !item.isVisible();\n }\n\n methodName = 'is' + state.charAt(0).toUpperCase() + state.slice(1);\n\n return typeof item[methodName] === typeFunction ? item[methodName]() : false;\n\n }\n\n /**\n * Prevent default.\n *\n * @private\n * @param {Object} e\n */\n function preventDefault(e) {\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n }\n\n /**\n * Merge default settings with user settings. The returned object is a new\n * object with merged values. The merging is a deep merge meaning that all\n * objects and arrays within the provided settings objects will be also merged\n * so that modifying the values of the settings object will have no effect on\n * the returned object.\n *\n * @private\n * @param {Object} defaultSettings\n * @param {Object} [userSettings]\n * @returns {Object} Returns a new object.\n */\n function mergeSettings(defaultSettings, userSettings) {\n\n // Create a fresh copy of default settings.\n var ret = mergeObjects({}, defaultSettings);\n\n // Merge user settings to default settings.\n ret = userSettings ? mergeObjects(ret, userSettings) : ret;\n\n // Handle visible/hidden styles manually so that the whole object is\n // overriden instead of the props.\n ret.visibleStyles = (userSettings || {}).visibleStyles || (defaultSettings || {}).visibleStyles;\n ret.hiddenStyles = (userSettings || {}).hiddenStyles || (defaultSettings || {}).hiddenStyles;\n\n return ret;\n\n }\n\n /**\n * Resolver for default drag start predicate function.\n *\n * @private\n * @param {Item} item\n * @param {Object} event\n * @returns {Boolean}\n */\n function dragStartPredicateResolve(item, event) {\n\n var predicate = item._drag._startPredicateData;\n var pointer = event.changedPointers[0];\n var pageX = pointer && pointer.pageX || 0;\n var pageY = pointer && pointer.pageY || 0;\n var handleRect;\n\n // If the moved distance is smaller than the threshold distance or there is\n // some delay left, ignore this predicate cycle.\n if (event.distance < predicate.distance || predicate.delay) {\n return;\n }\n\n // Get handle rect.\n handleRect = predicate.handleElement.getBoundingClientRect();\n\n // Reset predicate data.\n dragStartPredicateReset(item);\n\n // If the cursor is still within the handle let's start the drag.\n return isPointWithinRect(pageX, pageY, {\n width: handleRect.width,\n height: handleRect.height,\n left: handleRect.left + (global.pageXOffset || 0),\n top: handleRect.top + (global.pageYOffset || 0)\n });\n\n }\n\n /**\n * Reset for default drag start predicate function.\n *\n * @private\n * @param {Item} item\n */\n function dragStartPredicateReset(item) {\n\n var predicate = item._drag._startPredicateData;\n\n if (predicate) {\n if (predicate.delayTimer) {\n predicate.delayTimer = global.clearTimeout(predicate.delayTimer);\n }\n item._drag._startPredicateData = null;\n }\n\n }\n\n /**\n * Default layout algorithm\n * ************************\n */\n\n /*!\n * muuriLayout v0.5.3\n * Copyright (c) 2016 Niklas Rämö <inramo@gmail.com>\n * Released under the MIT license\n */\n\n /**\n * The default Muuri layout algorithm. Based on MAXRECTS approach as described\n * by Jukka Jylänki in his survey: \"A Thousand Ways to Pack the Bin - A\n * Practical Approach to Two-Dimensional Rectangle Bin Packing.\".\n *\n * This algorithm is intentionally separated from the rest of the codebase,\n * because it is it's own library with a different copyright than the rest of\n * the software. It's also MIT licensed so no worries there. This is intended\n * to be used as Muuri's default layout algorithm and goes hand in hand with\n * Muuri's core development.\n *\n * @private\n * @param {Item[]} items\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Boolean} [options.fillGaps=false]\n * @param {Boolean} [options.horizontal=false]\n * @param {Boolean} [options.alignRight=false]\n * @param {Boolean} [options.alignBottom=false]\n * @returns {LayoutData}\n */\n function muuriLayout(items, width, height, options) {\n\n var fillGaps = !!options.fillGaps;\n var isHorizontal = !!options.horizontal;\n var alignRight = !!options.alignRight;\n var alignBottom = !!options.alignBottom;\n var rounding = !!options.rounding;\n var layout = {\n slots: {},\n width: isHorizontal ? 0 : (rounding ? Math.round(width) : width),\n height: !isHorizontal ? 0 : (rounding ? Math.round(height) : height),\n setWidth: isHorizontal,\n setHeight: !isHorizontal\n };\n var freeSlots = [];\n var slotIds;\n var slotData;\n var slot;\n var item;\n var itemWidth;\n var itemHeight;\n var i;\n\n // No need to go further if items do not exist.\n if (!items.length) {\n return layout;\n }\n\n // Find slots for items.\n for (i = 0; i < items.length; i++) {\n item = items[i];\n itemWidth = item._width + item._margin.left + item._margin.right;\n itemHeight = item._height + item._margin.top + item._margin.bottom;\n if (rounding) {\n itemWidth = Math.round(itemWidth);\n itemHeight = Math.round(itemHeight);\n }\n slotData = muuriLayout.getSlot(layout, freeSlots, itemWidth, itemHeight, !isHorizontal, fillGaps);\n slot = slotData[0];\n freeSlots = slotData[1];\n if (isHorizontal) {\n layout.width = Math.max(layout.width, slot.left + slot.width);\n }\n else {\n layout.height = Math.max(layout.height, slot.top + slot.height);\n }\n layout.slots[item._id] = slot;\n }\n\n // If the alignment is set to right or bottom, we need to adjust the\n // results.\n if (alignRight || alignBottom) {\n slotIds = Object.keys(layout.slots);\n for (i = 0; i < slotIds.length; i++) {\n slot = layout.slots[slotIds[i]];\n if (alignRight) {\n slot.left = layout.width - (slot.left + slot.width);\n }\n if (alignBottom) {\n slot.top = layout.height - (slot.top + slot.height);\n }\n }\n }\n\n return layout;\n\n }\n\n /**\n * Calculate position for the layout item. Returns the left and top position\n * of the item in pixels.\n *\n * @private\n * @memberof muuriLayout\n * @param {Layout} layout\n * @param {Array} slots\n * @param {Number} itemWidth\n * @param {Number} itemHeight\n * @param {Boolean} vertical\n * @param {Boolean} fillGaps\n * @returns {Array}\n */\n muuriLayout.getSlot = function (layout, slots, itemWidth, itemHeight, vertical, fillGaps) {\n\n var leeway = 0.001;\n var newSlots = [];\n var item = {\n left: null,\n top: null,\n width: itemWidth,\n height: itemHeight\n };\n var slot;\n var potentialSlots;\n var ignoreCurrentSlots;\n var i;\n var ii;\n\n // Try to find a slot for the item.\n for (i = 0; i < slots.length; i++) {\n slot = slots[i];\n if (item.width <= (slot.width + leeway) && item.height <= (slot.height + leeway)) {\n item.left = slot.left;\n item.top = slot.top;\n break;\n }\n }\n\n // If no slot was found for the item.\n if (item.left === null) {\n\n // Position the item in to the bottom left (vertical mode) or top right\n // (horizontal mode) of the grid.\n item.left = vertical ? 0 : layout.width;\n item.top = vertical ? layout.height : 0;\n\n // If gaps don't needs filling do not add any current slots to the new\n // slots array.\n if (!fillGaps) {\n ignoreCurrentSlots = true;\n }\n\n }\n\n // In vertical mode, if the item's bottom overlaps the grid's bottom.\n if (vertical && (item.top + item.height) > layout.height) {\n\n // If item is not aligned to the left edge, create a new slot.\n if (item.left > 0) {\n newSlots.push({\n left: 0,\n top: layout.height,\n width: item.left,\n height: Infinity\n });\n }\n\n // If item is not aligned to the right edge, create a new slot.\n if ((item.left + item.width) < layout.width) {\n newSlots.push({\n left: item.left + item.width,\n top: layout.height,\n width: layout.width - item.left - item.width,\n height: Infinity\n });\n }\n\n // Update grid height.\n layout.height = item.top + item.height;\n\n }\n\n // In horizontal mode, if the item's right overlaps the grid's right edge.\n if (!vertical && (item.left + item.width) > layout.width) {\n\n // If item is not aligned to the top, create a new slot.\n if (item.top > 0) {\n newSlots.push({\n left: layout.width,\n top: 0,\n width: Infinity,\n height: item.top\n });\n }\n\n // If item is not aligned to the bottom, create a new slot.\n if ((item.top + item.height) < layout.height) {\n newSlots.push({\n left: layout.width,\n top: item.top + item.height,\n width: Infinity,\n height: layout.height - item.top - item.height\n });\n }\n\n // Update grid width.\n layout.width = item.left + item.width;\n\n }\n\n // Clean up the current slots making sure there are no old slots that\n // overlap with the item. If an old slot overlaps with the item, split it\n // into smaller slots if necessary.\n for (i = fillGaps ? 0 : ignoreCurrentSlots ? slots.length : i; i < slots.length; i++) {\n potentialSlots = muuriLayout.splitRect(slots[i], item);\n for (ii = 0; ii < potentialSlots.length; ii++) {\n slot = potentialSlots[ii];\n // Let's make sure here that we have a big enough slot\n // (width/height > 0.49px) and also let's make sure that the slot is\n // within the boundaries of the grid.\n if (slot.width > 0.49 && slot.height > 0.49 && ((vertical && slot.top < layout.height) || (!vertical && slot.left < layout.width))) {\n newSlots.push(slot);\n }\n }\n }\n\n // Sanitize new slots.\n if (newSlots.length) {\n newSlots = muuriLayout.purgeRects(newSlots).sort(vertical ? muuriLayout.sortRectsTopLeft : muuriLayout.sortRectsLeftTop);\n }\n\n // Return the item and updated slots data.\n return [item, newSlots];\n\n };\n\n /**\n * Punch a hole into a rectangle and split the remaining area into smaller\n * rectangles (4 at max).\n *\n * @private\n * @param {Rectangle} rect\n * @param {Rectangle} hole\n * returns {Rectangle[]}\n */\n muuriLayout.splitRect = function (rect, hole) {\n\n var ret = [];\n\n // If the rect does not overlap with the hole add rect to the return data as\n // is.\n if (!muuriLayout.doRectsOverlap(rect, hole)) {\n return [{\n left: rect.left,\n top: rect.top,\n width: rect.width,\n height: rect.height\n }];\n }\n\n // Left split.\n if (rect.left < hole.left) {\n ret.push({\n left: rect.left,\n top: rect.top,\n width: hole.left - rect.left,\n height: rect.height\n });\n }\n\n // Right split.\n if ((rect.left + rect.width) > (hole.left + hole.width)) {\n ret.push({\n left: hole.left + hole.width,\n top: rect.top,\n width: (rect.left + rect.width) - (hole.left + hole.width),\n height: rect.height\n });\n }\n\n // Top split.\n if (rect.top < hole.top) {\n ret.push({\n left: rect.left,\n top: rect.top,\n width: rect.width,\n height: hole.top - rect.top\n });\n }\n\n // Bottom split.\n if ((rect.top + rect.height) > (hole.top + hole.height)) {\n ret.push({\n left: rect.left,\n top: hole.top + hole.height,\n width: rect.width,\n height: (rect.top + rect.height) - (hole.top + hole.height)\n });\n }\n\n return ret;\n\n };\n\n /**\n * Check if two rectangles overlap.\n *\n * @private\n * @memberof muuriLayout\n * @param {Rectangle} a\n * @param {Rectangle} b\n * @returns {Boolean}\n */\n muuriLayout.doRectsOverlap = function (a, b) {\n\n return !((a.left + a.width) <= b.left || (b.left + b.width) <= a.left || (a.top + a.height) <= b.top || (b.top + b.height) <= a.top);\n\n };\n\n /**\n * Check if a rectangle is fully within another rectangle.\n *\n * @private\n * @memberof muuriLayout\n * @param {Rectangle} a\n * @param {Rectangle} b\n * @returns {Boolean}\n */\n muuriLayout.isRectWithinRect = function (a, b) {\n\n return a.left >= b.left && a.top >= b.top && (a.left + a.width) <= (b.left + b.width) && (a.top + a.height) <= (b.top + b.height);\n\n };\n\n /**\n * Loops through an array of rectangles and removes all that are fully within\n * another rectangle in the array.\n *\n * @private\n * @memberof muuriLayout\n * @param {Rectangle[]} rects\n * @returns {Rectangle[]}\n */\n muuriLayout.purgeRects = function (rects) {\n\n var i = rects.length;\n var ii;\n var rectA;\n var rectB;\n\n while (i--) {\n rectA = rects[i];\n ii = rects.length;\n while (ii--) {\n rectB = rects[ii];\n if (i !== ii && muuriLayout.isRectWithinRect(rectA, rectB)) {\n rects.splice(i, 1);\n break;\n }\n }\n }\n\n return rects;\n\n };\n\n /**\n * Sort rectangles with top-left gravity.\n *\n * @private\n * @memberof muuriLayout\n * @param {Rectangle} a\n * @param {Rectangle} b\n * @returns {Number}\n */\n muuriLayout.sortRectsTopLeft = function (a, b) {\n\n return a.top - b.top || a.left - b.left;\n\n };\n\n /**\n * Sort rectangles with left-top gravity.\n *\n * @private\n * @memberof muuriLayout\n * @param {Rectangle} a\n * @param {Rectangle} b\n * @returns {Number}\n */\n muuriLayout.sortRectsLeftTop = function (a, b) {\n\n return a.left - b.left || a.top - b.top;\n\n };\n\n /**\n * Type definitions\n * ****************\n */\n\n /* eslint-disable */\n /**\n * The values by which multiple grid items can be queried. An html element or\n * an array of HTML elements. Item or an array of items. Node list, live or\n * static. Number (index) or a list of numbers (indices).\n *\n * @typedef {(HTMLElement|HTMLElement[]|Item|Item[]|NodeList|Number|Number[])} GridMultiItemQuery\n */\n /* eslint-enable */\n\n /**\n * The values by which a single grid item can be queried. An html element, an\n * item instance or a number (index).\n *\n * @typedef {(HTMLElement|Item|Number)} GridSingleItemQuery\n */\n\n /**\n * The grid item's state, a string. Accepted values are: \"active\", \"inactive\",\n * \"visible\", \"hidden\", \"showing\", \"hiding\", \"positioning\", \"dragging\",\n * \"releasing\" and \"migrating\".\n *\n * @typedef {String} GridItemState\n */\n\n /**\n * The data that is required to orchestrate a sort action during drag.\n *\n * @typedef {Object} DragSortCommand\n * @param {String} action\n * - \"move\" or \"swap\".\n * @param {Number} index\n * - target index.\n * @param {?Grid} [grid=null]\n * - target grid.\n */\n\n /**\n * A rectangle is an object with width, height and offset (left and top) data.\n *\n * @typedef {Object} Rectangle\n * @property {Number} width\n * @property {Number} height\n * @property {Number} left\n * @property {Number} top\n */\n\n /**\n * Layout data for the layout instance.\n *\n * @typedef {Object} LayoutData\n * @property {Object} slots\n * @property {Number} width\n * @property {Number} height\n * @property {Boolean} setWidth\n * @property {Boolean} setHeight\n */\n\n /**\n * @callback LayoutCallback\n * @param {Boolean} isAborted\n * - Was the layout procedure aborted?\n * @param {Item[]} items\n * - The items that were attempted to be positioned.\n */\n\n /**\n * @callback ShowCallback\n * @param {Item[]} items\n * - The items that were successfully shown without interruptions.\n */\n\n /**\n * @callback HideCallback\n * @param {Item[]} items\n * - The items that were successfully hidden without interruptions.\n */\n\n /**\n * @callback FilterCallback\n * @param {Item[]} shownItems\n * - The items that were shown.\n * @param {Item[]} hiddenItems\n * - The items that were hidden.\n */\n\n /**\n * Init\n */\n\n return Grid;\n\n}));",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/lib/muuri.js",
"tags": "",
"module-type": "library",
"modified": "20180121164318543",
"created": "20180118195028747"
},
"$:/plugins/BTC/tiddly-touch/macros": {
"text": "\\define hide-tiddler-borders-and-gaps()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!seamless\" type=\"match\" text=\"yes\">\n\n.tc-grid-1 {\n background-color: <<colour tiddler-background>> !important;\n}\n.tc-tiddler-frame {\n box-shadow: none !important;\n border: none !important;\n margin: 0px 0px 0px 0px !important;\n border-radius: 0px !important;\n}\n<$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12\" variable=\"spanValue\">\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc((100% / 12 * <<spanValue>>)) !important;\n min-width: calc((100% / 12 * <<spanValue>>)) !important;\n}\n\n</$list>\n\n.tc-tiddler-frame.span-13 {\n width: calc((100% / 5 * 4)) !important;\n min-width: calc((100% / 5 * 4)) !important;\n}\n\n</$reveal>\n\\end\n\\define you-better-disable-dragging()\n<$reveal state=\"$:/view\" type=\"match\" text=\"muuri\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!drag-enabled\" type=\"nomatch\" text=\"no\">\n\n<$macrocall $name=\"attention\" text=\"\"\"\n\n!!!//you better ''disable global dragging'' for this: {{$:/plugins/BTC/tiddly-touch/Buttons/toggle-drag}}//\n\n\"\"\"/>\n</$reveal>\n</$reveal>\n\\end\n\\define mobile-portrait-tiles()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"nomatch\" text=\"yes\">\n<$set name=\"columnCount\" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc(100% - 16px);\n min-width: calc(100% - 16px) ;\n}\n<$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12\" variable=\"spanValue\">\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc(100% - 16px);\n min-width: calc(100% - 16px);\n}\n</$list>\n</$set>\n</$reveal>\n\\end\n\\define sidebar-new-window-tiddler-edit-frame-hide()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!sidebar-new-window\" type=\"match\" text=\"yes\">\n.tc-story-river .tc-tiddler-edit-frame {\n\n}\n</$reveal>\n\\end\n\\define tiddly-touch-toolbar-left-right()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!toolbar-right\" type=\"match\" text=\"yes\">\n\n</$reveal>\n\\end\n\\define vertical-toolbar-yes-no()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!vertical-toolbar\" type=\"nomatch\" text=\"no\">\n.tc-tiddler-view-frame:not(.tc-tiddler-folded) .tc-tiddler-controls {\n width: 1.8em;\n right: -60px;\n position: fixed;\n top: -20px;\n}\n@media (max-width: 500px) {\n.tc-tiddler-view-frame:not(.tc-tiddler-folded) .tc-tiddler-controls {\n width: 1em;\n right: -30px;\n position: fixed;\n top: -10px;\n}\n}\n</$reveal>\n\\end\n\\define if-horizontal-grid(text)\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"match\" text=\"yes\">\n$text$\n</$reveal>\n\\end\n\\define toggle-muuri-columns()\n<$set name=\"offSetPx\" filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[seamless]regexp[^yes$]addprefix[0]removesuffix[yes]] [[$:/plugins/BTC/tiddly-touch/config]get[seamless]regexp[^no$]addprefix[16]removesuffix[no]]\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!column-count\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"nomatch\" text=\"yes\">\n<$set name=\"columnCount\" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100% / <<columnCount>>) - <<offSetPx>>px);\n min-width: calc((100% / <<columnCount>>) - <<offSetPx>>px) ;\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100% / <<columnCount>>) - <<offSetPx>>px);\n min-width: calc((100% / <<columnCount>>) - <<offSetPx>>px);\n}\n}\n\n<$list filter=\"[<columnCount>regexp[^(4|5|6)$]]\">\n\n.tc-tiddler-frame {\n padding-left: 20px;\n padding-right: 20px;\n}\n\n.tc-tiddler-controls {\n right: -40px !important;\n}\n\n.tc-tiddler-info {\n margin-left: -20px;\n margin-right: -20px;\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.tc-unfold-banner {\n margin-left: -21px;\n}\n\n.tc-fold-banner {\n margin-left: -17px;\n width: 15px;\n}\n\n</$list>\n\n.tc-tiddler-frame.span-4, .tc-tiddler-frame.span-5, .tc-tiddler-frame.span-6 , .tc-tiddler-frame.span-7, .tc-tiddler-frame.span-8, .tc-tiddler-frame.span-9 , .tc-tiddler-frame.span-10, .tc-tiddler-frame.span-11, .tc-tiddler-frame.span-12, , .tc-tiddler-frame.span-13 {\n padding-left: 42px !important;\n padding-right: 42px !important;\n}\n\n.tc-tiddler-frame.span-1, .tc-tiddler-frame.span-2, .tc-tiddler-frame.span-3 {\n padding-left: 20px;\n padding-right: 20px;\n}\n\n.span-1 .tc-tiddler-controls, .span-2 .tc-tiddler-controls, .span-3 .tc-tiddler-controls {\n right: -40px !important;\n}\n\n.span-1 .tc-tiddler-info, .span-2 .tc-tiddler-info, .span-3 .tc-tiddler-info {\n margin-left: -20px;\n margin-right: -20px;\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.span-1 .tc-unfold-banner, .span-2 .tc-unfold-banner, .span-3 .tc-unfold-banner {\n margin-left: -21px;\n}\n\n.span-1 .tc-fold-banner, .span-2 .tc-fold-banner, .span-3 .tc-fold-banner {\n margin-left: -17px;\n width: 15px;\n}\n\n\n<$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12\" variable=\"spanValue\">\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc((100% / 12 * <<spanValue>>) - <<offSetPx>>px);\n min-width: calc((100% / 12 * <<spanValue>>) - <<offSetPx>>px);\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc((100% / 12 * <<spanValue>>) - <<offSetPx>>px) !important;\n min-width: calc((100% / 12 * <<spanValue>>) - <<offSetPx>>px) !important;\n}\n}\n</$list>\n.tc-tiddler-frame.span-13 {\n width: calc((100% / 5 * 4) - <<offSetPx>>px) !important;\n min-width: calc((100% / 5 * 4) - <<offSetPx>>px) !important;\n}\n</$set>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!column-count\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!align-horizontal\" type=\"match\" text=\"yes\">\n<$set name=\"columnCount\" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100vw - 84px) / <<columnCount>> - <<offSetPx>>px) !important;\n min-width: calc((100vw - 84px) / <<columnCount>> - <<offSetPx>>px) !important;\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100vw - 84px) / <<columnCount>> - <<offSetPx>>px) !important;\n min-width: calc((100vw - 84px) / <<columnCount>> - <<offSetPx>>px) !important;\n}\n}\n<$list filter=\"1 2 3 4 5 6 7 8 9 10 11 12\" variable=\"spanValue\">\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc(((100vw - 84px) * <<spanValue>> / 12) - <<offSetPx>>px);\n min-width: calc(((100vw - 84px) * <<spanValue>> / 12) - <<offSetPx>>px);\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame.span-<<spanValue>> {\n width: calc(((100vw - 84px) * <<spanValue>> / 12) - <<offSetPx>>px) !important;\n min-width: calc(((100vw - 84px) * <<spanValue>> / 12) - <<offSetPx>>px)!important;\n}\n}\n</$list>\n.tc-tiddler-frame.span-13 {\n width: calc((100% / 5 * 4) - <<offSetPx>>px) !important;\n min-width: calc((100% / 5 * 4) - <<offSetPx>>px) !important;\n}\n</$set>\n</$reveal>\n</$reveal>\n\\end\n\\define vertical-toolbar-macro()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!vertical-toolbar\" type=\"nomatch\" text=\"no\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]![$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width]![$:/core/ui/Buttons/more-tiddler-actions]![$:/core/ui/Buttons/fold-bar]lookup[$:/config/ViewToolbarButtons/Visibility/]!regexp[^hide$]count[]]\" variable=\"toolbarCount\">\n.tc-tiddler-frame:not(.tc-tiddler-folded) {\n min-height: calc(<<toolbarCount>> * 175px / 4);\n}\n</$list>\n</$reveal>\n</$reveal>\n\\end\n\\define if-dragging-enabled(text)\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!drag-enabled\" type=\"match\" text=\"yes\">\n$text$\n</$reveal>\n\\end\n\\define if-spreadsheet-view(text)\n<$list filter=\"[[$:/core/ui/PageTemplate/spreadsheet]tag[$:/tags/PageTemplate]]\">\n$text$\n</$list>\n\\end\n\\define show-hide-right-grid()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!right-grid\" type=\"match\" text=\"hide\">\n\n.tc-grid-3 {\n display: none !important;\n visibility: hidden;\n}\n\n</$reveal>\n\\end\n\\define show-hide-left-grid()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!left-grid\" type=\"match\" text=\"hide\">\n\nsection.tc-grid-2, .grid-container-2, .tc-grid-2 .tc-tiddler-frame {\n display: none !important;\n visibility: hidden;\n}\n\n</$reveal>\n\\end\n\\define leftgrid-width-macro()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!left-grid-width\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!left-grid\" type=\"nomatch\" text=\"hide\">\n<$set name=\"leftGridWidth\" value={{$:/plugins/BTC/tiddly-touch/config!!left-grid-width}}>\n.tc-grid-2 {\n width: calc(13% + ((<<leftGridWidth>> - 1) * (100vw / 20))) !important;\n}\n.tc-grid-1 {\n width: calc(74% - ((<<leftGridWidth>> - 1) * (100vw / 20))) !important;\n}\n</$set>\n</$reveal>\n</$reveal>\n\\end\n\\define rightgrid-width-macro()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!right-grid-width\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!right-grid\" type=\"nomatch\" text=\"hide\">\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[left-grid]regexp[^hide$]]\">\n<$set name=\"rightGridWidth\" value={{$:/plugins/BTC/tiddly-touch/config!!right-grid-width}}>\n\n.tc-grid-2 {\n display: none !important;\n}\n\n.tc-grid-3 {\n width: calc(13% + ((<<rightGridWidth>> - 1) * (100vw / 20)));\n}\n\n.tc-grid-1 {\n width: calc(87% - ((<<rightGridWidth>> - 1) * (100vw / 20)) - 21px);\n}\n\n</$set>\n</$list>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[left-grid]!regexp[^hide$]]\">\n<$vars rightGridWidth={{$:/plugins/BTC/tiddly-touch/config!!right-grid-width}} leftGridWidth={{$:/plugins/BTC/tiddly-touch/config!!left-grid-width}}>\n\n.tc-grid-3 {\n width: calc(13% + ((<<rightGridWidth>> - 1) * (100vw / 20))) !important;\n}\n.tc-grid-2 {\n width: calc(13% + ((<<leftGridWidth>> - 1) * (100vw / 20))) !important;\n}\n.tc-grid-1 {\n width: calc(74% - ((<<rightGridWidth>> - 1) * (100vw / 20)) - ((<<leftGridWidth>> - 1) * (100vw / 20)) - 42px);\n left: calc(13% + ((<<leftGridWidth>> - 1) * (100vw / 20)) + 21px);\n}\n\n</$vars>\n</$list>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!right-grid\" type=\"match\" text=\"hide\">\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[left-grid]regexp[^hide$]]\">\n<$set name=\"rightGridWidth\" value={{$:/plugins/BTC/tiddly-touch/config!!right-grid-width}}>\n\n.tc-grid-1 {\n width: 100%;\n}\n\n.tc-grid-2 {\n display: none;\n}\n\n</$set>\n</$list>\n<$list filter=\"[[$:/plugins/BTC/tiddly-touch/config]get[left-grid]!regexp[^hide$]]\">\n<$vars rightGridWidth={{$:/plugins/BTC/tiddly-touch/config!!right-grid-width}} leftGridWidth={{$:/plugins/BTC/tiddly-touch/config!!left-grid-width}}>\n\n.tc-grid-2 {\n width: calc(13% + ((<<leftGridWidth>> - 1) * (100vw / 20)) + 8px);\n}\n\n.tc-grid-1 {\n width: calc(87% -\n ((<<leftGridWidth>> - 1) * (100vw / 20)) - 21px) ;\n left: calc(13% + ((<<leftGridWidth>> - 1) * (100vw / 20)) + 21px);\n right: 0px;\n}\n\n</$vars>\n</$list>\n</$reveal>\n</$reveal>\n\\end",
"title": "$:/plugins/BTC/tiddly-touch/macros",
"tags": "$:/tags/Macro",
"modified": "20180121152925882",
"created": "20180118200039067"
},
"$:/plugins/BTC/tiddly-touch/macros/grid-item-class.js": {
"text": "/*\\\ntitle: $:/plugins/BTC/tiddly-touch/macros/grid-item-class.js\ntype: application/javascript\nmodule-type: macro\ntags: $:/tags/Macro\n\nMacro to generate a list of CSS classes for the curren tiddler view\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"grid-item-class\";\n\nexports.params = [\n { name: \"default\", default: \"grid-item-content\" }\n];\n\n/*\nRun the macro\n*/\nexports.run = function(defaultClass) {\n var tiddler = this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n var output = defaultClass;\n\n if (!tiddler) {\n return output;\n }\n\n var viewClass = tiddler.fields['view-class'];\n if (viewClass) {\n output += \" \" + viewClass;\n }\n\n var tiddlerWidth = tiddler.fields['muuri-tiddler-width'];\n if (tiddlerWidth) {\n switch(tiddlerWidth) {\n case \"0\":\n\t\toutput += \" \";\n break;\n case \"1\":\n\t\toutput += \" span-12\";\n break;\n case \"2\":\n\t\toutput += \" span-8\";\n break;\n case \"3\":\n\t\toutput += \" span-6\";\n break;\n case \"4\":\n\t\toutput += \" span-4\";\n break;\n case \"5\":\n\t\toutput += \" span-3\";\n break;\n case \"6\":\n\t\toutput += \" span-2\";\n break;\n case \"7\":\n output += \" span-10\";\n break;\n case \"8\":\n output += \" span-9\";\n break;\n case \"9\":\n output += \" span-13\";\n break;\n default:\n\t\toutput += \" \";\n\t}\n }\n return output;\n};\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/macros/grid-item-class.js",
"tags": "$:/tags/Macro",
"revision": "0",
"module-type": "macro",
"modified": "20180121105655908",
"created": "20180103110940949",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar": {
"text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\\define leftbar-config-title()\n$:/config/LeftBarButtons/Visibility/$(listItem)$\n\\end\n\n<div class=\"tc-leftbar\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]!title[$:/core/ui/Buttons/save-wiki]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$reveal>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/LeftBar]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<leftbar-config-title>> text=\"hide\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$set>\n</$reveal>\n</$list>\n{{$:/plugins/BTC/tiddly-touch/Buttons/sidebar}}\n\n</div>\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar",
"revision": "0",
"modified": "20180121165555479",
"list-after": "$:/plugins/BTC/tiddly-touch/PageTemplate/muuri",
"created": "20171113175754780",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/PageTemplate/muuri": {
"text": "<section class=\"tc-story-river\">\n\n<$muuri target={{$:/plugins/BTC/tiddly-touch/config!!child-class}} target-is-tiddler=\"yes\" fill-gaps={{$:/plugins/BTC/tiddly-touch/config!!fill-gaps}} horizontal={{$:/plugins/BTC/tiddly-touch/config!!align-horizontal}} align-right={{$:/plugins/BTC/tiddly-touch/config!!align-right}} align-bottom={{$:/plugins/BTC/tiddly-touch/config!!align-bottom}} dragging={{$:/plugins/BTC/tiddly-touch/config!!drag-enabled}}>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/plugins/BTC/tiddly-touch/ui/ViewTemplate\" editTemplate=\"$:/plugins/BTC/tiddly-touch/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n</$muuri>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>",
"title": "$:/plugins/BTC/tiddly-touch/PageTemplate/muuri",
"modified": "20180121165555480",
"created": "20180118195806654"
},
"$:/plugins/BTC/tiddly-touch/ui/EditTemplate": {
"text": "\\define actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(muuriViewClasses)$\n\\end\n<$set name=\"muuriViewClasses\" value=<<grid-item-class>>><div class=<<frame-classes>>>\n<$fieldmangler>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" actions=<<actions>>>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n<$transclude tiddler=<<listItem>>/>\n</$set>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</$fieldmangler>\n</div></$set>\n",
"title": "$:/plugins/BTC/tiddly-touch/ui/EditTemplate",
"tags": "",
"modified": "20180120165137852",
"created": "20180120163952016"
},
"$:/plugins/BTC/tiddly-touch/ui/ViewTemplate": {
"text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(muuriViewClasses)$ $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$ $(foldedState)$ $(morePopupStateClass)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define more-popup-state()\n$:/state/popup/more/$(currentTiddler)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$set name=\"morePopupState\" value=<<more-popup-state>>><$tiddler tiddler=<<currentTiddler>>><$set name=\"foldedState\"\n value={{{ [all[tiddlers]prefix[$:/state/folded]suffix<currentTiddler>is[tiddler]get[text]regexp[^hide$]addprefix[tc-tiddler-folded]removesuffix[hide]] }}}><$set name=\"morePopupStateClass\" value={{{ [<morePopupState>!is[missing]suffix<currentTiddler>addprefix[tc-tiddler-more-popup]removesuffix<morePopupState>] }}}><$set name=\"muuriViewClasses\" value=<<grid-item-class>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$set></$set></$set>\n</$tiddler></$set></$set></$set>\n",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/BTC/tiddly-touch/ui/ViewTemplate",
"tiddler-width": "5",
"tags": "",
"revision": "0",
"modified": "20180120154325848",
"created": "20180103134840871",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/Buttons/show-hide-titles-tags-controls": {
"text": "\\define show-hide-tiddler-title-tags()\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"nomatch\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n.tc-tiddler-frame .tc-title, .tc-tiddler-frame .tc-subtitle {\n display: none;\n}\n.tc-tiddler-frame {\n padding-top: 10px;\n}\n.tc-tiddler-controls {\n padding-top: 18px;\n}\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n.tc-tiddler-frame .tc-title, .tc-tiddler-frame .tc-subtitle, .tc-tiddler-frame .tc-tags-wrapper {\n display: none;\n}\n.tc-tiddler-frame {\n padding-top: 10px;\n}\n.tc-tiddler-controls {\n padding-top: 18px;\n}\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"match\" text=\"yes\">\n.tc-tiddler-frame .tc-title, .tc-tiddler-frame .tc-subtitle, .tc-tiddler-frame .tc-tags-wrapper, .tc-tiddler-frame .tc-tiddler-controls {\n display: none;\n}\n.tc-tiddler-frame {\n padding-top: 10px;\n}\n.tc-tiddler-controls {\n padding-top: 18px;\n}\n</$reveal>\n</$reveal>\n</$reveal>\n\\end\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"nomatch\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"nomatch\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\"><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-titles\" $value=\"yes\"/>{{$:/plugins/BTC/tiddly-touch/icons!!visibility}}\n</$button>\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"nomatch\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible\"><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-tags\" $value=\"yes\"/>{{$:/plugins/BTC/tiddly-touch/icons!!visibility-off-blue}}\n</$button>\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"nomatch\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon\"><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-controls\" $value=\"yes\"/>{{$:/plugins/BTC/tiddly-touch/icons!!visibility-off-green}}\n</$button>\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-titles\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-tags\" type=\"match\" text=\"yes\">\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!hide-controls\" type=\"match\" text=\"yes\">\n<$button class=\"tc-btn-invisible tc-toolbar-icon\"><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-titles\" $value=\"no\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-tags\" $value=\"no\"/><$action-setfield $tiddler=\"$:/plugins/BTC/tiddly-touch/config\" $field=\"hide-controls\" $value=\"no\"/>{{$:/plugins/BTC/tiddly-touch/icons!!visibility-off-red}}\n</$button>\n</$reveal>\n</$reveal>\n</$reveal>",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/show-hide-titles-tags-controls",
"tags": "$:/tags/LeftBar $:/tags/Macro",
"modified": "20180119113438872",
"description": "hide titles, tags and controls of tiddlers with a state-cycling button",
"created": "20180106100247999",
"caption": "{{$:/plugins/BTC/tiddly-touch/icons!!visibility-off-blue}} hide titles, tags and controls"
},
"$:/plugins/BTC/tiddly-touch/Buttons/sidebar": {
"text": "<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!sidebar-new-window\" type=\"nomatch\" text=\"yes\">\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/plugins/BTC/tiddly-touch/config!!sidebar-new-window\" type=\"match\" text=\"yes\">\n<$button tooltip=\"open sidebar in new window\" aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}\n<$action-sendmessage $message=\"tm-open-window\" $param=\"$:/core/ui/PageTemplate/sidebar-new-window\"/></$button>\n</$reveal>\n",
"title": "$:/plugins/BTC/tiddly-touch/Buttons/sidebar",
"modified": "20180102093936338",
"created": "20180102082231778"
},
"$:/plugins/BTC/tiddly-touch/ControlPanel/Toolbars/LeftBar": {
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/LeftBarButtons/Visibility/\n\nChoose which buttons are displayed inside the [[LeftBar|$:/plugins/BTC/tiddly-touch/PageTemplate/LeftBar]]. Drag and drop to change the ordering\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/LeftBar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n",
"title": "$:/plugins/BTC/tiddly-touch/ControlPanel/Toolbars/LeftBar",
"tags": "$:/tags/ControlPanel/Toolbars",
"modified": "20180102122211423",
"created": "20180102121627295",
"caption": "LeftBar"
},
"$:/plugins/BTC/tiddly-touch/lib/hammer.js": {
"text": "/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: true,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n",
"type": "application/javascript",
"tmap.id": "b6435e49-39b8-4edc-b6d6-c0e706313d6c",
"title": "$:/plugins/BTC/tiddly-touch/lib/hammer.js",
"tags": "",
"span": "12",
"revision": "0",
"module-type": "library",
"modified": "20171228183919251",
"created": "20171206112823722",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/lib/popmotion.js": {
"text": "!function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var r={};e.m=t,e.c=r,e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,\"a\",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=48)}([function(t,e,r){\"use strict\";var n=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),o=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},u=this&&this.__rest||function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&(r[n[o]]=t[n[o]]);return r};Object.defineProperty(e,\"__esModule\",{value:!0});var a=r(14),i=r(15),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.create=function(t){return new e(t)},e.prototype.start=function(t){void 0===t&&(t={});var e=!1,r={stop:function(){}},n=this.props,a=n.init,s=u(n,[\"init\"]),c=i.default(t,s,function(){e=!0,r.stop()}),f=a(c);return r=f?o({},r,f):r,t.registerParent&&t.registerParent(r),e&&r.stop(),r},e}(a.default);e.Action=s,e.default=function(t){return new s({init:t})}},function(t,e,r){\"use strict\";function n(){s||(s=!0,u.default(o))}function o(t){s=!1,l=Math.max(Math.min(t-f,c),1)*p,f=t,d.process(),v.process(),h.process(),m.process()}Object.defineProperty(e,\"__esModule\",{value:!0});var u=r(31),a=r(32),i=\"undefined\"!=typeof performance&&performance.now;e.currentTime=i?function(){return performance.now()}:function(){return(new Date).getTime()};var s=!1,c=20,f=e.currentTime(),l=0,p=1,d=a.default(n),v=a.default(n),h=a.default(n),m=a.default(n);e.onFrameStart=d.schedule,e.onFrameUpdate=v.schedule,e.onFrameRender=h.schedule,e.onFrameEnd=m.schedule,e.cancelOnFrameStart=d.cancel,e.cancelOnFrameUpdate=v.cancel,e.cancelOnFrameRender=h.cancel,e.cancelOnFrameEnd=m.cancel,e.timeSinceLastFrame=function(){return l},e.currentFrameTime=function(){return f}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(t){return\"number\"==typeof t};e.isPoint=function(t){return void 0!==t.x&&void 0!==t.y},e.isPoint3D=function(t){return void 0!==t.z};var o=function(t,e){return void 0===e&&(e=2),e=Math.pow(10,e),Math.round(t*e)/e},u={x:0,y:0,z:0},a=function(t,e){return Math.abs(t-e)};e.angle=function(t,r){return void 0===r&&(r=u),e.radiansToDegrees(Math.atan2(r.y-t.y,r.x-t.x))},e.degreesToRadians=function(t){return t*Math.PI/180},e.dilate=function(t,e,r){return t+(e-t)*r},e.distance=function(t,r){if(void 0===r&&(r=u),n(t)&&n(r))return a(t,r);if(e.isPoint(t)&&e.isPoint(r)){var o=a(t.x,r.x),i=a(t.y,r.y),s=e.isPoint3D(t)&&e.isPoint3D(r)?a(t.z,r.z):0;return Math.sqrt(Math.pow(o,2)+Math.pow(i,2)+Math.pow(s,2))}return 0},e.getProgressFromValue=function(t,e,r){return(r-t)/(e-t)},e.getValueFromProgress=function(t,e,r){return-r*t+r*e+t},e.pointFromAngleAndDistance=function(t,r,n){return r=e.degreesToRadians(r),{x:n*Math.cos(r)+t.x,y:n*Math.sin(r)+t.y}},e.radiansToDegrees=function(t){return 180*t/Math.PI},e.smooth=function(t,e,r,n){return void 0===n&&(n=0),o(e+r*(t-e)/Math.max(n,r))},e.speedPerFrame=function(t,e){return n(t)?t/(1e3/e):0},e.speedPerSecond=function(t,e){return e?t*(1e3/e):0},e.stepProgress=function(t,e){var r=1/(t-1),n=1-1/t,o=Math.min(e/n,1);return Math.floor(o/r)*r}},function(t,e,r){\"use strict\";function n(t){var r=t.length;return function(n){for(var o={},u=e.splitCommaDelimited(e.getValueFromFunctionString(n)),a=0;a<r;a++)o[t[a]]=void 0!==u[a]?parseFloat(u[a]):1;return o}}var o=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var u=function(t,e){return function(r){return Math.max(Math.min(r,e),t)}},a=function(t){return function(e){return\"string\"==typeof t&&-1!==e.indexOf(t)}},i=function(t){return{test:a(t),parse:parseFloat,transform:function(e){return\"\"+e+t}}},s=function(t){return function(e){return\"string\"==typeof t&&0===e.indexOf(t)}};e.getValueFromFunctionString=function(t){return t.substring(t.indexOf(\"(\")+1,t.lastIndexOf(\")\"))},e.splitCommaDelimited=function(t){return\"string\"==typeof t?t.split(/,\\s*/):[t]},e.splitColorValues=n,e.number={test:function(t){return\"number\"==typeof t},parse:parseFloat,transform:function(t){return t}},e.alpha=o({},e.number,{transform:u(0,1)}),e.degrees=i(\"deg\"),e.percent=i(\"%\"),e.px=i(\"px\"),e.scale=o({},e.number,{default:1});var c=/(-)?(\\d[\\d\\.]*)/g,f=function(t){return\"${\"+t+\"}\"};e.complex={test:function(t){var e=t.match&&t.match(c);return void 0!==e&&e.constructor===Array&&e.length>1},parse:function(t){var e={};return t.match(c).forEach(function(t,r){return e[r]=parseFloat(t)}),e},createTransformer:function(t){var e=0,r=t.replace(c,function(){return f(\"\"+e++)});return function(t){var e=r;for(var n in t)t.hasOwnProperty(n)&&(e=e.replace(f(n),t[n].toString()));return e}}};var l=u(0,255);e.rgbUnit=o({},e.number,{transform:function(t){return Math.round(l(t))}});var p=function(t){var e=t.red,r=t.green,n=t.blue,o=t.alpha;return\"rgba(\"+e+\", \"+r+\", \"+n+\", \"+(void 0===o?1:o)+\")\"};e.rgba={test:s(\"rgb\"),parse:n([\"red\",\"green\",\"blue\",\"alpha\"]),transform:function(t){var r=t.red,n=t.green,o=t.blue,u=t.alpha;return p({red:e.rgbUnit.transform(r),green:e.rgbUnit.transform(n),blue:e.rgbUnit.transform(o),alpha:u})}};var d=function(t){var e=t.hue,r=t.saturation,n=t.lightness,o=t.alpha;return\"hsla(\"+e+\", \"+r+\", \"+n+\", \"+(void 0===o?1:o)+\")\"};e.hsla={test:s(\"hsl\"),parse:n([\"hue\",\"saturation\",\"lightness\",\"alpha\"]),transform:function(t){var r=t.hue,n=t.saturation,o=t.lightness,u=t.alpha;return d({hue:Math.round(r),saturation:e.percent.transform(n),lightness:e.percent.transform(o),alpha:u})}},e.hex=o({},e.rgba,{test:s(\"#\"),parse:function(t){var e,r,n;return t.length>4?(e=t.substr(1,2),r=t.substr(3,2),n=t.substr(5,2)):(e=t.substr(1,1),r=t.substr(2,1),n=t.substr(3,1),e+=e,r+=r,n+=n),{red:parseInt(e,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:1}}});var v=function(t){return void 0!==t.red},h=function(t){return void 0!==t.hue};e.color={test:function(t){return e.rgba.test(t)||e.hsla.test(t)||e.hex.test(t)},parse:function(t){return e.rgba.test(t)?e.rgba.parse(t):e.hsla.test(t)?e.hsla.parse(t):e.hex.test(t)?e.hex.parse(t):t},transform:function(t){return v(t)?e.rgba.transform(t):h(t)?e.hsla.transform(t):t}}},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(1),u=r(3),a=r(2),i=function(t){return t};e.appendUnit=function(t){return function(e){return\"\"+e+t}},e.applyOffset=function(t,e){var r=!0;void 0===e&&(e=t,r=!1);var n=function(e){return e-t},o=function(t){return t+e};return function(u){return r?o(n(u)):(t=u,r=!0,e)}};var s=function(t,e,r){var n=t*t,o=e*e;return Math.sqrt(r*(o-n)+n)};e.blendColor=function(t,e){var r=\"string\"==typeof t?u.color.parse(t):t,o=\"string\"==typeof e?u.color.parse(e):e,i=n({},r),c=void 0!==t.hue||\"string\"==typeof t&&u.hsla.test(t)?a.getValueFromProgress:s;return function(t){i=n({},i);for(var e in i)\"alpha\"!==e&&i.hasOwnProperty(e)&&(i[e]=c(r[e],o[e],t));return i.alpha=a.getValueFromProgress(r.alpha,o.alpha,t),i}},e.clamp=function(t,e){return function(r){return Math.min(Math.max(r,t),e)}};var c=function(t,e){return function(r){return e(t(r))}};e.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce(c)},e.interpolate=function(t,e,r){var n=t.length,o=n-1;return t[0]>t[o]&&(t.reverse(),e.reverse()),function(u){if(u<=t[0])return e[0];if(u>=t[o])return e[o];for(var i=1;i<n&&!(t[i]>u||i===o);i++);var s=a.getProgressFromValue(t[i-1],t[i],u),c=r?r[i-1](s):s;return a.getValueFromProgress(e[i-1],e[i],c)}},e.generateNonIntegratedSpring=function(t){return void 0===t&&(t=i),function(e,r){return function(n){var o=r-n,u=-e*(0-t(Math.abs(o)));return o<=0?r+u:r-u}}},e.linearSpring=e.generateNonIntegratedSpring(),e.nonlinearSpring=e.generateNonIntegratedSpring(Math.sqrt),e.wrap=function(t,e){return function(r){var n=e-t;return((r-t)%n+n)%n+t}},e.smooth=function(t){void 0===t&&(t=50);var e=0,r=0;return function(n){var u=o.currentFrameTime(),i=u!==r?u-r:0,s=i?a.smooth(n,e,i,t):e;return r=u,e=s,s}},e.snap=function(t){if(\"number\"==typeof t)return function(e){return Math.round(e/t)*t};var e=0,r=t.length;return function(n){var o=Math.abs(t[0]-n);for(e=1;e<r;e++){var u=t[e],a=Math.abs(u-n);if(0===a)return u;if(a>o)return t[e-1];if(e===r-1)return u;o=a}}},e.steps=function(t,e,r){return void 0===e&&(e=0),void 0===r&&(r=1),function(n){var o=a.getProgressFromValue(e,r,n);return a.getValueFromProgress(e,r,a.stepProgress(t,o))}},e.transformMap=function(t){return function(e){var r=n({},e);for(var o in t)if(t.hasOwnProperty(o)){var u=t[o];r[o]=u(e[o])}return r}}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(0),u=function(){return o.default(function(t){var e=t.update,r=!0,o=n.currentTime(),u=function(){r&&(e(n.currentFrameTime()-o),n.onFrameUpdate(u))};return n.onFrameUpdate(u),{stop:function(){return r=!1}}})};e.default=u},function(t,e,r){\"use strict\";function n(t,e,r,n){var l=f?new Float32Array(s):new Array(s),p=!1,d=function(e,n,o){var u,s,c=0;do{s=n+(o-n)/2,u=h(s,t,r)-e,u>0?o=s:n=s}while(Math.abs(u)>a&&++c<i);return s},m=function(e,n){for(var u,a=0,i=0;a<o;++a){if(0===(i=v(n,t,r)))return n;u=h(n,t,r)-e,n-=u/i}return n},y=function(){for(var e=0;e<s;++e)l[e]=h(e*c,t,r)},g=function(e){for(var n=0,o=1,a=s-1,i=0,f=0,p=0;o!=a&&l[o]<=e;++o)n+=c;return--o,i=(e-l[o])/(l[o+1]-l[o]),f=n+i*c,p=v(f,t,r),p>=u?m(e,f):0===p?f:d(e,n,n+c)},b=function(){p=!0,t==e&&r==n||y()};return function(o){return p||b(),t===e&&r===n?o:0===o?0:1===o?1:h(g(o),e,n)}}Object.defineProperty(e,\"__esModule\",{value:!0});e.createReversedEasing=function(t){return function(e){return 1-t(1-e)}},e.createMirroredEasing=function(t){return function(e){return e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2}},e.linear=function(t){return t},e.createExpoIn=function(t){return function(e){return Math.pow(e,t)}},e.easeIn=e.createExpoIn(2),e.easeOut=e.createReversedEasing(e.easeIn),e.easeInOut=e.createMirroredEasing(e.easeIn),e.circIn=function(t){return 1-Math.sin(Math.acos(t))},e.circOut=e.createReversedEasing(e.circIn),e.circInOut=e.createMirroredEasing(e.circOut),e.createBackIn=function(t){return function(e){return e*e*((t+1)*e-t)}},e.backIn=e.createBackIn(1.525),e.backOut=e.createReversedEasing(e.backIn),e.backInOut=e.createMirroredEasing(e.backIn),e.createAnticipateEasing=function(t){var r=e.createBackIn(t);return function(t){return(t*=2)<1?.5*r(t):.5*(2-Math.pow(2,-10*(t-1)))}},e.anticipate=e.createAnticipateEasing(1.525);var o=8,u=.001,a=1e-7,i=10,s=11,c=1/(s-1),f=\"undefined\"!=typeof Float32Array,l=function(t,e){return 1-3*e+3*t},p=function(t,e){return 3*e-6*t},d=function(t){return 3*t},v=function(t,e,r){return 3*l(e,r)*t*t+2*p(e,r)*t+d(e)},h=function(t,e,r){return((l(e,r)*t+p(e,r))*t+d(e))*t};e.cubicBezier=n},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(3),u=r(10),a=r(8),i=r(4),s=o.color.test,c=function(t,e){return\"string\"==typeof e.from&&s(e.from)&&\"string\"==typeof e.to&&s(e.to)?t(n({},e,{from:0,to:1})).pipe(i.blendColor(e.from,e.to),o.color.transform):t(e)},f=function(t){var e=Object.keys(t);return{getVectorKeys:function(r){return e.reduce(function(e,n){return void 0===r[n]||t[n](r[n])||e.push(n),e},[])},test:function(r){return r&&e.reduce(function(e,n){return e||void 0!==r[n]&&!t[n](r[n])},!1)}}},l=function(t){return function(e,r){return e[r]=e[r][t],e}},p=function(t,e,r){var o=r[0],u=e[o].map(function(o,u){return c(t,r.reduce(l(u),n({},e)))});return a.default.apply(void 0,u)},d=function(t){return function(e,r){return e[r]=e[r][t],e}},v=function(t,e,r){var o=r[0],a=Object.keys(e[o]).reduce(function(o,u){return o[u]=c(t,r.reduce(d(u),n({},e))),o},{});return u.default(a)},h=function(t,e){return c(t,e)},m=function(t,e){var r=f(e),n=r.test,o=r.getVectorKeys;return function(e){if(!n(e))return t(e);var r=o(e),u=r[0],a=e[u];return Array.isArray(a)?p(t,e,r):\"string\"==typeof a&&s(a)?h(t,e):v(t,e,r)}};e.default=m},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(17),o=n.default({getOutput:function(){return[]},getCount:function(t){return t.length},getFirst:function(t){return t[0]},mapApi:function(t,e){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return t.map(function(t,n){if(t[e])return Array.isArray(r[0])?t[e](r[0][n]):t[e].apply(t,r)})}},setProp:function(t,e,r){return t[e]=r},startActions:function(t,e){return t.map(function(t,r){return e(t,r)})}});e.default=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return o(t)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=[\"\",\"X\",\"Y\",\"Z\"],o=[\"translate\",\"scale\",\"rotate\",\"skew\",\"transformPerspective\"],u=o.reduce(function(t,e){return n.reduce(function(t,r){return t.push(e+r),t},t)},[\"x\",\"y\",\"z\"]),a=u.reduce(function(t,e){return t[e]=!0,t},{});e.isTransformProp=function(t){return!0===a[t]},e.sortTransformProps=function(t,e){return u.indexOf(t)-u.indexOf(e)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(17),o=n.default({getOutput:function(){return{}},getCount:function(t){return Object.keys(t).length},getFirst:function(t){return t[Object.keys(t)[0]]},mapApi:function(t,e){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return Object.keys(t).reduce(function(n,o){return t[o][e]&&(r[0]&&void 0!==r[0][o]?n[o]=t[o][e](r[0][o]):n[o]=(u=t[o])[e].apply(u,r)),n;var u},{})}},setProp:function(t,e,r){return t[e]=r},startActions:function(t,e){return Object.keys(t).reduce(function(r,n){return r[n]=e(t[n],n),r},{})}});e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0),o=function(t,e,r){return n.default(function(n){var o=n.update,u=e.split(\" \").map(function(e){return t.addEventListener(e,o,r),e});return{stop:function(){return u.forEach(function(e){return t.removeEventListener(e,o)})}}})};e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=function(t){var e=t.onRead,r=t.onRender,o=t.aliasMap,u=void 0===o?{}:o,a=t.useCache,i=void 0===a||a;return function(t){var o={},a=[],s=!1,c=function(t,e){var r=u[t]||t,i=o[r];o[r]=e,o[r]!==i&&(s=!0,-1===a.indexOf(r)&&a.push(r)),s&&n.onFrameRender(f)},f=function(){r(o,t,a),s=!1,a.length=0};return{get:function(r){var n=u[r]||r;return n?i&&void 0!==o[n]?o[n]:e(n,t):o},set:function(t,e){if(\"string\"==typeof t){if(void 0===e)return function(e){return c(t,e)};c(t,e)}else for(var r in t)t.hasOwnProperty(r)&&c(r,t[r]);return this},render:function(t){return void 0===t&&(t=!1),(t||s)&&f(),this}}}};e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=/([a-z])([A-Z])/g;e.camelToDash=function(t){return t.replace(n,\"$1-$2\").toLowerCase()},e.setDomAttrs=function(t,e){for(var r in e)e.hasOwnProperty(r)&&t.setAttribute(r,e[r])}},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(4),u=function(){function t(t){void 0===t&&(t={}),this.props=t}return t.prototype.applyMiddleware=function(t){return this.create(n({},this.props,{middleware:this.props.middleware?[t].concat(this.props.middleware):[t]}))},t.prototype.pipe=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=1===t.length?t[0]:o.pipe.apply(void 0,t);return this.applyMiddleware(function(t){return function(e){return t(r(e))}})},t.prototype.while=function(t){return this.applyMiddleware(function(e,r){return function(n){return t(n)?e(n):r()}})},t.prototype.filter=function(t){return this.applyMiddleware(function(e,r){return function(r){return t(r)&&e(r)}})},t}();e.default=u},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){var r=t.middleware,n=t.onComplete,o=this;this.isActive=!0,this.update=function(t){o.observer.update&&o.updateObserver(t)},this.complete=function(){o.observer.complete&&o.isActive&&o.observer.complete(),o.onComplete&&o.onComplete(),o.isActive=!1},this.error=function(t){o.observer.error&&o.isActive&&o.observer.error(t),o.isActive=!1},this.observer=e,this.updateObserver=function(t){return e.update(t)},this.onComplete=n,e.update&&r&&r.length&&r.forEach(function(t){return o.updateObserver=t(o.updateObserver,o.complete)})}return t}();e.Observer=n,e.default=function(t,e,r){var o=e.middleware;return\"function\"==typeof t?new n({middleware:o,onComplete:r},{update:t}):new n({middleware:o,onComplete:r},t)}},function(t,e,r){\"use strict\";var n=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(14),u=r(15),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.subscribers=[],e}return n(e,t),e.prototype.complete=function(){this.subscribers.forEach(function(t){return t.complete()})},e.prototype.error=function(t){this.subscribers.forEach(function(e){return e.error(t)})},e.prototype.update=function(t){for(var e=0;e<this.subscribers.length;e++)this.subscribers[e].update(t)},e.prototype.subscribe=function(t){var e=this,r=u.default(t,this.props);return this.subscribers.push(r),{unsubscribe:function(){var t=e.subscribers.indexOf(r);-1!==t&&e.subscribers.splice(t,1)}}},e.prototype.stop=function(){this.parent&&this.parent.stop()},e.prototype.registerParent=function(t){this.stop(),this.parent=t},e}(o.default);e.BaseMulticast=a},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(0),u=function(t){var e=t.getCount,r=t.getFirst,u=t.getOutput,a=t.mapApi,i=t.setProp,s=t.startActions;return function(t){return o.default(function(o){var c=o.update,f=o.complete,l=o.error,p=e(t),d=u(),v=function(){return c(d)},h=0,m=s(t,function(t,e){return t.start({complete:function(){++h===p&&n.onFrameUpdate(f)},error:l,update:function(t){i(d,e,t),n.onFrameUpdate(v,!0)}})});return Object.keys(r(m)).reduce(function(t,e){return t[e]=a(m,e),t},{})})}};e.default=u},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t},o=this&&this.__rest||function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&(r[n[o]]=t[n[o]]);return r};Object.defineProperty(e,\"__esModule\",{value:!0});var u=r(2),a=r(6),i=r(4),s=r(19),c=r(20),f=i.clamp(0,1),l=function(t,e){return t.map(function(){return e||a.easeOut}).splice(0,t.length-1)},p=function(t){var e=t.length;return t.map(function(t,r){return 0!==r?r/(e-1):0})},d=function(t,e,r){var n=t.length,o=n-1,a=o-1,i=e.map(function(t){return t.start(r)});return function(e){e<=t[0]&&i[0].seek(0),e>=t[o]&&i[a].seek(1);for(var r=1;r<n&&!(t[r]>e||r===o);r++);var s=u.getProgressFromValue(t[r-1],t[r],e);i[r-1].seek(f(s))}},v=function(t){var e=t.easings,r=t.ease,u=void 0===r?a.linear:r,i=t.times,f=t.values,v=o(t,[\"easings\",\"ease\",\"times\",\"values\"]);e=Array.isArray(e)?e:l(f,e),i=i||p(f);var h=e.map(function(t,e){return c.default({from:f[e],to:f[e+1],ease:t})});return s.default(n({},v,{ease:u})).applyMiddleware(function(t){return d(i,h,t)})};e.default=v},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(0),u=r(2),a=r(6),i=r(4),s=r(5),c=r(20),f=i.clamp(0,1),l=function(t){return void 0===t&&(t={}),o.default(function(e){var r,o=e.update,l=e.complete,p=t.duration,d=void 0===p?300:p,v=t.ease,h=void 0===v?a.easeOut:v,m=t.flip,y=void 0===m?0:m,g=t.loop,b=void 0===g?0:g,O=t.yoyo,_=void 0===O?0:O,P=t.from,M=void 0===P?0:P,w=t.to,j=void 0===w?1:w,x=t.elapsed,F=void 0===x?0:x,A=t.playDirection,S=void 0===A?1:A,k=t.flipCount,T=void 0===k?0:k,C=t.yoyoCount,V=void 0===C?0:C,E=t.loopCount,I=void 0===E?0:E,D=c.default({from:M,to:j,ease:h}).start(o),Y=0,X=!1,U=function(){return S*=-1},L=function(){var t=1===S?X&&F>=d:X&&F<=0;if(!t)return!1;if(t&&!b&&!y&&!_)return!0;var e=!1;return b&&I<b?(F=0,I++,e=!0):y&&T<y?(F=d-F,r=[j,M],M=r[0],j=r[1],D=c.default({from:M,to:j,ease:h}).start(o),T++,e=!0):_&&V<_&&(U(),V++,e=!0),!e;var r},R=function(){Y=f(u.getProgressFromValue(0,d,F)),D.seek(Y)},B=function(){X=!0,r=s.default().start(function(){F+=n.timeSinceLastFrame()*S,R(),L()&&l&&(r.stop(),n.onFrameUpdate(l,!0))})},q=function(){X=!1,r&&r.stop()};return B(),{isActive:function(){return X},getElapsed:function(){return i.clamp(0,d)(F)},getProgress:function(){return Y},stop:function(){q()},pause:function(){return q(),this},resume:function(){return B(),this},seek:function(t){return F=u.getValueFromProgress(0,d,t),n.onFrameUpdate(R,!0),this},reverse:function(){return U(),this}}})};e.default=l},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(3),o=r(0),u=r(7),a=r(2),i=r(6),s=function(t){var e=t.from,r=void 0===e?0:e,n=t.to,u=void 0===n?1:n,s=t.ease,c=void 0===s?i.linear:s;return o.default(function(t){var e=t.update;return{seek:function(t){return e(t)}}}).pipe(c,function(t){return a.getValueFromProgress(r,u,t)})};e.default=u.default(s,{ease:function(t){return\"function\"==typeof t},from:n.number.test,to:n.number.test})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(0),u=r(2),a=r(11),i=r(22),s=[i.defaultPointerPos()],c=!1;if(\"undefined\"!=typeof document){var f=function(t){var e=t.touches;c=!0;var r=e.length;s.length=0;for(var n=0;n<r;n++){var o=e[n];s.push(i.eventToPoint(o))}};a.default(document,\"touchstart touchmove\",!0).start(f)}var l=function(t){var e=void 0===t?{}:t,r=e.preventDefault,i=void 0===r||r,f=e.scale,l=void 0===f?1:f,p=e.rotate,d=void 0===p?0:p;return o.default(function(t){var e=t.update,r={touches:s,scale:l,rotate:d},o=0,f=0,p=s.length>1;if(p){var v=s[0],h=s[1];o=u.distance(v,h),f=u.angle(v,h)}var m=function(){if(p){var t=s[0],n=s[1],a=u.distance(t,n),i=u.angle(t,n);r.scale=l*(a/o),r.rotate=d+(i-f)}e(r)},y=function(t){(i||t.touches.length>1)&&t.preventDefault(),n.onFrameUpdate(m)},g=a.default(document,\"touchmove\",{passive:!i}).start(y);return c&&n.onFrameUpdate(m),{stop:function(){n.cancelOnFrameUpdate(m),g.stop()}}})};e.default=l,e.getIsTouchDevice=function(){return c}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.defaultPointerPos=function(){return{clientX:0,clientY:0,pageX:0,pageY:0,x:0,y:0}},e.eventToPoint=function(t,r){return void 0===r&&(r=e.defaultPointerPos()),r.clientX=r.x=t.clientX,r.clientY=r.y=t.clientY,r.pageX=t.pageX,r.pageY=t.pageY,r}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(0),u=r(11),a=r(22),i=a.defaultPointerPos(),s=!1;if(\"undefined\"!=typeof document){var c=function(t){s=!0,a.eventToPoint(t,i)};u.default(document,\"mousedown mousemove\",!0).start(c)}var f=function(t){var e=(void 0===t?{}:t).preventDefault,r=void 0===e||e;return o.default(function(t){var e=t.update,o=function(){return e(i)},a=function(t){r&&t.preventDefault(),n.onFrameUpdate(o)},c=u.default(document,\"mousemove\").start(a);return s&&n.onFrameUpdate(o),{stop:function(){n.cancelOnFrameUpdate(o),c.stop()}}})};e.default=f},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0),o=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.default(function(e){var r,n=e.update,o=e.complete,u=0,a=function(){r=t[u].start({complete:function(){u++,u>=t.length?o():a()},update:n})};return a(),{stop:function(){return r&&r.stop()}}})};e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0),o=function(t){return n.default(function(e){var r=e.complete,n=setTimeout(r,t);return{stop:function(){return clearTimeout(n)}}})};e.default=o},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(12),u=r(27),a=r(45),i=r(9),s=r(28),c=o.default({onRead:function(t,e){var r=e.element,n=s.default(t);if(i.isTransformProp(t))return n?n.default||0:0;var o=window.getComputedStyle(r,null).getPropertyValue(u.default(t))||0;return n&&n.parse?n.parse(o):o},onRender:function(t,e,r){var n=e.element,o=e.enableHardwareAcceleration;a.default(n,t,r,o)},aliasMap:{x:\"translateX\",y:\"translateY\",z:\"translateZ\",originX:\"transform-origin-x\",originY:\"transform-origin-y\"}});e.default=function(t,e){return c(n({element:t,enableHardwareAcceleration:!0},e))}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,o=r(13),u={},a={},i=[\"Webkit\",\"Moz\",\"O\",\"ms\",\"\"],s=i.length,c=function(t){n=n||document.createElement(\"div\");for(var e=0;e<s;e++){var r=i[e],c=\"\"===r,f=c?t:r+t.charAt(0).toUpperCase()+t.slice(1);f in n.style&&(u[t]=f,a[t]=(c?\"\":\"-\")+o.camelToDash(f))}};e.default=function(t,e){void 0===e&&(e=!1);var r=e?a:u;return r[t]||c(t),r[t]}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(3),o={color:n.color,backgroundColor:n.color,outlineColor:n.color,fill:n.color,stroke:n.color,borderColor:n.color,borderTopColor:n.color,borderRightColor:n.color,borderBottomColor:n.color,borderLeftColor:n.color,borderRadius:n.px,width:n.px,height:n.px,top:n.px,left:n.px,bottom:n.px,right:n.px,rotate:n.degrees,rotateX:n.degrees,rotateY:n.degrees,rotateZ:n.degrees,scale:n.scale,scaleX:n.scale,scaleY:n.scale,scaleZ:n.scale,skewX:n.degrees,skewY:n.degrees,distance:n.px,translateX:n.px,translateY:n.px,translateZ:n.px,perspective:n.px,opacity:n.alpha};e.default=function(t){return o[t]}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(9),o=r(12),u=r(13),a=r(46),i=r(47),s=o.default({onRead:function(t,e){var r=e.element;if(n.isTransformProp(t)){var o=i.default(t);return o?o.default:0}return r.getAttribute(t)},onRender:function(t,e,r){var n=e.dimensions,o=e.element,i=e.isPath,s=e.pathLength;u.setDomAttrs(o,a.default(t,n,i,s))},aliasMap:{x:\"translateX\",y:\"translateY\",background:\"fill\"}});e.default=function(t){var e=t.getBBox(),r=e.x,n=e.y,o=e.width,u=e.height,a={element:t,dimensions:{x:r,y:n,width:o,height:u},isPath:!1};return\"path\"===t.tagName&&(a.isPath=!0,a.pathLength=t.getTotalLength()),s(a)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0);e.action=n.default;var o=r(33);e.multicast=o.default;var u=r(34);e.value=u.default;var a=r(35);e.decay=a.default;var i=r(5);e.everyFrame=i.default;var s=r(18);e.keyframes=s.default;var c=r(36);e.physics=c.default;var f=r(37);e.spring=f.default;var l=r(38);e.timeline=l.default;var p=r(19);e.tween=p.default;var d=r(11);e.listen=d.default;var v=r(21);e.multitouch=v.default;var h=r(39);e.pointer=h.default;var m=r(23);e.mouse=m.default;var y=r(24);e.chain=y.default;var g=r(10);e.composite=g.default;var b=r(40);e.crossfade=b.default;var O=r(25);e.delay=O.default;var _=r(41);e.merge=_.default;var P=r(8);e.parallel=P.default;var M=r(42);e.schedule=M.default;var w=r(43);e.stagger=w.default;var j=r(2);e.calc=j;var x=r(6);e.easing=x;var F=r(4);e.transform=F;var A=r(44);e.styler=A.default;var S=r(26);e.css=S.default;var k=r(29);e.svg=k.default;var T=r(3);e.valueTypes=T},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,o=!(\"undefined\"==typeof window||!window.requestAnimationFrame);if(o)n=function(t){return window.requestAnimationFrame(t)};else{var u=0;n=function(t){var e=(new Date).getTime(),r=Math.max(0,16.7-(e-u));u=e+r,setTimeout(function(){return t(u)},r)}}e.default=n},function(t,e,r){\"use strict\";function n(t){var e=[],r=[],n=0,o=!1,u=0;return{cancel:function(t){var e=r.indexOf(t);-1!==e&&r.splice(e,1)},process:function(){for(o=!0,t=[r,e],e=t[0],r=t[1],r.length=0,n=e.length,u=0;u<n;u++)e[u]();o=!1;var t},schedule:function(u,a){void 0===a&&(a=!1),t();var i=a&&o,s=i?e:r;-1===s.indexOf(u)&&(s.push(u),i&&(n=e.length))}}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=n},function(t,e,r){\"use strict\";var n=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(16),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.create=function(t){return new e(t)},e}(o.BaseMulticast);e.Multicast=u,e.default=function(){return new u}},function(t,e,r){\"use strict\";var n=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(1),u=r(2),a=r(16),i=function(t){return Array.isArray(t)},s=function(t){var e=typeof t;return\"string\"===e||\"number\"===e},c=function(t){function e(e){var r=t.call(this,e)||this;return r.prev=r.current=e.value||0,s(r.current)?(r.updateCurrent=function(t){return r.current=t},r.getVelocityOfCurrent=function(){return r.getSingleVelocity(r.current,r.prev)}):i(r.current)?(r.updateCurrent=function(t){return r.current=t.slice()},r.getVelocityOfCurrent=function(){return r.getListVelocity()}):(r.updateCurrent=function(t){r.current={};for(var e in t)t.hasOwnProperty(e)&&(r.current[e]=t[e])},r.getVelocityOfCurrent=function(){return r.getMapVelocity()}),e.initialSubscription&&r.subscribe(e.initialSubscription),r}return n(e,t),e.prototype.create=function(t){return new e(t)},e.prototype.get=function(){return this.current},e.prototype.getVelocity=function(){return this.getVelocityOfCurrent()},e.prototype.update=function(e){t.prototype.update.call(this,e),this.prev=this.current,this.updateCurrent(e),this.timeDelta=o.timeSinceLastFrame()},e.prototype.subscribe=function(e){var r=t.prototype.subscribe.call(this,e);return this.update(this.current),r},e.prototype.getSingleVelocity=function(t,e){return\"number\"==typeof t&&\"number\"==typeof e?u.speedPerSecond(t-e,this.timeDelta):0},e.prototype.getListVelocity=function(){var t=this;return this.current.map(function(e,r){return t.getSingleVelocity(e,t.prev[r])})},e.prototype.getMapVelocity=function(){var t={};for(var e in this.current)this.current.hasOwnProperty(e)&&(t[e]=this.getSingleVelocity(this.current[e],this.prev[e]));return t},e}(a.BaseMulticast);e.ValueReaction=c,e.default=function(t,e){return new c({value:t,initialSubscription:e})}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(3),u=r(0),a=r(7),i=r(5),s=function(t){return void 0===t&&(t={}),u.default(function(e){var r=e.complete,o=e.update,u=t.velocity,a=void 0===u?0:u,s=t.from,c=void 0===s?0:s,f=t.power,l=void 0===f?.8:f,p=t.timeConstant,d=void 0===p?350:p,v=t.restDelta,h=void 0===v?.5:v,m=t.modifyTarget,y=0,g=l*a,b=Math.round(c+g),O=void 0===m?b:m(b),_=i.default().start(function(){y+=n.timeSinceLastFrame();var t=-g*Math.exp(-y/d),e=t>h||t<-h;o(e?O+t:O),e||(_.stop(),r())});return{stop:function(){return _.stop()}}})};e.default=a.default(s,{from:o.number.test,modifyTarget:function(t){return\"function\"==typeof t},velocity:o.number.test})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(3),u=r(0),a=r(7),i=r(2),s=r(5),c=function(t){return void 0===t&&(t={}),u.default(function(e){var r=e.complete,o=e.update,u=t.acceleration,a=void 0===u?0:u,c=t.friction,f=void 0===c?0:c,l=t.velocity,p=void 0===l?0:l,d=t.springStrength,v=t.to,h=t.restSpeed,m=void 0===h?.001:h,y=t.from,g=void 0===y?0:y,b=g,O=s.default().start(function(){var t=n.timeSinceLastFrame();if(a&&(p+=i.speedPerFrame(a,t)),f&&(p*=Math.pow(1-f,t/100)),void 0!==d&&void 0!==v){p+=(v-b)*i.speedPerFrame(d,t)}b+=i.speedPerFrame(p,t),o(b),!1!==m&&(!p||Math.abs(p)<=m)&&(O.stop(),r())});return{set:function(t){return b=t,this},setAcceleration:function(t){return a=t,this},setFriction:function(t){return f=t,this},setSpringStrength:function(t){return d=t,this},setSpringTarget:function(t){return v=t,this},setVelocity:function(t){return p=t,this},stop:function(){return O.stop()}}})};e.default=a.default(c,{acceleration:o.number.test,friction:o.number.test,velocity:o.number.test,from:o.number.test,to:o.number.test,springStrength:o.number.test})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(1),o=r(3),u=r(0),a=r(7),i=r(2),s=r(5),c=function(t){return void 0===t&&(t={}),u.default(function(e){var r=e.update,o=e.complete,u=t.velocity,a=void 0===u?0:u,c=t.from,f=void 0===c?0:c,l=t.to,p=void 0===l?0:l,d=t.stiffness,v=void 0===d?100:d,h=t.damping,m=void 0===h?10:h,y=t.mass,g=void 0===y?1:y,b=t.restSpeed,O=void 0===b?.01:b,_=t.restDelta,P=void 0===_?.01:_,M=a?-a/1e3:0,w=0,j=p-f,x=f,F=x,A=s.default().start(function(){var t=n.timeSinceLastFrame();w+=t;var e=m/(2*Math.sqrt(v*g)),u=Math.sqrt(v/g)/1e3;if(F=x,e<1){var s=Math.exp(-e*u*w),c=u*Math.sqrt(1-e*e);x=p-s*((M+e*u*j)/c*Math.sin(c*w)+j*Math.cos(c*w))}else{var s=Math.exp(-u*w);x=p-s*(j+(M+u*j)*w)}a=i.speedPerSecond(x-F,t);var f=Math.abs(a)<=O,l=Math.abs(p-x)<=P;f&&l?(x=p,r(x),A.stop(),o()):r(x)});return{stop:function(){return A.stop()}}})};e.default=a.default(c,{from:o.number.test,to:o.number.test,stiffness:o.number.test,damping:o.number.test,mass:o.number.test,velocity:o.number.test})},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(18),u=r(6),a=r(10),i=function(t){var e=[],r=t[t.length-1],n=\"number\"==typeof r,o=n?r:0,u=n?t.slice(0,-1):t,a=u.length,i=0;return u.forEach(function(t,r){if(e.push(t),r!==a-1){var n=t.duration||300;i+=o,e.push(\"-\"+(n-i))}}),e},s=function(t,e){return Array.isArray(e)?t.push.apply(t,i(e)):t.push(e),t},c=function(t,e,r){var n=t.duration,o=t.easings,a=t.times,i=t.values,s=i.length,c=a[s-1],f=0===e.at?0:e.at/n,l=(e.at+e.duration)/n;if(0===r)i.push(e.from),a.push(f);else if(c!==f){void 0!==e.from&&(i.push(i[s-1]),a.push(f),o.push(u.linear));var p=void 0!==e.from?e.from:i[s-1];i.push(p),a.push(f),o.push(u.linear)}else void 0!==e.from&&(i.push(e.from),a.push(f),o.push(u.linear));return i.push(e.to),a.push(l),o.push(e.ease||u.easeInOut),t},f=function(t,e){var r=void 0===e?{}:e,u=r.duration,i=r.elapsed,f=r.ease,l=r.loop,p=r.flip,d=r.yoyo,v=0,h=0,m=t.reduce(s,[]),y=[];m.forEach(function(t){if(\"string\"==typeof t)v+=parseFloat(t);else if(\"number\"==typeof t)v=t;else{var e=n({},t,{at:v});e.duration=void 0===e.duration?300:e.duration,y.push(e),v+=e.duration,h=Math.max(h,e.at+e.duration)}});for(var g={},b=y.length,O=0;O<b;O++){var _=y[O],P=_.track;if(void 0===P)throw new Error(\"No track defined\");g.hasOwnProperty(P)||(g[P]=[]),g[P].push(_)}var M={};for(var w in g)if(g.hasOwnProperty(w)){var j=g[w].reduce(c,{duration:h,easings:[],times:[],values:[]});M[w]=o.default(n({},j,{duration:u||h,ease:f,elapsed:i,loop:l,yoyo:d,flip:p}))}return a.default(M)};e.default=f},function(t,e,r){\"use strict\";var n=this&&this.__rest||function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&(r[n[o]]=t[n[o]]);return r};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(4),u=r(21),a=r(23),i=function(t){return t[0]},s=function(t){return void 0===t&&(t={}),u.getIsTouchDevice()?u.default(t).pipe(function(t){return t.touches},i):a.default(t)};e.default=function(t){void 0===t&&(t={});var e=t.x,r=t.y,u=n(t,[\"x\",\"y\"]);if(void 0!==e||void 0!==r){var a=o.applyOffset(e||0),i=o.applyOffset(r||0),c={x:0,y:0};return s(u).pipe(function(t){return c.x=a(t.x),c.y=i(t.y),c})}return s(u)}},function(t,e,r){\"use strict\";var n=this&&this.__assign||Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++){e=arguments[r];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])}return t};Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(0),u=r(2),a=r(8),i=function(t,e){return o.default(function(r){var o=0,i=a.default(t,e).start(n({},r,{update:function(t){var e=t[0],n=t[1];r.update(u.getValueFromProgress(e,n,o))}}));return{setBalance:function(t){return o=t},stop:function(){return i.stop()}}})};e.default=i},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0),o=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return n.default(function(e){var r=t.map(function(t){return t.start(e)});return{stop:function(){return r.forEach(function(t){return t.stop()})}}})};e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(0),o=function(t,e){return n.default(function(r){var n,o=r.update,u=r.complete,a=t.start({update:function(){return void 0!==n&&o(n)},complete:u}),i=e.start({update:function(t){return n=t},complete:u});return{stop:function(){a.stop(),i.stop()}}})};e.default=o},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(24),o=r(25),u=r(8),a=function(t,e){var r=\"number\"==typeof e,a=t.map(function(t,u){var a=r?e*u:e(u);return n.default(o.default(a),t)});return u.default.apply(void 0,a)};e.default=a},function(t,e,r){\"use strict\";function n(t){var e=\"string\"==typeof t?document.querySelector(t):t;return e instanceof SVGGraphicsElement?a.default(e):o.default(e)}Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(26),u=r(12);e.createStyler=u.default;var a=r(29);e.default=n},function(t,e,r){\"use strict\";function n(t,e,r,n){for(var i=\"\",s=\"\",c=!1,f=!1,l=r.length,p=0;p<l;p++){var d=r[p];if(o.isTransformProp(d)){c=!0;for(var v in e)o.isTransformProp(v)&&-1===r.indexOf(v)&&r.push(v);break}}r.sort(o.sortTransformProps);for(var h=r.length,p=0;p<h;p++){var d=r[p],m=e[d],y=a.default(d);y&&(\"number\"==typeof m||\"object\"==typeof m)&&y.transform&&(m=y.transform(m)),o.isTransformProp(d)?(s+=d+\"(\"+m+\") \",f=\"translateZ\"===d||f):i+=\";\"+u.default(d,!0)+\":\"+m}c&&(!f&&n&&(s+=\"translateZ(0)\"),i+=\";\"+u.default(\"transform\",!0)+\":\"+s),t.style.cssText+=i}Object.defineProperty(e,\"__esModule\",{value:!0});var o=r(9),u=r(27),a=r(28);e.default=n},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(13),o=r(9),u=function(t,e){return t/100*e+\"px\"},a=function(t,e,r,a){var i=!1,s=!1,c={},f=r?{pathLength:\"0\",pathSpacing:\"\"+a}:void 0,l=void 0!==t.scale?t.scale||1e-7:t.scaleX||1,p=void 0!==t.scaleY?t.scaleY||1e-7:l||1,d=e.width*((t.originX||50)/100)+e.x,v=e.height*((t.originY||50)/100)+e.y,h=1*l*-d,m=1*p*-v,y=d/l,g=v/p,b={translate:\"translate(\"+t.translateX+\", \"+t.translateY+\") \",scale:\"translate(\"+h+\", \"+m+\") scale(\"+l+\", \"+p+\") translate(\"+y+\", \"+g+\") \",rotate:\"rotate(\"+t.rotate+\", \"+d+\", \"+v+\") \",skewX:\"skewX(\"+t.skewX+\") \",skewY:\"skewY(\"+t.skewY+\") \"};for(var O in t)if(t.hasOwnProperty(O)){var _=t[O];o.isTransformProp(O)?i=!0:!r||\"pathLength\"!==O&&\"pathSpacing\"!==O||\"number\"!=typeof _?r&&\"pathOffset\"===O?c[\"stroke-dashoffset\"]=u(-_,a):c[n.camelToDash(O)]=_:(s=!0,f[O]=u(_,a))}if(s&&(c[\"stroke-dasharray\"]=f.pathLength+\" \"+f.pathSpacing),i){c.transform=\"\";for(var O in b)if(b.hasOwnProperty(O)){var P=\"scale\"===O?\"1\":\"0\";c.transform+=b[O].replace(/undefined/g,P)}}return c};e.default=a},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(3),o={fill:n.color,stroke:n.color,scale:n.scale,scaleX:n.scale,scaleY:n.scale,opacity:n.alpha,fillOpacity:n.alpha,strokeOpacity:n.alpha};e.default=function(t){return o[t]}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(30);window.popmotion=n}]);",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/lib/popmotion.js",
"tags": "",
"module-type": "library",
"modified": "20171228183829535",
"created": "20171215091357983"
},
"$:/plugins/BTC/tiddly-touch/lib/web-animations.js": {
"text": "// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(a,b){var c={},d={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i<j;){var k=(i+j)/2,l=f(a,c,k);if(Math.abs(e-l)<1e-5)return f(b,d,k);l<e?i=k:j=k}return f(b,d,k)}}function j(a,b){return function(c){if(c>=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);return c?j(Number(c[1]),{start:y,middle:z,end:A}[c[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return G;var d=c.delay+a+c.endDelay;return b<Math.min(c.delay,d)?H:b>=Math.min(c.delay+a,d)?I:J}function p(a,b,c,d,e){switch(d){case H:return\"backwards\"==b||\"both\"==b?0:null;case J:return c-e;case I:return\"forwards\"==b||\"both\"==b?a:null;case G:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==H&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==I||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===I&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+timing.iterationStart);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,G=0,H=1,I=2,J=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(c),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g<f;g++)e={},e.offset=\"offset\"in a?a.offset:1==f?1:g/(f-1),\"easing\"in a&&(e.easing=a.easing),\"composite\"in a&&(e.composite=a.composite),e[c]=d[g],b.push(e)}return b.sort(function(a,b){return a.offset-b.offset}),b}function g(b){function c(){var a=d.length;null==d[a-1].offset&&(d[a-1].offset=1),a>1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e<a;e++){var f=d[e].offset;if(null!=f){for(var g=1;g<e-b;g++)d[b+g].offset=c+(f-c)*g/(e-b);b=e,c=f}}}if(null==b)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||(b=f(b));for(var d=b.map(function(b){var c={};for(var d in b){var f=b[d];if(\"offset\"==d){if(null!=f){if(f=Number(f),!isFinite(f))throw new TypeError(\"Keyframe offsets must be numbers.\");if(f<0||f>1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i<d.length;i++){var j=d[i].offset;if(null!=j){if(j<h)throw new TypeError(\"Keyframes are not loosely sorted by offset. Sort or specify offsets.\");h=j}else g=!1}return d=d.filter(function(a){return a.offset>=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(c),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g<h&&(a in b||console.warn(\"Web Animations: \"+a+\" \"+f+\" deprecated and will stop working on \"+h.toDateString()+\". \"+d),b[a]=!0,1))},a.deprecated=function(b,c,d,e){var f=e?\"are\":\"is\";if(a.isDeprecated(b,c,d,e))throw new Error(b+\" \"+f+\" no longer supported. \"+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,\"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState\".split(\"|\").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b,c){function d(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if(\"offset\"!=d&&\"easing\"!=d&&\"composite\"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"Partial keyframes are not supported\"}}return b}function e(c){var d=[];for(var e in c)for(var f=c[e],g=0;g<f.length-1;g++){var h=g,i=g+1,j=f[h].offset,k=f[i].offset,l=j,m=k;0==g&&(l=-1/0,0==k&&(i=h)),g==f.length-2&&(m=1/0,1==j&&(h=i)),d.push({applyFrom:l,applyTo:m,startOffset:f[h].offset,endOffset:f[i].offset,easingFunction:a.parseEasingFunction(f[h].easing),property:e,interpolation:b.propertyInterpolation(e,f[h].value,f[i].value)})}return d.sort(function(a,b){return a.startOffset-b.startOffset}),d}b.convertEffectInput=function(c){var f=a.normalizeKeyframes(c),g=d(f),h=e(g);return function(a,c){if(null!=c)h.filter(function(a){return c>=a.applyFrom&&c<a.applyTo}).forEach(function(d){var e=c-d.startOffset,f=d.endOffset-d.startOffset,g=0==f?0:d.easingFunction(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)\"offset\"!=d&&\"easing\"!=d&&\"composite\"!=d&&b.clear(a,d)}}}(c,d),function(a,b,c){function d(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}function e(a,b,c){h[c]=h[c]||[],h[c].push([a,b])}function f(a,b,c){for(var f=0;f<c.length;f++){e(a,b,d(c[f]))}}function g(c,e,f){var g=c;/-/.test(c)&&!a.isDeprecated(\"Hyphenated property names\",\"2016-03-22\",\"Use camelCase instead.\",!0)&&(g=d(c)),\"initial\"!=e&&\"initial\"!=f||(\"initial\"==e&&(e=i[g]),\"initial\"==f&&(f=i[g]));for(var j=e==f?[]:h[g],k=0;j&&k<j.length;k++){var l=j[k][0](e),m=j[k][0](f);if(void 0!==l&&void 0!==m){var n=j[k][1](l,m);if(n){var o=b.Interpolation.apply(null,n);return function(a){return 0==a?e:1==a?f:o(a)}}}}return b.Interpolation(!1,!0,function(a){return a?f:e})}var h={};b.addPropertiesHandler=f;var i={backgroundColor:\"transparent\",backgroundPosition:\"0% 0%\",borderBottomColor:\"currentColor\",borderBottomLeftRadius:\"0px\",borderBottomRightRadius:\"0px\",borderBottomWidth:\"3px\",borderLeftColor:\"currentColor\",borderLeftWidth:\"3px\",borderRightColor:\"currentColor\",borderRightWidth:\"3px\",borderSpacing:\"2px\",borderTopColor:\"currentColor\",borderTopLeftRadius:\"0px\",borderTopRightRadius:\"0px\",borderTopWidth:\"3px\",bottom:\"auto\",clip:\"rect(0px, 0px, 0px, 0px)\",color:\"black\",fontSize:\"100%\",fontWeight:\"400\",height:\"auto\",left:\"auto\",letterSpacing:\"normal\",lineHeight:\"120%\",marginBottom:\"0px\",marginLeft:\"0px\",marginRight:\"0px\",marginTop:\"0px\",maxHeight:\"none\",maxWidth:\"none\",minHeight:\"0px\",minWidth:\"0px\",opacity:\"1.0\",outlineColor:\"invert\",outlineOffset:\"0px\",outlineWidth:\"3px\",paddingBottom:\"0px\",paddingLeft:\"0px\",paddingRight:\"0px\",paddingTop:\"0px\",right:\"auto\",strokeDasharray:\"none\",strokeDashoffset:\"0px\",textIndent:\"0px\",textShadow:\"0px 0px 0px transparent\",top:\"auto\",transform:\"\",verticalAlign:\"0px\",visibility:\"visible\",width:\"auto\",wordSpacing:\"normal\",zIndex:\"auto\"};b.propertyInterpolation=g}(c,d),function(a,b,c){function d(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateIterationProgress(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d}b.KeyframeEffect=function(c,e,f,g){var h,i=d(a.normalizeTimingInput(f)),j=b.convertEffectInput(e),k=function(){j(c,h)};return k._update=function(a){return null!==(h=i(a))},k._clear=function(){j(c,null)},k._hasSameTarget=function(a){return c===a},k._target=c,k._totalDuration=i._totalDuration,k._id=g,k}}(c,d),function(a,b){function c(a,b){return!(!b.namespaceURI||-1==b.namespaceURI.indexOf(\"/svg\"))&&(g in a||(a[g]=/Trident|MSIE|IEMobile|Edge|Android 4/i.test(a.navigator.userAgent)),a[g])}function d(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function e(a){this._element=a,this._surrogateStyle=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\").style,this._style=a.style,this._length=0,this._isAnimatedProperty={},this._updateSvgTransformAttr=c(window,a),this._savedTransformAttr=null;for(var b=0;b<this._style.length;b++){var d=this._style[b];this._surrogateStyle[d]=this._style[d]}this._updateIndices()}function f(a){if(!a._webAnimationsPatchedStyle){var b=new e(a);try{d(a,\"style\",{get:function(){return b}})}catch(b){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=\"\"}}a._webAnimationsPatchedStyle=a.style}}var g=\"_webAnimationsUpdateSvgTransformAttr\",h={cssText:1,length:1,parentRule:1},i={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},j={removeProperty:1,setProperty:1};e.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(b,c){this._style[b]=c,this._isAnimatedProperty[b]=!0,this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(null==this._savedTransformAttr&&(this._savedTransformAttr=this._element.getAttribute(\"transform\")),this._element.setAttribute(\"transform\",a.transformToSvgMatrix(c)))},_clear:function(b){this._style[b]=this._surrogateStyle[b],this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(this._savedTransformAttr?this._element.setAttribute(\"transform\",this._savedTransformAttr):this._element.removeAttribute(\"transform\"),this._savedTransformAttr=null),delete this._isAnimatedProperty[b]}};for(var k in i)e.prototype[k]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(k,k in j);for(var l in document.documentElement.style)l in h||l in i||function(a){d(e.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(l);a.apply=function(b,c,d){f(b),b.style._set(a.propertyName(c),d)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d),function(a){window.Element.prototype.animate=function(b,c){var d=\"\";return c&&c.id&&(d=c.id),a.timeline._play(a.KeyframeEffect(this,b,c,d))}}(d),function(a,b){function c(a,b,d){if(\"number\"==typeof a&&\"number\"==typeof b)return a*(1-d)+b*d;if(\"boolean\"==typeof a&&\"boolean\"==typeof b)return d<.5?a:b;if(a.length==b.length){for(var e=[],f=0;f<a.length;f++)e.push(c(a[f],b[f],d));return e}throw\"Mismatched interpolation arguments \"+a+\":\"+b}a.Interpolation=function(a,b,d){return function(e){return d(c(a,b,e))}}}(d),function(a,b){function c(a,b,c){return Math.max(Math.min(a,c),b)}function d(b,d,e){var f=a.dot(b,d);f=c(f,-1,1);var g=[];if(1===f)g=b;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;j<4;j++)g.push(b[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var e=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;d<4;d++)for(var e=0;e<4;e++)for(var f=0;f<4;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;i<4;i++)h[i][3]=g[i];for(var i=0;i<3;i++)for(var j=0;j<3;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;i<3;i++)for(var j=0;j<3;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=e,a.quat=d}(d),function(a,b,c){a.sequenceNumber=0;var d=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type=\"finish\",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this.id=\"\",b&&b._id&&(this.id=b._id),this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(c,d),function(a,b,c){function d(a){var b=j;j=[],a<q.currentTime&&(a=q.currentTime),q._animations.sort(e),q._animations=h(a,!0,q._animations)[0],b.forEach(function(b){b[1](a)}),g(),l=void 0}function e(a,b){return a._sequenceNumber-b._sequenceNumber}function f(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function g(){o.forEach(function(a){a()}),o.length=0}function h(a,c,d){p=!0,n=!1,b.timeline.currentTime=a,m=!1;var e=[],f=[],g=[],h=[];return d.forEach(function(b){b._tick(a,c),b._inEffect?(f.push(b._effect),b._markTarget()):(e.push(b._effect),b._unmarkTarget()),b._needsTick&&(m=!0);var d=b._inEffect||b._needsTick;b._inTimeline=d,d?g.push(b):h.push(b)}),o.push.apply(o,e),o.push.apply(o,f),m&&requestAnimationFrame(function(){}),p=!1,[g,h]}var i=window.requestAnimationFrame,j=[],k=0;window.requestAnimationFrame=function(a){var b=k++;return 0==j.length&&i(d),j.push([b,a]),b},window.cancelAnimationFrame=function(a){j.forEach(function(b){b[0]==a&&(b[1]=function(){})})},f.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.applyDirtiedAnimation(d),d}};var l=void 0,m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n},b.applyDirtiedAnimation=function(a){if(!p){a._markTarget();var c=a._targetAnimations();c.sort(e),h(b.timeline.currentTime,!1,c.slice())[1].forEach(function(a){var b=q._animations.indexOf(a);-1!==b&&q._animations.splice(b,1)}),g()}};var o=[],p=!1,q=new f;b.timeline=q}(c,d),function(a,b){function c(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function d(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function e(a){var b=a.rad||0;return((a.deg||0)/360+(a.grad||0)/400+(a.turn||0))*(2*Math.PI)+b}function f(a){switch(a.t){case\"rotatex\":var b=e(a.d[0]);return[1,0,0,0,0,Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1];case\"rotatey\":var b=e(a.d[0]);return[Math.cos(b),0,-Math.sin(b),0,0,1,0,0,Math.sin(b),0,Math.cos(b),0,0,0,0,1];case\"rotate\":case\"rotatez\":var b=e(a.d[0]);return[Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1,0,0,0,0,1];case\"rotate3d\":var c=a.d[0],d=a.d[1],f=a.d[2],b=e(a.d[3]),g=c*c+d*d+f*f;if(0===g)c=1,d=0,f=0;else if(1!==g){var h=Math.sqrt(g);c/=h,d/=h,f/=h}var i=Math.sin(b/2),j=i*Math.cos(b/2),k=i*i;return[1-2*(d*d+f*f)*k,2*(c*d*k+f*j),2*(c*f*k-d*j),0,2*(c*d*k-f*j),1-2*(c*c+f*f)*k,2*(d*f*k+c*j),0,2*(c*f*k+d*j),2*(d*f*k-c*j),1-2*(c*c+d*d)*k,0,0,0,0,1];case\"scale\":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case\"scalex\":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case\"scaley\":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case\"scalez\":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case\"scale3d\":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case\"skew\":var l=e(a.d[0]),m=e(a.d[1]);return[1,Math.tan(m),0,0,Math.tan(l),1,0,0,0,0,1,0,0,0,0,1];case\"skewx\":var b=e(a.d[0]);return[1,0,0,0,Math.tan(b),1,0,0,0,0,1,0,0,0,0,1];case\"skewy\":var b=e(a.d[0]);return[1,Math.tan(b),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case\"translate\":var c=a.d[0].px||0,d=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,d,0,1];case\"translatex\":var c=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,0,0,1];case\"translatey\":var d=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,d,0,1];case\"translatez\":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,f,1];case\"translate3d\":var c=a.d[0].px||0,d=a.d[1].px||0,f=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,d,f,1];case\"perspective\":return[1,0,0,0,0,1,0,0,0,0,1,a.d[0].px?-1/a.d[0].px:0,0,0,0,1];case\"matrix\":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case\"matrix3d\":return a.d}}function g(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(f).reduce(d)}function h(a){return[i(g(a))]}var i=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function b(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;o<3;o++){for(var p=0,q=0;q<3;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;d<4;d++){for(var e=0,f=0;f<4;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;m<4;m++)l.push(k[m].slice());for(var m=0;m<3;m++)l[m][3]=0;if(0===a(l))return null;var n,o=[];k[0][3]||k[1][3]||k[2][3]?(o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]),n=e(o,d(b(l)))):n=[0,0,0,1];var p=k[3].slice(0,3),q=[];q.push(k[0].slice(0,3));var r=[];r.push(g(q[0])),q[0]=f(q[0]);var s=[];q.push(k[1].slice(0,3)),s.push(c(q[0],q[1])),q[1]=h(q[1],q[0],1,-s[0]),r.push(g(q[1])),q[1]=f(q[1]),s[0]/=r[1],q.push(k[2].slice(0,3)),s.push(c(q[0],q[2])),q[2]=h(q[2],q[0],1,-s[1]),s.push(c(q[1],q[2])),q[2]=h(q[2],q[1],1,-s[2]),r.push(g(q[2])),q[2]=f(q[2]),s[1]/=r[2],s[2]/=r[2];var t=i(q[1],q[2]);if(c(q[0],t)<0)for(var m=0;m<3;m++)r[m]*=-1,q[m][0]*=-1,q[m][1]*=-1,q[m][2]*=-1;var u,v,w=q[0][0]+q[1][1]+q[2][2]+1;return w>1e-4?(u=.5/Math.sqrt(w),v=[(q[2][1]-q[1][2])*u,(q[0][2]-q[2][0])*u,(q[1][0]-q[0][1])*u,.25/u]):q[0][0]>q[1][1]&&q[0][0]>q[2][2]?(u=2*Math.sqrt(1+q[0][0]-q[1][1]-q[2][2]),v=[.25*u,(q[0][1]+q[1][0])/u,(q[0][2]+q[2][0])/u,(q[2][1]-q[1][2])/u]):q[1][1]>q[2][2]?(u=2*Math.sqrt(1+q[1][1]-q[0][0]-q[2][2]),v=[(q[0][1]+q[1][0])/u,.25*u,(q[1][2]+q[2][1])/u,(q[0][2]-q[2][0])/u]):(u=2*Math.sqrt(1+q[2][2]-q[0][0]-q[1][1]),v=[(q[0][2]+q[2][0])/u,(q[1][2]+q[2][1])/u,.25*u,(q[1][0]-q[0][1])/u]),[p,r,s,v,n]}return j}();a.dot=c,a.makeMatrixDecomposition=h,a.transformListToMatrix=g}(d),function(a){function b(a,b){var c=a.exec(b);if(c)return c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]}function c(a,b){b=b.replace(/^\\s*/,\"\");var c=a(b);if(c)return[c[0],c[1].replace(/^\\s*/,\"\")]}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],!(g=b(d,e))||\"\"==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\\s|,/.test(b[d])||0!=c);d++)if(\"(\"==b[d])c++;else if(\")\"==b[d]&&(c--,0==c&&d++,c<=0))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||\"\"==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}if(\"\"==c)return d}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;k<j;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if(\"function\"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b=\"\",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);if(e&&e[0].length)return[d,e[1]]}function c(c){var d=a.consumeRepeated(b,/^,/,c);if(d&&\"\"==d[1])return d[0]}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?\"inset \":\" \",f=0;f<e.length;f++)c+=e[f](a[0][f])+\" \";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,\", \");a.addPropertiesHandler(c,f,[\"box-shadow\",\"text-shadow\"])}(d),function(a,b){function c(a){return a.toFixed(3).replace(/0+$/,\"\").replace(/\\.$/,\"\")}function d(a,b,c){return Math.min(b,Math.max(a,c))}function e(a){if(/^\\s*[-+]?(\\d*\\.)?\\d+\\s*$/.test(a))return Number(a)}function f(a,b){return[a,b,c]}function g(a,b){if(0!=a)return i(0,1/0)(a,b)}function h(a,b){return[a,b,function(a){return Math.round(d(1,1/0,a))}]}function i(a,b){return function(e,f){return[e,f,function(e){return c(d(a,b,e))}]}}function j(a){var b=a.trim().split(/\\s*[\\s,]\\s*/);if(0!==b.length){for(var c=[],d=0;d<b.length;d++){var f=e(b[d]);if(void 0===f)return;c.push(f)}return c}}function k(a,b){if(a.length==b.length)return[a,b,function(a){return a.map(c).join(\" \")}]}function l(a,b){return[a,b,Math.round]}a.clamp=d,a.addPropertiesHandler(j,k,[\"stroke-dasharray\"]),a.addPropertiesHandler(e,i(0,1/0),[\"border-image-width\",\"line-height\"]),a.addPropertiesHandler(e,i(0,1),[\"opacity\",\"shape-image-threshold\"]),a.addPropertiesHandler(e,g,[\"flex-grow\",\"flex-shrink\"]),a.addPropertiesHandler(e,h,[\"orphans\",\"widows\"]),a.addPropertiesHandler(e,l,[\"z-index\"]),a.parseNumber=e,a.parseNumberList=j,a.mergeNumbers=f,a.numberToString=c}(d),function(a,b){function c(a,b){if(\"visible\"==a||\"visible\"==b)return[0,1,function(c){return c<=0?a:c>=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(d),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(d),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h<g.length;)g[h].test(f)?(f=f.replace(g[h],\"$1\"),h=0):h++;if(\"D\"==f){for(var i in d){var j=c(b.replace(new RegExp(\"U\"+i,\"g\"),\"\").replace(new RegExp(e,\"g\"),\"*0\"));if(!isFinite(j))return;d[i]=j}return d}}}function e(a,b){return f(a,b,!0)}function f(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(\" + \");return b.length>1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(d),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(d),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length<i.length)return;for(var k=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(void 0===(p=q?{A:function(b){return\"0\"==b.trim()?m:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:m,n:k[0],t:l}[r]))return;k.push(p)}if(e.push({t:g,d:k}),d.lastIndex==b.length)return e}}function f(a){return a.toFixed(6).replace(\".000000\",\"\")}function g(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var e=a.makeMatrixDecomposition(c)}return null==d[0]||null==e[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),e[0].push(1),[d,e,function(b){var c=a.quat(d[0][3],e[0][3],b[5]);return a.composeMatrix(b[0],b[1],b[2],c,b[4]).map(f).join(\",\")}])}function h(a){return a.replace(/[xy]/,\"\")}function i(a){return a.replace(/(x|y|z|3d)?$/,\"3d\")}function j(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var f=0;f<b.length;f++){var j=b[f].t,k=b[f].d,l=\"scale\"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if(\"number\"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var m=function(a,b){return\"perspective\"==a&&\"perspective\"==b||(\"matrix\"==a||\"matrix3d\"==a)&&(\"matrix\"==b||\"matrix3d\"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=g(b,c);o=[r[0]],p=[r[1]],q=[[\"matrix\",[r[2]]]]}else for(var f=0;f<b.length;f++){var j,s=b[f].t,t=c[f].t,u=b[f].d,v=c[f].d,w=n[s],x=n[t];if(m(s,t)){if(!d)return;var r=g([b[f]],[c[f]]);o.push(r[0]),p.push(r[1]),q.push([\"matrix\",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&h(s)==h(t))j=h(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||i(s)!=i(t)){if(!d)return;var r=g(b,c);o=[r[0]],p=[r[1]],q=[[\"matrix\",[r[2]]]];break}j=i(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C=\"number\"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(\",\");return\"matrix\"==q[b][0]&&16==c.split(\",\").length&&(q[b][0]=\"matrix3d\"),q[b][0]+\"(\"+c+\")\"}).join(\" \")}]}var k=null,l={px:0},m={deg:0},n={matrix:[\"NNNNNN\",[k,k,0,0,k,k,0,0,0,0,1,0,k,k,0,1],d],matrix3d:[\"NNNNNNNNNNNNNNNN\",d],rotate:[\"A\"],rotatex:[\"A\"],rotatey:[\"A\"],rotatez:[\"A\"],rotate3d:[\"NNNA\"],perspective:[\"L\"],scale:[\"Nn\",c([k,k,1]),d],scalex:[\"N\",c([k,1,1]),c([k,1])],scaley:[\"N\",c([1,k,1]),c([1,k])],scalez:[\"N\",c([1,1,k])],scale3d:[\"NNN\",d],skew:[\"Aa\",null,d],skewx:[\"A\",null,c([k,m])],skewy:[\"A\",null,c([m,k])],translate:[\"Tt\",c([k,k,l]),d],translatex:[\"T\",c([k,l,l]),c([k,l])],translatey:[\"T\",c([l,k,l]),c([l,k])],translatez:[\"L\",c([l,l,k])],translate3d:[\"TTL\",d]};a.addPropertiesHandler(e,j,[\"transform\"]),a.transformToSvgMatrix=function(b){var c=a.transformListToMatrix(e(b));return\"matrix(\"+f(c[0])+\" \"+f(c[1])+\" \"+f(c[4])+\" \"+f(c[5])+\" \"+f(c[12])+\" \"+f(c[13])+\")\"}}(d),function(a){function b(a){var b=Number(a);if(!(isNaN(b)||b<100||b>900||b%100!=0))return b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?\"normal\":700===b?\"bold\":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,[\"font-weight\"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&\"\"==e[1]){var f=e[0];if(f[0]=f[0]||\"center\",f[1]=f[1]||\"center\",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return\"object\"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{\"%\":50},{\"%\":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];\"string\"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],\"center\"==l&&i++):(j&&(l=b(l),l[\"%\"]=(l[\"%\"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);if(c&&\"\"==c[1])return c[0]}var g={left:{\"%\":0},center:{\"%\":50},right:{\"%\":100},top:{\"%\":0},bottom:{\"%\":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions,\" \");a.addPropertiesHandler(d.bind(null,3),h,[\"transform-origin\"]),a.addPropertiesHandler(d.bind(null,2),h,[\"perspective-origin\"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,\", \");a.addPropertiesHandler(f,i,[\"background-position\",\"object-position\"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return[\"circle\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return[\"ellipse\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?[\"polygon\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\\s*,|^evenodd\\s*,/),\"nonzero,\"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],g[1])):void 0}function c(b,c){if(b[0]===c[0])return\"circle\"==b[0]?a.mergeList(b.slice(1),c.slice(1),[\"circle(\",a.mergeDimensions,\" at \",a.mergeOffsetList,\")\"]):\"ellipse\"==b[0]?a.mergeList(b.slice(1),c.slice(1),[\"ellipse(\",a.mergeNonNegativeSizePair,\" at \",a.mergeOffsetList,\")\"]):\"polygon\"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),[\"polygon(\",b[1],g,\")\"]):void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions,\" \"),g=a.mergeNestedRepeated.bind(void 0,f,\",\");a.addPropertiesHandler(b,c,[\"shape-outside\"])}(d),function(a,b){function c(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(d[a]=b),e[b]=a})}var d={},e={};c(\"transform\",[\"webkitTransform\",\"msTransform\"]),c(\"transformOrigin\",[\"webkitTransformOrigin\"]),c(\"perspective\",[\"webkitPerspective\"]),c(\"perspectiveOrigin\",[\"webkitPerspectiveOrigin\"]),a.propertyName=function(a){return d[a]||a},a.unprefixedPropertyName=function(a){return e[a]||a}}(d)}(),function(){if(void 0===document.createElement(\"div\").animate([]).oncancel){var a;if(window.performance&&performance.now)var a=function(){return performance.now()};else var a=function(){return Date.now()};var b=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type=\"cancel\",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()},c=window.Element.prototype.animate;window.Element.prototype.animate=function(d,e){var f=c.call(this,d,e);f._cancelHandlers=[],f.oncancel=null;var g=f.cancel;f.cancel=function(){g.call(this);var c=new b(this,null,a()),d=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){d.forEach(function(a){a.call(c.target,c)})},0)};var h=f.addEventListener;f.addEventListener=function(a,b){\"function\"==typeof b&&\"cancel\"==a?this._cancelHandlers.push(b):h.call(this,a,b)};var i=f.removeEventListener;return f.removeEventListener=function(a,b){if(\"cancel\"==a){var c=this._cancelHandlers.indexOf(b);c>=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(c),b.true=a}({},function(){return this}());\n//# sourceMappingURL=web-animations.min.js.map",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/lib/web-animations.js",
"tags": "",
"module-type": "library",
"modified": "20171228183812615",
"created": "20171216100528126"
},
"$:/plugins/BTC/tiddly-touch/license": {
"text": "MIT License\n\nCopyright (c) 2018 Huber Simon\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.",
"title": "$:/plugins/BTC/tiddly-touch/license",
"tags": "",
"modified": "20180119084208663",
"created": "20180119073430854",
"caption": "license"
},
"$:/plugins/BTC/tiddly-touch/lists/numbers": {
"text": "the list field holds all integer numbers from 1 to 9999",
"title": "$:/plugins/BTC/tiddly-touch/lists/numbers",
"tags": "",
"modified": "20180109082245868",
"list": "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000",
"created": "20180109081722674"
},
"$:/plugins/BTC/tiddly-touch/readme": {
"text": "",
"title": "$:/plugins/BTC/tiddly-touch/readme",
"tags": "",
"modified": "20180119084217667",
"created": "20180119083856838",
"caption": "readme"
},
"$:/plugins/BTC/tiddly-touch/storyviews/muuri.js": {
"text": "/*\\\ntitle: $:/plugins/BTC/tiddly-touch/storyviews/muuri.js\ntype: application/javascript\nmodule-type: storyview\n\nStory view that cooperates with the Muuri grid layout engine\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\n\nvar MuuriStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nMuuriStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\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 instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nMuuriStoryView.prototype.insert = function(widget) {\n\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\n var targetElementIndex = this.listWidget.findListItem(0,widget.parseTreeNode.itemTitle);\n\n /*\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin 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{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\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: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n */\n\n this.addGridItem(targetElement, { instant: true, index: targetElementIndex });\n};\n\nMuuriStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\n this.removeGridItem(targetElement, { instant: false, removeElements: true });\n\n /*\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n */\n};\n\nMuuriStoryView.prototype.grid = function(targetElement) {\n var grid = targetElement.parentNode;\n\n if (!(grid instanceof Element)) {\n $tw.utils.error(\"MuuriStoryView couldn't find grid for \" + targetElement.getAttribute('class'));\n }\n\n return grid;\n};\n\nMuuriStoryView.prototype.addGridItem = function(targetElement, options) {\n var grid = this.grid(targetElement);\n\n grid.add(targetElement, options);\n};\n\nMuuriStoryView.prototype.removeGridItem = function(targetElement, options) {\n var grid = this.grid(targetElement);\n\n grid.remove(targetElement, options);\n};\n\nexports.muuri = MuuriStoryView;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/storyviews/muuri.js",
"revision": "0",
"module-type": "storyview",
"modified": "20180119161045861",
"created": "20171221070643923",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/utils/resize-listener.js": {
"text": "/*\\\ntitle: $:/plugins/ustuehler/muuri/utils/resize-listener.js\ntype: application/javascript\nmodule-type: utils\n\nStory view that cooperates with the Muuri grid layout engine\n\n\\*/\n(function(){ if (typeof window !== 'undefined') {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar attachEvent = document.attachEvent;\nvar isIE = navigator.userAgent.match(/Trident/);\n\nvar requestFrame = (function(){\n\tvar raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||\n\t\t\tfunction(fn){ return window.setTimeout(fn, 20); };\n\treturn function(fn){ return raf(fn); };\n})();\n\nvar cancelFrame = (function(){\n\tvar cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame ||\n\t\t\t\t window.clearTimeout;\n\treturn function(id){ return cancel(id); };\n})();\n\nfunction resizeListener(e){\n\tvar win = e.target || e.srcElement;\n\tif (win.__resizeRAF__) cancelFrame(win.__resizeRAF__);\n\twin.__resizeRAF__ = requestFrame(function(){\n\t\tvar trigger = win.__resizeTrigger__;\n if (trigger !== undefined && trigger.__resizeListeners__ !== undefined) {\n\t\ttrigger.__resizeListeners__.forEach(function(fn){\n\t\t\tfn.call(trigger, e);\n\t\t});\n }\n\t});\n}\n\nfunction objectLoad(e){\n\tthis.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__;\n\tthis.contentDocument.defaultView.addEventListener('resize', resizeListener);\n}\n\nexports.addResizeListener = function(element, fn){\n\tif (!element.__resizeListeners__) {\n\t\telement.__resizeListeners__ = [];\n\t\tif (attachEvent) {\n\t\t\telement.__resizeTrigger__ = element;\n\t\t\telement.attachEvent('onresize', resizeListener);\n\t\t}\n\t\telse {\n\t\t\tif (getComputedStyle(element).position == 'static') element.style.position = 'relative';\n\t\t\tvar obj = element.__resizeTrigger__ = document.createElement('object'); \n\t\t\tobj.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\t\tobj.__resizeElement__ = element;\n\t\t\tobj.onload = objectLoad;\n\t\t\tobj.type = 'text/html';\n\t\t\tif (isIE) element.appendChild(obj);\n\t\t\tobj.data = 'about:blank';\n\t\t\tif (!isIE) element.appendChild(obj);\n\t\t}\n\t}\n\telement.__resizeListeners__.push(fn);\n};\n\nexports.removeResizeListener = function(element, fn){\n\telement.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n\tif (!element.__resizeListeners__.length) {\n\t\tif (attachEvent) element.detachEvent('onresize', resizeListener);\n\t\telse {\n\t\t\telement.__resizeTrigger__.contentDocument.defaultView.removeEventListener('resize', resizeListener);\n\t\t\telement.__resizeTrigger__ = !element.removeChild(element.__resizeTrigger__);\n\t\t}\n\t}\n};\n\n}})();\n",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/utils/resize-listener.js",
"revision": "0",
"module-type": "utils",
"modified": "20180119132731111",
"created": "20171221070721367",
"bag": "default"
},
"$:/plugins/BTC/tiddly-touch/widgets/muuri.js": {
"text": "/*\\\ntitle: $:/plugins/BTC/tiddly-touch/widgets/muuri.js\ntype: application/javascript\nmodule-type: widget\n\nPackery cascading grid layout widget\n\n\\*/\n(function (global) {\n\n\"use strict\";\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nif (typeof window !== 'undefined') {\n var Muuri = require(\"$:/plugins/BTC/tiddly-touch/lib/muuri.js\");\n}\n\nvar MuuriWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMuuriWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMuuriWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\n // Insert DOM node\n var domNode = this.document.createElement(\"section\");\n \tdomNode.setAttribute(\"class\",\"tc-muuri-grid\");\n\t parent.insertBefore(domNode,nextSibling);\n \tthis.domNodes.push(domNode);\n\nthis.renderChildren(domNode,null);\n\n var targetElements = this.getAttribute(\"target\");\n var muuriListTiddler = this.getAttribute(\"list\");\n var targetIsTiddler = this.getAttribute(\"target-is-tiddler\") === \"yes\" ;\n var muuriFillGaps = this.getAttribute(\"fill-gaps\") === \"yes\" ;\n var muuriHorizontal = this.getAttribute(\"horizontal\") === \"yes\" ;\n var muuriAlignRight = this.getAttribute(\"align-right\") === \"yes\" ;\n var muuriAlignBottom = this.getAttribute(\"align-bottom\") === \"yes\" ;\n var muuriEnableDrag = this.getAttribute(\"dragging\") === \"yes\" ;\nvar muuriAnimationDuration = parseInt($tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"animation-duration\"));\n var muuriShowDuration = parseInt($tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"show-duration\"));\n var muuriHideDuration = parseInt($tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"hide-duration\"));\n var muuriDragSortAction = $tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"drag-sort-action\");\n var muuriDragSortThreshold = $tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"drag-sort-threshold\");\n var muuriDragSort = $tw.wiki.getTiddler(\"$:/plugins/BTC/tiddly-touch/config\").getFieldString(\"drag-sort\") === \"yes\";\n var muuriParentWidget = this.children;\n\n var animationDuration = $tw.utils.getAnimationDuration();\n\n var muuri = new Muuri(domNode, {\n items: '.' + targetElements,\n muuriListTiddler: muuriListTiddler,\n muuriParentWidget: muuriParentWidget,\n targetsAreTiddlers: targetIsTiddler,\n showDuration: muuriShowDuration,\n hideDuration: muuriHideDuration,\n layoutDuration: muuriAnimationDuration,\n layoutEasing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n showEasing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n hideEasing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n layoutOnResize: animationDuration,\n rounding: false,\n\t\tlayout: {\n\t\t\tfillGaps: muuriFillGaps,\n\t\t\thorizontal: muuriHorizontal,\n\t\t\talignRight: muuriAlignRight,\n\t\t\talignBottom: muuriAlignBottom,\n\t\t\trounding: false\n\t\t},\n dragEnabled: muuriEnableDrag,\n dragSortPredicate: {\n threshold: muuriDragSortThreshold,\n action: muuriDragSortAction\n },\n containerClass: 'tc-muuri-grid',\n itemClass: targetElements,\n gridMigratingClass: 'tc-grid-migrate-1',\n\t\titemVisibleClass: 'muuri-shown',\n\t\titemHiddenClass: 'muuri-hidden',\n\t\titemPositioningClass: 'muuri-positioning',\n\t\titemDraggingClass: 'tc-dragging',\n\t\titemReleasingClass: 'tc-dragover'\n });\n\n // add() and remove() should be invoked on the grid container by the\n // storyview when tiddlers get inserted or removed\n domNode.add = function(elements, options) {\n muuri.add(elements, options);\n muuri.hide(elements, {onFinish: function () {\n muuri.refreshItems();\n muuri._refreshDimensions();\n muuri.layout();\n muuri.show(elements);\n muuri._settings.muuriParentWidget = self.children;\n}});\n };\n\n domNode.remove = function(elements, options) {\n muuri.remove(elements, options);\n muuri._settings.muuriParentWidget = self.children;\n };\n\n // Register resize event handlers for all children\n self.registerMissingResizeListeners(domNode, muuri);\n muuri._settings.muuriParentWidget = self.children;\n\n // Register a handler to fire when child DOM elements are added or removed.\n var observer = new MutationObserver(function(mutations) {\n\n mutations.forEach(function(mutation) {\n if (!mutation.addedNodes) return;\n\n if (mutation.type == 'childList') {\n //console.debug(\"MuuriWidget observed a change in childList\");\n // Register resize event handlers for new children\n self.registerMissingResizeListeners(domNode, muuri);\n muuri._settings.muuriParentWidget = self.children;\n }\n });\n\n });\n \n observer.observe(domNode, { childList: true, subtree: true, attributes: true, characterData: false});\n\n};\n\n/*\nEnsure that resize listeners are registered for all child widgets\n*/\nMuuriWidget.prototype.registerMissingResizeListeners = function(domNode, grid) {\n var items = grid.getItems();\n var domNodeChildren = domNode.children;\n //grid.synchronize();\n for (var i = 0; i < domNode.children.length; i++) {\n var item = domNode.children[i]; \n //console.debug(item);\n\n if (typeof item.resizeHandler === 'undefined') {\n item.resizeHandler = (function(item) {\n return function() {\n //console.debug(\"MuuriWidget got a resize event from \" + item.getAttribute('class'));\n grid.hide(item, {\n instant: true,\n onFinish: function() {\n grid.show(item, {instant: true});\n }\n });\n };\n })(item);\n\n //console.debug(\"MuuriWidget registering for resize events from \" + item.getAttribute('class'));\n $tw.utils.addResizeListener(item, item.resizeHandler);\n \n grid.add(item, { instant: true, index: i });\n grid.hide(item, {\n instant: true,\n onFinish: function() {\n grid.show(item, {instant: true, index: i });\n items = grid.getItems();\n if (domNodeChildren.length < items.length) {\n grid.remove(items[i+1], { instant: true, removeElements: false });\n grid.refreshItems();\n grid._refreshDimensions();\n grid.refreshSortData();\n grid.layout(true);\n }\n }\n });\n }\n }\n};\n\n/*\nCompute the internal state of the widget\n*/\nMuuriWidget.prototype.execute = function() {\n this.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMuuriWidget.prototype.refresh = function(changedTiddlers) {\n return this.refreshChildren(changedTiddlers);\n};\n\nexports.muuri = MuuriWidget;\n\n})(this);",
"type": "application/javascript",
"title": "$:/plugins/BTC/tiddly-touch/widgets/muuri.js",
"tags": "",
"module-type": "widget",
"modified": "20180120102026655",
"created": "20180118194154339"
},
"$:/plugins/BTC/tiddly-touch/usage": {
"created": "20180120120601278",
"text": "",
"title": "$:/plugins/BTC/tiddly-touch/usage",
"tags": "",
"modified": "20180120120620985",
"caption": "usage"
}
}
}
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!fill-gaps" type="nomatch" text="yes">
<$button class="tc-btn-invisible" tooltip="fill gaps on">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="fill-gaps" $value="yes"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-quilt}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!fill-gaps" type="match" text="yes">
<$button class="tc-btn-invisible tc-toolbar-icon tc-selected" tooltip="fill gaps off">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="fill-gaps" $value="no"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-quilt}}
</$button>
</$reveal>
\whitespace trim
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<$button popup=<<morePopupState>> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/down-arrow}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text">
<$text text=" "/>
<$text text={{$:/language/Buttons/More/Caption}}/>
</span>
</$list>
</$button>
<$reveal state=<<morePopupState>> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$set name="tv-config-toolbar-class" value="tc-btn-invisible">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]" variable="listItem">
<$reveal type="match" state=<<config-title>> text="hide">
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
<$transclude tiddler=<<listItem>> mode="inline"/>
</$set>
</$reveal>
</$list>
</$set>
</$set>
</$set>
</div>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-horizontal" type="nomatch" text="yes">
<$button class="tc-btn-invisible" tooltip="align tiddlers horizontally">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-horizontal" $value="yes"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-vertical}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-horizontal" type="match" text="yes">
<$button class="tc-btn-invisible" tooltip="align tiddlers vertically">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-horizontal" $value="no"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!view-horizontal}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-right" type="nomatch" text="yes">
<$button class="tc-btn-invisible" tooltip="tiddlers aligned left">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-right" $value="yes"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!format-align-left}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-right" type="match" text="yes">
<$button class="tc-btn-invisible" tooltip="tiddlers aligned right">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/configPageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-right" $value="no"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!format-align-right}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-bottom" type="nomatch" text="yes">
<$button class="tc-btn-invisible" tooltip="tiddlers aligned to the top">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-bottom" $value="yes"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!vertical-align-top}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!align-bottom" type="match" text="yes">
<$button class="tc-btn-invisible" tooltip="tiddlers aligned to the bottom">
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="align-bottom" $value="no"/><$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>{{$:/plugins/BTC/tiddly-touch/icons!!vertical-align-bottom}}
</$button>
</$reveal>
\define before-actions()
<$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri">
<$action-sendmessage $message="tm-remove-tag" $param="$:/tags/PageTemplate"/></$fieldmangler><$action-setfield $tiddler="$:/view" $value=""/>
\end
\define after-actions()
<$action-setfield $tiddler="$:/view" $value="muuri"/><$fieldmangler tiddler="$:/plugins/BTC/tiddly-touch/PageTemplate/muuri"><$action-sendmessage $message="tm-add-tag" $param="$:/tags/PageTemplate"/></$fieldmangler>
\end
\define set-dragging-yes-no(yesno)
<<before-actions>><$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="drag-enabled" $value="$yesno$"/><<after-actions>>
\end
\define getStoryListIndex(yesno)
<$set name="storyCount" filter="[list[$:/StoryList]count[]]">
<$list filter="[list[$:/plugins/BTC/tiddly-touch/lists/numbers]limit<storyCount>]">
<$list filter="[list[$:/StoryList]nth<currentTiddler>title[$(scrollTiddler)$]]" variable="scrollTiddlerIndex">
<<set-dragging-yes-no $yesno$>>
</$list>
</$list>
</$set>
\end
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!drag-enabled" type="nomatch" text="yes">
<$button class="tc-btn-invisible tc-dragging-button" tooltip="enable dragging">
<$set name="scrollTiddler" value=<<storyTiddler>>>
<$set name="storyList" filter="[list[$:/StoryList]]">
<<set-dragging-yes-no yes>>
</$set>
</$set>
{{$:/plugins/BTC/tiddly-touch/icons!!drag-button}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!drag-enabled" type="match" text="yes">
<$button class="tc-btn-invisible tc-selected tc-dragging-button" tooltip="disable dragging">
<$set name="scrollTiddler" value=<<storyTiddler>>>
<$set name="storyList" filter="[list[$:/StoryList]]">
<<set-dragging-yes-no no>>
</$set>
</$set>
{{$:/plugins/BTC/tiddly-touch/icons!!drag-button}}
</$button>
</$reveal>
\define columnicons()
{{$:/plugins/BTC/tiddly-touch/icons!!columns-$(tiddlerWidth)$}}
\end
\define next-tiddler-action()
<$list filter="[[$(nextValue)$]regexp[^(1|2|3|4|5|6|7|8|9|10|11|12)$]]">
<$action-setfield $tiddler="""$(nextStoryTiddler)$""" $field="muuri-tiddler-width" $value="$(nextNextValue)$" $timestamp="no"/>
</$list>
<$list filter="[[$(nextValue)$]regexp[^0$]]">
<$set name="columnCount" value={{$:/plugins/BTC/tiddly-touch/config!!column-count}}>
<$set name="remainingSpace" filter="1 3 2 8 9 7 5 6 4 10 +[nth<columnCount>]">
<$action-setfield $tiddler="""$(nextStoryTiddler)$""" $field="muuri-tiddler-width" $value=<<remainingSpace>> $timestamp="no"/>
</$set>
</$set>
</$list>
<$list filter="[[$(nextValue)$]!regexp[^(0|1|2|3|4|5|6|7|8|9|10|11|12)$]]">
<$action-setfield $tiddler="""$(nextStoryTiddler)$""" $field="muuri-tiddler-width" $value="7" $timestamp="no"/>
</$list>
\end
\define enslave-next-tiddler-button()
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!adjacent-tiddler-width" type="nomatch" text="yes">
<$button class="tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft-2" tooltip="enslave $(nextStoryTiddler)$">
<$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="adjacent-tiddler-width" $value="yes"/>
{{$:/plugins/BTC/tiddly-touch/icons!!dot}}
</$button>
</$reveal>
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!adjacent-tiddler-width" type="match" text="yes">
<$button class="tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft-2 tc-selected blue-icon" tooltip="free $(nextStoryTiddler)$">
<$action-setfield $tiddler="$:/plugins/BTC/tiddly-touch/config" $field="adjacent-tiddler-width" $value="no"/>
{{$:/plugins/BTC/tiddly-touch/icons!!dot}}
</$button>
</$reveal>
\end
\define toggle-tiddler-width()
<span class="tc-topleft-span">
<$list filter="[[$(storyTiddler)$]next[$:/StoryList]]" variable="nextStoryTiddler">
<$set name="tiddlerWidth" filter="[[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]regexp[^(0|1|2|3|4|5|6)$]] [[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]!regexp[^(0|1|2|3|4|5|6)$]addprefix[0]] [[$(storyTiddler)$]!has[muuri-tiddler-width]addprefix[0]removesuffix[$(storyTiddler)$]]">
<$set name="nextValue" filter="[<tiddlerWidth>next[$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width]]">
<$set name="nextNextValue" filter="0 4 3 2 8 6 +[nth<nextValue>]">
<$button class="tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft" tooltip="toggle tiddler width">
<$list filter="[<tiddlerWidth>!regexp[^0$]]">
<$action-setfield $tiddler="""$(storyTiddler)$""" $field="muuri-tiddler-width" $value=<<nextValue>> $timestamp="no"/>
<$list filter="[[$:/plugins/BTC/tiddly-touch/config]get[adjacent-tiddler-width]regexp[^yes$]]">
<$list filter="[<nextStoryTiddler>!regexp[^$]]">
<<next-tiddler-action>>
</$list>
</$list>
</$list>
<$list filter="[<tiddlerWidth>regexp[^0$]]">
<$action-setfield $tiddler="""$(storyTiddler)$""" $field="muuri-tiddler-width" $value="6" $timestamp="no"/>
<$list filter="[[$:/plugins/BTC/tiddly-touch/config]get[adjacent-tiddler-width]regexp[^yes$]]">
<$list filter="[<nextStoryTiddler>!regexp[^$]]">
<<next-tiddler-action>>
</$list>
</$list>
</$list>
<<columnicons>>
</$button>
</$set></$set></$set>
<<enslave-next-tiddler-button>>
</$list>
<$set name="storyListCount" filter="[list[$:/StoryList]count[]]">
<$list filter="[list[$:/StoryList]nth<storyListCount>regexp[$(storyTiddler)$]]">
<$set name="tiddlerWidth" filter="[[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]regexp[^(0|1|2|3|4|5|6)$]] [[$(storyTiddler)$]has[muuri-tiddler-width]get[muuri-tiddler-width]!regexp[^(0|1|2|3|4|5|6)$]addprefix[0]] [[$(storyTiddler)$]!has[muuri-tiddler-width]addprefix[0]removesuffix[$(storyTiddler)$]]">
<$set name="nextValue" filter="[<tiddlerWidth>next[$:/plugins/BTC/tiddly-touch/Buttons/toggle-tiddler-width]]">
<$button class="tc-btn-invisible tc-toolbar-icon tc-toolbar-icon-topleft" tooltip="toggle tiddler width">
<$list filter="[<tiddlerWidth>!regexp[^0$]]">
<$action-setfield $tiddler="""$(storyTiddler)$""" $field="muuri-tiddler-width" $value=<<nextValue>> $timestamp="no"/>
</$list>
<$list filter="[<tiddlerWidth>regexp[^0$]]">
<$action-setfield $tiddler="""$(storyTiddler)$""" $field="muuri-tiddler-width" $value="6" $timestamp="no"/>
</$list>
<<columnicons>>
</$button>
</$set></$set>
</$list>
</$set>
</span>
\end
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!topleft-width-button" type="nomatch" text="no">
<<toggle-tiddler-width>>
</$reveal>
.grid, .tc-muuri-grid { position: relative; } .tc-tiddler-frame { display: block; position: absolute; width: 100%; margin: 8px;} .tc-tiddler-frame.tc-dragover { z-index: 2; } .tc-tiddler-frame.muuri-hidden { z-index: 0; display: none; } .tc-tiddler-frame:hover, .tc-tiddler-frame:focus { z-index: 3; } .tc-tiddler-frame-content { position: relative; width: 100%; height: 100%; }
.tc-tiddler-frame.tc-dragging { z-index: 999; } .tc-alert, .tc-alerts { z-index: 999999 !important; }
/* ** Tiddler view styles */
.tc-btn-invisible.tc-toolbar-icon {
color: <<colour muted-foreground>>;
vertical-align: sub;
}
.tc-btn-invisible.tc-toolbar-icon:hover {
color: <<colour foreground>>;
}
.tc-tagged-defined-width {
width: calc(100vw / 3.5) !important;
}
.tc-tagged-defined-width-2 {
width: calc(100vw / 2) !important;
}
.tc-tiddler-frame.tc-tagged-6 { width: calc(100% * 6 / 12 - 16px); min-width: calc(72px * 6); }
}
.tc-tiddler-frame {
background-color: <<colour tiddler-background>>{{$:/config/muritest!!tiddler-opacity}} !important;
}
<<if-no-sidebar "
.tc-sidebar-scrollable {
display: none;
}
.tc-topbar-right {
right: 10px !important;
}
">>
.tc-story-river {
padding-top: 0px !important;
}
.tc-muuri-empty-story {
height: 60vh;
display: flex;
justify-content: center;
flex-direction: column;
text-align: center;
}
.tc-tagged-Journal {
background-color: #feff9c !important;
border-color: #fff740 !important;
}
.tc-tiddler-frame.span-4 iframe {
min-height: calc(100vh / 4);
}
.tc-tiddler-frame.span-6 iframe {
min-height: calc(100vh / 3);
}
.tc-tiddler-frame.span-9 iframe, .tc-tiddler-frame.span-12 iframe {
min-height: calc(100vh / 2);
}
/*.tc-tiddler-frame img, .tc-tiddler-frame image { position: relative; display: block; height: auto; } */
@media (max-height: 500px) {
.tc-image-full-screen-button {
fill: <<colour primary>> !important;
}
.tc-story-river {
padding: 0px 0px 0px 25px;
}
}
@media (max-width: 500px) {
.tc-tiddler-frame {
padding: 14px 28px 14px 14px;
}
.tc-topbar-right {
display: none !important;
}
.tc-story-river {
padding: 0px 0px 0px 25px !important;
}
<$reveal state="$:/plugins/BTC/tiddly-touch/config!!vertical-toolbar" type="nomatch" text="no">
.tc-tiddler-frame {
min-height: 130px;
}
</$reveal>
.tc-image-full-screen-button {
fill: <<colour primary>> !important;
}
}
<<if-horizontal-grid """
.grid, .tc-muuri-grid {
height: calc(100vh - 15px);
max-height: calc(100vh - 15px);
min-width: 100%;
}
.tc-story-river {
height: calc(100vh - 15px);
max-height: calc(100vh - 15px);
min-width: calc(100vw - 84px);
}
.tc-sidebar-scrollable {
}
""">>
.tc-muuri-grid .tc-drop-down {
min-width: 220px;
}
.tc-tiddler-frame.tc-tagged-sampletag {
max-height: 10vh !important;
max-width: 10vh !important;
min-height: 10vh !important;
min-width: 10vh !important;
padding: 5px 5px 5px 5px;
text-align: center !important;
vertical-align: center;
}
.tc-tiddler-frame.tc-tagged-sampletag .tc-titlebar h2 {
display: none;
}
.tc-tiddler-frame.tc-tagged-sampletag .tc-titlebar {
display: none !important;
}
.tc-tiddler-frame.tc-tagged-sampletag .tc-subtitle, .tc-tiddler-frame.tc-tagged-sampletag .tc-tags-wrapper, .tc-tiddler-frame.tc-tagged-sampletag .tc-tiddler-controls {
display: none !important;
}
<<if-dragging-enabled """
.tc-dragging-button {
color: <$macrocall $name="colour" name="very-muted-foreground"/> !important;
}
""">>
@media (min-width: 900px) {
.tc-sidebar-scrollable {
background-color: <<colour background>>{{$:/config/muritest!!tiddler-opacity}} !important;
background: <<colour background>>{{$:/config/muritest!!tiddler-opacity}} ;
z-index: 9999;
box-shadow: -1px 0px 1px 1px <<colour muted-foreground>>;
}
}
<<if-sidebar """
.tc-topbar-right {
z-index: 10000 !important;
}
.tc-story-river {
padding-right: 42px !important;
margin-right: 0px !important;
}
""">>
.tc-tiddler-frame.span-4 , .tc-tiddler-frame.span-5, .tc-tiddler-frame.span-6, .tc-tiddler-frame.span-7, .tc-tiddler-frame.span-8, .tc-tiddler-frame.span-9, .tc-tiddler-frame.span-10, .tc-tiddler-frame.span-11, .tc-tiddler-frame.span-12, .tc-tiddler-frame.span-13 {
padding-left: 42px;
padding-right: 42px;
}
<<vertical-toolbar-yes-no>>
<<vertical-toolbar-macro>>
<<toggle-muuri-columns>>
.span-4 .tc-tiddler-controls, .span-5 .tc-tiddler-controls, .span-6 .tc-tiddler-controls, .span-7 .tc-tiddler-controls, .span-8 .tc-tiddler-controls, .span-9 .tc-tiddler-controls, .span-10 .tc-tiddler-controls, .span-11 .tc-tiddler-controls, .span-12 .tc-tiddler-controls, .span-13 .tc-tiddler-controls {
right: -60px !important;
}
.span-4 .tc-tiddler-info, .span-5 .tc-tiddler-info, .span-13 .tc-tiddler-info, .span-6 .tc-tiddler-info, .span-7 .tc-tiddler-info, .span-8 .tc-tiddler-info, .span-9 .tc-tiddler-info, .span-10 .tc-tiddler-info, .span-11 .tc-tiddler-info, .span-12 .tc-tiddler-info {
margin-left: -20px;
margin-right: -20px;
padding-left: 10px;
padding-right: 10px;
}
.span-4 .tc-unfold-banner, .span-5 .tc-unfold-banner, .span-6 .tc-unfold-banner, .span-7 .tc-unfold-banner, .span-8 .tc-unfold-banner, .span-9 .tc-unfold-banner, .span-10 .tc-unfold-banner, .span-11 .tc-unfold-banner, .span-12 .tc-unfold-banner, .span-13 .tc-unfold-banner {
margin-left: -43px;
width: 100%;
}
.span-4 .tc-fold-banner, .span-5 .tc-fold-banner, .span-6 .tc-fold-banner, .span-7 .tc-fold-banner, .span-8 .tc-fold-banner, .span-9 .tc-fold-banner, .span-10 .tc-fold-banner, .span-11 .tc-fold-banner, .span-12 .tc-fold-banner, .span-13 .tc-fold-banner {
margin-left: -35px;
width: 23px;
}
.tc-leftbar , div.tc-leftbar-open {
position: fixed;
z-index: 1200;
}
.tc-leftbar button {
padding: 8px;
}
.tc-leftbar svg {
fill: <<colour muted-foreground>>;
}
.tc-leftbar button:hover svg {
fill: <<colour foreground>>;
}
.tc-leftbar {
position: fixed;
top: 5vh;
left: 0px;
width: 32px;
font-size: 1.6em !important;
padding-left:6px;
}
div.tc-leftbar-open {
position: fixed;
bottom: 10vh;
right:0px;
width: 42px;
font-size: 1.6rem;
}
span.tc-leftbar-open a {
display: none;
}
.tc-leftbar-open span:hover > .tc-leftbar-open span > a {
display: inline-block !important;
}
@media (max-height: 500px) {
.tc-leftbar {
position: fixed;
top: -1vh;
left: 0px;
width: 25px;
font-size: 1.2rem !important;
padding-left:2px;
}
.tc-tiddler-view-frame:not(.tc-tiddler-folded) .tc-tiddler-controls {
width: 0.8em;
right: -27px;
position: fixed;
top: -20px;
}
.tc-leftbar .tc-btn-invisible {
padding: 1px 4px 1px 4px;
}
.tc-leftbar .material-icons {
font-size: 1.2rem !important;
}
.tc-topbar-right {
display: none !important;
}
.tc-tiddler-frame {
padding: 14px 28px 14px 14px;
}
}
@media (max-width: 500px) {
.tc-leftbar {
position: fixed;
top: 0vh;
left: 0px;
width: 20px;
font-size: 1.2em !important;
padding-left:0px;
}
.tc-leftbar .material-icons {
font-size: 1.2em !important;
}
}
<<tiddly-touch-toolbar-left-right>>
/*@media (max-width: 500px) {
.tc-sidebar-scrollable {
max-height: 45vh !important;
padding-left: 20px !important;
}
}*/
.tc-btn-invisible.tc-toolbar-icon {
color: <<colour muted-foreground>>;
vertical-align: sub;
}
.tc-btn-invisible.tc-toolbar-icon:hover {
color: <<colour foreground>>;
}
.tc-sidebar-lists .tc-tiddler-edit-frame {
width: calc(100% - 42px) !important;
}
@media (max-width: 500px) {
.tc-story-river .tc-tiddler-edit-frame {
}
.tc-leftbar {
display: none;
}
.tc-story-river {
padding: 1% 1% 0% 1% !important;
width: 100%;
}
<<mobile-portrait-tiles>>
}
.tc-single-tiddler-window .tc-sidebar-window {
position: absolute;
width: 100%;
height: 100%;
padding: 3% 3% 0% 3%;
}
.tc-single-tiddler-window {
background-color: <<colour page-background>> !important;
}
/*@media (max-device-width: 500px) {
.tc-single-tiddler-window .tc-sidebar-window {
padding: 2% 2% 0% 2%;
font-size: 2rem !important;
line-height: 2em !important;
}
}*/
.tc-single-tiddler-window .tc-sidebar-window:not(.tc-sidebar-lists) .tc-tiddler-edit-frame {
border: 0px solid <<colour page-background>> !important;
padding: 2% 2% 2% 2% !important;
box-shadow: none !important;
width: 90% !important;
}
<<sidebar-new-window-tiddler-edit-frame-hide>>
.tc-leftbar button.tc-selected {
-webkit-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));
-moz-filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));
filter: drop-shadow(0px -1px 2px rgba(0,0,0,0.25));
}
.tc-leftbar button.tc-selected svg {
fill: <<colour tiddler-controls-foreground-selected>>;
}
.tc-leftbar .tc-btn-invisible.tc-toolbar-icon.tc-selected.tc-dragging-button {
color: <<colour tiddler-controls-foreground-selected>> !important;
}
svg.blue-icon, svg.blue-icon:hover, .tc-tiddler-controls button svg.blue-icon {
fill: <<colour primary>>;
}
svg.green-icon, svg.green-icon:hover {
fill: <<colour download-background>>;
}
svg.red-icon, svg.red-icon:hover {
fill: <<colour code-foreground>>;
}
<<show-hide-tiddler-title-tags>>
<<hide-controls-from-user>>
.tc-tiddler-body.tc-muuri-spreadsheet {
min-height: 0px !important;
font-size: 8px !important;
line-height: 12px !important;
}
.tc-tiddler-frame.tc-muuri-spreadsheet {
width: calc((100% / 20) - 1px) !important;
min-width: calc((100% / 30) - 1px) !important;
min-height: calc((95vh / 20) - 1px) !important;
height: calc((95vh / 10) - 1px) !important;
max-width: calc((100% / 20) - 1px) !important;
max-height: calc((95vh / 10) - 1px) !important;
box-shadow: none !important;
padding: 0px 0px 0px 0px !important;
margin: 0 1px 1px 0 !important;
border-radius: 0px !important;
border: 1px solid rgba( 0, 0, 0, 0.1) !important;
}
<<if-spreadsheet-view """
.tc-story-river {
padding-bottom: 0px;
}
.tc-muuri-grid {
margin-left: 8px;
}
""">>
.tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-4 {
display: none;
}
.tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-3,
.tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-4 {
display: block !important;
}
.tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-1 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-3, .tc-dynaview-zoom-factor-2 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-3 .tc-dynaview-zoom-factor-4, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-1, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-2, .tc-dynaview-zoom-factor-4 .tc-dynaview-zoom-factor-3 {
display: none;
}
.tc-below-spreadsheet-view {
position: fixed !important;
bottom: 0px;
background-color: <<colour page-background>>;
z-index: 99999;
}
button.tc-btn-invisible.tc-spreadsheet-cell {
display: inline-block;
outline: none;
width: calc(100% - 0px);
height: calc(100% - 0px);
}
.tc-story-river.tc-spreadsheet-view .tc-muuri-grid {
max-height: 45vh !important;
}
.tc-grid-1 {
position: relative;
}
.tc-grid-2 {
position: fixed;
width: 13%;
background-color: transparent;
left: 42px;
top: 0px;
height: 100vh;
border: none;
overflow-y: scroll;
overflow-x: hidden;
}
.tc-grid-3 {
position: fixed;
background-color: transparent;
width: 13%;
right: 46px;
top: 0px;
height: 100vh;
border: none;
border-right: 0px solid #ffffff;
overflow-y: scroll;
overflow-x: hidden;
}
.tc-grid-3::-webkit-scrollbar, .tc-grid-2::-webkit-scrollbar {
display: none;
}
.tc-grid-2 .tc-tiddler-frame, .tc-grid-3 .tc-tiddler-frame {
width: 100%;
}
.tc-grid-2 .tc-tiddler-body, .tc-grid-3 .tc-tiddler-body, .tc-grid-2 .tc-tags-wrapper, .tc-grid-3 .tc-tags-wrapper, .tc-grid-2 .tc-tiddler-controls, .tc-grid-3 .tc-tiddler-controls {
display: none;
}
.tc-grid-2 .tc-title, .tc-grid-2 .tc-title h2, .tc-grid-3 .tc-title, .tc-grid-3 .tc-title h2, .tc-grid-2 .tc-titlebar, .tc-grid-3 .tc-titlebar {
font-size: 15px;
line-height: 16px;
display: inline-block;
}
.tc-grid-2 .tc-tiddler-frame, .tc-grid-3 .tc-tiddler-frame {
padding: 0px 10px 10px 10px;
max-height: calc(100vh / 6);
min-height: calc(100vh / 10);
width: 100%;
}
.grid-container-1 {
position: relative;
z-index: 1;
min-height: 800px !important;
}
.grid-container-2 {
position: relative;
z-index: 1;
min-height: 800px !important;
}
.grid-container-3 {
position: relative;
z-index: 1;
min-height: 800px !important;
}
.grid-container-3 .tc-tiddler-frame {
margin-top: 2px;
margin-bottom: 2px;
margin-left: 4px;
margin-right: 4px;
}
.grid-container-2 .tc-tiddler-frame, .tc-grid-2 .tc-tiddler-frame {
min-width: 0px !important;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 4px;
margin-right: 4px;
}
.tc-muuri-header {
height: 100px;
width: 100%;
background-color: <<colour primary>>;
}
button.no-outline {
outline: none !important;
}
<<hide-tiddler-borders-and-gaps>>
.tc-dragging img, .tc-dragging image, .muuri-item-dragging img, .muuri-item-dragging image, .tc-dragging svg, .tc-dragging iframe {
opacity: 0.3 !important;
}
.tc-btn-invisible {
outline: none !important;
}
.fade-in {
-webkit-animation: fadein 0.4s; /* Safari, Chrome and Opera > 12.1 */
-moz-animation: fadein 0.4s; /* Firefox < 16 */
-ms-animation: fadein 0.4s; /* Internet Explorer */
-o-animation: fadein 0.4s; /* Opera < 12.1 */
animation: fadein 0.4s;
}
@keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
.limit-image img, .limit-image image, .limit-image svg {
max-width: 100%;
position: relative;
}
<<show-hide-right-grid>>
<<show-hide-left-grid>>
<<rightgrid-width-macro>>
.tc-btn-invisible.tc-text-button {
color: <<colour muted-foreground>>;
}
.tc-btn-invisible.tc-text-button.tc-selected {
color: <<colour foreground>>;
font-weight: 500;
}
.tc-btn-invisible.tc-text-button:hover {
color: <<colour foreground>>;
}
.tc-grid-1 .tc-dragging .tc-tiddler-body {
mix-blend-mode: multiply;
}
.tc-grid-migrate-2 .tc-tiddler-frame {
border: 10px solid #ff0000;
}
.tc-tiddler-frame.tc-tiddler-more-popup {
z-index: 5;
}
.tc-toolbar-icon-topleft {
position: fixed;
top: 5px;
font-size: 1.3em;
left: 30px;
}
.tc-toolbar-icon-topleft-2 {
position: fixed;
top: 5px;
font-size: 0.6em;
left: 60px;
}
.tc-toolbar-icon-topleft-2 svg {
fill: <<colour muted-foreground>>;
vertical-align: bottom;
}
.tc-toolbar-icon-topleft svg {
fill: <<colour muted-foreground>>;
}
.tc-topleft-span:hover .tc-toolbar-icon-topleft-2 svg {
fill: <<colour muted-foreground>>;
}
.tc-topleft-span:hover .tc-toolbar-icon-topleft svg, .tc-topleft-span:hover .tc-toolbar-icon-topleft-2.tc-selected svg {
fill: <<colour primary>>;
}
\define config-title()
$:/config/PageControlButtons/Visibility/$(listItem)$
\end
\define leftbar-config-title()
$:/config/LeftBarButtons/Visibility/$(listItem)$
\end
<div class="tc-leftbar">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]!title[$:/core/ui/Buttons/save-wiki]]" variable="listItem">
<$reveal type="nomatch" state=<<config-title>> text="hide">
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
<$transclude tiddler=<<listItem>> mode="inline"/>
</$set>
</$reveal>
</$list>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/LeftBar]!has[draft.of]]" variable="listItem">
<$reveal type="nomatch" state=<<leftbar-config-title>> text="hide">
<$set name="tv-config-toolbar-class" filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]">
<$transclude tiddler=<<listItem>> mode="inline"/>
</$set>
</$reveal>
</$list>
{{$:/plugins/BTC/tiddly-touch/Buttons/sidebar}}
</div>
<section class="tc-story-river">
<$muuri target={{$:/plugins/BTC/tiddly-touch/config!!child-class}} target-is-tiddler="yes" fill-gaps={{$:/plugins/BTC/tiddly-touch/config!!fill-gaps}} horizontal={{$:/plugins/BTC/tiddly-touch/config!!align-horizontal}} align-right={{$:/plugins/BTC/tiddly-touch/config!!align-right}} align-bottom={{$:/plugins/BTC/tiddly-touch/config!!align-bottom}} dragging={{$:/plugins/BTC/tiddly-touch/config!!drag-enabled}}>
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template="$:/plugins/BTC/tiddly-touch/ui/ViewTemplate" editTemplate="$:/plugins/BTC/tiddly-touch/ui/EditTemplate" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>
</$muuri>
<section class="story-frontdrop">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]">
<$transclude/>
</$list>
</section>
</section>
{
"tiddlers": {
"$:/config/EditTabIndex": {
"title": "$:/config/EditTabIndex",
"text": "0\n"
},
"$:/plugins/BurningTreeC/KeeBoord/config": {
"title": "$:/plugins/BurningTreeC/KeeBoord/config",
"text": "<$checkbox tiddler=\"$:/config/EditTabIndex\" field=\"text\" checked=\"1\" unchecked=\"0\" default=\"0\"> Enable <kbd>TAB</kbd> - Navigation for Tiddlers</$checkbox>\n\n"
},
"$:/core/modules/startup/keyboard.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/keyboard.js\ntype: application/javascript\nmodule-type: startup\n\nKeyboard shortcut 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 = \"global-keyboard\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\tif($tw.browser) {\n\t\t// Helper function to get a list of all shortcut tiddlers\n\t\tfunction getShortcutTiddlerList() {\n\t\t\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n\t\t}\n\t\t// Get existing shortcut-tiddlers\n\t\tvar shortcutTiddlers = getShortcutTiddlerList(),\n\t\t\tshortcutKeysList = [], // Holds the shortcut-key descriptors\n\t\t\tshortcutActionList = [], // Holds the corresponding action strings\n\t\t\tshortcutParsedList = []; // Holds the parsed key descriptors\n\n\t\tfunction updateShortcutLists(tiddlerList) {\n\t\t\tshortcutTiddlers = tiddlerList;\n\t\t\tfor(var i=0; i < tiddlerList.length; i++) {\n\t\t\t\tvar title = tiddlerList[i],\n\t\t\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\t\t\tshortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\t\t\tshortcutActionList[i] = tiddlerFields.text;\n\t\t\t\tshortcutParsedList[i] = shortcutKeysList[i] !== undefined ? $tw.keyboardManager.parseKeyDescriptors(shortcutKeysList[i]) : undefined;\n\t\t\t}\n\t\t};\n\n\t\t// Cache shortcuts and corresponding actions at startup\n\t\tupdateShortcutLists(shortcutTiddlers);\n\n\t\t// Keydown Listener for shortcuts\n\t\tdocument.addEventListener(\"keydown\",function(event) {\n\t\t\tvar key, action;\n\t\t\tfor(var i=0; i < shortcutTiddlers.length; i++) {\n\t\t\t\tif(shortcutParsedList[i] !== undefined && $tw.keyboardManager.checkKeyDescriptors(event,shortcutParsedList[i])) {\n\t\t\t\t\tkey = shortcutParsedList[i];\n\t\t\t\t\taction = shortcutActionList[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(key !== undefined) {\n\t\t\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},false);\n\n\t\t// Listener for changing shortcuts \"on-the-fly\"\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tvar newList = getShortcutTiddlerList();\n\t\t\tvar hasChanged = false;\n\n\t\t\t// Returns true if a passed array contains a Tiddler that has changed\n\t\t\tfunction hasAnyTiddlerChanged(tiddlerList) {\n\t\t\t\tfor(var i=0; i < tiddlerList.length; i++) {\n\t\t\t\t\tif($tw.utils.hop(changes,tiddlerList[i])) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\t// First inspect the existing shortcut-tiddlers\n\t\t\thasChanged = hasAnyTiddlerChanged(shortcutTiddlers);\n\n\t\t\t// Check if there are new shortcut-actions\n\t\t\tif(!hasChanged) {\n\t\t\t\thasChanged = hasAnyTiddlerChanged(newList);\n\t\t\t}\n\n\t\t\t// Check if key-combinations have changed\n\t\t\tif(!hasChanged) {\n\t\t\t\tvar shortcutConfigTiddlers = [],\n\t\t\t\t\tpattern = /^\\$:\\/config\\/shortcuts\\/.*$/;\n\t\t\t\tObject.keys(changes).forEach(function(configTiddler) {\n\t\t\t\t\tif(pattern.test(configTiddler)) {\n\t\t\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\thasChanged = hasAnyTiddlerChanged(shortcutConfigTiddlers);\n\t\t\t}\n\n\t\t\t// Re-cache shortcuts if something changed\n\t\t\tif(hasChanged) {\n\t\t\t\tupdateShortcutLists(newList);\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/startup/keyboard.js",
"module-type": "startup"
},
"$:/core/modules/editor/factory.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag);\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\tthis.editTabIndex = this.getAttribute(\"tabIndex\");\n\t\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\") === \"yes\";\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/editor/factory.js",
"module-type": "library"
},
"$:/core/modules/widgets/action-navigate.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\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 NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/widgets/action-navigate.js",
"module-type": "widget"
},
"$:/core/modules/editor/engines/simple.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\tvar numPopups = $tw.popup.popups.length;\n\t\tif(numPopups !== 0) {\n\t\t\tfor(var i=0; i < numPopups; i++) {\n\t\t\t\t$tw.popup.cancel(i);\n\t\t\t}\n\t\t}\n\t}\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/editor/engines/simple.js",
"module-type": "library"
},
"$:/core/modules/editor/engines/framed.js": {
"text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\",handlerObject: this,handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nFramedEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\tvar numPopups = $tw.popup.popups.length;\n\t\tif(numPopups !== 0) {\n\t\t\tfor(var i=0; i < numPopups; i++) {\n\t\t\t\t$tw.popup.cancel(i);\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/editor/engines/framed.js",
"module-type": "library"
},
"$:/core/modules/widgets/edit.js": {
"text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting 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 EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabIndex\");\n\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\", \"no\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder},\n\t\t\t\"tabIndex\": {type: \"string\", value: this.editTabIndex},\n\t\t\t\"cancelPopups\": {type: \"string\", value: this.editCancelPopups}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/widgets/edit.js",
"module-type": "widget"
},
"$:/core/macros/tag-picker": {
"title": "$:/core/macros/tag-picker",
"tags": "$:/tags/Macro",
"text": "\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n\\end\n\n\\define add-tag-actions()\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n\\end\n\n\\define tag-button()\n<$button class=\"tc-btn-invisible\" tag=\"a\">\n$(actions)$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$button>\n\\end\n\n\\define tag-picker(actions)\n<$set name=\"actions\" value=\"\"\"$actions$\"\"\">\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$keyboard key=\"ENTER\" actions=<<add-tag-actions>>>\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\" cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/>\n</$keyboard>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$set name=\"tag\" value={{$:/temp/NewTagName}}>\n<$button set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n$actions$\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n{{$:/language/EditTemplate/Tags/Add/Button}}\n</$button>\n</$set>\n</span>\n</div>\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$list filter=\"[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n<hr>\n<$list filter=\"[{$:/temp/NewTagName}minlength{$:/config/Tags/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\" variable=\"tag\">\n<<tag-button>>\n</$list></$list>\n</div>\n</$reveal>\n</div>\n</$set>\n\\end\n"
},
"$:/plugins/BurningTreeC/KeeBoord/readme": {
"title": "$:/plugins/BurningTreeC/KeeBoord/readme",
"text": "This plugin enhances ~TiddlyWiki5 with global keyboard shortcuts\n\nIt's recommended to use version 5.1.17 or newer of ~TiddlyWiki5\n\n"
},
"$:/core/ui/SideBarLists": {
"title": "$:/core/ui/SideBarLists",
"text": "<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\" cancelPopups=\"yes\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
},
"$:/core/ui/EditTemplate/body/editor": {
"title": "$:/core/ui/EditTemplate/body/editor",
"text": "<$edit\n\n field=\"text\"\n class=\"tc-edit-texteditor\"\n placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n tabIndex={{$:/config/EditTabIndex}}\n cancelPopups=\"yes\"\n\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
},
"$:/core/ui/EditTemplate/body": {
"title": "$:/core/ui/EditTemplate/body",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" cancelPopups=\"yes\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
},
"$:/core/ui/EditTemplate/fields": {
"title": "$:/core/ui/EditTemplate/fields",
"tags": "$:/tags/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\\define new-field()\n<$vars name={{$:/temp/newfieldname}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\" cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\" cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/>\n\n<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[is[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n\n"
},
"$:/core/ui/EditTemplate/type": {
"title": "$:/core/ui/EditTemplate/type",
"tags": "$:/tags/EditTemplate",
"text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\" cancelPopups=\"yes\" tabIndex={{$:/config/EditTabIndex}}/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$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}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n"
}
}
}
{
"tiddlers": {
"$:/plugins/BurningTreeC/PrintRiver/Templates/new-window-river": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Templates/new-window-river",
"text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$ $(templateClasses)$\n\\end\n\\define story-river-classes()\ntc-story-river $(storyClasses)$\n\\define get-classes(class)\n$(tv-config-toolbar-class)$ $class$\n\\end\n\n<div class=<<containerClasses>>>\n\n<$navigator story=<<storyList>> history=<<historyList>>>\n\n<$transclude tiddler=<<toolbar>> mode=\"block\"/>\n\n<div class=<<story-river-classes>>>\n\n<$list filter=\"[list<storyList>]\" template=<<tiddlerTemplate>> editTemplate=<<tiddlerEditTemplate>>/>\n\n</div>\n\n</$navigator>\n\n</div>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/PrintTemplate/Menu": {
"title": "$:/plugins/BurningTreeC/PrintRiver/PrintTemplate/Menu",
"text": "\\define get-classes(class)\n$(tv-config-toolbar-class)$ $class$\n\\end\n\n<div class=\"tc-plugin-reload-warning tc-print-tiddler-window-overlay\">\n\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PrintToolbar]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n\n</div>\n"
},
"$:/language/Buttons/PrintRiver/Caption": {
"title": "$:/language/Buttons/PrintRiver/Caption",
"text": "print in new window"
},
"$:/language/Buttons/PrintRiver/Hint": {
"title": "$:/language/Buttons/PrintRiver/Hint",
"text": "Print tiddler in new window"
},
"$:/language/Buttons/PrintRiver/PageBreak/Single/Hint": {
"title": "$:/language/Buttons/PrintRiver/PageBreak/Single/Hint",
"text": "insert a page-break before this tiddler"
},
"$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint",
"text": "print all tiddlers on a new page"
},
"$:/language/Buttons/PrintRiver/Toolbar/Print": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Print",
"text": "print"
},
"$:/language/Buttons/PrintRiver/Toolbar/Sort": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Sort",
"text": "sort"
},
"$:/language/Buttons/PrintRiver/Toolbar/Bodies/Center/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Bodies/Center/Hint",
"text": "print tiddler content centered"
},
"$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Hide/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Hide/Hint",
"text": "don't print subtitles"
},
"$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Show/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Show/Hint",
"text": "print all subtitles"
},
"$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Center/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Center/Hint",
"text": "print all subtitles centered"
},
"$:/language/Buttons/PrintRiver/Toolbar/Tags/Hide/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Tags/Hide/Hint",
"text": "don't print tags"
},
"$:/language/Buttons/PrintRiver/Toolbar/Tags/Show/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Tags/Show/Hint",
"text": "print all tags"
},
"$:/language/Buttons/PrintRiver/Toolbar/Tags/Center/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Tags/Center/Hint",
"text": "print all tags centered"
},
"$:/language/Buttons/PrintRiver/Toolbar/Titles/Hide/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Titles/Hide/Hint",
"text": "don't print titles"
},
"$:/language/Buttons/PrintRiver/Toolbar/Titles/Show/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Titles/Show/Hint",
"text": "print all titles"
},
"$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint",
"text": "print captions instead of titles"
},
"$:/language/Buttons/PrintRiver/Toolbar/Titles/Center/Hint": {
"title": "$:/language/Buttons/PrintRiver/Toolbar/Titles/Center/Hint",
"text": "print titles centered"
},
"$:/plugins/BurningTreeC/PrintRiver/PrintTemplate": {
"title": "$:/plugins/BurningTreeC/PrintRiver/PrintTemplate",
"text": "\\define lingo-base() $:/language/Buttons/PrintRiver/Toolbar/\n\\define print-states(field)\n$:/state/print-river!!$field$\n\\end\n\\define single-print-states(suffix)\n$:/state/print-river/single/$suffix$/\n\\end\n\n<$vars storyList=\"$:/PrintList\" historyList=\"$:/PrintHistory\" tiddlerTemplate=\"$:/core/ui/ViewTemplate\" tiddlerEditTemplate=\"$:/core/ui/EditTemplate\" toolbar=\"$:/plugins/BurningTreeC/PrintRiver/PrintTemplate/Menu\" templateClasses=\"tc-print-tiddler-list-view\" storyClasses=\"tc-print-story-river\" tv-config-toolbar-icons={{$:/config/Toolbar/Icons}} tv-config-toolbar-text={{$:/config/Toolbar/Text}} tv-config-toolbar-class={{$:/config/Toolbar/ButtonClass}} themeTitle={{$:/view}} languageTitle={{$:/language!!name}}>\n\n{{$:/plugins/BurningTreeC/PrintRiver/Templates/new-window-river}}\n\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/center-bodies": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/center-bodies",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"center-bodies\">> tiddlerState=<<single-print-states \"center-body\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-body-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Bodies/Center/Hint}} aria-labeltooltip={{$:/language/Buttons/PrintRiver/Toolbar/Bodies/center/Hint}}><<lingo Bodies/Center/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-center-body-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Bodies/Center/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Bodies/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\">\n<<lingo Bodies/Center/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/center-subtitles": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/center-subtitles",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"center-subtitles\">> tiddlerState=<<single-print-states \"center-subtitle\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Center/Hint}} aria-labeltooltip={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/center/Hint}}><$action-setfield $tiddler=\"$:/state/print-river\" show-subtitles=\"yes\"/><<lingo Subtitles/Center/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-center-title-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Center/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\">\n<<lingo Subtitles/Center/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/center-tags": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/center-tags",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"center-tags\">> tiddlerState=<<single-print-states \"center-tags\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Center/Hint}} aria-labeltooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tags/center/Hint}}><$action-setfield $tiddler=\"$:/state/print-river\" show-tags=\"yes\"/><<lingo Tags/Center/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-center-title-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Center/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\">\n<<lingo Tags/Center/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/center-titles": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/center-titles",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"center-titles\">> tiddlerState=<<single-print-states \"center-title\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Center/Hint}} aria-labeltooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/center/Hint}}><$action-setfield $tiddler=\"$:/state/print-river\" show-titles=\"yes\"/><<lingo Titles/Center/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-center-title-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Center/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\">\n<<lingo Titles/Center/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-page-break": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-page-break",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "\\define lingo-base() $:/language/Buttons/PrintRiver/PageBreak/\n\\define get-classes(class) $(tv-config-toolbar-class)$ $class$\n\\define set-page-break()\n<$action-setfield $tiddler=\"\"\"$:/state/print-page-break/$(storyTiddler)$\"\"\" text=\"yes\"/>\n\\end\n\\define unset-page-break()\n<$action-deletetiddler $tiddler=\"\"\"$:/state/print-page-break/$(storyTiddler)$\"\"\"/>\n\\end\n\\define page-break-button()\n<$reveal state=\"\"\"$:/state/print-page-break/$(storyTiddler)$\"\"\" type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-page-break-button tc-chooser-item\">> tooltip={{$:/language/Buttons/PrintRiver/PageBreak/Yes/Hint}} aria-label={{$:/language/Buttons/PrintRiver/PageBreak/Yes/Hint}}>\n<<set-page-break>>\n<<lingo Single/Hint>>\n</$button>\n</$reveal>\n<$reveal state=\"\"\"$:/state/print-page-break/$(storyTiddler)$\"\"\" type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-page-break-button tc-chooser-item tc-chosen\">> tooltip={{$:/language/Buttons/PrintRiver/PageBreak/No/Hint}} aria-label={{$:/language/Buttons/PrintRiver/PageBreak/No/Hint}}>\n<<unset-page-break>>\n<<lingo Single/Hint>>\n</$button>\n</$reveal>\n\\end\n<$list filter=\"[<storyTiddler>!regexp[^$]]\">\n<<page-break-button>>\n</$list>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/page-break": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/page-break",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "\\define lingo-base() $:/language/Buttons/PrintRiver/Toolbar/PageBreaks/\n\\define set-printlist-break-page()\n<$action-setfield $tiddler=\"\"\"$:/state/print-page-break/$(currentTiddler)$\"\"\" text=\"yes\"/>\n\\end\n\\define unset-printlist-break-page()\n<$action-deletetiddler $tiddler=\"\"\"$:/state/print-page-break/$(currentTiddler)$\"\"\"/>\n\\end\n\\define page-break-toolbar-button()\n<$list filter=\"[[$(pageBreakCount)$]!regexp[^$(printCount)$$]]\">\n<$button class=<<get-classes \"tc-print-tiddler-break-page-all-button tc-chooser-item\">> tooltip={{$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint}}>\n<$list filter=\"[list[$(storyList)$]]\">\n<<set-printlist-break-page>>\n</$list>\n<<lingo \"All/Hint\">>\n</$button>\n</$list>\n<$list filter=\"[[$(pageBreakCount)$]regexp[^$(printCount)$$]]\">\n<$button class=<<get-classes \"tc-print-tiddler-break-page-all-button tc-chooser-item tc-chosen\">> tooltip={{$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/PageBreaks/All/Hint}}>\n<$list filter=\"[list[$(storyList)$]]\">\n<<unset-printlist-break-page>>\n</$list>\n<<lingo \"All/Hint\">>\n</$button>\n</$list>\n\\end\n\n<$list filter=\"[<storyTiddler>regexp[^$]]\">\n<$list filter=\"[list<storyList>count[]]\" variable=\"printCount\">\n<$list filter=\"[list<storyList>lookup[$:/state/print-page-break/]regexp[^yes$]count[]]\" variable=\"pageBreakCount\">\n<<page-break-toolbar-button>>\n</$list>\n</$list>\n</$list>\n\n"
},
"$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/print": {
"title": "$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/print",
"tags": "$:/tags/PrintToolbar",
"text": "<$button class=<<get-classes \"tc-print-tiddler-print-button\">> message=\"tm-print\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Print}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Print}}>{{$:/core/images/print-button}}</$button>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-captions": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-captions",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"print-captions\">> tiddlerState=<<single-print-states \"print-caption\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint}}><<lingo Titles/Captions/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Captions/Hint}} actions=\"\"\"<<deleteState>>\"\"\">\n<<lingo Titles/Captions/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-subtitles": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-subtitles",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"show-subtitles\">> tiddlerState=<<single-print-states \"show-subtitle\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-subtitle-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Show/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Show/Hint}}><<lingo Subtitles/Show/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-subtitle-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Hide/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Subtitles/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\"><<lingo Subtitles/Show/Hint>></$button>\n</$reveal>\n</$vars>\n</$vars>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-tags": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-tags",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"show-tags\">> tiddlerState=<<single-print-states \"show-tags\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-tags-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Show/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Show/Hint}}><<lingo Tags/Show/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-subtitle-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Hide/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Tags/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\"><<lingo Tags/Show/Hint>></$button>\n</$reveal>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-titles": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-titles",
"tags": "$:/tags/PrintToolbar/Tools",
"text": "<$vars toolbarState=<<print-states \"show-titles\">> tiddlerState=<<single-print-states \"show-title\">>>\n<$vars printState={{{ [<storyTiddler>regexp[^$]addprefix<toolbarState>] [<storyTiddler>!regexp[^$]addprefix<tiddlerState>] }}}>\n<$reveal state=<<printState>> type=\"nomatch\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item\">> set=<<printState>> setTo=\"yes\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Show/Hint}} aria-labeltooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Show/Hint}}><<lingo Titles/Show/Hint>></$button>\n</$reveal>\n<$reveal state=<<printState>> type=\"match\" text=\"yes\">\n<$button class=<<get-classes \"tc-print-tiddler-title-button tc-chooser-item tc-chosen\">> set=<<printState>> setTo=\"no\" tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Hide/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Titles/Hide/Hint}} actions=\"\"\"<<deleteState>>\"\"\"><<lingo Titles/Show/Hint>></$button>\n</$reveal>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/sort-dropdown": {
"title": "$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/sort-dropdown",
"tags": "$:/tags/PrintToolbar",
"text": "\\define lingo-base() $:/language/CloseAll/\n\\define drop-actions()\n<$action-listops $tiddler=\"\"\"$(storyList)$\"\"\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n<$list filter=\"[list<storyList>count[]!regexp[^0$]!regexp[^1$]]\">\n<$button popup=\"$:/state/popup/print-tiddler/sort-river\" class=<<get-classes \"tc-print-tiddler-sort-button\">> tooltip={{$:/language/Buttons/PrintWindow/Toolbar/Sort}} aria-label={{$:/language/Buttons/PrintWindow/Toolbar/Sort}}>{{$:/core/images/sort-button}}</$button>\n<$reveal state=\"$:/state/popup/print-tiddler/sort-river\" type=\"popup\" position=\"below\" class=\"tc-print-sort-drop-down tc-popup-handle tc-popup-keep\">\n<$list filter=\"[list<storyList>]\" history=<<historyList>> storyview=\"pop\">\n<div style=\"position: relative;\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<div>\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<$droppable actions=<<drop-actions>>>\n<div class=\"tc-droppable-placeholder\">\n \n</div>\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n</$droppable>\n</$tiddler>\n</$reveal>\n</$list>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/print-tools": {
"title": "$:/plugins/BurningTreeC/PrintRiver/PrintToolbar/Buttons/print-tools",
"tags": "$:/tags/PrintToolbar $:/tags/ViewToolbar",
"list-before": "$:/core/ui/PrintToolbar/Buttons/print",
"text": "\\define get-classes(class)\n$(tv-config-toolbar-class)$ $class$\n\\end\n\\define deleteState()\n<$list filter=\"[[$(storyTiddler)$]!regexp[^$]]\">\n<$action-deletetiddler $tiddler=\"\"\"$(printState)$\"\"\"/>\n</$list>\n\\end\n\n<$vars popupTiddler={{{ [<storyTiddler>regexp[^$]addprefix[$:/state/popup/print-tiddler-toolbar/tools]] [<storyTiddler>!regexp[^$]addprefix[$:/state/popup/tiddler-print/]] }}}>\n<$button class=<<get-classes \"tc-print-tiddler-tools-button\">> popup=<<popupTiddler>> tooltip={{$:/language/Buttons/PrintRiver/Toolbar/Tools/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Toolbar/Tools/Hint}}>{{$:/core/images/theme-button}}</$button>\n<$reveal state=<<popupTiddler>> type=\"popup\" position={{{ [<storyTiddler>regexp[^$]addprefix[below]] [<storyTiddler>!regexp[^$]addprefix[belowleft]removesuffix<storyTiddler>] }}} class=\"tc-popup-keep tc-drop-down tc-print-tiddler-tools-dropdown\" animate=\"yes\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PrintToolbar/Tools]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$reveal>\n</$vars>\n"
},
"$:/core/modules/startup/windows.js": {
"text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\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 = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow = window.open(\"\",\"external-\" + paramObject.windowTitle || title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = paramObject.documentTitle || title;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Add click listener to be able to cancel popups\n\t\tsrcDocument.addEventListener(\"click\", function(event) {\n\t\t\tvar numPopups = $tw.popup.popups.length;\n\t\t\tif(numPopups !== 0) {\n\t\t\t\tfor(var i=0; i < numPopups; i++) {\n\t\t\t\t\t$tw.popup.handleEvent(event);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
"type": "application/javascript",
"title": "$:/core/modules/startup/windows.js",
"module-type": "startup"
},
"$:/plugins/BurningTreeC/PrintRiver/Stylesheet/print": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Stylesheet/print",
"tags": "$:/tags/Stylesheet",
"text": "\\define set-tiddler-controls-visibility()\n[data-tiddler-title=\"$(currentTiddler)$\"]:hover .tc-tiddler-title {\n\tdisplay: inline;\n}\n[data-tiddler-title=\"$(currentTiddler)$\"]:hover .tc-tiddler-controls {\n\tdisplay: inline;\n}\n\\end\n\\define set-captions-as-titles()\n@media print {\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-titlebar .tc-tiddler-title-icon::after {\ncontent: \"$(tiddlerCaption)$\";\n}\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-titlebar .tc-title {\ndisplay: none;\n}\n}\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-titlebar .tc-tiddler-title-icon::after {\ncontent: \"$(tiddlerCaption)$\";\n}\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-titlebar .tc-title {\ndisplay: none;\n}\n\\end\n\\define set-titles-centered()\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-titlebar {\nwidth: 100%;\ntext-align: center;\n}\n@media print {\n[data-tiddler-title=\"$(currentTiddler)$\"] .tc-tiddler-title .tc-tiddler-controls {\ndisplay: none;\n}\n}\n\\end\n\\define set-subtitles-centered()\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-subtitle {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 100%;\n\ttext-align: center;\n}\n\\end\n\\define set-tags-centered()\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 100%;\n\ttext-align: center;\n}\n\\end\n\\define set-bodies-centered()\n.tc-print-tiddler-list-view [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-tiddler-body {\n\ttext-align: center;\n}\n\\end\n\\define set-page-break-tiddlers()\n@media print {\n\t[data-tiddler-title='$(currentTiddler)$'].tc-tiddler-frame {\n\t\tpage-break-before: always;\n\t}\n}\n\\end\n\\define show-title()\n.tc-single-tiddler-window [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-tiddler-title-icon, .tc-single-tiddler-window .tc-tiddler-frame .tc-title {\n\tdisplay: inline;\n}\n@media print {\n.tc-single-tiddler-window .tc-tiddler-frame .tc-tiddler-title {\n\tdisplay: inline;\n}\n}\n\\end\n\\define show-subtitle()\n.tc-single-tiddler-window [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-subtitle {\n\tdisplay: inline-block;\n}\n@media print {\n.tc-single-tiddler-window .tc-tiddler-frame .tc-subtitle {\n\tdisplay: inline-block;\n}\n}\n\\end\n\\define show-tags()\n.tc-single-tiddler-window [data-tiddler-title=\"$(currentTiddler)$\"].tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: inline-block;\n}\n@media print {\n.tc-single-tiddler-window .tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: inline-block;\n}\n}\n\\end\n\\define reveal-print-states()\n<$reveal state=\"$:/state/print-river!!center-titles\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/PrintList]]\">\n<<set-titles-centered>>\n</$list>\n</$reveal>\n<$reveal state=\"$:/state/print-river!!center-subtitles\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/PrintList]]\">\n<<set-subtitles-centered>>\n</$list>\n</$reveal>\n<$reveal state=\"$:/state/print-river!!center-tags\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/PrintList]]\">\n<<set-tags-centered>>\n</$list>\n</$reveal>\n<$reveal state=\"$:/state/print-river!!center-bodies\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/PrintList]]\">\n<<set-bodies-centered>>\n</$list>\n</$reveal>\n<$reveal state=\"$:/state/print-river!!print-captions\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/PrintList]]\">\n<$list filter=\"[<currentTiddler>get[caption]]\" variable=\"tiddlerCaption\">\n<<set-captions-as-titles>>\n</$list>\n</$list>\n</$reveal>\n<$reveal state=\"$(printState)$!!show-titles\" type=\"nomatch\" text=\"yes\">\n.tc-single-tiddler-window .tc-tiddler-frame .tc-tiddler-title-icon, .tc-single-tiddler-window .tc-tiddler-frame .tc-title {\n\tdisplay: none;\n}\n@media print {\n\n.tc-single-tiddler-window .tc-tiddler-frame .tc-tiddler-title {\n\tdisplay: none;\n}\n}\n</$reveal>\n<$reveal state=\"$(printState)$!!show-subtitles\" type=\"nomatch\" text=\"yes\">\n.tc-single-tiddler-window .tc-tiddler-frame .tc-subtitle {\n\tdisplay: none;\n}\n@media print {\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-subtitle {\n\tdisplay: none;\n}\n}\n</$reveal>\n<$reveal state=\"$(printState)$!!show-tags\" type=\"nomatch\" text=\"yes\">\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: none;\n}\n@media print {\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: none;\n}\n}\n</$reveal>\n<$reveal state=\"$(printState)$!!show-titles\" type=\"match\" text=\"yes\">\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tiddler-title-icon, .tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-title {\n\tdisplay: inline;\n}\n@media print {\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tiddler-title-icon, .tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-title {\n\tdisplay: inline;\n}\n}\n</$reveal>\n<$reveal state=\"$(printState)$!!show-subtitles\" type=\"match\" text=\"yes\">\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-subtitle {\n\tdisplay: inline-block;\n}\n@media print {\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-subtitle {\n\tdisplay: inline-block;\n}\n}\n</$reveal>\n<$reveal state=\"$(printState)$!!show-tags\" type=\"match\" text=\"yes\">\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: inline-block;\n}\n@media print {\n.tc-single-tiddler-window .tc-print-tiddler-list-view .tc-tiddler-frame .tc-tags-wrapper {\n\tdisplay: inline-block;\n}\n}\n</$reveal>\n\\end\n\n.tc-print-tiddler-window-overlay p {\n\tdisplay: inline-block;\n\tmargin: 0;\n\t-webkit-margin-before: 0em;\n\t-webkit-margin-after: 0em;\n}\n.tc-print-tiddler-window-overlay button {\n\tpadding: .2em .5em 0em .5em;\n\tfont-size: 1.2em;\n\toutline: none;\n}\n.tc-print-tiddler-window-overlay button.tc-print-tiddler-print-button {\n\tpadding-bottom: 0.1em;\n}\n.tc-print-tiddler-list-view .tc-story-river {\n\tpadding: 0;\n\twidth: calc(100vw - 2.05em);\n}\n.tc-print-tiddler-list-view .tc-tiddler-frame {\n\tbox-shadow: none;\n\tborder: none;\n\twidth: calc(100vw - 2.05em);\n\tmargin-bottom: 0;\n}\n.tc-print-tiddler-list-view .tc-tiddler-frame:first-child {\n\tmargin-top: 1.5em;\n}\n.tc-print-tiddler-list-view .tc-tiddler-controls .tc-print-tiddler-button {\n\tdisplay: none;\n}\n.tc-print-sort-drop-down {\n\ttext-align: left;\n\tbox-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);\n\tpadding: 1em 2em 1em 1em;\n\tborder-radius: 4px;\n\tbackground-color: white;\n}\n.tc-page-container:not(.tc-print-tiddler-list-view) .tc-page-break-button, .tc-page-container:not(.tc-print-tiddler-list-view) .tc-print-tiddler-tools-button, .tc-page-container:not(.tc-print-tiddler-list-view) .tc-print-tiddler-tools-dropdown {\n\tdisplay: none;\n}\n.tc-print-tiddler-list-view .tc-tiddler-title .tc-tiddler-controls {\n\tdisplay: none;\n}\n.tc-print-tiddler-list-view .tc-tiddler-frame .tc-tiddler-body table {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n<$vars printState=\"$:/state/print-river\">\n<<reveal-print-states>>\n</$vars>\n\n@media print {\n.tc-print-tiddler-window-overlay, .tc-print-sort-drop-down {\n\tdisplay: none;\n}\n}\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-page-break/]]\">\n<<set-page-break-tiddlers>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/show-title/]]\">\n<<show-title>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/show-subtitle/]]\">\n<<show-subtitle>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/show-tags/]]\">\n<<show-tags>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/center-title/]]\">\n<<set-titles-centered>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/center-subtitle/]]\">\n<<set-subtitles-centered>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/center-tags/]]\">\n<<set-tags-centered>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/center-body/]]\">\n<<set-bodies-centered>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/page-break/]]\">\n<<set-page-break-tiddlers>>\n</$list>\n\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/print-river/single/print-caption/]]\">\n<$list filter=\"[<currentTiddler>get[caption]]\" variable=\"tiddlerCaption\">\n<<set-captions-as-titles>>\n</$list>\n</$list>\n\n<$list filter=\"[list[$:/PrintList]]\">\n<<set-tiddler-controls-visibility>>\n</$list>\n\n.tc-print-tiddler-list-view .tc-tiddler-frame {\n\tcursor: initial;\n}\n\n"
},
"$:/plugins/BurningTreeC/PrintRiver/Buttons/print-window": {
"title": "$:/plugins/BurningTreeC/PrintRiver/Buttons/print-window",
"tags": "$:/tags/ViewToolbar",
"caption": "{{$:/core/images/print-button}} {{$:/language/Buttons/PrintRiver/Caption}}",
"description": "{{$:/language/Buttons/PrintRiver/Hint}}",
"text": "\\define print-tiddler-button-classes()\n$(tv-config-toolbar-class)$ tc-print-tiddler-button\n\\end\n\\define print-listops-actions()\n<$action-listops $tiddler=\"$:/PrintList\" $subfilter=\"\"\"[[$(storyTiddler)$]]\"\"\"/>\n\\end\n\\define get-document-title() $(siteTitle)$_$(timeStamp)$\n\\define open-window-actions()\n<$vars timeStamp=<<now \"\"\"$(timeStampFormat)$\"\"\">>>\n<$vars documentTitle=<<get-document-title>>>\n<$action-sendmessage $message=\"tm-open-window\" $param=\"$:/plugins/BurningTreeC/PrintRiver/PrintTemplate\" documentTitle=<<documentTitle>> windowTitle=\"TiddlyWiki5 - PrintRiver\"/>\n</$vars>\n</$vars>\n\\end\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/PrintRiver/Hint}} aria-label={{$:/language/Buttons/PrintRiver/Caption}} class=<<print-tiddler-button-classes>>>\n<$vars siteTitle={{$:/SiteTitle}} timeStampFormat={{$:/config/NewJournal/Title}}>\n<<print-listops-actions>>\n<<open-window-actions>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text={{$:/language/Buttons/PrintRiver/Caption}}/>\n</span>\n</$list>\n</$vars>\n</$button>\n"
},
"$:/plugins/BurningTreeC/PrintRiver/readme": {
"title": "$:/plugins/BurningTreeC/PrintRiver/readme",
"text": "This plugin adds a Print-River to ~TiddlyWiki5\n\nTiddlers can be sent to it by clicking the {{$:/core/ui/Buttons/print-tiddler}} Button\n\n"
}
}
}
{
"tiddlers": {
"$:/core/images/storyview-muuri": {
"title": "$:/core/images/storyview-muuri",
"text": "<svg class=\"tc-image-button tc-muuri-view-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\"><path d=\"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\"/></svg>"
},
"$:/config/MuuriTouch/ColumnCount": {
"title": "$:/config/MuuriTouch/ColumnCount",
"text": "3"
},
"$:/config/MuuriTouch/PersistentWidths": {
"title": "$:/config/MuuriTouch/PersistentWidths",
"text": "no"
},
"$:/plugins/BurningTreeC/muuritouch/config": {
"title": "$:/plugins/BurningTreeC/muuritouch/config",
"column-count": "3",
"seamless": "no"
},
"$:/plugins/BurningTreeC/muuritouch/css": {
"title": "$:/plugins/BurningTreeC/muuritouch/css",
"text": "\\rules only filteredtranscludeinline transcludeinline macrocallinline macrocallblock\n\n.tc-story-river {\n\tpadding: 0;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n.tc-story-river {\n\tpadding: 0;\n}\n\n}\n\n.tc-muuri-grid {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.tc-muuri-grid .tc-tiddler-frame {\n\tposition: absolute;\n\tdisplay: block;\n\tmargin: 4px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n\n.tc-muuri-grid .tc-tiddler-frame .tc-titlebar {\n\tfont-size: 1.9em;\n}\n\n<<drag-pointer-events-iframe-block>>\n\n<<tiddler-hover-z-index>>\n\nsvg.tc-muuri-visibility-button-3, button.tc-muuri-visibility-button-3:hover > svg {\n fill: <<colour primary>>;\n}\n\nsvg.tc-muuri-visibility-button-2, button.tc-muuri-visibility-button-2:hover > svg {\n\tfill: <<colour download-background>>;\n}\n\nsvg.tc-muuri-visibility-button-4, button.tc-muuri-visibility-button-4:hover > svg {\n fill: <<colour code-foreground>>;\n}\n\n<<dragging-positioning-z-index>>\n\n<<toggle-muuri-columns>>\n\n<<title-controls-tags-visibility>>\n\n<<popup-states-z-indices>>\n\n<<muuri-drag-tiddler-widths>>\n\n<<if-horizontal-story-river>>\n\n<<if-dragging-disabled>>\n\n<<highlight-active-tiddler>>\n\n"
},
"$:/plugins/BurningTreeC/muuritouch/lib/muuri.js": {
"text": "/**\n * Muuri v0.6.2\n * https://github.com/haltu/muuri\n * Copyright (c) 2015-present, Haltu Oy\n * Released under the MIT license\n * https://github.com/haltu/muuri/blob/master/LICENSE.md\n * @license MIT\n *\n * Muuri Packer\n * Copyright (c) 2016-present, Niklas Rämö <inramo@gmail.com>\n * @license MIT\n *\n * Muuri Ticker / Muuri Emitter / Muuri Queue\n * Copyright (c) 2018-present, Niklas Rämö <inramo@gmail.com>\n * @license MIT\n */\nvar Hammer,ua=navigator.userAgent;(-1<ua.toLowerCase().indexOf(\"safari/\")||-1<ua.indexOf(\"MSIE \")||-1<ua.indexOf(\"Edge\"))&&require(\"$:/plugins/BurningTreeC/muuritouch/lib/web-animations.js\"),!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i(require(\"$:/plugins/tiddlywiki/hammerjs/hammer.js\")):\"function\"==typeof define&&define.amd?define([\"hammerjs\"],i):t.Muuri=i(t.Hammer)}(this,function(t){\"use strict\";t=t&&t.hasOwnProperty(\"default\")?t.default:t;var i=\"Muuri\",e={},s=\"layoutEnd\";function n(){this._events={},this._queue=[],this._processCount=0,this._isDestroyed=!1}n.prototype.on=function(t,i){if(this._isDestroyed)return this;var e=this._events[t];return e||(e=this._events[t]=[]),e.push(i),this},n.prototype.once=function(t,i){if(this._isDestroyed)return this;var e=function(){this.off(t,e),i.apply(null,arguments)}.bind(this);return this.on(t,e)},n.prototype.off=function(t,i){if(this._isDestroyed)return this;var e=this._events[t];if(!e||!e.length)return this;if(!i)return e.length=0,this;for(var s=e.length;s--;)i===e[s]&&e.splice(s,1);return this},n.prototype.emit=function(t,i,e,s){if(this._isDestroyed)return this;var n=this._events[t];if(!n||!n.length)return this;var r,o,h=this._queue,a=h.length,_=arguments.length-1;for(o=0;o<n.length;o++)h.push(n[o]);for(r=h.length,++this._processCount,o=a;o<r;o++)if(0===_?h[o]():1===_?h[o](i):2===_?h[o](i,e):h[o](i,e,s),this._isDestroyed)return this;return--this._processCount,this._processCount||r!==h.length||(h.length=0),this},n.prototype.destroy=function(){if(this._isDestroyed)return this;var t,i=this._events;for(t in this._isDestroyed=!0,this._queue.length=this._processCount=0,i)i[t]&&(i[t].length=0,i[t]=void 0);return this};var r=!1,o=\"transform\",h=\"transform\";[\"\",\"Webkit\",\"Moz\",\"O\",\"ms\"].forEach(function(t){if(!r){var i=t?t+\"Transform\":\"transform\";void 0!==document.documentElement.style[i]&&(t=t.toLowerCase(),o=t?\"-\"+t+\"-transform\":\"transform\",h=i,r=!0)}});var a=\"function\"==typeof WeakMap?new WeakMap:null;function _(t,i){var e=a&&a.get(t);return e||(e=window.getComputedStyle(t,null),a&&a.set(t,e)),e.getPropertyValue(\"transform\"===i?o:i)}function l(t,i){var e={};for(var s in i)e[s]=_(t,s.replace(/([A-Z])/g,\"-$1\").toLowerCase());return e}function d(t,i){for(var e in i)t.style[\"transform\"===e?h:e]=i[e]}function f(t,i){this._item=t,this._element=i,this._animation=null,this._propsTo=null,this._callback=null,this._keyframes=[],this._options={},this._isDestroyed=!1,this._onFinish=this._onFinish.bind(this)}f.prototype.start=function(t,i,e){if(!this._isDestroyed){var s,n=e||0,r=\"function\"==typeof n.onFinish?n.onFinish:null,o=!1;if(this._animation){for(s in i)if(i[s]!==this._propsTo[s]){o=!0;break}if(!o)return void(this._callback=r);this._animation.cancel()}for(s in this._callback=r,this._propsTo={},i)this._propsTo[s]=i[s];this._keyframes[0]=t,this._keyframes[1]=i,this._options.duration=n.duration||300,this._options.easing=n.easing||\"ease\",this._animation=this._element.animate(this._keyframes,this._options),this._animation.onfinish=this._onFinish,d(this._element,i)}},f.prototype.stop=function(t){!this._isDestroyed&&this._animation&&(d(this._element,t||l(this._element,this._propsTo)),this._animation.cancel(),this._animation=this._propsTo=this._callback=null)},f.prototype.isAnimating=function(){return!!this._animation},f.prototype.destroy=function(){this._isDestroyed||(this.stop(),this._item=this._element=this._options=this._keyframes=null,this._isDestroyed=!0)},f.prototype._onFinish=function(){var t=this._callback;this._animation=this._propsTo=this._callback=null,t&&t()};var u=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,16)}).bind(window);function c(){this._nextTick=null,this._queue=[],this._reads={},this._writes={},this._batch=[],this._batchReads={},this._batchWrites={},this._flush=this._flush.bind(this)}c.prototype.add=function(t,i,e,s){var n=this._queue.indexOf(t);n>-1&&(this._queue[n]=void 0),s?this._queue.unshift(t):this._queue.push(t),this._reads[t]=i,this._writes[t]=e,this._nextTick||(this._nextTick=u(this._flush))},c.prototype.cancel=function(t){var i=this._queue.indexOf(t);i>-1&&(this._queue[i]=void 0,this._reads[t]=void 0,this._writes[t]=void 0)},c.prototype._flush=function(){var t,i,e=this._queue,s=this._reads,n=this._writes,r=this._batch,o=this._batchReads,h=this._batchWrites,a=e.length;for(this._nextTick=null,i=0;i<a;i++)(t=e[i])&&(r.push(t),o[t]=s[t],s[t]=void 0,h[t]=n[t],n[t]=void 0);for(e.length=0,i=0;i<a;i++)o[t=r[i]]&&(o[t](),o[t]=void 0);for(i=0;i<a;i++)h[t=r[i]]&&(h[t](),h[t]=void 0);r.length=0,!this._nextTick&&e.length&&(this._nextTick=u(this._flush))};var p=new c,m=Element.prototype,g=m.matches||m.matchesSelector||m.webkitMatchesSelector||m.mozMatchesSelector||m.msMatchesSelector||m.oMatchesSelector;function y(t,i){return g.call(t,i)}var v=\"classList\"in Element.prototype?function(t,i){t.classList.add(i)}:function(t,i){y(t,\".\"+i)||(t.className+=\" \"+i)};function w(t,i,e){var s=t.length,n=Math.max(0,e?s:s-1);return i>n?n:i<0?Math.max(n+i+1,0):i}function D(t,i,e){if(!(t.length<2)){var s=w(t,i),n=w(t,e);s!==n&&t.splice(n,0,t.splice(s,1)[0])}}function b(t,i,e){if(!(t.length<2)){var s,n=w(t,i),r=w(t,e);n!==r&&(s=t[n],t[n]=t[r],t[r]=s)}}var S=\"cancel\",A=\"finish\";function C(t,i){var e;return i>0?function(s){void 0!==e&&(e=window.clearTimeout(e),s===A&&t()),s!==S&&s!==A&&(e=window.setTimeout(function(){e=void 0,t()},i))}:function(i){i!==S&&t()}}function x(t){var i=_(t,\"transform\");if(!i||\"none\"===i)return!1;var e=_(t,\"display\");return\"inline\"!==e&&\"none\"!==e}function R(t,i){for(var e=(i?t:t.parentElement)||document;e&&e!==document&&\"static\"===_(e,\"position\")&&!x(e);)e=e.parentElement||document;return e}function I(t,i){return parseFloat(_(t,i))||0}var L={},E={},M={};function H(t,i){var e,s=i||{};return s.left=0,s.top=0,t===document?s:(s.left=window.pageXOffset||0,s.top=window.pageYOffset||0,t.self===window.self?s:(e=t.getBoundingClientRect(),s.left+=e.left,s.top+=e.top,s.left+=I(t,\"border-left-width\"),s.top+=I(t,\"border-top-width\"),s))}function P(t,i,e){return M.left=0,M.top=0,t===i?M:e&&(t=R(t,!0))===(i=R(i,!0))?M:(H(t,L),H(i,E),M.left=E.left-L.left,M.top=E.top-L.top,M)}var T={};function G(t){T.x=0,T.y=0;var i=_(t,\"transform\");if(!i)return T;var e=i.replace(\"matrix(\",\"\").split(\",\");return T.x=parseFloat(e[4])||0,T.y=parseFloat(e[5])||0,T}function k(t,i){return\"translateX(\"+t+\"px) translateY(\"+i+\"px)\"}var O=[];function X(t,i,e){var s=\"number\"==typeof e?e:-1;s<0&&(s=t.length-s+1),t.splice.apply(t,O.concat(s,0,i)),O.length=0}var Y=\"[object Object]\";function q(t){return\"object\"==typeof t&&Object.prototype.toString.call(t)===Y}var N=\"classList\"in Element.prototype?function(t,i){t.classList.remove(i)}:function(t,i){y(t,\".\"+i)&&(t.className=(\" \"+t.className+\" \").replace(\" \"+i+\" \",\" \").trim())},F=K(),B=0,z=1,V=2,W=3;function j(e){if(!t)throw new Error(\"[\"+i+\"] required dependency Hammer is not defined.\");null===F&&(F=K());var s,n,r=this,o=e._element,h=e.getGrid(),a=h._settings,_=\"function\"==typeof a.dragStartPredicate?a.dragStartPredicate:j.defaultStartPredicate,l=B;this._item=e,this._gridId=h._id,this._hammer=s=new t.Manager(o),this._isDestroyed=!1,this._isMigrating=!1,this._reset(),this._onScroll=this._onScroll.bind(this),this._prepareMove=this._prepareMove.bind(this),this._applyMove=this._applyMove.bind(this),this._prepareScroll=this._prepareScroll.bind(this),this._applyScroll=this._applyScroll.bind(this),this._checkOverlap=this._checkOverlap.bind(this),this._forceResolveStartPredicate=function(t){this._isDestroyed||l!==z||(l=V,this._onStart(t))},this._sortPredicate=\"function\"==typeof a.dragSortPredicate?a.dragSortPredicate:j.defaultSortPredicate,this._checkOverlapDebounce=C(this._checkOverlap,a.dragSortInterval),s.add(new t.Pan({event:\"drag\",pointers:1,threshold:0,direction:t.DIRECTION_ALL})),s.add(new t.Press({event:\"draginit\",pointers:1,threshold:1e3,time:0})),q(a.dragHammerSettings)&&s.set(a.dragHammerSettings),s.on(\"draginit dragstart dragmove\",function(t){l===B&&(l=z),l===z?!0===(n=_(r._item,t))?(l=V,r._onStart(t)):!1===n&&(l=W):l===V&&r._isActive&&r._onMove(t)}).on(\"dragend dragcancel draginitup\",function(t){var i=l===V;_(r._item,t),l=B,i&&r._isActive&&r._onEnd(t)}),o.addEventListener(\"dragstart\",U,!1)}function U(t){t.preventDefault&&t.preventDefault()}function Z(t,i){return t.left+t.width<=i.left||i.left+i.width<=t.left||t.top+t.height<=i.top||i.top+i.height<=t.top?0:(Math.min(t.left+t.width,i.left+i.width)-Math.max(t.left,i.left))*(Math.min(t.top+t.height,i.top+i.height)-Math.max(t.top,i.top))/(Math.min(t.width,i.width)*Math.min(t.height,i.height))*100}function $(t,i){var e=i||[],s=t.parentNode;if(F){if(\"fixed\"===_(t,\"position\"))return e;for(;s&&s!==document&&s!==document.documentElement;)J(s)&&e.push(s),s=\"fixed\"===_(s,\"position\")?null:s.parentNode;return null!==s&&e.push(window),e}for(;s&&s!==document;)\"fixed\"!==_(t,\"position\")||x(s)?(J(s)&&e.push(s),t=s,s=s.parentNode):s=s.parentNode;return e[e.length-1]===document.documentElement?e[e.length-1]=window:e.push(window),e}function J(t){var i=_(t,\"overflow\");return\"auto\"===i||\"scroll\"===i||(\"auto\"===(i=_(t,\"overflow-x\"))||\"scroll\"===i||(\"auto\"===(i=_(t,\"overflow-y\"))||\"scroll\"===i))}function K(){if(!r)return!0;if(!document.body)return null;var t=[0,1].map(function(t,i){return(t=document.createElement(\"div\")).style.position=i?\"fixed\":\"absolute\",t.style.display=\"block\",t.style.visibility=\"hidden\",t.style.left=i?\"0px\":\"1px\",t.style[h]=\"none\",t}),i=document.body.appendChild(t[0]),e=i.appendChild(t[1]),s=e.getBoundingClientRect().left;i.style[h]=\"scale(1)\";var n=s===e.getBoundingClientRect().left;return document.body.removeChild(i),n}function Q(){this._queue=[],this._isDestroyed=!1}function tt(t){this._item=t,this._isActive=!1,this._isDestroyed=!1,this._isInterrupted=!1,this._currentStyles={},this._targetStyles={},this._currentLeft=0,this._currentTop=0,this._offsetLeft=0,this._offsetTop=0,this._skipNextAnimation=!1,this._animateOptions={onFinish:this._finish.bind(this)},this._queue=new Q,this._setupAnimation=this._setupAnimation.bind(this),this._startAnimation=this._startAnimation.bind(this)}j.defaultStartPredicate=function(t,i,e){var s=t._drag,n=s._startPredicateData||s._setupStartPredicate(e);if(!i.isFinal)return!(!n.handleElement&&(n.handleElement=s._getStartPredicateHandle(i),!n.handleElement))&&(n.delay&&(n.event=i,n.delayTimer||(n.delayTimer=window.setTimeout(function(){n.delay=0,s._resolveStartPredicate(n.event)&&(s._forceResolveStartPredicate(n.event),s._resetStartPredicate())},n.delay))),s._resolveStartPredicate(i));s._finishStartPredicate(i)},j.defaultSortPredicate=function(){var t={},i={},e={},s=[];return function(n){var r=n._drag,o=r._getGrid(),h=o._settings.dragSortPredicate,a=h?h.threshold:50,_=h?h.action:\"move\";t.width=n._width,t.height=n._height,t.left=r._elementClientX,t.top=r._elementClientY;var l=function(e,n,r){var o,h,a,_,l=null,d=n._settings.dragSort,f=-1;if(!0===d?(s[0]=n,h=s):h=d.call(n,e),!Array.isArray(h))return l;for(_=0;_<h.length;_++)(a=h[_])._isDestroyed||(a._refreshDimensions(),i.width=a._width,i.height=a._height,i.left=a._left,i.top=a._top,(o=Z(t,i))>r&&o>f&&(f=o,l=a));return s.length=0,l}(n,o,a);if(!l)return!1;var d,f,u,c,p,m=0,g=0,y=-1;for(l===o?(t.left=r._gridX+n._marginLeft,t.top=r._gridY+n._marginTop):(m=l._left+l._borderLeft,g=l._top+l._borderTop),p=0;p<l._items.length;p++)(u=l._items[p])._isActive&&u!==n&&(f=!0,i.width=u._width,i.height=u._height,i.left=u._left+u._marginLeft+m,i.top=u._top+u._marginTop+g,(c=Z(t,i))>y&&(d=p,y=c));return y<a&&n.getGrid()!==l&&(d=f?-1:0,y=1/0),y>=a&&(e.grid=l,e.index=d,e.action=_,e)}}(),j.prototype.stop=function(){var t=this._item._element,i=this._getGrid();return this._isActive?this._isMigrating?(this._finishMigration(),this):(this._cancelAsyncUpdates(),this._unbindScrollListeners(),this._checkOverlapDebounce(\"cancel\"),t.parentNode!==i._element&&(i._element.appendChild(t),t.style[h]=k(this._gridX,this._gridY)),N(t,i._settings.itemDraggingClass),this._reset(),this):this},j.prototype.destroy=function(){return this._isDestroyed?this:(this.stop(),this._hammer.destroy(),this._item._element.removeEventListener(\"dragstart\",U,!1),this._isDestroyed=!0,this)},j.prototype._getGrid=function(){return e[this._gridId]||null},j.prototype._reset=function(){this._isActive=!1,this._container=null,this._containingBlock=null,this._lastEvent=null,this._lastScrollEvent=null,this._scrollers=[],this._left=0,this._top=0,this._gridX=0,this._gridY=0,this._elementClientX=0,this._elementClientY=0,this._containerDiffX=0,this._containerDiffY=0},j.prototype._bindScrollListeners=function(){var t,i,e=this._getGrid()._element,s=this._container,n=this._scrollers;if(n.length=0,$(this._item._element,n),s!==e)for($(e,t=[]),t.push(e),i=0;i<t.length;i++)n.indexOf(t[i])<0&&n.push(t[i]);for(i=0;i<n.length;i++)n[i].addEventListener(\"scroll\",this._onScroll)},j.prototype._unbindScrollListeners=function(){var t,i=this._scrollers;for(t=0;t<i.length;t++)i[t].removeEventListener(\"scroll\",this._onScroll);i.length=0},j.prototype._setupStartPredicate=function(t){var i=t||this._getGrid()._settings.dragStartPredicate||0;return this._startPredicateData={distance:Math.abs(i.distance)||0,delay:Math.max(i.delay,0)||0,handle:\"string\"==typeof i.handle&&i.handle}},j.prototype._getStartPredicateHandle=function(t){var i=this._startPredicateData,e=this._item._element,s=e;if(!i.handle)return s;for(s=(t.changedPointers[0]||0).target;s&&!y(s,i.handle);)s=s!==e?s.parentElement:null;return s||null},j.prototype._resolveStartPredicate=function(t){var i,e,s,n,r,o=this._startPredicateData,h=t.changedPointers[0],a=h&&h.pageX||0,_=h&&h.pageY||0;if(!(t.distance<o.distance||o.delay))return e=(i=o.handleElement.getBoundingClientRect()).left+(window.pageXOffset||0),s=i.top+(window.pageYOffset||0),n=i.width,r=i.height,this._resetStartPredicate(),n&&r&&a>=e&&a<e+n&&_>=s&&_<s+r},j.prototype._finishStartPredicate=function(t){var i=this._item._element;this._resetStartPredicate(),function(t){return Math.abs(t.deltaX)<2&&Math.abs(t.deltaY)<2&&t.deltaTime<200}(t)&&function(t){if(\"a\"!==t.tagName.toLowerCase())return;var i=t.getAttribute(\"href\");if(!i)return;var e=t.getAttribute(\"target\");e&&\"_self\"!==e?window.open(i,e):window.location.href=i}(i)},j.prototype._resetStartPredicate=function(){var t=this._startPredicateData;t&&(t.delayTimer&&(t.delayTimer=window.clearTimeout(t.delayTimer)),this._startPredicateData=null)},j.prototype._checkOverlap=function(){if(this._isActive){var t,i,e,s,n,r,o=this._item,h=this._sortPredicate(o,this._lastEvent);q(h)&&\"number\"==typeof h.index&&(r=(t=o.getGrid())!==(e=h.grid||t),i=t._items.indexOf(o),s=w(e._items,h.index,r),n=\"swap\"===h.action?\"swap\":\"move\",r?(t._hasListeners(\"beforeSend\")&&t._emit(\"beforeSend\",{item:o,fromGrid:t,fromIndex:i,toGrid:e,toIndex:s}),e._hasListeners(\"beforeReceive\")&&e._emit(\"beforeReceive\",{item:o,fromGrid:t,fromIndex:i,toGrid:e,toIndex:s}),o._gridId=e._id,this._isMigrating=o._gridId!==this._gridId,t._items.splice(i,1),X(e._items,o,s),o._sortData=null,t._hasListeners(\"send\")&&t._emit(\"send\",{item:o,fromGrid:t,fromIndex:i,toGrid:e,toIndex:s}),e._hasListeners(\"receive\")&&e._emit(\"receive\",{item:o,fromGrid:t,fromIndex:i,toGrid:e,toIndex:s}),t.layout(),e.layout()):i!==s&&((\"swap\"===n?b:D)(t._items,i,s),t._hasListeners(\"move\")&&t._emit(\"move\",{item:o,fromIndex:i,toIndex:s,action:n}),t.layout()))}},j.prototype._finishMigration=function(){var t,i,e=this._item,s=e._release,n=e._element,r=e._isActive,o=e.getGrid(),a=o._element,_=o._settings,l=_.dragContainer||a,f=this._getGrid()._settings,u=n.parentNode;this._isMigrating=!1,this.destroy(),N(n,f.itemClass),N(n,f.itemVisibleClass),N(n,f.itemHiddenClass),v(n,_.itemClass),v(n,r?_.itemVisibleClass:_.itemHiddenClass),l!==u&&(l.appendChild(n),i=P(u,l,!0),(t=G(n)).x-=i.left,t.y-=i.top),e._refreshDimensions(),e._refreshSortData(),i=P(l,a,!0),s._containerDiffX=i.left,s._containerDiffY=i.top,e._drag=_.dragEnabled?new j(e):null,l!==u&&(n.style[h]=k(t.x,t.y)),e._child.removeAttribute(\"style\"),d(e._child,r?_.visibleStyles:_.hiddenStyles),s.start()},j.prototype._cancelAsyncUpdates=function(){var t=this._item._id;p.cancel(t+\"move\"),p.cancel(t+\"scroll\")},j.prototype._onStart=function(t){var i=this._item;if(i._isActive){var e,s=i._element,n=this._getGrid(),r=n._settings,o=i._release,a=i._migrate,_=n._element,l=r.dragContainer||_,d=R(l,!0),f=G(s),u=f.x,c=f.y,p=s.getBoundingClientRect(),m=l!==_;m&&(e=P(d,_)),i.isPositioning()&&i._layout.stop(!0,{transform:k(u,c)}),a._isActive&&(u-=a._containerDiffX,c-=a._containerDiffY,a.stop(!0,{transform:k(u,c)})),i.isReleasing()&&o._reset(),this._isActive=!0,this._lastEvent=t,this._container=l,this._containingBlock=d,this._elementClientX=p.left,this._elementClientY=p.top,this._left=this._gridX=u,this._top=this._gridY=c,n._emit(\"dragInit\",i,t),m&&(this._containerDiffX=e.left,this._containerDiffY=e.top,s.parentNode===l?(this._gridX=u-this._containerDiffX,this._gridY=c-this._containerDiffY):(this._left=u+this._containerDiffX,this._top=c+this._containerDiffY,l.appendChild(s),s.style[h]=k(this._left,this._top))),v(s,r.itemDraggingClass),this._bindScrollListeners(),n._emit(\"dragStart\",i,t)}},j.prototype._onMove=function(t){var i=this._item;if(i._isActive){var e=this._getGrid()._settings.dragAxis,s=t.deltaX-this._lastEvent.deltaX,n=t.deltaY-this._lastEvent.deltaY;this._lastEvent=t,\"y\"!==e&&(this._left+=s,this._gridX+=s,this._elementClientX+=s),\"x\"!==e&&(this._top+=n,this._gridY+=n,this._elementClientY+=n),p.add(i._id+\"move\",this._prepareMove,this._applyMove,!0)}else this.stop()},j.prototype._prepareMove=function(){this._item._isActive&&this._getGrid()._settings.dragSort&&this._checkOverlapDebounce()},j.prototype._applyMove=function(){var t=this._item;t._isActive&&(t._element.style[h]=k(this._left,this._top),this._getGrid()._emit(\"dragMove\",t,this._lastEvent))},j.prototype._onScroll=function(t){var i=this._item;i._isActive?(this._lastScrollEvent=t,p.add(i._id+\"scroll\",this._prepareScroll,this._applyScroll,!0)):this.stop()},j.prototype._prepareScroll=function(){var t=this._item;if(t._isActive){var i,e=t._element,s=this._getGrid(),n=s._settings,r=n.dragAxis,o=s._element,h=e.getBoundingClientRect(),a=this._elementClientX-h.left,_=this._elementClientY-h.top;this._container!==o&&(i=P(this._containingBlock,o),this._containerDiffX=i.left,this._containerDiffY=i.top),\"y\"!==r&&(this._left+=a,this._gridX=this._left-this._containerDiffX),\"x\"!==r&&(this._top+=_,this._gridY=this._top-this._containerDiffY),n.dragSort&&this._checkOverlapDebounce()}},j.prototype._applyScroll=function(){var t=this._item;t._isActive&&(t._element.style[h]=k(this._left,this._top),this._getGrid()._emit(\"dragScroll\",t,this._lastScrollEvent))},j.prototype._onEnd=function(t){var i=this._item,e=i._element,s=this._getGrid(),n=s._settings,r=i._release;i._isActive?(this._cancelAsyncUpdates(),n.dragSort&&this._checkOverlapDebounce(\"finish\"),this._unbindScrollListeners(),r._containerDiffX=this._containerDiffX,r._containerDiffY=this._containerDiffY,this._reset(),N(e,n.itemDraggingClass),s._emit(\"dragEnd\",i,t),this._isMigrating?this._finishMigration():r.start()):this.stop()},Q.prototype.add=function(t){return this._isDestroyed?this:(this._queue.push(t),this)},Q.prototype.flush=function(t,i){if(this._isDestroyed)return this;var e,s=this._queue,n=s.length;if(!n)return this;var r=1===n,o=r?s[0]:s.slice(0);if(s.length=0,r)return o(t,i),this;for(e=0;e<n&&(o[e](t,i),!this._isDestroyed);e++);return this},Q.prototype.destroy=function(){return this._isDestroyed?this:(this._isDestroyed=!0,this._queue.length=0,this)},tt.prototype.start=function(t,i){if(!this._isDestroyed){var e,s,n,r=this._item,o=r._element,h=r._migrate,a=r._release,_=r.getGrid()._settings,l=this._isActive,f=a._isActive&&!1===a._isPositioningStarted,u=f?_.dragReleaseDuration:_.layoutDuration,c=f?_.dragReleaseEasing:_.layoutEasing,m=!t&&!this._skipNextAnimation&&u>0;return l&&this._queue.flush(!0,r),f&&(a._isPositioningStarted=!0),\"function\"==typeof i&&this._queue.add(i),e=a._isActive?a._containerDiffX:h._isActive?h._containerDiffX:0,s=a._isActive?a._containerDiffY:h._isActive?h._containerDiffY:0,this._targetStyles.transform=k(r._left+e,r._top+s),m?(this._isActive=!0,this._animateOptions.easing=c,this._animateOptions.duration=u,this._isInterrupted=l,this._offsetLeft=e,this._offsetTop=s,p.add(r._id,this._setupAnimation,this._startAnimation),this):(l&&p.cancel(r._id),n=r._animate.isAnimating(),this.stop(!1,this._targetStyles),!n&&d(o,this._targetStyles),this._skipNextAnimation=!1,this._finish())}},tt.prototype.stop=function(t,i){if(this._isDestroyed||!this._isActive)return this;var e=this._item;return p.cancel(e._id),e._animate.stop(i),N(e._element,e.getGrid()._settings.itemPositioningClass),this._isActive=!1,t&&this._queue.flush(!0,e),this},tt.prototype.destroy=function(){return this._isDestroyed?this:(this.stop(!0,{}),this._queue.destroy(),this._item=this._currentStyles=this._targetStyles=this._animateOptions=null,this._isDestroyed=!0,this)},tt.prototype._finish=function(){if(!this._isDestroyed){var t=this._item,i=t._migrate,e=t._release;this._isActive&&(this._isActive=!1,N(t._element,t.getGrid()._settings.itemPositioningClass)),e._isActive&&e.stop(),i._isActive&&i.stop(),this._queue.flush(!1,t)}},tt.prototype._setupAnimation=function(){var t=G(this._item._element);this._currentLeft=t.x-this._offsetLeft,this._currentTop=t.y-this._offsetTop},tt.prototype._startAnimation=function(){var t=this._item,i=t._element,e=t.getGrid()._settings;if(t._left===this._currentLeft&&t._top===this._currentTop)return this._isInterrupted&&this.stop(!1,this._targetStyles),this._isActive=!1,void this._finish();!this._isInterrupted&&v(i,e.itemPositioningClass),this._currentStyles.transform=k(this._currentLeft+this._offsetLeft,this._currentTop+this._offsetTop),t._animate.start(this._currentStyles,this._targetStyles,this._animateOptions)};var it={};function et(t){this._item=t,this._isActive=!1,this._isDestroyed=!1,this._container=!1,this._containerDiffX=0,this._containerDiffY=0}et.prototype.start=function(t,i,e){if(this._isDestroyed)return this;var s,n,r,o,a,_,l,f,u=this._item,c=u._element,p=u.isVisible(),m=u.getGrid(),g=m._settings,y=t._settings,D=t._element,b=t._items,S=m._items.indexOf(u),A=e||document.body;if(\"number\"==typeof i)s=w(b,i,!0);else{if(!(n=t._getItem(i)))return this;s=b.indexOf(n)}return(u.isPositioning()||this._isActive||u.isReleasing())&&(l=(_=G(c)).x,f=_.y),u.isPositioning()&&u._layout.stop(!0,{transform:k(l,f)}),this._isActive&&(l-=this._containerDiffX,f-=this._containerDiffY,this.stop(!0,{transform:k(l,f)})),u.isReleasing()&&(l-=u._release._containerDiffX,f-=u._release._containerDiffY,u._release.stop(!0,{transform:k(l,f)})),u._visibility._stopAnimation(),u._drag&&u._drag.destroy(),u._visibility._queue.flush(!0,u),m._hasListeners(\"beforeSend\")&&m._emit(\"beforeSend\",{item:u,fromGrid:m,fromIndex:S,toGrid:t,toIndex:s}),t._hasListeners(\"beforeReceive\")&&t._emit(\"beforeReceive\",{item:u,fromGrid:m,fromIndex:S,toGrid:t,toIndex:s}),N(c,g.itemClass),N(c,g.itemVisibleClass),N(c,g.itemHiddenClass),v(c,y.itemClass),v(c,p?y.itemVisibleClass:y.itemHiddenClass),m._items.splice(S,1),X(b,u,s),u._gridId=t._id,A!==(r=c.parentNode)&&(A.appendChild(c),o=P(A,r,!0),_||(l=(_=G(c)).x,f=_.y),c.style[h]=k(l+o.left,f+o.top)),u._child.removeAttribute(\"style\"),d(u._child,p?y.visibleStyles:y.hiddenStyles),c.style.display=p?\"block\":\"hidden\",a=P(A,D,!0),u._refreshDimensions(),u._refreshSortData(),u._drag=y.dragEnabled?new j(u):null,this._isActive=!0,this._container=A,this._containerDiffX=a.left,this._containerDiffY=a.top,m._hasListeners(\"send\")&&m._emit(\"send\",{item:u,fromGrid:m,fromIndex:S,toGrid:t,toIndex:s}),t._hasListeners(\"receive\")&&t._emit(\"receive\",{item:u,fromGrid:m,fromIndex:S,toGrid:t,toIndex:s}),this},et.prototype.stop=function(t,i){if(this._isDestroyed||!this._isActive)return this;var e,s=this._item,n=s._element,r=s.getGrid()._element;return this._container!==r&&(i||(t?(e=G(n),it.transform=k(e.x-this._containerDiffX,e.y-this._containerDiffY)):it.transform=k(s._left,s._top),i=it),r.appendChild(n),d(n,i)),this._isActive=!1,this._container=null,this._containerDiffX=0,this._containerDiffY=0,this},et.prototype.destroy=function(){return this._isDestroyed?this:(this.stop(!0),this._item=null,this._isDestroyed=!0,this)};var st={};function nt(t){this._item=t,this._isActive=!1,this._isDestroyed=!1,this._isPositioningStarted=!1,this._containerDiffX=0,this._containerDiffY=0}function rt(t){var i=t._isActive,e=t._element,s=t.getGrid()._settings;this._item=t,this._isDestroyed=!1,this._isHidden=!i,this._isHiding=!1,this._isShowing=!1,this._queue=new Q,this._finishShow=this._finishShow.bind(this),this._finishHide=this._finishHide.bind(this),e.style.display=i?\"block\":\"none\",v(e,i?s.itemVisibleClass:s.itemHiddenClass),d(t._child,i?s.visibleStyles:s.hiddenStyles)}nt.prototype.start=function(){if(this._isDestroyed||this._isActive)return this;var t=this._item,i=t.getGrid();return this._isActive=!0,v(t._element,i._settings.itemReleasingClass),i._emit(\"dragReleaseStart\",t),t._layout.start(!1),this},nt.prototype.stop=function(t,i){if(this._isDestroyed||!this._isActive)return this;var e,s=this._item,n=s._element,r=s.getGrid(),o=r._element;return this._reset(),n.parentNode!==o&&(i||(t?(e=G(n),st.transform=k(e.x-this._containerDiffX,e.y-this._containerDiffY)):st.transform=k(s._left,s._top),i=st),o.appendChild(n),d(n,i)),t||r._emit(\"dragReleaseEnd\",s),this},nt.prototype.destroy=function(){return this._isDestroyed?this:(this.stop(!0),this._item=null,this._isDestroyed=!0,this)},nt.prototype._reset=function(){if(!this._isDestroyed){var t=this._item;this._isActive=!1,this._isPositioningStarted=!1,this._containerDiffX=0,this._containerDiffY=0,N(t._element,t.getGrid()._settings.itemReleasingClass)}},rt.prototype.show=function(t,i){if(this._isDestroyed)return this;var e=this._item,s=e._element,n=this._queue,r=\"function\"==typeof i?i:null,o=e.getGrid()._settings;return this._isShowing||this._isHidden?this._isShowing&&!t?(r&&n.add(r),this):(this._isShowing||(n.flush(!0,e),N(s,o.itemHiddenClass),v(s,o.itemVisibleClass),this._isHiding||(s.style.display=\"block\")),r&&n.add(r),e._isActive=this._isShowing=!0,this._isHiding=this._isHidden=!1,this._startAnimation(!0,t,this._finishShow),this):(r&&r(!1,e),this)},rt.prototype.hide=function(t,i){if(this._isDestroyed)return this;var e=this._item,s=e._element,n=this._queue,r=\"function\"==typeof i?i:null,o=e.getGrid()._settings;return!this._isHiding&&this._isHidden?(r&&r(!1,e),this):this._isHiding&&!t?(r&&n.add(r),this):(this._isHiding||(n.flush(!0,e),v(s,o.itemHiddenClass),N(s,o.itemVisibleClass)),r&&n.add(r),this._isHidden=this._isHiding=!0,e._isActive=this._isShowing=!1,this._startAnimation(!1,t,this._finishHide),this)},rt.prototype.destroy=function(){if(this._isDestroyed)return this;var t=this._item,i=t._element,e=t.getGrid(),s=this._queue,n=e._settings;return this._stopAnimation({}),s.flush(!0,t).destroy(),N(i,n.itemVisibleClass),N(i,n.itemHiddenClass),this._item=null,this._isHiding=this._isShowing=!1,this._isDestroyed=this._isHidden=!0,this},rt.prototype._startAnimation=function(t,i,e){if(!this._isDestroyed){var s,n=this._item,r=n.getGrid()._settings,o=t?r.visibleStyles:r.hiddenStyles,h=parseInt(t?r.showDuration:r.hideDuration)||0,a=(t?r.showEasing:r.hideEasing)||\"ease\",_=i||h<=0;if(o){if(p.cancel(n._id+\"visibility\"),_)return n._animateChild.isAnimating()?n._animateChild.stop(o):d(n._child,o),void(e&&e());p.add(n._id+\"visibility\",function(){s=l(n._child,o)},function(){n._animateChild.start(s,o,{duration:h,easing:a,onFinish:e})})}else e&&e()}},rt.prototype._stopAnimation=function(t){if(!this._isDestroyed){var i=this._item;p.cancel(i._id),i._animateChild.stop(t)}},rt.prototype._finishShow=function(){this._isHidden||(this._isShowing=!1,this._queue.flush(!1,this._item))};var ot={};rt.prototype._finishHide=function(){if(this._isHidden){var t=this._item;this._isHiding=!1,ot.transform=k(0,0),t._layout.stop(!0,ot),t._element.style.display=\"none\",this._queue.flush(!1,t)}};var ht,at,_t,lt,dt=0;function ft(){return++dt}function ut(t,i,e){var s=t._settings;this._id=ft(),this._gridId=t._id,this._isDestroyed=!1,this._left=0,this._top=0,this._element=i,this._child=i.children[0],i.parentNode!==t._element&&t._element.appendChild(i),v(i,s.itemClass),\"boolean\"!=typeof e&&(e=\"none\"!==_(i,\"display\")),this._isActive=e,i.style.left=\"0\",i.style.top=\"0\",i.style[h]=k(0,0),this._animate=new f(this,i),this._animateChild=new f(this,this._child),this._visibility=new rt(this),this._layout=new tt(this),this._migrate=new et(this),this._release=new nt(this),this._drag=s.dragEnabled?new j(this):null,this._refreshDimensions(),this._refreshSortData()}function ct(){this._layout={slots:[],slotSizes:[],setWidth:!1,setHeight:!1,width:!1,height:!1},this._freeSlots=[],this._newSlots=[],this._rectItem={},this._rectStore=[],this._rectId=0,this._sortRectsLeftTop=this._sortRectsLeftTop.bind(this),this._sortRectsTopLeft=this._sortRectsTopLeft.bind(this)}ut.prototype.getGrid=function(){return e[this._gridId]},ut.prototype.getElement=function(){return this._element},ut.prototype.getWidth=function(){return this._width},ut.prototype.getHeight=function(){return this._height},ut.prototype.getMargin=function(){return{left:this._marginLeft,right:this._marginRight,top:this._marginTop,bottom:this._marginBottom}},ut.prototype.getPosition=function(){return{left:this._left,top:this._top}},ut.prototype.isActive=function(){return this._isActive},ut.prototype.isVisible=function(){return!!this._visibility&&!this._visibility._isHidden},ut.prototype.isShowing=function(){return!(!this._visibility||!this._visibility._isShowing)},ut.prototype.isHiding=function(){return!(!this._visibility||!this._visibility._isHiding)},ut.prototype.isPositioning=function(){return!(!this._layout||!this._layout._isActive)},ut.prototype.isDragging=function(){return!(!this._drag||!this._drag._isActive)},ut.prototype.isReleasing=function(){return!(!this._release||!this._release._isActive)},ut.prototype.isDestroyed=function(){return this._isDestroyed},ut.prototype._refreshDimensions=function(){if(!this._isDestroyed&&!this._visibility._isHidden){var t=this._element,i=t.getBoundingClientRect();this._width=i.width,this._height=i.height,this._marginLeft=Math.max(0,I(t,\"margin-left\")),this._marginRight=Math.max(0,I(t,\"margin-right\")),this._marginTop=Math.max(0,I(t,\"margin-top\")),this._marginBottom=Math.max(0,I(t,\"margin-bottom\"))}},ut.prototype._refreshSortData=function(){if(!this._isDestroyed){var t,i=this._sortData={},e=this.getGrid()._settings.sortData;for(t in e)i[t]=e[t](this,this._element)}},ut.prototype._destroy=function(t){if(!this._isDestroyed){var i=this._element,e=this.getGrid(),s=e._settings,n=e._items.indexOf(this);this._release.destroy(),this._migrate.destroy(),this._layout.destroy(),this._visibility.destroy(),this._animate.destroy(),this._animateChild.destroy(),this._drag&&this._drag.destroy(),i.removeAttribute(\"style\"),this._child.removeAttribute(\"style\"),N(i,s.itemClass),n>-1&&e._items.splice(n,1),t&&i.parentNode.removeChild(i),this._isActive=!1,this._isDestroyed=!0}},ct.prototype.getLayout=function(t,i,e,s){var n,r=this._layout,o=!(!s||!s.fillGaps),h=!(!s||!s.horizontal),a=!(!s||!s.alignRight),_=!(!s||!s.alignBottom),l=!(!s||!s.rounding);if(r.slots.length=r.slotSizes.length=0,r.width=h?0:l?Math.round(i):i,r.height=h?l?Math.round(e):e:0,r.setWidth=h,r.setHeight=!h,!t.length)return r;for(n=0;n<t.length;n++)this._addSlot(t[n],h,o,l);if(a)for(n=0;n<r.slots.length;n+=2)r.slots[n]=r.width-(r.slots[n]+r.slotSizes[n]);if(_)for(n=1;n<r.slots.length;n+=2)r.slots[n]=r.height-(r.slots[n]+r.slotSizes[n]);return this._freeSlots.length=0,this._newSlots.length=0,this._rectId=0,r},ct.prototype._addSlot=(ht={},function(t,i,e,s){var n,r,o,h,a,_,l=this._layout,d=this._freeSlots,f=this._newSlots;for(f.length=0,ht.left=null,ht.top=null,ht.width=t._width+t._marginLeft+t._marginRight,ht.height=t._height+t._marginTop+t._marginBottom,s&&(ht.width=Math.round(ht.width),ht.height=Math.round(ht.height)),a=0;a<d.length;a++)if((r=d[a])&&(n=this._getRect(r),ht.width<=n.width+.001&&ht.height<=n.height+.001)){ht.left=n.left,ht.top=n.top;break}for(null===ht.left&&(ht.left=i?l.width:0,ht.top=i?0:l.height,e||(h=!0)),!i&&ht.top+ht.height>l.height&&(ht.left>0&&f.push(this._addRect(0,l.height,ht.left,1/0)),ht.left+ht.width<l.width&&f.push(this._addRect(ht.left+ht.width,l.height,l.width-ht.left-ht.width,1/0)),l.height=ht.top+ht.height),i&&ht.left+ht.width>l.width&&(ht.top>0&&f.push(this._addRect(l.width,0,1/0,ht.top)),ht.top+ht.height<l.height&&f.push(this._addRect(l.width,ht.top+ht.height,1/0,l.height-ht.top-ht.height)),l.width=ht.left+ht.width),a=e?0:h?d.length:a;a<d.length;a++)if(r=d[a])for(n=this._getRect(r),o=this._splitRect(n,ht),_=0;_<o.length;_++)r=o[_],(n=this._getRect(r)).width>.49&&n.height>.49&&(!i&&n.top<l.height||i&&n.left<l.width)&&f.push(r);f.length&&this._purgeRects(f).sort(i?this._sortRectsLeftTop:this._sortRectsTopLeft),i?l.width=Math.max(l.width,ht.left+ht.width):l.height=Math.max(l.height,ht.top+ht.height),l.slots.push(ht.left,ht.top),l.slotSizes.push(ht.width,ht.height),this._freeSlots=f,this._newSlots=d}),ct.prototype._addRect=function(t,i,e,s){var n=++this._rectId,r=this._rectStore;return r[n]=t||0,r[++this._rectId]=i||0,r[++this._rectId]=e||0,r[++this._rectId]=s||0,n},ct.prototype._getRect=function(t,i){var e=i||this._rectItem,s=this._rectStore;return e.left=s[t]||0,e.top=s[++t]||0,e.width=s[++t]||0,e.height=s[++t]||0,e},ct.prototype._splitRect=(at=[],function(t,i){return at.length=0,this._doRectsOverlap(t,i)?(t.left<i.left&&at.push(this._addRect(t.left,t.top,i.left-t.left,t.height)),t.left+t.width>i.left+i.width&&at.push(this._addRect(i.left+i.width,t.top,t.left+t.width-(i.left+i.width),t.height)),t.top<i.top&&at.push(this._addRect(t.left,t.top,t.width,i.top-t.top)),t.top+t.height>i.top+i.height&&at.push(this._addRect(t.left,i.top+i.height,t.width,t.top+t.height-(i.top+i.height))),at):(at.push(this._addRect(t.left,t.top,t.width,t.height)),at)}),ct.prototype._doRectsOverlap=function(t,i){return!(t.left+t.width<=i.left||i.left+i.width<=t.left||t.top+t.height<=i.top||i.top+i.height<=t.top)},ct.prototype._isRectWithinRect=function(t,i){return t.left>=i.left&&t.top>=i.top&&t.left+t.width<=i.left+i.width&&t.top+t.height<=i.top+i.height},ct.prototype._purgeRects=(_t={},lt={},function(t){for(var i,e=t.length;e--;)if(i=t.length,t[e])for(this._getRect(t[e],_t);i--;)if(t[i]&&e!==i&&this._isRectWithinRect(_t,this._getRect(t[i],lt))){t[e]=0;break}return t}),ct.prototype._sortRectsTopLeft=function(){var t={},i={};return function(e,s){return this._getRect(e,t),this._getRect(s,i),t.top<i.top?-1:t.top>i.top?1:t.left<i.left?-1:t.left>i.left?1:0}}(),ct.prototype._sortRectsLeftTop=function(){var t={},i={};return function(e,s){return this._getRect(e,t),this._getRect(s,i),t.left<i.left?-1:t.left>i.left?1:t.top<i.top?-1:t.top>i.top?1:0}}();var pt=\"[object HTMLCollection]\",mt=\"[object NodeList]\";function gt(t){var i=Object.prototype.toString.call(t);return i===pt||i===mt}function yt(t){return gt(t)?Array.prototype.slice.call(t):Array.prototype.concat(t)}var vt=new ct,wt=function(){};function Dt(t,i){var s,r,o,h=this;if(t=this._element=\"string\"==typeof t?document.querySelector(t):t,!document.body.contains(t))throw new Error(\"Container element must be an existing DOM element\");\"function\"!=typeof(s=this._settings=function(t,i){var e=bt({},t);i&&(e=bt(e,i));return e.visibleStyles=(i||0).visibleStyles||(t||0).visibleStyles,e.hiddenStyles=(i||0).hiddenStyles||(t||0).hiddenStyles,e}(Dt.defaultOptions,i)).dragSort&&(s.dragSort=!!s.dragSort),this._id=ft(),e[this._id]=h,this._isDestroyed=!1,this._layout={id:0,items:[],slots:[],setWidth:!1,setHeight:!1,width:0,height:0},this._emitter=new n,v(t,s.containerClass),this._items=[],\"string\"==typeof(r=s.items)?yt(t.children).forEach(function(t){(\"*\"===r||y(t,r))&&h._items.push(new ut(h,t))}):(Array.isArray(r)||gt(r))&&(this._items=yt(r).map(function(t){return new ut(h,t)})),\"number\"!=typeof(o=s.layoutOnResize)&&(o=!0===o?0:-1),o>=0&&window.addEventListener(\"resize\",h._resizeHandler=C(function(){h.refreshItems().layout()},o)),s.layoutOnInit&&this.layout(!0)}function bt(t,i){var e,s,n,r=Object.keys(i),o=r.length;for(n=0;n<o;n++)e=q(i[s=r[n]]),q(t[s])&&e?t[s]=bt(bt({},t[s]),i[s]):e?t[s]=bt({},i[s]):Array.isArray(i[s])?t[s]=i[s].slice(0):t[s]=i[s];return t}return Dt.Item=ut,Dt.ItemLayout=tt,Dt.ItemVisibility=rt,Dt.ItemRelease=nt,Dt.ItemMigrate=et,Dt.ItemAnimate=f,Dt.ItemDrag=j,Dt.Emitter=n,Dt.defaultOptions={items:\"*\",showDuration:300,showEasing:\"ease\",hideDuration:300,hideEasing:\"ease\",visibleStyles:{opacity:\"1\",transform:\"scale(1)\"},hiddenStyles:{opacity:\"0\",transform:\"scale(0.5)\"},layout:{fillGaps:!1,horizontal:!1,alignRight:!1,alignBottom:!1,rounding:!0},layoutOnResize:100,layoutOnInit:!0,layoutDuration:300,layoutEasing:\"ease\",sortData:null,dragEnabled:!1,dragContainer:null,dragStartPredicate:{distance:0,delay:0,handle:!1},dragAxis:null,dragSort:!0,dragSortInterval:100,dragSortPredicate:{threshold:50,action:\"move\"},dragReleaseDuration:300,dragReleaseEasing:\"ease\",dragHammerSettings:{touchAction:\"none\"},containerClass:\"muuri\",itemClass:\"muuri-item\",itemVisibleClass:\"muuri-item-shown\",itemHiddenClass:\"muuri-item-hidden\",itemPositioningClass:\"muuri-item-positioning\",itemDraggingClass:\"muuri-item-dragging\",itemReleasingClass:\"muuri-item-releasing\"},Dt.prototype.on=function(t,i){return this._emitter.on(t,i),this},Dt.prototype.once=function(t,i){return this._emitter.once(t,i),this},Dt.prototype.off=function(t,i){return this._emitter.off(t,i),this},Dt.prototype.getElement=function(){return this._element},Dt.prototype.getItems=function(t){if(this._isDestroyed||!t&&0!==t)return this._items.slice(0);var i,e,s=[],n=yt(t);for(e=0;e<n.length;e++)(i=this._getItem(n[e]))&&s.push(i);return s},Dt.prototype.refreshItems=function(t){if(this._isDestroyed)return this;var i,e=this.getItems(t);for(i=0;i<e.length;i++)e[i]._refreshDimensions();return this},Dt.prototype.refreshSortData=function(t){if(this._isDestroyed)return this;var i,e=this.getItems(t);for(i=0;i<e.length;i++)e[i]._refreshSortData();return this},Dt.prototype.synchronize=function(){if(this._isDestroyed)return this;var t,i,e,s=this._element,n=this._items;if(n.length){for(e=0;e<n.length;e++)(i=n[e]._element).parentNode===s&&(t=t||document.createDocumentFragment()).appendChild(i);t&&s.appendChild(t)}return this._emit(\"synchronize\"),this},Dt.prototype.layout=function(t,i){if(this._isDestroyed)return this;var e,n,r,o=this,h=this._element,a=this._updateLayout(),l=a.id,d=a.items.length,f=d,u=\"function\"==typeof t?t:i,c=\"function\"==typeof u,p=c?a.items.slice(0):null;function m(){if(!(--f>0)){var t=o._layout.id!==l;c&&u(t,p),!t&&o._hasListeners(s)&&o._emit(s,a.items.slice(0))}}if((a.setHeight&&\"number\"==typeof a.height||a.setWidth&&\"number\"==typeof a.width)&&(e=\"border-box\"===_(h,\"box-sizing\")),a.setHeight&&(\"number\"==typeof a.height?h.style.height=(e?a.height+this._borderTop+this._borderBottom:a.height)+\"px\":h.style.height=a.height),a.setWidth&&(\"number\"==typeof a.width?h.style.width=(e?a.width+this._borderLeft+this._borderRight:a.width)+\"px\":h.style.width=a.width),this._hasListeners(\"layoutStart\")&&this._emit(\"layoutStart\",a.items.slice(0)),!d)return m(),this;for(r=0;r<d;r++)(n=a.items[r])&&(n._left=a.slots[2*r],n._top=a.slots[2*r+1],n.isDragging()?m():n._layout.start(!0===t,m));return this},Dt.prototype.add=function(t,i){if(this._isDestroyed||!t)return[];var e=yt(t);if(!e.length)return e;var s,n,r=i||0,o=r.layout?r.layout:void 0===r.layout,h=this._items,a=!1;for(n=0;n<e.length;n++)s=new ut(this,e[n],r.isActive),e[n]=s,s._isActive&&(a=!0,s._layout._skipNextAnimation=!0);return X(h,e,r.index),this._hasListeners(\"add\")&&this._emit(\"add\",e.slice(0)),a&&o&&this.layout(\"instant\"===o,\"function\"==typeof o?o:void 0),e},Dt.prototype.remove=function(t,i){if(this._isDestroyed)return this;var e,s,n=i||0,r=n.layout?n.layout:void 0===n.layout,o=!1,h=this.getItems(),a=this.getItems(t),_=[];for(s=0;s<a.length;s++)e=a[s],_.push(h.indexOf(e)),e._isActive&&(o=!0),e._destroy(n.removeElements);return this._hasListeners(\"remove\")&&this._emit(\"remove\",a.slice(0),_),o&&r&&this.layout(\"instant\"===r,\"function\"==typeof r?r:void 0),a},Dt.prototype.show=function(t,i){return this._isDestroyed?this:(this._setItemsVisibility(t,!0,i),this)},Dt.prototype.hide=function(t,i){return this._isDestroyed?this:(this._setItemsVisibility(t,!1,i),this)},Dt.prototype.filter=function(t,i){if(this._isDestroyed||!this._items.length)return this;var e,s,n=[],r=[],o=\"string\"==typeof t,h=\"function\"==typeof t,a=i||0,_=!0===a.instant,l=a.layout?a.layout:void 0===a.layout,d=\"function\"==typeof a.onFinish?a.onFinish:null,f=-1,u=wt;if(d&&(u=function(){++f&&d(n.slice(0),r.slice(0))}),h||o)for(s=0;s<this._items.length;s++)e=this._items[s],(h?t(e):y(e._element,t))?n.push(e):r.push(e);return n.length?this.show(n,{instant:_,onFinish:u,layout:!1}):u(),r.length?this.hide(r,{instant:_,onFinish:u,layout:!1}):u(),(n.length||r.length)&&(this._hasListeners(\"filter\")&&this._emit(\"filter\",n.slice(0),r.slice(0)),l&&this.layout(\"instant\"===l,\"function\"==typeof l?l:void 0)),this},Dt.prototype.sort=function(){var t,e,s,n;function r(t){for(var i={},e=0;e<t.length;e++)i[t[e]._id]=e;return i}function o(t,i){var s=n[t._id],r=n[i._id];return e?r-s:s-r}function h(i,h){for(var a,_,l,d,f=0,u=0;u<t.length;u++)if(a=t[u][0],_=t[u][1],l=(i._sortData?i:i._refreshSortData())._sortData[a],d=(h._sortData?h:h._refreshSortData())._sortData[a],f=\"desc\"===_||!_&&e?d<l?-1:d>l?1:0:l<d?-1:l>d?1:0)return f;return f||(n||(n=r(s)),f=o(i,h)),f}function a(i,h){var a=t(i,h);return e&&a&&(a=-a),a||(n||(n=r(s)),a=o(i,h)),a}return function(r,o){if(this._isDestroyed||this._items.length<2)return this;var _,l=this._items,d=o||0,f=d.layout?d.layout:void 0===d.layout;if(t=r,e=!!d.descending,s=l.slice(0),n=null,\"function\"==typeof t)l.sort(a);else if(\"string\"==typeof t)t=r.trim().split(\" \").map(function(t){return t.split(\":\")}),l.sort(h);else{if(!Array.isArray(t))return this;if(t.length!==l.length)throw new Error(\"[\"+i+\"] sort reference items do not match with grid items.\");for(_=0;_<l.length;_++){if(t.indexOf(l[_])<0)throw new Error(\"[\"+i+\"] sort reference items do not match with grid items.\");l[_]=t[_]}e&&l.reverse()}return this._hasListeners(\"sort\")&&this._emit(\"sort\",l.slice(0),s),f&&this.layout(\"instant\"===f,\"function\"==typeof f?f:void 0),this}}(),Dt.prototype.move=function(t,i,e){if(this._isDestroyed||this._items.length<2)return this;var s,n,r=this._items,o=e||0,h=o.layout?o.layout:void 0===o.layout,a=\"swap\"===o.action,_=a?\"swap\":\"move\",l=this._getItem(t),d=this._getItem(i);return l&&d&&l!==d&&(s=r.indexOf(l),n=r.indexOf(d),a?b(r,s,n):D(r,s,n),this._hasListeners(\"move\")&&this._emit(\"move\",{item:l,fromIndex:s,toIndex:n,action:_}),h&&this.layout(\"instant\"===h,\"function\"==typeof h?h:void 0)),this},Dt.prototype.send=function(t,i,e,s){if(this._isDestroyed||i._isDestroyed||this===i)return this;if(!(t=this._getItem(t)))return this;var n=s||0,r=n.appendTo||document.body,o=n.layoutSender?n.layoutSender:void 0===n.layoutSender,h=n.layoutReceiver?n.layoutReceiver:void 0===n.layoutReceiver;return t._migrate.start(i,e,r),t._migrate._isActive&&t._isActive&&(o&&this.layout(\"instant\"===o,\"function\"==typeof o?o:void 0),h&&i.layout(\"instant\"===h,\"function\"==typeof h?h:void 0)),this},Dt.prototype.destroy=function(t){if(this._isDestroyed)return this;var i,s=this._element,n=this._items.slice(0);for(this._resizeHandler&&window.removeEventListener(\"resize\",this._resizeHandler),i=0;i<n.length;i++)n[i]._destroy(t);return N(s,this._settings.containerClass),s.style.height=\"\",s.style.width=\"\",this._emit(\"destroy\"),this._emitter.destroy(),e[this._id]=void 0,this._isDestroyed=!0,this},Dt.prototype._getItem=function(t){if(this._isDestroyed||!t&&0!==t)return null;if(\"number\"==typeof t)return this._items[t>-1?t:this._items.length+t]||null;if(t instanceof ut)return t._gridId===this._id?t:null;for(var i=0;i<this._items.length;i++)if(this._items[i]._element===t)return this._items[i];return null},Dt.prototype._updateLayout=function(){var t,i=this._layout,e=this._settings.layout;for(++i.id,i.items.length=0,t=0;t<this._items.length;t++)this._items[t]._isActive&&i.items.push(this._items[t]);this._refreshDimensions();var s=this._width-this._borderLeft-this._borderRight,n=this._height-this._borderTop-this._borderBottom,r=\"function\"==typeof e?e(i.items.slice(0),s,n):vt.getLayout(i.items,s,n,e);return i.slots=r.slots.slice(0),i.setWidth=Boolean(r.setWidth),i.setHeight=Boolean(r.setHeight),i.width=r.width,i.height=r.height,i},Dt.prototype._emit=function(){this._isDestroyed||this._emitter.emit.apply(this._emitter,arguments)},Dt.prototype._hasListeners=function(t){var i=this._emitter._events[t];return!(!i||!i.length)},Dt.prototype._refreshDimensions=function(){var t=this._element,i=t.getBoundingClientRect();this._width=i.width,this._height=i.height,this._left=i.left,this._top=i.top,this._borderLeft=I(t,\"border-left-width\"),this._borderRight=I(t,\"border-right-width\"),this._borderTop=I(t,\"border-top-width\"),this._borderBottom=I(t,\"border-bottom-width\")},Dt.prototype._setItemsVisibility=function(t,i,e){var s,n,r=this,o=this.getItems(t),h=e||0,a=!0===h.instant,_=h.onFinish,l=h.layout?h.layout:void 0===h.layout,d=o.length,f=i?\"showStart\":\"hideStart\",u=i?\"showEnd\":\"hideEnd\",c=i?\"show\":\"hide\",p=!1,m=[],g=[];if(d){for(this._hasListeners(f)&&this._emit(f,o.slice(0)),n=0;n<o.length;n++)s=o[n],(i&&!s._isActive||!i&&s._isActive)&&(p=!0),i&&!s._isActive&&(s._layout._skipNextAnimation=!0),i&&s._visibility._isHidden&&g.push(s),s._visibility[c](a,function(t,i){t||m.push(i),--d<1&&(\"function\"==typeof _&&_(m.slice(0)),r._hasListeners(u)&&r._emit(u,m.slice(0)))});g.length&&this.refreshItems(g),p&&l&&this.layout(\"instant\"===l,\"function\"==typeof l?l:void 0)}else\"function\"==typeof _&&_(o)},Dt});\n",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/lib/muuri.js",
"module-type": "library"
},
"$:/plugins/BurningTreeC/muuritouch/lib/web-animations.js": {
"text": "// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(a,b){var c={},d={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i<j;){var k=(i+j)/2,l=f(a,c,k);if(Math.abs(e-l)<1e-5)return f(b,d,k);l<e?i=k:j=k}return f(b,d,k)}}function j(a,b){return function(c){if(c>=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);return c?j(Number(c[1]),{start:y,middle:z,end:A}[c[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return G;var d=c.delay+a+c.endDelay;return b<Math.min(c.delay,d)?H:b>=Math.min(c.delay+a,d)?I:J}function p(a,b,c,d,e){switch(d){case H:return\"backwards\"==b||\"both\"==b?0:null;case J:return c-e;case I:return\"forwards\"==b||\"both\"==b?a:null;case G:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==H&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==I||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===I&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+timing.iterationStart);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,G=0,H=1,I=2,J=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(c),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g<f;g++)e={},e.offset=\"offset\"in a?a.offset:1==f?1:g/(f-1),\"easing\"in a&&(e.easing=a.easing),\"composite\"in a&&(e.composite=a.composite),e[c]=d[g],b.push(e)}return b.sort(function(a,b){return a.offset-b.offset}),b}function g(b){function c(){var a=d.length;null==d[a-1].offset&&(d[a-1].offset=1),a>1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e<a;e++){var f=d[e].offset;if(null!=f){for(var g=1;g<e-b;g++)d[b+g].offset=c+(f-c)*g/(e-b);b=e,c=f}}}if(null==b)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||(b=f(b));for(var d=b.map(function(b){var c={};for(var d in b){var f=b[d];if(\"offset\"==d){if(null!=f){if(f=Number(f),!isFinite(f))throw new TypeError(\"Keyframe offsets must be numbers.\");if(f<0||f>1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i<d.length;i++){var j=d[i].offset;if(null!=j){if(j<h)throw new TypeError(\"Keyframes are not loosely sorted by offset. Sort or specify offsets.\");h=j}else g=!1}return d=d.filter(function(a){return a.offset>=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(c),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g<h&&(a in b||console.warn(\"Web Animations: \"+a+\" \"+f+\" deprecated and will stop working on \"+h.toDateString()+\". \"+d),b[a]=!0,1))},a.deprecated=function(b,c,d,e){var f=e?\"are\":\"is\";if(a.isDeprecated(b,c,d,e))throw new Error(b+\" \"+f+\" no longer supported. \"+d)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,\"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState\".split(\"|\").forEach(function(c){void 0===a[c]&&(b=!0)})),!b)return}!function(a,b,c){function d(a){for(var b={},c=0;c<a.length;c++)for(var d in a[c])if(\"offset\"!=d&&\"easing\"!=d&&\"composite\"!=d){var e={offset:a[c].offset,easing:a[c].easing,value:a[c][d]};b[d]=b[d]||[],b[d].push(e)}for(var f in b){var g=b[f];if(0!=g[0].offset||1!=g[g.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"Partial keyframes are not supported\"}}return b}function e(c){var d=[];for(var e in c)for(var f=c[e],g=0;g<f.length-1;g++){var h=g,i=g+1,j=f[h].offset,k=f[i].offset,l=j,m=k;0==g&&(l=-1/0,0==k&&(i=h)),g==f.length-2&&(m=1/0,1==j&&(h=i)),d.push({applyFrom:l,applyTo:m,startOffset:f[h].offset,endOffset:f[i].offset,easingFunction:a.parseEasingFunction(f[h].easing),property:e,interpolation:b.propertyInterpolation(e,f[h].value,f[i].value)})}return d.sort(function(a,b){return a.startOffset-b.startOffset}),d}b.convertEffectInput=function(c){var f=a.normalizeKeyframes(c),g=d(f),h=e(g);return function(a,c){if(null!=c)h.filter(function(a){return c>=a.applyFrom&&c<a.applyTo}).forEach(function(d){var e=c-d.startOffset,f=d.endOffset-d.startOffset,g=0==f?0:d.easingFunction(e/f);b.apply(a,d.property,d.interpolation(g))});else for(var d in g)\"offset\"!=d&&\"easing\"!=d&&\"composite\"!=d&&b.clear(a,d)}}}(c,d),function(a,b,c){function d(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}function e(a,b,c){h[c]=h[c]||[],h[c].push([a,b])}function f(a,b,c){for(var f=0;f<c.length;f++){e(a,b,d(c[f]))}}function g(c,e,f){var g=c;/-/.test(c)&&!a.isDeprecated(\"Hyphenated property names\",\"2016-03-22\",\"Use camelCase instead.\",!0)&&(g=d(c)),\"initial\"!=e&&\"initial\"!=f||(\"initial\"==e&&(e=i[g]),\"initial\"==f&&(f=i[g]));for(var j=e==f?[]:h[g],k=0;j&&k<j.length;k++){var l=j[k][0](e),m=j[k][0](f);if(void 0!==l&&void 0!==m){var n=j[k][1](l,m);if(n){var o=b.Interpolation.apply(null,n);return function(a){return 0==a?e:1==a?f:o(a)}}}}return b.Interpolation(!1,!0,function(a){return a?f:e})}var h={};b.addPropertiesHandler=f;var i={backgroundColor:\"transparent\",backgroundPosition:\"0% 0%\",borderBottomColor:\"currentColor\",borderBottomLeftRadius:\"0px\",borderBottomRightRadius:\"0px\",borderBottomWidth:\"3px\",borderLeftColor:\"currentColor\",borderLeftWidth:\"3px\",borderRightColor:\"currentColor\",borderRightWidth:\"3px\",borderSpacing:\"2px\",borderTopColor:\"currentColor\",borderTopLeftRadius:\"0px\",borderTopRightRadius:\"0px\",borderTopWidth:\"3px\",bottom:\"auto\",clip:\"rect(0px, 0px, 0px, 0px)\",color:\"black\",fontSize:\"100%\",fontWeight:\"400\",height:\"auto\",left:\"auto\",letterSpacing:\"normal\",lineHeight:\"120%\",marginBottom:\"0px\",marginLeft:\"0px\",marginRight:\"0px\",marginTop:\"0px\",maxHeight:\"none\",maxWidth:\"none\",minHeight:\"0px\",minWidth:\"0px\",opacity:\"1.0\",outlineColor:\"invert\",outlineOffset:\"0px\",outlineWidth:\"3px\",paddingBottom:\"0px\",paddingLeft:\"0px\",paddingRight:\"0px\",paddingTop:\"0px\",right:\"auto\",strokeDasharray:\"none\",strokeDashoffset:\"0px\",textIndent:\"0px\",textShadow:\"0px 0px 0px transparent\",top:\"auto\",transform:\"\",verticalAlign:\"0px\",visibility:\"visible\",width:\"auto\",wordSpacing:\"normal\",zIndex:\"auto\"};b.propertyInterpolation=g}(c,d),function(a,b,c){function d(b){var c=a.calculateActiveDuration(b),d=function(d){return a.calculateIterationProgress(c,d,b)};return d._totalDuration=b.delay+c+b.endDelay,d}b.KeyframeEffect=function(c,e,f,g){var h,i=d(a.normalizeTimingInput(f)),j=b.convertEffectInput(e),k=function(){j(c,h)};return k._update=function(a){return null!==(h=i(a))},k._clear=function(){j(c,null)},k._hasSameTarget=function(a){return c===a},k._target=c,k._totalDuration=i._totalDuration,k._id=g,k}}(c,d),function(a,b){function c(a,b){return!(!b.namespaceURI||-1==b.namespaceURI.indexOf(\"/svg\"))&&(g in a||(a[g]=/Trident|MSIE|IEMobile|Edge|Android 4/i.test(a.navigator.userAgent)),a[g])}function d(a,b,c){c.enumerable=!0,c.configurable=!0,Object.defineProperty(a,b,c)}function e(a){this._element=a,this._surrogateStyle=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\").style,this._style=a.style,this._length=0,this._isAnimatedProperty={},this._updateSvgTransformAttr=c(window,a),this._savedTransformAttr=null;for(var b=0;b<this._style.length;b++){var d=this._style[b];this._surrogateStyle[d]=this._style[d]}this._updateIndices()}function f(a){if(!a._webAnimationsPatchedStyle){var b=new e(a);try{d(a,\"style\",{get:function(){return b}})}catch(b){a.style._set=function(b,c){a.style[b]=c},a.style._clear=function(b){a.style[b]=\"\"}}a._webAnimationsPatchedStyle=a.style}}var g=\"_webAnimationsUpdateSvgTransformAttr\",h={cssText:1,length:1,parentRule:1},i={getPropertyCSSValue:1,getPropertyPriority:1,getPropertyValue:1,item:1,removeProperty:1,setProperty:1},j={removeProperty:1,setProperty:1};e.prototype={get cssText(){return this._surrogateStyle.cssText},set cssText(a){for(var b={},c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;this._surrogateStyle.cssText=a,this._updateIndices();for(var c=0;c<this._surrogateStyle.length;c++)b[this._surrogateStyle[c]]=!0;for(var d in b)this._isAnimatedProperty[d]||this._style.setProperty(d,this._surrogateStyle.getPropertyValue(d))},get length(){return this._surrogateStyle.length},get parentRule(){return this._style.parentRule},_updateIndices:function(){for(;this._length<this._surrogateStyle.length;)Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,get:function(a){return function(){return this._surrogateStyle[a]}}(this._length)}),this._length++;for(;this._length>this._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(b,c){this._style[b]=c,this._isAnimatedProperty[b]=!0,this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(null==this._savedTransformAttr&&(this._savedTransformAttr=this._element.getAttribute(\"transform\")),this._element.setAttribute(\"transform\",a.transformToSvgMatrix(c)))},_clear:function(b){this._style[b]=this._surrogateStyle[b],this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(this._savedTransformAttr?this._element.setAttribute(\"transform\",this._savedTransformAttr):this._element.removeAttribute(\"transform\"),this._savedTransformAttr=null),delete this._isAnimatedProperty[b]}};for(var k in i)e.prototype[k]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(k,k in j);for(var l in document.documentElement.style)l in h||l in i||function(a){d(e.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(l);a.apply=function(b,c,d){f(b),b.style._set(a.propertyName(c),d)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(d),function(a){window.Element.prototype.animate=function(b,c){var d=\"\";return c&&c.id&&(d=c.id),a.timeline._play(a.KeyframeEffect(this,b,c,d))}}(d),function(a,b){function c(a,b,d){if(\"number\"==typeof a&&\"number\"==typeof b)return a*(1-d)+b*d;if(\"boolean\"==typeof a&&\"boolean\"==typeof b)return d<.5?a:b;if(a.length==b.length){for(var e=[],f=0;f<a.length;f++)e.push(c(a[f],b[f],d));return e}throw\"Mismatched interpolation arguments \"+a+\":\"+b}a.Interpolation=function(a,b,d){return function(e){return d(c(a,b,e))}}}(d),function(a,b){function c(a,b,c){return Math.max(Math.min(a,c),b)}function d(b,d,e){var f=a.dot(b,d);f=c(f,-1,1);var g=[];if(1===f)g=b;else for(var h=Math.acos(f),i=1*Math.sin(e*h)/Math.sqrt(1-f*f),j=0;j<4;j++)g.push(b[j]*(Math.cos(e*h)-f*i)+d[j]*i);return g}var e=function(){function a(a,b){for(var c=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],d=0;d<4;d++)for(var e=0;e<4;e++)for(var f=0;f<4;f++)c[d][e]+=b[d][f]*a[f][e];return c}function b(a){return 0==a[0][2]&&0==a[0][3]&&0==a[1][2]&&0==a[1][3]&&0==a[2][0]&&0==a[2][1]&&1==a[2][2]&&0==a[2][3]&&0==a[3][2]&&1==a[3][3]}function c(c,d,e,f,g){for(var h=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]],i=0;i<4;i++)h[i][3]=g[i];for(var i=0;i<3;i++)for(var j=0;j<3;j++)h[3][i]+=c[j]*h[j][i];var k=f[0],l=f[1],m=f[2],n=f[3],o=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];o[0][0]=1-2*(l*l+m*m),o[0][1]=2*(k*l-m*n),o[0][2]=2*(k*m+l*n),o[1][0]=2*(k*l+m*n),o[1][1]=1-2*(k*k+m*m),o[1][2]=2*(l*m-k*n),o[2][0]=2*(k*m-l*n),o[2][1]=2*(l*m+k*n),o[2][2]=1-2*(k*k+l*l),h=a(h,o);var p=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]];e[2]&&(p[2][1]=e[2],h=a(h,p)),e[1]&&(p[2][1]=0,p[2][0]=e[0],h=a(h,p)),e[0]&&(p[2][0]=0,p[1][0]=e[0],h=a(h,p));for(var i=0;i<3;i++)for(var j=0;j<3;j++)h[i][j]*=d[i];return b(h)?[h[0][0],h[0][1],h[1][0],h[1][1],h[3][0],h[3][1]]:h[0].concat(h[1],h[2],h[3])}return c}();a.composeMatrix=e,a.quat=d}(d),function(a,b,c){a.sequenceNumber=0;var d=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type=\"finish\",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()};b.Animation=function(b){this.id=\"\",b&&b._id&&(this.id=b._id),this._sequenceNumber=a.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=b,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},b.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,b.timeline._animations.push(this))},_tickCurrentTime:function(a,b){a!=this._currentTime&&(this._currentTime=a,this._isFinished&&!b&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(c,d),function(a,b,c){function d(a){var b=j;j=[],a<q.currentTime&&(a=q.currentTime),q._animations.sort(e),q._animations=h(a,!0,q._animations)[0],b.forEach(function(b){b[1](a)}),g(),l=void 0}function e(a,b){return a._sequenceNumber-b._sequenceNumber}function f(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function g(){o.forEach(function(a){a()}),o.length=0}function h(a,c,d){p=!0,n=!1,b.timeline.currentTime=a,m=!1;var e=[],f=[],g=[],h=[];return d.forEach(function(b){b._tick(a,c),b._inEffect?(f.push(b._effect),b._markTarget()):(e.push(b._effect),b._unmarkTarget()),b._needsTick&&(m=!0);var d=b._inEffect||b._needsTick;b._inTimeline=d,d?g.push(b):h.push(b)}),o.push.apply(o,e),o.push.apply(o,f),m&&requestAnimationFrame(function(){}),p=!1,[g,h]}var i=window.requestAnimationFrame,j=[],k=0;window.requestAnimationFrame=function(a){var b=k++;return 0==j.length&&i(d),j.push([b,a]),b},window.cancelAnimationFrame=function(a){j.forEach(function(b){b[0]==a&&(b[1]=function(){})})},f.prototype={_play:function(c){c._timing=a.normalizeTimingInput(c.timing);var d=new b.Animation(c);return d._idle=!1,d._timeline=this,this._animations.push(d),b.restart(),b.applyDirtiedAnimation(d),d}};var l=void 0,m=!1,n=!1;b.restart=function(){return m||(m=!0,requestAnimationFrame(function(){}),n=!0),n},b.applyDirtiedAnimation=function(a){if(!p){a._markTarget();var c=a._targetAnimations();c.sort(e),h(b.timeline.currentTime,!1,c.slice())[1].forEach(function(a){var b=q._animations.indexOf(a);-1!==b&&q._animations.splice(b,1)}),g()}};var o=[],p=!1,q=new f;b.timeline=q}(c,d),function(a,b){function c(a,b){for(var c=0,d=0;d<a.length;d++)c+=a[d]*b[d];return c}function d(a,b){return[a[0]*b[0]+a[4]*b[1]+a[8]*b[2]+a[12]*b[3],a[1]*b[0]+a[5]*b[1]+a[9]*b[2]+a[13]*b[3],a[2]*b[0]+a[6]*b[1]+a[10]*b[2]+a[14]*b[3],a[3]*b[0]+a[7]*b[1]+a[11]*b[2]+a[15]*b[3],a[0]*b[4]+a[4]*b[5]+a[8]*b[6]+a[12]*b[7],a[1]*b[4]+a[5]*b[5]+a[9]*b[6]+a[13]*b[7],a[2]*b[4]+a[6]*b[5]+a[10]*b[6]+a[14]*b[7],a[3]*b[4]+a[7]*b[5]+a[11]*b[6]+a[15]*b[7],a[0]*b[8]+a[4]*b[9]+a[8]*b[10]+a[12]*b[11],a[1]*b[8]+a[5]*b[9]+a[9]*b[10]+a[13]*b[11],a[2]*b[8]+a[6]*b[9]+a[10]*b[10]+a[14]*b[11],a[3]*b[8]+a[7]*b[9]+a[11]*b[10]+a[15]*b[11],a[0]*b[12]+a[4]*b[13]+a[8]*b[14]+a[12]*b[15],a[1]*b[12]+a[5]*b[13]+a[9]*b[14]+a[13]*b[15],a[2]*b[12]+a[6]*b[13]+a[10]*b[14]+a[14]*b[15],a[3]*b[12]+a[7]*b[13]+a[11]*b[14]+a[15]*b[15]]}function e(a){var b=a.rad||0;return((a.deg||0)/360+(a.grad||0)/400+(a.turn||0))*(2*Math.PI)+b}function f(a){switch(a.t){case\"rotatex\":var b=e(a.d[0]);return[1,0,0,0,0,Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1];case\"rotatey\":var b=e(a.d[0]);return[Math.cos(b),0,-Math.sin(b),0,0,1,0,0,Math.sin(b),0,Math.cos(b),0,0,0,0,1];case\"rotate\":case\"rotatez\":var b=e(a.d[0]);return[Math.cos(b),Math.sin(b),0,0,-Math.sin(b),Math.cos(b),0,0,0,0,1,0,0,0,0,1];case\"rotate3d\":var c=a.d[0],d=a.d[1],f=a.d[2],b=e(a.d[3]),g=c*c+d*d+f*f;if(0===g)c=1,d=0,f=0;else if(1!==g){var h=Math.sqrt(g);c/=h,d/=h,f/=h}var i=Math.sin(b/2),j=i*Math.cos(b/2),k=i*i;return[1-2*(d*d+f*f)*k,2*(c*d*k+f*j),2*(c*f*k-d*j),0,2*(c*d*k-f*j),1-2*(c*c+f*f)*k,2*(d*f*k+c*j),0,2*(c*f*k+d*j),2*(d*f*k-c*j),1-2*(c*c+d*d)*k,0,0,0,0,1];case\"scale\":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,1,0,0,0,0,1];case\"scalex\":return[a.d[0],0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];case\"scaley\":return[1,0,0,0,0,a.d[0],0,0,0,0,1,0,0,0,0,1];case\"scalez\":return[1,0,0,0,0,1,0,0,0,0,a.d[0],0,0,0,0,1];case\"scale3d\":return[a.d[0],0,0,0,0,a.d[1],0,0,0,0,a.d[2],0,0,0,0,1];case\"skew\":var l=e(a.d[0]),m=e(a.d[1]);return[1,Math.tan(m),0,0,Math.tan(l),1,0,0,0,0,1,0,0,0,0,1];case\"skewx\":var b=e(a.d[0]);return[1,0,0,0,Math.tan(b),1,0,0,0,0,1,0,0,0,0,1];case\"skewy\":var b=e(a.d[0]);return[1,Math.tan(b),0,0,0,1,0,0,0,0,1,0,0,0,0,1];case\"translate\":var c=a.d[0].px||0,d=a.d[1].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,d,0,1];case\"translatex\":var c=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,0,0,1];case\"translatey\":var d=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,d,0,1];case\"translatez\":var f=a.d[0].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,f,1];case\"translate3d\":var c=a.d[0].px||0,d=a.d[1].px||0,f=a.d[2].px||0;return[1,0,0,0,0,1,0,0,0,0,1,0,c,d,f,1];case\"perspective\":return[1,0,0,0,0,1,0,0,0,0,1,a.d[0].px?-1/a.d[0].px:0,0,0,0,1];case\"matrix\":return[a.d[0],a.d[1],0,0,a.d[2],a.d[3],0,0,0,0,1,0,a.d[4],a.d[5],0,1];case\"matrix3d\":return a.d}}function g(a){return 0===a.length?[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]:a.map(f).reduce(d)}function h(a){return[i(g(a))]}var i=function(){function a(a){return a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0]}function b(b){for(var c=1/a(b),d=b[0][0],e=b[0][1],f=b[0][2],g=b[1][0],h=b[1][1],i=b[1][2],j=b[2][0],k=b[2][1],l=b[2][2],m=[[(h*l-i*k)*c,(f*k-e*l)*c,(e*i-f*h)*c,0],[(i*j-g*l)*c,(d*l-f*j)*c,(f*g-d*i)*c,0],[(g*k-h*j)*c,(j*e-d*k)*c,(d*h-e*g)*c,0]],n=[],o=0;o<3;o++){for(var p=0,q=0;q<3;q++)p+=b[3][q]*m[q][o];n.push(p)}return n.push(1),m.push(n),m}function d(a){return[[a[0][0],a[1][0],a[2][0],a[3][0]],[a[0][1],a[1][1],a[2][1],a[3][1]],[a[0][2],a[1][2],a[2][2],a[3][2]],[a[0][3],a[1][3],a[2][3],a[3][3]]]}function e(a,b){for(var c=[],d=0;d<4;d++){for(var e=0,f=0;f<4;f++)e+=a[f]*b[f][d];c.push(e)}return c}function f(a){var b=g(a);return[a[0]/b,a[1]/b,a[2]/b]}function g(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2])}function h(a,b,c,d){return[c*a[0]+d*b[0],c*a[1]+d*b[1],c*a[2]+d*b[2]]}function i(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function j(j){var k=[j.slice(0,4),j.slice(4,8),j.slice(8,12),j.slice(12,16)];if(1!==k[3][3])return null;for(var l=[],m=0;m<4;m++)l.push(k[m].slice());for(var m=0;m<3;m++)l[m][3]=0;if(0===a(l))return null;var n,o=[];k[0][3]||k[1][3]||k[2][3]?(o.push(k[0][3]),o.push(k[1][3]),o.push(k[2][3]),o.push(k[3][3]),n=e(o,d(b(l)))):n=[0,0,0,1];var p=k[3].slice(0,3),q=[];q.push(k[0].slice(0,3));var r=[];r.push(g(q[0])),q[0]=f(q[0]);var s=[];q.push(k[1].slice(0,3)),s.push(c(q[0],q[1])),q[1]=h(q[1],q[0],1,-s[0]),r.push(g(q[1])),q[1]=f(q[1]),s[0]/=r[1],q.push(k[2].slice(0,3)),s.push(c(q[0],q[2])),q[2]=h(q[2],q[0],1,-s[1]),s.push(c(q[1],q[2])),q[2]=h(q[2],q[1],1,-s[2]),r.push(g(q[2])),q[2]=f(q[2]),s[1]/=r[2],s[2]/=r[2];var t=i(q[1],q[2]);if(c(q[0],t)<0)for(var m=0;m<3;m++)r[m]*=-1,q[m][0]*=-1,q[m][1]*=-1,q[m][2]*=-1;var u,v,w=q[0][0]+q[1][1]+q[2][2]+1;return w>1e-4?(u=.5/Math.sqrt(w),v=[(q[2][1]-q[1][2])*u,(q[0][2]-q[2][0])*u,(q[1][0]-q[0][1])*u,.25/u]):q[0][0]>q[1][1]&&q[0][0]>q[2][2]?(u=2*Math.sqrt(1+q[0][0]-q[1][1]-q[2][2]),v=[.25*u,(q[0][1]+q[1][0])/u,(q[0][2]+q[2][0])/u,(q[2][1]-q[1][2])/u]):q[1][1]>q[2][2]?(u=2*Math.sqrt(1+q[1][1]-q[0][0]-q[2][2]),v=[(q[0][1]+q[1][0])/u,.25*u,(q[1][2]+q[2][1])/u,(q[0][2]-q[2][0])/u]):(u=2*Math.sqrt(1+q[2][2]-q[0][0]-q[1][1]),v=[(q[0][2]+q[2][0])/u,(q[1][2]+q[2][1])/u,.25*u,(q[1][0]-q[0][1])/u]),[p,r,s,v,n]}return j}();a.dot=c,a.makeMatrixDecomposition=h,a.transformListToMatrix=g}(d),function(a){function b(a,b){var c=a.exec(b);if(c)return c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]}function c(a,b){b=b.replace(/^\\s*/,\"\");var c=a(b);if(c)return[c[0],c[1].replace(/^\\s*/,\"\")]}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],!(g=b(d,e))||\"\"==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;d<b.length&&(!/\\s|,/.test(b[d])||0!=c);d++)if(\"(\"==b[d])c++;else if(\")\"==b[d]&&(c--,0==c&&d++,c<=0))break;var e=a(b.substr(0,d));return void 0==e?void 0:[e,b.substr(d)]}function f(a,b){for(var c=a,d=b;c&&d;)c>d?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e<b.length;e++){var f=a.consumeTrimmed(b[e],c);if(!f||\"\"==f[0])return;void 0!==f[0]&&d.push(f[0]),c=f[1]}if(\"\"==c)return d}function j(a,b,c,d,e){for(var g=[],h=[],i=[],j=f(d.length,e.length),k=0;k<j;k++){var l=b(d[k%d.length],e[k%e.length]);if(!l)return;g.push(l[0]),h.push(l[1]),i.push(l[2])}return[g,h,function(b){var d=b.map(function(a,b){return i[b](a)}).join(c);return a?a(d):d}]}function k(a,b,c){for(var d=[],e=[],f=[],g=0,h=0;h<c.length;h++)if(\"function\"==typeof c[h]){var i=c[h](a[g],b[g++]);d.push(i[0]),e.push(i[1]),f.push(i[2])}else!function(a){d.push(!1),e.push(!1),f.push(function(){return c[a]})}(h);return[d,e,function(a){for(var b=\"\",c=0;c<a.length;c++)b+=f[c](a[c]);return b}]}a.consumeToken=b,a.consumeTrimmed=c,a.consumeRepeated=d,a.consumeParenthesised=e,a.ignore=g,a.optional=h,a.consumeList=i,a.mergeNestedRepeated=j.bind(null,null),a.mergeWrappedNestedRepeated=j,a.mergeList=k}(d),function(a){function b(b){function c(b){var c=a.consumeToken(/^inset/i,b);if(c)return d.inset=!0,c;var c=a.consumeLengthOrPercent(b);if(c)return d.lengths.push(c[0]),c;var c=a.consumeColor(b);return c?(d.color=c[0],c):void 0}var d={inset:!1,lengths:[],color:null},e=a.consumeRepeated(c,/^/,b);if(e&&e[0].length)return[d,e[1]]}function c(c){var d=a.consumeRepeated(b,/^,/,c);if(d&&\"\"==d[1])return d[0]}function d(b,c){for(;b.lengths.length<Math.max(b.lengths.length,c.lengths.length);)b.lengths.push({px:0});for(;c.lengths.length<Math.max(b.lengths.length,c.lengths.length);)c.lengths.push({px:0});if(b.inset==c.inset&&!!b.color==!!c.color){for(var d,e=[],f=[[],0],g=[[],0],h=0;h<b.lengths.length;h++){var i=a.mergeDimensions(b.lengths[h],c.lengths[h],2==h);f[0].push(i[0]),g[0].push(i[1]),e.push(i[2])}if(b.color&&c.color){var j=a.mergeColors(b.color,c.color);f[1]=j[0],g[1]=j[1],d=j[2]}return[f,g,function(a){for(var c=b.inset?\"inset \":\" \",f=0;f<e.length;f++)c+=e[f](a[0][f])+\" \";return d&&(c+=d(a[1])),c}]}}function e(b,c,d,e){function f(a){return{inset:a,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var g=[],h=[],i=0;i<d.length||i<e.length;i++){var j=d[i]||f(e[i].inset),k=e[i]||f(d[i].inset);g.push(j),h.push(k)}return a.mergeNestedRepeated(b,c,g,h)}var f=e.bind(null,d,\", \");a.addPropertiesHandler(c,f,[\"box-shadow\",\"text-shadow\"])}(d),function(a,b){function c(a){return a.toFixed(3).replace(/0+$/,\"\").replace(/\\.$/,\"\")}function d(a,b,c){return Math.min(b,Math.max(a,c))}function e(a){if(/^\\s*[-+]?(\\d*\\.)?\\d+\\s*$/.test(a))return Number(a)}function f(a,b){return[a,b,c]}function g(a,b){if(0!=a)return i(0,1/0)(a,b)}function h(a,b){return[a,b,function(a){return Math.round(d(1,1/0,a))}]}function i(a,b){return function(e,f){return[e,f,function(e){return c(d(a,b,e))}]}}function j(a){var b=a.trim().split(/\\s*[\\s,]\\s*/);if(0!==b.length){for(var c=[],d=0;d<b.length;d++){var f=e(b[d]);if(void 0===f)return;c.push(f)}return c}}function k(a,b){if(a.length==b.length)return[a,b,function(a){return a.map(c).join(\" \")}]}function l(a,b){return[a,b,Math.round]}a.clamp=d,a.addPropertiesHandler(j,k,[\"stroke-dasharray\"]),a.addPropertiesHandler(e,i(0,1/0),[\"border-image-width\",\"line-height\"]),a.addPropertiesHandler(e,i(0,1),[\"opacity\",\"shape-image-threshold\"]),a.addPropertiesHandler(e,g,[\"flex-grow\",\"flex-shrink\"]),a.addPropertiesHandler(e,h,[\"orphans\",\"widows\"]),a.addPropertiesHandler(e,l,[\"z-index\"]),a.parseNumber=e,a.parseNumberList=j,a.mergeNumbers=f,a.numberToString=c}(d),function(a,b){function c(a,b){if(\"visible\"==a||\"visible\"==b)return[0,1,function(c){return c<=0?a:c>=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(d),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(d),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h<g.length;)g[h].test(f)?(f=f.replace(g[h],\"$1\"),h=0):h++;if(\"D\"==f){for(var i in d){var j=c(b.replace(new RegExp(\"U\"+i,\"g\"),\"\").replace(new RegExp(e,\"g\"),\"*0\"));if(!isFinite(j))return;d[i]=j}return d}}}function e(a,b){return f(a,b,!0)}function f(b,c,d){var e,f=[];for(e in b)f.push(e);for(e in c)f.indexOf(e)<0&&f.push(e);return b=f.map(function(a){return b[a]||0}),c=f.map(function(a){return c[a]||0}),[b,c,function(b){var c=b.map(function(c,e){return 1==b.length&&d&&(c=Math.max(c,0)),a.numberToString(c)+f[e]}).join(\" + \");return b.length>1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(d),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(d),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length<i.length)return;for(var k=[],o=0;o<j.length;o++){var p,q=i[o],r=j[o];if(void 0===(p=q?{A:function(b){return\"0\"==b.trim()?m:a.parseAngle(b)},N:a.parseNumber,T:a.parseLengthOrPercent,L:a.parseLength}[r.toUpperCase()](q):{a:m,n:k[0],t:l}[r]))return;k.push(p)}if(e.push({t:g,d:k}),d.lastIndex==b.length)return e}}function f(a){return a.toFixed(6).replace(\".000000\",\"\")}function g(b,c){if(b.decompositionPair!==c){b.decompositionPair=c;var d=a.makeMatrixDecomposition(b)}if(c.decompositionPair!==b){c.decompositionPair=b;var e=a.makeMatrixDecomposition(c)}return null==d[0]||null==e[0]?[[!1],[!0],function(a){return a?c[0].d:b[0].d}]:(d[0].push(0),e[0].push(1),[d,e,function(b){var c=a.quat(d[0][3],e[0][3],b[5]);return a.composeMatrix(b[0],b[1],b[2],c,b[4]).map(f).join(\",\")}])}function h(a){return a.replace(/[xy]/,\"\")}function i(a){return a.replace(/(x|y|z|3d)?$/,\"3d\")}function j(b,c){var d=a.makeMatrixDecomposition&&!0,e=!1;if(!b.length||!c.length){b.length||(e=!0,b=c,c=[]);for(var f=0;f<b.length;f++){var j=b[f].t,k=b[f].d,l=\"scale\"==j.substr(0,5)?1:0;c.push({t:j,d:k.map(function(a){if(\"number\"==typeof a)return l;var b={};for(var c in a)b[c]=l;return b})})}}var m=function(a,b){return\"perspective\"==a&&\"perspective\"==b||(\"matrix\"==a||\"matrix3d\"==a)&&(\"matrix\"==b||\"matrix3d\"==b)},o=[],p=[],q=[];if(b.length!=c.length){if(!d)return;var r=g(b,c);o=[r[0]],p=[r[1]],q=[[\"matrix\",[r[2]]]]}else for(var f=0;f<b.length;f++){var j,s=b[f].t,t=c[f].t,u=b[f].d,v=c[f].d,w=n[s],x=n[t];if(m(s,t)){if(!d)return;var r=g([b[f]],[c[f]]);o.push(r[0]),p.push(r[1]),q.push([\"matrix\",[r[2]]])}else{if(s==t)j=s;else if(w[2]&&x[2]&&h(s)==h(t))j=h(s),u=w[2](u),v=x[2](v);else{if(!w[1]||!x[1]||i(s)!=i(t)){if(!d)return;var r=g(b,c);o=[r[0]],p=[r[1]],q=[[\"matrix\",[r[2]]]];break}j=i(s),u=w[1](u),v=x[1](v)}for(var y=[],z=[],A=[],B=0;B<u.length;B++){var C=\"number\"==typeof u[B]?a.mergeNumbers:a.mergeDimensions,r=C(u[B],v[B]);y[B]=r[0],z[B]=r[1],A.push(r[2])}o.push(y),p.push(z),q.push([j,A])}}if(e){var D=o;o=p,p=D}return[o,p,function(a){return a.map(function(a,b){var c=a.map(function(a,c){return q[b][1][c](a)}).join(\",\");return\"matrix\"==q[b][0]&&16==c.split(\",\").length&&(q[b][0]=\"matrix3d\"),q[b][0]+\"(\"+c+\")\"}).join(\" \")}]}var k=null,l={px:0},m={deg:0},n={matrix:[\"NNNNNN\",[k,k,0,0,k,k,0,0,0,0,1,0,k,k,0,1],d],matrix3d:[\"NNNNNNNNNNNNNNNN\",d],rotate:[\"A\"],rotatex:[\"A\"],rotatey:[\"A\"],rotatez:[\"A\"],rotate3d:[\"NNNA\"],perspective:[\"L\"],scale:[\"Nn\",c([k,k,1]),d],scalex:[\"N\",c([k,1,1]),c([k,1])],scaley:[\"N\",c([1,k,1]),c([1,k])],scalez:[\"N\",c([1,1,k])],scale3d:[\"NNN\",d],skew:[\"Aa\",null,d],skewx:[\"A\",null,c([k,m])],skewy:[\"A\",null,c([m,k])],translate:[\"Tt\",c([k,k,l]),d],translatex:[\"T\",c([k,l,l]),c([k,l])],translatey:[\"T\",c([l,k,l]),c([l,k])],translatez:[\"L\",c([l,l,k])],translate3d:[\"TTL\",d]};a.addPropertiesHandler(e,j,[\"transform\"]),a.transformToSvgMatrix=function(b){var c=a.transformListToMatrix(e(b));return\"matrix(\"+f(c[0])+\" \"+f(c[1])+\" \"+f(c[4])+\" \"+f(c[5])+\" \"+f(c[12])+\" \"+f(c[13])+\")\"}}(d),function(a){function b(a){var b=Number(a);if(!(isNaN(b)||b<100||b>900||b%100!=0))return b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?\"normal\":700===b?\"bold\":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,[\"font-weight\"])}(d),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&\"\"==e[1]){var f=e[0];if(f[0]=f[0]||\"center\",f[1]=f[1]||\"center\",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return\"object\"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{\"%\":50},{\"%\":50}],i=0,j=!1,k=0;k<f.length;k++){var l=f[k];\"string\"==typeof l?(j=/bottom|right/.test(l),i={left:0,right:0,center:i,top:1,bottom:1}[l],h[i]=g[l],\"center\"==l&&i++):(j&&(l=b(l),l[\"%\"]=(l[\"%\"]||0)+100),h[i]=l,i++,j=!1)}return[h,e[1]]}}function f(b){var c=a.consumeRepeated(e,/^,/,b);if(c&&\"\"==c[1])return c[0]}var g={left:{\"%\":0},center:{\"%\":50},right:{\"%\":100},top:{\"%\":0},bottom:{\"%\":100}},h=a.mergeNestedRepeated.bind(null,a.mergeDimensions,\" \");a.addPropertiesHandler(d.bind(null,3),h,[\"transform-origin\"]),a.addPropertiesHandler(d.bind(null,2),h,[\"perspective-origin\"]),a.consumePosition=e,a.mergeOffsetList=h;var i=a.mergeNestedRepeated.bind(null,h,\", \");a.addPropertiesHandler(f,i,[\"background-position\",\"object-position\"])}(d),function(a){function b(b){var c=a.consumeToken(/^circle/,b);if(c&&c[0])return[\"circle\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),d,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],c[1]));var f=a.consumeToken(/^ellipse/,b);if(f&&f[0])return[\"ellipse\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),e,a.ignore(a.consumeToken.bind(void 0,/^at/)),a.consumePosition,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],f[1]));var g=a.consumeToken(/^polygon/,b);return g&&g[0]?[\"polygon\"].concat(a.consumeList([a.ignore(a.consumeToken.bind(void 0,/^\\(/)),a.optional(a.consumeToken.bind(void 0,/^nonzero\\s*,|^evenodd\\s*,/),\"nonzero,\"),a.consumeSizePairList,a.ignore(a.consumeToken.bind(void 0,/^\\)/))],g[1])):void 0}function c(b,c){if(b[0]===c[0])return\"circle\"==b[0]?a.mergeList(b.slice(1),c.slice(1),[\"circle(\",a.mergeDimensions,\" at \",a.mergeOffsetList,\")\"]):\"ellipse\"==b[0]?a.mergeList(b.slice(1),c.slice(1),[\"ellipse(\",a.mergeNonNegativeSizePair,\" at \",a.mergeOffsetList,\")\"]):\"polygon\"==b[0]&&b[1]==c[1]?a.mergeList(b.slice(2),c.slice(2),[\"polygon(\",b[1],g,\")\"]):void 0}var d=a.consumeParenthesised.bind(null,a.parseLengthOrPercent),e=a.consumeRepeated.bind(void 0,d,/^/),f=a.mergeNestedRepeated.bind(void 0,a.mergeDimensions,\" \"),g=a.mergeNestedRepeated.bind(void 0,f,\",\");a.addPropertiesHandler(b,c,[\"shape-outside\"])}(d),function(a,b){function c(a,b){b.concat([a]).forEach(function(b){b in document.documentElement.style&&(d[a]=b),e[b]=a})}var d={},e={};c(\"transform\",[\"webkitTransform\",\"msTransform\"]),c(\"transformOrigin\",[\"webkitTransformOrigin\"]),c(\"perspective\",[\"webkitPerspective\"]),c(\"perspectiveOrigin\",[\"webkitPerspectiveOrigin\"]),a.propertyName=function(a){return d[a]||a},a.unprefixedPropertyName=function(a){return e[a]||a}}(d)}(),function(){if(void 0===document.createElement(\"div\").animate([]).oncancel){var a;if(window.performance&&performance.now)var a=function(){return performance.now()};else var a=function(){return Date.now()};var b=function(a,b,c){this.target=a,this.currentTime=b,this.timelineTime=c,this.type=\"cancel\",this.bubbles=!1,this.cancelable=!1,this.currentTarget=a,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()},c=window.Element.prototype.animate;window.Element.prototype.animate=function(d,e){var f=c.call(this,d,e);f._cancelHandlers=[],f.oncancel=null;var g=f.cancel;f.cancel=function(){g.call(this);var c=new b(this,null,a()),d=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){d.forEach(function(a){a.call(c.target,c)})},0)};var h=f.addEventListener;f.addEventListener=function(a,b){\"function\"==typeof b&&\"cancel\"==a?this._cancelHandlers.push(b):h.call(this,a,b)};var i=f.removeEventListener;return f.removeEventListener=function(a,b){if(\"cancel\"==a){var c=this._cancelHandlers.indexOf(b);c>=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(c),b.true=a}({},function(){return this}());\n//# sourceMappingURL=web-animations.min.js.map",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/lib/web-animations.js",
"module-type": "library"
},
"$:/plugins/BurningTreeC/muuritouch/modules/storyviews/muuri.js": {
"text": "/*\\\ntitle: $:/plugins/BTC/tiddly-touch/storyviews/muuri.js\ntype: application/javascript\nmodule-type: storyview\n\nStory view that cooperates with the Muuri grid layout engine\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\n\nvar MuuriStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nMuuriStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\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 instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nMuuriStoryView.prototype.insert = function(widget) {\n\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\n var targetElementIndex = this.listWidget.findListItem(0,widget.parseTreeNode.itemTitle);\n\n this.addGridItem(targetElement, { instant: true, index: targetElementIndex });\n};\n\nMuuriStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\n this.removeGridItem(targetElement, { instant: true, removeElements: true });\n};\n\nMuuriStoryView.prototype.grid = function(targetElement) {\n var grid = targetElement.parentNode;\n\n if (!(grid instanceof Element)) {\n $tw.utils.error(\"MuuriStoryView couldn't find grid for \" + targetElement.getAttribute('class'));\n }\n\n return grid;\n};\n\nMuuriStoryView.prototype.addGridItem = function(targetElement, options) {\n var grid = this.grid(targetElement);\n\n grid.add(targetElement, options);\n};\n\nMuuriStoryView.prototype.removeGridItem = function(targetElement, options) {\n var grid = this.grid(targetElement);\n\n grid.remove(targetElement, options);\n};\n\nexports.muuri = MuuriStoryView;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/modules/storyviews/muuri.js",
"module-type": "storyview"
},
"$:/plugins/BurningTreeC/muuritouch/modules/utils/resize-listener.js": {
"text": "/*\\\ntitle: $:/plugins/BurningTreeC/muuritouch/modules/utils/resize-listener.js\ntype: application/javascript\nmodule-type: utils\n\nStory view that cooperates with the Muuri grid layout engine\n\n\\*/\n(function(){ if (typeof window !== 'undefined') {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar attachEvent = document.attachEvent;\nvar isIE = navigator.userAgent.match(/Trident/);\n\nvar requestFrame = (function(){\n\tvar raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||\n\t\t\tfunction(fn){ return window.setTimeout(fn, 20); };\n\treturn function(fn){ return raf(fn); };\n})();\n\nvar cancelFrame = (function(){\n\tvar cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame ||\n\t\t\t\t window.clearTimeout;\n\treturn function(id){ return cancel(id); };\n})();\n\nfunction resizeListener(e){\n\tvar win = e.target || e.srcElement;\n\tif (win.__resizeRAF__) cancelFrame(win.__resizeRAF__);\n\twin.__resizeRAF__ = requestFrame(function(){\n\t\tvar trigger = win.__resizeTrigger__;\n if (trigger !== undefined && trigger.__resizeListeners__ !== undefined) {\n\t\ttrigger.__resizeListeners__.forEach(function(fn){\n\t\t\tfn.call(trigger, e);\n\t\t});\n }\n\t});\n}\n\nfunction objectLoad(e){\n\tthis.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__;\n\tthis.contentDocument.defaultView.addEventListener('resize', resizeListener);\n}\n\nexports.addResizeListener = function(element, fn){\n\tif (!element.__resizeListeners__) {\n\t\telement.__resizeListeners__ = [];\n\t\tif (attachEvent) {\n\t\t\telement.__resizeTrigger__ = element;\n\t\t\telement.attachEvent('onresize', resizeListener);\n\t\t}\n\t\telse {\n\t\t\tif (getComputedStyle(element).position == 'static') element.style.position = 'relative';\n\t\t\tvar obj = element.__resizeTrigger__ = document.createElement('object');\n\t\t\tobj.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n\t\t\tobj.__resizeElement__ = element;\n\t\t\tobj.onload = objectLoad;\n\t\t\tobj.type = 'text/html';\n\t\t\tif (isIE) element.appendChild(obj);\n\t\t\tobj.data = 'about:blank';\n\t\t\tif (!isIE) element.appendChild(obj);\n\t\t}\n\t}\n\telement.__resizeListeners__.push(fn);\n};\n\nexports.removeResizeListener = function(element, fn){\n\telement.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n\tif (!element.__resizeListeners__.length) {\n\t\tif (attachEvent) element.detachEvent('onresize', resizeListener);\n\t\telse {\n\t\t\telement.__resizeTrigger__.contentDocument.defaultView.removeEventListener('resize', resizeListener);\n\t\t\telement.__resizeTrigger__ = !element.removeChild(element.__resizeTrigger__);\n\t\t}\n\t}\n};\n\n}})();\n",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/modules/utils/resize-listener.js",
"module-type": "utils"
},
"$:/plugins/BurningTreeC/muuritouch/modules/widgets/muuri.js": {
"text": "/*\\\ntitle: $:/plugins/BurningTreeC/muuritouch/modules/widgets/muuri.js\ntype: application/javascript\nmodule-type: widget\n\nPackery cascading grid layout widget\n\n\\*/\n(function (global) {\n\n\t\"use strict\";\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\n\tvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n\tif (typeof window !== 'undefined') {\n\t\tvar Muuri = require(\"$:/plugins/BurningTreeC/muuritouch/lib/muuri.js\");\n\t\tvar Hammer = require(\"$:/plugins/tiddlywiki/hammerjs/hammer.js\");\n\t}\n\n\tvar MuuriWidget = function(parseTreeNode,options) {\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n/*\nInherit from the base widget class\n*/\nMuuriWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMuuriWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\n\t// Insert DOM node\n\tvar domNode = this.document.createElement(\"section\");\n\tdomNode.setAttribute(\"class\",\"tc-muuri-grid\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\n\tthis.renderChildren(domNode,null);\n\n\tthis.animationDuration = $tw.utils.getAnimationDuration();\n\tthis.horizontalLayout = $tw.wiki.getTiddlerText(\"$:/config/MuuriTouch/horizontal\") === \"yes\";\n\n\tfunction identifyMuuriGrid(elementName) {\n\t\tvar element = elementName;\n\t\twhile ((element = element.parentNode) && element.isMuuriGrid === undefined);\n\t\t\treturn element;\n\t};\n\n\tvar findAncestor = function(elementName,className) {\n\t\tif(elementName.classList.contains(className)) {\n\t\t\treturn elementName;\n\t\t}\n\t\twhile ((elementName = elementName.parentElement) && !elementName.classList.contains(className));\n\t\t\treturn elementName;\n\t}\n\n\tthis.parentDomNode.isMuuriGrid = true;\n\n\tthis.muuri = new Muuri(domNode, {\n\t\titems: '.' + self.muuriElementClass,\n\t\tdragEnabled: true,\n\t\tshowDuration: 0,\n\t\thideDuration: 0,\n\t\tlayoutDuration: self.animationDuration,\n\t\tlayoutOnResize: true,\n\t\tlayout: {\n\t\t\tfillGaps: false,\n\t\t\thorizontal: self.horizontalLayout,\n\t\t\trounding: false\n\t\t},\n\t\tdragStartPredicate: function (item, e) {\n\t\t\tvar tiddlerTitle = item._element.dataset.tiddlerTitle;\n\t\t\tif($tw.wiki.tiddlerExists(\"$:/temp/muuri/select-text\")) {\n\t\t\tif($tw.wiki.getTiddlerText(\"$:/temp/current-tiddler\") !== tiddlerTitle) {\n\t\t\t\tself.setField(\"$:/temp/current-tiddler\",\"text\",tiddlerTitle);\n\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif(e.target && ((e.target.tagName && (e.target.tagName === \"INPUT\" ||\n\t\t\t\te.target.tagName === \"input\" || e.target.tagName === \"textarea\" ||\n\t\t\t\te.target.tagName === \"TEXTAREA\")) ||\n\t\t\t\te.target.classList.contains(\"CodeMirror-lines\") ||\n\t\t\t\te.target.classList.contains(\"CodeMirror-line\") ||\n\t\t\t\t(e.target.offsetParent && e.target.offsetParent.classList.contains(\"CodeMirror-line\")) ||\n\t\t\t\t(e.target.offsetParent && e.target.offsetParent.classList.contains(\"CodeMirror-lines\")))) {\n\t\t\t\treturn false;\n\t\t\t} else if(e.target.classList.contains(\"tc-muuri-tiddler-resize-div\")) {\n\t\t\t\treturn false;\n\t\t\t} \n\t\t\tvar testForThisGrid = identifyMuuriGrid(e.target);\n\t\t\tif(testForThisGrid !== self.parentDomNode) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar findTag = findAncestor(e.target,\"tc-tag-label\");\n\t\t\tif(findTag !== null && findTag.classList && findTag.classList.contains(\"tc-tag-label\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar findCanvas = findAncestor(e.target,\"tc-edit-bitmapeditor\");\n\t\t\tif(findCanvas !== null && findCanvas.classList && findCanvas.classList.contains(\"tc-edit-bitmapeditor\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar findTiddlerControls = findAncestor(e.target,\"tc-tiddler-controls\");\n\t\t\tif(findTiddlerControls !== null && findTiddlerControls.classList && findTiddlerControls.classList.contains(\"tc-tiddler-controls\")) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsetTimeout(function() {\n\t\t\tif (!item.isDragging()) {\n\t\t\t\tif($tw.wiki.getTiddlerText(\"$:/temp/current-tiddler\") !== tiddlerTitle) {\n\t\t\t\t\tself.setField(\"$:/temp/current-tiddler\",\"text\",tiddlerTitle);\n\t\t\t\t}\n\t\t\t}\n\t\t},200);\n\t\t\tif(e.distance > 20) {\n\t\t\t\te.distance = 0;\n\t\t\t\te.deltaX = 0;\n\t\t\t\te.deltaY = 0;\n\t\t\t\treturn Muuri.ItemDrag.defaultStartPredicate(item, e);\n\t\t\t}\n\t\t},\n\t\tcontainerClass: self.muuriContainerClass,\n\t\titemClass: self.muuriElementClass,\n\t\titemDraggingClass: 'tc-muuri-dragging',\n\t\titemReleasingClass: 'tc-muuri-releasing',\n\t\titemPositioningClass: 'tc-muuri-positioning'\n\t});\n\n\tthis.muuri._settings.dragSortPredicate.threshold = 30;\n\tthis.muuri._settings.dragSortPredicate.action = 'swap';\n\n\tthis.muuri.on('dragReleaseEnd', function (item) {\n\t\tvar tiddlerTitle = item._element.dataset.tiddlerTitle;\n\t\tif($tw.wiki.getTiddlerText(\"$:/temp/current-tiddler\") !== tiddlerTitle) {\n\t\t\t\t\tself.setField(\"$:/temp/current-tiddler\",\"text\",tiddlerTitle);\n\t\t\t\t}\n\t\tself.updateStoryList();\n\t});\n\n\t// add() and remove() should be invoked on the grid container by the\n\t// storyview when tiddlers get inserted or removed\n\tdomNode.add = function(elements, options) {\n\t\tself.muuri.add(elements, options);\n\t\tself.updateItemPositions(self.muuri.getItems());\n\t};\n\n\tdomNode.remove = function(elements, options) {\n\t\tself.muuri.remove(elements, options);\n\t\tself.updateItemPositions(self.muuri.getItems());\n\t};\n\n\t// Register a handler to fire when child DOM elements are added or removed.\n\tvar observer = new MutationObserver(function(mutations) {\n\n\tmutations.forEach(function(mutation) {\n\t\tif (!mutation.addedNodes) {\n\t\t\treturn;\n\t\t}\n\n\t\t\tif (mutation.type == 'childList') {\n\t\t\t\t// Register resize event handlers for new children\n\t\t\t\tself.registerMissingResizeListeners(domNode, self.muuri);\n\t\t\t\tself.updateItemPositions(self.muuri.getItems());\n\t\t\t}\n\t\t});\n\t});\n\tthis.registerMissingResizeListeners(domNode,this.muuri);\n\tthis.updateItemPositions(this.muuri.getItems());\n\tobserver.observe(domNode, { childList: true, subtree: true, attributes: true, characterData: false});\n};\n\nMuuriWidget.prototype.setField = function(tiddler,field,value) {\n\t$tw.wiki.setText(tiddler,field,undefined,value,{ suppressTimestamp: true });\n};\n\nMuuriWidget.prototype.updateStoryList = function() {\n\tvar self = this;\n\tvar items = self.muuri.getItems(),\n\t\tisActive = undefined;\n\t\tfor (var i = 0; i < items.length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tisActive = item.isDragging() ? true : false;\n\t\t\tif(isActive) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(!isActive) {\n\t\tvar storyList = $tw.wiki.getTiddlerList(self.muuriStoryList);\n\t\tvar newStoryList = [],\n\t\t\tcurrentStoryList = [],\n\t\t\thasChanged = false;\n\t\tfor (i = 0; i < items.length; i++) {\n\t\t\tvar itemTiddlerTitle = items[i]._element.dataset.tiddlerTitle;\n\t\t\tnewStoryList.push(itemTiddlerTitle);\n\t\t\tcurrentStoryList.push(storyList[i]);\n\t\t\tif(!hasChanged && newStoryList[i] !== currentStoryList[i]) {\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t\tif(itemTiddlerTitle === undefined) {\n\t\t\t\thasChanged = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\tif(hasChanged) {\n\t\t\tvar storyTiddler = $tw.wiki.getTiddler(self.muuriStoryList);\n\t\t\tself.setField(self.muuriStoryList,\"list\",newStoryList);\n\t\t\tself.updateItemPositions(items);\n\t\t\t}\n\t\t}\n\t};\n\nMuuriWidget.prototype.updateItemPositions = function(items) {\n\tvar leftItemsList = [],\n\t\tmiddleItemsList = [],\n\t\trightItemsList = [],\n\t\tviewPortWidth = window.innerWidth || document.documentElement.clientWidth;\n\n\tfor (var i=0; i < items.length; i++) {\n\t\tvar item = items[i];\n\t\tvar itemRight = item._left + item._width;\n\t\tvar tiddlerTitle = item._element.dataset.tiddlerTitle;\n\t\tif((itemRight - 500) < 0) {\n\t\t\tvar leftPositionedTiddler = $tw.wiki.getTiddler(\"$:/state/muuri/left/\" + tiddlerTitle);\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t\t{title: \"$:/state/muuri/left/\" + tiddlerTitle},\n\t\t\t\tleftPositionedTiddler));\n\t\t} else {\n\t\t\t$tw.wiki.deleteTiddler(\"$:/state/muuri/left/\" + tiddlerTitle);\n\t\t}\n\t}\n};\n/*\nEnsure that resize listeners are registered for all child widgets\n*/\nMuuriWidget.prototype.registerMissingResizeListeners = function(domNode, grid) {\n\tvar self = this;\n\tfor (var i = 0; i < domNode.children.length; i++) {\n\t\tvar item = domNode.children[i];\n\t\tif (typeof item.resizeHandler === 'undefined') {\n\t\t\tvar lastItem = false;\n\t\t\tif(i === domNode.children.length - 1) {\n\t\t\t\tlastItem = true;\n\t\t\t}\n\t\t\titem.resizeHandler = (function(item) {\n\t\t\t\treturn function() {\n\t\t\t\t\tvar tiddlerInfoPopups = $tw.wiki.filterTiddlers(\"[all[tiddlers]prefix[$:/state/popup/info]]\");\n\t\t\t\t\tif(!$tw.wiki.tiddlerExists(\"$:/state/dragging\") && !$tw.wiki.tiddlerExists(\"$:/state/popping-up\")) {\n\t\t\t\t\tgrid.hide(item, {\n\t\t\t\t\t\tlayout: true,\n\t\t\t\t\t\tinstant: true,\n\t\t\t\t\t\tonFinish: function() {\n\t\t\t\t\t\t\tgrid._refreshDimensions();\n\t\t\t\t\t\t\tgrid.refreshItems();\n\t\t\t\t\t\t\tgrid.show(item, {layout: false, instant: true});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tself.updateItemPositions(grid.getItems());\n\t\t\t\t}\n\t\t\t\t};\n\t\t\t})(item);\n\t\t\t$tw.utils.addResizeListener(item, item.resizeHandler);\n\t\t\tgrid.hide(item, {\n\t\t\t\tinstant: true,\n\t\t\t\tonFinish: function () {\n\t\t\t\t\tgrid._refreshDimensions();\n\t\t\t\t\tgrid.refreshItems();\n\t\t\t\t\tgrid.show(item, {\n\t\t\t\t\t\tlayout: false, instant: true});\n\t\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nMuuriWidget.prototype.execute = function() {\n\tthis.muuriElementClass = this.getAttribute(\"targetclass\") || \"tc-tiddler-frame\";\n\tthis.muuriContainerClass = this.getAttribute(\"class\") || \"tc-muuri-grid\";\n\tthis.muuriStoryList = this.getAttribute(\"list\") || \"$:/StoryList\";\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*/\nMuuriWidget.prototype.refresh = function(changedTiddlers) {\n\tvar self = this;\n\tif($tw.utils.hop(changedTiddlers,\"$:/config/MuuriTouch/horizontal\") || $tw.utils.hop(changedTiddlers,\"$:/config/AnimationDuration\") || $tw.utils.hop(changedTiddlers,\"$:/state/muuri/refreshtrigger\")) {\n\t\tself.refreshSelf();\n\t\treturn true;\n\t}\n\tif($tw.utils.hop(changedTiddlers,\"$:/state/sidebar\")) {\n\t\tself.muuri._refreshDimensions();\n\t\tself.muuri.refreshItems();\n\t\tself.muuri.layout(true);\n\t\treturn true;\n\t}\n\tif($tw.utils.hop(changedTiddlers,\"$:/state/dragging\")) {\n\t\tsetTimeout(function(){\n\t\tif(!$tw.wiki.tiddlerExists(\"$:/state/dragging\")) {\n\t\t\tself.muuri._refreshDimensions();\n\t\t\tself.muuri.refreshItems();\n\t\t\tself.muuri.refreshSortData();\n\t\t\tself.muuri.layout();\n\t\t\t//self.muuri.synchronize();\n\t\t\treturn true;\n\t\t}\n\t\t},self.animationDuration);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.muuri = MuuriWidget;\n\n})(this);",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/modules/widgets/muuri.js",
"module-type": "widget"
},
"$:/plugins/BurningTreeC/muuritouch/modules/widgets/resize-tiddler.js": {
"text": "/*\\\ntitle: $:/plugins/BurningTreeC/muuritouch/modules/widgets/resize-tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nresize tiddlers by dragging\n\n\\*/\n(function (global) {\n\n\"use strict\";\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nif (typeof window !== 'undefined') {\n\tvar Hammer = require(\"$:/plugins/tiddlywiki/hammerjs/hammer.js\");\n}\n\nvar PanWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPanWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPanWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\n\tvar panDomNode = this.document.createElement(\"div\");\n\tpanDomNode.setAttribute(\"class\",this.panClass);\n\tparent.insertBefore(panDomNode,nextSibling);\n\tthis.domNodes.push(panDomNode);\n\tthis.renderChildren(panDomNode,null);\n\t\n\tvar animationDuration = $tw.utils.getAnimationDuration();\n\n\tvar findAncestor = function(elementName,className) {\n\n\t\twhile ((elementName = elementName.parentElement) && !elementName.classList.contains(className));\n\t\t\treturn elementName;\n\t}\n\n\tthis.tiddlerElement = findAncestor(panDomNode,\"tc-tiddler-frame\");\n\t\n\tif(this.tiddlerElement === undefined) {\n\t\treturn false;\n\t}\n\n\tvar tiddlerElementRect = window.getComputedStyle(this.tiddlerElement);\n\tvar tiddlerElementLeft = tiddlerElementRect.left;\n\tvar tiddlerElementWidth = tiddlerElementRect.width;\n\tvar newTiddlerWidth = null;\n\tvar tiddlerTitle = this.getVariable(\"storyTiddler\");\n\tvar pattern = /^Draft of '.*'$/;\n\tif(pattern.test(tiddlerTitle)) {\n\ttiddlerTitle = tiddlerTitle.replace(/^Draft of '/g, \"\").replace(/'$/g, \"\");\n\t}\n\n\tvar hammer = new Hammer.Manager(panDomNode);\n\n\thammer.add(new Hammer.Pan({\n\t\tevent: 'pan',\n\t\tpointers: 1,\n\t\tthreshold: 0,\n\t\tdirection: Hammer.DIRECTION_ALL\n\t}));\n\n\thammer.get('pan');\n\t\n\tvar classSet = null;\n\tvar columns = $tw.wiki.getTiddlerText(\"$:/config/MuuriTouch/ColumnCount\");\n\tvar containerElement = findAncestor(self.tiddlerElement,\"tc-story-river\");\n\tvar containerWidth = containerElement.offsetWidth - (columns * 8);\n\tvar resizeStatePrefix = $tw.wiki.getTiddlerText(\"$:/config/MuuriTouch/PersistentWidths\") === \"no\" ? \"$:/state/muuri/width/\" : \"$:/saved-state/muuri/width/\";\n\tvar resizeStateTiddler = resizeStatePrefix + tiddlerTitle + \"\";\n\n\thammer.on('touchmove panstart panmove', function(e) {\n\t\t// Prevent default behaviour\n\t\te.preventDefault && e.preventDefault();\n\t\te.stopPropagation && e.stopPropagation();\n\t\t$tw.wiki.setText(\"$:/state/dragging\",\"text\",undefined,\"yes\",null);\n\t\tif(classSet === null) {\n\t\t\tself.tiddlerElement = findAncestor(panDomNode,\"tc-tiddler-frame\");\n\t\t\ttiddlerElementRect = window.getComputedStyle(self.tiddlerElement);\n\t\t\ttiddlerElementLeft = tiddlerElementRect.left;\n\t\t\ttiddlerElementWidth = tiddlerElementRect.width;\n\t\t\tcontainerElement = findAncestor(self.tiddlerElement,\"tc-story-river\");\n\t\t\tcontainerWidth = containerElement.offsetWidth - (columns * 8);\n\t\t$tw.utils.addClass(self.tiddlerElement,\"tc-muuri-dragging\");\n\t\tclassSet = \"done\";\n\t\t}\n\n\t\t//Caching values, big performance impact\n\t\tvar pointerDeltaX = e.deltaX;\n\t\t\n\t\tnewTiddlerWidth = parseInt(tiddlerElementWidth) + pointerDeltaX + \"px\";\n\t\tself.tiddlerElement.style.width = newTiddlerWidth;\n\t\tif(parseInt(newTiddlerWidth) < (containerWidth / 4) && parseInt(newTiddlerWidth) >= (containerWidth / 7)) {\n\t\t\tself.tiddlerElement.style[\"padding-left\"] = \"20px\";\n\t\t\tself.tiddlerElement.style[\"padding-right\"] = \"20px\";\n\t\t} else if (parseInt(newTiddlerWidth) < (containerWidth / 7)) {\n\t\t\tself.tiddlerElement.style[\"padding-left\"] = \"10px\";\n\t\t\tself.tiddlerElement.style[\"padding-right\"] = \"10px\";\n\t\t} else {\n\t\t\tself.tiddlerElement.style[\"padding-left\"] = \"42px\";\n\t\t\tself.tiddlerElement.style[\"padding-right\"] = \"42px\";\n\t\t}\n})\n\t.on('panend pancancel touchend mouseup', function(e) {\n\t\t// Delete the \"dragging\" state tiddler\n\t\tself.setField(resizeStateTiddler,\"text\",newTiddlerWidth);\n\t\t\n\t\tif(parseInt(newTiddlerWidth) < (containerWidth / 4) && parseInt(newTiddlerWidth) >= (containerWidth / 7)) {\n\t\t\tself.setField(resizeStateTiddler,\"low-padding\",\"yes\");\n\t\t\tself.setField(resizeStateTiddler,\"lowest-padding\",\"no\");\n\t\t} else if (parseInt(newTiddlerWidth) < (containerWidth / 7)) {\n\t\t\tself.setField(resizeStateTiddler,\"low-padding\",\"no\");\n\t\t\tself.setField(resizeStateTiddler,\"lowest-padding\",\"yes\");\n\t\t} else {\n\t\t\tself.setField(resizeStateTiddler,\"low-padding\",\"no\");\n\t\t\tself.setField(resizeStateTiddler,\"lowest-padding\",\"no\");\n\t\t}\n\t\tsetTimeout(function() {\n\t\t$tw.utils.removeClass(self.tiddlerElement,\"tc-muuri-dragging\");\n\t\tself.tiddlerElement.style.width = \"\";\n\t\tself.tiddlerElement.style[\"padding-left\"] = \"\";\n\t\tself.tiddlerElement.style[\"padding-right\"] = \"\";\n\t\t},animationDuration);\n\t\t$tw.wiki.deleteTiddler(\"$:/state/dragging\");\n\t\tself.refreshSelf();\n\t\treturn true;\n\t});\n};\n\n\n/*\nSet the computed values in the state-tiddler fields\n*/\nPanWidget.prototype.setField = function(tiddler,field,value) {\n\t$tw.wiki.setText(tiddler,field,undefined,value,{ suppressTimestamp: true });\n};\n\n/*\nCompute the internal state of the widget\n*/\nPanWidget.prototype.execute = function() {\n\tthis.panClass = this.getAttribute(\"class\", \"tc-pan-element\");\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*/\nPanWidget.prototype.refresh = function(changedTiddlers) {\n\tvar self = this;\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tself.refreshSelf();\n\t\treturn true;\n\t}\n\tif($tw.utils.hop(changedTiddlers,\"$:/config/MuuriTouch/ColumnCount\")) {\n\t\tself.refreshSelf();\n\t\t//return true;\n\t}\n\tif($tw.utils.hop(changedTiddlers,\"$:/state/sidebar\")) {\n\t\tself.refreshSelf();\n\t}\n\tif($tw.utils.hop(changedTiddlers,\"$:/config/MuuriTouch/PersistentWidths\")) {\n\t\tself.refreshSelf();\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"muuri-resize-tiddler\"] = PanWidget;\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/BurningTreeC/muuritouch/modules/widgets/resize-tiddler.js",
"module-type": "widget"
},
"$:/plugins/BurningTreeC/muuritouch/icons": {
"title": "$:/plugins/BurningTreeC/muuritouch/icons",
"columns-0": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z\"/></svg>",
"columns-1": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14h-2V9h-2V7h4v10z\"/></svg>",
"columns-2": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 8c0 1.11-.9 2-2 2h-2v2h4v2H9v-4c0-1.11.9-2 2-2h2V9H9V7h4c1.1 0 2 .89 2 2v2z\"/></svg>",
"columns-3": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19.01 3h-14c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 7.5c0 .83-.67 1.5-1.5 1.5.83 0 1.5.67 1.5 1.5V15c0 1.11-.9 2-2 2h-4v-2h4v-2h-2v-2h2V9h-4V7h4c1.1 0 2 .89 2 2v1.5z\"/></svg>",
"columns-4": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 14h-2v-4H9V7h2v4h2V7h2v10z\"/></svg>",
"columns-5": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2H9v-2h4v-2H9V7h6v2z\"/></svg>",
"columns-6": "<svg class=\"tc-image-button tc-muuri-columns-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\">><path d=\"M11 15h2v-2h-2v2zm8-12H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-4v2h2c1.1 0 2 .89 2 2v2c0 1.11-.9 2-2 2h-2c-1.1 0-2-.89-2-2V9c0-1.11.9-2 2-2h4v2z\"/></svg>",
"visibility-visible": "<svg class=\"tc-image-button\" width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"/></svg>",
"visibility-off": "<svg class=<<get-visibility-classes>> width=\"24pt\" height=\"24pt\" viewBox=\"0 0 24 24\"><path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"/></svg>",
"horizontal": "<svg class=\"tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\"><path d=\"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z\"/></svg>",
"vertical": "<svg class=\"tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\"><path d=\"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V14h2V6.99h3L9 3z\"/></svg>",
"story-saver": "<svg class=\"tc-image-button tc-muuri-story-saver-button\" width=\"22pt\" height=\"22pt\" viewBox=\"3 3 18 18\"><path d=\"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z\"/><path fill=\"none\" d=\"M0 0h24v24H0z\"/></svg>",
"dragging": "<svg class=\"tc-image-button\" width=\"28pt\" height=\"28pt\" viewBox=\"1 3 22 22\"><path d=\"M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5v3.74c1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zm9.84 4.63l-4.54-2.26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1.5S10 6.67 10 7.5v10.74l-3.43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-.79.8 4.94 4.94c.27.27.65.44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-.07.02-.14.02-.2 0-.62-.38-1.16-.91-1.38z\"/></svg>"
},
"$:/plugins/BurningTreeC/muuritouch/macros": {
"title": "$:/plugins/BurningTreeC/muuritouch/macros",
"tags": "$:/tags/Macro",
"text": "\\define toggle-muuri-columns()\n<$set name=\"offSetPx\" filter=\"[[$:/plugins/BurningTreeC/muuritouch/config]get[seamless]regexp[^yes$]addprefix[0]removesuffix[yes]] [[$:/plugins/BurningTreeC/muuritouch/config]get[seamless]regexp[^no$]addprefix[8]removesuffix[no]]\">\n<$reveal state=\"$:/config/MuuriTouch/ColumnCount\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/config/MuuriTouch/horizontal\" type=\"nomatch\" text=\"yes\">\n<$vars columnCount={{$:/config/MuuriTouch/ColumnCount}}>\n\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100% / <<columnCount>>) - <<offSetPx>>px);\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc((100% / <<columnCount>>) - <<offSetPx>>px);\n}\n}\n\n<$list filter=\"[<columnCount>!regexp[^(1|2|3)$]]\">\n\n.tc-tiddler-frame {\n padding-left: 20px;\n padding-right: 20px;\n}\n\n.tc-tiddler-controls {\n right: -40px !important;\n}\n\n.tc-tiddler-info {\n margin-left: -20px;\n margin-right: -20px;\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.tc-unfold-banner {\n margin-left: -21px;\n}\n\n.tc-fold-banner {\n margin-left: -17px;\n width: 15px;\n}\n\n</$list>\n\n<$list filter=\"[<columnCount>!regexp[^(1|2|3|4|5|6)$]]\">\n\n.tc-tiddler-frame {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n</$list>\n\n</$vars>\n</$reveal>\n</$reveal>\n<$reveal state=\"$:/config/MuuriTouch/ColumnCount\" type=\"nomatch\" text=\"\">\n<$reveal state=\"$:/config/MuuriTouch/horizontal\" type=\"match\" text=\"yes\">\n<$set name=\"columnCount\" value={{$:/config/MuuriTouch/ColumnCount}}>\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc(100vw / <<columnCount>> - <<offSetPx>>px);\n}\n@media (min-width: 500px) {\n.tc-tiddler-frame, .tc-tiddler-edit-frame {\n width: calc(100vw / <<columnCount>> - <<offSetPx>>px);\n}\n}\n</$set>\n</$reveal>\n</$reveal>\n\\end\n\\define dragging-positioning-z-index()\n\n<$vars storyCount={{{ [list[$:/StoryList]count[]] }}}>\n\n.tc-muuri-grid .tc-tiddler-frame.tc-muuri-positioning {\n\tz-index: <<storyCount>>;\n}\n\n.tc-muuri-grid .tc-tiddler-frame.tc-muuri-releasing {\n\tz-index: calc(<<storyCount>> + 1);\n}\n\n.tc-muuri-grid .tc-tiddler-frame.tc-muuri-dragging {\n\tz-index: calc(<<storyCount>> + 2);\n}\n\n</$vars>\n\\end\n\\define title-controls-tags-visibility()\n<$list filter=\"[{$:/plugins/BurningTreeC/muuritouch/config!!visibility}regexp[^2$]]\">\n\n.tc-tiddler-title {\n\tdisplay: none;\n}\n\n.tc-tiddler-controls > span > button {\n\tmargin-left: 0;\n line-height: 1;\n}\n\n.tc-tiddler-controls > span > button > svg {\n\tfont-size: 0.8em;\n}\n\n.tc-tiddler-frame:hover > .tc-tiddler-title, .tc-tiddler-frame:focus > .tc-tiddler-title {\n\tposition: absolute;\n top: 0;\n right: 1em;\n\tdisplay: inline;\n}\n\n</$list>\n\\end\n\\define set-popup-states-z-indices()\n[data-tiddler-title=\"$(hasPopupTiddler)$\"].tc-tiddler-frame {\n\tz-index: calc($(storyCount)$ + 1);\n}\n\n[data-tiddler-title=\"$(hasPopupTiddler)$\"].tc-tiddler-frame .tc-tags-wrapper .tc-tag-label {\n\tdisplay: none;\n}\n\n[data-tiddler-title=\"$(hasPopupTiddler)$\"].tc-tiddler-view-frame iframe {\n\tdisplay: none;\n}\n\\end\n\\define popup-states-z-indices()\n<$vars storyCount={{{ [list[$:/StoryList]count[]] }}}>\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/popup/more/]]\" variable=\"hasPopupTiddler\">\n<<set-popup-states-z-indices>>\n</$list>\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/popup/type-dropdown/]]\" variable=\"hasPopupTiddler\">\n<<set-popup-states-z-indices>>\n</$list>\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/popup/field-dropdown/]]\" variable=\"hasPopupTiddler\">\n<<set-popup-states-z-indices>>\n</$list>\n<$list filter=\"[all[tiddlers]removeprefix[$:/state/popup/tags-auto-complete/]]\" variable=\"hasPopupTiddler\">\n<<set-popup-states-z-indices>>\n</$list>\n</$vars>\n\\end\n\\define set-muuri-drag-width()\n<$vars muuriTiddlerWidth={{$(statePrefix)$$(hasDragWidth)$}}>\n[data-tiddler-title=\"$(hasDragWidth)$\"].tc-tiddler-frame, [data-tiddler-title=\"Draft of '$(hasDragWidth)$'\"].tc-tiddler-frame {\n\twidth: <<muuriTiddlerWidth>>;\n\tpadding-left: 42px;\n\tpadding-right: 42px;\n}\n</$vars>\n\\end\n\\define set-muuri-low-padding(padding)\n[data-tiddler-title=\"$(hasDragWidth)$\"].tc-tiddler-frame, [data-tiddler-title=\"Draft of '$(hasDragWidth)$'\"].tc-tiddler-frame {\n\tpadding-left: $padding$;\n\tpadding-right: $padding$;\n}\n\\end\n\\define muuri-drag-tiddler-widths()\n<$vars statePrefix={{{ [{$:/config/MuuriTouch/PersistentWidths}regexp[^no$]addprefix[$:/state/muuri/width/]removesuffix[no]] [{$:/config/MuuriTouch/PersistentWidths}regexp[^yes$]addprefix[$:/saved-state/muuri/width/]removesuffix[yes]] }}}>\n<$list filter=\"[all[tiddlers]removeprefix<statePrefix>]\" variable=\"hasDragWidth\">\n<<set-muuri-drag-width>>\n<$list filter=\"[<hasDragWidth>addprefix<statePrefix>has[low-padding]get[low-padding]regexp[^yes$]]\">\n<<set-muuri-low-padding \"20px\">>\n</$list>\n<$list filter=\"[<hasDragWidth>addprefix<statePrefix>has[lowest-padding]get[lowest-padding]regexp[^yes$]]\">\n<<set-muuri-low-padding \"10px\">>\n</$list>\n</$list>\n</$vars>\n\\end\n\\define tiddler-hover-z-index()\n<$vars storyCount={{{ [list[$:/StoryList]count[]] }}}>\n\n.tc-muuri-grid .tc-tiddler-frame:hover {\n\tz-index: <<storyCount>>;\n}\n\n.tc-muuri-story-saver-dropdown {\n\tz-index: calc(<<storyCount>> + 3);\n}\n\n</$vars>\n\\end\n\\define drag-pointer-events-iframe-block()\n<$list filter=\"[[$:/state/dragging]!is[missing]]\">\n\n.tc-muuri-grid .tc-tiddler-frame iframe {\n\tpointer-events: none;\n}\n\n</$list>\n<$list filter=\"[[$:/state/muuri/iframeblock]!is[missing]]\">\n\n.tc-muuri-grid .tc-tiddler-frame iframe {\n\tpointer-events: none;\n}\n\n</$list>\n<$list filter=\"[[$:/temp/muuri/tag-dragging]!is[missing]]\">\n\n.tc-muuri-grid .tc-tiddler-frame iframe {\n\tpointer-events: none;\n}\n\n</$list>\n\\end\n\\define if-horizontal-story-river()\n<$reveal state=\"$:/config/MuuriTouch/horizontal\" type=\"match\" text=\"yes\">\n<$list filter=\"[list[$:/StoryList]count[]]\" variable=\"storyCount\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n\n.tc-sidebar-scrollable {\n\tz-index: calc(<<storyCount>> + 4);\n\tbackground-color: <<colour page-background>>e6;\n}\n\n</$reveal>\n\n.tc-story-river {\n\theight: 100vh;\n\twidth: fit-content;\n}\n\n.tc-muuri-grid {\n\theight: 100% !important;\n}\n\n<<if-sidebar \"\"\"\n\n.tc-muuri-grid {\n\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n}\n\n\"\"\">>\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n.tc-story-river {\n\theight: calc(100vh - 15px);\n\twidth: fit-content;\n}\n}\n\n</$list>\n</$reveal>\n\\end\n\\define trigger-muuri-refresh()\n<$action-setfield $tiddler=\"$:/state/muuri/refreshtrigger\" text=\"yes\"/>\n<$action-deletetiddler $tiddler=\"$:/state/muuri/refreshtrigger\"/>\n\\end\n\\define if-dragging-disabled()\n<$list filter=\"[[$:/temp/muuri/select-text]!is[missing]]\">\n\n.tc-muuri-grid .tc-tiddler-frame {\n\ttouch-action: initial !important;\n\tuser-select: initial !important;\n\t-webkit-user-drag: initial !important;\n\t-webkit-tap-highlight-color: initial !important;\n}\n\n</$list>\n\\end\n\\define set-active-tiddler-highlight()\n[data-tiddler-title=\"$(highlightTiddler)$\"].tc-tiddler-frame {\n\tborder: 1px solid <<colour foreground>>;\n}\n\\end\n\\define highlight-active-tiddler()\n<$vars highlightTiddler={{{ [{$:/temp/current-tiddler}!prefix[Draft of ']!suffix[']addprefix[Draft of ']addsuffix[']is[missing]removeprefix[Draft of ']removesuffix[']] [{$:/temp/current-tiddler}!prefix[Draft of ']!suffix[']addprefix[Draft of ']addsuffix[']!is[missing]] [{$:/temp/current-tiddler}prefix[Draft of ']suffix[']!is[missing]] [{$:/temp/current-tiddler}prefix[Draft of ']suffix[']is[missing]removeprefix[Draft of ']removesuffix[']] }}}>\n\n<<set-active-tiddler-highlight>>\n\n</$vars>\n\\end\n\\define exit-muuri-select-mode-actions()\n<$fieldmangler tiddler=\"$:/KeyboardShortcut/select-mode-edit\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/KeyboardShortcut\"/>\n</$fieldmangler>\n<$fieldmangler tiddler=\"$:/KeyboardShortcut/select-mode-close\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/KeyboardShortcut\"/>\n</$fieldmangler>\n<$fieldmangler tiddler=\"$:/KeyboardShortcut/select-mode-delete\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/KeyboardShortcut\"/>\n</$fieldmangler>\n<$fieldmangler tiddler=\"$:/KeyboardShortcut/select-mode-clone\">\n<$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/KeyboardShortcut\"/>\n</$fieldmangler>\n\\end"
},
"$:/plugins/BurningTreeC/muuritouch/styles": {
"title": "$:/plugins/BurningTreeC/muuritouch/styles",
"tags": "$:/tags/Stylesheet",
"text": "<$reveal state=\"$:/view\" type=\"match\" text=\"muuri\">\n\n{{$:/plugins/BurningTreeC/muuritouch/css}}\n\n</$reveal>\n"
},
"$:/plugins/BurningTreeC/muuritouch/ui/Buttons/columns": {
"title": "$:/plugins/BurningTreeC/muuritouch/ui/Buttons/columns",
"tags": "$:/tags/PageControls",
"list": "1 2 3 4 5 6 7 8 9 10",
"caption": "{{$:/plugins/BurningTreeC/muuritouch/icons!!columns-6}} cycle through 1 - 6 columns",
"description": "cycle through 1 - 6 columns in the storyriver",
"text": "\\define columnicons()\n{{$:/plugins/BurningTreeC/muuritouch/icons!!columns-$(columns)$}}\n\\end\n\\define get-button-class()\n$(tv-config-toolbar-class)$ tc-toolbar-icon\n\\end\n<$set name=\"columns\" value={{$:/config/MuuriTouch/ColumnCount}}>\n<$set name=\"nextValue\" filter=\"[<columns>] +[next[$:/plugins/BurningTreeC/muuritouch/ui/Buttons/columns]]\">\n<$button class=<<get-button-class>> tooltip=\"cycle columns\">\n<$list filter=\"[<columns>!regexp[^10$]]\">\n<$action-setfield $tiddler=\"$:/config/MuuriTouch/ColumnCount\" text=<<nextValue>>/></$list>\n<$list filter=\"[<columns>regexp[^10$]]\">\n<$action-setfield $tiddler=\"$:/config/MuuriTouch/ColumnCount\" text=\"1\"/>\n</$list>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<<columnicons>><$list filter=\"[<columns>regexp[^7$]]\"><$vars columns=\"6\"><<columnicons>></$vars><$vars columns=\"1\">+<<columnicons>></$vars></$list>\n<$list filter=\"[<columns>regexp[^8$]]\"><$vars columns=\"6\"><<columnicons>></$vars><$vars columns=\"2\">+<<columnicons>></$vars></$list><$list filter=\"[<columns>regexp[^9$]]\"><$vars columns=\"6\"><<columnicons>></$vars><$vars columns=\"3\">+<<columnicons>></$vars></$list><$list filter=\"[<columns>regexp[^10$]]\"><$vars columns=\"6\"><<columnicons>></$vars><$vars columns=\"4\">+<<columnicons>></$vars></$list>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"columns\"/></span>\n</$list>\n</$button></$set></$set>"
},
"$:/plugins/BurningTreeC/muuritouch/ui/Buttons/dragging": {
"title": "$:/plugins/BurningTreeC/muuritouch/ui/Buttons/dragging",
"tags": "$:/tags/PageControls",
"caption": "{{$:/plugins/BurningTreeC/muuritouch/icons!!columns-6}} toggle dragging on/off",
"description": "toggle dragging",
"text": "\\define get-button-class(class)\n$(tv-config-toolbar-class)$ tc-toolbar-icon $class$\n\\end\n\\define get-dragging-tooltip(onoff)\ndragging $onoff$ - [$(draggingShortcut)$]\n\\end\n\n<$vars draggingShortcut={{$:/config/shortcuts/select-text}}>\n<$reveal state=\"$:/temp/muuri/select-text\" type=\"nomatch\" text=\"yes\">\n<$button class=<<get-button-class \"tc-selected\">> tooltip=<<get-dragging-tooltip \"off\">>>\n<$action-setfield $tiddler=\"$:/temp/muuri/select-text\" text=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/BurningTreeC/muuritouch/icons!!dragging}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"toggle dragging\"/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/muuri/select-text\" type=\"match\" text=\"yes\">\n<$button class=<<get-button-class>> tooltip=<<get-dragging-tooltip \"on\">>>\n<$action-deletetiddler $tiddler=\"$:/temp/muuri/select-text\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/BurningTreeC/muuritouch/icons!!dragging}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"toggle dragging\"/></span>\n</$list>\n</$button>\n</$reveal>\n</$vars>"
},
"$:/core/ui/PageTemplate/story": {
"title": "$:/core/ui/PageTemplate/story",
"tags": "$:/tags/PageTemplate",
"text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[{$:/view}regexp[^muuri$]]\">\n\n<$muuri>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview=\"muuri\" emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n</$muuri>\n\n</$list>\n\n<$list filter=\"[{$:/view}!regexp[^muuri$]]\">\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n</$list>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
},
"$:/plugins/BurningTreeC/muuritouch/ui/Buttons/visibility": {
"title": "$:/plugins/BurningTreeC/muuritouch/ui/Buttons/visibility",
"tags": "$:/tags/PageControls",
"list": "1 2 3",
"text": "\\define get-visibility-classes()\ntc-image-button tc-muuri-visibility-button-$(visibilityState)$\n\\end\n\\define get-visibility-button-classes()\n$(tv-config-toolbar-class)$ tc-muuri-visibility-button-$(visibilityState)$\n\\end\n<$vars visibilityState={{$:/plugins/BurningTreeC/muuritouch/config!!visibility}}>\n<$list filter=\"[<visibilityState>regexp[^1$]] [<visibilityState>regexp[^$]]\">\n<$button class=<<get-visibility-button-classes>> set=\"$:/plugins/BurningTreeC/muuritouch/config!!visibility\" setTo=\"2\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/BurningTreeC/muuritouch/icons!!visibility-visible}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"show all\"/></span>\n</$list>\n</$button>\n</$list>\n<$list filter=\"[<visibilityState>regexp[^2$]]\">\n<$button class=<<get-visibility-button-classes>> set=\"$:/plugins/BurningTreeC/muuritouch/config!!visibility\" setTo=\"3\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/BurningTreeC/muuritouch/icons!!visibility-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"show all\"/></span>\n</$list>\n</$button>\n</$list>\n<$list filter=\"[<visibilityState>regexp[^3$]]\">\n<$button class=<<get-visibility-button-classes>> set=\"$:/plugins/BurningTreeC/muuritouch/config!!visibility\" setTo=\"1\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/BurningTreeC/muuritouch/icons!!visibility-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"show all\"/></span>\n</$list>\n</$button>\n</$list>\n</$vars>"
}
}
}
{
"tiddlers": {
"$:/plugins/HCHaase/TOCgeneric/readme": {
"text": "This plugin adds the viewtemplate $:/plugins/HCHaase/TOCgeneric/ViewTemplate . \n\nAt the bottom of tiddlers that has is tagging, has backlinks, list, is listed or any combination hereof, there will be shown\n\n\n# a list of'' tagged (TOC), backlinks, list'' and ''listed''\n# a button to reveal the lists ({{$:/core/images/chevron-down}})\n# a button to hide the lists ({{$:/core/images/chevron-up}})\n\nThe lists will ONLY appear if there is something in them. If you don't see e.g. the backlink list, it is because there are no backlinks to that tiddler. If you don't see the show the lists button, none of the lists are present.\n\n!! Customisation \nYou can change the reveal /hide buttons (or text) here. the default is `{{$:/core/images/chevron-down}}` and `{{$:/core/images/chevron-up}}`.\n\nReveal button: <$edit-text tiddler=\"$:/plugins/HCHaase/TOCgeneric/ViewTemplate\" field=\"button_reveal\" default=\"{{$:/core/images/chevron-down}}\"/>\n\nHide Button: <$edit-text tiddler=\"$:/plugins/HCHaase/TOCgeneric/ViewTemplate\" field=\"button_hide\" default=\"{{$:/core/images/chevron-up}}\"/>\n\n!! Why I made this\n\nThis was inspired by the forum discussion on [[bi-directional linking|https://groups.google.com/forum/#!topic/tiddlywiki/LUVTps01UBU]] to show tiddler connection better.\n\nThis is an attempt to make all connections more visible for all tiddlers. You can see the same information in the info panel of the tiddlers, but this hopefully make the connections stand out more.\n\n!! Road map\n\nAt some point I want to \n\n* Add an exclude-filter (e.g. exclude advanced search)\n* Make the show/hide option tiddler specific (maybe)\n",
"title": "$:/plugins/HCHaase/TOCgeneric/readme",
"tags": "$:/plugins/HCHaase/TOCgeneric",
"state": "hide",
"modifier": "HC Haase",
"modified": "20200127103606903",
"creator": "HC Haase",
"created": "20200124094640539"
},
"$:/plugins/HCHaase/TOCgeneric/ViewTemplate": {
"created": "20200122152834095",
"creator": "HC Haase",
"text": "<!-- show a 'show toc' button' if tags OR backlinks OR list OR listed is present for tiddler-->\n<$list filter='[tag<currentTiddler>] [all[current]backlinks[]] [list{!!title}] [all[current]listed[]!is[system]] +[limit[1]]' variable=null>\n\n<!-- show button -->\n<$reveal type=\"match\" state=\"$:/core/ui/ViewTemplate/TOCgeneric!!state\" text=\"hide\">\n<$button set=\"$:/core/ui/ViewTemplate/TOCgeneric!!state\" setTo=\"show\" class=<<tv-config-toolbar-class>> tooltip=\"Show TOC/references\">{{$:/plugins/HCHaase/TOCgeneric/ViewTemplate!!button_reveal}}</$button>\n\n</$reveal>\n\n<!-- reveal toc and more -->\n<$reveal type=\"nomatch\" state=\"$:/core/ui/ViewTemplate/TOCgeneric!!state\" text=\"hide\">\n\n<$button set=\"$:/core/ui/ViewTemplate/TOCgeneric!!state\" setTo=\"hide\" class=<<tv-config-toolbar-class>> tooltip=\"Hide TOC/references\">{{$:/plugins/HCHaase/TOCgeneric/ViewTemplate!!button_hide}}</$button>\n\n<!-- tags hedding count and toc-->\n<$list filter='[tag<currentTiddler>limit[1]]' variable=null>\n<$count filter='[tag<currentTiddler>]'/> Tagged with ''<<currentTiddler>>''\n<br>\n</$list>\n<$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"sort[title]\" />\n\n<!-- backlinks hedding count and toc-->\n<$list filter='[all[current]backlinks[]limit[1]]' variable=null>\n<$count filter='[all[current]backlinks[]]'/> Links to ''<<currentTiddler>>''\n<br>\n</$list>\n<<list-links filter:\"[all[current]backlinks[]]\" >>\n\n<!-- list fields in this tiddler hedding count and toc-->\n<$list filter='[list{!!title}limit[1]]' variable=null>\n ''<<currentTiddler>>'' is listing\n<br>\n</$list>\n<<list-links filter:\"[list{!!title}]\">>\n\n<!-- listed in other tiddlers hedding count and toc-->\n<$list filter='[all[current]listed[]!is[system]limit[1]]' variable=null>\n ''<<currentTiddler>>'' is listed in\n<br>\n</$list>\n<<list-links filter:\"[all[current]listed[]!is[system]]\">>\n\n</$reveal>\n</$list>\n\n",
"title": "$:/plugins/HCHaase/TOCgeneric/ViewTemplate",
"tags": "$:/tags/ViewTemplate [[TW Customisations]]",
"state": "show",
"modifier": "HC Haase",
"modified": "20200127103853573",
"button_reveal": "{{$:/core/images/chevron-down}}",
"button_hide": "{{$:/core/images/chevron-up}}"
}
}
}
<!-- show a 'show toc' button' if tags OR backlinks OR list OR listed is present for tiddler-->
<$list filter='[tag<currentTiddler>] [all[current]backlinks[]] [list{!!title}] [all[current]listed[]!is[system]] +[limit[1]]' variable=null>
<!-- show button -->
@@float:right; <span style="fill:#eee;">
<$reveal type="match" state="$:/core/ui/ViewTemplate/TOCgeneric!!state" text="hide">
<$button set="$:/core/ui/ViewTemplate/TOCgeneric!!state" setTo="show" class=<<tv-config-toolbar-class>> tooltip="Show TOC/references">{{$:/plugins/HCHaase/TOCgeneric/ViewTemplate!!button_reveal}}</$button>
</$reveal></span>
@@
<!-- reveal toc and more -->
<$reveal type="nomatch" state="$:/core/ui/ViewTemplate/TOCgeneric!!state" text="hide">
@@float:right;
<$button set="$:/core/ui/ViewTemplate/TOCgeneric!!state" setTo="hide" class=<<tv-config-toolbar-class>> tooltip="Hide TOC/references">{{$:/plugins/HCHaase/TOCgeneric/ViewTemplate!!button_hide}}</$button>@@
<hr>
<!-- backlinks hedding count and toc-->
<$list filter='[all[current]backlinks[]limit[1]]' variable=null>
<$count filter='[all[current]backlinks[]]'/> backlinks to <<tag !!currentTiddler>>:
</$list>
<<list-links filter:"[all[current]backlinks[]]" >>
</$reveal>
</$list>
{
"tiddlers": {
"$:/plugins/OokTech/WordCount/EditWordCountTemplate": {
"list-after": "$:/core/ui/EditTemplate/tags",
"tags": "$:/tags/EditTemplate",
"title": "$:/plugins/OokTech/WordCount/EditWordCountTemplate",
"text": "<$reveal\n type='nomatch'\n state='$:/settings/OokTech/WordCount!!enable_edit_view'\n text=false\n>\n <$list\n filter='[is[current]has[text]]'\n emptyMessage=\"Word Count: 0\"\n >\n Word Count:\n <$word-count\n tiddler=<<currentTiddler>>\n field='text'\n mode=word\n />\n </$list>\n</$reveal>\n"
},
"$:/plugins/OokTech/WordCount/Acknowledgements": {
"title": "$:/plugins/OokTech/WordCount/Acknowledgements",
"text": " This plugin was created and is maintained by [[OokTech|$:/plugins/OokTech/OokTechInfo]].\n\n\n[[Tiddlywiki|http://TiddlyWiki.com]] was originally created by [[Jeremy Ruston|https://github.com/Jermolene/TiddlyWiki5]]. For general ~TiddlyWiki help see [[tiddlywiki.com|http://tiddlywiki.com]] or the [[google group|https://groups.google.com/forum/#!forum/tiddlywiki]].\n\nThank you to the general TiddlyWiki community for developing and maintaining the tiddlywiki core.\n"
},
"$:/plugins/OokTech/WordCount/License": {
"title": "$:/plugins/OokTech/WordCount/License",
"text": "BSD 3-Clause License\n\nCopyright (c) 2017, OokTech LLC\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\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* 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\n* 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"
},
"$:/plugins/OokTech/OokTechInfo": {
"title": "$:/plugins/OokTech/OokTechInfo",
"text": "~OokTech is a small engineering company based in the USA with an international presence. We work on open software and hardware projects.\n\nWebsite: http://Ooktech.com<br>\n~GitHub: [[OokTech GitHub|https://github.com/OokTech]]\n\n\nTo add the OokTech plugin library to your wiki so you can install plugins from the control panel drag and drop [[this tiddler|$:/pluginlibrary/OokTech/OokTechPlugins]] into your wiki.\n"
},
"$:/pluginlibrary/OokTech/OokTechPlugins": {
"title": "$:/pluginlibrary/OokTech/OokTechPlugins",
"tags": "$:/tags/PluginLibrary",
"url": "https://ooktech.com/TiddlyWiki/PluginLibrary",
"text": "The plugin library for plugins developed and maintained by OokTech. See http://OokTech.com/TiddlyWiki for more information.\n"
},
"$:/plugins/OokTech/WordCount/readme": {
"tags": "",
"title": "$:/plugins/OokTech/WordCount/readme",
"text": "This plugin contains the [[word-count widget|$:/plugins/OokTech/WordCount/WordCountControls]] and some templates that display the number of words in a tiddler. The value isn't updaded while you type, but if you pause for a moment it will update. You can make something that updates as you type but there are some severe performance penalties from that.\n\nTo use this just import the plugin into your wiki, save and restart. Settings are in the ~WordCount tab in the control panel. This tab is added as part of the plugin.\n\nSee [[Word Count Widget|$:/plugins/OokTech/WordCount/Word Count Widget]] for more documentation.\n\nLicense: [[BSD 3 Clause|$:/plugins/OokTech/WordCount/License]]\n\nCreator: [[OokTech|$:/plugins/OokTech/OokTechInfo]]\n\nSource: [[GitHub|https://https://github.com/OokTech/TW5-WordCount]]\n"
},
"$:/plugins/OokTech/WordCount/Word Count Widget": {
"tags": "",
"title": "$:/plugins/OokTech/WordCount/Word Count Widget",
"text": "This is a widget that will display the number of words or characters in a tiddler or text string given to it.\n\nWidget tiddler: [[$:/plugins/OokTech/WordCount/word-count.js]]\n\nRemember you have to save and reload your wiki before the widget will work.\n\n|!Parameter |!Description |\n|mode |This can be set to `word` or `character` and will count either words or characters, defaults to `word` |\n|tiddler |The tiddler with the text to process (defauts to `currentTiddler`) |\n|field |The field with the text to process (defaults to the text field) |\n|text |A text string for the widget to count, if this is given it overrides the `tiddler` and `field` inputs. |\n|colors |(Optional) An input that sets text color when the count reaches a certain number. See the examples below. |\n|colorState |(Optional) The name of a state tiddler to use to store the current text color so it can be used to set the color of more than just the displayed number. |\n\n!!Usage\n\n!!!Count the number of words in a string:\n\n```\n<$word-count text='some text string'/>\n```\n\n<$word-count\n text='some text string'\n/>\n\n!!!Count the number of characters in a string:\n\n```\n<$word-count text='some text string' mode=character/>\n```\n\n<$word-count\n text='some text string'\n mode=character\n/>\n\n!!!Count the number of words in a field:\n\n```\n<$word-count tiddler='Word Count Widget' field='title' mode=word/>\n```\n\n<$word-count\n tiddler='Word Count Widget'\n field='title'\n mode=word\n/>\n\n!!!Using the colors parameter:\n\nThis uses the `colorState` tiddler.\n\n```\n<$word-count tiddler='$:/temp/Word Count Widget' mode=character colors='#f0f:10,indianred:100,red:122' colorState='$:/state/Word Count Widget/color'/>\n```\n\n<$word-count\n tiddler='$:/temp/Word Count Widget'\n mode=character\n colors='#f0f:10,indianred:100,red:122'\n colorState='$:/state/Word Count Widget/color'\n/>\n\nEdit the field here:\n<$edit-text\n tiddler='$:/temp/Word Count Widget'\n class='tc-edit-texteditor'\n/>\n\nContents of the color state tiddler:\n\n<$view\n tiddler='$:/state/Word Count Widget/color'\n/>\n\n!!!Change colors of text as the number of characters in a field changes:\n\nAt the moment the input field loses focus every time the color changes.\n\n```\n<$word-count tiddler='$:/temp/Word Count Widget' mode=character colors='#f0f:10,indianred:100,red:122' colorState='$:/state/Word Count Widget/color'/>\n```\n\n<$word-count\n tiddler='$:/temp/Word Count Widget'\n mode=character\n colors='#f0f:10,indianred:100,red:122'\n colorState='$:/state/Word Count Widget/color'\n/>\n\nEdit the field here:\n<$set\n name=CurrentColor\n value={{$:/state/Word Count Widget/color}}\n>\n <$edit-text\n tiddler='$:/temp/Word Count Widget'\n class='tc-edit-texteditor change-color'\n />\n</$set>\n\nContents of the color state tiddler:\n\n<$view\n tiddler='$:/state/Word Count Widget/color'\n/>\n"
},
"$:/plugins/OokTech/WordCount/WordCountControls": {
"caption": "~WordCount",
"tags": "$:/tags/ControlPanel",
"title": "$:/plugins/OokTech/WordCount/WordCountControls",
"text": "<$checkbox\n tiddler='$:/settings/OokTech/WordCount'\n field='enable_edit_view'\n checked=true\n unchecked=false\n default=true\n>\n Enable ~WordCount in edit mode\n</$checkbox>\n<br>\n<$checkbox\n tiddler='$:/settings/OokTech/WordCount'\n field='enable_view_mode'\n checked=true\n unchecked=false\n default=false\n>\n Enable ~WordCount in view mode\n</$checkbox>\n(This counts words in the raw text field, so wikitext that isn't visible in the view template is still counted. I may change this later.)\n"
},
"$:/plugins/OokTech/WordCount/WordCountViewTemplate": {
"list-after": "$:/core/ui/ViewTemplate/tags",
"tags": "$:/tags/ViewTemplate",
"title": "$:/plugins/OokTech/WordCount/WordCountViewTemplate",
"text": "<$reveal\n type='match'\n state='$:/settings/OokTech/WordCount!!enable_view_mode'\n text=true\n>\n <$list\n filter='[is[current]has[text]]'\n emptyMessage=\"Word Count: 0\"\n >\n Word Count:\n <$word-count\n tiddler=<<currentTiddler>>\n field='text'\n mode=word\n />\n </$list>\n</$reveal>\n"
},
"$:/widgets/OokTech/WordCount/word-count.js": {
"text": "/*\\\ntitle: $:/widgets/OokTech/WordCount/word-count.js\ntype: application/javascript\nmodule-type: widget\n\nA widget to count the number of words or characters in a tiddlr/field/input string\n\nWith thanks to Skeeve for the original macro version this is based on\n\nDemo site:\n\nhttp://ooktech.com/jed/ExampleWikis/WordCount/\n\nUsage:\n\n<$word-count tiddler=SomeTiddler field=some_field mode=word/>\n<$word-count text=\"some text string\" mode=character/>\n<$word-count tiddler=SomeTiddler mode=character colors=\"blue:10,green:50,red:100\"/>\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 WordCount = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWordCount.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWordCount.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tvar domNode = this.document.createElement(\"span\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWordCount.prototype.execute = function() {\n\tvar color_array = [];\n\tvar count_array = [];\n\tvar i;\n\n\t// Get parameters from our attributes\n\tthis.mode = this.getAttribute(\"mode\", \"word\");\n\tthis.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.field = this.getAttribute(\"field\",\"text\");\n\tthis.countText = this.getAttribute(\"text\");\n\tthis.colors = this.getAttribute(\"colors\");\n\tthis.stateTiddler = this.getAttribute(\"colorState\");\n\n\t//Find the color cut-offs, if any.\n\tif(this.colors) {\n\t\tvar color_array1 = this.colors.split(',');\n\t\tcolor_array1.sort(function sortfunction(a, b){\n\t\t\treturn a.split(':')[1] - b.split(':')[1];\n\t\t});\n\t\tfor(i = 0; i < color_array1.length; i++) {\n\t\t\tcolor_array[i] = color_array1[i].split(':')[0];\n\t\t\tcount_array[i] = color_array1[i].split(':')[1];\n\t\t}\n\t}\n\n\t// Count letters or words as appropriate.\n\tif(this.countText) {\n\t\tif(this.mode === \"character\") {\n\t\t\tthis.currentCount = this.countText.length.toString();\n\t\t} else {\n\t\t\tif (this.countText.match(/\\w+/g)) {\n\t\t\t\tthis.currentCount = this.countText.match(/\\w+/g).length.toString();\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddler);\n\t\tif(tiddler) {\n\t\t\tvar text = tiddler.getFieldString(this.field);\n\t\t\tif (text) {\n\t\t\t\tif(this.mode === \"word\") {\n\t\t\t\t\tif (text.match(/\\w+/g)) {\n\t\t\t\t\t\tthis.currentCount = text.match(/\\w+/g).length.toString();\n\t\t\t\t\t}\n\t\t\t\t} else if(this.mode === \"character\") {\n\t\t\t\t\tthis.currentCount = text.length.toString();\n\t\t\t\t} else {\n\t\t\t\t\tthis.currentCount = undefined;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.currentCount = undefined;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.currentCount = undefined;\n\t\t}\n\t}\n\n\t//If this.currentCount is long enough set the color. It is the color with the largest value that is less than this.currentCount.\n\t//If no color has a large enough value do nothing.\n\tif(this.currentCount) {\n\t\tif(color_array) {\n\t\t\tfor(i = 0; i < color_array.length; i++) {\n\t\t\t\tif(Number(this.currentCount) > Number(count_array[color_array.length - 1 - i])) {\n\t\t\t\t\tif(this.stateTiddler) {\n\t\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,color_array[color_array.length -1 - i]);\n\t\t\t\t\t}\n\t\t\t\t\tthis.currentCount = '@@color:' + color_array[color_array.length -1 - i] + ';' + this.currentCount + '@@';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(i === color_array.length-1) {\n\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,'');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",this.currentCount,{parseAsInline: true});\n var parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWordCount.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports[\"word-count\"] = WordCount;\n\n})();\n",
"title": "$:/widgets/OokTech/WordCount/word-count.js",
"type": "application/javascript",
"module-type": "widget"
}
}
}
{"tiddlers":{"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Brands.css":{"title":"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Brands.css","tags":"$:/tags/Stylesheet","type":"text/css","text":"/* autoimported retrieved from 'fontawesome-free-5.8.2-web' */\n@font-face {\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: normal;\n src: url('data:application/font-woff;charset=utf-8;base64,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') format('woff');\n}\n\n.fab {\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: normal;\n}\n"},"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Regular.css":{"title":"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Regular.css","tags":"$:/tags/Stylesheet","type":"text/css","text":"/* autoimported retrieved from 'fontawesome-free-5.8.2-web' */\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 400;\n src: url('data:application/font-woff;charset=utf-8;base64,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') format('woff');\n}\n\n.far {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 400;\n}\n"},"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Solid.css":{"title":"$:/plugins/TheDiveO/FontAwesome/fonts/Font Awesome 5 Free Solid.css","tags":"$:/tags/Stylesheet","type":"text/css","text":"/* autoimported retrieved from 'fontawesome-free-5.8.2-web' */\n@font-face {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900;\n src: url('data:application/font-woff;charset=utf-8;base64,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') format('woff');\n}\n\n.fa, .fas {\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900;\n}\n"},"$:/plugins/TheDiveO/FontAwesome/history":{"title":"$:/plugins/TheDiveO/FontAwesome/history","created":"20140901110931199","modified":"20190509195707164","type":"text/vnd.tiddlywiki","text":"* ''1.2.18'' -- updates to Font Awesome 5.8.2.\n\n* ''1.2.17'' -- updates to Font Awesome 5.8.1, adding several new categories, such as \"alert\", \"beverage\", \"energy\", et cetera. However, most of these new categories simply rehash existing icons, so there are only few really new icons to be found in this release.\n\n* ''1.2.16'' -- updates to Font Awesome 5.7.2.\n\n* ''1.2.15'' -- updates to Font Awesome 5.6.3. This adds new categories, such as \"autumn\", \"holliday\" and \"halloween\" with new icons, as well as updating existing categories with additional icons.\n\n* ''1.2.14''\n** updates to Font Awesome Free 5.3.1.\n** fixes crash in `--update` command when glyph in icons.json lacks a search terms property.\n\n* ''1.2.13''\n** switches to fetching the most recent Font Awesome Free download URL via GitHub API; this way, we can get rid of the (fine!) Puppeteer package and a truckload of update overhead.\n** npm package maintenance update: move development dependencies out of the general dependencies.\n\n* ''1.2.12'' -- updates to Font Awesome Free 5.2.0. This adds new category packs for \"automotive\", \"medical\", \"education\", and \"maps\".\n\n* ''1.2.11'' -- updates to Font Awesome Free 5.1.11.\n\n* ''1.2.10'' (1.2.9)\n** updates to Font Awesome 5.1.0, which brings new categories \"design\", \"emoji\" and \"travel\", and their icons -- as well as some updates and icon additions.\n** updates the update mechanism to work with the new 5.1.x packaging.\n\n* ''1.2.8'' -- updates to Font Awesome Free 5.0.13. This brings three new catogies: animals, buildings, and mathematics.\n\n* ''1.2.7'' -- updates to Font Awesome Free 5.0.12 -- they really do rapid updates, do they?! Glad that updating this plugin is automated...\n\n* ''1.2.6'' -- updates to Font Awesome Free 5.0.11.\n\n* ''1.2.5'' -- updates to Font Awesome Free 5.0.10.\n\n* ''1.2.4''\n** adds unicode code point info to the cheatsheet.\n\n* ''1.2.3''\n** makes TW5FontAwesome plugin available as npm package `tw5-fontawesome`.\n** adds ~ThirdFlow plugin as npm dependency `tw5-thirdflow`.\n\n* ''1.2.2''\n** updates to Font Awesome Free 5.0.9.\n** adds new categories //Charity//, //Chat//, and //Moving//.\n** adds new \"Font Awesome 5\" tab to the [[Control Panel|$:/ControlPanel]] that allows customizing the plugin: enable/disable internal and external link styling.\n\n* ''1.2.1''\n** adds missing category information.\n** adds automated update of category information from the Font Awesome 5 web site, as part of the normal update process:\n*** `npm run update` updates only if there is a newer version of Font Awesome 5 Free available from https://fontawesome.com/\n*** `npm run forceupdate` updates unconditionally.\n\n* ''1.2.0''\n** updates to Font Awesome Free 5.0.8.\n** adds category filtering to the cheatsheet.\n** adds Font Awesome 5 category meta data.\n** brings a new (fully) automatic update and release mechanism:\n*** use `$ npm run update-fontawesome` to update the development files to the newest Font Awesome version that is available online.\n*** use `$ npm run release` to create the plugin release file(s).\n** upgrades to most recent version of the [[ThirdFlow|http://thediveo.github.io/ThirdFlow/]] plugin: this comes with a new automated release mechanism.\n** refactors development command `--update-fontawesome` to directly download the most recent Font Awesome 5 Free package .zip from https://fontawesome.com. The only optional parameter to this command is `force` which forces re-updating, even if the font currently installed in the dev wiki is the same version as the one downloaded.\n** upgrades ThirdFlow plugin and now uses the new automated release file generation mechanism.\n\n* ''1.1.2''\n** fixes ~TiddlyWiki-internal links to system tiddlers not showing the gear symbol in the tiddler editor preview pane.\n\n* ''1.1.1''\n** upgrades to Font Awesome 5.0.4.\n** adds update/import command to ~FontAwesome 5 demo ~TiddlyWiki to update ~~from a Font Awesome zip package~~ [//online//]. Use `--update-fontawesome` when running the plugin development ~TiddlyWiki under Node.js.\n*** The `--update-fontawesome` command ~~expects the (path and) name of a Font Awesome zip package from which it will then update itself~~ [//has no parameters, or alternatively a single parameter `force`//]. ~~There is no need to unpack the zip package.~~ For instance:<div><strike>\n\n```bash\n$ tiddlywiki editions/develop --verbose --update-fontawesome ~/Downloads/fontawesome-free-5.0.2-zip --server 8080 $:/core/save/all text/plain text/html\n```\n\n</strike></div>\n*** If for some reason you need to re-update from the same Font Awesome zip package, specify an additional `force` parameter after the zip package file name parameter. For instance:<div><strike>\n\n```bash\n$ tiddlywiki editions/develop --verbose --update-fontawesome ~/Downloads/fontawesome-free-5.0.2-zip force --server 8080 $:/core/save/all text/plain text/html\n```\n</strike></div>\n* ''1.1.0''\n** upgrades to Font Awesome 5.0.2.\n** upgrades user macros to allow to specify the Font Awesome font family: `fas` (//Font Awesome Solid//), `far` (//Font Awesome Regular//), and `fab` (//Font Awesome Brands//).\n** upgrades stylesheets to new Font Awesome font mess, introduces [[$:/plugins/TheDiveO/FontAwesome/macros/css settings]] shorthand macros to avoid lengthy CSS properties assignments in CSS rules using Font Awesome.\n* ''1.0.7''\n** fix overly greedy image URL adornments, so that they don't apply to TW5-internal images. Now, an internal [[tree.jpeg]] doesn't get adornment, while [[http://thediveo.github.io/TW5FontAwesome/fa-flag.png]] still does, so the type of document can be glanced quickly.\n** small visual improvement to `fa-lbadge` which adds a small right margin to the badge, so that the adjacent text doesn't seem to visually collide with the badge anymore.\n* ''1.0.6''\n** link adornments for image URLs (`.jpg`/`.jpeg`, `.png`, `.gif`, `.tif`/`.tiff`)\n* ''1.0.5''\n** maintenance: upgrade ThirdFlow plugin to 1.1.11.\n* ''1.0.4''\n** improved display of link adornments by removing the link underlining from the adornments.\n** fixed CSS class name bug in `fa-lbox` macro. Also added new `fa-lbadge` macro. Added documentation.\n** oh, the magic of the `list-after` field, when applied to CSS tiddlers, avoids overuse of CSS `!important` declarations.\n\n* ''1.0.3''\n** fixed CSS to ensure that our embedded Font Awesome font always takes precendence over any system-installed Font Awesome font. This ensures a consistent user experience, especially when the local Font Awesome would be an older version.\n\n* ''1.0.2''\n** fixes base64 encoding of the embedded Font Awesome woff.\n** updated documentation with a warning about system-installed fonts taking precedence.\n** updated instructions on how to update the embedded font yourself.\n\n* ''1.0.1''\n** incorporates recent Font Awesome 4.7.0.\n** CSS updated to 4.7.0 too.\n** development version contains updated Third Flow plugin.\n\n* ''1.0.0''\n** never released.\n\n* ''0.9.2-beta''\n** stable beta release with Font Awesome 4.2.0.\n\n* ''v0.0.1-beta1''\n** initial plugin release.\n"},"$:/plugins/TheDiveO/FontAwesome/icon":{"title":"$:/plugins/TheDiveO/FontAwesome/icon","created":"20140901103643546","modified":"20140901123044951","tags":"$:/tags/Image","type":"text/vnd.tiddlywiki","text":"<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <g fill-rule=\"evenodd\">\n <path \n d=\"m 13.75,0 -11.71875,6.875 0,13.75 11.71875,6.875 11.71875,-6.875 0,-13.75 L 13.75,0 z M 6.28125,5.78125 c 0.3579097,1.42e-5 0.6530496,0.1218163 0.90625,0.375 0.2531946,0.2532114 0.4062468,0.5796012 0.40625,0.9375 -3.2e-6,0.4864625 -0.2240993,0.8370553 -0.65625,1.09375 l 0,12.84375 c -2.6e-6,0.08791 -0.029668,0.15448 -0.09375,0.21875 -0.064087,0.06427 -0.1620941,0.09375 -0.25,0.09375 l -0.625,0 c -0.08791,-1e-6 -0.1859173,-0.02948 -0.25,-0.09375 C 5.6546643,21.18573 5.6249987,21.119157 5.625,21.03125 l 0,-12.84375 C 5.1924761,7.9308053 4.9999994,7.5802125 5,7.09375 4.9999994,6.7358512 5.1216167,6.4094614 5.375,6.15625 5.6283811,5.9030663 5.9233364,5.7812642 6.28125,5.78125 z m 6.6875,1.3125 c 0.722833,1.29e-5 1.403139,0.085316 2.03125,0.28125 0.628089,0.1959592 1.367727,0.4764702 2.21875,0.875 0.256694,0.1281803 0.53739,0.2187616 0.875,0.21875 0.364546,1.16e-5 0.758471,-0.076903 1.1875,-0.21875 0.428999,-0.1418231 0.811026,-0.2931062 1.125,-0.46875 0.313942,-0.1756193 0.594637,-0.3581524 0.875,-0.5 0.28033,-0.1418222 0.474573,-0.1874871 0.5625,-0.1875 0.175429,1.29e-5 0.340379,0.059159 0.46875,0.1875 0.128335,0.1283659 0.187481,0.2616962 0.1875,0.4375 l 0,7.75 c -1.9e-5,0.168803 -0.04062,0.283957 -0.125,0.375 -0.08442,0.09105 -0.223803,0.186697 -0.40625,0.28125 -1.45198,0.78379 -2.709891,1.187503 -3.75,1.1875 -0.412222,3e-6 -0.828017,-0.07008 -1.25,-0.21875 -0.422009,-0.148665 -0.782943,-0.324365 -1.09375,-0.5 -0.310829,-0.175628 -0.686986,-0.351512 -1.15625,-0.5 C 14.249466,15.94527 13.743089,15.875004 13.25,15.875 c -1.296838,4e-6 -2.850298,0.514176 -4.6875,1.5 -0.1148759,0.06095 -0.2359002,0.09375 -0.34375,0.09375 -0.1758202,3e-6 -0.3091502,-0.09039 -0.4375,-0.21875 -0.1283567,-0.12835 -0.1875032,-0.26205 -0.1875,-0.4375 l 0,-7.53125 c -3.2e-6,-0.2164353 0.1030684,-0.4073566 0.3125,-0.5625 0.1418315,-0.094545 0.3893527,-0.2417266 0.78125,-0.4375 1.593792,-0.8107376 3.03169,-1.1874871 4.28125,-1.1875 z m 4.4375,1.9375 c -0.342706,0.1226406 -0.355438,0.656233 -0.5,1.375 -0.223336,-0.06073 -0.456025,-0.114193 -0.6875,-0.125 -0.319018,-0.021 -0.822172,0.073 -1.1875,0.0625 -0.365324,-0.0105 -1.089266,-0.319558 -1.6875,-0.25 -0.240525,0.02958 -0.495457,0.05507 -0.71875,0.15625 -0.136605,0.0619 -0.307097,0.253524 -0.40625,0.28125 -0.999033,0.2793 -2.6450261,0.290617 -2.3125,-1.21875 0.02589,-0.1159319 0.051471,-0.2239389 0,-0.25 -0.06413,-0.032479 -0.11842,0.018948 -0.15625,0.09375 -0.5817319,1.263211 0.450231,2.090082 1.625,2.09375 0.368882,-0.02847 0.188339,-0.02825 0.53125,-0.09375 l 0,0.0625 c -0.02423,0.418425 0.151498,0.773091 0.5,1 -0.159883,0.455791 -0.470574,0.831401 -0.6875,1.25 0.08154,0.520418 0.625493,1.213538 0.84375,1.3125 0.19213,0.08713 0.590499,0.108967 0.6875,-0.03125 0.03464,-0.06594 0.03819,-0.208665 0,-0.28125 0.164063,0.181767 0.379948,0.409467 0.59375,0.53125 0.128025,0.06105 0.26257,0.120068 0.40625,0.125 l 0.15625,-0.03125 c 0.09128,-0.01967 0.220122,-0.01257 0.28125,-0.09375 0.06906,-0.117457 0.0042,-0.445257 -0.28125,-0.46875 -0.285459,-0.02351 -0.487565,-0.141306 -0.75,-0.53125 -0.216207,-0.376982 0.06825,-0.879067 0.15625,-1.25 0.451569,0.07267 0.885787,0.123856 1.34375,0.125 0.198682,-0.0101 0.397908,-0.02487 0.59375,-0.0625 0.06247,0.159574 0.248509,0.592654 0.25,0.71875 0.0042,0.355223 -0.119979,0.738597 -0.0625,1.09375 0.03593,0.104625 -0.01675,0.27314 0.1875,0.28125 0.122159,0.0062 0.03564,0.02295 0.21875,0.03125 l 0.1875,0 c 0.201842,0.338685 0.353672,0.332318 0.75,0.34375 L 17.375,15.25 c 0.06687,-0.02489 0.146577,-0.02959 0.1875,-0.09375 0.133768,-0.194285 -0.220263,-0.284732 -0.34375,-0.5 -0.123507,-0.215248 -0.635898,-1.387969 -0.25,-1.71875 0.385924,-0.330776 0.809257,-0.471475 0.96875,-0.78125 0.06907,-0.139714 0.138021,-0.279525 0.15625,-0.4375 0.09397,0.07799 0.154815,0.152169 0.28125,0.15625 0.334451,0.02101 0.632038,-0.392722 0.78125,-0.78125 0.07973,-0.238471 0.140218,-0.485838 0.125,-0.71875 -0.04092,-0.4488514 0.01685,-0.9204038 0.375,-1.21875 C 19.302812,9.334652 18.96272,9.5357952 18.5625,9.59375 18.341438,9.5266203 18.109109,9.4905105 17.875,9.5 17.760279,9.3505649 17.607384,9.0636657 17.40625,9.03125 z m -4.75,4.34375 c -0.01157,0.166727 -0.02255,0.305428 0.03125,0.46875 0.163898,0.134904 0.380252,0.35428 0.53125,0.5 -0.082,-0.02263 -0.235596,-0.0612 -0.3125,-0.03125 L 12.84375,14.28125 12.8125,14.25 c -0.108862,-0.1172 -0.395316,-0.310466 -0.34375,-0.5 0.04127,-0.131581 0.125136,-0.250383 0.1875,-0.375 z\" transform=\"scale(4.6545455,4.6545455)\"\n/>\n </g>\n</svg>"},"$:/plugins/TheDiveO/FontAwesome/license":{"title":"$:/plugins/TheDiveO/FontAwesome/license","created":"20140901105404058","modified":"20170223103858754","type":"text/vnd.tiddlywiki","text":"This plugin is licensed as follows:\n\n* Font Awesome font license: [[SIL OFL 1.1|http://scripts.sil.org/OFL]].\n* Font Awesome CSS and LESS files licenses: [[MIT License|http://opensource.org/licenses/mit-license.html]].\n* everything else in this plugin is (c) by TheDiveO and licensed under the [[MIT License|http://opensource.org/licenses/mit-license.html]]."},"$:/plugins/TheDiveO/FontAwesome/macros/css settings":{"title":"$:/plugins/TheDiveO/FontAwesome/macros/css settings","created":"20171230210524160","modified":"20171230211107336","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define fa-plugin-font-solid()\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 900; \n\\end\n\n\\define fa-plugin-font-regular()\n font-family: 'Font Awesome 5 Free';\n font-style: normal;\n font-weight: 400; \n\\end\n\n\\define fa-plugin-font-brands()\n font-family: 'Font Awesome 5 Brands';\n font-style: normal;\n font-weight: normal; \n\\end\n"},"$:/plugins/TheDiveO/FontAwesome/macros/fa/doc":{"title":"$:/plugins/TheDiveO/FontAwesome/macros/fa/doc","created":"20140831145557569","modified":"20171230205047837","type":"text/vnd.tiddlywiki","text":"Convenience macros to typeset symbols from Font Awesome.\n\n;`fa-lbox` //glyph//:\"fa-flag\" //fam//:\"fas\"\n: typesets the Font Awesome glyp (defaults to `fa-flag` glyph) in a gray box, and pulls it to the left.\n: As Font Awesome 5.0 has broken up the single 4.x font into multiple fonts, this macro now sports a second optional parameter for setting the font family. Allowed values are `fas` (for //Font Awesome Solid//), `far` (for //Font Awesome Regular//), and finally `fab` (for //Font Awesome Brands//).\n\n;`fa-lbadge` //glyph//:\"fa-flag\"\n: typesets the Font Awesome glyph (defaults to `fa-flag` glyph) in inverse, on a round badge. Also pulls the badge with the icon to the left.\n: As Font Awesome 5.0 has broken up the single 4.x font into multiple fonts, this macro now sports a second optional parameter for setting the font family. Allowed values are `fas` (for //Font Awesome Solid//), `far` (for //Font Awesome Regular//), and finally `fab` (for //Font Awesome Brands//).\n\n;`fa-clear`\n: convenience macro that inserts an empty HTML `div` element with styling `clear:both`. Use this before multiple `fa-lbox` and `fa-lbadge` macros to avoid them piling up from left to right."},"$:/plugins/TheDiveO/FontAwesome/macros/fa":{"title":"$:/plugins/TheDiveO/FontAwesome/macros/fa","created":"20140831145445334","modified":"20171230204202514","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define fa-lbox(glyph:\"fa-flag\",fam:\"fas\")\n<i class=\"$fam$ fa-2x pull-left fa-border $glyph$\"></i>\n\\end\n\n\\define fa-lbadge(glyph:\"fa-flag\",fam:\"fas\")\n<span class=\"fa-stack fa-lg fa-pull-left\" style=\"margin-right: .3em;\"><i class=\"fas fa-circle fa-stack-2x\"></i><i class=\"$fam$ fa-stack-1x fa-inverse $glyph$\"></i></span>\n\\end\n\n\\define fa-clear()\n<div style=\"clear:both;\"/>\n\\end\n"},"$:/plugins/TheDiveO/FontAwesome/macros/global-macros":{"title":"$:/plugins/TheDiveO/FontAwesome/macros/global-macros","created":"20180328184036630","modified":"20180328191101221","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define fa5-cfgpath(cfg) $:/config/fa5/$cfg$\n\n\\define fa5-cfgfilterexpr() [<cfg>get[text]] [[yes]] +[first[]prefix[yes]]"},"$:/plugins/TheDiveO/FontAwesome/readme":{"title":"$:/plugins/TheDiveO/FontAwesome/readme","created":"20140901105307611","modified":"20180112190527729","type":"text/vnd.tiddlywiki","text":"This plugin adds support for Font Awesome to your ~TiddlyWiki 5. It embeds the [[Font Awesome|http://fontawesome.io/]] within this plugin, so you don't need to install this font in your operating system. You may, but the //embedded// Font Awesome will take precedence to ensure a consistent user experience.\n\nTo install this plugin in your own ~TiddlyWiki(s), simply drop this [[FontAwesome plugin|$:/plugins/TheDiveO/FontAwesome]] onto your own ~TiddlyWiki(s): this will then import it."},"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/FontAwesome":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/FontAwesome","created":"20170227162302202","list-after":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks","modified":"20180328191153542","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-wk-extlinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\na[href^=\"http://fontawesome.io/\"].tc-tiddlylink-external:before,\na[href^=\"http://fontawesome.com/\"].tc-tiddlylink-external:before,\na[href^=\"https://fontawesome.io/\"].tc-tiddlylink-external:before,\na[href^=\"https://fontawesome.com/\"].tc-tiddlylink-external:before {\n <<fa-plugin-font-brands>>\n content: '\\f425\\202f' !important;\n display: inline-block;\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/GitHub":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/GitHub","created":"20170223102202986","list-after":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks","modified":"20180328191203844","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-wk-extlinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\na[href^=\"http://\"][href*=\"github.com\"]:before {\n <<fa-plugin-font-brands>>\n font-size: 90%;\n content: '\\f09b\\202f';\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/Wikipedia":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/Wikipedia","created":"20170223100306336","modified":"20180328191215033","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-wk-extlinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\na[href^=\"http://\"][href*=\".wikipedia.org\"]:before {\n <<fa-plugin-font-brands>>\n font-size: 90%;\n content: '[\\f266]\\202f';\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/doctypes":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks/doctypes","created":"20170301201914393","list-after":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks","modified":"20180328191142557","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-extdoclinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\na[href$=\".pdf\"].tc-tiddlylink-external:before {\n <<fa-plugin-font-regular>>\n content: '\\f1c1\\202f';\n display: inline-block;\n}\n\na[href$=\".gz\"].tc-tiddlylink-external:before, \na[href$=\".zip\"].tc-tiddlylink-external:before,\na[href$=\".7z\"].tc-tiddlylink-external:before {\n <<fa-plugin-font-regular>>\n content: '\\f1c6\\202f';\n display: inline-block;\n}\n\na[href$=\".jpg\"].tc-tiddlylink-external:before,\na[href$=\".jpeg\"].tc-tiddlylink-external:before,\na[href$=\".png\"].tc-tiddlylink-external:before,\na[href$=\".gif\"].tc-tiddlylink-external:before,\na[href$=\".tif\"].tc-tiddlylink-external:before,\na[href$=\".tiff\"].tc-tiddlylink-external:before {\n <<fa-plugin-font-regular>>\n content: '\\f1c5\\202f';\n display: inline-block;\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/styles/extlinks":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/extlinks","created":"20170223100043117","modified":"20180328191133975","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-extlinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\na[href^=\"http://\"]:before {\n <<fa-plugin-font-solid>>\n font-size: 80%;\n content: '\\f35d\\202f';\n display: inline-block;\n}\n\na[href^=\"https://\"]:before {\n <<fa-plugin-font-solid>>\n font-size: 80%;\n content: '\\f023\\202f';\n display: inline-block;\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/styles/fontawesome 5.css":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/fontawesome 5.css","tags":"$:/tags/Stylesheet","type":"text/css","text":"/* autoimported from 'fontawesome-free-5.8.2-web' */\n/*!\n * Font Awesome Free 5.8.2 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\n.fa,\n.fas,\n.far,\n.fal,\n.fab {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-block;\n font-style: normal;\n font-variant: normal;\n text-rendering: auto;\n line-height: 1; }\n\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -.0667em; }\n\n.fa-xs {\n font-size: .75em; }\n\n.fa-sm {\n font-size: .875em; }\n\n.fa-1x {\n font-size: 1em; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-6x {\n font-size: 6em; }\n\n.fa-7x {\n font-size: 7em; }\n\n.fa-8x {\n font-size: 8em; }\n\n.fa-9x {\n font-size: 9em; }\n\n.fa-10x {\n font-size: 10em; }\n\n.fa-fw {\n text-align: center;\n width: 1.25em; }\n\n.fa-ul {\n list-style-type: none;\n margin-left: 2.5em;\n padding-left: 0; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n left: -2em;\n position: absolute;\n text-align: center;\n width: 2em;\n line-height: inherit; }\n\n.fa-border {\n border: solid 0.08em #eee;\n border-radius: .1em;\n padding: .2em .25em .15em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n -webkit-filter: none;\n filter: none; }\n\n.fa-stack {\n display: inline-block;\n height: 2em;\n line-height: 2em;\n position: relative;\n vertical-align: middle;\n width: 2.5em; }\n\n.fa-stack-1x,\n.fa-stack-2x {\n left: 0;\n position: absolute;\n text-align: center;\n width: 100%; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\nreaders do not read off random characters that represent icons */\n.fa-500px:before {\n content: \"\\f26e\"; }\n\n.fa-accessible-icon:before {\n content: \"\\f368\"; }\n\n.fa-accusoft:before {\n content: \"\\f369\"; }\n\n.fa-acquisitions-incorporated:before {\n content: \"\\f6af\"; }\n\n.fa-ad:before {\n content: \"\\f641\"; }\n\n.fa-address-book:before {\n content: \"\\f2b9\"; }\n\n.fa-address-card:before {\n content: \"\\f2bb\"; }\n\n.fa-adjust:before {\n content: \"\\f042\"; }\n\n.fa-adn:before {\n content: \"\\f170\"; }\n\n.fa-adobe:before {\n content: \"\\f778\"; }\n\n.fa-adversal:before {\n content: \"\\f36a\"; }\n\n.fa-affiliatetheme:before {\n content: \"\\f36b\"; }\n\n.fa-air-freshener:before {\n content: \"\\f5d0\"; }\n\n.fa-airbnb:before {\n content: \"\\f834\"; }\n\n.fa-algolia:before {\n content: \"\\f36c\"; }\n\n.fa-align-center:before {\n content: \"\\f037\"; }\n\n.fa-align-justify:before {\n content: \"\\f039\"; }\n\n.fa-align-left:before {\n content: \"\\f036\"; }\n\n.fa-align-right:before {\n content: \"\\f038\"; }\n\n.fa-alipay:before {\n content: \"\\f642\"; }\n\n.fa-allergies:before {\n content: \"\\f461\"; }\n\n.fa-amazon:before {\n content: \"\\f270\"; }\n\n.fa-amazon-pay:before {\n content: \"\\f42c\"; }\n\n.fa-ambulance:before {\n content: \"\\f0f9\"; }\n\n.fa-american-sign-language-interpreting:before {\n content: \"\\f2a3\"; }\n\n.fa-amilia:before {\n content: \"\\f36d\"; }\n\n.fa-anchor:before {\n content: \"\\f13d\"; }\n\n.fa-android:before {\n content: \"\\f17b\"; }\n\n.fa-angellist:before {\n content: \"\\f209\"; }\n\n.fa-angle-double-down:before {\n content: \"\\f103\"; }\n\n.fa-angle-double-left:before {\n content: \"\\f100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\f101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\f102\"; }\n\n.fa-angle-down:before {\n content: \"\\f107\"; }\n\n.fa-angle-left:before {\n content: \"\\f104\"; }\n\n.fa-angle-right:before {\n content: \"\\f105\"; }\n\n.fa-angle-up:before {\n content: \"\\f106\"; }\n\n.fa-angry:before {\n content: \"\\f556\"; }\n\n.fa-angrycreative:before {\n content: \"\\f36e\"; }\n\n.fa-angular:before {\n content: \"\\f420\"; }\n\n.fa-ankh:before {\n content: \"\\f644\"; }\n\n.fa-app-store:before {\n content: \"\\f36f\"; }\n\n.fa-app-store-ios:before {\n content: \"\\f370\"; }\n\n.fa-apper:before {\n content: \"\\f371\"; }\n\n.fa-apple:before {\n content: \"\\f179\"; }\n\n.fa-apple-alt:before {\n content: \"\\f5d1\"; }\n\n.fa-apple-pay:before {\n content: \"\\f415\"; }\n\n.fa-archive:before {\n content: \"\\f187\"; }\n\n.fa-archway:before {\n content: \"\\f557\"; }\n\n.fa-arrow-alt-circle-down:before {\n content: \"\\f358\"; }\n\n.fa-arrow-alt-circle-left:before {\n content: \"\\f359\"; }\n\n.fa-arrow-alt-circle-right:before {\n content: \"\\f35a\"; }\n\n.fa-arrow-alt-circle-up:before {\n content: \"\\f35b\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\f0ab\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\f0a8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\f0a9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\f0aa\"; }\n\n.fa-arrow-down:before {\n content: \"\\f063\"; }\n\n.fa-arrow-left:before {\n content: \"\\f060\"; }\n\n.fa-arrow-right:before {\n content: \"\\f061\"; }\n\n.fa-arrow-up:before {\n content: \"\\f062\"; }\n\n.fa-arrows-alt:before {\n content: \"\\f0b2\"; }\n\n.fa-arrows-alt-h:before {\n content: \"\\f337\"; }\n\n.fa-arrows-alt-v:before {\n content: \"\\f338\"; }\n\n.fa-artstation:before {\n content: \"\\f77a\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\f2a2\"; }\n\n.fa-asterisk:before {\n content: \"\\f069\"; }\n\n.fa-asymmetrik:before {\n content: \"\\f372\"; }\n\n.fa-at:before {\n content: \"\\f1fa\"; }\n\n.fa-atlas:before {\n content: \"\\f558\"; }\n\n.fa-atlassian:before {\n content: \"\\f77b\"; }\n\n.fa-atom:before {\n content: \"\\f5d2\"; }\n\n.fa-audible:before {\n content: \"\\f373\"; }\n\n.fa-audio-description:before {\n content: \"\\f29e\"; }\n\n.fa-autoprefixer:before {\n content: \"\\f41c\"; }\n\n.fa-avianex:before {\n content: \"\\f374\"; }\n\n.fa-aviato:before {\n content: \"\\f421\"; }\n\n.fa-award:before {\n content: \"\\f559\"; }\n\n.fa-aws:before {\n content: \"\\f375\"; }\n\n.fa-baby:before {\n content: \"\\f77c\"; }\n\n.fa-baby-carriage:before {\n content: \"\\f77d\"; }\n\n.fa-backspace:before {\n content: \"\\f55a\"; }\n\n.fa-backward:before {\n content: \"\\f04a\"; }\n\n.fa-bacon:before {\n content: \"\\f7e5\"; }\n\n.fa-balance-scale:before {\n content: \"\\f24e\"; }\n\n.fa-ban:before {\n content: \"\\f05e\"; }\n\n.fa-band-aid:before {\n content: \"\\f462\"; }\n\n.fa-bandcamp:before {\n content: \"\\f2d5\"; }\n\n.fa-barcode:before {\n content: \"\\f02a\"; }\n\n.fa-bars:before {\n content: \"\\f0c9\"; }\n\n.fa-baseball-ball:before {\n content: \"\\f433\"; }\n\n.fa-basketball-ball:before {\n content: \"\\f434\"; }\n\n.fa-bath:before {\n content: \"\\f2cd\"; }\n\n.fa-battery-empty:before {\n content: \"\\f244\"; }\n\n.fa-battery-full:before {\n content: \"\\f240\"; }\n\n.fa-battery-half:before {\n content: \"\\f242\"; }\n\n.fa-battery-quarter:before {\n content: \"\\f243\"; }\n\n.fa-battery-three-quarters:before {\n content: \"\\f241\"; }\n\n.fa-battle-net:before {\n content: \"\\f835\"; }\n\n.fa-bed:before {\n content: \"\\f236\"; }\n\n.fa-beer:before {\n content: \"\\f0fc\"; }\n\n.fa-behance:before {\n content: \"\\f1b4\"; }\n\n.fa-behance-square:before {\n content: \"\\f1b5\"; }\n\n.fa-bell:before {\n content: \"\\f0f3\"; }\n\n.fa-bell-slash:before {\n content: \"\\f1f6\"; }\n\n.fa-bezier-curve:before {\n content: \"\\f55b\"; }\n\n.fa-bible:before {\n content: \"\\f647\"; }\n\n.fa-bicycle:before {\n content: \"\\f206\"; }\n\n.fa-bimobject:before {\n content: \"\\f378\"; }\n\n.fa-binoculars:before {\n content: \"\\f1e5\"; }\n\n.fa-biohazard:before {\n content: \"\\f780\"; }\n\n.fa-birthday-cake:before {\n content: \"\\f1fd\"; }\n\n.fa-bitbucket:before {\n content: \"\\f171\"; }\n\n.fa-bitcoin:before {\n content: \"\\f379\"; }\n\n.fa-bity:before {\n content: \"\\f37a\"; }\n\n.fa-black-tie:before {\n content: \"\\f27e\"; }\n\n.fa-blackberry:before {\n content: \"\\f37b\"; }\n\n.fa-blender:before {\n content: \"\\f517\"; }\n\n.fa-blender-phone:before {\n content: \"\\f6b6\"; }\n\n.fa-blind:before {\n content: \"\\f29d\"; }\n\n.fa-blog:before {\n content: \"\\f781\"; }\n\n.fa-blogger:before {\n content: \"\\f37c\"; }\n\n.fa-blogger-b:before {\n content: \"\\f37d\"; }\n\n.fa-bluetooth:before {\n content: \"\\f293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\f294\"; }\n\n.fa-bold:before {\n content: \"\\f032\"; }\n\n.fa-bolt:before {\n content: \"\\f0e7\"; }\n\n.fa-bomb:before {\n content: \"\\f1e2\"; }\n\n.fa-bone:before {\n content: \"\\f5d7\"; }\n\n.fa-bong:before {\n content: \"\\f55c\"; }\n\n.fa-book:before {\n content: \"\\f02d\"; }\n\n.fa-book-dead:before {\n content: \"\\f6b7\"; }\n\n.fa-book-medical:before {\n content: \"\\f7e6\"; }\n\n.fa-book-open:before {\n content: \"\\f518\"; }\n\n.fa-book-reader:before {\n content: \"\\f5da\"; }\n\n.fa-bookmark:before {\n content: \"\\f02e\"; }\n\n.fa-bootstrap:before {\n content: \"\\f836\"; }\n\n.fa-bowling-ball:before {\n content: \"\\f436\"; }\n\n.fa-box:before {\n content: \"\\f466\"; }\n\n.fa-box-open:before {\n content: \"\\f49e\"; }\n\n.fa-boxes:before {\n content: \"\\f468\"; }\n\n.fa-braille:before {\n content: \"\\f2a1\"; }\n\n.fa-brain:before {\n content: \"\\f5dc\"; }\n\n.fa-bread-slice:before {\n content: \"\\f7ec\"; }\n\n.fa-briefcase:before {\n content: \"\\f0b1\"; }\n\n.fa-briefcase-medical:before {\n content: \"\\f469\"; }\n\n.fa-broadcast-tower:before {\n content: \"\\f519\"; }\n\n.fa-broom:before {\n content: \"\\f51a\"; }\n\n.fa-brush:before {\n content: \"\\f55d\"; }\n\n.fa-btc:before {\n content: \"\\f15a\"; }\n\n.fa-buffer:before {\n content: \"\\f837\"; }\n\n.fa-bug:before {\n content: \"\\f188\"; }\n\n.fa-building:before {\n content: \"\\f1ad\"; }\n\n.fa-bullhorn:before {\n content: \"\\f0a1\"; }\n\n.fa-bullseye:before {\n content: \"\\f140\"; }\n\n.fa-burn:before {\n content: \"\\f46a\"; }\n\n.fa-buromobelexperte:before {\n content: \"\\f37f\"; }\n\n.fa-bus:before {\n content: \"\\f207\"; }\n\n.fa-bus-alt:before {\n content: \"\\f55e\"; }\n\n.fa-business-time:before {\n content: \"\\f64a\"; }\n\n.fa-buysellads:before {\n content: \"\\f20d\"; }\n\n.fa-calculator:before {\n content: \"\\f1ec\"; }\n\n.fa-calendar:before {\n content: \"\\f133\"; }\n\n.fa-calendar-alt:before {\n content: \"\\f073\"; }\n\n.fa-calendar-check:before {\n content: \"\\f274\"; }\n\n.fa-calendar-day:before {\n content: \"\\f783\"; }\n\n.fa-calendar-minus:before {\n content: \"\\f272\"; }\n\n.fa-calendar-plus:before {\n content: \"\\f271\"; }\n\n.fa-calendar-times:before {\n content: \"\\f273\"; }\n\n.fa-calendar-week:before {\n content: \"\\f784\"; }\n\n.fa-camera:before {\n content: \"\\f030\"; }\n\n.fa-camera-retro:before {\n content: \"\\f083\"; }\n\n.fa-campground:before {\n content: \"\\f6bb\"; }\n\n.fa-canadian-maple-leaf:before {\n content: \"\\f785\"; }\n\n.fa-candy-cane:before {\n content: \"\\f786\"; }\n\n.fa-cannabis:before {\n content: \"\\f55f\"; }\n\n.fa-capsules:before {\n content: \"\\f46b\"; }\n\n.fa-car:before {\n content: \"\\f1b9\"; }\n\n.fa-car-alt:before {\n content: \"\\f5de\"; }\n\n.fa-car-battery:before {\n content: \"\\f5df\"; }\n\n.fa-car-crash:before {\n content: \"\\f5e1\"; }\n\n.fa-car-side:before {\n content: \"\\f5e4\"; }\n\n.fa-caret-down:before {\n content: \"\\f0d7\"; }\n\n.fa-caret-left:before {\n content: \"\\f0d9\"; }\n\n.fa-caret-right:before {\n content: \"\\f0da\"; }\n\n.fa-caret-square-down:before {\n content: \"\\f150\"; }\n\n.fa-caret-square-left:before {\n content: \"\\f191\"; }\n\n.fa-caret-square-right:before {\n content: \"\\f152\"; }\n\n.fa-caret-square-up:before {\n content: \"\\f151\"; }\n\n.fa-caret-up:before {\n content: \"\\f0d8\"; }\n\n.fa-carrot:before {\n content: \"\\f787\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\f218\"; }\n\n.fa-cart-plus:before {\n content: \"\\f217\"; }\n\n.fa-cash-register:before {\n content: \"\\f788\"; }\n\n.fa-cat:before {\n content: \"\\f6be\"; }\n\n.fa-cc-amazon-pay:before {\n content: \"\\f42d\"; }\n\n.fa-cc-amex:before {\n content: \"\\f1f3\"; }\n\n.fa-cc-apple-pay:before {\n content: \"\\f416\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\f24c\"; }\n\n.fa-cc-discover:before {\n content: \"\\f1f2\"; }\n\n.fa-cc-jcb:before {\n content: \"\\f24b\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\f1f1\"; }\n\n.fa-cc-paypal:before {\n content: \"\\f1f4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\f1f5\"; }\n\n.fa-cc-visa:before {\n content: \"\\f1f0\"; }\n\n.fa-centercode:before {\n content: \"\\f380\"; }\n\n.fa-centos:before {\n content: \"\\f789\"; }\n\n.fa-certificate:before {\n content: \"\\f0a3\"; }\n\n.fa-chair:before {\n content: \"\\f6c0\"; }\n\n.fa-chalkboard:before {\n content: \"\\f51b\"; }\n\n.fa-chalkboard-teacher:before {\n content: \"\\f51c\"; }\n\n.fa-charging-station:before {\n content: \"\\f5e7\"; }\n\n.fa-chart-area:before {\n content: \"\\f1fe\"; }\n\n.fa-chart-bar:before {\n content: \"\\f080\"; }\n\n.fa-chart-line:before {\n content: \"\\f201\"; }\n\n.fa-chart-pie:before {\n content: \"\\f200\"; }\n\n.fa-check:before {\n content: \"\\f00c\"; }\n\n.fa-check-circle:before {\n content: \"\\f058\"; }\n\n.fa-check-double:before {\n content: \"\\f560\"; }\n\n.fa-check-square:before {\n content: \"\\f14a\"; }\n\n.fa-cheese:before {\n content: \"\\f7ef\"; }\n\n.fa-chess:before {\n content: \"\\f439\"; }\n\n.fa-chess-bishop:before {\n content: \"\\f43a\"; }\n\n.fa-chess-board:before {\n content: \"\\f43c\"; }\n\n.fa-chess-king:before {\n content: \"\\f43f\"; }\n\n.fa-chess-knight:before {\n content: \"\\f441\"; }\n\n.fa-chess-pawn:before {\n content: \"\\f443\"; }\n\n.fa-chess-queen:before {\n content: \"\\f445\"; }\n\n.fa-chess-rook:before {\n content: \"\\f447\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\f13a\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\f137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\f138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\f139\"; }\n\n.fa-chevron-down:before {\n content: \"\\f078\"; }\n\n.fa-chevron-left:before {\n content: \"\\f053\"; }\n\n.fa-chevron-right:before {\n content: \"\\f054\"; }\n\n.fa-chevron-up:before {\n content: \"\\f077\"; }\n\n.fa-child:before {\n content: \"\\f1ae\"; }\n\n.fa-chrome:before {\n content: \"\\f268\"; }\n\n.fa-chromecast:before {\n content: \"\\f838\"; }\n\n.fa-church:before {\n content: \"\\f51d\"; }\n\n.fa-circle:before {\n content: \"\\f111\"; }\n\n.fa-circle-notch:before {\n content: \"\\f1ce\"; }\n\n.fa-city:before {\n content: \"\\f64f\"; }\n\n.fa-clinic-medical:before {\n content: \"\\f7f2\"; }\n\n.fa-clipboard:before {\n content: \"\\f328\"; }\n\n.fa-clipboard-check:before {\n content: \"\\f46c\"; }\n\n.fa-clipboard-list:before {\n content: \"\\f46d\"; }\n\n.fa-clock:before {\n content: \"\\f017\"; }\n\n.fa-clone:before {\n content: \"\\f24d\"; }\n\n.fa-closed-captioning:before {\n content: \"\\f20a\"; }\n\n.fa-cloud:before {\n content: \"\\f0c2\"; }\n\n.fa-cloud-download-alt:before {\n content: \"\\f381\"; }\n\n.fa-cloud-meatball:before {\n content: \"\\f73b\"; }\n\n.fa-cloud-moon:before {\n content: \"\\f6c3\"; }\n\n.fa-cloud-moon-rain:before {\n content: \"\\f73c\"; }\n\n.fa-cloud-rain:before {\n content: \"\\f73d\"; }\n\n.fa-cloud-showers-heavy:before {\n content: \"\\f740\"; }\n\n.fa-cloud-sun:before {\n content: \"\\f6c4\"; }\n\n.fa-cloud-sun-rain:before {\n content: \"\\f743\"; }\n\n.fa-cloud-upload-alt:before {\n content: \"\\f382\"; }\n\n.fa-cloudscale:before {\n content: \"\\f383\"; }\n\n.fa-cloudsmith:before {\n content: \"\\f384\"; }\n\n.fa-cloudversify:before {\n content: \"\\f385\"; }\n\n.fa-cocktail:before {\n content: \"\\f561\"; }\n\n.fa-code:before {\n content: \"\\f121\"; }\n\n.fa-code-branch:before {\n content: \"\\f126\"; }\n\n.fa-codepen:before {\n content: \"\\f1cb\"; }\n\n.fa-codiepie:before {\n content: \"\\f284\"; }\n\n.fa-coffee:before {\n content: \"\\f0f4\"; }\n\n.fa-cog:before {\n content: \"\\f013\"; }\n\n.fa-cogs:before {\n content: \"\\f085\"; }\n\n.fa-coins:before {\n content: \"\\f51e\"; }\n\n.fa-columns:before {\n content: \"\\f0db\"; }\n\n.fa-comment:before {\n content: \"\\f075\"; }\n\n.fa-comment-alt:before {\n content: \"\\f27a\"; }\n\n.fa-comment-dollar:before {\n content: \"\\f651\"; }\n\n.fa-comment-dots:before {\n content: \"\\f4ad\"; }\n\n.fa-comment-medical:before {\n content: \"\\f7f5\"; }\n\n.fa-comment-slash:before {\n content: \"\\f4b3\"; }\n\n.fa-comments:before {\n content: \"\\f086\"; }\n\n.fa-comments-dollar:before {\n content: \"\\f653\"; }\n\n.fa-compact-disc:before {\n content: \"\\f51f\"; }\n\n.fa-compass:before {\n content: \"\\f14e\"; }\n\n.fa-compress:before {\n content: \"\\f066\"; }\n\n.fa-compress-arrows-alt:before {\n content: \"\\f78c\"; }\n\n.fa-concierge-bell:before {\n content: \"\\f562\"; }\n\n.fa-confluence:before {\n content: \"\\f78d\"; }\n\n.fa-connectdevelop:before {\n content: \"\\f20e\"; }\n\n.fa-contao:before {\n content: \"\\f26d\"; }\n\n.fa-cookie:before {\n content: \"\\f563\"; }\n\n.fa-cookie-bite:before {\n content: \"\\f564\"; }\n\n.fa-copy:before {\n content: \"\\f0c5\"; }\n\n.fa-copyright:before {\n content: \"\\f1f9\"; }\n\n.fa-couch:before {\n content: \"\\f4b8\"; }\n\n.fa-cpanel:before {\n content: \"\\f388\"; }\n\n.fa-creative-commons:before {\n content: \"\\f25e\"; }\n\n.fa-creative-commons-by:before {\n content: \"\\f4e7\"; }\n\n.fa-creative-commons-nc:before {\n content: \"\\f4e8\"; }\n\n.fa-creative-commons-nc-eu:before {\n content: \"\\f4e9\"; }\n\n.fa-creative-commons-nc-jp:before {\n content: \"\\f4ea\"; }\n\n.fa-creative-commons-nd:before {\n content: \"\\f4eb\"; }\n\n.fa-creative-commons-pd:before {\n content: \"\\f4ec\"; }\n\n.fa-creative-commons-pd-alt:before {\n content: \"\\f4ed\"; }\n\n.fa-creative-commons-remix:before {\n content: \"\\f4ee\"; }\n\n.fa-creative-commons-sa:before {\n content: \"\\f4ef\"; }\n\n.fa-creative-commons-sampling:before {\n content: \"\\f4f0\"; }\n\n.fa-creative-commons-sampling-plus:before {\n content: \"\\f4f1\"; }\n\n.fa-creative-commons-share:before {\n content: \"\\f4f2\"; }\n\n.fa-creative-commons-zero:before {\n content: \"\\f4f3\"; }\n\n.fa-credit-card:before {\n content: \"\\f09d\"; }\n\n.fa-critical-role:before {\n content: \"\\f6c9\"; }\n\n.fa-crop:before {\n content: \"\\f125\"; }\n\n.fa-crop-alt:before {\n content: \"\\f565\"; }\n\n.fa-cross:before {\n content: \"\\f654\"; }\n\n.fa-crosshairs:before {\n content: \"\\f05b\"; }\n\n.fa-crow:before {\n content: \"\\f520\"; }\n\n.fa-crown:before {\n content: \"\\f521\"; }\n\n.fa-crutch:before {\n content: \"\\f7f7\"; }\n\n.fa-css3:before {\n content: \"\\f13c\"; }\n\n.fa-css3-alt:before {\n content: \"\\f38b\"; }\n\n.fa-cube:before {\n content: \"\\f1b2\"; }\n\n.fa-cubes:before {\n content: \"\\f1b3\"; }\n\n.fa-cut:before {\n content: \"\\f0c4\"; }\n\n.fa-cuttlefish:before {\n content: \"\\f38c\"; }\n\n.fa-d-and-d:before {\n content: \"\\f38d\"; }\n\n.fa-d-and-d-beyond:before {\n content: \"\\f6ca\"; }\n\n.fa-dashcube:before {\n content: \"\\f210\"; }\n\n.fa-database:before {\n content: \"\\f1c0\"; }\n\n.fa-deaf:before {\n content: \"\\f2a4\"; }\n\n.fa-delicious:before {\n content: \"\\f1a5\"; }\n\n.fa-democrat:before {\n content: \"\\f747\"; }\n\n.fa-deploydog:before {\n content: \"\\f38e\"; }\n\n.fa-deskpro:before {\n content: \"\\f38f\"; }\n\n.fa-desktop:before {\n content: \"\\f108\"; }\n\n.fa-dev:before {\n content: \"\\f6cc\"; }\n\n.fa-deviantart:before {\n content: \"\\f1bd\"; }\n\n.fa-dharmachakra:before {\n content: \"\\f655\"; }\n\n.fa-dhl:before {\n content: \"\\f790\"; }\n\n.fa-diagnoses:before {\n content: \"\\f470\"; }\n\n.fa-diaspora:before {\n content: \"\\f791\"; }\n\n.fa-dice:before {\n content: \"\\f522\"; }\n\n.fa-dice-d20:before {\n content: \"\\f6cf\"; }\n\n.fa-dice-d6:before {\n content: \"\\f6d1\"; }\n\n.fa-dice-five:before {\n content: \"\\f523\"; }\n\n.fa-dice-four:before {\n content: \"\\f524\"; }\n\n.fa-dice-one:before {\n content: \"\\f525\"; }\n\n.fa-dice-six:before {\n content: \"\\f526\"; }\n\n.fa-dice-three:before {\n content: \"\\f527\"; }\n\n.fa-dice-two:before {\n content: \"\\f528\"; }\n\n.fa-digg:before {\n content: \"\\f1a6\"; }\n\n.fa-digital-ocean:before {\n content: \"\\f391\"; }\n\n.fa-digital-tachograph:before {\n content: \"\\f566\"; }\n\n.fa-directions:before {\n content: \"\\f5eb\"; }\n\n.fa-discord:before {\n content: \"\\f392\"; }\n\n.fa-discourse:before {\n content: \"\\f393\"; }\n\n.fa-divide:before {\n content: \"\\f529\"; }\n\n.fa-dizzy:before {\n content: \"\\f567\"; }\n\n.fa-dna:before {\n content: \"\\f471\"; }\n\n.fa-dochub:before {\n content: \"\\f394\"; }\n\n.fa-docker:before {\n content: \"\\f395\"; }\n\n.fa-dog:before {\n content: \"\\f6d3\"; }\n\n.fa-dollar-sign:before {\n content: \"\\f155\"; }\n\n.fa-dolly:before {\n content: \"\\f472\"; }\n\n.fa-dolly-flatbed:before {\n content: \"\\f474\"; }\n\n.fa-donate:before {\n content: \"\\f4b9\"; }\n\n.fa-door-closed:before {\n content: \"\\f52a\"; }\n\n.fa-door-open:before {\n content: \"\\f52b\"; }\n\n.fa-dot-circle:before {\n content: \"\\f192\"; }\n\n.fa-dove:before {\n content: \"\\f4ba\"; }\n\n.fa-download:before {\n content: \"\\f019\"; }\n\n.fa-draft2digital:before {\n content: \"\\f396\"; }\n\n.fa-drafting-compass:before {\n content: \"\\f568\"; }\n\n.fa-dragon:before {\n content: \"\\f6d5\"; }\n\n.fa-draw-polygon:before {\n content: \"\\f5ee\"; }\n\n.fa-dribbble:before {\n content: \"\\f17d\"; }\n\n.fa-dribbble-square:before {\n content: \"\\f397\"; }\n\n.fa-dropbox:before {\n content: \"\\f16b\"; }\n\n.fa-drum:before {\n content: \"\\f569\"; }\n\n.fa-drum-steelpan:before {\n content: \"\\f56a\"; }\n\n.fa-drumstick-bite:before {\n content: \"\\f6d7\"; }\n\n.fa-drupal:before {\n content: \"\\f1a9\"; }\n\n.fa-dumbbell:before {\n content: \"\\f44b\"; }\n\n.fa-dumpster:before {\n content: \"\\f793\"; }\n\n.fa-dumpster-fire:before {\n content: \"\\f794\"; }\n\n.fa-dungeon:before {\n content: \"\\f6d9\"; }\n\n.fa-dyalog:before {\n content: \"\\f399\"; }\n\n.fa-earlybirds:before {\n content: \"\\f39a\"; }\n\n.fa-ebay:before {\n content: \"\\f4f4\"; }\n\n.fa-edge:before {\n content: \"\\f282\"; }\n\n.fa-edit:before {\n content: \"\\f044\"; }\n\n.fa-egg:before {\n content: \"\\f7fb\"; }\n\n.fa-eject:before {\n content: \"\\f052\"; }\n\n.fa-elementor:before {\n content: \"\\f430\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\f141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\f142\"; }\n\n.fa-ello:before {\n content: \"\\f5f1\"; }\n\n.fa-ember:before {\n content: \"\\f423\"; }\n\n.fa-empire:before {\n content: \"\\f1d1\"; }\n\n.fa-envelope:before {\n content: \"\\f0e0\"; }\n\n.fa-envelope-open:before {\n content: \"\\f2b6\"; }\n\n.fa-envelope-open-text:before {\n content: \"\\f658\"; }\n\n.fa-envelope-square:before {\n content: \"\\f199\"; }\n\n.fa-envira:before {\n content: \"\\f299\"; }\n\n.fa-equals:before {\n content: \"\\f52c\"; }\n\n.fa-eraser:before {\n content: \"\\f12d\"; }\n\n.fa-erlang:before {\n content: \"\\f39d\"; }\n\n.fa-ethereum:before {\n content: \"\\f42e\"; }\n\n.fa-ethernet:before {\n content: \"\\f796\"; }\n\n.fa-etsy:before {\n content: \"\\f2d7\"; }\n\n.fa-euro-sign:before {\n content: \"\\f153\"; }\n\n.fa-evernote:before {\n content: \"\\f839\"; }\n\n.fa-exchange-alt:before {\n content: \"\\f362\"; }\n\n.fa-exclamation:before {\n content: \"\\f12a\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\f06a\"; }\n\n.fa-exclamation-triangle:before {\n content: \"\\f071\"; }\n\n.fa-expand:before {\n content: \"\\f065\"; }\n\n.fa-expand-arrows-alt:before {\n content: \"\\f31e\"; }\n\n.fa-expeditedssl:before {\n content: \"\\f23e\"; }\n\n.fa-external-link-alt:before {\n content: \"\\f35d\"; }\n\n.fa-external-link-square-alt:before {\n content: \"\\f360\"; }\n\n.fa-eye:before {\n content: \"\\f06e\"; }\n\n.fa-eye-dropper:before {\n content: \"\\f1fb\"; }\n\n.fa-eye-slash:before {\n content: \"\\f070\"; }\n\n.fa-facebook:before {\n content: \"\\f09a\"; }\n\n.fa-facebook-f:before {\n content: \"\\f39e\"; }\n\n.fa-facebook-messenger:before {\n content: \"\\f39f\"; }\n\n.fa-facebook-square:before {\n content: \"\\f082\"; }\n\n.fa-fantasy-flight-games:before {\n content: \"\\f6dc\"; }\n\n.fa-fast-backward:before {\n content: \"\\f049\"; }\n\n.fa-fast-forward:before {\n content: \"\\f050\"; }\n\n.fa-fax:before {\n content: \"\\f1ac\"; }\n\n.fa-feather:before {\n content: \"\\f52d\"; }\n\n.fa-feather-alt:before {\n content: \"\\f56b\"; }\n\n.fa-fedex:before {\n content: \"\\f797\"; }\n\n.fa-fedora:before {\n content: \"\\f798\"; }\n\n.fa-female:before {\n content: \"\\f182\"; }\n\n.fa-fighter-jet:before {\n content: \"\\f0fb\"; }\n\n.fa-figma:before {\n content: \"\\f799\"; }\n\n.fa-file:before {\n content: \"\\f15b\"; }\n\n.fa-file-alt:before {\n content: \"\\f15c\"; }\n\n.fa-file-archive:before {\n content: \"\\f1c6\"; }\n\n.fa-file-audio:before {\n content: \"\\f1c7\"; }\n\n.fa-file-code:before {\n content: \"\\f1c9\"; }\n\n.fa-file-contract:before {\n content: \"\\f56c\"; }\n\n.fa-file-csv:before {\n content: \"\\f6dd\"; }\n\n.fa-file-download:before {\n content: \"\\f56d\"; }\n\n.fa-file-excel:before {\n content: \"\\f1c3\"; }\n\n.fa-file-export:before {\n content: \"\\f56e\"; }\n\n.fa-file-image:before {\n content: \"\\f1c5\"; }\n\n.fa-file-import:before {\n content: \"\\f56f\"; }\n\n.fa-file-invoice:before {\n content: \"\\f570\"; }\n\n.fa-file-invoice-dollar:before {\n content: \"\\f571\"; }\n\n.fa-file-medical:before {\n content: \"\\f477\"; }\n\n.fa-file-medical-alt:before {\n content: \"\\f478\"; }\n\n.fa-file-pdf:before {\n content: \"\\f1c1\"; }\n\n.fa-file-powerpoint:before {\n content: \"\\f1c4\"; }\n\n.fa-file-prescription:before {\n content: \"\\f572\"; }\n\n.fa-file-signature:before {\n content: \"\\f573\"; }\n\n.fa-file-upload:before {\n content: \"\\f574\"; }\n\n.fa-file-video:before {\n content: \"\\f1c8\"; }\n\n.fa-file-word:before {\n content: \"\\f1c2\"; }\n\n.fa-fill:before {\n content: \"\\f575\"; }\n\n.fa-fill-drip:before {\n content: \"\\f576\"; }\n\n.fa-film:before {\n content: \"\\f008\"; }\n\n.fa-filter:before {\n content: \"\\f0b0\"; }\n\n.fa-fingerprint:before {\n content: \"\\f577\"; }\n\n.fa-fire:before {\n content: \"\\f06d\"; }\n\n.fa-fire-alt:before {\n content: \"\\f7e4\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\f134\"; }\n\n.fa-firefox:before {\n content: \"\\f269\"; }\n\n.fa-first-aid:before {\n content: \"\\f479\"; }\n\n.fa-first-order:before {\n content: \"\\f2b0\"; }\n\n.fa-first-order-alt:before {\n content: \"\\f50a\"; }\n\n.fa-firstdraft:before {\n content: \"\\f3a1\"; }\n\n.fa-fish:before {\n content: \"\\f578\"; }\n\n.fa-fist-raised:before {\n content: \"\\f6de\"; }\n\n.fa-flag:before {\n content: \"\\f024\"; }\n\n.fa-flag-checkered:before {\n content: \"\\f11e\"; }\n\n.fa-flag-usa:before {\n content: \"\\f74d\"; }\n\n.fa-flask:before {\n content: \"\\f0c3\"; }\n\n.fa-flickr:before {\n content: \"\\f16e\"; }\n\n.fa-flipboard:before {\n content: \"\\f44d\"; }\n\n.fa-flushed:before {\n content: \"\\f579\"; }\n\n.fa-fly:before {\n content: \"\\f417\"; }\n\n.fa-folder:before {\n content: \"\\f07b\"; }\n\n.fa-folder-minus:before {\n content: \"\\f65d\"; }\n\n.fa-folder-open:before {\n content: \"\\f07c\"; }\n\n.fa-folder-plus:before {\n content: \"\\f65e\"; }\n\n.fa-font:before {\n content: \"\\f031\"; }\n\n.fa-font-awesome:before {\n content: \"\\f2b4\"; }\n\n.fa-font-awesome-alt:before {\n content: \"\\f35c\"; }\n\n.fa-font-awesome-flag:before {\n content: \"\\f425\"; }\n\n.fa-font-awesome-logo-full:before {\n content: \"\\f4e6\"; }\n\n.fa-fonticons:before {\n content: \"\\f280\"; }\n\n.fa-fonticons-fi:before {\n content: \"\\f3a2\"; }\n\n.fa-football-ball:before {\n content: \"\\f44e\"; }\n\n.fa-fort-awesome:before {\n content: \"\\f286\"; }\n\n.fa-fort-awesome-alt:before {\n content: \"\\f3a3\"; }\n\n.fa-forumbee:before {\n content: \"\\f211\"; }\n\n.fa-forward:before {\n content: \"\\f04e\"; }\n\n.fa-foursquare:before {\n content: \"\\f180\"; }\n\n.fa-free-code-camp:before {\n content: \"\\f2c5\"; }\n\n.fa-freebsd:before {\n content: \"\\f3a4\"; }\n\n.fa-frog:before {\n content: \"\\f52e\"; }\n\n.fa-frown:before {\n content: \"\\f119\"; }\n\n.fa-frown-open:before {\n content: \"\\f57a\"; }\n\n.fa-fulcrum:before {\n content: \"\\f50b\"; }\n\n.fa-funnel-dollar:before {\n content: \"\\f662\"; }\n\n.fa-futbol:before {\n content: \"\\f1e3\"; }\n\n.fa-galactic-republic:before {\n content: \"\\f50c\"; }\n\n.fa-galactic-senate:before {\n content: \"\\f50d\"; }\n\n.fa-gamepad:before {\n content: \"\\f11b\"; }\n\n.fa-gas-pump:before {\n content: \"\\f52f\"; }\n\n.fa-gavel:before {\n content: \"\\f0e3\"; }\n\n.fa-gem:before {\n content: \"\\f3a5\"; }\n\n.fa-genderless:before {\n content: \"\\f22d\"; }\n\n.fa-get-pocket:before {\n content: \"\\f265\"; }\n\n.fa-gg:before {\n content: \"\\f260\"; }\n\n.fa-gg-circle:before {\n content: \"\\f261\"; }\n\n.fa-ghost:before {\n content: \"\\f6e2\"; }\n\n.fa-gift:before {\n content: \"\\f06b\"; }\n\n.fa-gifts:before {\n content: \"\\f79c\"; }\n\n.fa-git:before {\n content: \"\\f1d3\"; }\n\n.fa-git-alt:before {\n content: \"\\f841\"; }\n\n.fa-git-square:before {\n content: \"\\f1d2\"; }\n\n.fa-github:before {\n content: \"\\f09b\"; }\n\n.fa-github-alt:before {\n content: \"\\f113\"; }\n\n.fa-github-square:before {\n content: \"\\f092\"; }\n\n.fa-gitkraken:before {\n content: \"\\f3a6\"; }\n\n.fa-gitlab:before {\n content: \"\\f296\"; }\n\n.fa-gitter:before {\n content: \"\\f426\"; }\n\n.fa-glass-cheers:before {\n content: \"\\f79f\"; }\n\n.fa-glass-martini:before {\n content: \"\\f000\"; }\n\n.fa-glass-martini-alt:before {\n content: \"\\f57b\"; }\n\n.fa-glass-whiskey:before {\n content: \"\\f7a0\"; }\n\n.fa-glasses:before {\n content: \"\\f530\"; }\n\n.fa-glide:before {\n content: \"\\f2a5\"; }\n\n.fa-glide-g:before {\n content: \"\\f2a6\"; }\n\n.fa-globe:before {\n content: \"\\f0ac\"; }\n\n.fa-globe-africa:before {\n content: \"\\f57c\"; }\n\n.fa-globe-americas:before {\n content: \"\\f57d\"; }\n\n.fa-globe-asia:before {\n content: \"\\f57e\"; }\n\n.fa-globe-europe:before {\n content: \"\\f7a2\"; }\n\n.fa-gofore:before {\n content: \"\\f3a7\"; }\n\n.fa-golf-ball:before {\n content: \"\\f450\"; }\n\n.fa-goodreads:before {\n content: \"\\f3a8\"; }\n\n.fa-goodreads-g:before {\n content: \"\\f3a9\"; }\n\n.fa-google:before {\n content: \"\\f1a0\"; }\n\n.fa-google-drive:before {\n content: \"\\f3aa\"; }\n\n.fa-google-play:before {\n content: \"\\f3ab\"; }\n\n.fa-google-plus:before {\n content: \"\\f2b3\"; }\n\n.fa-google-plus-g:before {\n content: \"\\f0d5\"; }\n\n.fa-google-plus-square:before {\n content: \"\\f0d4\"; }\n\n.fa-google-wallet:before {\n content: \"\\f1ee\"; }\n\n.fa-gopuram:before {\n content: \"\\f664\"; }\n\n.fa-graduation-cap:before {\n content: \"\\f19d\"; }\n\n.fa-gratipay:before {\n content: \"\\f184\"; }\n\n.fa-grav:before {\n content: \"\\f2d6\"; }\n\n.fa-greater-than:before {\n content: \"\\f531\"; }\n\n.fa-greater-than-equal:before {\n content: \"\\f532\"; }\n\n.fa-grimace:before {\n content: \"\\f57f\"; }\n\n.fa-grin:before {\n content: \"\\f580\"; }\n\n.fa-grin-alt:before {\n content: \"\\f581\"; }\n\n.fa-grin-beam:before {\n content: \"\\f582\"; }\n\n.fa-grin-beam-sweat:before {\n content: \"\\f583\"; }\n\n.fa-grin-hearts:before {\n content: \"\\f584\"; }\n\n.fa-grin-squint:before {\n content: \"\\f585\"; }\n\n.fa-grin-squint-tears:before {\n content: \"\\f586\"; }\n\n.fa-grin-stars:before {\n content: \"\\f587\"; }\n\n.fa-grin-tears:before {\n content: \"\\f588\"; }\n\n.fa-grin-tongue:before {\n content: \"\\f589\"; }\n\n.fa-grin-tongue-squint:before {\n content: \"\\f58a\"; }\n\n.fa-grin-tongue-wink:before {\n content: \"\\f58b\"; }\n\n.fa-grin-wink:before {\n content: \"\\f58c\"; }\n\n.fa-grip-horizontal:before {\n content: \"\\f58d\"; }\n\n.fa-grip-lines:before {\n content: \"\\f7a4\"; }\n\n.fa-grip-lines-vertical:before {\n content: \"\\f7a5\"; }\n\n.fa-grip-vertical:before {\n content: \"\\f58e\"; }\n\n.fa-gripfire:before {\n content: \"\\f3ac\"; }\n\n.fa-grunt:before {\n content: \"\\f3ad\"; }\n\n.fa-guitar:before {\n content: \"\\f7a6\"; }\n\n.fa-gulp:before {\n content: \"\\f3ae\"; }\n\n.fa-h-square:before {\n content: \"\\f0fd\"; }\n\n.fa-hacker-news:before {\n content: \"\\f1d4\"; }\n\n.fa-hacker-news-square:before {\n content: \"\\f3af\"; }\n\n.fa-hackerrank:before {\n content: \"\\f5f7\"; }\n\n.fa-hamburger:before {\n content: \"\\f805\"; }\n\n.fa-hammer:before {\n content: \"\\f6e3\"; }\n\n.fa-hamsa:before {\n content: \"\\f665\"; }\n\n.fa-hand-holding:before {\n content: \"\\f4bd\"; }\n\n.fa-hand-holding-heart:before {\n content: \"\\f4be\"; }\n\n.fa-hand-holding-usd:before {\n content: \"\\f4c0\"; }\n\n.fa-hand-lizard:before {\n content: \"\\f258\"; }\n\n.fa-hand-middle-finger:before {\n content: \"\\f806\"; }\n\n.fa-hand-paper:before {\n content: \"\\f256\"; }\n\n.fa-hand-peace:before {\n content: \"\\f25b\"; }\n\n.fa-hand-point-down:before {\n content: \"\\f0a7\"; }\n\n.fa-hand-point-left:before {\n content: \"\\f0a5\"; }\n\n.fa-hand-point-right:before {\n content: \"\\f0a4\"; }\n\n.fa-hand-point-up:before {\n content: \"\\f0a6\"; }\n\n.fa-hand-pointer:before {\n content: \"\\f25a\"; }\n\n.fa-hand-rock:before {\n content: \"\\f255\"; }\n\n.fa-hand-scissors:before {\n content: \"\\f257\"; }\n\n.fa-hand-spock:before {\n content: \"\\f259\"; }\n\n.fa-hands:before {\n content: \"\\f4c2\"; }\n\n.fa-hands-helping:before {\n content: \"\\f4c4\"; }\n\n.fa-handshake:before {\n content: \"\\f2b5\"; }\n\n.fa-hanukiah:before {\n content: \"\\f6e6\"; }\n\n.fa-hard-hat:before {\n content: \"\\f807\"; }\n\n.fa-hashtag:before {\n content: \"\\f292\"; }\n\n.fa-hat-wizard:before {\n content: \"\\f6e8\"; }\n\n.fa-haykal:before {\n content: \"\\f666\"; }\n\n.fa-hdd:before {\n content: \"\\f0a0\"; }\n\n.fa-heading:before {\n content: \"\\f1dc\"; }\n\n.fa-headphones:before {\n content: \"\\f025\"; }\n\n.fa-headphones-alt:before {\n content: \"\\f58f\"; }\n\n.fa-headset:before {\n content: \"\\f590\"; }\n\n.fa-heart:before {\n content: \"\\f004\"; }\n\n.fa-heart-broken:before {\n content: \"\\f7a9\"; }\n\n.fa-heartbeat:before {\n content: \"\\f21e\"; }\n\n.fa-helicopter:before {\n content: \"\\f533\"; }\n\n.fa-highlighter:before {\n content: \"\\f591\"; }\n\n.fa-hiking:before {\n content: \"\\f6ec\"; }\n\n.fa-hippo:before {\n content: \"\\f6ed\"; }\n\n.fa-hips:before {\n content: \"\\f452\"; }\n\n.fa-hire-a-helper:before {\n content: \"\\f3b0\"; }\n\n.fa-history:before {\n content: \"\\f1da\"; }\n\n.fa-hockey-puck:before {\n content: \"\\f453\"; }\n\n.fa-holly-berry:before {\n content: \"\\f7aa\"; }\n\n.fa-home:before {\n content: \"\\f015\"; }\n\n.fa-hooli:before {\n content: \"\\f427\"; }\n\n.fa-hornbill:before {\n content: \"\\f592\"; }\n\n.fa-horse:before {\n content: \"\\f6f0\"; }\n\n.fa-horse-head:before {\n content: \"\\f7ab\"; }\n\n.fa-hospital:before {\n content: \"\\f0f8\"; }\n\n.fa-hospital-alt:before {\n content: \"\\f47d\"; }\n\n.fa-hospital-symbol:before {\n content: \"\\f47e\"; }\n\n.fa-hot-tub:before {\n content: \"\\f593\"; }\n\n.fa-hotdog:before {\n content: \"\\f80f\"; }\n\n.fa-hotel:before {\n content: \"\\f594\"; }\n\n.fa-hotjar:before {\n content: \"\\f3b1\"; }\n\n.fa-hourglass:before {\n content: \"\\f254\"; }\n\n.fa-hourglass-end:before {\n content: \"\\f253\"; }\n\n.fa-hourglass-half:before {\n content: \"\\f252\"; }\n\n.fa-hourglass-start:before {\n content: \"\\f251\"; }\n\n.fa-house-damage:before {\n content: \"\\f6f1\"; }\n\n.fa-houzz:before {\n content: \"\\f27c\"; }\n\n.fa-hryvnia:before {\n content: \"\\f6f2\"; }\n\n.fa-html5:before {\n content: \"\\f13b\"; }\n\n.fa-hubspot:before {\n content: \"\\f3b2\"; }\n\n.fa-i-cursor:before {\n content: \"\\f246\"; }\n\n.fa-ice-cream:before {\n content: \"\\f810\"; }\n\n.fa-icicles:before {\n content: \"\\f7ad\"; }\n\n.fa-id-badge:before {\n content: \"\\f2c1\"; }\n\n.fa-id-card:before {\n content: \"\\f2c2\"; }\n\n.fa-id-card-alt:before {\n content: \"\\f47f\"; }\n\n.fa-igloo:before {\n content: \"\\f7ae\"; }\n\n.fa-image:before {\n content: \"\\f03e\"; }\n\n.fa-images:before {\n content: \"\\f302\"; }\n\n.fa-imdb:before {\n content: \"\\f2d8\"; }\n\n.fa-inbox:before {\n content: \"\\f01c\"; }\n\n.fa-indent:before {\n content: \"\\f03c\"; }\n\n.fa-industry:before {\n content: \"\\f275\"; }\n\n.fa-infinity:before {\n content: \"\\f534\"; }\n\n.fa-info:before {\n content: \"\\f129\"; }\n\n.fa-info-circle:before {\n content: \"\\f05a\"; }\n\n.fa-instagram:before {\n content: \"\\f16d\"; }\n\n.fa-intercom:before {\n content: \"\\f7af\"; }\n\n.fa-internet-explorer:before {\n content: \"\\f26b\"; }\n\n.fa-invision:before {\n content: \"\\f7b0\"; }\n\n.fa-ioxhost:before {\n content: \"\\f208\"; }\n\n.fa-italic:before {\n content: \"\\f033\"; }\n\n.fa-itch-io:before {\n content: \"\\f83a\"; }\n\n.fa-itunes:before {\n content: \"\\f3b4\"; }\n\n.fa-itunes-note:before {\n content: \"\\f3b5\"; }\n\n.fa-java:before {\n content: \"\\f4e4\"; }\n\n.fa-jedi:before {\n content: \"\\f669\"; }\n\n.fa-jedi-order:before {\n content: \"\\f50e\"; }\n\n.fa-jenkins:before {\n content: \"\\f3b6\"; }\n\n.fa-jira:before {\n content: \"\\f7b1\"; }\n\n.fa-joget:before {\n content: \"\\f3b7\"; }\n\n.fa-joint:before {\n content: \"\\f595\"; }\n\n.fa-joomla:before {\n content: \"\\f1aa\"; }\n\n.fa-journal-whills:before {\n content: \"\\f66a\"; }\n\n.fa-js:before {\n content: \"\\f3b8\"; }\n\n.fa-js-square:before {\n content: \"\\f3b9\"; }\n\n.fa-jsfiddle:before {\n content: \"\\f1cc\"; }\n\n.fa-kaaba:before {\n content: \"\\f66b\"; }\n\n.fa-kaggle:before {\n content: \"\\f5fa\"; }\n\n.fa-key:before {\n content: \"\\f084\"; }\n\n.fa-keybase:before {\n content: \"\\f4f5\"; }\n\n.fa-keyboard:before {\n content: \"\\f11c\"; }\n\n.fa-keycdn:before {\n content: \"\\f3ba\"; }\n\n.fa-khanda:before {\n content: \"\\f66d\"; }\n\n.fa-kickstarter:before {\n content: \"\\f3bb\"; }\n\n.fa-kickstarter-k:before {\n content: \"\\f3bc\"; }\n\n.fa-kiss:before {\n content: \"\\f596\"; }\n\n.fa-kiss-beam:before {\n content: \"\\f597\"; }\n\n.fa-kiss-wink-heart:before {\n content: \"\\f598\"; }\n\n.fa-kiwi-bird:before {\n content: \"\\f535\"; }\n\n.fa-korvue:before {\n content: \"\\f42f\"; }\n\n.fa-landmark:before {\n content: \"\\f66f\"; }\n\n.fa-language:before {\n content: \"\\f1ab\"; }\n\n.fa-laptop:before {\n content: \"\\f109\"; }\n\n.fa-laptop-code:before {\n content: \"\\f5fc\"; }\n\n.fa-laptop-medical:before {\n content: \"\\f812\"; }\n\n.fa-laravel:before {\n content: \"\\f3bd\"; }\n\n.fa-lastfm:before {\n content: \"\\f202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\f203\"; }\n\n.fa-laugh:before {\n content: \"\\f599\"; }\n\n.fa-laugh-beam:before {\n content: \"\\f59a\"; }\n\n.fa-laugh-squint:before {\n content: \"\\f59b\"; }\n\n.fa-laugh-wink:before {\n content: \"\\f59c\"; }\n\n.fa-layer-group:before {\n content: \"\\f5fd\"; }\n\n.fa-leaf:before {\n content: \"\\f06c\"; }\n\n.fa-leanpub:before {\n content: \"\\f212\"; }\n\n.fa-lemon:before {\n content: \"\\f094\"; }\n\n.fa-less:before {\n content: \"\\f41d\"; }\n\n.fa-less-than:before {\n content: \"\\f536\"; }\n\n.fa-less-than-equal:before {\n content: \"\\f537\"; }\n\n.fa-level-down-alt:before {\n content: \"\\f3be\"; }\n\n.fa-level-up-alt:before {\n content: \"\\f3bf\"; }\n\n.fa-life-ring:before {\n content: \"\\f1cd\"; }\n\n.fa-lightbulb:before {\n content: \"\\f0eb\"; }\n\n.fa-line:before {\n content: \"\\f3c0\"; }\n\n.fa-link:before {\n content: \"\\f0c1\"; }\n\n.fa-linkedin:before {\n content: \"\\f08c\"; }\n\n.fa-linkedin-in:before {\n content: \"\\f0e1\"; }\n\n.fa-linode:before {\n content: \"\\f2b8\"; }\n\n.fa-linux:before {\n content: \"\\f17c\"; }\n\n.fa-lira-sign:before {\n content: \"\\f195\"; }\n\n.fa-list:before {\n content: \"\\f03a\"; }\n\n.fa-list-alt:before {\n content: \"\\f022\"; }\n\n.fa-list-ol:before {\n content: \"\\f0cb\"; }\n\n.fa-list-ul:before {\n content: \"\\f0ca\"; }\n\n.fa-location-arrow:before {\n content: \"\\f124\"; }\n\n.fa-lock:before {\n content: \"\\f023\"; }\n\n.fa-lock-open:before {\n content: \"\\f3c1\"; }\n\n.fa-long-arrow-alt-down:before {\n content: \"\\f309\"; }\n\n.fa-long-arrow-alt-left:before {\n content: \"\\f30a\"; }\n\n.fa-long-arrow-alt-right:before {\n content: \"\\f30b\"; }\n\n.fa-long-arrow-alt-up:before {\n content: \"\\f30c\"; }\n\n.fa-low-vision:before {\n content: \"\\f2a8\"; }\n\n.fa-luggage-cart:before {\n content: \"\\f59d\"; }\n\n.fa-lyft:before {\n content: \"\\f3c3\"; }\n\n.fa-magento:before {\n content: \"\\f3c4\"; }\n\n.fa-magic:before {\n content: \"\\f0d0\"; }\n\n.fa-magnet:before {\n content: \"\\f076\"; }\n\n.fa-mail-bulk:before {\n content: \"\\f674\"; }\n\n.fa-mailchimp:before {\n content: \"\\f59e\"; }\n\n.fa-male:before {\n content: \"\\f183\"; }\n\n.fa-mandalorian:before {\n content: \"\\f50f\"; }\n\n.fa-map:before {\n content: \"\\f279\"; }\n\n.fa-map-marked:before {\n content: \"\\f59f\"; }\n\n.fa-map-marked-alt:before {\n content: \"\\f5a0\"; }\n\n.fa-map-marker:before {\n content: \"\\f041\"; }\n\n.fa-map-marker-alt:before {\n content: \"\\f3c5\"; }\n\n.fa-map-pin:before {\n content: \"\\f276\"; }\n\n.fa-map-signs:before {\n content: \"\\f277\"; }\n\n.fa-markdown:before {\n content: \"\\f60f\"; }\n\n.fa-marker:before {\n content: \"\\f5a1\"; }\n\n.fa-mars:before {\n content: \"\\f222\"; }\n\n.fa-mars-double:before {\n content: \"\\f227\"; }\n\n.fa-mars-stroke:before {\n content: \"\\f229\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\f22b\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\f22a\"; }\n\n.fa-mask:before {\n content: \"\\f6fa\"; }\n\n.fa-mastodon:before {\n content: \"\\f4f6\"; }\n\n.fa-maxcdn:before {\n content: \"\\f136\"; }\n\n.fa-medal:before {\n content: \"\\f5a2\"; }\n\n.fa-medapps:before {\n content: \"\\f3c6\"; }\n\n.fa-medium:before {\n content: \"\\f23a\"; }\n\n.fa-medium-m:before {\n content: \"\\f3c7\"; }\n\n.fa-medkit:before {\n content: \"\\f0fa\"; }\n\n.fa-medrt:before {\n content: \"\\f3c8\"; }\n\n.fa-meetup:before {\n content: \"\\f2e0\"; }\n\n.fa-megaport:before {\n content: \"\\f5a3\"; }\n\n.fa-meh:before {\n content: \"\\f11a\"; }\n\n.fa-meh-blank:before {\n content: \"\\f5a4\"; }\n\n.fa-meh-rolling-eyes:before {\n content: \"\\f5a5\"; }\n\n.fa-memory:before {\n content: \"\\f538\"; }\n\n.fa-mendeley:before {\n content: \"\\f7b3\"; }\n\n.fa-menorah:before {\n content: \"\\f676\"; }\n\n.fa-mercury:before {\n content: \"\\f223\"; }\n\n.fa-meteor:before {\n content: \"\\f753\"; }\n\n.fa-microchip:before {\n content: \"\\f2db\"; }\n\n.fa-microphone:before {\n content: \"\\f130\"; }\n\n.fa-microphone-alt:before {\n content: \"\\f3c9\"; }\n\n.fa-microphone-alt-slash:before {\n content: \"\\f539\"; }\n\n.fa-microphone-slash:before {\n content: \"\\f131\"; }\n\n.fa-microscope:before {\n content: \"\\f610\"; }\n\n.fa-microsoft:before {\n content: \"\\f3ca\"; }\n\n.fa-minus:before {\n content: \"\\f068\"; }\n\n.fa-minus-circle:before {\n content: \"\\f056\"; }\n\n.fa-minus-square:before {\n content: \"\\f146\"; }\n\n.fa-mitten:before {\n content: \"\\f7b5\"; }\n\n.fa-mix:before {\n content: \"\\f3cb\"; }\n\n.fa-mixcloud:before {\n content: \"\\f289\"; }\n\n.fa-mizuni:before {\n content: \"\\f3cc\"; }\n\n.fa-mobile:before {\n content: \"\\f10b\"; }\n\n.fa-mobile-alt:before {\n content: \"\\f3cd\"; }\n\n.fa-modx:before {\n content: \"\\f285\"; }\n\n.fa-monero:before {\n content: \"\\f3d0\"; }\n\n.fa-money-bill:before {\n content: \"\\f0d6\"; }\n\n.fa-money-bill-alt:before {\n content: \"\\f3d1\"; }\n\n.fa-money-bill-wave:before {\n content: \"\\f53a\"; }\n\n.fa-money-bill-wave-alt:before {\n content: \"\\f53b\"; }\n\n.fa-money-check:before {\n content: \"\\f53c\"; }\n\n.fa-money-check-alt:before {\n content: \"\\f53d\"; }\n\n.fa-monument:before {\n content: \"\\f5a6\"; }\n\n.fa-moon:before {\n content: \"\\f186\"; }\n\n.fa-mortar-pestle:before {\n content: \"\\f5a7\"; }\n\n.fa-mosque:before {\n content: \"\\f678\"; }\n\n.fa-motorcycle:before {\n content: \"\\f21c\"; }\n\n.fa-mountain:before {\n content: \"\\f6fc\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\f245\"; }\n\n.fa-mug-hot:before {\n content: \"\\f7b6\"; }\n\n.fa-music:before {\n content: \"\\f001\"; }\n\n.fa-napster:before {\n content: \"\\f3d2\"; }\n\n.fa-neos:before {\n content: \"\\f612\"; }\n\n.fa-network-wired:before {\n content: \"\\f6ff\"; }\n\n.fa-neuter:before {\n content: \"\\f22c\"; }\n\n.fa-newspaper:before {\n content: \"\\f1ea\"; }\n\n.fa-nimblr:before {\n content: \"\\f5a8\"; }\n\n.fa-nintendo-switch:before {\n content: \"\\f418\"; }\n\n.fa-node:before {\n content: \"\\f419\"; }\n\n.fa-node-js:before {\n content: \"\\f3d3\"; }\n\n.fa-not-equal:before {\n content: \"\\f53e\"; }\n\n.fa-notes-medical:before {\n content: \"\\f481\"; }\n\n.fa-npm:before {\n content: \"\\f3d4\"; }\n\n.fa-ns8:before {\n content: \"\\f3d5\"; }\n\n.fa-nutritionix:before {\n content: \"\\f3d6\"; }\n\n.fa-object-group:before {\n content: \"\\f247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\f248\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\f263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\f264\"; }\n\n.fa-oil-can:before {\n content: \"\\f613\"; }\n\n.fa-old-republic:before {\n content: \"\\f510\"; }\n\n.fa-om:before {\n content: \"\\f679\"; }\n\n.fa-opencart:before {\n content: \"\\f23d\"; }\n\n.fa-openid:before {\n content: \"\\f19b\"; }\n\n.fa-opera:before {\n content: \"\\f26a\"; }\n\n.fa-optin-monster:before {\n content: \"\\f23c\"; }\n\n.fa-osi:before {\n content: \"\\f41a\"; }\n\n.fa-otter:before {\n content: \"\\f700\"; }\n\n.fa-outdent:before {\n content: \"\\f03b\"; }\n\n.fa-page4:before {\n content: \"\\f3d7\"; }\n\n.fa-pagelines:before {\n content: \"\\f18c\"; }\n\n.fa-pager:before {\n content: \"\\f815\"; }\n\n.fa-paint-brush:before {\n content: \"\\f1fc\"; }\n\n.fa-paint-roller:before {\n content: \"\\f5aa\"; }\n\n.fa-palette:before {\n content: \"\\f53f\"; }\n\n.fa-palfed:before {\n content: \"\\f3d8\"; }\n\n.fa-pallet:before {\n content: \"\\f482\"; }\n\n.fa-paper-plane:before {\n content: \"\\f1d8\"; }\n\n.fa-paperclip:before {\n content: \"\\f0c6\"; }\n\n.fa-parachute-box:before {\n content: \"\\f4cd\"; }\n\n.fa-paragraph:before {\n content: \"\\f1dd\"; }\n\n.fa-parking:before {\n content: \"\\f540\"; }\n\n.fa-passport:before {\n content: \"\\f5ab\"; }\n\n.fa-pastafarianism:before {\n content: \"\\f67b\"; }\n\n.fa-paste:before {\n content: \"\\f0ea\"; }\n\n.fa-patreon:before {\n content: \"\\f3d9\"; }\n\n.fa-pause:before {\n content: \"\\f04c\"; }\n\n.fa-pause-circle:before {\n content: \"\\f28b\"; }\n\n.fa-paw:before {\n content: \"\\f1b0\"; }\n\n.fa-paypal:before {\n content: \"\\f1ed\"; }\n\n.fa-peace:before {\n content: \"\\f67c\"; }\n\n.fa-pen:before {\n content: \"\\f304\"; }\n\n.fa-pen-alt:before {\n content: \"\\f305\"; }\n\n.fa-pen-fancy:before {\n content: \"\\f5ac\"; }\n\n.fa-pen-nib:before {\n content: \"\\f5ad\"; }\n\n.fa-pen-square:before {\n content: \"\\f14b\"; }\n\n.fa-pencil-alt:before {\n content: \"\\f303\"; }\n\n.fa-pencil-ruler:before {\n content: \"\\f5ae\"; }\n\n.fa-penny-arcade:before {\n content: \"\\f704\"; }\n\n.fa-people-carry:before {\n content: \"\\f4ce\"; }\n\n.fa-pepper-hot:before {\n content: \"\\f816\"; }\n\n.fa-percent:before {\n content: \"\\f295\"; }\n\n.fa-percentage:before {\n content: \"\\f541\"; }\n\n.fa-periscope:before {\n content: \"\\f3da\"; }\n\n.fa-person-booth:before {\n content: \"\\f756\"; }\n\n.fa-phabricator:before {\n content: \"\\f3db\"; }\n\n.fa-phoenix-framework:before {\n content: \"\\f3dc\"; }\n\n.fa-phoenix-squadron:before {\n content: \"\\f511\"; }\n\n.fa-phone:before {\n content: \"\\f095\"; }\n\n.fa-phone-slash:before {\n content: \"\\f3dd\"; }\n\n.fa-phone-square:before {\n content: \"\\f098\"; }\n\n.fa-phone-volume:before {\n content: \"\\f2a0\"; }\n\n.fa-php:before {\n content: \"\\f457\"; }\n\n.fa-pied-piper:before {\n content: \"\\f2ae\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\f1a8\"; }\n\n.fa-pied-piper-hat:before {\n content: \"\\f4e5\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\f1a7\"; }\n\n.fa-piggy-bank:before {\n content: \"\\f4d3\"; }\n\n.fa-pills:before {\n content: \"\\f484\"; }\n\n.fa-pinterest:before {\n content: \"\\f0d2\"; }\n\n.fa-pinterest-p:before {\n content: \"\\f231\"; }\n\n.fa-pinterest-square:before {\n content: \"\\f0d3\"; }\n\n.fa-pizza-slice:before {\n content: \"\\f818\"; }\n\n.fa-place-of-worship:before {\n content: \"\\f67f\"; }\n\n.fa-plane:before {\n content: \"\\f072\"; }\n\n.fa-plane-arrival:before {\n content: \"\\f5af\"; }\n\n.fa-plane-departure:before {\n content: \"\\f5b0\"; }\n\n.fa-play:before {\n content: \"\\f04b\"; }\n\n.fa-play-circle:before {\n content: \"\\f144\"; }\n\n.fa-playstation:before {\n content: \"\\f3df\"; }\n\n.fa-plug:before {\n content: \"\\f1e6\"; }\n\n.fa-plus:before {\n content: \"\\f067\"; }\n\n.fa-plus-circle:before {\n content: \"\\f055\"; }\n\n.fa-plus-square:before {\n content: \"\\f0fe\"; }\n\n.fa-podcast:before {\n content: \"\\f2ce\"; }\n\n.fa-poll:before {\n content: \"\\f681\"; }\n\n.fa-poll-h:before {\n content: \"\\f682\"; }\n\n.fa-poo:before {\n content: \"\\f2fe\"; }\n\n.fa-poo-storm:before {\n content: \"\\f75a\"; }\n\n.fa-poop:before {\n content: \"\\f619\"; }\n\n.fa-portrait:before {\n content: \"\\f3e0\"; }\n\n.fa-pound-sign:before {\n content: \"\\f154\"; }\n\n.fa-power-off:before {\n content: \"\\f011\"; }\n\n.fa-pray:before {\n content: \"\\f683\"; }\n\n.fa-praying-hands:before {\n content: \"\\f684\"; }\n\n.fa-prescription:before {\n content: \"\\f5b1\"; }\n\n.fa-prescription-bottle:before {\n content: \"\\f485\"; }\n\n.fa-prescription-bottle-alt:before {\n content: \"\\f486\"; }\n\n.fa-print:before {\n content: \"\\f02f\"; }\n\n.fa-procedures:before {\n content: \"\\f487\"; }\n\n.fa-product-hunt:before {\n content: \"\\f288\"; }\n\n.fa-project-diagram:before {\n content: \"\\f542\"; }\n\n.fa-pushed:before {\n content: \"\\f3e1\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\f12e\"; }\n\n.fa-python:before {\n content: \"\\f3e2\"; }\n\n.fa-qq:before {\n content: \"\\f1d6\"; }\n\n.fa-qrcode:before {\n content: \"\\f029\"; }\n\n.fa-question:before {\n content: \"\\f128\"; }\n\n.fa-question-circle:before {\n content: \"\\f059\"; }\n\n.fa-quidditch:before {\n content: \"\\f458\"; }\n\n.fa-quinscape:before {\n content: \"\\f459\"; }\n\n.fa-quora:before {\n content: \"\\f2c4\"; }\n\n.fa-quote-left:before {\n content: \"\\f10d\"; }\n\n.fa-quote-right:before {\n content: \"\\f10e\"; }\n\n.fa-quran:before {\n content: \"\\f687\"; }\n\n.fa-r-project:before {\n content: \"\\f4f7\"; }\n\n.fa-radiation:before {\n content: \"\\f7b9\"; }\n\n.fa-radiation-alt:before {\n content: \"\\f7ba\"; }\n\n.fa-rainbow:before {\n content: \"\\f75b\"; }\n\n.fa-random:before {\n content: \"\\f074\"; }\n\n.fa-raspberry-pi:before {\n content: \"\\f7bb\"; }\n\n.fa-ravelry:before {\n content: \"\\f2d9\"; }\n\n.fa-react:before {\n content: \"\\f41b\"; }\n\n.fa-reacteurope:before {\n content: \"\\f75d\"; }\n\n.fa-readme:before {\n content: \"\\f4d5\"; }\n\n.fa-rebel:before {\n content: \"\\f1d0\"; }\n\n.fa-receipt:before {\n content: \"\\f543\"; }\n\n.fa-recycle:before {\n content: \"\\f1b8\"; }\n\n.fa-red-river:before {\n content: \"\\f3e3\"; }\n\n.fa-reddit:before {\n content: \"\\f1a1\"; }\n\n.fa-reddit-alien:before {\n content: \"\\f281\"; }\n\n.fa-reddit-square:before {\n content: \"\\f1a2\"; }\n\n.fa-redhat:before {\n content: \"\\f7bc\"; }\n\n.fa-redo:before {\n content: \"\\f01e\"; }\n\n.fa-redo-alt:before {\n content: \"\\f2f9\"; }\n\n.fa-registered:before {\n content: \"\\f25d\"; }\n\n.fa-renren:before {\n content: \"\\f18b\"; }\n\n.fa-reply:before {\n content: \"\\f3e5\"; }\n\n.fa-reply-all:before {\n content: \"\\f122\"; }\n\n.fa-replyd:before {\n content: \"\\f3e6\"; }\n\n.fa-republican:before {\n content: \"\\f75e\"; }\n\n.fa-researchgate:before {\n content: \"\\f4f8\"; }\n\n.fa-resolving:before {\n content: \"\\f3e7\"; }\n\n.fa-restroom:before {\n content: \"\\f7bd\"; }\n\n.fa-retweet:before {\n content: \"\\f079\"; }\n\n.fa-rev:before {\n content: \"\\f5b2\"; }\n\n.fa-ribbon:before {\n content: \"\\f4d6\"; }\n\n.fa-ring:before {\n content: \"\\f70b\"; }\n\n.fa-road:before {\n content: \"\\f018\"; }\n\n.fa-robot:before {\n content: \"\\f544\"; }\n\n.fa-rocket:before {\n content: \"\\f135\"; }\n\n.fa-rocketchat:before {\n content: \"\\f3e8\"; }\n\n.fa-rockrms:before {\n content: \"\\f3e9\"; }\n\n.fa-route:before {\n content: \"\\f4d7\"; }\n\n.fa-rss:before {\n content: \"\\f09e\"; }\n\n.fa-rss-square:before {\n content: \"\\f143\"; }\n\n.fa-ruble-sign:before {\n content: \"\\f158\"; }\n\n.fa-ruler:before {\n content: \"\\f545\"; }\n\n.fa-ruler-combined:before {\n content: \"\\f546\"; }\n\n.fa-ruler-horizontal:before {\n content: \"\\f547\"; }\n\n.fa-ruler-vertical:before {\n content: \"\\f548\"; }\n\n.fa-running:before {\n content: \"\\f70c\"; }\n\n.fa-rupee-sign:before {\n content: \"\\f156\"; }\n\n.fa-sad-cry:before {\n content: \"\\f5b3\"; }\n\n.fa-sad-tear:before {\n content: \"\\f5b4\"; }\n\n.fa-safari:before {\n content: \"\\f267\"; }\n\n.fa-salesforce:before {\n content: \"\\f83b\"; }\n\n.fa-sass:before {\n content: \"\\f41e\"; }\n\n.fa-satellite:before {\n content: \"\\f7bf\"; }\n\n.fa-satellite-dish:before {\n content: \"\\f7c0\"; }\n\n.fa-save:before {\n content: \"\\f0c7\"; }\n\n.fa-schlix:before {\n content: \"\\f3ea\"; }\n\n.fa-school:before {\n content: \"\\f549\"; }\n\n.fa-screwdriver:before {\n content: \"\\f54a\"; }\n\n.fa-scribd:before {\n content: \"\\f28a\"; }\n\n.fa-scroll:before {\n content: \"\\f70e\"; }\n\n.fa-sd-card:before {\n content: \"\\f7c2\"; }\n\n.fa-search:before {\n content: \"\\f002\"; }\n\n.fa-search-dollar:before {\n content: \"\\f688\"; }\n\n.fa-search-location:before {\n content: \"\\f689\"; }\n\n.fa-search-minus:before {\n content: \"\\f010\"; }\n\n.fa-search-plus:before {\n content: \"\\f00e\"; }\n\n.fa-searchengin:before {\n content: \"\\f3eb\"; }\n\n.fa-seedling:before {\n content: \"\\f4d8\"; }\n\n.fa-sellcast:before {\n content: \"\\f2da\"; }\n\n.fa-sellsy:before {\n content: \"\\f213\"; }\n\n.fa-server:before {\n content: \"\\f233\"; }\n\n.fa-servicestack:before {\n content: \"\\f3ec\"; }\n\n.fa-shapes:before {\n content: \"\\f61f\"; }\n\n.fa-share:before {\n content: \"\\f064\"; }\n\n.fa-share-alt:before {\n content: \"\\f1e0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\f1e1\"; }\n\n.fa-share-square:before {\n content: \"\\f14d\"; }\n\n.fa-shekel-sign:before {\n content: \"\\f20b\"; }\n\n.fa-shield-alt:before {\n content: \"\\f3ed\"; }\n\n.fa-ship:before {\n content: \"\\f21a\"; }\n\n.fa-shipping-fast:before {\n content: \"\\f48b\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\f214\"; }\n\n.fa-shoe-prints:before {\n content: \"\\f54b\"; }\n\n.fa-shopping-bag:before {\n content: \"\\f290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\f291\"; }\n\n.fa-shopping-cart:before {\n content: \"\\f07a\"; }\n\n.fa-shopware:before {\n content: \"\\f5b5\"; }\n\n.fa-shower:before {\n content: \"\\f2cc\"; }\n\n.fa-shuttle-van:before {\n content: \"\\f5b6\"; }\n\n.fa-sign:before {\n content: \"\\f4d9\"; }\n\n.fa-sign-in-alt:before {\n content: \"\\f2f6\"; }\n\n.fa-sign-language:before {\n content: \"\\f2a7\"; }\n\n.fa-sign-out-alt:before {\n content: \"\\f2f5\"; }\n\n.fa-signal:before {\n content: \"\\f012\"; }\n\n.fa-signature:before {\n content: \"\\f5b7\"; }\n\n.fa-sim-card:before {\n content: \"\\f7c4\"; }\n\n.fa-simplybuilt:before {\n content: \"\\f215\"; }\n\n.fa-sistrix:before {\n content: \"\\f3ee\"; }\n\n.fa-sitemap:before {\n content: \"\\f0e8\"; }\n\n.fa-sith:before {\n content: \"\\f512\"; }\n\n.fa-skating:before {\n content: \"\\f7c5\"; }\n\n.fa-sketch:before {\n content: \"\\f7c6\"; }\n\n.fa-skiing:before {\n content: \"\\f7c9\"; }\n\n.fa-skiing-nordic:before {\n content: \"\\f7ca\"; }\n\n.fa-skull:before {\n content: \"\\f54c\"; }\n\n.fa-skull-crossbones:before {\n content: \"\\f714\"; }\n\n.fa-skyatlas:before {\n content: \"\\f216\"; }\n\n.fa-skype:before {\n content: \"\\f17e\"; }\n\n.fa-slack:before {\n content: \"\\f198\"; }\n\n.fa-slack-hash:before {\n content: \"\\f3ef\"; }\n\n.fa-slash:before {\n content: \"\\f715\"; }\n\n.fa-sleigh:before {\n content: \"\\f7cc\"; }\n\n.fa-sliders-h:before {\n content: \"\\f1de\"; }\n\n.fa-slideshare:before {\n content: \"\\f1e7\"; }\n\n.fa-smile:before {\n content: \"\\f118\"; }\n\n.fa-smile-beam:before {\n content: \"\\f5b8\"; }\n\n.fa-smile-wink:before {\n content: \"\\f4da\"; }\n\n.fa-smog:before {\n content: \"\\f75f\"; }\n\n.fa-smoking:before {\n content: \"\\f48d\"; }\n\n.fa-smoking-ban:before {\n content: \"\\f54d\"; }\n\n.fa-sms:before {\n content: \"\\f7cd\"; }\n\n.fa-snapchat:before {\n content: \"\\f2ab\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\f2ac\"; }\n\n.fa-snapchat-square:before {\n content: \"\\f2ad\"; }\n\n.fa-snowboarding:before {\n content: \"\\f7ce\"; }\n\n.fa-snowflake:before {\n content: \"\\f2dc\"; }\n\n.fa-snowman:before {\n content: \"\\f7d0\"; }\n\n.fa-snowplow:before {\n content: \"\\f7d2\"; }\n\n.fa-socks:before {\n content: \"\\f696\"; }\n\n.fa-solar-panel:before {\n content: \"\\f5ba\"; }\n\n.fa-sort:before {\n content: \"\\f0dc\"; }\n\n.fa-sort-alpha-down:before {\n content: \"\\f15d\"; }\n\n.fa-sort-alpha-up:before {\n content: \"\\f15e\"; }\n\n.fa-sort-amount-down:before {\n content: \"\\f160\"; }\n\n.fa-sort-amount-up:before {\n content: \"\\f161\"; }\n\n.fa-sort-down:before {\n content: \"\\f0dd\"; }\n\n.fa-sort-numeric-down:before {\n content: \"\\f162\"; }\n\n.fa-sort-numeric-up:before {\n content: \"\\f163\"; }\n\n.fa-sort-up:before {\n content: \"\\f0de\"; }\n\n.fa-soundcloud:before {\n content: \"\\f1be\"; }\n\n.fa-sourcetree:before {\n content: \"\\f7d3\"; }\n\n.fa-spa:before {\n content: \"\\f5bb\"; }\n\n.fa-space-shuttle:before {\n content: \"\\f197\"; }\n\n.fa-speakap:before {\n content: \"\\f3f3\"; }\n\n.fa-speaker-deck:before {\n content: \"\\f83c\"; }\n\n.fa-spider:before {\n content: \"\\f717\"; }\n\n.fa-spinner:before {\n content: \"\\f110\"; }\n\n.fa-splotch:before {\n content: \"\\f5bc\"; }\n\n.fa-spotify:before {\n content: \"\\f1bc\"; }\n\n.fa-spray-can:before {\n content: \"\\f5bd\"; }\n\n.fa-square:before {\n content: \"\\f0c8\"; }\n\n.fa-square-full:before {\n content: \"\\f45c\"; }\n\n.fa-square-root-alt:before {\n content: \"\\f698\"; }\n\n.fa-squarespace:before {\n content: \"\\f5be\"; }\n\n.fa-stack-exchange:before {\n content: \"\\f18d\"; }\n\n.fa-stack-overflow:before {\n content: \"\\f16c\"; }\n\n.fa-stackpath:before {\n content: \"\\f842\"; }\n\n.fa-stamp:before {\n content: \"\\f5bf\"; }\n\n.fa-star:before {\n content: \"\\f005\"; }\n\n.fa-star-and-crescent:before {\n content: \"\\f699\"; }\n\n.fa-star-half:before {\n content: \"\\f089\"; }\n\n.fa-star-half-alt:before {\n content: \"\\f5c0\"; }\n\n.fa-star-of-david:before {\n content: \"\\f69a\"; }\n\n.fa-star-of-life:before {\n content: \"\\f621\"; }\n\n.fa-staylinked:before {\n content: \"\\f3f5\"; }\n\n.fa-steam:before {\n content: \"\\f1b6\"; }\n\n.fa-steam-square:before {\n content: \"\\f1b7\"; }\n\n.fa-steam-symbol:before {\n content: \"\\f3f6\"; }\n\n.fa-step-backward:before {\n content: \"\\f048\"; }\n\n.fa-step-forward:before {\n content: \"\\f051\"; }\n\n.fa-stethoscope:before {\n content: \"\\f0f1\"; }\n\n.fa-sticker-mule:before {\n content: \"\\f3f7\"; }\n\n.fa-sticky-note:before {\n content: \"\\f249\"; }\n\n.fa-stop:before {\n content: \"\\f04d\"; }\n\n.fa-stop-circle:before {\n content: \"\\f28d\"; }\n\n.fa-stopwatch:before {\n content: \"\\f2f2\"; }\n\n.fa-store:before {\n content: \"\\f54e\"; }\n\n.fa-store-alt:before {\n content: \"\\f54f\"; }\n\n.fa-strava:before {\n content: \"\\f428\"; }\n\n.fa-stream:before {\n content: \"\\f550\"; }\n\n.fa-street-view:before {\n content: \"\\f21d\"; }\n\n.fa-strikethrough:before {\n content: \"\\f0cc\"; }\n\n.fa-stripe:before {\n content: \"\\f429\"; }\n\n.fa-stripe-s:before {\n content: \"\\f42a\"; }\n\n.fa-stroopwafel:before {\n content: \"\\f551\"; }\n\n.fa-studiovinari:before {\n content: \"\\f3f8\"; }\n\n.fa-stumbleupon:before {\n content: \"\\f1a4\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\f1a3\"; }\n\n.fa-subscript:before {\n content: \"\\f12c\"; }\n\n.fa-subway:before {\n content: \"\\f239\"; }\n\n.fa-suitcase:before {\n content: \"\\f0f2\"; }\n\n.fa-suitcase-rolling:before {\n content: \"\\f5c1\"; }\n\n.fa-sun:before {\n content: \"\\f185\"; }\n\n.fa-superpowers:before {\n content: \"\\f2dd\"; }\n\n.fa-superscript:before {\n content: \"\\f12b\"; }\n\n.fa-supple:before {\n content: \"\\f3f9\"; }\n\n.fa-surprise:before {\n content: \"\\f5c2\"; }\n\n.fa-suse:before {\n content: \"\\f7d6\"; }\n\n.fa-swatchbook:before {\n content: \"\\f5c3\"; }\n\n.fa-swimmer:before {\n content: \"\\f5c4\"; }\n\n.fa-swimming-pool:before {\n content: \"\\f5c5\"; }\n\n.fa-symfony:before {\n content: \"\\f83d\"; }\n\n.fa-synagogue:before {\n content: \"\\f69b\"; }\n\n.fa-sync:before {\n content: \"\\f021\"; }\n\n.fa-sync-alt:before {\n content: \"\\f2f1\"; }\n\n.fa-syringe:before {\n content: \"\\f48e\"; }\n\n.fa-table:before {\n content: \"\\f0ce\"; }\n\n.fa-table-tennis:before {\n content: \"\\f45d\"; }\n\n.fa-tablet:before {\n content: \"\\f10a\"; }\n\n.fa-tablet-alt:before {\n content: \"\\f3fa\"; }\n\n.fa-tablets:before {\n content: \"\\f490\"; }\n\n.fa-tachometer-alt:before {\n content: \"\\f3fd\"; }\n\n.fa-tag:before {\n content: \"\\f02b\"; }\n\n.fa-tags:before {\n content: \"\\f02c\"; }\n\n.fa-tape:before {\n content: \"\\f4db\"; }\n\n.fa-tasks:before {\n content: \"\\f0ae\"; }\n\n.fa-taxi:before {\n content: \"\\f1ba\"; }\n\n.fa-teamspeak:before {\n content: \"\\f4f9\"; }\n\n.fa-teeth:before {\n content: \"\\f62e\"; }\n\n.fa-teeth-open:before {\n content: \"\\f62f\"; }\n\n.fa-telegram:before {\n content: \"\\f2c6\"; }\n\n.fa-telegram-plane:before {\n content: \"\\f3fe\"; }\n\n.fa-temperature-high:before {\n content: \"\\f769\"; }\n\n.fa-temperature-low:before {\n content: \"\\f76b\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\f1d5\"; }\n\n.fa-tenge:before {\n content: \"\\f7d7\"; }\n\n.fa-terminal:before {\n content: \"\\f120\"; }\n\n.fa-text-height:before {\n content: \"\\f034\"; }\n\n.fa-text-width:before {\n content: \"\\f035\"; }\n\n.fa-th:before {\n content: \"\\f00a\"; }\n\n.fa-th-large:before {\n content: \"\\f009\"; }\n\n.fa-th-list:before {\n content: \"\\f00b\"; }\n\n.fa-the-red-yeti:before {\n content: \"\\f69d\"; }\n\n.fa-theater-masks:before {\n content: \"\\f630\"; }\n\n.fa-themeco:before {\n content: \"\\f5c6\"; }\n\n.fa-themeisle:before {\n content: \"\\f2b2\"; }\n\n.fa-thermometer:before {\n content: \"\\f491\"; }\n\n.fa-thermometer-empty:before {\n content: \"\\f2cb\"; }\n\n.fa-thermometer-full:before {\n content: \"\\f2c7\"; }\n\n.fa-thermometer-half:before {\n content: \"\\f2c9\"; }\n\n.fa-thermometer-quarter:before {\n content: \"\\f2ca\"; }\n\n.fa-thermometer-three-quarters:before {\n content: \"\\f2c8\"; }\n\n.fa-think-peaks:before {\n content: \"\\f731\"; }\n\n.fa-thumbs-down:before {\n content: \"\\f165\"; }\n\n.fa-thumbs-up:before {\n content: \"\\f164\"; }\n\n.fa-thumbtack:before {\n content: \"\\f08d\"; }\n\n.fa-ticket-alt:before {\n content: \"\\f3ff\"; }\n\n.fa-times:before {\n content: \"\\f00d\"; }\n\n.fa-times-circle:before {\n content: \"\\f057\"; }\n\n.fa-tint:before {\n content: \"\\f043\"; }\n\n.fa-tint-slash:before {\n content: \"\\f5c7\"; }\n\n.fa-tired:before {\n content: \"\\f5c8\"; }\n\n.fa-toggle-off:before {\n content: \"\\f204\"; }\n\n.fa-toggle-on:before {\n content: \"\\f205\"; }\n\n.fa-toilet:before {\n content: \"\\f7d8\"; }\n\n.fa-toilet-paper:before {\n content: \"\\f71e\"; }\n\n.fa-toolbox:before {\n content: \"\\f552\"; }\n\n.fa-tools:before {\n content: \"\\f7d9\"; }\n\n.fa-tooth:before {\n content: \"\\f5c9\"; }\n\n.fa-torah:before {\n content: \"\\f6a0\"; }\n\n.fa-torii-gate:before {\n content: \"\\f6a1\"; }\n\n.fa-tractor:before {\n content: \"\\f722\"; }\n\n.fa-trade-federation:before {\n content: \"\\f513\"; }\n\n.fa-trademark:before {\n content: \"\\f25c\"; }\n\n.fa-traffic-light:before {\n content: \"\\f637\"; }\n\n.fa-train:before {\n content: \"\\f238\"; }\n\n.fa-tram:before {\n content: \"\\f7da\"; }\n\n.fa-transgender:before {\n content: \"\\f224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\f225\"; }\n\n.fa-trash:before {\n content: \"\\f1f8\"; }\n\n.fa-trash-alt:before {\n content: \"\\f2ed\"; }\n\n.fa-trash-restore:before {\n content: \"\\f829\"; }\n\n.fa-trash-restore-alt:before {\n content: \"\\f82a\"; }\n\n.fa-tree:before {\n content: \"\\f1bb\"; }\n\n.fa-trello:before {\n content: \"\\f181\"; }\n\n.fa-tripadvisor:before {\n content: \"\\f262\"; }\n\n.fa-trophy:before {\n content: \"\\f091\"; }\n\n.fa-truck:before {\n content: \"\\f0d1\"; }\n\n.fa-truck-loading:before {\n content: \"\\f4de\"; }\n\n.fa-truck-monster:before {\n content: \"\\f63b\"; }\n\n.fa-truck-moving:before {\n content: \"\\f4df\"; }\n\n.fa-truck-pickup:before {\n content: \"\\f63c\"; }\n\n.fa-tshirt:before {\n content: \"\\f553\"; }\n\n.fa-tty:before {\n content: \"\\f1e4\"; }\n\n.fa-tumblr:before {\n content: \"\\f173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\f174\"; }\n\n.fa-tv:before {\n content: \"\\f26c\"; }\n\n.fa-twitch:before {\n content: \"\\f1e8\"; }\n\n.fa-twitter:before {\n content: \"\\f099\"; }\n\n.fa-twitter-square:before {\n content: \"\\f081\"; }\n\n.fa-typo3:before {\n content: \"\\f42b\"; }\n\n.fa-uber:before {\n content: \"\\f402\"; }\n\n.fa-ubuntu:before {\n content: \"\\f7df\"; }\n\n.fa-uikit:before {\n content: \"\\f403\"; }\n\n.fa-umbrella:before {\n content: \"\\f0e9\"; }\n\n.fa-umbrella-beach:before {\n content: \"\\f5ca\"; }\n\n.fa-underline:before {\n content: \"\\f0cd\"; }\n\n.fa-undo:before {\n content: \"\\f0e2\"; }\n\n.fa-undo-alt:before {\n content: \"\\f2ea\"; }\n\n.fa-uniregistry:before {\n content: \"\\f404\"; }\n\n.fa-universal-access:before {\n content: \"\\f29a\"; }\n\n.fa-university:before {\n content: \"\\f19c\"; }\n\n.fa-unlink:before {\n content: \"\\f127\"; }\n\n.fa-unlock:before {\n content: \"\\f09c\"; }\n\n.fa-unlock-alt:before {\n content: \"\\f13e\"; }\n\n.fa-untappd:before {\n content: \"\\f405\"; }\n\n.fa-upload:before {\n content: \"\\f093\"; }\n\n.fa-ups:before {\n content: \"\\f7e0\"; }\n\n.fa-usb:before {\n content: \"\\f287\"; }\n\n.fa-user:before {\n content: \"\\f007\"; }\n\n.fa-user-alt:before {\n content: \"\\f406\"; }\n\n.fa-user-alt-slash:before {\n content: \"\\f4fa\"; }\n\n.fa-user-astronaut:before {\n content: \"\\f4fb\"; }\n\n.fa-user-check:before {\n content: \"\\f4fc\"; }\n\n.fa-user-circle:before {\n content: \"\\f2bd\"; }\n\n.fa-user-clock:before {\n content: \"\\f4fd\"; }\n\n.fa-user-cog:before {\n content: \"\\f4fe\"; }\n\n.fa-user-edit:before {\n content: \"\\f4ff\"; }\n\n.fa-user-friends:before {\n content: \"\\f500\"; }\n\n.fa-user-graduate:before {\n content: \"\\f501\"; }\n\n.fa-user-injured:before {\n content: \"\\f728\"; }\n\n.fa-user-lock:before {\n content: \"\\f502\"; }\n\n.fa-user-md:before {\n content: \"\\f0f0\"; }\n\n.fa-user-minus:before {\n content: \"\\f503\"; }\n\n.fa-user-ninja:before {\n content: \"\\f504\"; }\n\n.fa-user-nurse:before {\n content: \"\\f82f\"; }\n\n.fa-user-plus:before {\n content: \"\\f234\"; }\n\n.fa-user-secret:before {\n content: \"\\f21b\"; }\n\n.fa-user-shield:before {\n content: \"\\f505\"; }\n\n.fa-user-slash:before {\n content: \"\\f506\"; }\n\n.fa-user-tag:before {\n content: \"\\f507\"; }\n\n.fa-user-tie:before {\n content: \"\\f508\"; }\n\n.fa-user-times:before {\n content: \"\\f235\"; }\n\n.fa-users:before {\n content: \"\\f0c0\"; }\n\n.fa-users-cog:before {\n content: \"\\f509\"; }\n\n.fa-usps:before {\n content: \"\\f7e1\"; }\n\n.fa-ussunnah:before {\n content: \"\\f407\"; }\n\n.fa-utensil-spoon:before {\n content: \"\\f2e5\"; }\n\n.fa-utensils:before {\n content: \"\\f2e7\"; }\n\n.fa-vaadin:before {\n content: \"\\f408\"; }\n\n.fa-vector-square:before {\n content: \"\\f5cb\"; }\n\n.fa-venus:before {\n content: \"\\f221\"; }\n\n.fa-venus-double:before {\n content: \"\\f226\"; }\n\n.fa-venus-mars:before {\n content: \"\\f228\"; }\n\n.fa-viacoin:before {\n content: \"\\f237\"; }\n\n.fa-viadeo:before {\n content: \"\\f2a9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\f2aa\"; }\n\n.fa-vial:before {\n content: \"\\f492\"; }\n\n.fa-vials:before {\n content: \"\\f493\"; }\n\n.fa-viber:before {\n content: \"\\f409\"; }\n\n.fa-video:before {\n content: \"\\f03d\"; }\n\n.fa-video-slash:before {\n content: \"\\f4e2\"; }\n\n.fa-vihara:before {\n content: \"\\f6a7\"; }\n\n.fa-vimeo:before {\n content: \"\\f40a\"; }\n\n.fa-vimeo-square:before {\n content: \"\\f194\"; }\n\n.fa-vimeo-v:before {\n content: \"\\f27d\"; }\n\n.fa-vine:before {\n content: \"\\f1ca\"; }\n\n.fa-vk:before {\n content: \"\\f189\"; }\n\n.fa-vnv:before {\n content: \"\\f40b\"; }\n\n.fa-volleyball-ball:before {\n content: \"\\f45f\"; }\n\n.fa-volume-down:before {\n content: \"\\f027\"; }\n\n.fa-volume-mute:before {\n content: \"\\f6a9\"; }\n\n.fa-volume-off:before {\n content: \"\\f026\"; }\n\n.fa-volume-up:before {\n content: \"\\f028\"; }\n\n.fa-vote-yea:before {\n content: \"\\f772\"; }\n\n.fa-vr-cardboard:before {\n content: \"\\f729\"; }\n\n.fa-vuejs:before {\n content: \"\\f41f\"; }\n\n.fa-walking:before {\n content: \"\\f554\"; }\n\n.fa-wallet:before {\n content: \"\\f555\"; }\n\n.fa-warehouse:before {\n content: \"\\f494\"; }\n\n.fa-water:before {\n content: \"\\f773\"; }\n\n.fa-wave-square:before {\n content: \"\\f83e\"; }\n\n.fa-waze:before {\n content: \"\\f83f\"; }\n\n.fa-weebly:before {\n content: \"\\f5cc\"; }\n\n.fa-weibo:before {\n content: \"\\f18a\"; }\n\n.fa-weight:before {\n content: \"\\f496\"; }\n\n.fa-weight-hanging:before {\n content: \"\\f5cd\"; }\n\n.fa-weixin:before {\n content: \"\\f1d7\"; }\n\n.fa-whatsapp:before {\n content: \"\\f232\"; }\n\n.fa-whatsapp-square:before {\n content: \"\\f40c\"; }\n\n.fa-wheelchair:before {\n content: \"\\f193\"; }\n\n.fa-whmcs:before {\n content: \"\\f40d\"; }\n\n.fa-wifi:before {\n content: \"\\f1eb\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\f266\"; }\n\n.fa-wind:before {\n content: \"\\f72e\"; }\n\n.fa-window-close:before {\n content: \"\\f410\"; }\n\n.fa-window-maximize:before {\n content: \"\\f2d0\"; }\n\n.fa-window-minimize:before {\n content: \"\\f2d1\"; }\n\n.fa-window-restore:before {\n content: \"\\f2d2\"; }\n\n.fa-windows:before {\n content: \"\\f17a\"; }\n\n.fa-wine-bottle:before {\n content: \"\\f72f\"; }\n\n.fa-wine-glass:before {\n content: \"\\f4e3\"; }\n\n.fa-wine-glass-alt:before {\n content: \"\\f5ce\"; }\n\n.fa-wix:before {\n content: \"\\f5cf\"; }\n\n.fa-wizards-of-the-coast:before {\n content: \"\\f730\"; }\n\n.fa-wolf-pack-battalion:before {\n content: \"\\f514\"; }\n\n.fa-won-sign:before {\n content: \"\\f159\"; }\n\n.fa-wordpress:before {\n content: \"\\f19a\"; }\n\n.fa-wordpress-simple:before {\n content: \"\\f411\"; }\n\n.fa-wpbeginner:before {\n content: \"\\f297\"; }\n\n.fa-wpexplorer:before {\n content: \"\\f2de\"; }\n\n.fa-wpforms:before {\n content: \"\\f298\"; }\n\n.fa-wpressr:before {\n content: \"\\f3e4\"; }\n\n.fa-wrench:before {\n content: \"\\f0ad\"; }\n\n.fa-x-ray:before {\n content: \"\\f497\"; }\n\n.fa-xbox:before {\n content: \"\\f412\"; }\n\n.fa-xing:before {\n content: \"\\f168\"; }\n\n.fa-xing-square:before {\n content: \"\\f169\"; }\n\n.fa-y-combinator:before {\n content: \"\\f23b\"; }\n\n.fa-yahoo:before {\n content: \"\\f19e\"; }\n\n.fa-yammer:before {\n content: \"\\f840\"; }\n\n.fa-yandex:before {\n content: \"\\f413\"; }\n\n.fa-yandex-international:before {\n content: \"\\f414\"; }\n\n.fa-yarn:before {\n content: \"\\f7e3\"; }\n\n.fa-yelp:before {\n content: \"\\f1e9\"; }\n\n.fa-yen-sign:before {\n content: \"\\f157\"; }\n\n.fa-yin-yang:before {\n content: \"\\f6ad\"; }\n\n.fa-yoast:before {\n content: \"\\f2b1\"; }\n\n.fa-youtube:before {\n content: \"\\f167\"; }\n\n.fa-youtube-square:before {\n content: \"\\f431\"; }\n\n.fa-zhihu:before {\n content: \"\\f63f\"; }\n\n.sr-only {\n border: 0;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto; }\n"},"$:/plugins/TheDiveO/FontAwesome/styles/tiddlylinks/system":{"title":"$:/plugins/TheDiveO/FontAwesome/styles/tiddlylinks/system","created":"20171230212437805","modified":"20180328191223958","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<$set name=\"cfg\" value=<<fa5-cfgpath \"decorate-syslinks\">> >\n<$list filter=<<fa5-cfgfilterexpr>> >\n\n/* system tiddler titles starting with $:/... */\n.tc-tiddler-body a.tc-tiddlylink[href^=\"#%24%3A%2F\"]:before,\n.tc-tiddler-preview-preview a.tc-tiddlylink[href^=\"#%24%3A%2F\"]:before {\n <<fa-plugin-font-solid>>\n font-size: 80%;\n content: '\\f013\\202f';\n display: inline-block;\n}\n\n</$list>\n</$set>"},"$:/plugins/TheDiveO/FontAwesome/ui/ControlPanel/FontAwesome":{"title":"$:/plugins/TheDiveO/FontAwesome/ui/ControlPanel/FontAwesome","caption":"Font Awesome","created":"20180328182555066","modified":"20180328190604063","tags":"$:/tags/ControlPanel","type":"text/vnd.tiddlywiki","text":"Customize the Font Awesome 5 plugin.\n\n<$checkbox tiddler=<<fa5-cfgpath \"decorate-syslinks\">> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\" > decorate system links: [[$:/ControlPanel]]</$checkbox>\n\n<$checkbox tiddler=<<fa5-cfgpath \"decorate-extlinks\">> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\" > decorate external links: [[TiddlyWiki|http://tiddlywiki.com]] [[Wikipedia|https://en.wikipedia.org/wiki/TiddlyWiki]]</$checkbox>\n\n<$checkbox tiddler=<<fa5-cfgpath \"decorate-extdoclinks\">> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\" > decorate external document links: https://example.org/document.pdf</$checkbox>\n\n<$checkbox tiddler=<<fa5-cfgpath \"decorate-wk-extlinks\">> field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\" > decorate external well-known links: http://github.com http://en.wikipedia.org</$checkbox>"}}}
{
"tiddlers": {
"$:/plugins/aaldrich/tables/template/footer/default": {
"text": "<$list filter=\"[<currentTable>!contains:tbl-sort-by<currentColumn>]\" >\n<th>\n <$button set=\"!!tbl-sort-by\" setTo=<<currentColumn>> class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-sort-negate\" $value=\"false\"/>\n <<currentColumn>>\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"firstRecord\" filter=<<veryFirst>> value=<<firstRecord>> >\n <$wikify name=\"firstRecord\" text=<<firstRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<firstRecord>> />\n </$wikify>\n </$set>\n </$list>\n </$button>\n</th>\n</$list>\n<$list filter=\"[<currentTable>contains:tbl-sort-by<currentColumn>]\" >\n<th>\n <$list filter=\"[<currentTable>get[tbl-sort-negate]remove[true]]\" variable=\"hasNegate\">\n <$button set=\"!!tbl-sort-negate\" setTo=\"true\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n <<currentColumn>> {{$:/core/images/down-arrow}}\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"lastRecord\" filter=<<veryLast>> value=<<lastRecord>> >\n <$wikify name=\"lastRecord\" text=<<lastRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<lastRecord>> /> \n </$wikify>\n </$set>\n </$list>\n </$button>\n </$list>\n <$list filter=\"[<currentTable>get[tbl-sort-negate]remove[false]]\" variable=\"hasNegate\">\n <$button set=\"!!tbl-sort-negate\" setTo=\"false\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n <<currentColumn>> {{$:/core/images/up-arrow}}\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"firstRecord\" filter=<<veryFirst>> value=<<firstRecord>> >\n <$wikify name=\"firstRecord\" text=<<firstRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<firstRecord>> />\n </$wikify>\n </$set>\n </$list>\n </$button>\n </$list>\n</th>\n</$list>",
"title": "$:/plugins/aaldrich/tables/template/footer/default",
"tags": "$:/tags/table/FooterTemplate",
"revision": "0",
"modified": "20191208103208588",
"created": "20170205234154520",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/title": {
"text": "<td>\n<$link to=<<currentRecord>>>\n<$view tiddler=<<currentRecord>> field=\"title\"/><$list filter=\"[[$:/plugins/aaldrich/tables/defaults]get[tbl-title-type-show]]-false\">{{$:/plugins/aaldrich/tables/defaults!!tbl-title-type-code}}</$list>\n</$link>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/title",
"tbl-noedit": "title",
"tbl-column-list": "title",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191205205435926",
"created": "20170128100357203",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/default": {
"created": "20170128100543507",
"text": "<td>\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"block\" />\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$transclude tiddler=<<currentRecord>> index=<<currentColumn>> mode=\"block\" />\n </$list>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/default",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191206025142239",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/header/default": {
"text": "<$list filter=\"[<currentTable>!contains:tbl-sort-by<currentColumn>]\" >\n<th>\n <$button set=\"!!tbl-sort-by\" setTo=<<currentColumn>> class=\"tc-btn-invisible tc-tiddlylink\" >\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-sort-negate\" $value=\"false\"/>\n <<currentColumn>>\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"firstRecord\" filter=<<veryFirst>> value=<<firstRecord>> >\n <$wikify name=\"firstRecord\" text=<<firstRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<firstRecord>> />\n </$wikify>\n </$set>\n </$list>\n </$button>\n</th>\n</$list>\n<$list filter=\"[<currentTable>contains:tbl-sort-by<currentColumn>]\" >\n<th>\n <$list filter=\"[<currentTable>get[tbl-sort-negate]remove[true]]\" variable=\"hasNegate\">\n <$button set=\"!!tbl-sort-negate\" setTo=\"true\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n <<currentColumn>> {{$:/core/images/down-arrow}}\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"lastRecord\" filter=<<veryLast>> value=<<lastRecord>> >\n <$wikify name=\"lastRecord\" text=<<lastRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<lastRecord>> /> \n </$wikify>\n </$set>\n </$list>\n </$button>\n </$list>\n <$list filter=\"[<currentTable>get[tbl-sort-negate]remove[false]]\" variable=\"hasNegate\">\n <$button set=\"!!tbl-sort-negate\" setTo=\"false\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n <<currentColumn>> {{$:/core/images/up-arrow}}\n <$list filter=\"[<currentTable>get[tbl-page-marker]]\" variable=\"hasMarker\">\n <$set name=\"firstRecord\" filter=<<veryFirst>> value=<<firstRecord>> >\n <$wikify name=\"firstRecord\" text=<<firstRecord>> mode=\"inline\">\n <$action-setfield $tiddler={{!!title}} $field=\"tbl-page-marker\" $value=<<firstRecord>> />\n </$wikify>\n </$set>\n </$list>\n </$button>\n </$list>\n</th>\n</$list>",
"title": "$:/plugins/aaldrich/tables/template/header/default",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191208103157722",
"created": "20170205223914688",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/edit": {
"created": "20170209052300022",
"text": "<td class=\"tbl-inpt-edit\">\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$edit tiddler=<<currentRecord>> field=<<currentColumn>> />\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$edit tiddler=<<currentRecord>> index=<<currentColumn>> />\n </$list>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/edit",
"tbl-noedit": "tbl-edit",
"tbl-column-list": "tbl-edit",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191206021611931",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/tags": {
"text": "<td class=\"tbl-tag-template\">\n<$tiddler tiddler=<<currentRecord>>>{{||$:/core/ui/ViewTemplate/tags}}</$tiddler>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/tags",
"tbl-noedit": "",
"tbl-column-list": "tags",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191213071802838",
"created": "20170128104241598",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/footer/disabled": {
"text": "<th>\n<<currentColumn>>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/footer/disabled",
"tbl-column-list": "ID id",
"tags": "$:/tags/table/FooterTemplate",
"revision": "0",
"modified": "20191205210029064",
"created": "20170205234107408",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/button": {
"text": "<td style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-button-tip}} style=\"min-width:1.4ch\">\n <<buttonIcon>>\n <<buttonAction>>\n </$button>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/button",
"tbl-noedit": "tbl-button",
"tbl-column-list": "tbl-button",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215041903621",
"created": "20170206022244360",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/header/button": {
"text": "<th style=\"width:1.4ch;text-align:center;\">\n <span>\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-button-tip}} style=\"min-width:1.4ch\">\n <<buttonIcon>>\n <$list filter=<<tableFilter>> variable=\"currentRecord\">\n <<buttonAction>>\n </$list>\n </$button>\n </span>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/button",
"tbl-column-list": "tbl-button",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191215042023298",
"created": "20170206022431198",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/header/checkbox": {
"text": "<th style=\"width:1.4ch;text-align:center;\" class=\"tbl-inpt-check\">\n <$set name=\"allSelected\" filter=<<checkboxFilter>> value=\"$:/plugins/aaldrich/tables/macro!!tbl-false\" emptyValue=\"$:/plugins/aaldrich/tables/macro!!tbl-true\">\n <$reveal type=\"match\" state=<<allSelected>> text=\"false\">\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-checkbox-tip}}>\n <$checkbox field=\"tbl-selall\" unchecked=\"closed\" default=\"closed\"/>\n <$list filter=<<tableFilter>>variable=\"currentRecord\">\n <$action-listops $tiddler=<<currentRecord>> $tags=\"+[append<checkTag>]\" />\n <$action-setfield $tiddler=<<currentRecord>> $field=<<checkField>> $value=<<checkSel>>/>\n <<checkActions>>\n </$list>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<allSelected>> text=\"true\">\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-checkbox-tip}}>\n <$checkbox <$checkbox field=\"tbl-selall\" checked=\"open\" default=\"open\"/>\n <$list filter=<<tableFilter>>variable=\"currentRecord\">\n <$action-listops $tiddler=<<currentRecord>> $tags=\"+[remove<checkTag>]\" />\n <$action-setfield $tiddler=<<currentRecord>> $field=<<checkField>> $value=<<checkUnsel>>/>\n <<checkUnactions>>\n </$list>\n </$button>\n </$reveal>\n </$set>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/checkbox",
"tbl-column-list": "tbl-checkbox",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191215042449992",
"created": "20170206022431198",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/checkbox": {
"created": "20170206082424723",
"text": "<td style=\"width:1.4ch;text-align:center;\" class=\"tbl-inpt-check\">\n <$set name=\"recordSelected\" filter=<<checkboxTest>> value=\"$:/plugins/aaldrich/tables/macro!!tbl-false\" emptyValue=\"$:/plugins/aaldrich/tables/macro!!tbl-true\">\n <$reveal type=\"match\" state=<<recordSelected>> text=\"false\">\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-checkbox-tip}}>\n <$checkbox field=\"tbl-selall\" unchecked=\"closed\" default=\"closed\"/>\n <$action-listops $tiddler=<<currentRecord>> $tags=\"+[append<checkTag>]\" />\n <$action-setfield $tiddler=<<currentRecord>> $field=<<checkField>> $value=<<checkSel>>/>\n <<checkActions>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<recordSelected>> text=\"true\">\n <$button class=\"tc-btn-invisible\" tooltip={{!!tbl-checkbox-tip}}>\n <$checkbox field=\"tbl-selall\" checked=\"open\" default=\"open\"/>\n <$action-listops $tiddler=<<currentRecord>> $tags=\"+[remove<checkTag>]\" />\n <$action-setfield $tiddler=<<currentRecord>> $field=<<checkField>> $value=<<checkUnsel>>/>\n <<checkUnactions>>\n </$button>\n </$reveal>\n </$set>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/checkbox",
"tbl-noedit": "tbl-checkbox",
"tbl-column-list": "tbl-checkbox",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20200103012208099",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/header/expand": {
"text": "<th style=\"width:1.4ch;text-align:center;\">\n <$set name=\"isExpanded\" filter=\"[<tempTableExpand>indexes[]limit[1]]\" value=\"true\" emptyValue=\"false\">\n <$list variable=\"showColAll\" filter=\"[<isExpanded>]-[[false]]\" >\n <$button class=\"tc-btn-invisible\" tooltip=\"collapse all\" style=\"min-width:1.4ch\">{{$:/core/images/fold-button}}\n <$action-setfield $tiddler=<<tempTableExpand>> text=\"\"/>\n </$button>\n </$list>\n<!--this is done so the column stays visible if the table is squished out of tiddler margin -->\n <$list variable=\"hideColAll\" filter=\"[<isExpanded>]-[[true]]\" >\n <$button class=\"tc-btn-invisible\" style=\"cursor:default;min-width:1.4ch\">{{$:/core/images/blank}}\n </$button>\n </$list>\n </$set>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/expand",
"tbl-column-list": "tbl-expand tbl-expand-one tbl-expand-many",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191215042036015",
"created": "20170206022431198",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/expand-many": {
"text": "<$reveal type=\"nomatch\" state=<<tempPathExpand>> text=\"show\" tag=\"td\" style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"expand\" style=\"min-width:1.4ch\">\n <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>> $value=\"show\" />\n <$set name=\"childTable\" filter=\"[all[tiddlers+shadows]title<currentTable>get[tbl-expand]]\" >\n <$list filter=<<expandResetNested>>>\n <$action-setfield $tiddler=<<tableExpand>> $field=\"tbl-page-marker\" $value=\"\"/>\n </$list>\n </$set>\n {{$:/core/images/right-arrow}}\n </$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"td\" style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"collapse\" style=\"min-width:1.4ch\">\n <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>>/>\n {{$:/core/images/down-arrow}}\n </$button>\n</$reveal>",
"title": "$:/plugins/aaldrich/tables/template/body/expand-many",
"tbl-noedit": "tbl-expand-many",
"tbl-column-list": "tbl-expand-many",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215041922693",
"created": "20170206022244360",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/delete": {
"text": "<td style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible\" tooltip=\"delete\" style=\"min-width:1.4ch\">\n <$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"\"/>\n <$action-sendmessage $message=\"tm-delete-tiddler\" $param=<<currentRecord>>/>\n {{$:/core/images/delete-button}}\n </$button>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/delete",
"tbl-noedit": "tbl-delete",
"tbl-column-list": "tbl-delete",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215041952847",
"created": "20170212101814663",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/header/delete": {
"text": "<th style=\"width:1.4ch;text-align:center;\">\n <span>\n <$button class=\"tc-btn-invisible\" tooltip=\"delete all\" style=\"min-width:1.4ch\">\n<$list filter=<<showDeleteConfirm>>>\n <$action-setfield $tiddler=\"$:/temp/tables/delete-all\" text=<<currentTable>>/>\n</$list>\n {{$:/core/images/delete-button}}\n </$button>\n </span>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/delete",
"tbl-column-list": "tbl-delete",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191215042010684",
"created": "20170212102107998",
"bag": "default"
},
"$:/plugins/aaldrich/tables/pagination": {
"text": "<$vars filteredCount=\"\"\"<$count filter=<<tableFilter>>/>\"\"\" totalCount=\"\"\"<$count filter=<<inputFilter>>/>\"\"\" firstCount=\"\"\"<$count filter=<<getFirst>>/>\"\"\" lastCount=\"\"\"<$count filter=<<getLast>>/>\"\"\" pageSetting={{!!tbl-show-pagination}} >\n<$wikify name=\"totalCount\" text=<<totalCount>> mode=\"inline\">\n<$wikify name=\"filteredCount\" text=<<filteredCount>> mode=\"inline\">\n<$set name=\"pageReq\" filter=<<overLimit>> value=<<pageSetting>> emptyValue=\"true\" >\n<$wikify name=\"pageReq\" text=<<pageReq>> mode=\"inline\">\n<$reveal type=\"match\" state=\"$:/plugins/aaldrich/tables/macro!!tbl-true\" text=<<pageReq>> tag=\"div\" >\n<$set name=\"lastRecord\" filter=<<lastRec>> value=<<lastRecord>> emptyValue={{!!tbl-page-marker}} >\n<$wikify name=\"lastRecord\" text=<<lastRecord>> mode=\"inline\">\n<$set name=\"firstRecord\" filter=<<resetPagination>> value=<<firstRecord>> >\n<$wikify name=\"firstRecord\" text=<<firstRecord>> mode=\"inline\">\n<$wikify name=\"recordCount\" text=\"\"\"<$count filter=<<tableFilter>>/>\"\"\" mode=\"inline\">\n<$set name=\"previousPage\" filter=<<previousFirst>> value=<<previousPage>> emptyValue=<<firstRecord>>>\n<$wikify name=\"previousPage\" text=<<previousPage>> mode=\"inline\">\n<$set name=\"nextPage\" filter=<<nextFirst>> value=<<nextPage>> emptyValue={{!!tbl-page-marker}} >\n<$wikify name=\"nextPage\" text=<<nextPage>> mode=\"inline\">\n{{||$:/plugins/aaldrich/tables/template/pagination/default}}\n</$wikify>\n</$set>\n</$wikify>\n</$set>\n</$wikify>\n</$wikify>\n</$set>\n</$wikify>\n</$set>\n</$reveal> \n</$wikify>\n</$set> \n</$wikify>\n</$wikify>\n</$vars>",
"title": "$:/plugins/aaldrich/tables/pagination",
"tags": "",
"modified": "20191208103301563",
"created": "20170212033753546"
},
"$:/plugins/aaldrich/tables/readme": {
"created": "20170207092135594",
"text": "!!''~TiddlyTables'' is a plugin for ~TiddlyWiki to create advanced sortable tables.\n\nPut simply, a filter is used to return a list of tiddler titles, or ''records''. and a list of field/index names determines what ''columns'' to display. \n\nThe best way to explore the many features of ~TiddlyTables is to create a new table and start editing.\n\n#''Install'' - Drag this link into your ~TiddlyWiki: [[$:/plugins/aaldrich/tables]]\n#''Create'' - There are two ways to create a ~TiddlyTable.\n##Click the ''New Table'' button in the //Page Toolbar//: <h2>{{$:/plugins/aaldrich/tables/button/image}}</h2>\n##Manual method\n###Add ''``<<table \"My New Table\">>``'' to the text field of a new or existing tiddler. \n###Save tiddler. A button is rendered on the tiddler.\n###Click ''Reset Table'' button. This creates the required //tbl// fields and renders the table.\n###//Note: `<<table>>` with no title parameter will store its fields in the current tiddler.//\n#''Edit'' - There are two ways to edit the table.\n##Graphically (recommended)\n###Click the {{$:/core/images/options-button}} Button above the table to edit ''Table Options''.\n###Click the {{$:/core/images/edit-button}} Button above the table to toggle ''Edit Mode''.\n##Manually - Edit the tiddler and modify //tbl// fields.\n#''Customize'' - ~TiddlyTables are highly customizable.\n##''Defaults'' - [[$:/plugins/aaldrich/tables/defaults]]\n\n##''Themes'' (Stylesheet) - prefix ~$:/plugins/aaldrich/tables/style...\n###Tagged ~$:/tags/Stylesheet (required)\n###Field tbl-class-name (required)\n###Global default setting - tbl-class field\n\n##''Column Templates'' - determine how columns are rendered.\n\n###Each column has three template types:\n####''Header'' - prefix ~$:/plugins/aaldrich/tables/template/header...\n#####Tagged ~$:/tags/table/HeaderTemplate (required)\n#####Global default setting - tbl-temp-default-header field\n\n####''Body'' - prefix ~$:/plugins/aaldrich/tables/template/body...\n#####Tagged ~$:/tags/table/BodyTemplate (required)\n#####Global default setting - tbl-temp-default-body field\n\n####''Footer'' - prefix ~$:/plugins/aaldrich/tables/template/footer...\n#####Tagged ~$:/tags/table/FooterTemplate (required)\n#####Global default setting - tbl-temp-default-footer field\n\n###Add fields/index names to the field ''tbl-column-list'' of a template to assign them.\n###If a field/index is not assigned to a template of a particular type, the default template for that type is used.\n###New templates can be created or cloned from an existing one.\n\n##''Expand Templates'' - prefix ~$:/plugins/aaldrich/tables/template/expand...\n###Tagged ~$:/tags/table/ExpandTemplate (required)\n###Default setting - tbl-temp-default-expand field\n\n##''Pagination Template'' - ~$:/plugins/aaldrich/tables/template/pagination/default\n###No mechanism to change on per-table basis. No tag required.\n###No default setting\n###To modify, edit the default pagination template.",
"title": "$:/plugins/aaldrich/tables/readme",
"tags": "",
"modified": "20191210033829409"
},
"$:/plugins/aaldrich/tables/defaults": {
"text": "''all'' of a fundamental category: [all[tiddlers+shadows+tags+orphans+missing+current]]\n''backlinks'' to input: [backlinks[]]\n''contains'' - list field //contains// value ``!``: [contains:list[ENTER VALUE HERE]]\n''days'' in past/future ``!``: [days:modified[ENTER + OR - NUMBER OF DAYS HERE]]\n''field'' has value ``!``: [field:title[ENTER VALUE HERE]]\n''fields'' of input: [fields[]]\n''get'' value of field: [get[ENTER FIELD HERE]]\n''getindex'' value of property: [getindex[ENTER PROPERTY HERE]]\n''has'' field ``!``: [has[ENTER FIELD HERE]]\n''indexes'' of input: [indexes[]]\n''is'' a fundamental category ``!``: [is[current OR image OR missing OR orphan OR shadow OR tag OR tiddler OR variable OR blank]]\n''links'' of input: [links[]]\n''list'' titles of list field ``!``: [list[ENTER TIDDLER!!FIELD REFERENCE HERE]]\n''listed'' on field of input: [listed[ENTER OPTIONAL FIELD HERE]]\n''prefix'' on input titles ``!``: [prefix[ENTER TITLE PREFIX HERE]]\n''range'' of numbers ``!``: [range[1, 25, 5]]\n''regexp'' pattern ``!``: [regexp[ENTER REG EXP HERE]]\n''reverse'' order of input: [reverse[]]\n''sameday'' as field: [sameday:modified[ENTER YYYYMMDD HERE]]\n''search'' ``!``: [search:tags, text, title:literal,whitespace,regexp,words,casesensitive,anchored[ENTER SEARCH TEXT HERE]]\n''subfilter'' ``!``: [subfilter<ENTER VARIABLE OR REFERENCE HERE>]\n''suffix'' on input titles ``!``: [suffix[ENTER TITLE SUFFIX HERE]]\n''tag'' found on input ``!``: [tag[ENTER TAG NAME HERE]]\n''tagging'' matches input: [tagging[]]\n''tags'' of input: [tags[]]\n''untagged'' titles of input ``!``: [untagged[]]",
"type": "application/x-tiddler-dictionary",
"title": "$:/plugins/aaldrich/tables/defaults",
"tbl-title-type-show": "true",
"tbl-title-type-code": "<$list filter=\"[<currentRecord>is[shadow]]\">^^s^^</$list><$list filter=\"[<currentRecord>is[tiddler]is[shadow]]\">^^*^^</$list>",
"tbl-temp-default-head": "$:/plugins/aaldrich/tables/template/header/default",
"tbl-temp-default-foot": "$:/plugins/aaldrich/tables/template/footer/default",
"tbl-temp-default-expand": "$:/plugins/aaldrich/tables/template/expand/transclude",
"tbl-temp-default-body-edit": "$:/plugins/aaldrich/tables/template/body/edit-input",
"tbl-temp-default-body": "$:/plugins/aaldrich/tables/template/body/default",
"tbl-style-table": "width:100%;",
"tbl-style-container": "",
"tbl-style-colgroup": "",
"tbl-sort-type": "nsort",
"tbl-sort-negate": "false",
"tbl-sort-by": "title",
"tbl-show-pagination": "auto",
"tbl-show-mode": "true",
"tbl-show-header": "true",
"tbl-show-footer": "false",
"tbl-show-edit": "true",
"tbl-show-colgroup": "false",
"tbl-show-caption": "true",
"tbl-page-marker": "",
"tbl-mode": "normal",
"tbl-limit-choices": "[[5]] [[10]] [[15]] [[20]] [[25]] [[30]] [[40]] [[50]]",
"tbl-limit": "10",
"tbl-filter": "[!is[system]search[]]",
"tbl-expand": "",
"tbl-default-title": "New Table",
"tbl-default-date-format": "0MM/0DD/YY hh12:0mmAM",
"tbl-columns": "title modified tags",
"tbl-class": "tbl-style-default",
"tbl-checkbox-value-unselected": "",
"tbl-checkbox-value-selected": "",
"tbl-checkbox-tip": "",
"tbl-checkbox-tag": "",
"tbl-checkbox-field": "",
"tbl-checkbox-actions-unselected": "",
"tbl-checkbox-actions-selected": "",
"tbl-caption-mode": "inline",
"tbl-caption": "''{{!!title}}''",
"tbl-button-tip": "",
"tbl-button-icon": "{{$:/core/images/menu-button}}",
"tbl-button-actions": "",
"tbl-anything": "",
"tbl-add-records": "",
"tags": "",
"modified": "20191214043748895",
"created": "20170207075434434"
},
"$:/plugins/aaldrich/tables/macro": {
"created": "20170205053213873",
"text": "\\define table(title:)\n<$set name=\"currentTable\" value=<<__title__>> emptyValue={{!!title}}>\n<$tiddler tiddler=<<currentTable>>>\n<!-- assign vars -->\n<$vars buttonAction={{!!tbl-button-actions}} buttonIcon={{!!tbl-button-icon}} anythingCode={{!!tbl-anything}} pageMarker={{!!tbl-page-marker}} enteredFilter={{!!tbl-filter}} enteredTitles={{!!tbl-add-records}} recordLimit={{!!tbl-limit}} sortBy={{!!tbl-sort-by}} sortType={{!!tbl-sort-type}} checkTag={{!!tbl-checkbox-tag}} checkSel={{!!tbl-checkbox-value-selected}} checkUnsel={{!!tbl-checkbox-value-unselected}} checkActions={{!!tbl-checkbox-actions-selected}} checkUnactions={{!!tbl-checkbox-actions-unselected}} >\n<$set name=\"tableExpand\" filter=\"[<currentTable>get[tbl-expand]]\" emptyValue={{$:/plugins/aaldrich/tables/defaults!!tbl-temp-default-expand}} value={{!!tbl-expand}}>\n<$set name=\"checkField\" filter=\"[<currentTable>get[tbl-checkbox-field]]\" emptyValue=\"modified\" value={{!!tbl-checkbox-field}}>\n<$set name=\"sortNeg\" filter=\"[<currentTable>field:tbl-sort-negate[true]]\" emptyValue=\"\" value=\"!\">\n<$set name=\"pageFilter\" filter=<<nextFirst>> emptyValue=\"+[allafter{!!tbl-page-marker}]+[{!!tbl-page-marker}]\" value=\"+[allafter:including{!!tbl-page-marker}]\" >\n<$set name=\"includePage\" filter=\"[<currentTable>get[tbl-page-marker]]\" emptyValue=\"\" value=<<pageFilter>> >\n<!-- check if table can be rendered properly -->\n<$set name=\"hideTable\" filter=<<currentTiddler>> value=<<currentTiddler>> emptyValue=\"$:/plugins/aaldrich/tables/template/expand/transclude\" >\n<$set name=\"hideTable\" filter=\"[<hideTable>]-[[$:/plugins/aaldrich/tables/template/expand/transclude]]-[[field]]+[limit[1]]\" value=\"false\" emptyValue=\"true\">\n<$reveal type=\"match\" state=\"$:/plugins/aaldrich/tables/macro!!tbl-true\" text=<<hideTable>>>\n''Table transclusion error: ''use //title// parameter: `<<table \"My Table\">>`.\n</$reveal>\n</$set>\n<$list filter=\"[<hideTable>]-[[$:/plugins/aaldrich/tables/template/expand/transclude]]-[[field]]+[limit[1]]\" variable=\"showTable\">\n<!-- reveal refresh table button that adds req fields to a table using default values -->\n<$reveal type=\"match\" state=\"!!tbl-columns\" text=\"\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" >{{$:/core/images/refresh-button}} Reset Table<$action-setfield \ntbl-add-records={{$:/plugins/aaldrich/tables/defaults!!tbl-add-records}}\ntbl-anything={{$:/plugins/aaldrich/tables/defaults!!tbl-anything}}\ntbl-button-actions={{$:/plugins/aaldrich/tables/defaults!!tbl-button-actions}}\ntbl-button-icon={{$:/plugins/aaldrich/tables/defaults!!tbl-button-icon}}\ntbl-button-tip={{$:/plugins/aaldrich/tables/defaults!!tbl-button-tip}}\ntbl-caption={{$:/plugins/aaldrich/tables/defaults!!tbl-caption}}\ntbl-checkbox-actions-selected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-actions-selected}}\ntbl-checkbox-actions-unselected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-actions-unselected}}\ntbl-checkbox-field={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-field}}\ntbl-checkbox-tag={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-tag}}\ntbl-checkbox-tip={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-tip}}\ntbl-checkbox-value-selected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-value-selected}}\ntbl-checkbox-value-unselected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-value-unselected}}\ntbl-class={{$:/plugins/aaldrich/tables/defaults!!tbl-class}}\ntbl-columns={{$:/plugins/aaldrich/tables/defaults!!tbl-columns}}\ntbl-expand={{$:/plugins/aaldrich/tables/defaults!!tbl-expand}}\ntbl-filter={{$:/plugins/aaldrich/tables/defaults!!tbl-filter}}\ntbl-show-caption={{$:/plugins/aaldrich/tables/defaults!!tbl-show-caption}}\ntbl-show-colgroup={{$:/plugins/aaldrich/tables/defaults!!tbl-show-colgroup}}\ntbl-show-edit={{$:/plugins/aaldrich/tables/defaults!!tbl-show-edit}}\ntbl-show-footer={{$:/plugins/aaldrich/tables/defaults!!tbl-show-footer}}\ntbl-show-header={{$:/plugins/aaldrich/tables/defaults!!tbl-show-header}}\ntbl-show-mode={{$:/plugins/aaldrich/tables/defaults!!tbl-show-mode}}\ntbl-show-pagination={{$:/plugins/aaldrich/tables/defaults!!tbl-show-pagination}}\ntbl-limit={{$:/plugins/aaldrich/tables/defaults!!tbl-limit}}\ntbl-mode={{$:/plugins/aaldrich/tables/defaults!!tbl-mode}}\ntbl-page-marker={{$:/plugins/aaldrich/tables/defaults!!tbl-page-marker}}\ntbl-sort-by={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-by}}\ntbl-sort-negate={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-negate}}\ntbl-sort-type={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-type}}\ntbl-style-colgroup={{$:/plugins/aaldrich/tables/defaults!!tbl-style-colgroup}}\ntbl-style-container={{$:/plugins/aaldrich/tables/defaults!!tbl-style-container}}\ntbl-style-table={{$:/plugins/aaldrich/tables/defaults!!tbl-style-table}}/>\n</$button>\n</$reveal>\n<!-- reveal table if req field (tbl-columns) exists -->\n<$reveal type=\"nomatch\" state=\"!!tbl-columns\" text=\"\" tag=\"div\" style={{!!tbl-style-container}} class={{!!tbl-class}}>\n{{||$:/plugins/aaldrich/tables/view}}\n</$reveal>\n</$list>\n</$set>\n</$set>\n</$set>\n</$set>\n</$set>\n</$set>\n</$vars>\n</$tiddler>\n</$set>\n\\end\n\n\\define inputFilter()\n$(enteredFilter)$[list[$(currentTable)$!!tbl-add-records]]\n\\end\n\n\\define resetPagination()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[first[]]\n\\end\n\n\\define veryFirst()\n$(inputFilter)$+[$(sortType)$[title]$(sortType)$[$(currentColumn)$]]+[first[]]\n\\end\n\n\\define veryLast()\n$(inputFilter)$+[!$(sortType)$[title]$(sortType)$[$(currentColumn)$]]+[last[]]\n\\end\n\n\\define previousFirst()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[allbefore[$(pageMarker)$]]+[last[$(recordLimit)$]]+[first[]]\n\\end\n\n\\define nextFirst()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[allafter[$(pageMarker)$]]+[limit[$(recordLimit)$]]+[last[]]\n\\end\n\n\\define lastRec()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[allafter:including[$(pageMarker)$]]+[limit[$(recordLimit)$]]+[last[]]\n\\end\n\n\\define getFirst()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[allbefore[$(pageMarker)$]]+[prepend[1]]\n\\end\n\n\\define getLast()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]+[allbefore:including[$(lastRecord)$]]\n\\end\n\n\\define tableFilter()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]$(includePage)$+[limit[$(recordLimit)$]]\n\\end\n\n\\define showDeleteConfirm()\n$(tableFilter)$+[limit[1]]\n\\end\n\n\\define checkboxFilter()\n$(inputFilter)$+[$(sortType)$[title]$(sortNeg)$$(sortType)$[$(sortBy)$]]$(includePage)$+[limit[$(recordLimit)$]!tag[$(checkTag)$]!$(checkField)$[$(checkSel)$]]\n\\end\n\n\\define checkboxTest()\n[[$(currentRecord)$]!tag[$(checkTag)$]!$(checkField)$[$(checkSel)$]]\n\\end\n\n\\define overLimit()\n$(inputFilter)$+[limit[$(recordLimit)$]]+[nth[$(totalCount)$]addprefix[zzz]][[$(currentTable)$]get[tbl-show-pagination]]+[remove[auto]reverse[]][range[$(filteredCount)$]]+[butlast[$(totalCount)$]]\n\\end\n\n\\define tempTable()\n$:/temp/tables/$(currentTable)$\n\\end\n\n\\define tempTableExpand()\n$:/temp/tables/expand/$(currentTable)$\n\\end\n\n\\define tempTableStyle()\n$:/temp/tables/style/$(currentTable)$\n\\end\n\n\\define tempTagPopup()\n$(tempTable)$/$(currentRecord)$/$(currentTiddler)$\n\\end\n\n\\define tempRecord()\n$(tempTable)$/$(currentRecord)$\n\\end\n\n\\define tempPath()\n$(tempTable)$##$(currentRecord)$\n\\end\n\n\\define tempPathExpand()\n$(tempTableExpand)$##$(currentRecord)$\n\\end\n\n\\define tableExpandRender()\n{{$(tableExpand)$}}\n\\end\n\n\\define buttonIconPick()\n{{$(iconPickTitle)$}}\n\\end\n\n\\define expandClassFilter()\n[title[$(childTable)$]get[tbl-columns]]\n\\end\n\n\\define expandResetNested()\n[title[$(childTable)$]get[tbl-page-marker]]\n\\end\n\n\\define editorPreview()\n{{$(editorTarget)$}}\n\\end\n\n\\define tableFilterPick()\n$(existingTableFilter)$$(existingTableFilterPrefix)$$(filterValues)$\n\\end\n\n\\define getIndex()\n$(inputFilter)$+[$(sortType)$[title]]+[allbefore:including[$(currentRecord)$]count[]]\n\\end",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/aaldrich/tables/macro",
"tbl-true": "true",
"tbl-false": "false",
"tags": "$:/tags/Macro",
"revision": "0",
"modified": "20200103011234341",
"bag": "default"
},
"$:/plugins/aaldrich/tables/style/dark": {
"text": "{{||$:/plugins/aaldrich/tables/style/default}}",
"title": "$:/plugins/aaldrich/tables/style/dark",
"tbl-width-border": "1px",
"tbl-size-icons": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-size-height": "{{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}}",
"tbl-size-font": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-pad-tb-headfoot": "2px",
"tbl-pad-tb-body": "1px",
"tbl-pad-lr": "7px",
"tbl-color-text-hover": "#FFFEE2",
"tbl-color-text": "#FFFFFF",
"tbl-color-row-odd": "#7A7A7A",
"tbl-color-row-hover": "#46486B",
"tbl-color-row-even": "#737373",
"tbl-color-row-all": "#686868",
"tbl-color-header": "#595959",
"tbl-color-footer": "#595959",
"tbl-color-caption": "#3D3D3D",
"tbl-color-border": "#999999",
"tbl-class-type": "child",
"tbl-class-name": "tbl-style-dark",
"tags": "$:/tags/Stylesheet",
"modified": "20191205031607095",
"created": "20190723034929272"
},
"$:/plugins/aaldrich/tables/style/invisible": {
"text": "{{||$:/plugins/aaldrich/tables/style/default}}",
"title": "$:/plugins/aaldrich/tables/style/invisible",
"tbl-width-border": "0px",
"tbl-size-icons": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-size-height": "{{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}}",
"tbl-size-font": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-pad-tb-headfoot": "2px",
"tbl-pad-tb-body": "1px",
"tbl-pad-lr": "7px",
"tbl-color-text-hover": "#001177",
"tbl-color-text": "#000000",
"tbl-color-row-odd": "transparent",
"tbl-color-row-hover": "transparent",
"tbl-color-row-even": "transparent",
"tbl-color-row-all": "transparent",
"tbl-color-header": "transparent",
"tbl-color-footer": "transparent",
"tbl-color-caption": "transparent",
"tbl-color-border": "#000000",
"tbl-class-type": "child",
"tbl-class-name": "tbl-style-invisible",
"tags": "$:/tags/Stylesheet",
"modified": "20191205031632668",
"created": "20190723040014559"
},
"$:/plugins/aaldrich/tables/template/body/date": {
"text": "<td>\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$view tiddler=<<currentRecord>> field=<<currentColumn>> format=\"date\" template={{$:/plugins/aaldrich/tables/defaults!!tbl-default-date-format}}/>\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$view tiddler=<<currentRecord>> index=<<currentColumn>> format=\"date\" template={{$:/plugins/aaldrich/tables/defaults!!tbl-default-date-format}}/>\n </$list>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/date",
"tbl-noedit": "created modified",
"tbl-column-list": "created modified",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191207211809915",
"created": "20170128100657312",
"bag": "default"
},
"$:/plugins/aaldrich/tables/style/standard": {
"text": "{{||$:/plugins/aaldrich/tables/style/default}}",
"title": "$:/plugins/aaldrich/tables/style/standard",
"tbl-width-border": "1px",
"tbl-size-icons": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-size-height": "{{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}}",
"tbl-size-font": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-pad-tb-headfoot": "5px",
"tbl-pad-tb-body": "3px",
"tbl-pad-lr": "7px",
"tbl-color-text-hover": "#001177",
"tbl-color-text": "#000000",
"tbl-color-row-odd": "#FFFFFF",
"tbl-color-row-hover": "#f2f6ff",
"tbl-color-row-even": "#FFFFFF",
"tbl-color-row-all": "#FFFFFF",
"tbl-color-header": "#E0E0E0",
"tbl-color-footer": "#E0E0E0",
"tbl-color-caption": "#c6c6c6",
"tbl-color-border": "#a5a5a5",
"tbl-class-type": "child",
"tbl-class-name": "tbl-style-standard",
"tags": "$:/tags/Stylesheet",
"modified": "20191205031639271",
"created": "20190723034800933"
},
"$:/plugins/aaldrich/tables/template/body/edit-textarea": {
"created": "20170209052300022",
"text": "<td class=\"tbl-inpt-edit\">\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$edit-text tiddler=<<currentRecord>> field=<<currentColumn>> tag=\"textarea\" minHeight=10px rows=1/>\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$edit-text tiddler=<<currentRecord>> index=<<currentColumn>> tag=\"textarea\" minHeight=10px rows=1/>\n </$list>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/edit-textarea",
"tbl-noedit": "tbl-edit-textarea",
"tbl-column-list": "tbl-edit-textarea",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191206021427822",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/expand-one": {
"text": "<$reveal type=\"nomatch\" state=<<tempPathExpand>> text=\"show\" tag=\"td\" style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"expand\" style=\"min-width:1.4ch\">\n <$action-setfield $tiddler=<<tempTableExpand>> $field=\"text\" $value=\"\"/>\n <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>> $value=\"show\" />\n <$set name=\"childTable\" filter=\"[all[tiddlers+shadows]title<currentTable>get[tbl-expand]]\" >\n <$list filter=<<expandResetNested>>>\n <$action-setfield $tiddler=<<tableExpand>> $field=\"tbl-page-marker\" $value=\"\"/>\n </$list>\n </$set>\n {{$:/core/images/right-arrow}}\n </$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"td\" style=\"width:1.4ch;text-align:center;\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"collapse\" style=\"min-width:1.4ch\">\n <$action-setfield $tiddler=<<tempTableExpand>> $field=\"text\" $value=\"\"/>\n {{$:/core/images/down-arrow}}\n </$button>\n</$reveal>",
"title": "$:/plugins/aaldrich/tables/template/body/expand-one",
"tbl-noedit": "tbl-expand tbl-expand-one",
"tbl-column-list": "tbl-expand tbl-expand-one",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215041940295",
"created": "20170206022244360",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/index": {
"text": "<td style=\"width:1.4ch;\">\n<$set name=\"currentIndex\" filter=<<getIndex>> >\n<<currentIndex>>\n</$set>\n</td>",
"type": "",
"title": "$:/plugins/aaldrich/tables/template/body/index",
"tbl-noedit": "ID id tbl-index",
"tbl-column-list": "ID id tbl-index",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215045925271",
"created": "20190714050106704",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/expand/transclude": {
"created": "20190714035903654",
"text": "<$tiddler tiddler=<<currentRecord>>>\n<$transclude tiddler=<<currentRecord>> field=\"text\" mode=\"block\" />\n</$tiddler>",
"title": "$:/plugins/aaldrich/tables/template/expand/transclude",
"tbl-template-name": "view",
"tags": "$:/tags/table/ExpandTemplate",
"modified": "20191210184939804"
},
"$:/plugins/aaldrich/tables/template/header/empty": {
"text": "<th>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/empty",
"tbl-column-list": "tbl-anything tbl-index tbl-radio",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191214044612648",
"created": "20190714062216671",
"bag": "default"
},
"$:/plugins/aaldrich/tables/view": {
"text": "<!-- reveals Edit Buttons-->\n{{||$:/plugins/aaldrich/tables/editor/open}}\n<!-- reveals deletion confirmation -->\n <$reveal class=\"tbl-delete-confirm\" type=\"match\" state=\"$:/temp/tables/delete-all!!text\" text=<<currentTable>> tag=\"div\">\n Delete all displayed records? \n <$button class=\"tc-btn-invisible\">\n <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n <$list filter=<<tableFilter>> variable=\"currentRecord\">\n <$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"\"/>\n <$action-deletetiddler $tiddler=<<currentRecord>>/>\n </$list>\n {{$:/core/images/delete-button}} ''yes'' \n </$button> or \n <$button class=\"tc-btn-invisible\">\n <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n {{$:/core/images/close-button}} ''no'' \n </$button>\n </$reveal>\n<table style={{!!tbl-style-table}}>\n<!-- reveals table caption -->\n <$reveal type=\"match\" state=\"!!tbl-show-caption\" text=\"true\" tag=\"caption\">\n <$transclude tiddler=<<currentTable>> field=\"tbl-caption\" mode={{$:/plugins/aaldrich/tables/defaults!!tbl-caption-mode}}/>\n </$reveal>\n<!-- reveals column groups -->\n <$reveal type=\"match\" state=\"!!tbl-show-colgroup\" text=\"true\" tag=\"colgroup\">\n {{!!tbl-style-colgroup}}\n </$reveal>\n<!-- reveal header -->\n <$reveal type=\"match\" state=\"!!tbl-show-header\" text=\"true\" tag=\"thead\">\n <tr>\n <$list filter={{!!tbl-columns}} variable=\"currentColumn\">\n <$set name=\"headerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/table/HeaderTemplate]tag<currentColumn>][all[tiddlers+shadows]tag[$:/tags/table/HeaderTemplate]contains:tbl-column-list<currentColumn>]+[limit[1]get[title]]\" value=<<headerLookup>> emptyValue={{$:/plugins/aaldrich/tables/defaults!!tbl-temp-default-head}}>\n <$transclude tiddler=<<headerLookup>> field=\"text\" mode=\"inline\"/>\n </$set>\n </$list>\n </tr>\n </$reveal>\n<!-- reveal footer -->\n <$reveal type=\"match\" state=\"!!tbl-show-footer\" text=\"true\" tag=\"tfoot\">\n <tr>\n <$list filter={{!!tbl-columns}} variable=\"currentColumn\">\n <$set name=\"footerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/table/FooterTemplate]tag<currentColumn>][all[tiddlers+shadows]tag[$:/tags/table/FooterTemplate]contains:tbl-column-list<currentColumn>]+[limit[1]get[title]]\" value=<<footerLookup>> emptyValue={{$:/plugins/aaldrich/tables/defaults!!tbl-temp-default-foot}}>\n <$transclude tiddler=<<footerLookup>> field=\"text\" mode=\"inline\"/>\n </$set>\n </$list>\n </tr>\n </$reveal>\n<!-- generate records -->\n <tbody>\n <$list filter=<<tableFilter>> variable=\"currentRecord\">\n <$wikify name=\"rowStyle\" text=\"\"\"<$transclude tiddler=<<tempTableStyle>> index=<<currentRecord>> />\"\"\" mode=\"inline\">\n <$list filter=\"[<currentTable>contains:tbl-mode[edit]]\" variable=\"tableModeEdit\">\n <tr class=\"tbl-record-row\" style=<<rowStyle>>>\n <$list filter={{!!tbl-columns}} variable=\"currentColumn\">\n <$set name=\"hasIndex\" filter=\"[<currentRecord>indexes[]]-[<currentColumn>]+[count[]]-[<currentRecord>indexes[]count[]]\" value=index emptyValue=\"field\">\n <$set name=\"fieldOrIndex\" filter=\"[<currentRecord>fields[]]-[<currentColumn>]+[count[]]-[<currentRecord>fields[]count[]]\" value=\"field\" emptyValue=<<hasIndex>>>\n <$set name=\"bodyLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/table/BodyTemplate]contains:tbl-noedit<currentColumn>limit[1]get[title]]\" value=<<bodyLookup>> emptyValue={{$:/plugins/aaldrich/tables/defaults!!tbl-temp-default-body-edit}}>\n <$transclude tiddler=<<bodyLookup>> field=\"text\" mode=\"inline\"/>\n </$set>\n </$set>\n </$set>\n </$list>\n </tr>\n </$list>\n <$list filter=\"[<currentTable>!contains:tbl-mode[edit]]\" variable=\"tableModeNormal\">\n <tr class=\"tbl-record-row\" style=<<rowStyle>>>\n <$list filter={{!!tbl-columns}} variable=\"currentColumn\">\n <$set name=\"hasIndex\" filter=\"[<currentRecord>indexes[]]-[<currentColumn>]+[count[]]-[<currentRecord>indexes[]count[]]\" value=index emptyValue=\"field\">\n <$set name=\"fieldOrIndex\" filter=\"[<currentRecord>fields[]]-[<currentColumn>]+[count[]]-[<currentRecord>fields[]count[]]\" value=\"field\" emptyValue=<<hasIndex>>>\n <$set name=\"bodyLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/table/BodyTemplate]tag<currentColumn>][all[tiddlers+shadows]tag[$:/tags/table/BodyTemplate]contains:tbl-column-list<currentColumn>]+[limit[1]get[title]]\" value=<<bodyLookup>> emptyValue={{$:/plugins/aaldrich/tables/defaults!!tbl-temp-default-body}}>\n <$transclude tiddler=<<bodyLookup>> field=\"text\" mode=\"inline\"/>\n </$set>\n </$set>\n </$set>\n </$list>\n </tr>\n </$list>\n<!-- reveal expanded record-->\n <$list variable=\"isExpanded\" filter=\"[<tempTableExpand>getindex<currentRecord>limit[1]]\">\n <tr class=\"tbl-record-expand\" >\n <$set name=\"childTable\" filter=\"[all[tiddlers+shadows]title<currentTable>get[tbl-expand]]\" >\n <$set name=\"expandClass\" filter=<<expandClassFilter>> value=\"tbl-expand-nopad\" emptyValue=\"tbl-expand-pad\">\n <td colspan=\"999\" class=<<expandClass>> >\n\n <<tableExpandRender>>\n\n </td>\n </$set>\n </$set>\n </tr>\n </$list>\n </$wikify>\n </$list>\n </tbody>\n</table>\n{{||$:/plugins/aaldrich/tables/pagination}}",
"title": "$:/plugins/aaldrich/tables/view",
"tags": "",
"modified": "20191215053651054",
"created": "20170205062652787"
},
"$:/plugins/aaldrich/tables/template/header/disabled": {
"text": "<th>\n<<currentColumn>>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/header/disabled",
"tbl-column-list": "ID id",
"tags": "$:/tags/table/HeaderTemplate",
"revision": "0",
"modified": "20191205210234858",
"created": "20170205233518589",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/footer/empty": {
"text": "<th>\n</th>",
"title": "$:/plugins/aaldrich/tables/template/footer/empty",
"tbl-column-list": "tbl-expand tbl-expand-one tbl-expand-many tbl-anything tbl-index tbl-delete tbl-button tbl-checkbox tbl-radio",
"tags": "$:/tags/table/FooterTemplate",
"revision": "0",
"modified": "20191214044407597",
"created": "20170206022519162",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/pagination/default": {
"text": "<$reveal type=\"nomatch\" style=\"text-align:center;\" state=\"!!tbl-page-marker\" text=\"\" tag=\"div\" class=\"tbl-page-footer\">\n <$reveal type=\"nomatch\" style=\"float:left;\" state=\"!!tbl-page-marker\" text=<<previousPage>> tag=\"div\" class=\"tbl-page-prev\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-setfield tbl-page-marker=<<previousPage>>/>{{$:/core/images/chevron-left}} ''Prev''</$button>\n </$reveal>\n <$reveal type=\"match\" style=\"float:right;\" state=\"!!tbl-limit\" text=<<recordCount>> tag=\"div\" class=\"tbl-page-next\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-setfield tbl-page-marker=<<nextPage>>/>''Next'' {{$:/core/images/chevron-right}}</$button>\n </$reveal>\nDisplaying <<firstCount>> through <<lastCount>> of <<totalCount>> Results |\n<$select tiddler=<<currentTable>> field=\"tbl-limit\" actions=\"\"\"<$action-setfield $tiddler=<<currentTable>> tbl-page-marker=<<firstRecord>>/>\"\"\">\n<$set name=\"limitFilter\" value={{$:/plugins/aaldrich/tables/defaults!!tbl-limit-choices}} >\n<$list filter=<<limitFilter>>>\n<option value={{!!title}}>Limit {{!!title}}</option>\n</$list>\n</$set>\n<option value=9999999>Show All</option>\n</$select>\n</$reveal>\n<$reveal type=\"match\" state=\"!!tbl-page-marker\" text=\"\" >\n <$list filter=<<veryFirst>> >\n <div class=\"tbl-page-refresh\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-setfield $tiddler=<<currentTable>> tbl-page-marker=<<firstRecord>>/>''Click to Enable Pagination''</$button>\n </div>\n </$list>\n</$reveal>",
"title": "$:/plugins/aaldrich/tables/template/pagination/default",
"tags": "",
"modified": "20191208103154143",
"created": "20190715072523828"
},
"$:/plugins/aaldrich/tables/style/tight": {
"created": "20190726060145636",
"text": "{{||$:/plugins/aaldrich/tables/style/default}}",
"title": "$:/plugins/aaldrich/tables/style/tight",
"tbl-width-border": "1px",
"tbl-size-icons": "10pt",
"tbl-size-height": "20px",
"tbl-size-font": "10pt",
"tbl-pad-tb-headfoot": "1px",
"tbl-pad-tb-body": "1px",
"tbl-pad-lr": "7px",
"tbl-color-text-hover": "#001177",
"tbl-color-text": "#000000",
"tbl-color-row-odd": "#FFFFFF",
"tbl-color-row-hover": "#FFFEE2",
"tbl-color-row-even": "#FCFCFC",
"tbl-color-row-all": "#FFFFFF",
"tbl-color-header": "#F0F0F0",
"tbl-color-footer": "#F0F0F0",
"tbl-color-caption": "#DDDDDD",
"tbl-color-border": "#DDDDDD",
"tbl-class-type": "child",
"tbl-class-name": "tbl-style-tight",
"tags": "$:/tags/Stylesheet",
"modified": "20191215061001950"
},
"$:/plugins/aaldrich/tables/style/default": {
"created": "20190723034442800",
"text": "<!-- CONTAINER/TABLE-->\n.{{!!tbl-class-name}} { \n text-shadow: none;\n width:100%;\n overflow:visible;\n}\n\n.{{!!tbl-class-name}} > table{ \n text-shadow: none;\n border-collapse: collapse;\n caption-side: top;\n table-layout:auto;\n width:100%;\n margin: 0 0 0 0;\n border-top: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n}\n\n<!--CAPTION-->\n.{{!!tbl-class-name}} > table > caption {\n margin: 0 0 0 0;\n padding: {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}} {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}};\n text-shadow: none;\n color:{{!!tbl-color-text}};\n background-color:{{!!tbl-color-caption}};\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n border-top: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: 0px solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n text-align:center;\n}\n\n.{{!!tbl-class-name}} > table > caption *,\n.{{!!tbl-class-name}} > table > caption > div *{\n margin: 0 0 0 0;\n padding: 0 0 0 0;\n text-shadow: none;\n color:{{!!tbl-color-text}};\n fill:{{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > table > caption > div > .tbl-hidden-edit{\n background: transparent !important;\n border: none;\n color:{{!!tbl-color-text}}!important;\n}\n\n.{{!!tbl-class-name}} > table > caption > div > .tbl-hidden-edit-wide{\n width: 100%;\n background: transparent !important;\n border: none;\n color:{{!!tbl-color-text}}!important;\n}\n\n<!--HEADER-->\n .{{!!tbl-class-name}} > table > thead {\n text-shadow: none;\n}\n\n.{{!!tbl-class-name}} > table > thead > tr {\n text-shadow: none;\n background: {{!!tbl-color-header}};\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n}\n\n.{{!!tbl-class-name}} > table > thead > tr > th {\n text-shadow: none;\n color:{{!!tbl-color-text}};\n background: transparent;\n margin: 0 0 0 0;\n padding: {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}} {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}};\n border-top: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n text-align: left;\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n white-space: nowrap;\n}\n\n.{{!!tbl-class-name}} > table > thead> tr > th p, \n.{{!!tbl-class-name}} > table > thead> tr > th a,\n.{{!!tbl-class-name}} > table > thead> tr > th button,\n.{{!!tbl-class-name}} > table > thead> tr > th .tc-tiddlylink {\n text-shadow: none;\n margin: 0 0 0 0;\n padding: 0 0 0 0;\n color:{{!!tbl-color-text}};\n font-weight: bold;\n}\n\n.{{!!tbl-class-name}} > table > thead> tr > th > button > svg,\n.{{!!tbl-class-name}} > table > thead> tr > th > span > button > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n height:{{!!tbl-size-icons}};\n padding:0 0 2px 0;\n}\n\n.{{!!tbl-class-name}} > table > thead> tr > th > button.tbl-sort-svg > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n height:10px;\n padding:0 0 2px 0;\n}\n\n<!--FOOTER-->\n.{{!!tbl-class-name}} > table > tfoot {\n text-shadow: none;\n}\n\n.{{!!tbl-class-name}} > table > tfoot > tr {\n text-shadow: none;\n background: {{!!tbl-color-footer}};\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n}\n\n.{{!!tbl-class-name}} > table > tfoot > tr > th {\n text-shadow: none;\n color:{{!!tbl-color-text}};\n background: transparent;\n margin: 0 0 0 0;\n padding: {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}} {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}};\n border-top: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n text-align: left;\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n white-space: nowrap;\n}\n\n.{{!!tbl-class-name}} > table > tfoot> tr > th p, \n.{{!!tbl-class-name}} > table > tfoot> tr > th a,\n.{{!!tbl-class-name}} > table > tfoot> tr > th button,\n.{{!!tbl-class-name}} > table > tfoot> tr > th .tc-tiddlylink {\n text-shadow: none;\n margin: 0 0 0 0;\n padding: 0 0 0 0;\n color:{{!!tbl-color-text}};\n font-weight: bold;\n}\n\n.{{!!tbl-class-name}} > table > tfoot> tr > th > button > svg,\n.{{!!tbl-class-name}} > table > tfoot> tr > th > span > button > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n height:{{!!tbl-size-icons}};\n padding:0 0 2px 0;\n}\n\n.{{!!tbl-class-name}} > table > tfoot> tr > th > button.tbl-sort-svg > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n height:10px;\n padding:0 0 2px 0;\n}\n\n<!--BODY-->\n.{{!!tbl-class-name}} > table > tbody {\n text-shadow: none;\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr {\n text-shadow: none;\n background: {{!!tbl-color-row-all}};\n vertical-align: middle;\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr > td {\n text-shadow: none;\n color:{{!!tbl-color-text}};\n background: transparent;\n margin: 0 0 0 0;\n padding: {{!!tbl-pad-tb-body}} {{!!tbl-pad-lr}} {{!!tbl-pad-tb-body}} {{!!tbl-pad-lr}};\n border-top: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n text-align: left;\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr > td.tbl-tag-template > div > div.tc-tags-wrapper {\nmargin:0 0 0 0;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > p > svg{\n vertical-align: middle;\n fill:{{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > a > sup{\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > p,\n.{{!!tbl-class-name}} > table > tbody> tr > td > p > a, \n.{{!!tbl-class-name}} > table > tbody> tr > td > a,\n.{{!!tbl-class-name}} > table > tbody> tr > td > a > a,\n.{{!!tbl-class-name}} > table > tbody> tr > td > button, \n.{{!!tbl-class-name}} > table > tbody> tr > td > .tc-tiddlylink,\n.{{!!tbl-class-name}} > table > tbody> tr > td > a > a.tc-tiddlylink{\n text-shadow: none;\n margin:0 0 0 0;\n color:{{!!tbl-color-text}};\n background-color:transparent;\n font-weight: normal;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > button > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n height:{{!!tbl-size-icons}};\n padding:0 0 2px 0;\n align:center;\n}\n\n\n<!-- EVEN/ODD & ROW HIGHLIGHT -->\n.{{!!tbl-class-name}} > table > tbody > tr.tbl-record-row:nth-child(odd) {\n background-color: {{!!tbl-color-row-odd}};\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr.tbl-record-row:nth-child(even) {\n background-color: {{!!tbl-color-row-even}};\n}\n\n<!--ROW HOVER-->\n.{{!!tbl-class-name}} > table > tbody > tr.tbl-record-row:hover {\n background-color: {{!!tbl-color-row-hover}};\n}\n\n<!--LINK HOVER-->\n.{{!!tbl-class-name}} > table > caption a:hover,\n.{{!!tbl-class-name}} > table > caption > .tc-tiddlylink:hover {\n color:{{!!tbl-color-text-hover}};\n text-decoration: none;\n font-weight: normal;\n}\n\n.{{!!tbl-class-name}} > table > thead > tr > th a:hover, \n.{{!!tbl-class-name}} > table > thead > tr > th button:hover,\n.{{!!tbl-class-name}} > table > thead> tr > th > .tc-tiddlylink:hover {\n color: {{!!tbl-color-text}};\n text-decoration: none;\n font-weight: bold;\n}\n\n.{{!!tbl-class-name}} > table > tfoot > tr > th a:hover,\n.{{!!tbl-class-name}} > table > tfoot > tr > th button:hover,\n.{{!!tbl-class-name}} > table > tfoot> tr > th > .tc-tiddlylink:hover {\n color: {{!!tbl-color-text}};\n text-decoration: none;\n font-weight: bold;\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr > td a:hover,\n.{{!!tbl-class-name}} > table > tbody > tr > td > a > a:hover,\n.{{!!tbl-class-name}} > table > tbody > tr > td > .tc-tiddlylink:hover, \n.{{!!tbl-class-name}} > table > tbody > tr > td > a > .tc-tiddlylink:hover{\n color:{{!!tbl-color-text-hover}};\n text-decoration: none;\n font-weight: normal;\n}\n\n.{{!!tbl-class-name}} > div a:hover,\n.{{!!tbl-class-name}} > div .tc-tiddlylink:hover {\n color: {{!!tbl-color-text-hover}};\n text-decoration: none;\n font-weight: normal;\n}\n\n<!--INPUTS-->\n.{{!!tbl-class-name}} > table > tbody> tr > .tbl-inpt-edit > input[type=\"text\"],\n.{{!!tbl-class-name}} > table > tbody> tr > .tbl-inpt-edit > textarea {\n width: 100%;\n background-color: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > table > tbody > tr > .tbl-inpt-check > span > button > label > input[type=\"checkbox\"],\n.{{!!tbl-class-name}} > table > thead > tr > .tbl-inpt-check > span > button > label > input[type=\"checkbox\"]{\n vertical-align: middle;\n margin: 0px 0px 2px 0px;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > select {\n background: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > select > option {\n background: {{!!tbl-color-row-all}};\n border: none;\n color: {{!!tbl-color-text}};\n}\n\n<!--EXPAND-->\n.{{!!tbl-class-name}} > table > tbody> tr > td.tbl-expand-pad,\n.{{!!tbl-class-name}} > table > tbody> tr > td.tbl-expand-pad > p > pre {\n background-color: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n padding: 5px 8px 5px 8px;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td.tbl-expand-nopad,\n.{{!!tbl-class-name}} > table > tbody> tr > td.tbl-expand-nopad > p,\n.{{!!tbl-class-name}} > table > tbody> tr > td.tbl-expand-nopad > p > pre {\n background-color: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n margin: 0 0 0 0;\n padding: 0 0 0 0;\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > p > .tbl-inpt-edit {\n width: 100%;\n background-color: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > table > tbody> tr > td > canvas {\n width: 100%;\n background-color: transparent;\n border: none;\n color: ;\n padding: 0 0 0 0;\n margin: 0 0 0 0;\n}\n\n<!--PAGINATION-->\n.{{!!tbl-class-name}} > div > div.tbl-page-footer,\n.{{!!tbl-class-name}} > div > span > div.tbl-page-refresh {\n text-align: center;\n margin: 0 0 0 0;\n padding: {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}} {{!!tbl-pad-tb-headfoot}} {{!!tbl-pad-lr}};\n color:{{!!tbl-color-text}};\n background-color:{{!!tbl-color-caption}};\n font-size: {{!!tbl-size-font}};\n line-height: {{!!tbl-size-height}};\n border-top: 0px solid {{!!tbl-color-border}};\n border-right: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-bottom: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n border-left: {{!!tbl-width-border}} solid {{!!tbl-color-border}};\n}\n\n.{{!!tbl-class-name}} > div > span > div.tbl-page-refresh > button,\n.{{!!tbl-class-name}} > div > span > div.tbl-page-refresh > .tc-tiddlylink{\n padding: 0 0 0 0;\n margin: 0 0 0 0;\n color:{{!!tbl-color-text}};\n font-weight: normal;\n font-size: {{!!tbl-size-font}};\n}\n\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-prev > button,\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-prev > .tc-tiddlylink{\n padding: 0 0 0 0;\n margin: 2px 0 0 0;\n color:{{!!tbl-color-text}};\n font-weight: normal;\n font-size: {{!!tbl-size-font}};\n float:left;\n}\n\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-next > button,\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-next > .tc-tiddlylink{\n padding: 0 0 0 0;\n margin: 2px 0 0 0;\n color:{{!!tbl-color-text}};\n font-weight: normal;\n font-size: {{!!tbl-size-font}};\n float:right;\n}\n\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > select {\n padding: 0 0 0 0;\n margin: 0 0 0 0;\n background: transparent;\n border: none;\n color: {{!!tbl-color-text}};\n}\n\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-prev > button > svg,\n.{{!!tbl-class-name}} > div > div.tbl-page-footer > div.tbl-page-next > button > svg {\n text-shadow: none;\n fill:{{!!tbl-color-text}};\n padding:0 0 3px 0;\n}\n\n<!--DELETE CONFIRMATION-->\n.tbl-delete-confirm {\n color: white;\n background-color:red;\n padding: 8px;\n margin: 0px;\n text-align:center;\n}\n\n.tbl-delete-confirm > button {\n color: white;\n fill: white;\n}\n\n<!--EDIT MENU-->\n.tbl-edit-menu textarea{\n width:100%;\n}\n.tbl-edit-wide{\n width:94%;\n}",
"title": "$:/plugins/aaldrich/tables/style/default",
"tbl-width-border": "1px",
"tbl-size-icons": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-size-height": "{{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}}",
"tbl-size-font": "{{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}}",
"tbl-pad-tb-headfoot": "4px",
"tbl-pad-tb-body": "2px",
"tbl-pad-lr": "7px",
"tbl-color-text-hover": "#001177",
"tbl-color-text": "#000000",
"tbl-color-row-odd": "#FFFFFF",
"tbl-color-row-hover": "#FFFEE2",
"tbl-color-row-even": "#FCFCFC",
"tbl-color-row-all": "#FFFFFF",
"tbl-color-header": "#F0F0F0",
"tbl-color-footer": "#F0F0F0",
"tbl-color-caption": "#DDDDDD",
"tbl-color-border": "#DDDDDD",
"tbl-class-type": "parent",
"tbl-class-name": "tbl-style-default",
"tags": "$:/tags/Stylesheet",
"modified": "20191215064245416"
},
"$:/plugins/aaldrich/tables/editor/open": {
"created": "20190726023217378",
"text": "<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-target\" text={{!!title}} >\n<$reveal type=\"match\" state=\"!!tbl-show-edit\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"table options\">\n <$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-edit-target={{!!title}} />\n <$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-edit-page=\"Records\" />\n <$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/aaldrich/tables/editor/view\" />\n{{$:/core/images/options-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"!!tbl-show-mode\" text=\"true\">\n<$reveal type=\"nomatch\" state=\"!!tbl-mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"edit mode\">\n <$action-setfield $tiddler=<<currentTable>> tbl-mode=\"edit\" />\n{{$:/core/images/edit-button}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"!!tbl-mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" tooltip=\"normal mode\">\n <$action-setfield $tiddler=<<currentTable>> tbl-mode=\"normal\" />\n{{$:/core/images/done-button}}\n</$button>\n</$reveal>\n</$reveal>\n</$reveal>",
"title": "$:/plugins/aaldrich/tables/editor/open",
"tags": "",
"modified": "20191215055334115"
},
"$:/plugins/aaldrich/tables/button/image": {
"text": "<svg class=\"tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n <rect x=\"0\" y=\"0\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"20\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"40\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"60\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"80\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"100\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"120\" width=\"128\" height=\"8\"></rect>\n <rect x=\"0\" y=\"0\" width=\"8\" height=\"128\"></rect>\n <rect x=\"40\" y=\"0\" width=\"8\" height=\"128\"></rect>\n <rect x=\"80\" y=\"0\" width=\"8\" height=\"128\"></rect>\n <rect x=\"120\" y=\"0\" width=\"8\" height=\"128\"></rect>\n</svg>",
"title": "$:/plugins/aaldrich/tables/button/image",
"tags": "[[ $:/tags/Image]]",
"modified": "20190727005459045",
"created": "20190725080524516"
},
"$:/plugins/aaldrich/tables/button": {
"text": "\\define newTableText()\n<<table \"$(newTableTitle)$\">>\n\\end\n\n\\define makeNewTable()\n\n<$set name=\"newTableTitle\" value={{$:/temp/tables/button/generate-new-table-name}} >\n<$action-setfield $tiddler={{$:/temp/tables/button/generate-new-table-name}} text=<<newTableText>>/>\n</$set>\n<$action-navigate $to={{$:/temp/tables/button/generate-new-table-name}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/tables/button/generate-new-table-name\"/>\n\\end\n\n<$button class=<<tv-config-toolbar-class>> tooltip=\"Create new table\" aria-label={{$:/plugins/aaldrich/tables/button!!caption}} actions=<<makeNewTable>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/aaldrich/tables/button/image}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"new table\"/></span>\n</$list>\n<$action-createtiddler $basetitle={{$:/plugins/aaldrich/tables/defaults!!tbl-default-title}}\n$savetitle=\"$:/temp/tables/button/generate-new-table-name\"\ntbl-add-records={{$:/plugins/aaldrich/tables/defaults!!tbl-add-records}}\ntbl-anything={{$:/plugins/aaldrich/tables/defaults!!tbl-anything}}\ntbl-button-actions={{$:/plugins/aaldrich/tables/defaults!!tbl-button-actions}}\ntbl-button-icon={{$:/plugins/aaldrich/tables/defaults!!tbl-button-icon}}\ntbl-button-tip={{$:/plugins/aaldrich/tables/defaults!!tbl-button-tip}}\ntbl-caption={{$:/plugins/aaldrich/tables/defaults!!tbl-caption}}\ntbl-checkbox-actions-selected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-actions-selected}}\ntbl-checkbox-actions-unselected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-actions-unselected}}\ntbl-checkbox-field={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-field}}\ntbl-checkbox-tag={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-tag}}\ntbl-checkbox-tip={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-tip}}\ntbl-checkbox-value-selected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-value-selected}}\ntbl-checkbox-value-unselected={{$:/plugins/aaldrich/tables/defaults!!tbl-checkbox-value-unselected}}\ntbl-class={{$:/plugins/aaldrich/tables/defaults!!tbl-class}}\ntbl-columns={{$:/plugins/aaldrich/tables/defaults!!tbl-columns}}\ntbl-expand={{$:/plugins/aaldrich/tables/defaults!!tbl-expand}}\ntbl-filter={{$:/plugins/aaldrich/tables/defaults!!tbl-filter}}\ntbl-show-caption={{$:/plugins/aaldrich/tables/defaults!!tbl-show-caption}}\ntbl-show-colgroup={{$:/plugins/aaldrich/tables/defaults!!tbl-show-colgroup}}\ntbl-show-edit={{$:/plugins/aaldrich/tables/defaults!!tbl-show-edit}}\ntbl-show-footer={{$:/plugins/aaldrich/tables/defaults!!tbl-show-footer}}\ntbl-show-header={{$:/plugins/aaldrich/tables/defaults!!tbl-show-header}}\ntbl-show-mode={{$:/plugins/aaldrich/tables/defaults!!tbl-show-mode}}\ntbl-show-pagination={{$:/plugins/aaldrich/tables/defaults!!tbl-show-pagination}}\ntbl-limit={{$:/plugins/aaldrich/tables/defaults!!tbl-limit}}\ntbl-mode={{$:/plugins/aaldrich/tables/defaults!!tbl-mode}}\ntbl-page-marker={{$:/plugins/aaldrich/tables/defaults!!tbl-page-marker}}\ntbl-sort-by={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-by}}\ntbl-sort-negate={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-negate}}\ntbl-sort-type={{$:/plugins/aaldrich/tables/defaults!!tbl-sort-type}}\ntbl-style-colgroup={{$:/plugins/aaldrich/tables/defaults!!tbl-style-colgroup}}\ntbl-style-container={{$:/plugins/aaldrich/tables/defaults!!tbl-style-container}}\ntbl-style-table={{$:/plugins/aaldrich/tables/defaults!!tbl-style-table}}\n/>\n</$button>",
"title": "$:/plugins/aaldrich/tables/button",
"tags": "$:/tags/PageControls",
"modified": "20191212071246997",
"description": "Create a new table",
"created": "20170205062652787",
"caption": "{{$:/plugins/aaldrich/tables/button/image}} new table"
},
"$:/plugins/aaldrich/tables/editor/view": {
"text": "<$keyboard actions=\"\"\"<$action-sendmessage $message=\"tm-close-tiddler\" /><$action-deletetiddler $tiddler=\"$:/temp/tables/editor/settings-page-vars\"/>\"\"\" key=\"ctrl-enter\">\n<span class=\"tbl-edit-menu\">\n<$set name=\"currentTable\" value={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} >\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Records\">\n\n''Query Records'' (tbl-filter) - filter syntax<br>\n<$edit-text class=\"tbl-edit-wide\" tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-filter\"/>\n<span class=\"tc-popup-keep\">\n<$button popup=\"$:/state/tables/filter/preset-dropdown\" class=\"tc-btn-invisible\">\n {{$:/core/images/down-arrow}}\n</$button><br>\n</span>\n<$reveal class=\"tc-block-dropdown\" state=\"$:/state/tables/filter/preset-dropdown\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$list filter=\"[[$:/plugins/aaldrich/tables/defaults]indexes[]]\" variable=\"filterList\">\n<$list filter=\"[[$:/plugins/aaldrich/tables/defaults]getindex<filterList>]\" variable=\"filterValues\" >\n<$set name=\"existingTableFilter\" filter=\"[{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}get[tbl-filter]]\">\n<$set name=\"existingTableFilterPrefix\" filter=\"[{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}get[tbl-filter]]\" value=\"+\" emptyValue=\"\">\n<a style=\"margin:0 0 0 0;padding:0 0 0 0;\" ><$button style=\"display:block;width:100%;text-align:left;margin:0 0 0 0;padding:4px 4px 4px 4px;\" actions=\"\"\"<$action-setfield $tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} tbl-filter=<<tableFilterPick>> />\"\"\" class=\"tc-btn-invisible\"><<filterList>></$button></a>\n</$set>\n</$set>\n</$list>\n</$list>\n</$reveal><br>\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-presets\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-presets\" setTo=true >edit presets\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-presets\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-presets\" setTo=false>close\n</$button><br>\n<$edit-text tiddler=\"$:/plugins/aaldrich/tables/defaults\" field=\"text\"/>\n</$reveal><br><br>\n''Enter Records Manually'' (tbl-add-records) - filter syntax<br>\n<$edit-text tag=textarea tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-add-records\"/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Columns\">\n\n''Columns to Display'' (tbl-columns) - filter syntax<br>\n<$edit-text class=\"tbl-edit-wide\" tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-columns\"/>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-columns\" text=\"true\">\n\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-columns\" setTo=\"false\" >close</$button>\n\n!!''Assign/Modify Column Templates''\n\nUse the table below to assign fields/indexes to column templates by adding the field/index name to ''tbl-column-list''. \n\nUnassigned fields/indexes will inherit one of three default templates:\n\n*~$:/plugins/aaldrich/tables/template/header/default<br>\n*~$:/plugins/aaldrich/tables/template/body/default<br>\n*~$:/plugins/aaldrich/tables/template/footer/default<br>\n\n(Optional) Restrict a field/index from edit mode by adding the field/index name to ''tbl-noedit''.\n\n{{$:/plugins/aaldrich/tables/editor/templates}}\n\n''Note:'' Ensure each field/index name is only assigned to one of each template type - header, body and footer.<br><br>\n\n!!''Create New Column Template''<br>\n\n__''Create Blank Template''__<br>\n\n<$edit-text tiddler=\"$:/temp/tables/editor/settings-page-vars\" field=\"tbl-new-template-name\" placeholder=\"Template name (no spaces)...\" size=\"30\"/>\n<$set name=\"newTemplateTitle\" filter=\"[{$:/temp/tables/editor/settings-page-vars!!tbl-new-template-name}]+[addprefix[/]]+[addprefix{$:/temp/tables/editor/settings-page-vars!!tbl-new-template-type}]+[addprefix[$:/plugins/aaldrich/tables/template/]]\" value=<<newTemplateTitle>> noValue=\"\" >\n<$select tiddler=\"$:/temp/tables/editor/settings-page-vars\" field=\"tbl-new-template-type\" >\n<option>header</option>\n<option>body</option>\n<option>footer</option>\n</$select>\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-new-template-name\" text=\"\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<newTemplateTitle>> tags=\"$:/tags/table/BodyTemplate\" tbl-column-list=\"\" tbl-noedit=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-new-template-name=\"\"/> create</$button>\n</$reveal>\n</$set>\n\n__''Create Template Manually''__<br>\n\n(Tip) One way to create a new template is to clone and modify an existing one.<br>\n\n''Required Tags:''<br>\n\n*''Header Templates'' - must be tagged with //''~$:/tags/table/HeaderTemplate''//<br>\n*''Body Templates'' - must be tagged with //''~$:/tags/table/BodyTemplate''//<br>\n*''Footer Templates'' - must be tagged with //''~$:/tags/table/FooterTemplate''//<br>\n\n''Required Fields:''<br>\n\n*//''tbl-column-list''// - used to assign fields/indexes to a column template\n*//''tbl-noedit''// - used to restrict fields/indexes from entering //edit mode// \n*//''text''// - template code (wikitext) - see below for useful macro parameters\n\n''Useful Macro Parameters''\n\n//Can be used anywhere inside the table container://\n\n*''current table:'' `<<currentTable>>`\n*''input filter:'' `<<inputFilter>>`\n*''processed filter:'' `<<tableFilter>>`\n*''temporary table tiddler:'' `<<tempTable>>`\n\n//Can only be used in //Header//, //Footer// or //Body// Templates://\n\n*''current column:'' `<<currentColumn>>`\n\n//Can only be used in //Body// Templates://\n\n*''current record:'' `<<currentRecord>>`\n*''temporary record tiddler:'' `<<tempRecord>>`\n*''numerical record index (filter):'' `<<getIndex>>`\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-columns\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-columns\" setTo=\"true\">manage column templates\n<$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-new-template-type=\"body\"/>\n</$button>\n</$reveal>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Sorting\">\n\n''Sort Type'' (tbl-sort-type)<br>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-sort-type\">\n<option>sort</option>\n<option>nsort</option>\n<option>sortcs</option>\n<option>nsortcs</option>\n<option>sortan</option>\n<option>sortby</option>\n</$select>\n\n''Sort By'' (tbl-sort-by)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-sort-by\" size=22/>\n\n''Sort Negate (Invert Order)'' (tbl-sort-negate) <br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-sort-negate\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-sort-negate\" mode=\"inline\"/></$checkbox> \n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Limit\">\n\n''Limit'' (tbl-limit)<br>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-limit\" >\n<$set name=\"limitFilter\" value={{$:/plugins/aaldrich/tables/defaults!!tbl-limit-choices}} >\n<$list filter=<<limitFilter>>>\n<option value={{!!title}}>Limit {{!!title}}</option>\n</$list>\n</$set>\n<option value=9999999>Show All</option>\n</$select>\n\n''Show Pagination'' (tbl-show-pagination)<br>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-pagination\" actions=\"\"\"<$action-setfield $tiddler=<<currentTable>> tbl-page-marker=\"\"/><$list filter=\"[<currentTable>tbl-show-pagination[false]]\" ><$action-setfield $tiddler=<<currentTable>> tbl-limit=\"9999999\"/></$list>\"\"\">\n<option>true</option>\n<option>false</option>\n<option>auto</option>\n</$select>\n\n''Pagination Marker'' (tbl-page-marker)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-page-marker\" size=50/>\n<$button class=\"tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} $field=\"tbl-page-marker\" $value=\"\" />clear\n</$button>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Theme\">\n\n''Stylesheet'' (tbl-class)<br>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-class\">\n<optgroup label=\"Parent Themes\">\n<$list filter=\"[all[tiddlers+shadows]has[tbl-class-name]contains:tbl-class-type[parent]sort[title]]\">\n<option>{{!!tbl-class-name}}</option>\n</$list>\n</optgroup>\n<optgroup label=\"Child Themes\">\n<$list filter=\"[all[tiddlers+shadows]has[tbl-class-name]contains:tbl-class-type[child]sort[title]]\">\n<option>{{!!tbl-class-name}}</option>\n</$list>\n</optgroup>\n<optgroup label=\"Other\">\n<$list filter=\"[all[tiddlers+shadows]has[tbl-class-name]!contains:tbl-class-type[child]!contains:tbl-class-type[parent]sort[title]]\">\n<option>{{!!tbl-class-name}}</option>\n</$list>\n<option value=\"\" >inherit</option>\n</optgroup>\n</$select>\n<$set name=\"currentThemeClass\" filter=\"[{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}get[tbl-class]]\" value=<<currentThemeClass>> emptyValue=\"\" >\n<$set name=\"currentThemeTitle\" filter=\"[all[tiddlers+shadows]contains:tbl-class-name<currentThemeClass>limit[1]]\" value=<<currentThemeTitle>> emptyValue=\"Inheriting style from {{$:/theme}}.\" >\n<h2><<currentThemeTitle>> \n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-style-settings\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-style-settings\" setTo=\"true\"> {{$:/core/images/edit-button}} </$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-style-settings\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-style-settings\" setTo=\"false\" >{{$:/core/images/done-button}}</$button>\n</$reveal></h2>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-style-settings\" text=\"true\">\n<table style=\"width:100%;border-collapse: collapse; border: none;vertical-align:top;\">\n <tr style=\"border: none;vertical-align:top;\">\n <td style=\"border: none;\">\n\n!!''Body''\n\n''All Rows Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-all\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-all\" tag=\"input\" size=\"8\"/><br><br>\n''Even Rows Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-even\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-even\" tag=\"input\" size=\"8\"/><br><br>\n''Odd Rows Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-odd\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-odd\" tag=\"input\" size=\"8\"/><br><br>\n''Row Hover Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-hover\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-row-hover\" tag=\"input\" size=\"8\"/>\n </td>\n <td style=\"border: none;\">\n\n!!''Header/Footer''\n\n''Header Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-header\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-header\" tag=\"input\" size=\"8\"/><br><br>\n''Footer Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-footer\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-footer\" tag=\"input\" size=\"8\"/><br><br>\n\n!!''Caption''\n\n''Caption Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-caption\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-caption\" tag=\"input\" size=\"8\"/>\n </td>\n <td style=\"border: none;\">\n\n!!''Padding''\n\n__''Header/Footer''__\n\n''Padding Top/Bottom:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-pad-tb-headfoot\" tag=\"input\" size=\"16\"/>\n\n__''Body''__\n\n''Left/Right:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-pad-lr\" tag=\"input\" size=\"16\"/><br><br>\n''Top/Bottom:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-pad-tb-body\" tag=\"input\" size=\"16\"/>\n </td>\n <td style=\"border: none;\">\n\n!!''Text/Icons''\n\n''Text Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-text\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-text\" tag=\"input\" size=\"8\"/><br><br>\n''Text Hover Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-text-hover\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-text-hover\" tag=\"input\" size=\"8\"/><br><br>\n''Font Size:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-size-font\" tag=\"input\" size=\"16\"/><br><br>\n''Icon Size:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-size-icons\" tag=\"input\" size=\"16\"/>\n </td>\n <td style=\"border: none;\">\n\n!!''Border''\n\n''Border Width:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-width-border\" tag=\"input\" size=\"16\"/><br><br>\n''Border Color:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-border\" tag=\"input\" type=\"color\"/><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-color-border\" tag=\"input\" size=\"8\" /><br><br>\n\n!!''Other''\n\n''Line Height:''<br><$edit-text tiddler=<<currentThemeTitle>> field=\"tbl-size-height\" tag=\"input\" size=\"16\"/>\n </td>\n </tr>\n</table>\n<h2>''Stylesheet:'' \n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-stylesheet\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-stylesheet\" setTo=\"true\">{{$:/core/images/edit-button}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-stylesheet\" text=\"true\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-stylesheet\" setTo=\"false\" >{{$:/core/images/done-button}}</$button>\n</$reveal></h2>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-stylesheet\" text=\"true\">\n<$edit-text tiddler=<<currentThemeTitle>> field=\"text\" tag=\"textarea\"/>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-theme-delete-confirm\" text=<<currentThemeTitle>>>\n<$button style=\"color:red;fill:red;\" class=\"tc-btn-invisible\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-theme-delete-confirm\" setTo=<<currentThemeTitle>> >{{$:/core/images/delete-button}}'' delete theme''</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-theme-delete-confirm\" text=<<currentThemeTitle>>>\n delete this theme? <$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentThemeTitle>>/><$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-theme-delete-confirm=\"\" />'' yes ''</$button> / <$button class=\"tc-btn-invisible\"><$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-theme-delete-confirm=\"\" />'' no ''</$button>\n</$reveal>\n\n</$reveal>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-styles\" text=\"true\">\n\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-styles\" setTo=\"false\" >close</$button><br>\n\n!!''Create New Theme''\n\n__''Clone Current Theme''__\n\n<$edit-text tiddler=\"$:/temp/tables/editor/settings-page-vars\" field=\"tbl-new-theme-class\" placeholder=\"Enter a class name (no spaces)...\" size=\"30\"/>\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-new-theme-class\" text=\"\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" >\n<$set name=\"newThemeTitle\" filter=\"[{$:/temp/tables/editor/settings-page-vars!!tbl-new-theme-class}]+[addprefix[$:/plugins/aaldrich/tables/style/]]\" value=<<newThemeTitle>> noValue=\"\" >\n<$action-setfield $tiddler=<<newThemeTitle>> title=<<newThemeTitle>> />\n<$list variable=\"themeFields\" filter=\"[<currentThemeTitle>fields[]]-[[title]]-[[modified]]-[[created]]-[[tbl-class-type]]-[[text]]\">\n<$set name=\"themeFieldValues\" filter=\"[<currentThemeTitle>get<themeFields>]\" value=<<themeFieldValues>> noValue=\"\">\n<$action-setfield $tiddler=<<newThemeTitle>> $field=<<themeFields>> $value=<<themeFieldValues>> />\n</$set>\n</$list>\n<$action-setfield $tiddler=<<newThemeTitle>> tbl-class-name={{$:/temp/tables/editor/settings-page-vars!!tbl-new-theme-class}} tbl-class-type=\"child\" text=\"{{||$:/plugins/aaldrich/tables/style/default}}\"/>\n<$action-setfield $tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} tbl-class={{$:/temp/tables/editor/settings-page-vars!!tbl-new-theme-class}} />\n<$action-setfield $tiddler=\"$:/temp/tables/editor/settings-page-vars\" tbl-new-theme-class=\"\" />\n</$set>\n clone</$button>\n</$reveal>\n\n__''Create Theme Manually''__\n\n''Required Tags:''\n\n*//''~$:/tags/Stylesheet''//\n\n''Required Fields:''\n\n*//''tbl-class-name''// - css class name (no spaces)\n*//''tbl-class-type''// - parent or child (child themes inherit their css from a parent)\n*//''text''// - stylesheet (wikitext)\n**//parent theme// - uses css code\n**//child theme// - uses a parent theme's code\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-styles\" text=\"true\">\n\n<$button class=\"tc-btn-invisible tc-tiddlylink\" set=\"$:/temp/tables/editor/settings-page-vars!!tbl-show-styles\" setTo=\"true\">more themes\n</$button>\n</$reveal>\n</$set>\n</$set>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Override\">\n\n''Container'' (tbl-style-container) - css properties for the ``<div>`` element containing the table<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-style-container\" tag=\"textarea\"/>\n\n''Table'' (tbl-style-table) - css properties for the ``<table>`` element<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-style-table\" tag=\"textarea\"/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Colgroups\">\n\n''Show Colgroup'' (tbl-show-colgroup)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-colgroup\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-colgroup\" mode=\"inline\"/></$checkbox>\n\n''Colgroup Elements'' (tbl-style-colgroup) - series of ``<col>`` elements to be included in the ``<colgroup>`` element<br> \n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-style-colgroup\" tag=\"textarea\"/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Advanced Styles\">\n\n!!''Row Styling''<br>\n\nStyle can be applied to individual records using a button or checkbox. CSS properties should be stored in tiddler: ``<<tempTableStyle>>`` in the index: ``<<currentRecord>>``.\n\nFor example, add the ''tbl-checkbox'' column to a table and set the ''check actions'' to:\n\n`<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"background-color:green;\"/>`\n\nThen set the ''uncheck actions'' to:\n\n`<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"\"/>`\n\nThis will cause the row's background to change to green when the checkbox is checked.\n\n!!''Column Styling''<br>\n\nUse the ''Column Group'' options page to specify styles for individual columns using `<col>` elements.\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Header/Footer\">\n\n''Show Header'' (tbl-show-header)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-header\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-header\" mode=\"inline\"/></$checkbox>\n\n''Show Footer'' (tbl-show-footer)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-footer\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-footer\" mode=\"inline\"/></$checkbox>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Caption\">\n\n''Show Caption'' (tbl-show-caption)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-caption\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-caption\" mode=\"inline\"/></$checkbox>\n\n''Caption'' (tbl-caption) - wikitext ({{$:/plugins/aaldrich/tables/defaults!!tbl-caption-mode}})<br>\n<$edit-text tag=textarea tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-caption\"/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Edit\">\n\n''Show Editor Button'' (tbl-show-edit)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-edit\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-edit\" mode=\"inline\"/></$checkbox><br>\n''Attention:'' This will hide the {{$:/core/images/options-button}} button. To restore, manually set field ''tbl-show-edit'' to ''true''.<br><br>\n\n''Show Mode Button'' (tbl-show-mode)<br>\n<$checkbox tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-mode\" checked=\"true\" unchecked=\"false\">\n<$transclude tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-show-mode\" mode=\"inline\"/></$checkbox><br><br>\n\n''Mode'' (tbl-mode)<br>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-mode\" >\n<option>normal</option>\n<option>edit</option>\n</$select>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Defaults\">\n\n!!''Modify Table/Global Defaults''\nDefault settings are stored here: ''~$:/plugins/aaldrich/tables/defaults''<br>\n\n__''Table defaults:''__\n\n*All default table parameters can be modified.\n\n__''Global defaults:''__\n\n*''tbl-caption-mode'' - set caption to //inline// or //block// mode.<br>\n*''tbl-default-date-format'' - set default date format.<br>\n*''tbl-default-title'' - set default new table name.<br>\n*''tbl-temp-default-expand'' - set default expand column template.<br>\n*''tbl-limit-choices'' - set drop-down values for //limit// control.<br>\n*''tbl-temp-default-body'' - set the default body template for non-custom columns.<br>\n*''tbl-temp-default-body-edit'' - set the default body template for edit mode.<br>\n*''tbl-temp-default-foot'' - set the default footer template for non-custom columns.<br>\n*''tbl-temp-default-head'' - set the default header template for non-custom columns.<br>\n*''tbl-title-type-code'' - code to indicate the tiddler //type// in the title column.<br>\n*''tbl-title-type-show'' - show the tiddler //type// in the title column (true/false).<br>\n*''text'' - filter presets (data dictionary format)<br>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Expand\">\n\n''To use:'' Add column: ''tbl-expand'' or ''tbl-expand-one'' to expand one row at a time.<br>\nAdd column: ''tbl-expand-many'' to expand multiple rows at a time.\n\n''Expand Target'' (tbl-expand) - text reference (spaces allowed, no quotes)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-expand\" size=50/>\n<$select tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-expand\">\n<option value=\"\">default</option>\n<option value=\"$:/plugins/aaldrich/tables/template/expand/transclude\">transclude text</option>\n<option value=\"$:/plugins/aaldrich/tables/template/expand/edit\">edit text</option>\n</$select>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Button\">\n\n''To use:'' Add column: ''tbl-button'' \n\n''Button Icon'' (tbl-button-icon) - wikitext<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-button-icon\" size=50/> <h3><$list filter=\"[title<currentTable>get[tbl-button-icon]]\">{{!!title}}</$list></h3>\n\n<$list variable=\"iconPickTitle\" filter=\"[all[shadows]prefix[$:/core/images/]]\">\n<$button class=\"tc-btn-invisible\" actions=\"\"\"<$action-setfield $tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} tbl-button-icon=<<buttonIconPick>>/>\"\"\" ><<buttonIconPick>></$button>\n</$list>\n\n''Button Actions'' (tbl-button-actions) - series of action widgets<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-button-actions\" tag=\"textarea\"/>\n\n''Button Tooltip'' (tbl-button-tip) - plain text<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-button-tip\" size=50/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Checkbox\">\n\n''To use:'' Add column: ''tbl-checkbox'' \n\n''Add/Remove Tag'' (tbl-checkbox-tag)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-tag\" size=22/>\n\n''Target Field'' (tbl-checkbox-field)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-field\" size=22/>\n\n''Select Value'' (tbl-checkbox-value-selected)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-value-selected\" size=22/>\n\n''Unselect Value'' (tbl-checkbox-value-unselected)<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-value-unselected\" size=22/>\n\n''Select Actions'' (tbl-checkbox-actions-selected) - series of action widgets<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-actions-selected\" tag=\"textarea\"/>\n\n''Unselect Actions'' (tbl-checkbox-actions-unselected) - series of action widgets<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-actions-unselected\" tag=\"textarea\"/>\n\n''Checkbox Tooltip'' (tbl-checkbox-tip) - plain text<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-checkbox-tip\" size=50/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Anything\">\n\n''To use:'' Add column: ''tbl-anything'' \n\n''Code'' (tbl-anything) - wikitext<br>\n<$edit-text tiddler={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}} field=\"tbl-anything\" tag=\"textarea\"/>\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"Getting Started\">\n\n{{$:/plugins/aaldrich/tables/readme}}\n</$reveal>\n\n\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/settings-page-vars!!tbl-edit-page\" text=\"About\">\n\n!''~TiddlyTables''\n!!Version {{$:/plugins/aaldrich/tables!!version}}\n!!!created by {{$:/plugins/aaldrich/tables!!author}}\nlast modified {{$:/plugins/aaldrich/tables!!modified}}\n\n__TiddlyWiki version {{$:/plugins/aaldrich/tables!!core-version}} or greater required.__\n\n//This plugin is free to use, modify and share. \nWith special thanks to Jeremy Ruston and the entire ~TiddlyWiki community.//\n</$reveal>\n\n<br>\n''Show Preview''<br>\n<$checkbox tiddler=\"$:/temp/tables/editor/persist-vars\" field=\"tbl-show-preview\" checked=\"true\" unchecked=\"false\" default=\"false\">\n<$transclude tiddler=\"$:/temp/tables/editor/persist-vars\" field=\"tbl-show-preview\" mode=\"inline\"/></$checkbox><br><br>\n<$reveal type=\"match\" state=\"$:/temp/tables/editor/persist-vars!!tbl-show-preview\" text=\"true\">\n<$set name=editorTarget value={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}}>\n<<editorPreview>>\n</$set>\n</$reveal>\n</$set>\n</span>\n</$keyboard>",
"title": "$:/plugins/aaldrich/tables/editor/view",
"tags": "",
"subtitle": "<h2>''<$text text={{$:/temp/tables/editor/settings-page-vars!!tbl-edit-target}}/>''</h2>{{||$:/plugins/aaldrich/tables/editor/navigation}}",
"revision": "0",
"modified": "20191212071106904",
"footer": "<$button class=\"tc-btn-invisible tc-tiddlylink\" style=\"padding:0 0 0 6px;\"> <$action-sendmessage $message=\"tm-close-tiddler\" /> <$action-deletetiddler $tiddler=\"$:/temp/tables/editor/settings-page-vars\"/> ''Close'' </$button>",
"created": "20190722221724072",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/expand/edit": {
"created": "20190714035903654",
"text": "<$edit class=\"tbl-inpt-edit\" tiddler=<<currentRecord>> field=text tag=textarea/>",
"title": "$:/plugins/aaldrich/tables/template/expand/edit",
"tbl-template-name": "edit",
"tags": "$:/tags/table/ExpandTemplate",
"modified": "20190816062006055"
},
"$:/plugins/aaldrich/tables/editor/navigation": {
"text": "''<$select tiddler=\"$:/temp/tables/editor/settings-page-vars\" field=\"tbl-edit-page\">\n<optgroup label=\"Data\">\n<option>Records</option>\n<option>Columns</option>\n<option>Sorting</option>\n<option value=\"Limit\">Limit/Pagination</option>\n</optgroup>\n<optgroup label=\"Style\">\n<option value=\"Theme\">Theme (Stylesheet)</option>\n<option value=\"Override\">Override (Inline Styles)</option>\n<option value=\"Colgroups\">Column Groups</option>\n<option>Advanced Styles</option>\n</optgroup>\n<optgroup label=\"Features\">\n<option>Header/Footer</option>\n<option>Caption</option>\n<option value=\"Edit\">Editor/Mode</option>\n<option>Defaults</option>\n</optgroup>\n<optgroup label=\"Special Columns\">\n<option>Expand</option>\n<option>Button</option>\n<option>Checkbox</option>\n<option>Anything</option>\n</optgroup>\n<optgroup label=\"Help\">\n<option>Getting Started</option>\n<option>About</option>\n</optgroup>\n</$select>''\n<$button class=\"tc-btn-invisible tc-tiddlylink\" style=\"padding:0 0 0 6px;\">\n <$action-sendmessage $message=\"tm-close-tiddler\" />\n <$action-deletetiddler $tiddler=\"$:/temp/tables/editor/settings-page-vars\"/> ''Close''\n</$button>",
"title": "$:/plugins/aaldrich/tables/editor/navigation",
"tags": "",
"modified": "20191208103316562",
"created": "20190727082624393"
},
"$:/plugins/aaldrich/tables/template/body/anything": {
"text": "<td style=\"width:1.4ch;\">\n <<anythingCode>>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/anything",
"tbl-noedit": "tbl-anything",
"tbl-column-list": "tbl-anything",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215042443693",
"created": "20170206022244360",
"bag": "default"
},
"$:/plugins/aaldrich/tables/template/body/edit-input": {
"created": "20191205063124704",
"text": "<td class=\"tbl-inpt-edit\">\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$edit-text tiddler=<<currentRecord>> field=<<currentColumn>> tag=\"input\" type=\"text\"/>\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$edit-text tiddler=<<currentRecord>> index=<<currentColumn>> tag=\"input\" type=\"text\"/>\n </$list>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/edit-input",
"tbl-noedit": "tbl-edit-input",
"tbl-column-list": "tbl-edit-input",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191206021441510",
"bag": "default"
},
"$:/plugins/aaldrich/tables/editor/templates": {
"text": "<<table>>",
"title": "$:/plugins/aaldrich/tables/editor/templates",
"tbl-style-table": "width:100%;",
"tbl-style-container": "",
"tbl-style-colgroup": "",
"tbl-sort-type": "nsort",
"tbl-sort-negate": "false",
"tbl-sort-by": "title",
"tbl-show-pagination": "auto",
"tbl-show-header": "true",
"tbl-show-footer": "false",
"tbl-show-edit": "false",
"tbl-show-colgroup": "false",
"tbl-show-caption": "false",
"tbl-page-marker": "",
"tbl-mode": "edit",
"tbl-limit": "9999999",
"tbl-filter": "[all[shadows+tiddlers]tag[$:/tags/table/BodyTemplate]][all[shadows+tiddlers]tag[$:/tags/table/HeaderTemplate]][all[shadows+tiddlers]tag[$:/tags/table/FooterTemplate]]-[[$:/plugins/aaldrich/tables/template/body/default]]-[[$:/plugins/aaldrich/tables/template/header/default]]-[[$:/plugins/aaldrich/tables/template/footer/default]]",
"tbl-expand": "$:/plugins/aaldrich/tables/template/expand/edit",
"tbl-columns": "tbl-expand title tbl-column-list tbl-noedit",
"tbl-class": "tbl-style-tight",
"tbl-checkbox-value-unselected": "",
"tbl-checkbox-value-selected": "",
"tbl-checkbox-tip": "",
"tbl-checkbox-tag": "",
"tbl-checkbox-field": "",
"tbl-checkbox-actions-unselected": "",
"tbl-checkbox-actions-selected": "",
"tbl-caption": "''Column Templates''",
"tbl-button-tip": "clone template",
"tbl-button-icon": "{{$:/core/images/clone-button}}",
"tbl-button-actions": "<$action-sendmessage $message=\"tm-new-tiddler\" $param=<<currentRecord>>/>",
"tbl-anything": "",
"tbl-add-records": "",
"modified": "20191208062747162",
"created": "20191205205444801"
},
"$:/plugins/aaldrich/tables/template/body/radio": {
"text": "<td style=\"width:1.4ch;text-align:center;\">\n<$radio tiddler=<<currentTable>> field=\"tbl-selected-record\" value=<<currentRecord>>></$radio>\n</td>",
"title": "$:/plugins/aaldrich/tables/template/body/radio",
"tbl-noedit": "tbl-radio",
"tbl-column-list": "tbl-radio",
"tags": "$:/tags/table/BodyTemplate",
"revision": "0",
"modified": "20191215045742495",
"created": "20170206022244360",
"bag": "default"
}
}
}
{
"tiddlers": {
"$:/language/Buttons/Choose/Caption": {
"text": "choose",
"title": "$:/language/Buttons/Choose/Caption"
},
"$:/language/Buttons/Choose/Hint": {
"text": "Add to favorites list",
"title": "$:/language/Buttons/Choose/Hint"
},
"$:/language/Buttons/Favorites/Caption": {
"text": "favorite",
"title": "$:/language/Buttons/Favorites/Caption"
},
"$:/language/Buttons/Favorites/Hint": {
"text": "Remove from favorites list",
"title": "$:/language/Buttons/Favorites/Hint"
},
"$:/language/SideBar/Favorites/Caption": {
"text": "Favorites",
"title": "$:/language/SideBar/Favorites/Caption"
},
"$:/plugins/ajh/favorites/icon": {
"text": "\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 192 192'><path fill='#f08' stroke='#30f' stroke-width='7.5' d='m13.5,52.2l82.5,-48l82.5,48v87.3l-82.5,48l-82.5,-48v-87.3z'/><path fill='#ff0' stroke='#f90' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$vars m='96,122' path={{$:/plugins/ajh/favorites/image!!path}}>\n<<my-svg>>\n</$vars>",
"title": "$:/plugins/ajh/favorites/icon",
"tags": "$:/tags/Image"
},
"$:/plugins/ajh/favorites/readme": {
"text": "This plugin adds the <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-btn-dropdown'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Choose/Caption}}</$list> button to the View Toolbar and also the <span class='tc-favorites'>{{$:/core/images/star-filled}}</span> tab to the Sidebar. The button becomes <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-favorites'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Favorites/Caption}}</$list> when selected and then the tiddler appears in the list on the <span class='tc-favorites'>{{$:/core/images/star-filled}}</span> tab. The list can be sorted using drag and drop. To drag an item, select it, then hold down the mouse or track-pad button while you drag it to a new location in the list. Release the button to drop the item into place. Unneeded favorites can be removed from the list by using the <$list filter='[<tv-config-toolbar-icons>prefix[yes]]'><span class='tc-favorites'>{{$:/core/images/star-filled}}</span></$list> <$list filter='[<tv-config-toolbar-text>prefix[yes]]'>{{$:/language/Buttons/Favorites/Caption}}</$list> button in the tiddler.\n\nSimply drag $:/plugins/ajh/favorites to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* Icon\n* Template\n* Stylesheet\n* Sidebar tab\n* Caption and hint",
"title": "$:/plugins/ajh/favorites/readme"
},
"$:/plugins/ajh/favorites/SideBar": {
"text": "\\define drop-actions()\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $subfilter='+[insertbefore:currentTiddler<actionTiddler>]'/>\n\\end\n\n<$list filter='[list[$:/plugins/ajh/favorites/list]]'>\n<div style='position: relative;'>\n<$droppable actions=<<drop-actions>>>\n<div class='tc-droppable-placeholder'>\n \n</div>\n<div>\n <$link to={{!!title}}>\n<$view field='caption'><$view field='title'/></$view></$link>\n</div>\n</$droppable>\n</div>\n</$list>\n",
"title": "$:/plugins/ajh/favorites/SideBar",
"tags": "$:/tags/SideBar",
"list-before": "",
"caption": "<span class='tc-tab-buttons' title={{$:/language/SideBar/Favorites/Caption}}>{{$:/plugins/ajh/favorites/image}}</span><span class='tc-favorites-hidden'>{{$:/language/SideBar/Favorites/Caption}}</span>"
},
"$:/plugins/ajh/favorites/template": {
"text": "\\define add() [[$(currentTiddler)$]]\n\\define remove() -[[$(currentTiddler)$]]\n\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='$(fill)$' stroke='$(stroke)$' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>\n\\end\n\n<$list filter='[list[$:/plugins/ajh/favorites/list]is[current]]'><$button tooltip={{$:/language/Buttons/Favorites/Hint}} aria-label={{$:/language/Buttons/Favorites/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<remove>>/>\n<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>\n<$vars fill={{$:/plugins/ajh/favorites/stylesheet!!button-color}} stroke={{$:/plugins/ajh/favorites/stylesheet!!button-outline-color}} m='64,96.1' path={{$:/plugins/ajh/favorites/image!!path}}>\n<<my-svg>>\n</$vars>\n</$list>\n<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>\n<span class='tc-btn-text'>\n<$text text={{$:/language/Buttons/Favorites/Caption}}/>\n</span>\n</$list>\n</$button></$list><$list filter='[all[current]!list[$:/plugins/ajh/favorites/list]]'><$button tooltip={{$:/language/Buttons/Choose/Hint}} aria-label={{$:/language/Buttons/Choose/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<add>>/>\n<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>\n{{$:/core/images/star-filled}}\n</$list>\n<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>\n<span class='tc-btn-text'>\n<$text text={{$:/language/Buttons/Choose/Caption}}/>\n</span>\n</$list>\n</$button></$list>",
"title": "$:/plugins/ajh/favorites/template",
"tags": "$:/tags/ViewToolbar",
"list-after": "$:/core/ui/Buttons/more-tiddler-actions",
"description": "{{$:/language/Buttons/Favorites/Hint}}",
"caption": "{{ $:/core/images/star-filled}} {{$:/language/Buttons/Favorites/Caption}}"
},
"$:/plugins/ajh/favorites/stylesheet": {
"text": ".tc-tab-buttons + .tc-favorites-hidden {\n display: none;\n}\n.tc-tab-buttons button.tc-tab-selected {\n fill: {{!!tab-icon-selected-color}};\n stroke: {{!!tab-icon-outline-color}}; \n}\n.tc-tab-buttons button:not(.tc-tab-selected) {\n fill: {{!!tab-icon-unselected-color}};\n}\n.tc-favorites {\n stroke: {{!!button-outline-color}};\n stroke-width:5;\n fill: {{!!button-color}};\n}\n.tc-image-star-filled {\n height:1em;\n width:1em;\n}",
"title": "$:/plugins/ajh/favorites/stylesheet",
"tags": "$:/tags/Stylesheet",
"tab-icon-unselected-color": "#999",
"tab-icon-selected-color": "#ff0",
"tab-icon-outline-color": "#000",
"caption": "Favorites",
"button-outline-color": "#000",
"button-color": "#ff0"
},
"$:/plugins/ajh/favorites/image": {
"text": "\\define my-svg()\n<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path stroke-width='5' d='m$(m)$$(path)$'/></svg>\n\\end\n\n<$vars m='64,96.1' path={{!!path}}>\n<<my-svg>>\n</$vars>",
"title": "$:/plugins/ajh/favorites/image",
"tags": "$:/tags/Image",
"path": "l32.7,24.2c2.4,1.7 5.6,-0.6 4.6,-3.4l-12.4,-38.6l32.5,-23.8c2.4,-1.7 1.1,-5.5 -1.8,-5.5l-40.2,0l-12.5,-38.5c-0.9,-2.8 -4.8,-2.8 -5.8,0l-12.5,38.5l-40.2,0c-2.9,0 -4.2,3.8 -1.8,5.5l32.5,23.8l-12.4,38.6c-0.9,2.8 2.3,5.1 4.6,3.4l32.7,-24.2z"
}
}
}
\define add() [[$(currentTiddler)$]]
\define remove() -[[$(currentTiddler)$]]
\define my-svg()
<svg class='tc-image-favorites tc-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='$(fill)$' stroke='$(stroke)$' stroke-width='5' d='m$(m)$$(path)$'/></g></svg>
\end
<$list filter='[list[$:/plugins/ajh/favorites/list]is[current]]'><$button tooltip={{$:/language/Buttons/Favorites/Hint}} aria-label={{$:/language/Buttons/Favorites/Caption}} class=<<tv-config-toolbar-class>>>
<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<remove>>/>
<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>
<$vars fill={{$:/plugins/ajh/favorites/stylesheet!!button-color}} stroke={{$:/plugins/ajh/favorites/stylesheet!!button-outline-color}} m='64,96.1' path={{$:/plugins/ajh/favorites/image!!path}}>
<<my-svg>>
</$vars>
</$list>
<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>
<span class='tc-btn-text'>
<$text text={{$:/language/Buttons/Favorites/Caption}}/>
</span>
</$list>
</$button></$list><$list filter='[all[current]!list[$:/plugins/ajh/favorites/list]]'><$button tooltip={{$:/language/Buttons/Choose/Hint}} aria-label={{$:/language/Buttons/Choose/Caption}} class=<<tv-config-toolbar-class>>>
<$action-listops $tiddler='$:/plugins/ajh/favorites/list' $field='list' $subfilter=<<add>>/>
<$list filter='[<tv-config-toolbar-icons>prefix[yes]]'>
{{$:/core/images/star-filled}}
</$list>
<$list filter='[<tv-config-toolbar-text>prefix[yes]]'>
<span class='tc-btn-text'>
<$text text={{$:/language/Buttons/Choose/Caption}}/>
</span>
</$list>
</$button></$list>
{ "tiddlers": { "$:/info/timestamp": { "text": "<<dt>> <<dt '' '15'>><br><<dt>> <<dt '' '30'>><br><<dt>> <<dt '' '45'>>", "title": "$:/info/timestamp" },
"$:/language/Buttons/Time/Caption": { "text": "time", "title": "$:/language/Buttons/Time/Caption" },
"$:/language/Buttons/Time/Hint": { "text": "Time stamp", "title": "$:/language/Buttons/Time/Hint" },
"$:/plugins/ajh/tiddlytime/datetime.js": { "text": "/*\\\ntitle: $:/plugins/ajh/tiddlytime/datetime.js\ntype: application/javascript\nmodule-type: macro\n\n<<dt format delay>>\n\nExamples:\n<<dt>>\n<<dt \"YYYY-0MM-0DD 0hh:0mm:0ss\">>\n<<dt \"YYYY-0MM-0DD 0hh:0mm:0ss\" \"30\">>\n<$macrocall $name=\"dt\" ts={{!!created}} format=\"MMM DD. YY\"/>\n\nFormat Strings:\nPlease find all format strings listed in the JavaScript code of function formatDateString in $:/core/modules/utils/utils.js\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis is a macro to get formatted date and/or time plus delay in minutes\n*/\n\nexports.name = \"dt\";\n\nexports.params = [\n\t{ name: \"format\" },\n\t{ name: \"delay\" },\n\t{ name: \"ts\" }\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format, delay, ts) {\n\tif(!ts) {\n\t\tts = new Date;\n\t\tts.setMinutes(ts.getMinutes() + Number(delay));\n\t}\n\telse {\n\t\tts = $tw.utils.parseDate(ts);\n\t}\n\tif(!format)\n\t\tformat = \"hh12:0mm:0ss AM\";\n\treturn $tw.utils.formatDateString(ts, format); \n};\n\n})();", "type": "application/javascript", "title": "$:/plugins/ajh/tiddlytime/datetime.js", "module-type": "macro" },
"$:/plugins/ajh/tiddlytime/icon": { "text": "<svg class='tc-image-tiddlyviewer ic-image-button' width='22pt' height='22pt' viewBox='0 0 128 128'><path fill='#f90' stroke='#c0f' stroke-width='5' d='m9,34.7l55,-32l55,32v58.2l-55,32l-55,-32v-58.2z'/><circle fill='#f90' stroke='#000' stroke-width='5' cx='64' cy='64' r='45'/><path stroke='#000' stroke-width='5' d='m64,26v38l16,26l-16,-26v-38zm-38,38h7zm38,38v-7zm31,-38h7z'/></svg>", "title": "$:/plugins/ajh/tiddlytime/icon", "tags": "$:/tags/Image" },
"$:/plugins/ajh/tiddlytime/readme": { "text": "This plugin button displays time with seconds and several time spans when clicked. The tool tip displays todays date minus 78 days. Clicking the time reveals time, time + 15 minutes, time + 30 minutes, and time + 45 minutes.\n\nSimply drag $:/plugins/ajh/tiddlytime to the top of your tiddlywiki display, save and reload.\n\nThis plugin comprises:\n\n* JavaScript code modules\n* Button\n* Template\n* Stylesheet\n* Timestamp\n* Caption and hint", "title": "$:/plugins/ajh/tiddlytime/readme" },
"$:/plugins/ajh/tiddlytime/stylesheet": { "text": "/* TOPBAR TIME */\nhtml .tc-time {\n color: {{!!button-color}};\n font-weight: {{!!weight}};\n font-size: {{!!button-size}};\n line-height: 0em;\n margin: -15px 0;\n}\nhtml .tc-time:hover {\n color: {{!!button-hover-color}} !important;\n}", "weight": "", "title": "$:/plugins/ajh/tiddlytime/stylesheet", "tags": "$:/tags/Stylesheet", "button-size": "", "button-hover-color": "", "button-color": "", "caption": "Tiddlytime Button" },
"$:/plugins/ajh/tiddlytime/time.js": { "text": "/*\\\ntitle: $:/plugins/ajh/tiddlytime/time.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget time to update $:/temp/time once every 1000 milliseconds using local computer time. $:/temp/time can then be transcluded to have multiple instances or no visible instances (without error) of a time clock with seconds. This is not the exact time unless your computer is set a little ahead of a time server or if you are lucky. Mine is within a second and I am OK with living in the past just a little.\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 = \"time\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"rootwidget\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n var timer=setInterval(function(){\n var d=new Date();\n var t=d.toLocaleTimeString();\n $tw.wiki.addTiddler(new $tw.Tiddler({title: \"$:/temp/time\", text: t}));\n},1000);\n};\n\n})();", "type": "application/javascript", "title": "$:/plugins/ajh/tiddlytime/time.js", "module-type": "startup" },
"$:/time": { "text": "<span title=<<dt 'MM/DD (today-78)' '-112320'>>>\n<$button class='tc-btn-invisible tc-time'><$action-navigate $to='$:/info/timestamp'/><$transclude tiddler='$:/temp/time' mode='block'/></$button></span>", "title": "$:/time", "tags": "$:/tags/PageControls", "list-before": "", "description": "{{$:/language/Buttons/Time/Hint}}", "caption": "{{$:/temp/time}} {{$:/language/Buttons/Time/Caption}}" } } }
/* TOPBAR TIME */
html .tc-time {
color: {{!!button-color}};
font-weight: {{!!weight}};
font-size: {{!!button-size}};
line-height: 0em;
margin: -15px 0;
}
html .tc-time:hover {
color: {{!!button-hover-color}} !important;
}
{
"tiddlers": {
"$:/plugins/bimlas/highlight-searched-text/README/CHANGELOG": {
"title": "$:/plugins/bimlas/highlight-searched-text/README/CHANGELOG",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "I'm trying to follow the rules of [[Semantic Versioning|https://semver.org/]].\n\n!! 0.4.0 - 2020-02-13\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.3.2...v0.4.0]]\n\n* Add option to change toolbar height and position\n\n!! 0.3.2 - 2020-02-13\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.3.1...0.3.2]]\n\n* Search was performed inside CodeMirror texteditor which caused RSOD\n\n!! 0.3.1 - 2019-11-19\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.3.0...v0.3.1]]\n\n* The counter showed n-1 matches\n\n!! 0.3.0 - 2019-11-19\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.2.0...v0.3.0]]\n\n* Add counter\n* Move templates to their own directory\n\n!! 0.2.0 - 2019-11-18\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.1.1...v0.2.0]]\n\n* Add buttons and a toolbar to navigate between matches on page (\"find in page\" feature of browsers)\n\n!! 0.1.1 - 2019-11-12\n\n[[See GitLab for detailed change history of this release|https://gitlab.com/bimlas/tw5-highlight-searched-text/compare/v0.1.0...v0.1.1]]\n\n* Add option to change the title of the tiddler containing the search term\n\n!! 0.1.0 - 2019-11-11\n\n* First public release\n"
},
"$:/plugins/bimlas/highlight-searched-text/README/README": {
"title": "$:/plugins/bimlas/highlight-searched-text/README/README",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "! Highlight searched text\n\nFor example, type `search text` in the standard search and select one of the results, or just click outside of it (to hide the popup list): each of ''the words you search for will be highlighted separately in the text of the tiddlers''.\n\nIn the sidebar above the standard search, there are \"Scroll to next / previous matches\" buttons to navigate through the results on the page. In the case of a narrow screen (or according to your preferences), a toolbar will appear at the bottom of the window where you can access the same functions.\n\nSince this doesn't require a \"Find in page\" browser, ''it is convenient to use on [[TiddlyDesktop|https://tiddlywiki.com/#TiddlyDesktop]] and Android'' (via [[Tiddloid|https://tiddlywiki.com/#Saving%20on%20Android]], [[Quinoid|https://github.com/Marxsal/Quinoid01]], etc).\n\nThe plugin uses the [[Mark.js library|https://markjs.io/]].\n\n* https://bimlas.gitlab.io/tw5-highlight-searched-text (demo + install)\n* https://gitlab.com/bimlas/tw5-highlight-searched-text (main repository)\n* https://github.com/bimlas/tw5-highlight-searched-text (mirror, ''please star if you like the plugin'')\n\n!! Known issues\n\nThe \"find-in-page\" feature does not work properly with [[JD's Material theme|http://j.d.material.tiddlyspot.com/]] because when you jump to the next hit, it will be aligned with the top of the page instead of the middle of the page.\n\nIf the text of a tiddler is wider than the story river, it will not align the \"find-in-page\" toolbar at the bottom of the screen, but more lower, so it will not be visible. For example, search for \"script\" in the Shadows tab of [[$:/AdvancedSearch]] and make your browser as narrow as possible: if you scroll down and up, you will understand what I mean. This is not a bug in the plugin, but in the TiddlyWiki (or rather in the browsers).\n\n!! Tips\n\n!!! Colorized icons\n\nTo colorize the next / previous icons, create a tiddler (name can be anything), add the <<tag \"$:/tags/Stylesheet\">> tag and copy the following code into it.\n\n```css\n.bimlas-highlight-searched-text.bimlas-sidebar .bimlas-next-match svg, .bimlas-highlight-searched-text.bimlas-sticky-find-in-page .bimlas-next-match svg {\n fill: green;\n}\n.bimlas-highlight-searched-text.bimlas-sidebar .bimlas-previous-match svg, .bimlas-highlight-searched-text.bimlas-sticky-find-in-page .bimlas-previous-match svg {\n fill: red;\n}\n```\n\n!! Installation instructions\n\nTo add the plugin to your own ~TiddlyWiki5, just drag this link to the browser window:\n\n$:/plugins/bimlas/highlight-searched-text\n\nFor other installation options see the repositories above.\n"
},
"$:/plugins/bimlas/highlight-searched-text/action-scroll-to-match.js": {
"title": "$:/plugins/bimlas/highlight-searched-text/action-scroll-to-match.js",
"text": "/*\\\ntitle: $:/plugins/bimlas/highlight-searched-text/action-scroll-to-match.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to scroll to the next match in story river.\n\n\\*/\n(function() {\n\n\t/*jslint node: false, browser: true */\n\t/*global $tw: true */\n\t\"use strict\";\n\n\tvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\tvar updateHighlighting = require('$:/plugins/bimlas/highlight-searched-text/update-highlighting.js');\n\n\tvar ScrollToMatch = function(parseTreeNode,options) {\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tScrollToMatch.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tScrollToMatch.prototype.render = function(parent,nextSibling) {\n\t\tthis.computeAttributes();\n\t\tthis.execute();\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tScrollToMatch.prototype.execute = function() {\n\t\tthis.actionDirection = this.getAttribute(\"$direction\");\n\t};\n\n\t/*\n\tRefresh the widget by ensuring our attributes are up to date\n\t*/\n\tScrollToMatch.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\tif(changedAttributes[\"$direction\"]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t};\n\n\t/*\n\tInvoke the action associated with this widget\n\t*/\n\tScrollToMatch.prototype.invokeAction = function(triggeringWidget,event) {\n\t\tvar self = this;\n\t\tvar isHighlightingUpdated = updateHighlighting();\n\t\tvar allMatches = $tw.pageContainer.querySelectorAll('mark');\n\t\tif(allMatches.length === 0) return true;\n\t\tif(isHighlightingUpdated && resultsAreFoundOnTheCurrentScreen()) return true;\n\n\t\tvar targetMatch = this.actionDirection === \"previous\"\n\t\t\t? findBackwardFromThePreviousHalfScreen()\n\t\t\t: findForwardFromTheNextHalfScreen();\n\n\t\t$tw.pageScroller.scrollIntoView(targetMatch, function() {\n\t\t\treturn alignBoundingBoxToMiddleOfTheScreen(targetMatch.getBoundingClientRect());\n\t\t});\n\t\tthis.previousMatch = targetMatch;\n\t\treturn true; // Action was invoked\n\n\t\tfunction resultsAreFoundOnTheCurrentScreen() {\n\t\t\treturn [].slice.call(allMatches).reduce(function(accumulator,match) {\n\t\t\t\treturn accumulator || (getPositionOfElementRelativeToScreen(match) === 0);\n\t\t\t}, false);\n\t\t}\n\n\t\tfunction findBackwardFromThePreviousHalfScreen() {\n\t\t\tvar foundMatch;\n\t\t\tfor(var index = allMatches.length-1; index >= 0; index--) {\n\t\t\t\tif(getPositionOfElementRelativeToScreen(allMatches[index]) < 0) {\n\t\t\t\t\tfoundMatch = allMatches[index];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn !foundMatch || (foundMatch === self.previousMatch) ? allMatches[allMatches.length-1] : foundMatch;\n\t\t}\n\n\t\tfunction findForwardFromTheNextHalfScreen() {\n\t\t\tvar foundMatch;\n\t\t\tfor(var index = 0; index < allMatches.length; index++) {\n\t\t\t\tif(getPositionOfElementRelativeToScreen(allMatches[index]) > 0) {\n\t\t\t\t\tfoundMatch = allMatches[index];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn !foundMatch || (foundMatch === self.previousMatch) ? allMatches[0] : foundMatch;\n\t\t}\n\n\t\tfunction alignBoundingBoxToMiddleOfTheScreen(boundingBox) {\n\t\t\treturn {\n\t\t\t\tleft: boundingBox.left,\n\t\t\t\ttop: boundingBox.top - window.innerHeight/2,\n\t\t\t\twidth: boundingBox.width,\n\t\t\t\theight: boundingBox.height\n\t\t\t};\n\t\t}\n\n\t\tfunction getPositionOfElementRelativeToScreen(elem) {\n\t\t\tvar elementYOffset = elem.getBoundingClientRect().top;\n\t\t\tif (elementYOffset < window.innerHeight*0.25) return -1;\n\t\t\tif (elementYOffset > (window.innerHeight-30*window.devicePixelRatio/* height of the toolbar */)*0.75 ) return 1;\n\t\t\treturn 0;\n\t\t}\n\t};\n\n\texports[\"action-scroll-to-match\"] = ScrollToMatch;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/bimlas/highlight-searched-text/buttons/clear-input": {
"title": "$:/plugins/bimlas/highlight-searched-text/buttons/clear-input",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<$button class=\"tc-btn-invisible bimlas-clear-input\" tooltip=\"Clear text input\" set={{$:/config/bimlas/highlight-searched-text/search-tiddler}} setTo=\"\">\n {{$:/core/images/close-button}}\n</$button>\n"
},
"$:/plugins/bimlas/highlight-searched-text/buttons/hide-toolbar": {
"title": "$:/plugins/bimlas/highlight-searched-text/buttons/hide-toolbar",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<$button class=\"tc-btn-invisible bimlas-hide-toolbar\" tooltip=\"Hide this toolbar\" set=\"$:/state/bimlas/highlight-searched-text/toolbar\" setTo=\"hide\">\n {{$:/core/images/advanced-search-button}}\n</$button>\n"
},
"$:/plugins/bimlas/highlight-searched-text/buttons/next-match": {
"title": "$:/plugins/bimlas/highlight-searched-text/buttons/next-match",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<$button class=\"tc-btn-invisible bimlas-next-match\" tooltip=\"Scroll to next matches\">\n <$action-scroll-to-match $direction=\"next\"/>\n {{$:/core/images/down-arrow}}\n</$button>\n"
},
"$:/plugins/bimlas/highlight-searched-text/buttons/previous-match": {
"title": "$:/plugins/bimlas/highlight-searched-text/buttons/previous-match",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<$button class=\"tc-btn-invisible bimlas-previous-match\" tooltip=\"Scroll to previous matches\">\n <$action-scroll-to-match $direction=\"previous\"/>\n {{$:/core/images/up-arrow}}\n</$button>\n"
},
"$:/plugins/bimlas/highlight-searched-text/buttons/show-toolbar": {
"title": "$:/plugins/bimlas/highlight-searched-text/buttons/show-toolbar",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "<$button class=\"tc-btn-invisible bimlas-show-toolbar\" tooltip=\"Find in page\" set=\"$:/state/bimlas/highlight-searched-text/toolbar\" setTo=\"show\">\n {{$:/core/images/advanced-search-button}}\n</$button>\n"
},
"$:/plugins/bimlas/highlight-searched-text/mark.js": {
"title": "$:/plugins/bimlas/highlight-searched-text/mark.js",
"text": "/*\\\ntitle: $:/plugins/bimlas/highlight-searched-text/mark.js\ntype: application/javascript\nmodule-type: library\n\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n\n\\*/\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){\"use strict\";var e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:\"getContexts\",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:\"string\"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:\"getIframeContents\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error(\"iframe inaccessible\")}catch(e){n()}r&&t(r)}},{key:\"isIframeBlank\",value:function(e){var t=e.getAttribute(\"src\").trim();return\"about:blank\"===e.contentWindow.location.href&&\"about:blank\"!==t&&t}},{key:\"observeIframeLoad\",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener(\"load\",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener(\"load\",a),o=setTimeout(a,this.iframesTimeout)}},{key:\"onIframeReady\",value:function(e,t,n){try{\"complete\"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:\"waitForIframes\",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector(\"html\"),function(){--r||t()})},function(e){e||t()})}},{key:\"forEachIframe\",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll(\"iframe\"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:\"createIterator\",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:\"createInstanceOnIframe\",value:function(t){return new e(t.querySelector(\"html\"),this.iframes)}},{key:\"compareNodeIframe\",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:\"getIteratorNode\",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:\"checkIframeFilter\",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:\"handleOpenIframes\",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:\"iterateThroughNodes\",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:\"forEachNode\",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:\"matches\",value:function(e,t){var n=\"string\"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf(\"MSIE\")>-1||n.indexOf(\"Trident\")>-1)&&(this.ie=!0)}return n(o,[{key:\"log\",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"debug\",r=this.opt.log;this.opt.debug&&\"object\"===(void 0===r?\"undefined\":e(r))&&\"function\"==typeof r[n]&&r[n](\"mark.js: \"+t)}},{key:\"escapeStr\",value:function(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}},{key:\"createRegExp\",value:function(e){return\"disabled\"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),\"disabled\"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:\"createSynonymsRegExp\",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?\"\":\"i\",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?\"\\0\":\"\";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);\"\"!==a&&\"\"!==s&&(e=e.replace(new RegExp(\"(\"+this.escapeStr(a)+\"|\"+this.escapeStr(s)+\")\",\"gm\"+n),r+\"(\"+this.processSynomyms(a)+\"|\"+this.processSynomyms(s)+\")\"+r))}return e}},{key:\"processSynomyms\",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:\"setupWildcardsRegExp\",value:function(e){return(e=e.replace(/(?:\\\\)*\\?/g,function(e){return\"\\\\\"===e.charAt(0)?\"?\":\"\u0001\"})).replace(/(?:\\\\)*\\*/g,function(e){return\"\\\\\"===e.charAt(0)?\"*\":\"\u0002\"})}},{key:\"createWildcardsRegExp\",value:function(e){var t=\"withSpaces\"===this.opt.wildcards;return e.replace(/\\u0001/g,t?\"[\\\\S\\\\s]?\":\"\\\\S?\").replace(/\\u0002/g,t?\"[\\\\S\\\\s]*?\":\"\\\\S*\")}},{key:\"setupIgnoreJoinersRegExp\",value:function(e){return e.replace(/[^(|)\\\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\\\]/.test(r)||\"\"===r?e:e+\"\\0\"})}},{key:\"createJoinersRegExp\",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(\"\"))),this.opt.ignoreJoiners&&t.push(\"\\\\u00ad\\\\u200b\\\\u200c\\\\u200d\"),t.length?e.split(/\\u0000+/).join(\"[\"+t.join(\"\")+\"]*\"):e}},{key:\"createDiacriticsRegExp\",value:function(e){var t=this.opt.caseSensitive?\"\":\"i\",n=this.opt.caseSensitive?[\"aàáảãạăằắẳẵặâầấẩẫậäåāą\",\"AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćč\",\"CÇĆČ\",\"dđď\",\"DĐĎ\",\"eèéẻẽẹêềếểễệëěēę\",\"EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïī\",\"IÌÍỈĨỊÎÏĪ\",\"lł\",\"LŁ\",\"nñňń\",\"NÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøō\",\"OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rř\",\"RŘ\",\"sšśșş\",\"SŠŚȘŞ\",\"tťțţ\",\"TŤȚŢ\",\"uùúủũụưừứửữựûüůū\",\"UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿ\",\"YÝỲỶỸỴŸ\",\"zžżź\",\"ZŽŻŹ\"]:[\"aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćčCÇĆČ\",\"dđďDĐĎ\",\"eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïīIÌÍỈĨỊÎÏĪ\",\"lłLŁ\",\"nñňńNÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rřRŘ\",\"sšśșşSŠŚȘŞ\",\"tťțţTŤȚŢ\",\"uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿYÝỲỶỸỴŸ\",\"zžżźZŽŻŹ\"],r=[];return e.split(\"\").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp(\"[\"+n+\"]\",\"gm\"+t),\"[\"+n+\"]\"),r.push(n)}return!0})}),e}},{key:\"createMergedBlanksRegExp\",value:function(e){return e.replace(/[\\s]+/gim,\"[\\\\s]+\")}},{key:\"createAccuracyRegExp\",value:function(e){var t=this,n=this.opt.accuracy,r=\"string\"==typeof n?n:n.value,i=\"\";switch((\"string\"==typeof n?[]:n.limiters).forEach(function(e){i+=\"|\"+t.escapeStr(e)}),r){case\"partially\":default:return\"()(\"+e+\")\";case\"complementary\":return\"()([^\"+(i=\"\\\\s\"+(i||this.escapeStr(\"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿\")))+\"]*\"+e+\"[^\"+i+\"]*)\";case\"exactly\":return\"(^|\\\\s\"+i+\")(\"+e+\")(?=$|\\\\s\"+i+\")\"}}},{key:\"getSeparatedKeywords\",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(\" \").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:\"isNumeric\",value:function(e){return Number(parseFloat(e))==e}},{key:\"checkRanges\",value:function(e){var t=this;if(!Array.isArray(e)||\"[object Object]\"!==Object.prototype.toString.call(e[0]))return this.log(\"markRanges() will only accept an array of objects\"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:\"callNoMatchOnInvalidRanges\",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log(\"Ignoring invalid or overlapping range: \"+JSON.stringify(e)),this.opt.noMatch(e))):(this.log(\"Ignoring invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:\"checkWhitespaceRanges\",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log(\"End range automatically set to the max value of \"+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log(\"Invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)):\"\"===n.substring(s,r).replace(/\\s+/g,\"\")&&(i=!1,this.log(\"Skipping whitespace only range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:\"getTextNodes\",value:function(e){var t=this,n=\"\",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:\"matchesExclude\",value:function(e){return i.matches(e,this.opt.exclude.concat([\"script\",\"style\",\"title\",\"head\",\"html\"]))}},{key:\"wrapRangeInTextNode\",value:function(e,t,n){var r=this.opt.element?this.opt.element:\"mark\",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute(\"data-markjs\",\"true\"),this.opt.className&&a.setAttribute(\"class\",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:\"wrapRangeInMappedTextNode\",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:\"wrapMatches\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&\"\"!==i[a];)if(n(i[a],t)){var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapRangeInTextNode(t,s,s+i[a].length),r(t.previousSibling),e.lastIndex=0}}),i()})}},{key:\"wrapMatchesAcrossElements\",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&\"\"!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}i()})}},{key:\"wrapRangeFromIndex\",value:function(e,t,n,r){var i=this;this.getTextNodes(function(o){var a=o.value.length;e.forEach(function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,u=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,u,function(n){return t(n,e,o.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:\"unwrapMatches\",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:\"normalizeTextNode\",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:\"markRegExp\",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression \"'+e+'\"');var r=0,i=\"wrapMatches\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),this[i](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:\"mark\",value:function(e,t){var n=this;this.opt=t;var r=0,i=\"wrapMatches\",o=this.getSeparatedKeywords(\"string\"==typeof e?[e]:e),a=o.keywords,s=o.length,c=this.opt.caseSensitive?\"\":\"i\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),0===s?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),\"gm\"+c),u=0;n.log('Searching with expression \"'+o+'\"'),n[i](o,1,function(e,i){return n.opt.filter(i,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),a[s-1]===t?n.opt.done(r):e(a[a.indexOf(t)+1])})}(a[0])}},{key:\"markRanges\",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log(\"Starting to mark with the following ranges: \"+JSON.stringify(i)),this.wrapRangeFromIndex(i,function(e,t,r,i){return n.opt.filter(e,t,r,i)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:\"unmark\",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:\"*\";n+=\"[data-markjs]\",this.opt.className&&(n+=\".\"+this.opt.className),this.log('Removal selector \"'+n+'\"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:\"opt\",set:function(e){this._opt=r({},{element:\"\",className:\"\",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:\"partially\",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:\"disabled\",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:\"iterator\",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),o}();return function(e){var t=this,n=new o(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}});\n",
"type": "application/javascript",
"module-type": "library"
},
"$:/plugins/bimlas/highlight-searched-text/settings/SETTINGS": {
"title": "$:/plugins/bimlas/highlight-searched-text/settings/SETTINGS",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "! Settings\n\n!! The system tiddler used for searching\n\nThe plugin works basically with standard search, but if you use a theme or a plugin that stores the term you are looking for elsewhere, you can specify the appropriate tiddler here.\n\n<$edit-text tiddler=\"$:/config/bimlas/highlight-searched-text/search-tiddler\" tag=\"input\"/>\n\nTo find the tiddler that stores the search string, make a search for `find-my-search-tiddler` in your standard search field (e.g. in the sidebar). The tiddler will be shown bellow.\n\n<<list-links filter:\"[all[tiddlers]search[find-my-search-tiddler]] -[all[current]]\">>\n\n!! Toolbar visibility\n\nIn a narrow browser or smartphone, the sidebar appears at the top of the page, so we can't conveniently use the search box there to search within the page. To fix this, we have a toolbar (magnifying glass icon in the corner of the window). If you wish, you can turn this off or make it visible in wider browsers (it can also be useful if, for example, your theme hides the sidebar).\n\n<$radio tiddler=\"$:/config/bimlas/highlight-searched-text/toolbar-visibility\" value=\"never\"> Never </$radio>\n\n<$radio tiddler=\"$:/config/bimlas/highlight-searched-text/toolbar-visibility\" value=\"smallscreen\"> Only on small screens </$radio>\n\n<$radio tiddler=\"$:/config/bimlas/highlight-searched-text/toolbar-visibility\" value=\"allways\"> Allways </$radio>\n\nHeight: <$edit-text tiddler=\"$:/config/bimlas/highlight-searched-text/toolbar-height\" tag=\"input\"/>\n\nOffset from bottom: <$edit-text tiddler=\"$:/config/bimlas/highlight-searched-text/toolbar-offset\" tag=\"input\"/>\n\n//To display it at the top of the page, use the following formula://\n\n```\ncalc(100% - {{$:/config/bimlas/highlight-searched-text/toolbar-height}})\n```"
},
"$:/config/bimlas/highlight-searched-text/search-tiddler": {
"title": "$:/config/bimlas/highlight-searched-text/search-tiddler",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "$:/temp/search"
},
"$:/config/bimlas/highlight-searched-text/toolbar-height": {
"title": "$:/config/bimlas/highlight-searched-text/toolbar-height",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "30px"
},
"$:/config/bimlas/highlight-searched-text/toolbar-offset": {
"title": "$:/config/bimlas/highlight-searched-text/toolbar-offset",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "0px"
},
"$:/config/bimlas/highlight-searched-text/toolbar-visibility": {
"title": "$:/config/bimlas/highlight-searched-text/toolbar-visibility",
"tags": "",
"type": "text/vnd.tiddlywiki",
"text": "smallscreen"
},
"$:/plugins/bimlas/highlight-searched-text/startup-action.js": {
"title": "$:/plugins/bimlas/highlight-searched-text/startup-action.js",
"text": "/*\\\ntitle: $:/plugins/bimlas/highlight-searched-text/startup-action.js\ntype: application/javascript\nmodule-type: startup\n\nAdd event listeners to highlight searched text\n\n\\*/\n\n(function() {\n\n\t/*jslint node: false, browser: true */\n\t/*global $tw: true */\n\t\"use strict\";\n\n\tvar updateHighlighting = require('$:/plugins/bimlas/highlight-searched-text/update-highlighting.js');\n\n\t// Export name and synchronous status\n\texports.name = \"highlightsearch\";\n\texports.platforms = [\"browser\"];\n\texports.after = [\"story\"];\n\texports.synchronous = true;\n\n\texports.startup = function() {\n\t\t$tw.wiki.addEventListener(\"change\",function(changedTiddlers) {\n\t\t\tif(Object.keys(changedTiddlers).reduce(function(accumulator,current) {\n\t\t\t\treturn accumulator && (!(searchTextBecameEmpty(current) || searchPopupBecameHidden(current,changedTiddlers[current])))\n\t\t\t},true))\n\t\t\t\treturn;\n\t\t\tupdateHighlighting();\n\t\t});\n\t\t$tw.hooks.addHook(\"th-navigating\",function(event) {\n\t\t\t// TODO: It should update highlight only if navigated from search results - how to check this?\n\t\t\tsetTimeout(function() {\n\t\t\t updateHighlighting(true);\n\t\t\t}, $tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\"));\n\t\t\treturn (event);\n\t\t});\n\t};\n\n\tfunction searchPopupBecameHidden(title,value) {\n\t\treturn (title.indexOf(\"$:/state/popup/search-dropdown\") === 0) && value.deleted\n\t}\n\n\tfunction searchTextBecameEmpty(title) {\n\t\tvar searchTiddler = $tw.wiki.getTiddlerText(\"$:/config/bimlas/highlight-searched-text/search-tiddler\");\n\t\treturn title === searchTiddler && $tw.wiki.getTiddlerText(searchTiddler) === \"\"\n\t}\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/bimlas/highlight-searched-text/stylesheet": {
"title": "$:/plugins/bimlas/highlight-searched-text/stylesheet",
"tags": "$:/tags/Stylesheet",
"type": "",
"text": ".bimlas-highlight-searched-text.bimlas-sticky-find-in-page {\n display: -webkit-flex;\n display: flex;\n align-items: center;\n position: fixed;\n bottom: {{$:/config/bimlas/highlight-searched-text/toolbar-offset}};\n /*\n Aligned to the right it disappears when eg. the search results in\n $:/AdvancedSearch have such a long filename that the page becomes wider\n than the screen.\n */\n left: 0;\n z-index: 500;\n height: {{$:/config/bimlas/highlight-searched-text/toolbar-height}};\n font-size: calc({{$:/config/bimlas/highlight-searched-text/toolbar-height}} * 18 / 30);\n padding: 0;\n background-color: <<colour tiddler-background>>;\n border: 1px solid <<colour tiddler-border>>;\n border-radius: 1em;\n <<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n}\n\n.bimlas-highlight-searched-text .bimlas-counter {\n white-space: nowrap;\n}\n\n.bimlas-highlight-searched-text.bimlas-sticky-find-in-page > * {\n padding: 0 0.25em;\n}\n\n.bimlas-highlight-searched-text.bimlas-sticky-find-in-page input {\n width: 100%;\n}\n\n.bimlas-highlight-searched-text.bimlas-sticky-find-in-page button {\n flex: 0 0 {{$:/config/bimlas/highlight-searched-text/toolbar-height}};\n}\n\n<$list filter=\"[[$:/state/bimlas/highlight-searched-text/toolbar]contains:text[show]]\">\n .bimlas-highlight-searched-text.bimlas-sticky-find-in-page {\n width: 100vw;\n /* Without this, the scrollbar would overlap the last button */\n padding-right: 15px;\n border-radius: 0;\n }\n</$list>\n\n<$list filter=\"[[$:/config/bimlas/highlight-searched-text/toolbar-visibility]contains:text[smallscreen]]\">\n @media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n .bimlas-highlight-searched-text.bimlas-sticky-find-in-page {\n display: none;\n }\n }\n</$list>\n"
},
"$:/plugins/bimlas/highlight-searched-text/templates/counter": {
"title": "$:/plugins/bimlas/highlight-searched-text/templates/counter",
"tags": "",
"type": "",
"text": "<span class=\"bimlas-counter\"> {{$:/temp/bimlas/highlight-searched-text/counter}} </span>"
},
"$:/plugins/bimlas/highlight-searched-text/templates/sidebar": {
"title": "$:/plugins/bimlas/highlight-searched-text/templates/sidebar",
"list-before": "$:/core/ui/SideBarSegments/search",
"tags": "$:/tags/SideBarSegment",
"type": "text/vnd.tiddlywiki",
"text": "<div class=\"bimlas-highlight-searched-text bimlas-sidebar\">\n\t<!--\n\t\tIf emptyMessage were not specified, the height of the sibebar would be\n\t\tvariable (because find-in-page is either visible or not), so I will\n\t\tdisplay a placeholder if there is no search term.\n\t-->\n\t<$list filter=\"[{$:/config/bimlas/highlight-searched-text/search-tiddler}get[text]]\" emptyMessage=\" \">\n\t\tFind in page: {{$:/plugins/bimlas/highlight-searched-text/buttons/next-match}} {{$:/plugins/bimlas/highlight-searched-text/buttons/previous-match}} {{$:/plugins/bimlas/highlight-searched-text/templates/counter}}\n\t</$list>\n</div>\n"
},
"$:/plugins/bimlas/highlight-searched-text/templates/toolbar": {
"title": "$:/plugins/bimlas/highlight-searched-text/templates/toolbar",
"tags": "$:/tags/PageTemplate",
"type": "text/vnd.tiddlywiki",
"text": "\\define collapsed()\n {{$:/plugins/bimlas/highlight-searched-text/buttons/show-toolbar}}\n\\end\n\n\\define expanded()\n {{$:/plugins/bimlas/highlight-searched-text/buttons/hide-toolbar}}\n <$keyboard key=\"enter\">\n <$action-scroll-to-match $direction=\"next\"/>\n <$edit-text tiddler={{$:/config/bimlas/highlight-searched-text/search-tiddler}} placeholder=\"Find in page...\" tag=\"input\" type=\"search\"/>\n </$keyboard>\n {{$:/plugins/bimlas/highlight-searched-text/templates/counter}}\n {{$:/plugins/bimlas/highlight-searched-text/buttons/next-match}}\n {{$:/plugins/bimlas/highlight-searched-text/buttons/previous-match}}\n {{$:/plugins/bimlas/highlight-searched-text/buttons/clear-input}}\n\\end\n\n<$list filter=\"[[$:/config/bimlas/highlight-searched-text/toolbar-visibility]!contains:text[never]]\">\n <div class=\"bimlas-highlight-searched-text bimlas-sticky-find-in-page\">\n <$list filter=\"[[$:/state/bimlas/highlight-searched-text/toolbar]contains:text[show]]\" emptyMessage=<<collapsed>>>\n <<expanded>>\n </$list>\n </div>\n</$list>\n"
},
"$:/plugins/bimlas/highlight-searched-text/update-highlighting.js": {
"title": "$:/plugins/bimlas/highlight-searched-text/update-highlighting.js",
"text": "/*\\\ntitle: $:/plugins/bimlas/highlight-searched-text/update-highlighting.js\ntype: application/javascript\nmodule-type: library\n\nUpdate highlight of searched text (find in page)\n\n\\*/\n\nvar\n\tMark = require(\"$:/plugins/bimlas/highlight-searched-text/mark.js\"),\n\tmarkInstance;\n\tpreviousSearchedText = '';\n\nmodule.exports = function(force) {\n\tvar searchTiddler = $tw.wiki.getTiddlerText(\"$:/config/bimlas/highlight-searched-text/search-tiddler\");\n\tvar searchedText = $tw.wiki.getTiddlerText(searchTiddler);\n\tvar totalCounter = 0;\n\n\tif((searchedText === previousSearchedText) && !force) return false;\n\n\tif(!markInstance) markInstance = new Mark(document.getElementsByClassName(\"tc-story-river\")[0]);\n\tmarkInstance.unmark();\n\tif(searchedText !== \"\") markInstance.mark(searchedText, {\n\t\texclude: [\n\t\t\t\".tc-edit-texteditor *\"\n\t\t],\n\t\tfilter: function(node, term, count) {\n\t\t\ttotalCounter = count + 1;\n\t\t\treturn true;\n\t\t}\n\t});\n\tsetCounterTiddler(totalCounter);\n\tpreviousSearchedText = searchedText;\n\treturn true;\n};\n\nfunction setCounterTiddler(totalCounter) {\n\tvar defaultFields = $tw.wiki.getCreationFields();\n\tvar tiddlerFields = {\n\t\ttitle: \"$:/temp/bimlas/highlight-searched-text/counter\",\n\t\ttext: \"(\" + totalCounter + \")\"\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddlerFields, defaultFields));\n}\n",
"type": "application/javascript",
"module-type": "library"
}
}
}
{
"tiddlers": {
"$:/plugins/chanilino/viz/vizWidget.js": {
"created": "20180705094957971",
"creator": "chan",
"text": "(function(){\n\n var Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n var Viz = require(\"$:/plugins/chanilino/viz/viz.js\");\n var {Module, render } = require(\"$:/plugins/chanilino/viz/lite.render.js\");\n var viz = new Viz({ Module, render });\n \n\n var VizWidget = function(parseTreeNode,options) {\n this.initialise(parseTreeNode,options);\n };\n\n VizWidget.prototype = new Widget();\n\n VizWidget.prototype.render = function(parent,nextSibling) {\n this.parentDomNode = parent;\n this.computeAttributes();\n this.execute();\n var domNode = this.create(parent, nextSibling);\n this.domNodes.push(domNode);\n parent.insertBefore(domNode,nextSibling);\n this.renderChildren(domNode,null);\n };\n\n VizWidget.prototype.execute = function() {\n // get attributes\n this.my_text = this.getAttribute(\"text\");\n this.selectClass = this.getAttribute(\"class\");\n this.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n this.setName = this.getAttribute(\"name\",\"currentTiddler\");\n // make child widgets \n //this.makeChildWidgets();\n };\n\n //refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n VizWidget.prototype.refresh = function(changedTiddlers) {\n var changedAttributes = this.computeAttributes();\n if(changedAttributes.my_text || changedAttributes.tiddler) {\n this.refreshSelf();\n return true;\n } else {\n return this.refreshChildren(changedTiddlers);\t\t\n }\n };\n\n VizWidget.prototype.removeChildDomNodes = function() {\n $tw.utils.each(this.domNodes,function(domNode) {\n domNode.parentNode.removeChild(domNode);\n });\n this.domNodes = [];\n };\n\n VizWidget.prototype.create = function() {\n // create a <div> container for the image\n var domNode = $tw.utils.domMaker(\"div\",{class:this.selectClass});\n\n viz.renderSVGElement(this.my_text).then(\n element => { \n domNode.appendChild(element);\n }).catch(\n error => {\n viz = new Viz({ Module, render });\n });\n return domNode;\n };\n\n\n VizWidget.prototype.handleChangeEvent = function(event) {\n // set the widget variable to inform the children\n this.setVariable(this.setName,event.target.value,this.parseTreeNode.params);\n // refresh this widget, and thereby the child widgets AND the enclosed content of this widget \n this.refreshSelf();\n return true;\n };\n\n exports.viz = VizWidget;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/chanilino/viz/vizWidget.js",
"tags": "",
"module-type": "widget",
"modifier": "chan",
"modified": "20180705134841442"
},
"$:/plugins/chanilino/viz/Usage": {
"created": "20180705094932491",
"creator": "chan",
"text": "```\n<$viz text=' digraph G {\n Consola->nginx [label=\"Pide encriptar url para cliente\", color=green]\n nginx [shape=box];\n nginx->Consola [color=red]\n client-> HAPROXY [color=red]\n STUPID [shape=box];\n HAPROXY -> STUPID [color=red]\n STUPID -> Prelanderred\n STUPID -> STUPID [color=green, label=\"Pasa del nginx al hhvm desdencriptado\"]\n vsh [shape=box];\n STUPID->vsh [color=red]\n }' class=\"myexample\"/>\n```\n\n<$viz text=' digraph G {\n Consola->nginx [label=\"Pide encriptar url para cliente\", color=green]\n nginx [shape=box];\n nginx->Consola [color=red]\n client-> HAPROXY [color=red]\n STUPID [shape=box];\n HAPROXY -> STUPID [color=red]\n STUPID -> Prelanderred\n STUPID -> STUPID [color=green, label=\"Pasa del nginx al hhvm desdencriptado\"]\n vsh [shape=box];\n STUPID->vsh [color=red]\n }' class=\"myexample\"/>",
"title": "$:/plugins/chanilino/viz/Usage",
"tags": "",
"modifier": "chan",
"modified": "20180705132719608"
},
"$:/plugins/chanilino/viz/Readme": {
"created": "20180705094912917",
"creator": "chan",
"text": "Plugin based on grapviz library:\n\nhttps://github.com/mdaines/viz.js/\n\nFor syntax of graphviz:\n\n* https://graphs.grevian.org/example\n* https://graphviz.gitlab.io/documentation/\n* https://www.graphviz.org/ \n",
"title": "$:/plugins/chanilino/viz/Readme",
"tags": "",
"modifier": "chan",
"modified": "20180705133230316"
},
"$:/plugins/chanilino/viz/viz.js": {
"text": "/*\nViz.js 2.0.0 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36)\nCopyright (c) 2014-2018 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software in object code form:\n\nGraphviz\nLicensed under Eclipse Public License - v 1.0\nhttp://www.graphviz.org\n\nExpat\nCopyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.\nLicensed under MIT license\nhttp://www.libexpat.org\n\nzlib\nCopyright (C) 1995-2013 Jean-loup Gailly and Mark Adler\nhttp://www.zlib.net/zlib_license.html\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.Viz = factory());\n}(this, (function () { 'use strict';\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n var classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n var WorkerWrapper = function () {\n function WorkerWrapper(worker) {\n var _this = this;\n\n classCallCheck(this, WorkerWrapper);\n\n this.worker = worker;\n this.listeners = [];\n this.nextId = 0;\n\n this.worker.addEventListener('message', function (event) {\n var id = event.data.id;\n var error = event.data.error;\n var result = event.data.result;\n\n _this.listeners[id](error, result);\n delete _this.listeners[id];\n });\n }\n\n createClass(WorkerWrapper, [{\n key: 'render',\n value: function render(src, options) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var id = _this2.nextId++;\n\n _this2.listeners[id] = function (error, result) {\n if (error) {\n reject(new Error(error.message, error.fileName, error.lineNumber));\n return;\n }\n resolve(result);\n };\n\n _this2.worker.postMessage({ id: id, src: src, options: options });\n });\n }\n }]);\n return WorkerWrapper;\n }();\n\n var ModuleWrapper = function ModuleWrapper(module, render) {\n classCallCheck(this, ModuleWrapper);\n\n var instance = module();\n this.render = function (src, options) {\n return new Promise(function (resolve, reject) {\n try {\n resolve(render(instance, src, options));\n } catch (error) {\n reject(error);\n }\n });\n };\n };\n\n // https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n\n\n function b64EncodeUnicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1);\n }));\n }\n\n function defaultScale() {\n if ('devicePixelRatio' in window && window.devicePixelRatio > 1) {\n return window.devicePixelRatio;\n } else {\n return 1;\n }\n }\n\n function svgXmlToImageElement(svgXml) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$scale = _ref.scale,\n scale = _ref$scale === undefined ? defaultScale() : _ref$scale,\n _ref$mimeType = _ref.mimeType,\n mimeType = _ref$mimeType === undefined ? \"image/png\" : _ref$mimeType,\n _ref$quality = _ref.quality,\n quality = _ref$quality === undefined ? 1 : _ref$quality;\n\n return new Promise(function (resolve, reject) {\n var svgImage = new Image();\n\n svgImage.onload = function () {\n var canvas = document.createElement('canvas');\n canvas.width = svgImage.width * scale;\n canvas.height = svgImage.height * scale;\n\n var context = canvas.getContext(\"2d\");\n context.drawImage(svgImage, 0, 0, canvas.width, canvas.height);\n\n canvas.toBlob(function (blob) {\n var image = new Image();\n image.src = URL.createObjectURL(blob);\n image.width = svgImage.width;\n image.height = svgImage.height;\n\n resolve(image);\n }, mimeType, quality);\n };\n\n svgImage.onerror = function (e) {\n var error;\n\n if ('error' in e) {\n error = e.error;\n } else {\n error = new Error('Error loading SVG');\n }\n\n reject(error);\n };\n\n svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml);\n });\n }\n\n function svgXmlToImageElementFabric(svgXml) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$scale = _ref2.scale,\n scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale,\n _ref2$mimeType = _ref2.mimeType,\n mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType,\n _ref2$quality = _ref2.quality,\n quality = _ref2$quality === undefined ? 1 : _ref2$quality;\n\n var multiplier = scale;\n\n var format = void 0;\n if (mimeType == 'image/jpeg') {\n format = 'jpeg';\n } else if (mimeType == 'image/png') {\n format = 'png';\n }\n\n return new Promise(function (resolve, reject) {\n fabric.loadSVGFromString(svgXml, function (objects, options) {\n // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case.\n if (objects.length == 0) {\n reject(new Error('Error loading SVG with Fabric'));\n }\n\n var element = document.createElement(\"canvas\");\n element.width = options.width;\n element.height = options.height;\n\n var canvas = new fabric.Canvas(element, { enableRetinaScaling: false });\n var obj = fabric.util.groupSVGElements(objects, options);\n canvas.add(obj).renderAll();\n\n var image = new Image();\n image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality });\n image.width = options.width;\n image.height = options.height;\n\n resolve(image);\n });\n });\n }\n\n var Viz = function () {\n function Viz() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n workerURL = _ref3.workerURL,\n worker = _ref3.worker,\n Module = _ref3.Module,\n render = _ref3.render;\n\n classCallCheck(this, Viz);\n\n if (typeof workerURL !== 'undefined') {\n this.wrapper = new WorkerWrapper(new Worker(workerURL));\n } else if (typeof worker !== 'undefined') {\n this.wrapper = new WorkerWrapper(worker);\n } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') {\n this.wrapper = new ModuleWrapper(Module, render);\n } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') {\n this.wrapper = new ModuleWrapper(Viz.Module, Viz.render);\n } else {\n throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.');\n }\n }\n\n createClass(Viz, [{\n key: 'renderString',\n value: function renderString(src) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref4$format = _ref4.format,\n format = _ref4$format === undefined ? 'svg' : _ref4$format,\n _ref4$engine = _ref4.engine,\n engine = _ref4$engine === undefined ? 'dot' : _ref4$engine,\n _ref4$files = _ref4.files,\n files = _ref4$files === undefined ? [] : _ref4$files,\n _ref4$images = _ref4.images,\n images = _ref4$images === undefined ? [] : _ref4$images,\n _ref4$yInvert = _ref4.yInvert,\n yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert;\n\n for (var i = 0; i < images.length; i++) {\n files.push({\n path: images[i].path,\n data: '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n<svg width=\"' + images[i].width + '\" height=\"' + images[i].height + '\"></svg>'\n });\n }\n\n return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert });\n }\n }, {\n key: 'renderSVGElement',\n value: function renderSVGElement(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n var parser = new DOMParser();\n return parser.parseFromString(str, 'image/svg+xml').documentElement;\n });\n }\n }, {\n key: 'renderImageElement',\n value: function renderImageElement(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scale = options.scale,\n mimeType = options.mimeType,\n quality = options.quality;\n\n\n return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === \"object\" && fabric.loadSVGFromString) {\n return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality });\n } else {\n return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality });\n }\n });\n }\n }, {\n key: 'renderJSONObject',\n value: function renderJSONObject(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var format = options.format;\n\n\n if (format !== 'json' || format !== 'json0') {\n format = 'json';\n }\n\n return this.renderString(src, _extends({}, options, { format: format })).then(function (str) {\n return JSON.parse(str);\n });\n }\n }]);\n return Viz;\n }();\n\n return Viz;\n\n})));\n",
"type": "application/javascript",
"title": "$:/plugins/chanilino/viz/viz.js",
"module-type": "library",
"modifier": "chan",
"modified": "20180705095216872",
"creator": "chan",
"created": "20180705095149455"
},
"$:/plugins/chanilino/viz/lite.render.js": {
"text": "/*\nViz.js 2.0.0 (Graphviz 2.40.1, Emscripten 1.37.36)\n*/\n(function(global) {\nvar Module = function(Module) {\n Module = Module || {};\nvar Module=typeof Module!==\"undefined\"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){if(Module[\"ENVIRONMENT\"]===\"WEB\"){ENVIRONMENT_IS_WEB=true}else if(Module[\"ENVIRONMENT\"]===\"WORKER\"){ENVIRONMENT_IS_WORKER=true}else if(Module[\"ENVIRONMENT\"]===\"NODE\"){ENVIRONMENT_IS_NODE=true}else if(Module[\"ENVIRONMENT\"]===\"SHELL\"){ENVIRONMENT_IS_SHELL=true}else{throw new Error(\"Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.\")}}else{ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename)}return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}Module[\"setWindowTitle\"]=(function(title){document.title=title})}Module[\"print\"]=typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null;Module[\"printErr\"]=typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||Module[\"print\"];Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return 4}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module[\"dynCall_\"+sig].apply(null,[ptr].concat(args))}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}var JSfuncs={\"stackSave\":(function(){stackSave()}),\"stackRestore\":(function(){stackRestore()}),\"arrayToC\":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType===\"string\")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":HEAP8[ptr>>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc===\"function\"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type==\"i64\")type=\"i32\";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\\w\\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module[\"extraStackTrace\"])js+=\"\\n\"+Module[\"extraStackTrace\"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr(\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \"+TOTAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");if(Module[\"buffer\"]){buffer=Module[\"buffer\"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module[\"buffer\"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw\"Runtime error: expected the system to be little-endian!\";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];if(!Math[\"trunc\"])Math[\"trunc\"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math[\"trunc\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath(\"/\",PATH.dirname(path));FS.writeFile(PATH.join(\"/\",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+176352;__ATINIT__.push();memoryInitializer=\"data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAWC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEED4NQAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAANQ5AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEDcOgAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAQAAAAAAAAABAAAAAAAAAAAAAAAAAPA/AQAAAAAAAAACAAAAAAAAAAAAAAAAAPA/AgAAAAAAAAADAAAAAAAAAAAAAAAAAOA/AwAAAAAAAAAEAAAAAAAAAAAAAAAAAPA/BAAAAAAAAAAFAAAAAAAAADMzMzMzM/M/BQAAAAAAAAAGAAAAAAAAAJqZmZmZmek/BgAAAAAAAAAHAAAAAAAAAAAAAAAAAPA/BwAAAAAAAAAIAAAAAAAAAAAAAAAAAOA/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAzMzMzMzPTvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAACamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzMzM+M/AAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiRSAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAACAZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACAZkCamZmZmZnZvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAAAAAACAZkB7FK5H4XrkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAACARkAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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AQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAAAAAAABAAAAAQAAAAIAAAADAAAAAQAAAAQAAAABAAAABQAAAAEAAAAGAAAABwAAAAcAAAABAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAACAAAAAEXgBAO13AQBjQQEAHngBABZ4AQAkeAEAAAAAAGlFAQByRQEAeUUBAIdFAQCORQEAOngBAJVFAQCcRQEAAQAAAAgAAAD/////AAAAAAAAAAAlAAAAAAAAAAAAAAAAAAAAAAAAADpHAQAIAAAAAwAAAENHAQBHRwEACwAAAAYAAABcUwEAU0cBAAIAAAABAAAAVkcBAFpHAQAEAAAAAgAAAF9HAQBjRwEABAAAAAQAAABoRwEAbUcBAAUAAAAFAAAAc0cBAHdHAQAEAAAABwAAAHxHAQCARwEABQAAAAkAAACGRwEAikcBAAQAAAAKAAAAj0cBAJRHAQAEAAAADAAAAJlHAQBaTAEAAAAAAAEAAABiTAEAAQAAAAAAAAA4dwEAAQAAAAEAAAC11gEAAAAAAAAAAAAAAAAAAAAAAAAAAABGSwEAMQAAAAAAAAAAAAAAWXIBABAAAADw4gEAgAAAAD9LAQBAAAAAomUBABAAAABBSwEAQAAAAAAAAAAAAAAADUsBAAEAAAAUSwEAAgAAABlLAQADAAAAiWIBAAQAAADEYgEABQAAAB1LAQAGAAAAtdYBAAgAAAAhSwEAIQAAACVLAQAiAAAAKUsBACIAAAAtSwEAAQAAADJLAQAHAAAAOEsBACcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAJgAAAAAAAAAAAAAAAAAAAAAAAACEUAEAi1ABAAAAAABZUwEAXFMBAF9TAQAAAAAAAAAAAAEAAAACAAAA/////xxTAQAiUwEAtdYBAAAAAABkAAAAZQAAAGYAAABkAAAACAAAAAgAAAAAAAAAAAAAACcAAAAMAAAAAAAAAAAAAAAAAAAACAAAAP////8AAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAiWIBAIxRAABABgAAAAAAAI1iAQCMUQAAcAYAAAAAAABbawEAjFEAAKAGAAAAAAAAlWIBAIxRAACgBgAAAAAAAJpiAQCMUQAA0AYAAAAAAAChYgEApFEAANAGAAAAAAAAp2IBAIxRAAAABwAAAAAAAKtiAQCMUQAAMAcAAAAAAAC11gEAjFEAAGAHAAAAAAAAtGIBAIxRAABgBwAAAAAAAL5iAQCMUQAAEAYAAAAAAADEYgEAjFEAAJAHAAAAAAAAzGIBAIxRAADABwAAAAAAANZiAQCMUQAA8AcAAAAAAADkYgEAjFEAACAIAAAAAAAA6mIBAIxRAABQCAAAAAAAAPNiAQCMUQAAgAgAAAAAAAD7YgEAjFEAALAIAAAAAAAABGMBAIxRAADgCAAAAAAAAAxjAQCMUQAAEAkAAAAAAAARYwEAjFEAAEAJAAAAAAAAFWMBAIxRAABwCQAAAAAAABxjAQCMUQAAoAkAAAAAAAAiYwEAjFEAANAJAAAAAAAALGMBALxRAAAACgAAAAAAADVjAQCMUQAAQAYAAAAAAAA6YwEAjFEAAEAGAAAAAAAARGMBAIxRAAAwCgAAAAAAAEtjAQCMUQAAYAoAAAAAAABYYwEAjFEAAJAKAAAAAAAAZmMBAIxRAADACgAAAAAAAHRjAQCMUQAA8AoAAAAAAACAYwEAjFEAACALAAAAAAAAjWMBAIxRAABQCwAAAAAAAJZjAQCMUQAAgAsAAAAAAACgYwEAjFEAALALAAAAAAAAqWMBAIxRAADgCwAAAAAAALFjAQCMUQAAEAwAAAAAAAC5YwEAjFEAAEAMAAAAAAAAwmMBAIxRAABwDAAAAAAAAMZjAQCMUQAAoAwAAAAAAADRYwEAjFEAANAMAAAAAAAA1WMBAIxRAAAADQAAAAAAAN9jAQCMUQAAMA0AAAAAAADoYwEAjFEAAGANAAAAAAAA8GMBAIxRAACQDQAAAAAAAP1jAQCMUQAAwA0AAAAAAAAJZAEAjFEAAPANAAAAAAAAFGQBAIxRAAAgDgAAAAAAACRkAQCMUQAAUA4AAAAAAAAyZAEAjFEAAIAOAAAAAAAAQWQBAIxRAACwDgAAAAAAAEtkAQCMUQAA4A4AAAAAAABUZAEAjFEAABAPAAAAAAAAXmQBAIxRAABADwAAAAAAAGhkAQCMUQAAcA8AAAAAAABvZAEAjFEAAKAPAAAAAAAAdmQBAIxRAADQDwAAAAAAAIBkAQDUUQAAAAAAAAAAAACHZAEA1FEAAAAAAAAAAAAAZWIBAOxRAAAAAAAAAAAAAI9kAQAEUgAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATQAAAEwAAAAXAAAABQAAAAAAAAANAAAASwAAAEwAAAAXAAAABAAAAAIAAAAMAAAATgAAAE8AAAAYAAAABgAAAAMAAAAOAAAAUAAAAFEAAAAXAAAABwAAAAAAAAAPAAAASwAAAEwAAAAXAAAACAAAAAIAAAAMAAAAEAAAABEAAAASAAAAEwAAAJFlAQCYZQEAAAAAAKBlAQCiZQEAKuMBAKRlAQAMAAAABAAAAAYAAAACAAAAAwAAAAEAAAAJAAAACAAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAADxZgEAAWcBAA5nAQAAAAAAAAAAAAQAAAATZwEAAAAAAAAAAAAeZwEAAWcBAA5nAQAAAAAANWcBAAUAAAATZwEAAAAAAD1nAQBEZwEAAWcBAFRnAQAAAAAAAAAAAAYAAAATZwEAoXYBAAAAAABZZwEAAWcBAFRnAQAAAAAANWcBAAcAAAATZwEAoXYBAD1nAQBwZwEAfWcBAFRnAQAAAAAAAAAAAAoAAACLZwEAoXYBAAAAAACRZwEAfWcBAFRnAQAAAAAAPWcBAAsAAACLZwEAoXYBAD1nAQCkZwEAfWcBALJnAQAAAAAAAAAAAAgAAACLZwEAAAAAAAAAAAC4ZwEAfWcBALJnAQAAAAAAPWcBAAkAAACLZwEAAAAAAD1nAQDMZwEAzGcBAAAAAAAAAAAAAAAAAAwAAADUZwEAAAAAAAAAAADeZwEAzGcBAKF2AQAAAAAAAAAAAA4AAADUZwEAoXYBAAAAAADrZwEAzGcBAKF2AQAAAAAANWcBAA8AAADUZwEAoXYBAD1nAQD/ZwEAzGcBAAAAAAAAAAAANWcBAA0AAADUZwEAAAAAAD1nAQAPaAEAD2gBAAAAAAAAAAAAAAAAABAAAAATZwEAAAAAAAAAAAAZaAEAD2gBAKF2AQAAAAAAAAAAABIAAAATZwEAoXYBAAAAAAAoaAEAD2gBAKF2AQAAAAAANWcBABMAAAATZwEAoXYBAD1nAQA+aAEAD2gBAAAAAABPaAEAAAAAABQAAAATZwEAAAAAAAAAAABZaAEAD2gBAKF2AQBPaAEAAAAAABYAAAATZwEAoXYBAAAAAABvaAEAD2gBAKF2AQBPaAEANWcBABcAAAATZwEAoXYBAD1nAQCMaAEAD2gBAAAAAABPaAEANWcBABUAAAATZwEAAAAAAD1nAQClaAEAD2gBAAAAAAAAAAAANWcBABEAAAATZwEAAAAAAD1nAQC3aAEAzWgBAKF2AQAAAAAAAAAAABoAAACLZwEAoXYBAAAAAADiaAEAzWgBAKF2AQAAAAAAPWcBABsAAACLZwEAoXYBAD1nAQD+aAEAzWgBAAAAAAAAAAAAPWcBABkAAACLZwEAAAAAAD1nAQAWaQEAzWgBAC1pAQAAAAAAAAAAABgAAACLZwEAAAAAAAAAAAAzaQEAQWkBAKF2AQAAAAAAAAAAAB4AAACLZwEAoXYBAAAAAABTaQEAQWkBAKF2AQAAAAAAPWcBAB8AAACLZwEAoXYBAD1nAQBnaQEAQWkBAAAAAAAAAAAAPWcBAB0AAACLZwEAAAAAAD1nAQB3aQEAQWkBAC1pAQAAAAAAAAAAABwAAACLZwEAAAAAAAAAAACGaQEAhmkBAAAAAAAAAAAAAAAAACAAAACNaQEAAAAAAAAAAACVaQEAoGkBAKF2AQAAAAAAAAAAAAIAAACLZwEAoXYBAAAAAACmaQEAoGkBAKF2AQAAAAAAPWcBAAMAAACLZwEAoXYBAD1nAQC3aQEAoGkBAAAAAAAAAAAAPWcBAAEAAACLZwEAAAAAAD1nAQBjawEAoGkBAAAAAAAAAAAAAAAAAAAAAACLZwEAAAAAAAAAAADEaQEA3mkBAO1pAQAAAAAAPWcBACEAAACLZwEAAAAAAD1nAQD0aQEAAWoBAAAAAAAAAAAAAAAAACIAAACNaQEAAAAAAAAAAAAIAAAA/////wAAAAAAAAAAKQAAAAAAAAAAAAAAAAAAAAAAAAC/awEAxgAAAMVrAQDBAAAAzGsBAMIAAADSawEAwAAAANlrAQCRAwAA32sBAMUAAADlawEAwwAAAOxrAQDEAAAA8WsBAJIDAAD2awEAxwAAAP1rAQCnAwAAAWwBACEgAAAIbAEAlAMAAA5sAQDQAAAAEmwBAMkAAAAZbAEAygAAAB9sAQDIAAAAJmwBAJUDAAAubAEAlwMAADJsAQDLAAAAN2wBAJMDAAA9bAEAzQAAAERsAQDOAAAASmwBAMwAAABRbAEAmQMAAFZsAQDPAAAAW2wBAJoDAABhbAEAmwMAAGhsAQCcAwAAa2wBANEAAABybAEAnQMAAHVsAQBSAQAAe2wBANMAAACCbAEA1AAAAIhsAQDSAAAAj2wBAKkDAACVbAEAnwMAAJ1sAQDYAAAApGwBANUAAACrbAEA1gAAALBsAQCmAwAAtGwBAKADAAC3bAEAMyAAAL1sAQCoAwAAwWwBAKEDAADFbAEAYAEAAMxsAQCjAwAA0mwBAN4AAADYbAEApAMAANxsAQCYAwAA4mwBANoAAADpbAEA2wAAAO9sAQDZAAAA9mwBAKUDAAD+bAEA3AAAAANtAQCeAwAABm0BAN0AAAANbQEAeAEAABJtAQCWAwAAF20BAOEAAAAebQEA4gAAACRtAQC0AAAAKm0BAOYAAAAwbQEA4AAAADdtAQA1IQAAP20BALEDAABFbQEAJgAAAEltAQAnIgAATW0BACAiAABRbQEA5QAAAFdtAQBIIgAAXW0BAOMAAABkbQEA5AAAAGltAQAeIAAAb20BALIDAAB0bQEApgAAAHttAQAiIAAAgG0BACkiAACEbQEA5wAAAIttAQC4AAAAkW0BAKIAAACWbQEAxwMAAJptAQDGAgAAn20BAGMmAAClbQEARSIAAKptAQCpAAAAr20BALUhAAC1bQEAKiIAALltAQCkAAAAwG0BANMhAADFbQEAICAAAMxtAQCTIQAA0W0BALAAAADVbQEAtAMAANttAQBmJgAA4W0BAPcAAADobQEA6QAAAO9tAQDqAAAA9W0BAOgAAAD8bQEABSIAAAJuAQADIAAAB24BAAIgAAAMbgEAtQMAABRuAQBhIgAAGm4BALcDAAAebgEA8AAAACJuAQDrAAAAJ24BAKwgAAAsbgEAAyIAADJuAQCSAQAAN24BAAAiAAA+bgEAvQAAAEVuAQC8AAAATG4BAL4AAABTbgEARCAAAFluAQCzAwAAX24BAGUiAABibgEAPgAAAGVuAQDUIQAAam4BAJQhAABvbgEAZSYAAHZuAQAmIAAAfW4BAO0AAACEbgEA7gAAAIpuAQChAAAAkG4BAOwAAACXbgEAESEAAJ1uAQAeIgAAo24BACsiAACnbgEAuQMAAKxuAQC/AAAAs24BAAgiAAC4bgEA7wAAAL1uAQC6AwAAw24BANAhAADIbgEAuwMAAM9uAQApIwAA1G4BAKsAAADabgEAkCEAAN9uAQAIIwAA5W4BABwgAADrbgEAZCIAAO5uAQAKIwAA9W4BABciAAD8bgEAyiUAAABvAQAOIAAABG8BADkgAAALbwEAGCAAABFvAQA8AAAAFG8BAK8AAAAZbwEAFCAAAB9vAQC1AAAAJW8BALcAAADRdwEAEiIAACxvAQC8AwAAL28BAAciAAA1bwEAoAAAADpvAQATIAAAQG8BAGAiAABDbwEACyIAAEZvAQCsAAAASm8BAAkiAABQbwEAhCIAAFVvAQDxAAAAXG8BAL0DAABfbwEA8wAAAGZvAQD0AAAAbG8BAFMBAABybwEA8gAAAHlvAQA+IAAAf28BAMkDAACFbwEAvwMAAI1vAQCVIgAAk28BACgiAACWbwEAqgAAAJtvAQC6AAAAoG8BAPgAAACnbwEA9QAAAK5vAQCXIgAAtW8BAPYAAAC6bwEAtgAAAL9vAQACIgAAxG8BADAgAADLbwEApSIAANBvAQDGAwAA1G8BAMADAADXbwEA1gMAANtvAQCxAAAA4m8BAKMAAADobwEAMiAAAO5vAQAPIgAA828BAB0iAAD4bwEAyAMAAPxvAQAiAAAAAXABANIhAAAGcAEAGiIAAAxwAQAqIwAAEXABALsAAAAXcAEAkiEAABxwAQAJIwAAInABAB0gAAAocAEAHCEAAC1wAQCuAAAAMXABAAsjAAA4cAEAwQMAADxwAQAPIAAAQHABADogAABHcAEAGSAAAE1wAQAaIAAAU3ABAGEBAABacAEAxSIAAF9wAQCnAAAAZHABAK0AAABocAEAwwMAAG5wAQDCAwAAdXABADwiAAB5cAEAYCYAAIBwAQCCIgAAhHABAIYiAACJcAEAESIAAI1wAQCDIgAAkXABALkAAACWcAEAsgAAAJtwAQCzAAAAoHABAIciAAClcAEA3wAAAKtwAQDEAwAAr3ABADQiAAC2cAEAuAMAALxwAQDRAwAAxXABAAkgAADMcAEA/gAAANJwAQDcAgAA2HABANcAAADecAEAIiEAAORwAQDRIQAA6XABAPoAAADwcAEAkSEAAPVwAQD7AAAA+3ABAPkAAAACcQEAqAAAAAZxAQDSAwAADHEBAMUDAAAUcQEA/AAAABlxAQAYIQAAIHEBAL4DAAAjcQEA/QAAACpxAQClAAAALnEBAP8AAAAzcQEAtgMAADhxAQANIAAAPHEBAAwgAAAFAAAABgAAAAEBAAAIAAAACAAAAAAAAAAAAAAAKgAAAA0AAAAAAAAAAAAAAAAAAAAIAAAAEAAAAAAAAAAAAAAAKwAAAA4AAAAAAAAAAAAAAAAAAACRdwEABwAAAJN3AQAIAAAAmHcBAAgAAACgdwEACQAAAKZ3AQAJAAAAr3cBAAoAAACydwEACgAAALh3AQALAAAAvXcBAAsAAADFdwEADAAAAMp3AQAMAAAA0XcBAA0AAADXdwEADQAAAON3AQAOAAAAUgAAACwAAAAtAAAAFAAAAC4AAABTAAAALwAAABUAAAAwAAAACAAAAAQAAAD/////AAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAO3kBAFVdyX/Jf/8ARnkBALst1L6u1P8AUXkBABR3/f3Ahv8AXHkBAFVdyX/Jf/8AZ3kBALst1L6u1P8AcnkBABR3/f3Ahv8AfXkBACpm////mf8AiHkBAFVdyX/Jf/8Ak3kBALst1L6u1P8AnnkBABR3/f3Ahv8AqXkBACpm////mf8AtHkBAJetsDhssP8Av3kBAFVdyX/Jf/8AynkBALst1L6u1P8A1XkBABR3/f3Ahv8A4HkBACpm////mf8A63kBAJetsDhssP8A9nkBAOj88PACf/8AAXoBAFVdyX/Jf/8ADHoBALst1L6u1P8AF3oBABR3/f3Ahv8AInoBACpm////mf8ALXoBAJetsDhssP8AOHoBAOj88PACf/8AQ3oBABHgv79bF/8ATnoBAFVdyX/Jf/8AWXoBALst1L6u1P8AZHoBABR3/f3Ahv8Ab3oBACpm////mf8AenoBAJetsDhssP8AhXoBAOj88PACf/8AkHoBABHgv79bF/8Am3oBAAAAZmZmZv8ApnoBAJMZ997r9/8AsHoBAI5L4Z7K4f8AunoBAJG8vTGCvf8AxHoBAJ8Q/+/z//8AznoBAI8u573X5/8A2HoBAI9/1muu1v8A4noBAJPQtSFxtf8A7HoBAJ8Q/+/z//8A9noBAI8u573X5/8AAHsBAI9/1muu1v8ACnsBAJG8vTGCvf8AFHsBAJXxnAhRnP8AHnsBAJ8Q/+/z//8AKHsBAJQr78bb7/8AMnsBAI5L4Z7K4f8APHsBAI9/1muu1v8ARnsBAJG8vTGCvf8AUHsBAJXxnAhRnP8AWnsBAJ8Q/+/z//8AZHsBAJQr78bb7/8AbnsBAI5L4Z7K4f8AeHsBAI9/1muu1v8AgnsBAJCpxkKSxv8AjHsBAJPQtSFxtf8AlnsBAJfxlAhFlP8AoHsBAJQI//f7//8AqnsBAJMZ997r9/8AtHsBAJQr78bb7/8AvnsBAI5L4Z7K4f8AyHsBAI9/1muu1v8A0nsBAJCpxkKSxv8A3HsBAJPQtSFxtf8A5nsBAJfxlAhFlP8A8HsBAJQI//f7//8A+nsBAJMZ997r9/8ABHwBAJQr78bb7/8ADnwBAI5L4Z7K4f8AGHwBAI9/1muu1v8AInwBAJCpxkKSxv8ALHwBAJPQtSFxtf8ANnwBAJXxnAhRnP8AQHwBAJjrawgwa/8ASnwBABfvVFQwBf8AVHwBAHf/PAA8MP8AX3wBABfsjIxRCv8AaXwBABjCv7+BLf8Ac3wBAB1w39/Cff8AfXwBAB409vbow/8Ah3wBAHkm6sfq5f8AkXwBAHhfzYDNwf8Am3wBAHyllzWXj/8ApXwBAHz8ZgFmXv8Ar3wBABfvVFQwBf8AuXwBAHz8ZgFmXv8AxHwBAHf/PAA8MP8Az3wBABfsjIxRCv8A2XwBABjCv7+BLf8A43wBAB1w39/Cff8A7XwBAB409vbow/8A93wBAAAA9fX19f8AAX0BAHkm6sfq5f8AC30BAHhfzYDNwf8AFX0BAHyllzWXj/8AH30BAByH2NizZf8AKH0BAAAA9fX19f8AMX0BAHt/tFq0rP8AOn0BABXXpqZhGv8AQ30BAB1w39/Cff8ATH0BAHhfzYDNwf8AVX0BAHn9hQGFcf8AXn0BABXXpqZhGv8AZ30BAB1w39/Cff8AcH0BAAAA9fX19f8AeX0BAHhfzYDNwf8Agn0BAHn9hQGFcf8Ai30BABfsjIxRCv8AlH0BAByH2NizZf8AnX0BAB409vbow/8Apn0BAHkm6sfq5f8Ar30BAHt/tFq0rP8AuH0BAHz8ZgFmXv8AwX0BABfsjIxRCv8Ayn0BAByH2NizZf8A030BAB409vbow/8A3H0BAAAA9fX19f8A5X0BAHkm6sfq5f8A7n0BAHt/tFq0rP8A930BAHz8ZgFmXv8AAH4BABfsjIxRCv8ACX4BABjCv7+BLf8AEn4BAB1w39/Cff8AG34BAB409vbow/8AJH4BAHkm6sfq5f8ALX4BAHhfzYDNwf8ANn4BAHyllzWXj/8AP34BAHz8ZgFmXv8ASH4BABfsjIxRCv8AUX4BABjCv7+BLf8AWn4BAB1w39/Cff8AY34BAB409vbow/8AbH4BAAAA9fX19f8AdX4BAHkm6sfq5f8Afn4BAHhfzYDNwf8Ah34BAHyllzWXj/8AkH4BAHz8ZgFmXv8AmX4BAIcU+eX1+f8Aon4BAHVK2JnYyf8Aq34BAGe5oiyiX/8AtH4BAIgO++34+/8AvX4BAH824rLi4v8Axn4BAHF4wmbCpP8Az34BAGK+iyOLRf8A2H4BAIgO++34+/8A4X4BAH824rLi4v8A6n4BAHF4wmbCpP8A834BAGe5oiyiX/8A/H4BAGb/bQBtLP8ABX8BAIgO++34+/8ADn8BAHci7Mzs5v8AF38BAHVK2JnYyf8AIH8BAHF4wmbCpP8AKX8BAGe5oiyiX/8AMn8BAGb/bQBtLP8AO38BAIgO++34+/8ARH8BAHci7Mzs5v8ATX8BAHVK2JnYyf8AVn8BAHF4wmbCpP8AX38BAGmfrkGudv8AaH8BAGK+iyOLRf8AcX8BAGb/WABYJP8Aen8BAIYG/ff8/f8Ag38BAIcU+eX1+f8AjH8BAHci7Mzs5v8AlX8BAHVK2JnYyf8Ann8BAHF4wmbCpP8Ap38BAGmfrkGudv8AsH8BAGK+iyOLRf8AuX8BAGb/WABYJP8Awn8BAIYG/ff8/f8Ay38BAIcU+eX1+f8A1H8BAHci7Mzs5v8A3X8BAHVK2JnYyf8A5n8BAHF4wmbCpP8A738BAGmfrkGudv8A+H8BAGK+iyOLRf8AAYABAGb/bQBtLP8ACoABAGX/RABEG/8AE4ABAJAU9ODs9P8AHIABAJRG2p682v8AJYABAMR7p4hWp/8ALoABAIgO++34+/8AN4ABAJI147PN4/8AQIABAKJKxoyWxv8ASYABAMqVnYhBnf8AUoABAIgO++34+/8AW4ABAJI147PN4/8AZIABAKJKxoyWxv8AbYABAMR7p4hWp/8AdoABANbhgYEPfP8Af4ABAIgO++34+/8AiIABAJQr5r/T5v8AkYABAJRG2p682v8AmoABAKJKxoyWxv8Ao4ABAMR7p4hWp/8ArIABANbhgYEPfP8AtYABAIgO++34+/8AvoABAJQr5r/T5v8Ax4ABAJRG2p682v8A0IABAKJKxoyWxv8A2YABAL5ksYxrsf8A4oABAMqVnYhBnf8A64ABANX8bm4Ba/8A9IABAIYG/ff8/f8A/YABAJAU9ODs9P8ABoEBAJQr5r/T5v8AD4EBAJRG2p682v8AGIEBAKJKxoyWxv8AIYEBAL5ksYxrsf8AKoEBAMqVnYhBnf8AM4EBANX8bm4Ba/8APIEBAIYG/ff8/f8ARYEBAJAU9ODs9P8AToEBAJQr5r/T5v8AV4EBAJRG2p682v8AYIEBAKJKxoyWxv8AaYEBAL5ksYxrsf8AcoEBAMqVnYhBnf8Ae4EBANbhgYEPfP8AhIEBANX/TU0AS/8AjYEBAHLTnhued/8Al4EBABL82dlfAv8AoYEBAK1fs3Vws/8Aq4EBAHLTnhued/8AtYEBABL82dlfAv8Av4EBAK1fs3Vws/8AyYEBAOnR5+cpiv8A04EBAHLTnhued/8A3YEBABL82dlfAv8A54EBAK1fs3Vws/8A8YEBAOnR5+cpiv8A+4EBAD7QpmamHv8ABYIBAHLTnhued/8AD4IBABL82dlfAv8AGYIBAK1fs3Vws/8AI4IBAOnR5+cpiv8ALYIBAD7QpmamHv8AN4IBAB/85uarAv8AQYIBAHLTnhued/8AS4IBABL82dlfAv8AVYIBAK1fs3Vws/8AX4IBAOnR5+cpiv8AaYIBAD7QpmamHv8Ac4IBAB/85uarAv8AfYIBABvSpqZ2Hf8Ah4IBAHLTnhued/8AkYIBABL82dlfAv8Am4IBAK1fs3Vws/8ApYIBAOnR5+cpiv8Ar4IBAD7QpmamHv8AuYIBAB/85uarAv8Aw4IBABvSpqZ2Hf8AzYIBAAAAZmZmZv8A14IBAEwZ8+Dz2/8A4IIBAF893ajdtf8A6YIBAIyqykOiyv8A8oIBAEER+fD56P8A+4IBAFcu5LrkvP8ABIMBAHtlzHvMxP8ADYMBAI3FviuMvv8AFoMBAEER+fD56P8AH4MBAFcu5LrkvP8AKIMBAHtlzHvMxP8AMYMBAIyqykOiyv8AOoMBAJHzrAhorP8AQ4MBAEER+fD56P8ATIMBAE0p68zrxf8AVYMBAF893ajdtf8AXoMBAHtlzHvMxP8AZ4MBAIyqykOiyv8AcIMBAJHzrAhorP8AeYMBAEER+fD56P8AgoMBAE0p68zrxf8Ai4MBAF893ajdtf8AlIMBAHtlzHvMxP8AnYMBAImg006z0/8ApoMBAI3FviuMvv8Ar4MBAJPynghYnv8AuIMBADwM/Pf88P8AwYMBAEwZ8+Dz2/8AyoMBAE0p68zrxf8A04MBAF893ajdtf8A3IMBAHtlzHvMxP8A5YMBAImg006z0/8A7oMBAI3FviuMvv8A94MBAJPynghYnv8AAIQBADwM/Pf88P8ACYQBAEwZ8+Dz2/8AEoQBAE0p68zrxf8AG4QBAF893ajdtf8AJIQBAHtlzHvMxP8ALYQBAImg006z0/8ANoQBAI3FviuMvv8AP4QBAJHzrAhorP8ASIQBAJbvgQhAgf8AUYQBAEoV9eX14P8AXIQBAFBI2aHZm/8AZ4QBAGKyozGjVP8AcoQBAEkP+O346f8AfYQBAE425Lrks/8AiIQBAFZoxHTEdv8Ak4QBAGK+iyOLRf8AnoQBAEkP+O346f8AqYQBAE425Lrks/8AtIQBAFZoxHTEdv8Av4QBAGKyozGjVP8AyoQBAGb/bQBtLP8A1YQBAEkP+O346f8A4IQBAE0s6cfpwP8A64QBAFBI2aHZm/8A9oQBAFZoxHTEdv8AAYUBAGKyozGjVP8ADIUBAGb/bQBtLP8AF4UBAEkP+O346f8AIoUBAE0s6cfpwP8ALYUBAFBI2aHZm/8AOIUBAFZoxHTEdv8AQ4UBAGCeq0GrXf8AToUBAGK+iyOLRf8AWYUBAGz/WgBaMv8AZIUBAEgH/Pf89f8Ab4UBAEoV9eX14P8AeoUBAE0s6cfpwP8AhYUBAFBI2aHZm/8AkIUBAFZoxHTEdv8Am4UBAGCeq0GrXf8ApoUBAGK+iyOLRf8AsYUBAGz/WgBaMv8AvIUBAEgH/Pf89f8Ax4UBAEoV9eX14P8A0oUBAE0s6cfpwP8A3YUBAFBI2aHZm/8A6IUBAFZoxHTEdv8A84UBAGCeq0GrXf8A/oUBAGK+iyOLRf8ACYYBAGb/bQBtLP8AFIYBAGX/RABEG/8AH4YBAAAA8PDw8P8AKYYBAAAAvb29vf8AM4YBAAAAY2NjY/8APYYBAAAA9/f39/8AR4YBAAAAzMzMzP8AUYYBAAAAlpaWlv8AW4YBAAAAUlJSUv8AZYYBAAAA9/f39/8Ab4YBAAAAzMzMzP8AeYYBAAAAlpaWlv8Ag4YBAAAAY2NjY/8AjYYBAAAAJSUlJf8Al4YBAAAA9/f39/8AoYYBAAAA2dnZ2f8Aq4YBAAAAvb29vf8AtYYBAAAAlpaWlv8Av4YBAAAAY2NjY/8AyYYBAAAAJSUlJf8A04YBAAAA9/f39/8A3YYBAAAA2dnZ2f8A54YBAAAAvb29vf8A8YYBAAAAlpaWlv8A+4YBAAAAc3Nzc/8ABYcBAAAAUlJSUv8AD4cBAAAAJSUlJf8AGYcBAAAA//////8AI4cBAAAA8PDw8P8ALYcBAAAA2dnZ2f8AN4cBAAAAvb29vf8AQYcBAAAAlpaWlv8AS4cBAAAAc3Nzc/8AVYcBAAAAUlJSUv8AX4cBAAAAJSUlJf8AaYcBAAAA//////8Ac4cBAAAA8PDw8P8AfYcBAAAA2dnZ2f8Ah4cBAAAAvb29vf8AkYcBAAAAlpaWlv8Am4cBAAAAc3Nzc/8ApYcBAAAAUlJSUv8Ar4cBAAAAJSUlJf8AuYcBAAAAAAAAAP8Aw4cBABUw/v7mzv8Az4cBABOT/f2ua/8A24cBAA7w5uZVDf8A54cBABMg/v7t3v8A84cBABR4/f2+hf8A/4cBABHC/f2NPP8AC4gBAA392dlHAf8AF4gBABMg/v7t3v8AI4gBABR4/f2+hf8AL4gBABHC/f2NPP8AO4gBAA7w5uZVDf8AR4gBAA36pqY2A/8AU4gBABMg/v7t3v8AX4gBABVb/f3Qov8Aa4gBABOT/f2ua/8Ad4gBABHC/f2NPP8Ag4gBAA7w5uZVDf8Aj4gBAA36pqY2A/8Am4gBABMg/v7t3v8Ap4gBABVb/f3Qov8As4gBABOT/f2ua/8Av4gBABHC/f2NPP8Ay4gBABDq8fFpE/8A14gBAA392dlIAf8A44gBAAz3jIwtBP8A74gBABUU///16/8A+4gBABUw/v7mzv8AB4kBABVb/f3Qov8AE4kBABOT/f2ua/8AH4kBABHC/f2NPP8AK4kBABDq8fFpE/8AN4kBAA392dlIAf8AQ4kBAAz3jIwtBP8AT4kBABUU///16/8AW4kBABUw/v7mzv8AZ4kBABVb/f3Qov8Ac4kBABOT/f2ua/8Af4kBABHC/f2NPP8Ai4kBABDq8fFpE/8Al4kBAA392dlIAf8Ao4kBAA36pqY2A/8Ar4kBAAz2f38nBP8Au4kBABk2/v7oyP8AxIkBABN5/f27hP8AzYkBAAXF4+NKM/8A1okBABol/v7w2f8A34kBABhz/f3Miv8A6IkBAA2k/PyNWf8A8YkBAAPa19cwH/8A+okBABol/v7w2f8AA4oBABhz/f3Miv8ADIoBAA2k/PyNWf8AFYoBAAXF4+NKM/8AHooBAAD/s7MAAP8AJ4oBABol/v7w2f8AMIoBABhf/f3Unv8AOYoBABN5/f27hP8AQooBAA2k/PyNWf8AS4oBAAXF4+NKM/8AVIoBAAD/s7MAAP8AXYoBABol/v7w2f8AZooBABhf/f3Unv8Ab4oBABN5/f27hP8AeIoBAA2k/PyNWf8AgYoBAAey7+9lSP8AiooBAAPa19cwH/8Ak4oBAAD/mZkAAP8AnIoBABgS///37P8ApYoBABk2/v7oyP8ArooBABhf/f3Unv8At4oBABN5/f27hP8AwIoBAA2k/PyNWf8AyYoBAAey7+9lSP8A0ooBAAPa19cwH/8A24oBAAD/mZkAAP8A5IoBABgS///37P8A7YoBABk2/v7oyP8A9ooBABhf/f3Unv8A/4oBABN5/f27hP8ACIsBAA2k/PyNWf8AEYsBAAey7+9lSP8AGosBAAPa19cwH/8AI4sBAAD/s7MAAP8ALIsBAAD/f38AAP8ANYsBAI5E46bO4/8AQYsBAL6Zmmo9mv8ATosBAJDTtB94tP8AWosBAEFh37Lfiv8AZosBAFK4oDOgLP8AcosBAABj+/uamf8AfosBAP7h4+MaHP8AiosBABeP/f2/b/8AlosBABX///9/AP8AoosBAMYq1sqy1v8ArosBAI5E46bO4/8AuosBAL6Zmmo9mv8Ax4sBACpm////mf8A1IsBAJDTtB94tP8A4IsBAEFh37Lfiv8A7IsBAFK4oDOgLP8A+IsBAABj+/uamf8ABIwBAP7h4+MaHP8AEIwBABeP/f2/b/8AHIwBABX///9/AP8AKIwBAMYq1sqy1v8ANIwBAI5E46bO4/8AQIwBAL6Zmmo9mv8ATYwBACpm////mf8AWowBAA/FsbFZKP8AZ4wBAJDTtB94tP8Ac4wBAEFh37Lfiv8Af4wBAFK4oDOgLP8Ai4wBAABj+/uamf8Al4wBAP7h4+MaHP8Ao4wBABeP/f2/b/8Ar4wBABX///9/AP8Au4wBAMYq1sqy1v8Ax4wBAI5E46bO4/8A0owBAJDTtB94tP8A3YwBAEFh37Lfiv8A6IwBAI5E46bO4/8A84wBAJDTtB94tP8A/owBAEFh37Lfiv8ACY0BAFK4oDOgLP8AFI0BAI5E46bO4/8AH40BAJDTtB94tP8AKo0BAEFh37Lfiv8ANY0BAFK4oDOgLP8AQI0BAABj+/uamf8AS40BAI5E46bO4/8AVo0BAJDTtB94tP8AYY0BAEFh37Lfiv8AbI0BAFK4oDOgLP8Ad40BAABj+/uamf8Ago0BAP7h4+MaHP8AjY0BAI5E46bO4/8AmI0BAJDTtB94tP8Ao40BAEFh37Lfiv8Aro0BAFK4oDOgLP8AuY0BAABj+/uamf8AxI0BAP7h4+MaHP8Az40BABeP/f2/b/8A2o0BAI5E46bO4/8A5Y0BAJDTtB94tP8A8I0BAEFh37Lfiv8A+40BAFK4oDOgLP8ABo4BAABj+/uamf8AEY4BAP7h4+MaHP8AHI4BABeP/f2/b/8AJ44BABX///9/AP8AMo4BAI5E46bO4/8APY4BAJDTtB94tP8ASI4BAEFh37Lfiv8AU44BAFK4oDOgLP8AXo4BAABj+/uamf8AaY4BAP7h4+MaHP8AdI4BABeP/f2/b/8Af44BABX///9/AP8Aio4BAMYq1sqy1v8AlY4BAANO+/u0rv8AoY4BAJI147PN4/8ArY4BAE0p68zrxf8AuY4BAANO+/u0rv8AxY4BAJI147PN4/8A0Y4BAE0p68zrxf8A3Y4BAMob5N7L5P8A6Y4BAANO+/u0rv8A9Y4BAJI147PN4/8AAY8BAE0p68zrxf8ADY8BAMob5N7L5P8AGY8BABhY/v7Zpv8AJY8BAANO+/u0rv8AMY8BAJI147PN4/8APY8BAE0p68zrxf8ASY8BAMob5N7L5P8AVY8BABhY/v7Zpv8AYY8BACoy////zP8AbY8BAANO+/u0rv8AeY8BAJI147PN4/8AhY8BAE0p68zrxf8AkY8BAMob5N7L5P8AnY8BABhY/v7Zpv8AqY8BACoy////zP8AtY8BABws5eXYvf8AwY8BAANO+/u0rv8AzY8BAJI147PN4/8A2Y8BAE0p68zrxf8A5Y8BAMob5N7L5P8A8Y8BABhY/v7Zpv8A/Y8BACoy////zP8ACZABABws5eXYvf8AFZABAOkj/f3a7P8AIZABAANO+/u0rv8ALZABAJI147PN4/8AOZABAE0p68zrxf8ARZABAMob5N7L5P8AUZABABhY/v7Zpv8AXZABACoy////zP8AaZABABws5eXYvf8AdZABAOkj/f3a7P8AgZABAAAA8vLy8v8AjZABAGw14rPizf8AmZABABFR/f3NrP8ApZABAJsf6MvV6P8AsZABAGw14rPizf8AvZABABFR/f3NrP8AyZABAJsf6MvV6P8A1ZABAOQr9PTK5P8A4ZABAGw14rPizf8A7ZABABFR/f3NrP8A+ZABAJsf6MvV6P8ABZEBAOQr9PTK5P8AEZEBADgt9eb1yf8AHZEBAGw14rPizf8AKZEBABFR/f3NrP8ANZEBAJsf6MvV6P8AQZEBAOQr9PTK5P8ATZEBADgt9eb1yf8AWZEBACNR///yrv8AZZEBAGw14rPizf8AcZEBABFR/f3NrP8AfZEBAJsf6MvV6P8AiZEBAOQr9PTK5P8AlZEBADgt9eb1yf8AoZEBACNR///yrv8ArZEBABkn8fHizP8AuZEBAGw14rPizf8AxZEBABFR/f3NrP8A0ZEBAJsf6MvV6P8A3ZEBAOQr9PTK5P8A6ZEBADgt9eb1yf8A9ZEBACNR///yrv8AAZIBABkn8fHizP8ADZIBAAAAzMzMzP8AGZIBAOb9jo4BUv8AI5IBAE2/ZCdkGf8ALpIBAObcxcUbff8AOJIBAOh23t53rv8AQpIBAOU+8fG22v8ATJIBAOkd/f3g7/8AVpIBADsm9eb10P8AYJIBAD1n4bjhhv8AapIBAD+mvH+8Qf8AdJIBAETFkk2SIf8AfpIBAOb9jo4BUv8AiJIBAETFkk2SIf8Ak5IBAE2/ZCdkGf8AnpIBAObcxcUbff8AqJIBAOh23t53rv8AspIBAOU+8fG22v8AvJIBAOkd/f3g7/8AxpIBAAAA9/f39/8A0JIBADsm9eb10P8A2pIBAD1n4bjhhv8A5JIBAD+mvH+8Qf8A7pIBAOdM6emjyf8A95IBAAAA9/f39/8AAJMBAD+B16HXav8ACZMBAOTc0NAci/8AEpMBAOU+8fG22v8AG5MBAD1n4bjhhv8AJJMBAEjGrE2sJv8ALZMBAOTc0NAci/8ANpMBAOU+8fG22v8AP5MBAAAA9/f39/8ASJMBAD1n4bjhhv8AUZMBAEjGrE2sJv8AWpMBAObcxcUbff8AY5MBAOdM6emjyf8AbJMBAOkd/f3g7/8AdZMBADsm9eb10P8AfpMBAD+B16HXav8Ah5MBAETFkk2SIf8AkJMBAObcxcUbff8AmZMBAOdM6emjyf8AopMBAOkd/f3g7/8Aq5MBAAAA9/f39/8AtJMBADsm9eb10P8AvZMBAD+B16HXav8AxpMBAETFkk2SIf8Az5MBAObcxcUbff8A2JMBAOh23t53rv8A4ZMBAOU+8fG22v8A6pMBAOkd/f3g7/8A85MBADsm9eb10P8A/JMBAD1n4bjhhv8ABZQBAD+mvH+8Qf8ADpQBAETFkk2SIf8AF5QBAObcxcUbff8AIJQBAOh23t53rv8AKZQBAOU+8fG22v8AMpQBAOkd/f3g7/8AO5QBAAAA9/f39/8ARJQBADsm9eb10P8ATZQBAD1n4bjhhv8AVpQBAD+mvH+8Qf8AX5QBAETFkk2SIf8AaJQBAM7/S0AAS/8AcpQBAGX/RABEG/8AfZQBAM6tg3Yqg/8Ah5QBAMdXq5lwq/8AkZQBAMczz8Klz/8Am5QBANIV6OfU6P8ApZQBAEwe8Nnw0/8Ar5QBAFBE26bboP8AuZQBAFh7rlquYf8Aw5QBAGHFeBt4N/8AzZQBAM7/S0AAS/8A15QBAGHFeBt4N/8A4pQBAGX/RABEG/8A7ZQBAM6tg3Yqg/8A95QBAMdXq5lwq/8AAZUBAMczz8Klz/8AC5UBANIV6OfU6P8AFZUBAAAA9/f39/8AH5UBAEwe8Nnw0/8AKZUBAFBE26bboP8AM5UBAFh7rlquYf8APZUBAMRGw6+Nw/8ARpUBAAAA9/f39/8AT5UBAFJav3+/e/8AWJUBAMmolHsylP8AYZUBAMczz8Klz/8AapUBAFBE26bboP8Ac5UBAGb/iACIN/8AfJUBAMmolHsylP8AhZUBAMczz8Klz/8AjpUBAAAA9/f39/8Al5UBAFBE26bboP8AoJUBAGb/iACIN/8AqZUBAM6tg3Yqg/8AspUBAMRGw6+Nw/8Au5UBANIV6OfU6P8AxJUBAEwe8Nnw0/8AzZUBAFJav3+/e/8A1pUBAGHFeBt4N/8A35UBAM6tg3Yqg/8A6JUBAMRGw6+Nw/8A8ZUBANIV6OfU6P8A+pUBAAAA9/f39/8AA5YBAEwe8Nnw0/8ADJYBAFJav3+/e/8AFZYBAGHFeBt4N/8AHpYBAM6tg3Yqg/8AJ5YBAMdXq5lwq/8AMJYBAMczz8Klz/8AOZYBANIV6OfU6P8AQpYBAEwe8Nnw0/8AS5YBAFBE26bboP8AVJYBAFh7rlquYf8AXZYBAGHFeBt4N/8AZpYBAM6tg3Yqg/8Ab5YBAMdXq5lwq/8AeJYBAMczz8Klz/8AgZYBANIV6OfU6P8AipYBAAAA9/f39/8Ak5YBAEwe8Nnw0/8AnJYBAFBE26bboP8ApZYBAFh7rlquYf8ArpYBAGHFeBt4N/8At5YBAL0L8uzn8v8AwJYBAJc926a92/8AyZYBAI3FviuMvv8A0pYBALkI9vHu9v8A25YBAJso4b3J4f8A5JYBAJFwz3Spz/8A7ZYBAI/3sAVwsP8A9pYBALkI9vHu9v8A/5YBAJso4b3J4f8ACJcBAJFwz3Spz/8AEZcBAI3FviuMvv8AGpcBAI/3jQRajf8AI5cBALkI9vHu9v8ALJcBAKgY5tDR5v8ANZcBAJc926a92/8APpcBAJFwz3Spz/8AR5cBAI3FviuMvv8AUJcBAI/3jQRajf8AWZcBALkI9vHu9v8AYpcBAKgY5tDR5v8Aa5cBAJc926a92/8AdJcBAJFwz3Spz/8AfZcBAI63wDaQwP8AhpcBAI/3sAVwsP8Aj5cBAI/4ewNOe/8AmJcBAOkI///3+/8AoZcBAL0L8uzn8v8AqpcBAKgY5tDR5v8As5cBAJc926a92/8AvJcBAJFwz3Spz/8AxZcBAI63wDaQwP8AzpcBAI/3sAVwsP8A15cBAI/4ewNOe/8A4JcBAOkI///3+/8A6ZcBAL0L8uzn8v8A8pcBAKgY5tDR5v8A+5cBAJc926a92/8ABJgBAJFwz3Spz/8ADZgBAI63wDaQwP8AFpgBAI/3sAVwsP8AH5gBAI/3jQRajf8AKJgBAI/5WAI4WP8AMZgBAMgO8Ozi8P8APJgBAJc926a92/8AR5gBAILQmRyQmf8AUpgBAM8I9/bv9/8AXZgBAJso4b3J4f8AaJgBAI+Az2epz/8Ac5gBAIL7igKBiv8AfpgBAM8I9/bv9/8AiZgBAJso4b3J4f8AlJgBAI+Az2epz/8An5gBAILQmRyQmf8AqpgBAHf8bAFsWf8AtZgBAM8I9/bv9/8AwJgBAKgY5tDR5v8Ay5gBAJc926a92/8A1pgBAI+Az2epz/8A4ZgBAILQmRyQmf8A7JgBAHf8bAFsWf8A95gBAM8I9/bv9/8AApkBAKgY5tDR5v8ADZkBAJc926a92/8AGJkBAI+Az2epz/8AI5kBAI63wDaQwP8ALpkBAIL7igKBiv8AOZkBAHb8ZAFkUP8ARJkBAOkI///3+/8AT5kBAMgO8Ozi8P8AWpkBAKgY5tDR5v8AZZkBAJc926a92/8AcJkBAI+Az2epz/8Ae5kBAI63wDaQwP8AhpkBAIL7igKBiv8AkZkBAHb8ZAFkUP8AnJkBAOkI///3+/8Ap5kBAMgO8Ozi8P8AspkBAKgY5tDR5v8AvZkBAJc926a92/8AyJkBAI+Az2epz/8A05kBAI63wDaQwP8A3pkBAIL7igKBiv8A6ZkBAHf8bAFsWf8A9JkBAHX7RgFGNv8A/5kBABLuf387CP8ACZoBAMP/Sy0AS/8AFJoBABT2s7NYBv8AHpoBABbo4OCCFP8AKJoBABeb/f24Y/8AMpoBABhI/v7gtv8APJoBAKUU69ja6/8ARpoBALEv0rKr0v8AUJoBALNUrIBzrP8AWpoBAL21iFQniP8AZJoBABLuf387CP8AbpoBAL21iFQniP8AeZoBAMP/Sy0AS/8AhJoBABT2s7NYBv8AjpoBABbo4OCCFP8AmJoBABeb/f24Y/8AopoBABhI/v7gtv8ArJoBAAAA9/f39/8AtpoBAKUU69ja6/8AwJoBALEv0rKr0v8AypoBALNUrIBzrP8A1JoBABe78fGjQP8A3ZoBAAAA9/f39/8A5poBALJFw5mOw/8A75oBABH95uZhAf8A+JoBABeb/f24Y/8AAZsBALEv0rKr0v8ACpsBALmbmV48mf8AE5sBABH95uZhAf8AHJsBABeb/f24Y/8AJZsBAAAA9/f39/8ALpsBALEv0rKr0v8AN5sBALmbmV48mf8AQJsBABT2s7NYBv8ASZsBABe78fGjQP8AUpsBABhI/v7gtv8AW5sBAKUU69ja6/8AZJsBALJFw5mOw/8AbZsBAL21iFQniP8AdpsBABT2s7NYBv8Af5sBABe78fGjQP8AiJsBABhI/v7gtv8AkZsBAAAA9/f39/8AmpsBAKUU69ja6/8Ao5sBALJFw5mOw/8ArJsBAL21iFQniP8AtZsBABT2s7NYBv8AvpsBABbo4OCCFP8Ax5sBABeb/f24Y/8A0JsBABhI/v7gtv8A2ZsBAKUU69ja6/8A4psBALEv0rKr0v8A65sBALNUrIBzrP8A9JsBAL21iFQniP8A/ZsBABT2s7NYBv8ABpwBABbo4OCCFP8AD5wBABeb/f24Y/8AGJwBABhI/v7gtv8AIZwBAAAA9/f39/8AKpwBAKUU69ja6/8AM5wBALEv0rKr0v8APJwBALNUrIBzrP8ARZwBAL21iFQniP8ATpwBALwO7+fh7/8AV5wBANZDycmUx/8AYJwBAOre3d0cd/8AaZwBALkI9vHu9v8AcpwBANMp2Ne12P8Ae5wBAOSL399lsP8AhJwBAO/ozs4SVv8AjZwBALkI9vHu9v8AlpwBANMp2Ne12P8An5wBAOSL399lsP8AqJwBAOre3d0cd/8AsZwBAOz/mJgAQ/8AupwBALkI9vHu9v8Aw5wBAMwm2tS52v8AzJwBANZDycmUx/8A1ZwBAOSL399lsP8A3pwBAOre3d0cd/8A55wBAOz/mJgAQ/8A8JwBALkI9vHu9v8A+ZwBAMwm2tS52v8AAp0BANZDycmUx/8AC50BAOSL399lsP8AFJ0BAOnR5+cpiv8AHZ0BAO/ozs4SVv8AJp0BAOz/kZEAP/8AL50BAMMF+ff0+f8AOJ0BALwO7+fh7/8AQZ0BAMwm2tS52v8ASp0BANZDycmUx/8AU50BAOSL399lsP8AXJ0BAOnR5+cpiv8AZZ0BAO/ozs4SVv8Abp0BAOz/kZEAP/8Ad50BAMMF+ff0+f8AgJ0BALwO7+fh7/8AiZ0BAMwm2tS52v8Akp0BANZDycmUx/8Am50BAOSL399lsP8ApJ0BAOnR5+cpiv8ArZ0BAO/ozs4SVv8Atp0BAOz/mJgAQ/8Av50BAPL/Z2cAH/8AyJ0BALQI9e/t9f8A1J0BAKgl3Ly93P8A4J0BALBksXVrsf8A7J0BALYH9/Lw9/8A+J0BAK0c4svJ4v8ABJ4BAK06yJ6ayP8AEJ4BALaAo2pRo/8AHJ4BALYH9/Lw9/8AKJ4BAK0c4svJ4v8ANJ4BAK06yJ6ayP8AQJ4BALBksXVrsf8ATJ4BALy5j1Qnj/8AWJ4BALYH9/Lw9/8AZJ4BAKoS69ra6/8AcJ4BAKgl3Ly93P8AfJ4BAK06yJ6ayP8AiJ4BALBksXVrsf8AlJ4BALy5j1Qnj/8AoJ4BALYH9/Lw9/8ArJ4BAKoS69ra6/8AuJ4BAKgl3Ly93P8AxJ4BAK06yJ6ayP8A0J4BAKxTuoB9uv8A3J4BALaAo2pRo/8A6J4BAL7YhkoUhv8A9J4BAL8C/fz7/f8AAJ8BALQI9e/t9f8ADJ8BAKoS69ra6/8AGJ8BAKgl3Ly93P8AJJ8BAK06yJ6ayP8AMJ8BAKxTuoB9uv8APJ8BALaAo2pRo/8ASJ8BAL7YhkoUhv8AVJ8BAL8C/fz7/f8AYJ8BALQI9e/t9f8AbJ8BAKoS69ra6/8AeJ8BAKgl3Ly93P8AhJ8BAK06yJ6ayP8AkJ8BAKxTuoB9uv8AnJ8BALaAo2pRo/8AqJ8BALy5j1Qnj/8AtJ8BAL//fT8Aff8AwJ8BAPL/Z2cAH/8Ayp8BAJbxYQUwYf8A1Z8BAPncsrIYK/8A358BAAWj1tZgTf8A6Z8BAA139PSlgv8A858BAA82/f3bx/8A/Z8BAI4g8NHl8P8AB6ABAI1X3pLF3v8AEaABAI+nw0OTw/8AG6ABAJTOrCFmrP8AJaABAPL/Z2cAH/8AL6ABAJTOrCFmrP8AOqABAJbxYQUwYf8ARaABAPncsrIYK/8AT6ABAAWj1tZgTf8AWaABAA139PSlgv8AY6ABAA82/f3bx/8AbaABAAAA9/f39/8Ad6ABAI4g8NHl8P8AgaABAI1X3pLF3v8Ai6ABAI+nw0OTw/8AlaABAAyW7++KYv8AnqABAAAA9/f39/8Ap6ABAI+Az2epz/8AsKABAPj/ysoAIP8AuaABAA139PSlgv8AwqABAI1X3pLF3v8Ay6ABAI/3sAVxsP8A1KABAPj/ysoAIP8A3aABAA139PSlgv8A5qABAAAA9/f39/8A76ABAI1X3pLF3v8A+KABAI/3sAVxsP8AAaEBAPncsrIYK/8ACqEBAAyW7++KYv8AE6EBAA82/f3bx/8AHKEBAI4g8NHl8P8AJaEBAI+Az2epz/8ALqEBAJTOrCFmrP8AN6EBAPncsrIYK/8AQKEBAAyW7++KYv8ASaEBAA82/f3bx/8AUqEBAAAA9/f39/8AW6EBAI4g8NHl8P8AZKEBAI+Az2epz/8AbaEBAJTOrCFmrP8AdqEBAPncsrIYK/8Af6EBAAWj1tZgTf8AiKEBAA139PSlgv8AkaEBAA82/f3bx/8AmqEBAI4g8NHl8P8Ao6EBAI1X3pLF3v8ArKEBAI+nw0OTw/8AtaEBAJTOrCFmrP8AvqEBAPncsrIYK/8Ax6EBAAWj1tZgTf8A0KEBAA139PSlgv8A2aEBAA82/f3bx/8A4qEBAAAA9/f39/8A66EBAI4g8NHl8P8A9KEBAI1X3pLF3v8A/aEBAI+nw0OTw/8ABqIBAJTOrCFmrP8AD6IBAPL/Z2cAH/8AGaIBAAAAGhoaGv8AJKIBAPncsrIYK/8ALqIBAAWj1tZgTf8AOKIBAA139PSlgv8AQqIBAA82/f3bx/8ATKIBAAAA4ODg4P8AVqIBAAAAurq6uv8AYKIBAAAAh4eHh/8AaqIBAAAATU1NTf8AdKIBAPL/Z2cAH/8AfqIBAAAATU1NTf8AiaIBAAAAGhoaGv8AlKIBAPncsrIYK/8AnqIBAAWj1tZgTf8AqKIBAA139PSlgv8AsqIBAA82/f3bx/8AvKIBAAAA//////8AxqIBAAAA4ODg4P8A0KIBAAAAurq6uv8A2qIBAAAAh4eHh/8A5KIBAAyW7++KYv8A7aIBAAAA//////8A9qIBAAAAmZmZmf8A/6IBAPj/ysoAIP8ACKMBAA139PSlgv8AEaMBAAAAurq6uv8AGqMBAAAAQEBAQP8AI6MBAPj/ysoAIP8ALKMBAA139PSlgv8ANaMBAAAA//////8APqMBAAAAurq6uv8AR6MBAAAAQEBAQP8AUKMBAPncsrIYK/8AWaMBAAyW7++KYv8AYqMBAA82/f3bx/8Aa6MBAAAA4ODg4P8AdKMBAAAAmZmZmf8AfaMBAAAATU1NTf8AhqMBAPncsrIYK/8Aj6MBAAyW7++KYv8AmKMBAA82/f3bx/8AoaMBAAAA//////8AqqMBAAAA4ODg4P8As6MBAAAAmZmZmf8AvKMBAAAATU1NTf8AxaMBAPncsrIYK/8AzqMBAAWj1tZgTf8A16MBAA139PSlgv8A4KMBAA82/f3bx/8A6aMBAAAA4ODg4P8A8qMBAAAAurq6uv8A+6MBAAAAh4eHh/8ABKQBAAAATU1NTf8ADaQBAPncsrIYK/8AFqQBAAWj1tZgTf8AH6QBAA139PSlgv8AKKQBAA82/f3bx/8AMaQBAAAA//////8AOqQBAAAA4ODg4P8AQ6QBAAAAurq6uv8ATKQBAAAAh4eHh/8AVaQBAAAATU1NTf8AXqQBAAMg/f3g3f8AZ6QBAPRc+vqftf8AcKQBAOPcxcUbiv8AeaQBAA0c/v7r4v8AgqQBAPxI+/u0uf8Ai6QBAO6T9/doof8AlKQBAOD9rq4Bfv8AnaQBAA0c/v7r4v8ApqQBAPxI+/u0uf8Ar6QBAO6T9/doof8AuKQBAOPcxcUbiv8AwaQBANX8enoBd/8AyqQBAA0c/v7r4v8A06QBAAM8/PzFwP8A3KQBAPRc+vqftf8A5aQBAO6T9/doof8A7qQBAOPcxcUbiv8A96QBANX8enoBd/8AAKUBAA0c/v7r4v8ACaUBAAM8/PzFwP8AEqUBAPRc+vqftf8AG6UBAO6T9/doof8AJKUBAObD3d00l/8ALaUBAOD9rq4Bfv8ANqUBANX8enoBd/8AP6UBAA4M///38/8ASKUBAAMg/f3g3f8AUaUBAAM8/PzFwP8AWqUBAPRc+vqftf8AY6UBAO6T9/doof8AbKUBAObD3d00l/8AdaUBAOD9rq4Bfv8AfqUBANX8enoBd/8Ah6UBAA4M///38/8AkKUBAAMg/f3g3f8AmaUBAAM8/PzFwP8AoqUBAPRc+vqftf8Aq6UBAO6T9/doof8AtKUBAObD3d00l/8AvaUBAOD9rq4Bfv8AxqUBANX8enoBd/8Az6UBAMf/akkAav8A2KUBAPX/paUAJv8A5KUBAKerlTE2lf8A8aUBAALQ19cwJ/8A/aUBAAq49PRtQ/8ACaYBABSd/f2uYf8AFaYBAB5u/v7gkP8AIaYBAIgY+ODz+P8ALaYBAIpD6avZ6f8AOaYBAI9x0XSt0f8ARaYBAJedtEV1tP8AUaYBAPX/paUAJv8AXaYBAJedtEV1tP8AaqYBAKerlTE2lf8Ad6YBAALQ19cwJ/8Ag6YBAAq49PRtQ/8Aj6YBABSd/f2uYf8Am6YBAB5u/v7gkP8Ap6YBACpA////v/8As6YBAIgY+ODz+P8Av6YBAIpD6avZ6f8Ay6YBAI9x0XSt0f8A16YBAA2k/PyNWf8A4qYBACpA////v/8A7aYBAI9W25G/2/8A+KYBAP7h19cZHP8AA6cBABSd/f2uYf8ADqcBAIpD6avZ6f8AGacBAJHBtix7tv8AJKcBAP7h19cZHP8AL6cBABSd/f2uYf8AOqcBACpA////v/8ARacBAIpD6avZ6f8AUKcBAJHBtix7tv8AW6cBAALQ19cwJ/8AZqcBAA2k/PyNWf8AcacBAB5u/v7gkP8AfKcBAIgY+ODz+P8Ah6cBAI9W25G/2/8AkqcBAJedtEV1tP8AnacBAALQ19cwJ/8AqKcBAA2k/PyNWf8As6cBAB5u/v7gkP8AvqcBACpA////v/8AyacBAIgY+ODz+P8A1KcBAI9W25G/2/8A36cBAJedtEV1tP8A6qcBAALQ19cwJ/8A9acBAAq49PRtQ/8AAKgBABSd/f2uYf8AC6gBAB5u/v7gkP8AFqgBAIgY+ODz+P8AIagBAIpD6avZ6f8ALKgBAI9x0XSt0f8AN6gBAJedtEV1tP8AQqgBAALQ19cwJ/8ATagBAAq49PRtQ/8AWKgBABSd/f2uYf8AY6gBAB5u/v7gkP8AbqgBACpA////v/8AeagBAIgY+ODz+P8AhKgBAIpD6avZ6f8Aj6gBAI9x0XSt0f8AmqgBAJedtEV1tP8ApagBAPX/paUAJv8AsagBAGv/aABoN/8AvqgBAALQ19cwJ/8AyqgBAAq49PRtQ/8A1qgBABSd/f2uYf8A4qgBAB9z/v7gi/8A7qgBADNq79nvi/8A+qgBAD6C2abZav8ABqkBAFN5vWa9Y/8AEqkBAGfTmBqYUP8AHqkBAPX/paUAJv8AKqkBAGfTmBqYUP8AN6kBAGv/aABoN/8ARKkBAALQ19cwJ/8AUKkBAAq49PRtQ/8AXKkBABSd/f2uYf8AaKkBAB9z/v7gi/8AdKkBACpA////v/8AgKkBADNq79nvi/8AjKkBAD6C2abZav8AmKkBAFN5vWa9Y/8ApKkBAA2k/PyNWf8Ar6kBACpA////v/8AuqkBAEKIz5HPYP8AxakBAP7h19cZHP8A0KkBABSd/f2uYf8A26kBAD6C2abZav8A5qkBAGLSlhqWQf8A8akBAP7h19cZHP8A/KkBABSd/f2uYf8AB6oBACpA////v/8AEqoBAD6C2abZav8AHaoBAGLSlhqWQf8AKKoBAALQ19cwJ/8AM6oBAA2k/PyNWf8APqoBAB9z/v7gi/8ASaoBADNq79nvi/8AVKoBAEKIz5HPYP8AX6oBAGfTmBqYUP8AaqoBAALQ19cwJ/8AdaoBAA2k/PyNWf8AgKoBAB9z/v7gi/8Ai6oBACpA////v/8AlqoBADNq79nvi/8AoaoBAEKIz5HPYP8ArKoBAGfTmBqYUP8At6oBAALQ19cwJ/8AwqoBAAq49PRtQ/8AzaoBABSd/f2uYf8A2KoBAB9z/v7gi/8A46oBADNq79nvi/8A7qoBAD6C2abZav8A+aoBAFN5vWa9Y/8ABKsBAGfTmBqYUP8AD6sBAALQ19cwJ/8AGqsBAAq49PRtQ/8AJasBABSd/f2uYf8AMKsBAB9z/v7gi/8AO6sBACpA////v/8ARqsBADNq79nvi/8AUasBAD6C2abZav8AXKsBAFN5vWa9Y/8AZ6sBAGfTmBqYUP8AcqsBAA0s/v7g0v8Ae6sBAAmL/PyScv8AhKsBAAHT3t4tJv8AjasBAA0l/v7l2f8AlqsBAAts/Pyukf8An6sBAAez+/tqSv8AqKsBAP3gy8sYHf8AsasBAA0l/v7l2f8AuqsBAAts/Pyukf8Aw6sBAAez+/tqSv8AzKsBAAHT3t4tJv8A1asBAP3npaUPFf8A3qsBAA0l/v7l2f8A56sBAAxc/Py7of8A8KsBAAmL/PyScv8A+asBAAez+/tqSv8AAqwBAAHT3t4tJv8AC6wBAP3npaUPFf8AFKwBAA0l/v7l2f8AHawBAAxc/Py7of8AJqwBAAmL/PyScv8AL6wBAAez+/tqSv8AOKwBAAPQ7+87LP8AQawBAP3gy8sYHf8ASqwBAPv/mZkADf8AU6wBAA4P///18P8AXKwBAA0s/v7g0v8AZawBAAxc/Py7of8AbqwBAAmL/PyScv8Ad6wBAAez+/tqSv8AgKwBAAPQ7+87LP8AiawBAP3gy8sYHf8AkqwBAPv/mZkADf8Am6wBAA4P///18P8ApKwBAA0s/v7g0v8ArawBAAxc/Py7of8AtqwBAAmL/PyScv8Av6wBAAez+/tqSv8AyKwBAAPQ7+87LP8A0awBAP3gy8sYHf8A2qwBAP3npaUPFf8A46wBAPn/Z2cADf8A7KwBAP7h5OQaHP8A9awBAJKyuDd+uP8A/qwBAFOTr02vSv8AB60BAP7h5OQaHP8AEK0BAJKyuDd+uP8AGa0BAFOTr02vSv8AIq0BAM+Eo5hOo/8AK60BAP7h5OQaHP8ANK0BAJKyuDd+uP8APa0BAFOTr02vSv8ARq0BAM+Eo5hOo/8AT60BABX///9/AP8AWK0BAP7h5OQaHP8AYa0BAJKyuDd+uP8Aaq0BAFOTr02vSv8Ac60BAM+Eo5hOo/8AfK0BABX///9/AP8Aha0BACrM////M/8Ajq0BAP7h5OQaHP8Al60BAJKyuDd+uP8AoK0BAFOTr02vSv8Aqa0BAM+Eo5hOo/8Asq0BABX///9/AP8Au60BACrM////M/8AxK0BAA/BpqZWKP8Aza0BAP7h5OQaHP8A1q0BAJKyuDd+uP8A360BAFOTr02vSv8A6K0BAM+Eo5hOo/8A8a0BABX///9/AP8A+q0BACrM////M/8AA64BAA/BpqZWKP8ADK4BAOh59/eBv/8AFa4BAP7h5OQaHP8AHq4BAJKyuDd+uP8AJ64BAFOTr02vSv8AMK4BAM+Eo5hOo/8AOa4BABX///9/AP8AQq4BACrM////M/8AS64BAA/BpqZWKP8AVK4BAOh59/eBv/8AXa4BAAAAmZmZmf8AZq4BAHJ4wmbCpf8Ab64BAAub/PyNYv8AeK4BAJxNy42gy/8Aga4BAHJ4wmbCpf8Aiq4BAAub/PyNYv8Ak64BAJxNy42gy/8AnK4BAORm5+eKw/8Apa4BAHJ4wmbCpf8Arq4BAAub/PyNYv8At64BAJxNy42gy/8AwK4BAORm5+eKw/8Aya4BADqb2KbYVP8A0q4BAHJ4wmbCpf8A264BAAub/PyNYv8A5K4BAJxNy42gy/8A7a4BAORm5+eKw/8A9q4BADqb2KbYVP8A/64BACLQ///ZL/8ACK8BAHJ4wmbCpf8AEa8BAAub/PyNYv8AGq8BAJxNy42gy/8AI68BAORm5+eKw/8ALK8BADqb2KbYVP8ANa8BACLQ///ZL/8APq8BABla5eXElP8AR68BAHJ4wmbCpf8AUK8BAAub/PyNYv8AWa8BAJxNy42gy/8AYq8BAORm5+eKw/8Aa68BADqb2KbYVP8AdK8BACLQ///ZL/8Afa8BABla5eXElP8Ahq8BAAAAs7Ozs/8Aj68BAHhU043Tx/8Ama8BANNSvbyAvf8ApK8BACpM////s/8Arq8BAK8l2r662v8AuK8BAASL+/uAcv8Awq8BAJBk04Cx0/8AzK8BABac/f20Yv8A1q8BADqG3rPeaf8A4K8BAOkv/PzN5f8A6q8BAAAA2dnZ2f8A9K8BAHhU043Tx/8A/q8BANNSvbyAvf8ACbABAE0p68zrxf8AFLABACpM////s/8AHrABAK8l2r662v8AKLABAASL+/uAcv8AMrABAJBk04Cx0/8APLABABac/f20Yv8ARrABADqG3rPeaf8AULABAOkv/PzN5f8AWrABAAAA2dnZ2f8AZLABAHhU043Tx/8AbrABANNSvbyAvf8AebABAE0p68zrxf8AhLABACWQ///tb/8Aj7ABACpM////s/8AmbABAK8l2r662v8Ao7ABAASL+/uAcv8ArbABAJBk04Cx0/8At7ABABac/f20Yv8AwbABADqG3rPeaf8Ay7ABAOkv/PzN5f8A1bABAAAA2dnZ2f8A37ABAHhU043Tx/8A6LABACpM////s/8A8bABAK8l2r662v8A+rABAHhU043Tx/8AA7EBACpM////s/8ADLEBAK8l2r662v8AFbEBAASL+/uAcv8AHrEBAHhU043Tx/8AJ7EBACpM////s/8AMLEBAK8l2r662v8AObEBAASL+/uAcv8AQrEBAJBk04Cx0/8AS7EBAHhU043Tx/8AVLEBACpM////s/8AXbEBAK8l2r662v8AZrEBAASL+/uAcv8Ab7EBAJBk04Cx0/8AeLEBABac/f20Yv8AgbEBAHhU043Tx/8AirEBACpM////s/8Ak7EBAK8l2r662v8AnLEBAASL+/uAcv8ApbEBAJBk04Cx0/8ArrEBABac/f20Yv8At7EBADqG3rPeaf8AwLEBAHhU043Tx/8AybEBACpM////s/8A0rEBAK8l2r662v8A27EBAASL+/uAcv8A5LEBAJBk04Cx0/8A7bEBABac/f20Yv8A9rEBADqG3rPeaf8A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JboBAI91+ofO+v8AN7oBAJQ4mXeImf8AS7oBAJQ4mXeImf8AX7oBAJc03rDE3v8Ac7oBACof////4P8AhLoBAFX//wD/AP8AjroBAFXAzTLNMv8AnboBABUU+vrw5v8AqLoBANT///8A//8AtboBAAD/gIAAAP8AwboBAHGAzWbNqv8A17oBAKr/zQAAzf8A57oBAMyY07pV0/8A+boBALd825Nw2/8AC7sBAGepszyzcf8AH7sBALCP7nto7v8ANLsBAG//+gD6mv8AS7sBAH2n0UjRzP8AYLsBAOTkx8cVhf8AdbsBAKrGcBkZcP8Ah7sBAGoJ//X/+v8AlrsBAAQe///k4f8ApbsBABpJ///ktf8As7sBABlR///erf8AxLsBAKr/gAAAgP8AzrsBABsX/f315v8A27sBACr/gICAAP8A5rsBADjAjmuOI/8A9bsBABv///+lAP8AAbwBAAv///9FAP8AELwBANZ72tpw1v8AHLwBACZI7u7oqv8AL7wBAFVk+5j7mP8APrwBAH9D7q/u7v8AUbwBAPF829twk/8AZLwBABop///v1f8AdLwBABRG///auf8Ag7wBABSwzc2FP/8AjbwBAPc////Ay/8Al7wBANRG3d2g3f8AobwBAIQ75rDg5v8AsbwBANT/gIAAgP8AvbwBAAD///8AAP8AxrwBAAA9vLyPj/8A1bwBAJ+14UFp4f8A5LwBABHci4tFE/8A9bwBAASK+vqAcv8AAb0BABOa9PSkYP8AEb0BAGeqiy6LV/8AH70BABEQ///17v8ALb0BAA23oKBSLf8AOb0BAAAAwMDAwP8ARb0BAIts64fO6/8AUr0BAK+PzWpazf8AYb0BAJQ4kHCAkP8AcL0BAJQ4kHCAkP8Af70BAAAF///6+v8Aib0BAGr//wD/f/8Amr0BAJKbtEaCtP8Aqb0BABhU0tK0jP8Asr0BAH//gACAgP8AvL0BANQd2Ni/2P8Ayb0BAAa4//9jR/8A1b0BAHu24EDg0P8A5L0BANRz7u6C7v8A8L0BABtE9fXes/8A+70BAAAA//////8ABr4BAAAA9fX19f8AFr4BACr/////AP8AIr4BADjAzZrNMv8AM74BAC1D/Pf8uf8APL4BAERb3a3djv8ARb4BAGKyozGjVP8ATr4BACoy////zP8AV74BAD5V5sLmmf8AYL4BAFVkxnjGef8Aab4BAGO7hCOEQ/8Acr4BACoy////zP8Ae74BAD5V5sLmmf8AhL4BAFVkxnjGef8Ajb4BAGKyozGjVP8Alr4BAGv/aABoN/8An74BACoy////zP8AqL4BADdR8Nnwo/8Asb4BAERb3a3djv8Aur4BAFVkxnjGef8Aw74BAGKyozGjVP8AzL4BAGv/aABoN/8A1b4BACoy////zP8A3r4BADdR8Nnwo/8A574BAERb3a3djv8A8L4BAFVkxnjGef8A+b4BAGCeq0GrXf8AAr8BAGO7hCOEQ/8AC78BAGz/WgBaMv8AFL8BACoZ////5f8AHb8BAC1D/Pf8uf8AJr8BADdR8Nnwo/8AL78BAERb3a3djv8AOL8BAFVkxnjGef8AQb8BAGCeq0GrXf8ASr8BAGO7hCOEQ/8AU78BAGz/WgBaMv8AXL8BACoZ////5f8AZb8BAC1D/Pf8uf8Abr8BADdR8Nnwo/8Ad78BAERb3a3djv8AgL8BAFVkxnjGef8Aib8BAGCeq0GrXf8Akr8BAGO7hCOEQ/8Am78BAGv/aABoN/8ApL8BAG7/RQBFKf8Arb8BADFJ+O34sf8AuL8BAHVhzX/Nu/8Aw78BAJDCuCx/uP8Azr8BACoy////zP8A2b8BAGNC2qHatP8A5L8BAISqxEG2xP8A778BAJbLqCJeqP8A+r8BACoy////zP8ABcABAGNC2qHatP8AEMABAISqxEG2xP8AG8ABAJDCuCx/uP8AJsABAKS/lCU0lP8AMcABACoy////zP8APMABAEU66cfptP8AR8ABAHVhzX/Nu/8AUsABAISqxEG2xP8AXcABAJDCuCx/uP8AaMABAKS/lCU0lP8Ac8ABACoy////zP8AfsABAEU66cfptP8AicABAHVhzX/Nu/8AlMABAISqxEG2xP8An8ABAIvYwB2RwP8AqsABAJbLqCJeqP8AtcABAJ7nhAwshP8AwMABACom////2f8Ay8ABADFJ+O34sf8A1sABAEU66cfptP8A4cABAHVhzX/Nu/8A7MABAISqxEG2xP8A98ABAIvYwB2RwP8AAsEBAJbLqCJeqP8ADcEBAJ7nhAwshP8AGMEBACom////2f8AI8EBADFJ+O34sf8ALsEBAEU66cfptP8AOcEBAHVhzX/Nu/8ARMEBAISqxEG2xP8AT8EBAIvYwB2RwP8AWsEBAJbLqCJeqP8AZcEBAKS/lCU0lP8AcMEBAJ7nWAgdWP8Ae8EBACVC///3vP8AhsEBAByv/v7ET/8AkcEBABDu2dlfDv8AnMEBACoq////1P8Ap8EBABxw/v7Zjv8AssEBABbV/v6ZKf8AvcEBAA/8zMxMAv8AyMEBACoq////1P8A08EBABxw/v7Zjv8A3sEBABbV/v6ZKf8A6cEBABDu2dlfDv8A9MEBAA34mZk0BP8A/8EBACoq////1P8ACsIBAB9t/v7jkf8AFcIBAByv/v7ET/8AIMIBABbV/v6ZKf8AK8IBABDu2dlfDv8ANsIBAA34mZk0BP8AQcIBACoq////1P8ATMIBAB9t/v7jkf8AV8IBAByv/v7ET/8AYsIBABbV/v6ZKf8AbcIBABLp7OxwFP8AeMIBAA/8zMxMAv8Ag8IBAAz3jIwtBP8AjsIBACoZ////5f8AmcIBACVC///3vP8ApMIBAB9t/v7jkf8Ar8IBAByv/v7ET/8AusIBABbV/v6ZKf8AxcIBABLp7OxwFP8A0MIBAA/8zMxMAv8A28IBAAz3jIwtBP8A5sIBACoZ////5f8A8cIBACVC///3vP8A/MIBAB9t/v7jkf8AB8MBAByv/v7ET/8AEsMBABbV/v6ZKf8AHcMBABLp7OxwFP8AKMMBAA/8zMxMAv8AM8MBAA34mZk0BP8APsMBAA3wZmYlBv8AScMBACJf///toP8AVMMBABiy/v6yTP8AX8MBAAXd8PA7IP8AasMBACpN////sv8AdcMBAB2i/v7MXP8AgMMBABHC/f2NPP8Ai8MBAP7h4+MaHP8AlsMBACpN////sv8AocMBAB2i/v7MXP8ArMMBABHC/f2NPP8At8MBAAXd8PA7IP8AwsMBAPb/vb0AJv8AzcMBACpN////sv8A2MMBAB6I/v7Zdv8A48MBABiy/v6yTP8A7sMBABHC/f2NPP8A+cMBAAXd8PA7IP8ABMQBAPb/vb0AJv8AD8QBACpN////sv8AGsQBAB6I/v7Zdv8AJcQBABiy/v6yTP8AMMQBABHC/f2NPP8AO8QBAAfU/PxOKv8ARsQBAP7h4+MaHP8AUcQBAPX/sbEAJv8AXMQBACoy////zP8AZ8QBACJf///toP8AcsQBAB6I/v7Zdv8AfcQBABiy/v6yTP8AiMQBABHC/f2NPP8Ak8QBAAfU/PxOKv8AnsQBAP7h4+MaHP8AqcQBAPX/sbEAJv8AtMQBACoy////zP8Av8QBACJf///toP8AysQBAB6I/v7Zdv8A1cQBABiy/v6yTP8A4MQBABHC/f2NPP8A68QBAAfU/PxOKv8A9sQBAP7h4+MaHP8AAcUBAPb/vb0AJv8ADMUBAPL/gIAAJv8AF8UBAJMP//D4//8AIcUBABgj+vrr1/8ALsUBABck///v2/8APMUBABck7u7fzP8ASsUBABckzc3AsP8AWMUBABgii4uDeP8AZsUBAHGA/3//1P8AccUBAHGA/3//1P8AfcUBAHGA7nbuxv8AicUBAHGAzWbNqv8AlcUBAHGAi0WLdP8AocUBAH8P//D///8Ap8UBAH8P//D///8ArsUBAH8P7uDu7v8AtcUBAH8OzcHNzf8AvMUBAH8Oi4OLi/8Aw8UBACoa9fX13P8AycUBABc6///kxP8A0MUBABc6///kxP8A2MUBABc67u7Vt/8A4MUBABY6zc23nv8A6MUBABc6i4t9a/8A+twBAAAAAAAAAP8A8MUBABkx///rzf8A/8UBAKr//wAA//8ABMYBAKr//wAA//8ACsYBAKr/7gAA7v8AEMYBAKr/zQAAzf8AFsYBAKr/iwAAi/8AHMYBAMDO4oor4v8AJ8YBAAC+paUqKv8ALcYBAAC///9AQP8ANMYBAAC/7u47O/8AO8YBAAC/zc0zM/8AQsYBAAC+i4sjI/8AScYBABdj3t64h/8AU8YBABdk///Tm/8AXsYBABdj7u7Fkf8AacYBABdjzc2qff8AdMYBABdji4tzVf8Af8YBAIBnoF+eoP8AicYBAINn/5j1//8AlMYBAINm7o7l7v8An8YBAINnzXrFzf8AqsYBAINmi1OGi/8AtcYBAD///3//AP8AwMYBAD///3//AP8AzMYBAD//7nbuAP8A2MYBAD//zWbNAP8A5MYBAD//i0WLAP8A8MYBABHa0tJpHv8A+sYBABHb//9/JP8ABccBABHb7u52If8AEMcBABHazc1mHf8AG8cBABHci4tFE/8AJscBAAuv//9/UP8ALMcBAAep//9yVv8AM8cBAAap7u5qUP8AOscBAAapzc1bRf8AQccBAAaoi4s+L/8ASMcBAJqT7WSV7f8AV8cBACEi///43P8AYMcBACEi///43P8AascBACIj7u7ozf8AdMcBACIizc3Isf8AfscBACMii4uIeP8AiMcBAPbn3NwUPP8AkMcBAH///wD///8AlccBAH///wD///8Am8cBAH//7gDu7v8AoccBAH//zQDNzf8Ap8cBAH//iwCLi/8ArccBAB7vuLiGC/8Au8cBAB7w//+5D/8AyscBAB7w7u6tDv8A2ccBAB7wzc2VDP8A6McBAB7wi4tlCP8A98cBAFX/ZABkAP8AAcgBACduvb23a/8AC8gBADqOa1VrL/8AGsgBADqP/8r/cP8AKsgBADqP7rzuaP8AOsgBADqPzaLNWv8ASsgBADqPi26LPf8AWsgBABf///+MAP8AZcgBABX///9/AP8AccgBABX/7u52AP8AfcgBABX/zc1mAP8AicgBABX/i4tFAP8AlcgBAMbAzJkyzP8AoMgBAMbB/78+//8ArMgBAMbA7rI67v8AuMgBAMbAzZoyzf8AxMgBAMbAi2gii/8A0MgBAAp56emWev8A28gBAFU9vI+8j/8A6MgBAFU+/8H/wf8A9sgBAFU+7rTutP8ABMkBAFU+zZvNm/8AEskBAFU+i2mLaf8AIMkBAK+Pi0g9i/8ALskBAH9nTy9PT/8APMkBAH9o/5f///8AS8kBAH9n7o3u7v8AWskBAH9ozXnNzf8AackBAH9oi1KLi/8AeMkBAH9nTy9PT/8AhskBAID/0QDO0f8AlMkBAMf/05QA0/8An8kBAOjr//8Uk/8AqMkBAOjr//8Uk/8AsskBAOjr7u4Sif8AvMkBAOjrzc0Qdv8AxskBAOfsi4sKUP8A0MkBAIr//wC///8A3MkBAIr//wC///8A6ckBAIr/7gCy7v8A9skBAIr/zQCazf8AA8oBAIr/iwBoi/8AEMoBAAAAaWlpaf8AGMoBAAAAaWlpaf8AIMoBAJTh/x6Q//8AK8oBAJTh/x6Q//8AN8oBAJTh7hyG7v8AQ8oBAJThzRh0zf8AT8oBAJThixBOi/8AW8oBAADOsrIiIv8AZcoBAADP//8wMP8AcMoBAADP7u4sLP8Ae8oBAADPzc0mJv8AhsoBAADPi4saGv8AkcoBABwP///68P8AncoBAFXAiyKLIv8AqcoBAAAA3Nzc3P8As8oBAKoH//j4//8AvsoBACP////XAP8Aw8oBACP////XAP8AycoBACP/7u7JAP8Az8oBACP/zc2tAP8A1coBACP/i4t1AP8A28oBAB7Z2tqlIP8A5coBAB7a///BJf8A8MoBAB7a7u60Iv8A+8oBAB7azc2bHf8ABssBAB7ai4tpFP8AEcsBAAAAwMDAwP8AFssBAAAAAAAAAP8AHMsBAAAAAwMDA/8AIssBAAAAGhoaGv8AKcsBAAAA//////8AMcsBAAAAHBwcHP8AOMsBAAAAHx8fH/8AP8sBAAAAISEhIf8ARssBAAAAJCQkJP8ATcsBAAAAJiYmJv8AVMsBAAAAKSkpKf8AW8sBAAAAKysrK/8AYssBAAAALi4uLv8AacsBAAAAMDAwMP8AcMsBAAAABQUFBf8AdssBAAAAMzMzM/8AfcsBAAAANjY2Nv8AhMsBAAAAODg4OP8Ai8sBAAAAOzs7O/8AkssBAAAAPT09Pf8AmcsBAAAAQEBAQP8AoMsBAAAAQkJCQv8Ap8sBAAAARUVFRf8ArssBAAAAR0dHR/8AtcsBAAAASkpKSv8AvMsBAAAACAgICP8AwssBAAAATU1NTf8AycsBAAAAT09PT/8A0MsBAAAAUlJSUv8A18sBAAAAVFRUVP8A3ssBAAAAV1dXV/8A5csBAAAAWVlZWf8A7MsBAAAAXFxcXP8A88sBAAAAXl5eXv8A+ssBAAAAYWFhYf8AAcwBAAAAY2NjY/8ACMwBAAAACgoKCv8ADswBAAAAZmZmZv8AFcwBAAAAaWlpaf8AHMwBAAAAa2tra/8AI8wBAAAAbm5ubv8AKswBAAAAcHBwcP8AMcwBAAAAc3Nzc/8AOMwBAAAAdXV1df8AP8wBAAAAeHh4eP8ARswBAAAAenp6ev8ATcwBAAAAfX19ff8AVMwBAAAADQ0NDf8AWswBAAAAf39/f/8AYcwBAAAAgoKCgv8AaMwBAAAAhYWFhf8Ab8wBAAAAh4eHh/8AdswBAAAAioqKiv8AfcwBAAAAjIyMjP8AhMwBAAAAj4+Pj/8Ai8wBAAAAkZGRkf8AkswBAAAAlJSUlP8AmcwBAAAAlpaWlv8AoMwBAAAADw8PD/8ApswBAAAAmZmZmf8ArcwBAAAAnJycnP8AtMwBAAAAnp6env8Au8wBAAAAoaGhof8AwswBAAAAo6Ojo/8AycwBAAAApqampv8A0MwBAAAAqKioqP8A18wBAAAAq6urq/8A3swBAAAAra2trf8A5cwBAAAAsLCwsP8A7MwBAAAAEhISEv8A8swBAAAAs7Ozs/8A+cwBAAAAtbW1tf8AAM0BAAAAuLi4uP8AB80BAAAAurq6uv8ADs0BAAAAvb29vf8AFc0BAAAAv7+/v/8AHM0BAAAAwsLCwv8AI80BAAAAxMTExP8AKs0BAAAAx8fHx/8AMc0BAAAAycnJyf8AOM0BAAAAFBQUFP8APs0BAAAAzMzMzP8ARc0BAAAAz8/Pz/8ATM0BAAAA0dHR0f8AU80BAAAA1NTU1P8AWs0BAAAA1tbW1v8AYc0BAAAA2dnZ2f8AaM0BAAAA29vb2/8Ab80BAAAA3t7e3v8Ads0BAAAA4ODg4P8Afc0BAAAA4+Pj4/8AhM0BAAAAFxcXF/8Ais0BAAAA5eXl5f8Akc0BAAAA6Ojo6P8AmM0BAAAA6+vr6/8An80BAAAA7e3t7f8Aps0BAAAA8PDw8P8Arc0BAAAA8vLy8v8AtM0BAAAA9fX19f8Au80BAAAA9/f39/8Aws0BAAAA+vr6+v8Ayc0BAAAA/Pz8/P8A0M0BAFX//wD/AP8A1s0BAFX//wD/AP8A3c0BAFX/7gDuAP8A5M0BAFX/zQDNAP8A680BAFX/iwCLAP8A8s0BADvQ/63/L/8A/s0BAAAAwMDAwP8AA84BAAAAAAAAAP8ACc4BAAAAAwMDA/8AD84BAAAAGhoaGv8AFs4BAAAA//////8AHs4BAAAAHBwcHP8AJc4BAAAAHx8fH/8ALM4BAAAAISEhIf8AM84BAAAAJCQkJP8AOs4BAAAAJiYmJv8AQc4BAAAAKSkpKf8ASM4BAAAAKysrK/8AT84BAAAALi4uLv8AVs4BAAAAMDAwMP8AXc4BAAAABQUFBf8AY84BAAAAMzMzM/8Aas4BAAAANjY2Nv8Acc4BAAAAODg4OP8AeM4BAAAAOzs7O/8Af84BAAAAPT09Pf8Ahs4BAAAAQEBAQP8Ajc4BAAAAQkJCQv8AlM4BAAAARUVFRf8Am84BAAAAR0dHR/8Aos4BAAAASkpKSv8Aqc4BAAAACAgICP8Ar84BAAAATU1NTf8Ats4BAAAAT09PT/8Avc4BAAAAUlJSUv8AxM4BAAAAVFRUVP8Ay84BAAAAV1dXV/8A0s4BAAAAWVlZWf8A2c4BAAAAXFxcXP8A4M4BAAAAXl5eXv8A584BAAAAYWFhYf8A7s4BAAAAY2NjY/8A9c4BAAAACgoKCv8A+84BAAAAZmZmZv8AAs8BAAAAaWlpaf8ACc8BAAAAa2tra/8AEM8BAAAAbm5ubv8AF88BAAAAcHBwcP8AHs8BAAAAc3Nzc/8AJc8BAAAAdXV1df8ALM8BAAAAeHh4eP8AM88BAAAAenp6ev8AOs8BAAAAfX19ff8AQc8BAAAADQ0NDf8AR88BAAAAf39/f/8ATs8BAAAAgoKCgv8AVc8BAAAAhYWFhf8AXM8BAAAAh4eHh/8AY88BAAAAioqKiv8Aas8BAAAAjIyMjP8Acc8BAAAAj4+Pj/8AeM8BAAAAkZGRkf8Af88BAAAAlJSUlP8Ahs8BAAAAlpaWlv8Ajc8BAAAADw8PD/8Ak88BAAAAmZmZmf8Ams8BAAAAnJycnP8Aoc8BAAAAnp6env8AqM8BAAAAoaGhof8Ar88BAAAAo6Ojo/8Ats8BAAAApqampv8Avc8BAAAAqKioqP8AxM8BAAAAq6urq/8Ay88BAAAAra2trf8A0s8BAAAAsLCwsP8A2c8BAAAAEhISEv8A388BAAAAs7Ozs/8A5s8BAAAAtbW1tf8A7c8BAAAAuLi4uP8A9M8BAAAAurq6uv8A+88BAAAAvb29vf8AAtABAAAAv7+/v/8ACdABAAAAwsLCwv8AENABAAAAxMTExP8AF9ABAAAAx8fHx/8AHtABAAAAycnJyf8AJdABAAAAFBQUFP8AK9ABAAAAzMzMzP8AMtABAAAAz8/Pz/8AOdABAAAA0dHR0f8AQNABAAAA1NTU1P8AR9ABAAAA1tbW1v8ATtABAAAA2dnZ2f8AVdABAAAA29vb2/8AXNABAAAA3t7e3v8AY9ABAAAA4ODg4P8AatABAAAA4+Pj4/8AcdABAAAAFxcXF/8Ad9ABAAAA5eXl5f8AftABAAAA6Ojo6P8AhdABAAAA6+vr6/8AjNABAAAA7e3t7f8Ak9ABAAAA8PDw8P8AmtABAAAA8vLy8v8AodABAAAA9fX19f8AqNABAAAA9/f39/8Ar9ABAAAA+vr6+v8AttABAAAA/Pz8/P8AvdABAFUP//D/8P8AxtABAFUP//D/8P8A0NABAFUP7uDu4P8A2tABAFUOzcHNwf8A5NABAFUOi4OLg/8A7tABAOmW//9ptP8A9tABAOqR//9utP8A/9ABAOuN7u5qp/8ACNEBAOyHzc1gkP8AEdEBAOqUi4s6Yv8AGtEBAACMzc1cXP8AJNEBAACU//9qav8AL9EBAACU7u5jY/8AOtEBAACVzc1VVf8ARdEBAACUi4s6Ov8AUNEBAML/gksAgv8AV9EBACoA/////gAAXdEBACoP////8P8AY9EBACoP////8P8AatEBACoP7u7u4P8AcdEBACoOzc3Nwf8AeNEBACoOi4uLg/8Af9EBACZq8PDmjP8AhdEBACdw///2j/8AjNEBACdw7u7mhf8Ak9EBACdvzc3Gc/8AmtEBACdvi4uGTv8AodEBAKoU+ubm+v8AqtEBAPAP///w9f8AuNEBAPAP///w9f8Ax9EBAO8P7u7g5f8A1tEBAPAOzc3Bxf8A5dEBAO8Oi4uDhv8A9NEBAED//Hz8AP8A/tEBACYx///6zf8AC9IBACYx///6zf8AGdIBACUy7u7pv/8AJ9IBACYxzc3Jpf8ANdIBACcxi4uJcP8AQ9IBAIk/5q3Y5v8ATdIBAIpA/7/v//8AWNIBAIpA7rLf7v8AY9IBAIo/zZrAzf8AbtIBAIlAi2iDi/8AedIBAAB38PCAgP8AhNIBAH8f/+D///8AjtIBAH8f/+D///8AmdIBAH8f7tHu7v8ApNIBAH8fzbTNzf8Ar9IBAH8fi3qLi/8AutIBACNz7u7dgv8AydIBACN0///si/8A2dIBACNz7u7cgv8A6dIBACNzzc2+cP8A+dIBACNzi4uBTP8ACdMBACoo+vr60v8AHtMBAAAA09PT0/8AKNMBAAAA09PT0/8AMtMBAPhJ//+2wf8APNMBAPlR//+uuf8AR9MBAPhR7u6irf8AUtMBAPlQzc2Mlf8AXdMBAPlQi4tfZf8AaNMBAAyE//+gev8AdNMBAAyE//+gev8AgdMBAAuE7u6Vcv8AjtMBAAyFzc2BYv8Am9MBAAyFi4tXQv8AqNMBAH3RsiCyqv8AttMBAI91+ofO+v8Aw9MBAI9P/7Di//8A0dMBAI9P7qTT7v8A39MBAI5PzY22zf8A7dMBAI9Oi2B7i/8A+9MBAK+P/4Rw//8ACtQBAJQ4mXeImf8AGdQBAJQ4mXeImf8AKNQBAJc03rDE3v8AN9QBAJc1/8rh//8AR9QBAJc17rzS7v8AV9QBAJc1zaK1zf8AZ9QBAJY1i257i/8Ad9QBACof////4P8Ag9QBACof////4P8AkNQBACof7u7u0f8AndQBACofzc3NtP8AqtQBACofi4uLev8At9QBAFXAzTLNMv8AwdQBABUU+vrw5v8Ax9QBANT///8A//8Az9QBANT///8A//8A2NQBANT/7u4A7v8A4dQBANT/zc0Azf8A6tQBANT/i4sAi/8A89QBAO+5sLAwYP8A+tQBAOTL//80s/8AAtUBAOTL7u4wp/8ACtUBAOTMzc0pkP8AEtUBAOTLi4scYv8AGtUBAHGAzWbNqv8AK9UBAKr/zQAAzf8ANtUBAMyY07pV0/8AQ9UBAMuZ/+Bm//8AUdUBAMuZ7tFf7v8AX9UBAMuZzbRSzf8AbdUBAMuai3o3i/8Ae9UBALd825Nw2/8AiNUBALd9/6uC//8AltUBALd97p957v8ApNUBALd9zYlozf8AstUBALd8i11Hi/8AwNUBAGepszyzcf8Az9UBALCP7nto7v8A39UBAG//+gD6mv8A8dUBAH2n0UjRzP8AAdYBAOTkx8cVhf8AEdYBAKrGcBkZcP8AHtYBAGoJ//X/+v8AKNYBAAQe///k4f8AMtYBAAQe///k4f8APdYBAAQe7u7V0v8ASNYBAAMdzc23tf8AU9YBAAUdi4t9e/8AXtYBABpJ///ktf8AZ9YBABlR///erf8Ac9YBABlR///erf8AgNYBABlS7u7Pof8AjdYBABlSzc2zi/8AmtYBABlSi4t5Xv8Ap9YBAKr/gAAAgP8ArNYBAKr/gAAAgP8AtdYBACoA/////gAAutYBABsX/f315v8AwtYBADjAjmuOI/8AzNYBADjB/8D/Pv8A19YBADjA7rPuOv8A4tYBADjAzZrNMv8A7dYBADjAi2mLIv8A+NYBABv///+lAP8A/9YBABv///+lAP8AB9cBABv/7u6aAP8AD9cBABv/zc2FAP8AF9cBABv/i4taAP8AH9cBAAv///9FAP8AKdcBAAv///9FAP8ANNcBAAv/7u5AAP8AP9cBAAv/zc03AP8AStcBAAv/i4slAP8AVdcBANZ72tpw1v8AXNcBANZ8//+D+v8AZNcBANZ87u566f8AbNcBANZ8zc1pyf8AdNcBANV8i4tHif8AfNcBACZI7u7oqv8AitcBAFVk+5j7mP8AlNcBAFVl/5r/mv8An9cBAFVk7pDukP8AqtcBAFVkzXzNfP8AtdcBAFVki1SLVP8AwNcBAH9D7q/u7v8AztcBAH9E/7v///8A3dcBAH9E7q7u7v8A7NcBAH9EzZbNzf8A+9cBAH9Di2aLi/8ACtgBAPF829twk/8AGNgBAPF9//+Cq/8AJ9gBAPF97u55n/8ANtgBAPF9zc1oif8ARdgBAPF8i4tHXf8AVNgBABop///v1f8AX9gBABRG///auf8AadgBABRG///auf8AdNgBABNF7u7Lrf8Af9gBABNFzc2vlf8AitgBABRFi4t3Zf8AldgBABSwzc2FP/8AmtgBAPc////Ay/8An9gBAPVJ//+1xf8ApdgBAPVJ7u6puP8Aq9gBAPVKzc2Rnv8AsdgBAPVJi4tjbP8At9gBANRG3d2g3f8AvNgBANRE//+7//8AwtgBANRE7u6u7v8AyNgBANREzc2Wzf8AztgBANRDi4tmi/8A1NgBAIQ75rDg5v8A39gBAMTd8KAg8P8A5tgBAL/P/5sw//8A7tgBAMDP7pEs7v8A9tgBAMDPzX0mzf8A/tgBAMDPi1Uai/8ABtkBAAD///8AAP8ACtkBAAD///8AAP8AD9kBAAD/7u4AAP8AFNkBAAD/zc0AAP8AGdkBAAD/i4sAAP8AHtkBAAA9vLyPj/8AKNkBAAA+///Bwf8AM9kBAAA+7u60tP8APtkBAAA+zc2bm/8ASdkBAAA+i4tpaf8AVNkBAJ+14UFp4f8AXtkBAJ+3/0h2//8AadkBAJ+37kNu7v8AdNkBAJ+2zTpfzf8Af9kBAJ+3iydAi/8AitkBABHci4tFE/8AltkBAASK+vqAcv8AndkBAAmW//+Maf8ApdkBAAmW7u6CYv8ArdkBAAmWzc1wVP8AtdkBAAmWi4tMOf8AvdkBABOa9PSkYP8AyNkBAGeqiy6LV/8A0dkBAGer/1T/n/8A29kBAGer7k7ulP8A5dkBAGerzUPNgP8A79kBAGeqiy6LV/8A+dkBABEQ///17v8AAtoBABEQ///17v8ADNoBABIR7u7l3v8AFtoBABIRzc3Fv/8AINoBABIQi4uGgv8AKtoBAA23oKBSLf8AMdoBAA24//+CR/8AOdoBAA247u55Qv8AQdoBAA24zc1oOf8ASdoBAA25i4tHJv8AUdoBAIts64fO6/8AWdoBAJB4/4fO//8AYtoBAJB47n7A7v8Aa9oBAJB4zWymzf8AdNoBAJF3i0pwi/8AfdoBAK+PzWpazf8Ah9oBAK+Q/4Nv//8AktoBAK+Q7npn7v8AndoBAK+QzWlZzf8AqNoBAK+Qi0c8i/8As9oBAJQ4kHCAkP8AvdoBAJU4/8bi//8AyNoBAJU47rnT7v8A09oBAJQ5zZ+2zf8A3toBAJU4i2x7i/8A6doBAJQ4kHCAkP8A89oBAAAF///6+v8A+NoBAAAF///6+v8A/toBAAAF7u7p6f8ABNsBAAAEzc3Jyf8ACtsBAAADi4uJif8AENsBAGr//wD/f/8AHNsBAGr//wD/f/8AKdsBAGr/7gDudv8ANtsBAGr/zQDNZv8AQ9sBAGr/iwCLRf8AUNsBAJKbtEaCtP8AWtsBAJKc/2O4//8AZdsBAJKc7lys7v8AcNsBAJKczU+Uzf8Ae9sBAJObizZki/8AhtsBABhU0tK0jP8AitsBABSw//+lT/8Aj9sBABSw7u6aSf8AlNsBABSwzc2FP/8AmdsBABSwi4taK/8AntsBANQd2Ni/2P8AptsBANQe///h//8Ar9sBANQe7u7S7v8AuNsBANQdzc21zf8AwdsBANQdi4t7i/8AytsBAAa4//9jR/8A0dsBAAa4//9jR/8A2dsBAAa47u5cQv8A4dsBAAa4zc1POf8A6dsBAAa5i4s2Jv8AO90BACoA/////gAA8dsBAHu24EDg0P8A+9sBAIH//wD1//8ABtwBAIH/7gDl7v8AEdwBAIH/zQDFzf8AHNwBAIH/iwCGi/8AJ9wBANRz7u6C7v8ALtwBAOPX0NAgkP8AONwBAOvB//8+lv8AQ9wBAOvA7u46jP8ATtwBAOvAzc0yeP8AWdwBAOvAi4siUv8AZNwBABtE9fXes/8AatwBABtF///nuv8AcdwBABtE7u7Yrv8AeNwBABtEzc26lv8Af9wBABtDi4t+Zv8AhtwBAAAA//////8AjNwBAAAA9fX19f8Al9wBACr/////AP8AntwBACr/////AP8AptwBACr/7u7uAP8ArtwBACr/zc3NAP8AttwBACr/i4uLAP8AvtwBADjAzZrNMv8AReEBAE7dAQBQ3QEAUt0BAFTdAQBW3QEAWN0BAFrdAQBc3QEAXt0BAGDdAQBj3QEAZt0BAGndAQBs3QEAb90BAHLdAQB13QEAeN0BAHvdAQB+3QEAAAAAAAQAAAAEAAAABQAAADEAAAAQAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAACAAAABAAAAAYAAAAAAAAAAAAAAASAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAAAAAAAAAAAAAAAAAAAAAlNcAABQAAABDLlVURi04AAAAAAAAAAAAAAAAAN4SBJUAAAAA////////////////AgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTeNgAAAkAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAbqgCAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD42AAABQAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAcAAAB2rAIAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPjYAAB82QAABQAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAcAAAB+sAIAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9JoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BV9wiQD/CS8PdAAAAPMOAgBuAAAA9Q4CAHIAAAD3DgIAZgAAAPkOAgBhAAAA+w4CAGUAAAD9DgIAdwAAAP8OAgBXAAAADA8CAHMAAAAaDwIAUwAAACYPAgBkAAAAMw8CAEQAAAA/DwIAAAAAAAAAAAAAAAAAAAAEAAQAGwAbACAAIAAjACEACgACABYACQAhACEAIQAVABwAAQAUABQAFAAUABQAFAAUAAgABAAFABsAAgAXABsAIAAfAB4AHQAJABMAAAAVABIAFQADAAcAFQAVABQAFAAUABQAFAAUABQAFAAIAAQABQAFAAYAGwAaABgAGQAgAAcAFQAUABQAFAAUABQAFAALABQADQAUAAwAFAAUABQADgAUABQAFAAQABQADwAUABEAAAAAAAAArgAuAC8AMwA1ADAANwCqANsA2wDbANsAAAA9AIcANwA3ANsA2wAAACgANQAuADIALwBiAAAAAABHAAAAAADbAFEAAADbANsA2wAAANsAhABVANsAggDbAAAAgQDbAAAAPgBCAEEASABEAFIAWwAAAAAAXgBfANsAAADbANsA2wAAAAAAewBJAFcAUgBaAFoAXQAAAF8AAABfAAAAZQBdAF8AAABdAG4AagAAAGkAAABuAAAA2wCTAJoAoQCoAKsAcACxALgAvwDGAM0A0wAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMABAAHAAMABAAFAAUABgAGAAgABwAHABEAFgASABEAEgAIAAgADwAPABcADwAYAA8AGQAaABoAHgAWADQAHgAFADIABgAiACIAMwAXABgANQAZABoAGgAqADYAKgA0ADcAMgBFADsAPAAzADsAPABGADUARwBIAEwANgAiAEkASgA3AEUATgBQAGIAUQBSAFQARgBHAFUASABMAFYASQBKAFgAWgBOAEQAUABRAFIAVAA4AC8ALABVACkAVgAbABAAWABaAF0AXQBdAF0AXQBdAF0AXgBeAF4AXgBeAF4AXgBfAF8AXwBfAF8AXwBfAGAACQBgAGAAYABgAGAAYQBhAGMAAgBjAGMAYwBjAGMAZAAAAGQAAABkAGQAZABlAAAAZQBlAGUAZQBlAGYAZgAAAGYAZgBmAGYAZwAAAGcAZwBnAGcAaAAAAGgAaABoAGgAaABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAAXAABAF0AXQBeAF4AXwBfAFwAXABcAFwAXABgAFwAXABcAGEAXABcAGIAYgBiAGIAYgBiAGIAYwBkAGUAZgBmAFwAXABnAFwAXABcAGAAXABcAGEAXABhAFwAaABhAFwAYgBiAGIAYgBiAGIAYgBiAGMAZABlAGUAXABmAFwAXABcAGcAaABhAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgBiAGIAYgAAAFwAXABcAFwAXABcAFwAXABcAFwAXABcAAAACgALAAwADQAOAAoADwAQABEAEgATAAoAFAAVABUAFQAWABcAFQAYABUAFQAZABUAFQAVABoAFQAVAAoAFQAVABUAFgAXABgAFQAVABkAFQAVABUAGgAVABUAFQAVABsADAAMACQAHgAeACAAIQAgACEAJAAlACYALQAyAC8ALgAqACUAJgAoACkAMwAqADQAKwA1ADYANwA8ADIARwA9ACIARQAiAD8AQABGADMANABIADUANgA3AC8ASQAqAEcASgBFAEwAXAA8AEYAXAA9AE0ASABOAE8AUgBJAEEAUABRAEoATABTAFQAMQBVAFYAVwBNAE4AWABPAFIAWQBQAFEAWgBbAFMARABUAFUAVgBXAEsARAAsAFgALABZADgALABaAFsAHQAdAB0AHQAdAB0AHQAfAB8AHwAfAB8AHwAfACMAIwAjACMAIwAjACMAJwBcACcAJwAnACcAJwAwADAAOQAcADkAOQA5ADkAOQA6AFwAOgBcADoAOgA6ADsAXAA7ADsAOwA7ADsAPgA+AFwAPgA+AD4APgBCAFwAQgBCAEIAQgBDAFwAQwBDAEMAQwBDAAkAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwACACu/9EACgCu/67/CwCu/67/rv+u/67/rv+u/67/BQDRAK7/0QDRANEA0QDRANEA0QDRAK7/+/+u/w4A7P+u/67/rv+u/9EA0QDRANEA0QANACUADABCABAAUAATAG0AewAUAJgADwCmAMMArv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/rv+u/67/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aXQAJSUlJVBhZ2VPcmllbnRhdGlvbjogJXMKADw8IC9QYWdlU2l6ZSBbJWQgJWRdID4+IHNldHBhZ2VkZXZpY2UKACVkICVkICVkIGJlZ2lucGFnZQoAZ3NhdmUKJWQgJWQgJWQgJWQgYm94cHJpbSBjbGlwIG5ld3BhdGgKACVnICVnIHNldF9zY2FsZSAlZCByb3RhdGUgJWcgJWcgdHJhbnNsYXRlCgBjYW52YXMgc2l6ZSAoJWQsJWQpIGV4Y2VlZHMgUERGIGxpbWl0ICglZCkKCShzdWdnZXN0IHNldHRpbmcgYSBib3VuZGluZyBib3ggc2l6ZSwgc2VlIGRvdCgxKSkKAFsgL0Nyb3BCb3ggWyVkICVkICVkICVkXSAvUEFHRVMgcGRmbWFyawoAJWQgJWQgc2V0bGF5ZXIKACUlJSVUaXRsZTogJXMKACUlUGFnZXM6IChhdGVuZCkKACUlUGFnZXM6IDEKACUlQm91bmRpbmdCb3g6IChhdGVuZCkKACUlJSVCb3VuZGluZ0JveDogJWQgJWQgJWQgJWQKACUlRW5kQ29tbWVudHMKc2F2ZQoAc2V0dXBMYXRpbjEKAFsge0NhdGFsb2d9IDw8IC9VUkkgPDwgL0Jhc2UgJXMgPj4gPj4KL1BVVCBwZGZtYXJrCgAlJUJlZ2luUHJvbG9nAC9Eb3REaWN0IDIwMCBkaWN0IGRlZgBEb3REaWN0IGJlZ2luAC9zZXR1cExhdGluMSB7AG1hcmsAL0VuY29kaW5nVmVjdG9yIDI1NiBhcnJheSBkZWYAIEVuY29kaW5nVmVjdG9yIDAASVNPTGF0aW4xRW5jb2RpbmcgMCAyNTUgZ2V0aW50ZXJ2YWwgcHV0aW50ZXJ2YWwARW5jb2RpbmdWZWN0b3IgNDUgL2h5cGhlbiBwdXQAJSBTZXQgdXAgSVNPIExhdGluIDEgY2hhcmFjdGVyIGVuY29kaW5nAC9zdGFybmV0SVNPIHsAICAgICAgICBkdXAgZHVwIGZpbmRmb250IGR1cCBsZW5ndGggZGljdCBiZWdpbgAgICAgICAgIHsgMSBpbmRleCAvRklEIG5lIHsgZGVmIH17IHBvcCBwb3AgfSBpZmVsc2UAICAgICAgICB9IGZvcmFsbAAgICAgICAgIC9FbmNvZGluZyBFbmNvZGluZ1ZlY3RvciBkZWYAICAgICAgICBjdXJyZW50ZGljdCBlbmQgZGVmaW5lZm9udAB9IGRlZgAvVGltZXMtUm9tYW4gc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUl0YWxpYyBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZCBzdGFybmV0SVNPIGRlZgAvVGltZXMtQm9sZEl0YWxpYyBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllciBzdGFybmV0SVNPIGRlZgAvQ291cmllci1PYmxpcXVlIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGQgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAY2xlYXJ0b21hcmsAfSBiaW5kIGRlZgAlJUJlZ2luUmVzb3VyY2U6IHByb2NzZXQgZ3JhcGh2aXogMCAwAC9jb29yZC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9kZWZhdWx0LWZvbnQtZmFtaWx5IC9UaW1lcy1Sb21hbiBkZWYAL2Nvb3JkZm9udCBjb29yZC1mb250LWZhbWlseSBmaW5kZm9udCA4IHNjYWxlZm9udCBkZWYAL0ludlNjYWxlRmFjdG9yIDEuMCBkZWYAL3NldF9zY2FsZSB7ACAgICAgICBkdXAgMSBleGNoIGRpdiAvSW52U2NhbGVGYWN0b3IgZXhjaCBkZWYAICAgICAgIHNjYWxlACUgc3R5bGVzAC9zb2xpZCB7IFtdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kYXNoZWQgeyBbOSBJbnZTY2FsZUZhY3RvciBtdWwgZHVwIF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2RvdHRlZCB7IFsxIEludlNjYWxlRmFjdG9yIG11bCA2IEludlNjYWxlRmFjdG9yIG11bF0gMCBzZXRkYXNoIH0gYmluZCBkZWYAL2ludmlzIHsvZmlsbCB7bmV3cGF0aH0gZGVmIC9zdHJva2Uge25ld3BhdGh9IGRlZiAvc2hvdyB7cG9wIG5ld3BhdGh9IGRlZn0gYmluZCBkZWYAL2JvbGQgeyAyIHNldGxpbmV3aWR0aCB9IGJpbmQgZGVmAC9maWxsZWQgeyB9IGJpbmQgZGVmAC91bmZpbGxlZCB7IH0gYmluZCBkZWYAL3JvdW5kZWQgeyB9IGJpbmQgZGVmAC9kaWFnb25hbHMgeyB9IGJpbmQgZGVmAC90YXBlcmVkIHsgfSBiaW5kIGRlZgAlIGhvb2tzIGZvciBzZXR0aW5nIGNvbG9yIAAvbm9kZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZWRnZWNvbG9yIHsgc2V0aHNiY29sb3IgfSBiaW5kIGRlZgAvZ3JhcGhjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL25vcGNvbG9yIHtwb3AgcG9wIHBvcH0gYmluZCBkZWYAL2JlZ2lucGFnZSB7CSUgaSBqIG5wYWdlcwAJL25wYWdlcyBleGNoIGRlZgAJL2ogZXhjaCBkZWYACS9pIGV4Y2ggZGVmAAkvc3RyIDEwIHN0cmluZyBkZWYACW5wYWdlcyAxIGd0IHsACQlnc2F2ZQAJCQljb29yZGZvbnQgc2V0Zm9udAAJCQkwIDAgbW92ZXRvAAkJCShcKCkgc2hvdyBpIHN0ciBjdnMgc2hvdyAoLCkgc2hvdyBqIHN0ciBjdnMgc2hvdyAoXCkpIHNob3cACQlncmVzdG9yZQAJfSBpZgAvc2V0X2ZvbnQgewAJZmluZGZvbnQgZXhjaAAJc2NhbGVmb250IHNldGZvbnQAJSBkcmF3IHRleHQgZml0dGVkIHRvIGl0cyBleHBlY3RlZCB3aWR0aAAvYWxpZ25lZHRleHQgewkJCSUgd2lkdGggdGV4dAAJL3RleHQgZXhjaCBkZWYACS93aWR0aCBleGNoIGRlZgAJZ3NhdmUACQl3aWR0aCAwIGd0IHsACQkJW10gMCBzZXRkYXNoAAkJCXRleHQgc3RyaW5nd2lkdGggcG9wIHdpZHRoIGV4Y2ggc3ViIHRleHQgbGVuZ3RoIGRpdiAwIHRleHQgYXNob3cACQl9IGlmAAlncmVzdG9yZQAvYm94cHJpbSB7CQkJCSUgeGNvcm5lciB5Y29ybmVyIHhzaXplIHlzaXplAAkJNCAyIHJvbGwACQltb3ZldG8ACQkyIGNvcHkACQlleGNoIDAgcmxpbmV0bwAJCTAgZXhjaCBybGluZXRvAAkJcG9wIG5lZyAwIHJsaW5ldG8ACQljbG9zZXBhdGgAL2VsbGlwc2VfcGF0aCB7AAkvcnkgZXhjaCBkZWYACS9yeCBleGNoIGRlZgAJL3kgZXhjaCBkZWYACS94IGV4Y2ggZGVmAAltYXRyaXggY3VycmVudG1hdHJpeAAJbmV3cGF0aAAJeCB5IHRyYW5zbGF0ZQAJcnggcnkgc2NhbGUACTAgMCAxIDAgMzYwIGFyYwAJc2V0bWF0cml4AC9lbmRwYWdlIHsgc2hvd3BhZ2UgfSBiaW5kIGRlZgAvc2hvd3BhZ2UgeyB9IGRlZgAvbGF5ZXJjb2xvcnNlcQAJWwklIGxheWVyIGNvbG9yIHNlcXVlbmNlIC0gZGFya2VzdCB0byBsaWdodGVzdAAJCVswIDAgMF0ACQlbLjIgLjggLjhdAAkJWy40IC44IC44XQAJCVsuNiAuOCAuOF0ACQlbLjggLjggLjhdAAldAGRlZgAvbGF5ZXJsZW4gbGF5ZXJjb2xvcnNlcSBsZW5ndGggZGVmAC9zZXRsYXllciB7L21heGxheWVyIGV4Y2ggZGVmIC9jdXJsYXllciBleGNoIGRlZgAJbGF5ZXJjb2xvcnNlcSBjdXJsYXllciAxIHN1YiBsYXllcmxlbiBtb2QgZ2V0AAlhbG9hZCBwb3Agc2V0aHNiY29sb3IACS9ub2RlY29sb3Ige25vcGNvbG9yfSBkZWYACS9lZGdlY29sb3Ige25vcGNvbG9yfSBkZWYACS9ncmFwaGNvbG9yIHtub3Bjb2xvcn0gZGVmAC9vbmxheWVyIHsgY3VybGF5ZXIgbmUge2ludmlzfSBpZiB9IGRlZgAvb25sYXllcnMgewAJL215dXBwZXIgZXhjaCBkZWYACS9teWxvd2VyIGV4Y2ggZGVmAAljdXJsYXllciBteWxvd2VyIGx0AAljdXJsYXllciBteXVwcGVyIGd0AAlvcgAJe2ludmlzfSBpZgAvY3VybGF5ZXIgMCBkZWYAJSVFbmRSZXNvdXJjZQAlJUVuZFByb2xvZwAlJUJlZ2luU2V0dXAAMTQgZGVmYXVsdC1mb250LWZhbWlseSBzZXRfZm9udAAlIC9hcnJvd2xlbmd0aCAxMCBkZWYAJSAvYXJyb3d3aWR0aCA1IGRlZgAlIG1ha2Ugc3VyZSBwZGZtYXJrIGlzIGhhcm1sZXNzIGZvciBQUy1pbnRlcnByZXRlcnMgb3RoZXIgdGhhbiBEaXN0aWxsZXIAL3BkZm1hcmsgd2hlcmUge3BvcH0ge3VzZXJkaWN0IC9wZGZtYXJrIC9jbGVhcnRvbWFyayBsb2FkIHB1dH0gaWZlbHNlACUgbWFrZSAnPDwnIGFuZCAnPj4nIHNhZmUgb24gUFMgTGV2ZWwgMSBkZXZpY2VzAC9sYW5ndWFnZWxldmVsIHdoZXJlIHtwb3AgbGFuZ3VhZ2VsZXZlbH17MX0gaWZlbHNlADIgbHQgewAgICAgdXNlcmRpY3QgKDw8KSBjdm4gKFspIGN2biBsb2FkIHB1dAAgICAgdXNlcmRpY3QgKD4+KSBjdm4gKFspIGN2biBsb2FkIHB1dAB9IGlmACUlRW5kU2V0dXAAJSVUcmFpbGVyCgAlJSUlUGFnZXM6ICVkCgBlbmQKcmVzdG9yZQoAJSVFT0YKACUhUFMtQWRvYmUtMy4wACBFUFNGLTMuMAoAJSUlJUNyZWF0b3I6ICVzIHZlcnNpb24gJXMgKCVzKQoAcHMyOnBzADwhLS0gADxwb2x5bGluZQAgcG9pbnRzPSIAIi8+CgAgZmlsbD0iAHVybCgjbF8lZCkAdXJsKCNyXyVkKQAiIGZpbGwtb3BhY2l0eT0iJWYAIiBzdHJva2U9IgAiIHN0cm9rZS13aWR0aD0iACIgc3Ryb2tlLWRhc2hhcnJheT0iJXMANSwyADEsNQAiIHN0cm9rZS1vcGFjaXR5PSIlZgBndnJlbmRlcl9jb3JlX3N2Zy5jAHN2Z19wcmludF9jb2xvcgA8cGF0aAAgaWQ9IgBfcCIgACBkPSIAJWMAPGRlZnM+CjxyYWRpYWxHcmFkaWVudCBpZD0icl8lZCIgY3g9IjUwJSUiIGN5PSI1MCUlIiByPSI3NSUlIiBmeD0iJWQlJSIgZnk9IiVkJSUiPgoAPHN0b3Agb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjoAO3N0b3Atb3BhY2l0eToAMS4AOyIvPgoAPHN0b3Agb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+CgA8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJsXyVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgAHgxPSIAIiB5MT0iACIgeDI9IgAiIHkyPSIAIiA+CgA8c3RvcCBvZmZzZXQ9IiUuMDNmIiBzdHlsZT0ic3RvcC1jb2xvcjoAOyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+CgA8cG9seWdvbgA8ZWxsaXBzZQAgY3g9IgAiIGN5PSIAIiByeD0iACIgcnk9IgA8dGV4dAAgdGV4dC1hbmNob3I9InN0YXJ0IgAgdGV4dC1hbmNob3I9ImVuZCIAIHRleHQtYW5jaG9yPSJtaWRkbGUiACB4PSIAIiB5PSIAIGZvbnQtZmFtaWx5PSIlcwAsJXMAIGZvbnQtd2VpZ2h0PSIlcyIAIGZvbnQtc3RyZXRjaD0iJXMiACBmb250LXN0eWxlPSIlcyIAIGZvbnQtZmFtaWx5PSIlcyIAIGZvbnQtd2VpZ2h0PSJib2xkIgAgZm9udC1zdHlsZT0iaXRhbGljIgAgdGV4dC1kZWNvcmF0aW9uPSIAJXNvdmVybGluZQAlc2xpbmUtdGhyb3VnaAAgYmFzZWxpbmUtc2hpZnQ9InN1cGVyIgAgYmFzZWxpbmUtc2hpZnQ9InN1YiIAIGZvbnQtc2l6ZT0iJS4yZiIAIGZpbGw9IiVzIgAgZmlsbD0iIyUwMnglMDJ4JTAyeCIAc3ZnX3RleHRzcGFuAD4APHRleHRQYXRoIHhsaW5rOmhyZWY9IiMlc19wIiBzdGFydE9mZnNldD0iNTAlJSI+ADx0c3BhbiB4PSIwIiBkeT0iACI+ADwvdHNwYW4+PC90ZXh0UGF0aD4APC90ZXh0PgoAPC9nPgoAPGcAIGlkPSJhXwAgeGxpbms6aHJlZj0iACB4bGluazp0aXRsZT0iACB0YXJnZXQ9IgA8dGl0bGU+ADwvdGl0bGU+CgA8ZyBpZD0iAF8lcwAiIGNsYXNzPSIlcwBjbGFzcwAgdHJhbnNmb3JtPSJzY2FsZSgAKSByb3RhdGUoJWQpIHRyYW5zbGF0ZSgAKSI+CgA8L3N2Zz4KADwhLS0AIFBhZ2VzOiAlZCAtLT4KADxzdmcgd2lkdGg9IiVkcHQiIGhlaWdodD0iJWRwdCIKACB2aWV3Qm94PSIlLjJmICUuMmYgJS4yZiAlLjJmIgAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiADw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgoAc3R5bGVzaGVldAA8P3htbC1zdHlsZXNoZWV0IGhyZWY9IgAiIHR5cGU9InRleHQvY3NzIj8+CgA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iCgAgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CgA8IS0tIEdlbmVyYXRlZCBieSAAZGFya2JsdWUAZGFya2N5YW4AZGFya2dyYXkAZGFya2dyZXkAZGFya21hZ2VudGEAZGFya3JlZABsaWdodGdyZWVuACMgACBjcmVhdGUgbGluZSAAIC1maWxsIAAgLWRhc2ggNQAgLWRhc2ggMgBndnJlbmRlcl9jb3JlX3RrLmMAdGtnZW5fcHJpbnRfdGFncwBncmFwaCBsYWJlbAAgLXRhZ3MgeyVkJXMlcH0AdGtnZW5fcHJpbnRfY29sb3IAJGMAIC13aWR0aCAAIC1zbW9vdGggYmV6aWVyIAAgY3JlYXRlIHBvbHlnb24gACAtb3V0bGluZSAAIGNyZWF0ZSBvdmFsIAAgY3JlYXRlIHRleHQgACAtdGV4dCB7AH0AIC1mb250IHsAICVkfQAgLWFuY2hvciB3ACAtYW5jaG9yIGUAIwAgVGl0bGU6IAAgUGFnZXM6ICVkCgAjIEdlbmVyYXRlZCBieSAAKQoAdGsAdGs6dGsAICAgICAgPCEtLSAAIC0tPgoARXJyb3IgZHVyaW5nIGNvbnZlcnNpb24gdG8gIlVURi04Ii4gIFF1aXRpbmcuCgAgPHY6c2hhcGUgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIgZmlsbGVkPSJmYWxzZSI+ADx2OnBhdGggdj0iACBtIAAlLjBmLCUuMGYgACBsIAAgZSAAIi8+ADwvdjpzaGFwZT4KADx2OnN0cm9rZSBjb2xvcj0iACIgd2VpZ2h0PSIlLjBmcHQAIiBkYXNoc3R5bGU9ImRhc2gAIiBkYXNoc3R5bGU9ImRvdAAiIC8+ACMlMDJ4JTAyeCUwMngAZ3ZyZW5kZXJfY29yZV92bWwuYwB2bWxfcHJpbnRfY29sb3IAIHdpZHRoOiAlZDsgaGVpZ2h0OiAlZCIAID4APHY6cGF0aCAgdj0iAC8+PC92OnNoYXBlPgoAbSAAJXMlLjBmLCUuMGYgAGMgACBmaWxsZWQ9InRydWUiIGZpbGxjb2xvcj0iACIgACBmaWxsZWQ9ImZhbHNlIiAAJS4wZiAlLjBmIABsIAB4IGUgIi8+ACAgPHY6b3ZhbCBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7ACBsZWZ0OiAlLjJmOyB0b3A6ICUuMmY7ACB3aWR0aDogJS4yZjsgaGVpZ2h0OiAlLjJmIgA8L3Y6b3ZhbD4KADx2OnJlY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyAAIHN0cm9rZWQ9ImZhbHNlIiBmaWxsZWQ9ImZhbHNlIj4KADx2OnRleHRib3ggaW5zZXQ9IjAsMCwwLDAiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgdi10ZXh0LXdyYXBwaW5nOidmYWxzZSc7cGFkZGluZzonMCc7AGZvbnQtZmFtaWx5OiAnJXMnOwBmb250LXdlaWdodDogJXM7AGZvbnQtc3RyZXRjaDogJXM7AGZvbnQtc3R5bGU6ICVzOwAgZm9udC1zaXplOiAlLjJmcHQ7AGNvbG9yOiVzOwBjb2xvcjojJTAyeCUwMnglMDJ4OwB2bWxfdGV4dHNwYW4AIj48Y2VudGVyPgA8L2NlbnRlcj48L3Y6dGV4dGJveD4KADwvdjpyZWN0PgoAPC9hPgoAPGEAIGhyZWY9IiVzIgAgdGl0bGU9IiVzIgAgdGFyZ2V0PSIlcyIAPgoAPC92Omdyb3VwPgoAPC9ESVY+CgA8RElWIGlkPSdfVk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbiI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgaHRtbCBjb250ZW50IGhlcmUgLS0+CgA8RElWIGlkPSdfbm90Vk1MMV8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSB0aGlzIHNob3VsZCBvbmx5IGRpc3BsYXkgb24gTk9OLUlFIGJyb3dzZXJzIC0tPgoAPEgyPlNvcnJ5LCB0aGlzIGRpYWdyYW0gd2lsbCBvbmx5IGRpc3BsYXkgY29ycmVjdGx5IG9uIEludGVybmV0IEV4cGxvcmVyIDUgKGFuZCB1cCkgYnJvd3NlcnMuPC9IMj4KADxESVYgaWQ9J19ub3RWTUwyXycgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlOyI+CgA8IS0tIGluc2VydCBhbnkgb3RoZXIgTk9OLUlFIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPC9CT0RZPgo8L0hUTUw+CgA8SEVBRD4APE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoAPFRJVExFPgA8L1RJVExFPgA8IS0tIFBhZ2VzOiAlZCAtLT4KACAgIDxTQ1JJUFQgTEFOR1VBR0U9J0phdmFzY3JpcHQnPgoAICAgZnVuY3Rpb24gYnJvd3NlcmNoZWNrKCkKACAgIHsKACAgICAgIHZhciB1YSA9IHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50CgAgICAgICB2YXIgbXNpZSA9IHVhLmluZGV4T2YgKCAnTVNJRSAnICkKACAgICAgIHZhciBpZXZlcnM7CgAgICAgICB2YXIgaXRlbTsKACAgICAgIHZhciBWTUx5ZXM9bmV3IEFycmF5KCdfVk1MMV8nLCdfVk1MMl8nKTsKACAgICAgIHZhciBWTUxubz1uZXcgQXJyYXkoJ19ub3RWTUwxXycsJ19ub3RWTUwyXycpOwoAICAgICAgaWYgKCBtc2llID4gMCApeyAgICAgIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKACAgICAgICAgIGlldmVycz0gcGFyc2VJbnQgKHVhLnN1YnN0cmluZyAobXNpZSs1LCB1YS5pbmRl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bGUgMTAwMDAKfQovL21pc3QKZm9nIHsgZm9nX3R5cGUgMgogICAgZGlzdGFuY2UgNTAKICAgIGNvbG9yIHJnYiA8MS4wMCwgMS4wMCwgMS4wMD4gKiAwLjc1CiAgICBmb2dfb2Zmc2V0IDAuMTAKICAgIGZvZ19hbHQgMS41MAogICAgdHVyYnVsZW5jZSAxLjc1Cn0KLy9nbmQKcGxhbmUgeyA8MC4wMCwgMS4wMCwgMC4wMD4sIDAKICAgIHRleHR1cmUgewogICAgICAgIHBpZ21lbnR7IGNvbG9yIHJnYiA8MC4yNSwgMC40NSwgMC4wMD4gfQogICAgICAgIG5vcm1hbCB7IGJ1bXBzIDAuNzUgc2NhbGUgMC4wMSB9CiAgICAgICAgZmluaXNoIHsgcGhvbmcgMC4xMCB9CiAgICB9Cn0KAGxpZ2h0X3NvdXJjZSB7IDwxNTAwLDMwMDAsLTI1MDA+IGNvbG9yIFdoaXRlIH0KACN2ZXJzaW9uIDMuNjsKAGdsb2JhbF9zZXR0aW5ncyB7IGFzc3VtZWRfZ2FtbWEgMS4wIH0KACNkZWZhdWx0IHsgZmluaXNoIHsgYW1iaWVudCAwLjEgZGlmZnVzZSAwLjkgfSB9CgAjaW5jbHVkZSAiY29sb3JzLmluYyIKI2luY2x1ZGUgInRleHR1cmVzLmluYyIKI2luY2x1ZGUgInNoYXBlcy5pbmMiCgAjZGVjbGFyZSAlcyA9ICVzOwoAQmxhY2sAV2hpdGUAYmFrZXJzY2hvYwBicmFzcwBicmlnaHRnb2xkAGJyb256ZQBicm9uemUyAGNsZWFyAGNvb2xjb3BwZXIAY29wcGVyAGRhcmticm93bgBkYXJrcHVycGxlAGRhcmt0YW4AZGFya3dvb2QAZGtncmVlbmNvcHBlcgBkdXN0eXJvc2UAZmVsZHNwYXIAZmxlc2gAZ3JheTA1AGdyZWVuY29wcGVyAGh1bnRlcnNncmVlbgBsaWdodF9wdXJwbGUAbGlnaHR3b29kAG1hbmRhcmlub3JhbmdlAG1lZGl1bWZvcmVzdGdyZWVuAG1lZGl1bWdvbGRlbnJvZABtZWRpdW13b29kAG1lZF9wdXJwbGUAbWljYQBuZW9uYmx1ZQBuZW9ucGluawBuZXdtaWRuaWdodGJsdWUAbmV3dGFuAG9sZGdvbGQAcXVhcnR6AHJpY2hibHVlAHNjYXJsZXQAc2VtaVN3ZWV0Q2hvYwBzaWx2ZXIAc3BpY3lwaW5rAHN1bW1lcnNreQB2ZXJ5ZGFya2Jyb3duAHZlcnlfbGlnaHRfcHVycGxlAHBvdgBwb3Y6cG92ACVzICVzCgAuXCIgACAlZCAlZAAgJXMKACAlZABmaWxsIABlbGxpcHNlIGF0dHJzJWQgJXN3aWQgJS41ZiBodCAlLjVmIGF0ICglLjVmLCUuNWYpOwoALmZ0ICVzCgAucHMgJWQqXG4oU0Z1LyUuMGZ1CgAiJXMiIGF0ICglLjVmLCUuNWYpOwoAJTAzbwAlcyVzIGlzIG5vdCBhIHRyb2ZmIGZvbnQKAGRvdCBwaWMgcGx1Z2luOiAAUgBdCi5QRQoALlBTICUuNWYgJS41ZgoAJXMgdG8gY2hhbmdlIGRyYXdpbmcgc2l6ZSwgbXVsdGlwbHkgdGhlIHdpZHRoIGFuZCBoZWlnaHQgb24gdGhlIC5QUyBsaW5lIGFib3ZlIGFuZCB0aGUgbnVtYmVyIG9uIHRoZSB0d28gbGluZXMgYmVsb3cgKHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgaW50ZWdlcikgYnkgYSBzY2FsZSBmYWN0b3IKAC5uciBTRiAlLjBmCnNjYWxldGhpY2tuZXNzID0gJS4wZgoAJXMgZG9uJ3QgY2hhbmdlIGFueXRoaW5nIGJlbG93IHRoaXMgbGluZSBpbiB0aGlzIGRyYXdpbmcKACVzIG5vbi1mYXRhbCBydW4tdGltZSBwaWMgdmVyc2lvbiBkZXRlcm1pbmF0aW9uLCB2ZXJzaW9uIDIKAGJveHJhZD0yLjAgJXMgd2lsbCBiZSByZXNldCB0byAwLjAgYnkgZ3BpYyBvbmx5CgBzY2FsZT0xLjAgJXMgcmVxdWlyZWQgZm9yIGNvbXBhcmlzb25zCgAlcyBib3hyYWQgaXMgbm93IDAuMCBpbiBncGljLCBlbHNlIGl0IHJlbWFpbnMgMi4wCgAlcyBkYXNod2lkIGlzIDAuMSBpbiAxMHRoIEVkaXRpb24sIDAuMDUgaW4gRFdCIDIgYW5kIGluIGdwaWMKACVzIGZpbGx2YWwgaXMgMC4zIGluIDEwdGggRWRpdGlvbiAoZmlsbCAwIG1lYW5zIGJsYWNrKSwgMC41IGluIGdwaWMgKGZpbGwgMCBtZWFucyB3aGl0ZSksIHVuZGVmaW5lZCBpbiBEV0IgMgoAJXMgZmlsbCBoYXMgbm8gbWVhbmluZyBpbiBEV0IgMiwgZ3BpYyBjYW4gdXNlIGZpbGwgb3IgZmlsbGVkLCAxMHRoIEVkaXRpb24gdXNlcyBmaWxsIG9ubHkKACVzIERXQiAyIGRvZXNuJ3QgdXNlIGZpbGwgYW5kIGRvZXNuJ3QgZGVmaW5lIGZpbGx2YWwKACVzIHJlc2V0IHdvcmtzIGluIGdwaWMgYW5kIDEwdGggZWRpdGlvbiwgYnV0IGlzbid0IGRlZmluZWQgaW4gRFdCIDIKACVzIERXQiAyIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMKAGlmIGJveHJhZCA+IDEuMCAmJiBkYXNod2lkIDwgMC4wNzUgdGhlbiBYCglmaWxsdmFsID0gMTsKCWRlZmluZSBmaWxsIFkgWTsKCWRlZmluZSBzb2xpZCBZIFk7CglkZWZpbmUgcmVzZXQgWSBzY2FsZT0xLjAgWTsKWAoAcmVzZXQgJXMgc2V0IHRvIGtub3duIHN0YXRlCgAlcyBHTlUgcGljIHZzLiAxMHRoIEVkaXRpb24gZFwoZSd0ZW50ZQoAaWYgZmlsbHZhbCA+IDAuNCB0aGVuIFgKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IDEgLSBZOwoJZGVmaW5lIGJvbGQgWSB0aGlja25lc3MgMiBZOwoACSVzIGlmIHlvdSB1c2UgZ3BpYyBhbmQgaXQgYmFyZnMgb24gZW5jb3VudGVyaW5nICJzb2xpZCIsCgAJJXMJaW5zdGFsbCBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgZ3BpYyBvciBzd2l0Y2ggdG8gRFdCIG9yIDEwdGggRWRpdGlvbiBwaWM7CgAJJXMJc29ycnksIHRoZSBncm9mZiBmb2xrcyBjaGFuZ2VkIGdwaWM7IHNlbmQgYW55IGNvbXBsYWludCB0byB0aGVtOwoAWCBlbHNlIFoKCWRlZmluZSBzZXRmaWxsdmFsIFkgZmlsbHZhbCA9IFk7CglkZWZpbmUgYm9sZCBZIFk7CglkZWZpbmUgZmlsbGVkIFkgZmlsbCBZOwpaCgAlcyBhcnJvd2hlYWQgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGFycm93aGVhZCA9IDcgbWFrZXMgZmlsbGVkIGFycm93aGVhZHMgaW4gZ3BpYyBhbmQgaW4gMTB0aCBFZGl0aW9uCgAlcyBhcnJvd2hlYWQgaXMgdW5kZWZpbmVkIGluIERXQiAyLCBpbml0aWFsbHkgMSBpbiBncGljLCAyIGluIDEwdGggRWRpdGlvbgoAYXJyb3doZWFkID0gNyAlcyBub3QgdXNlZCBieSBncmFwaHZpegoAJXMgR05VIHBpYyBzdXBwb3J0cyBhIGJveHJhZCB2YXJpYWJsZSB0byBkcmF3IGJveGVzIHdpdGggcm91bmRlZCBjb3JuZXJzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAYm94cmFkID0gMCAlcyBubyByb3VuZGVkIGNvcm5lcnMgaW4gZ3JhcGh2aXoKACVzIEdOVSBwaWMgc3VwcG9ydHMgYSBsaW5ldGhpY2sgdmFyaWFibGUgdG8gc2V0IGxpbmUgdGhpY2tuZXNzOyBEV0IgYW5kIDEwdGggRWQuIGRvIG5vdAoAbGluZXRoaWNrID0gMDsgb2xkbGluZXRoaWNrID0gbGluZXRoaWNrCgAlcyAuUFMgdy9vIGFyZ3MgY2F1c2VzIEdOVSBwaWMgdG8gc2NhbGUgZHJhd2luZyB0byBmaXQgOC41eDExIHBhcGVyOyBEV0IgZG9lcyBub3QKACVzIG1heHBzaHQgYW5kIG1heHBzd2lkIGhhdmUgbm8gbWVhbmluZyBpbiBEV0IgMi4wLCBzZXQgcGFnZSBib3VuZGFyaWVzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgbWF4cHNodCBhbmQgbWF4cHN3aWQgYXJlIHByZWRlZmluZWQgdG8gMTEuMCBhbmQgOC41IGluIGdwaWMKAG1heHBzaHQgPSAlZgptYXhwc3dpZCA9ICVmCgBEb3Q6IFsKAGRlZmluZSBhdHRyczAgJSUgJSU7IGRlZmluZSB1bmZpbGxlZCAlJSAlJTsgZGVmaW5lIHJvdW5kZWQgJSUgJSU7IGRlZmluZSBkaWFnb25hbHMgJSUgJSUKACVzJXMgdW5zdXBwb3J0ZWQKAHJvdGF0aW9uACVzIHJlc3RvcmUgcG9pbnQgc2l6ZSBhbmQgZm9udAoucHMgXG4oLlMKLmZ0IFxuKERGCgAlcyBDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKACVzIFRpdGxlOiAlcwoAJXMgc2F2ZSBwb2ludCBzaXplIGFuZCBmb250Ci5uciAuUyBcbigucwoubnIgREYgXG4oLmYKAHBpYwBwaWM6cGljAHBuZzpzdmcAZ2lmOnN2ZwBqcGVnOnN2ZwBqcGU6c3ZnAGpwZzpzdmcAcG5nOmZpZwBnaWY6ZmlnAGpwZWc6ZmlnAGpwZTpmaWcAanBnOmZpZwBwbmc6dnJtbABnaWY6dnJtbABqcGVnOnZybWwAanBlOnZybWwAanBnOnZybWwAZXBzOnBzAHBzOnBzAChsaWIpOnBzAHBuZzptYXAAZ2lmOm1hcABqcGVnOm1hcABqcGU6bWFwAGpwZzptYXAAcHM6bWFwAGVwczptYXAAc3ZnOm1hcABwbmc6ZG90AGdpZjpkb3QAanBlZzpkb3QAanBlOmRvdABqcGc6ZG90AHBzOmRvdABlcHM6ZG90AHN2Zzpkb3QAcG5nOnhkb3QAZ2lmOnhkb3QAanBlZzp4ZG90AGpwZTp4ZG90AGpwZzp4ZG90AHBzOnhkb3QAZXBzOnhkb3QAc3ZnOnhkb3QAc3ZnOnN2ZwBwbmc6dm1sAGdpZjp2bWwAanBlZzp2bWwAanBlOnZtbABqcGc6dm1sAGdpZjp0awBpbWFnZSBjcmVhdGUgcGhvdG8gInBob3RvXyVzIiAtZmlsZSAiJXMiCgAkYyBjcmVhdGUgaW1hZ2UgJS4yZiAlLjJmIC1pbWFnZSAicGhvdG9fJXMiCgA8djppbWFnZSBzcmM9IiVzIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDolLjJmOyBoZWlnaHQ6JS4yZjsgbGVmdDolLjJmIDsgdG9wOiUuMmYiACAvPgoAZ3Zsb2FkaW1hZ2VfY29yZS5jAGNvcmVfbG9hZGltYWdlX3BzbGliAFsgACVnICVnIABdICAlZCB0cnVlICVzCgBdICAlZCBmYWxzZSAlcwoAY29yZV9sb2FkaW1hZ2VfcHMAZ3NhdmUgJWcgJWcgdHJhbnNsYXRlIG5ld3BhdGgKAHVzZXJfc2hhcGVfJWQKAGdyZXN0b3JlCgBjb3JlX2xvYWRpbWFnZV92cm1sAFNoYXBlIHsKACAgYXBwZWFyYW5jZSBBcHBlYXJhbmNlIHsKACAgICBtYXRlcmlhbCBNYXRlcmlhbCB7CgAgICAgICBhbWJpZW50SW50ZW5zaXR5IDAuMzMKACAgICAgICAgZGlmZnVzZUNvbG9yIDEgMSAxCgAgICAgfQoAICAgIHRleHR1cmUgSW1hZ2VUZXh0dXJlIHsgdXJsICIlcyIgfQoAICB9CgBjb3JlX2xvYWRpbWFnZV9maWcAJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJS4xZiAlZCAlZCAlZCAlZCAlZCAlZAogJWQgJXMKACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAoAY29yZV9sb2FkaW1hZ2Vfc3ZnADxpbWFnZSB4bGluazpocmVmPSIAIiB3aWR0aD0iJWdweCIgaGVpZ2h0PSIlZ3B4IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB4PSIlZyIgeT0iJWciACB0cmFuc2Zvcm09InJvdGF0ZSglZCAlZyAlZykiACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeD0iJWciIHk9IiVnIgAvPgoAZG90X2xheW91dABwaGFzZQBkb3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBmb3IgZGlzY29ubmVjdGVkIGdyYXBocyBvciBncmFwaHMgd2l0aCBjbHVzdGVycwoAY29tcG91bmQAdiA9PSBuAGRvdGluaXQuYwByZW1vdmVfZnJvbV9yYW5rAG9yZGVyAGVkZ2UgbGFiZWxzIHdpdGggc3BsaW5lcz1jdXJ2ZWQgbm90IHN1cHBvcnRlZCBpbiBkb3QgLSB1c2UgeGxhYmVscwoARURfbGFiZWwoZmUpAGRvdHNwbGluZXMuYwBfZG90X3NwbGluZXMAZmxhdCBlZGdlIGJldHdlZW4gYWRqYWNlbnQgbm9kZXMgb25lIG9mIHdoaWNoIGhhcyBhIHJlY29yZCBzaGFwZSAtIHJlcGxhY2UgcmVjb3JkcyB3aXRoIEhUTUwtbGlrZSBsYWJlbHMKACAgRWRnZSAlcyAlcyAlcwoAeHh4ADEwMDAwAHslc30AYXV4ZwBsYWJlbF9mbG9hdABmaXhlZAAobCA9IEVEX2xhYmVsKGZlKSkAc2V0RWRnZUxhYmVsUG9zAGUgIT0gTlVMTABmYXN0Z3IuYwBkZWxldGVfZmFzdF9lZGdlAG4gIT0gTkRfbmV4dChuKQBmYXN0X25vZGUAdSAhPSB2AGZhc3Rfbm9kZWFwcABORF9uZXh0KHYpID09IE5VTEwAZmluZF9mYXN0X25vZGUoZywgbikAZGVsZXRlX2Zhc3Rfbm9kZQBkZWxldGVfZmxhdF9lZGdlAG1lcmdlX29uZXdheSBnbGl0Y2gKAG1lcmdlX29uZXdheQBzYWZlX2RlbGV0ZV9mYXN0X2VkZ2UAbGcAaW5mbwBjb21wAGNudCA9PSBzegBtaW5jcm9zcy5jAGZpeExhYmVsT3JkZXIAcmVtaW5jcm9zcwBtaW5jcm9zcyAlczogJWQgY3Jvc3NpbmdzLCAlLjJmIHNlY3MuCgB2AG5laWdoYm9yAChydiA9PSAwKSB8fCAoTkRfb3JkZXIocnYpLU5EX29yZGVyKHYpKSpkaXIgPiAwAGNvbnN0cmFpbmluZ19mbGF0X2VkZ2UoZyx2LGUpID09IEZBTFNFAGZsYXRfcmVvcmRlcgBORF9yYW5rKHYpID09IHIAcG9zdG9yZGVyAGZsYXRpbmRleChhZ2hlYWQoZSkpIDwgTS0+bnJvd3MAZmxhdF9zZWFyY2gAZmxhdGluZGV4KGFndGFpbChlKSkgPCBNLT5uY29scwBvdXQAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZC4KAG9yZGVyaW5nICclcycgbm90IHJlY29nbml6ZWQgZm9yIG5vZGUgJyVzJy4KAG1lcmdlMjogZ3JhcGggJXMsIHJhbmsgJWQgaGFzIG9ubHkgJWQgPCAlZCBub2RlcwoAbWluY3Jvc3M6IHBhc3MgJWQgaXRlciAlZCB0cnlpbmcgJWQgY3VyX2Nyb3NzICVkIGJlc3RfY3Jvc3MgJWQKAE5EX29yZGVyKHYpIDwgTkRfb3JkZXIodykAYmFsYW5jZQB0cmFuc3Bvc2Vfc3RlcABzdXJwcmlzZQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiAlcyAlcyByYW5rICVkIGkgPSAlZCBhbiA9IDAKAEdEX3JhbmsoZylbcl0ubiA8PSBHRF9yYW5rKGcpW3JdLmFuAGluc3RhbGxfaW5fcmFuawBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhSb290KVslZF0uYW4gWyVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiByYW5rICVkIG5vdCBpbiByYW5rIHJhbmdlIFslZCwlZF0KAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogR0RfcmFuayhnKVslZF0udiArIE5EX29yZGVyKCVzKSBbJWRdID4gR0RfcmFuayhnKVslZF0uYXYgKyBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBfbmV3X3JhbmsAbWNsaW1pdAByYW5rKGcsIDIsIG5zaXRlcjIoZykpID09IDAAcG9zaXRpb24uYwBkb3RfcG9zaXRpb24AQVI9JTAuNGxmCSBBcmVhPSAlMC40bGYJAER1bW15PSVkCgBHb2luZyB0byBhcHBseSBhbm90aGVyIGV4cGFuc2lvbi4KAG5leHQjaXRlcj0lZAoAaHAAY29ubmVjdEdyYXBoAEVkZ2UgbGVuZ3RoICVmIGxhcmdlciB0aGFuIG1heGltdW0gJXUgYWxsb3dlZC4KQ2hlY2sgZm9yIG92ZXJ3aWRlIG5vZGUocykuCgBuc2xpbWl0AGNvbnRhaW5fbm9kZXMgY2x1c3QgJXMgcmFuayAlZCBtaXNzaW5nIG5vZGUKAG5zbGltaXQxAG5ld3JhbmsATWF4cmFuayA9ICVkLCBtaW5yYW5rID0gJWQKAGxlYWRlciAhPSBOVUxMAHJhbmsuYwBjbHVzdGVyX2xlYWRlcgAoTkRfVUZfc2l6ZShuKSA8PSAxKSB8fCAobiA9PSBsZWFkZXIpAGFnaGVhZChlKSA9PSBVRl9maW5kKGFnaGVhZChlKSkAbWlubWF4X2VkZ2VzAGFndGFpbChlKSA9PSBVRl9maW5kKGFndGFpbChlKSkAcmFuawBzYW1lAG1pbgBzb3VyY2UAbWF4AHNpbmsAbGV2ZWwgYXNzaWdubWVudCBjb25zdHJhaW50cwBsZXZlbCBncmFwaCByZWMAf3Jvb3QAf3RvcAB/Ym90AGNvbXBhY3QAX3dlYWtfJWQAcmFua2luZzogZmFpbHVyZSB0byBjcmVhdGUgc3Ryb25nIGNvbnN0cmFpbnQgZWRnZSBiZXR3ZWVuIG5vZGVzICVzIGFuZCAlcwoAJXMgaGFzIHVucmVjb2duaXplZCByYW5rPSVzAGxldmVsIGVkZ2UgcmVjAGxldmVsIG5vZGUgcmVjAHNhbWVoZWFkAHNhbWV0YWlsAHRvbyBtYW55ICg+ICVkKSBzYW1le2hlYWQsdGFpbH0gZ3JvdXBzIGZvciBub2RlICVzCgBjb21iaUFSID0gJWxmCgAlbGYsJWQAdGhlIGFzcGVjdCBhdHRyaWJ1dGUgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIGltcGxlbWVudGF0aW9uIGZsYXdzIC0gYXR0cmlidXRlIGlnbm9yZWQuCgBFRF90b192aXJ0KGUpID09IE5VTEwAY2xhc3MyLmMAbWVyZ2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSA9PSBOVUxMAG1ha2VfY2hhaW4ARURfdG9fdmlydChvcmlnKSAhPSBOVUxMAE5EX3JhbmsoZnJvbSkgPCBORF9yYW5rKHRvKQBjbHVzdGVyLmMAbWFwX3BhdGgAJXMgd2FzIGFscmVhZHkgaW4gYSByYW5rc2V0LCBkZWxldGVkIGZyb20gY2x1c3RlciAlcwoAbGhlYWQAbHRhaWwAJXMgLT4gJXM6IHNwbGluZSBzaXplID4gMSBub3Qgc3VwcG9ydGVkCgAlcyAtPiAlczogaGVhZCBub3QgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAJXMgLT4gJXM6IHRhaWwgaXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAYmV6LT5zZmxhZwBjb21wb3VuZC5jAG1ha2VDb21wb3VuZEVkZ2UAYmV6LT5lZmxhZwAlcyAtPiAlczogdGFpbCBub3QgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAJXMgLT4gJXM6IGhlYWQgaXMgaW5zaWRlIHRhaWwgY2x1c3RlciAlcwoAc2VnbWVudCBbJXMsJXNdIGRvZXMgbm90IGludGVyc2VjdCBib3ggbGw9JXMsdXI9JXMKAGJveEludGVyc2VjdGYAKCUuNWcsJS41ZykAY2x1c3RlciBuYW1lZCAlcyBub3QgZm91bmQKAGNvbmNlbnRyYXRlPXRydWUgbWF5IG5vdCB3b3JrIGNvcnJlY3RseS4KAHJlYnVpbHRkX3ZsaXN0czogcmFuayBsZWFkICVzIG5vdCBpbiBvcmRlciAlZCBvZiByYW5rICVkCgBkZWdlbmVyYXRlIGNvbmNlbnRyYXRlZCByYW5rICVzLCVkCgBORF9pbihyaWdodCkuc2l6ZSArIE5EX291dChyaWdodCkuc2l6ZSA9PSAwAGNvbmMuYwBtZXJnZXZpcnR1YWwAZG90OiBPdXQgb2YgbWVtb3J5CgBORF9vdXQodikuc2l6ZSA9PSAyAGZsYXQuYwBzZXRib3VuZHMAR0RfbWlucmFuayhnKSA9PSAwAGFib21pbmF0aW9uAEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1p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a01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTAB0YXJnZXQAZWRnZXRhcmdldABsYWJlbHRhcmdldAB0YWlsdGFyZ2V0AGhlYWR0YXJnZXQAZWRnZXRvb2x0aXAAbGFiZWx0b29sdGlwAHRhaWx0b29sdGlwAGhlYWR0b29sdGlwAAFuZXN0aW5nIG5vdCBhbGxvd2VkIGluIHN0eWxlOiAlcwoAdW5tYXRjaGVkICcpJyBpbiBzdHlsZTogJXMKAHRydW5jYXRpbmcgc3R5bGUgJyVzJwoAdW5tYXRjaGVkICcoJyBpbiBzdHlsZTogJXMKAGFsbABiZ2NvbG9yAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAbGFiZWwAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBncmFkaWVudGFuZ2xlAGZpbGxjb2xvcgBzdHlsZQBmb250c2l6ZQBmb250bmFtZQBmb250Y29sb3IAeGxhYmVsAHBlbndpZHRoAHNpZGVzAHBlcmlwaGVyaWVzAHNrZXcAZGlzdG9ydGlvbgBmaXhlZHNpemUAbm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGlkAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAc2hhcGUAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAYm94AHBvbHlnb24Ab3ZhbABjaXJjbGUAcG9pbnQAZWdnAHRyaWFuZ2xlAHBsYWludGV4dABwbGFpbgBkaWFtb25kAHRyYXBleml1bQBwYXJhbGxlbG9ncmFtAGhvdXNlAHBlbnRhZ29uAGhleGFnb24Ac2VwdGFnb24Ab2N0YWdvbgBub3RlAHRhYgBmb2xkZXIAYm94M2QAY29tcG9uZW50AGN5bGluZGVyAHJlY3QAcmVjdGFuZ2xlAHNxdWFyZQBkb3VibGVjaXJjbGUAZG91Ymxlb2N0YWdvbgB0cmlwbGVvY3RhZ29uAGludnRyaWFuZ2xlAGludnRyYXBleml1bQBpbnZob3VzZQB1bmRlcmxpbmUATWRpYW1vbmQATXNxdWFyZQBNY2lyY2xlAHByb21vdGVyAGNkcwB0ZXJtaW5hdG9yAHV0cgBpbnN1bGF0b3IAcmlib3NpdGUAcm5hc3RhYgBwcm90ZWFzZXNpdGUAcHJvdGVpbnN0YWIAcHJpbWVyc2l0ZQByZXN0cmljdGlvbnNpdGUAZml2ZXBvdmVyaGFuZwB0aHJlZXBvdmVyaGFuZwBub3ZlcmhhbmcAYXNzZW1ibHkAc2lnbmF0dXJlAHJwcm9tb3RlcgBsYXJyb3cAcmFycm93AGxwcm9tb3RlcgByZWNvcmQATXJlY29yZABzdGFyACM4MDgwODAAI2ZjZmNmYwAjMzAzMDMwACNlOGU4ZTgAI2UwZTBlMAAjZjBmMGYwACMxMDEwMTAAI2Y4ZjhmOABpbiBub2RlICVzCgByb3VuZGVkAGRpYWdvbmFscwByYWRpYWwAc3RyaXBlZAB3ZWRnZWQAXwBub2RlICVzLCBwb3J0ICVzLCB1bnJlY29nbml6ZWQgY29tcGFzcyBwb2ludCAnJXMnIC0gaWdub3JlZAoAbm9kZSAlcywgcG9ydCAlcyB1bnJlY29nbml6ZWQKACUuNWcgJS41ZyB0cmFuc2xhdGUgbmV3cGF0aCB1c2VyX3NoYXBlXyVkCgBpbnZpcwAAZmlsbGVkAABzAGUAdwBzcGxpbmVzLmMAYmVnaW5wYXRoAFAtPmVuZC50aGV0YSA8IDIgKiBNX1BJAGVuZHBhdGgAbWFrZVNlbGZFZGdlAGdldHNwbGluZXBvaW50czogbm8gc3BsaW5lIHBvaW50cyBhdmFpbGFibGUgZm9yIGVkZ2UgKCVzLCVzKQoAcG9seWxpbmVNaWRwb2ludABzcGFuLT5mb250AHRleHRzcGFuLmMAdGV4dHNwYW5fc2l6ZQBmb250LT5uYW1lAGZvbnRuYW1lOiAiJXMiIHJlc29sdmVkIHRvOiAlcwoAZm9udG5hbWU6IHVuYWJsZSB0byByZXNvbHZlICIlcyIKAGNvdXIAYXJpYWwAaGVsdmV0aWNhAFtpbnRlcm5hbCB0aW1lc10AW2ludGVybmFsIGNvdXJpZXJdAFtpbnRlcm5hbCBhcmlhbF0AQXZhbnRHYXJkZS1Cb29rAFVSVyBHb3RoaWMgTABib29rAHNhbnMtU2VyaWYAQXZhbnRHYXJkZS1Cb29rT2JsaXF1ZQBvYmxpcXVlAGl0YWxpYwBBdmFudEdhcmRlLURlbWkAZGVtaQBBdmFudEdhcmRlLURlbWlPYmxpcXVlAEJvb2ttYW4tRGVtaQBVUlcgQm9va21hbiBMAHNlcmlmAEJvb2ttYW4tRGVtaUl0YWxpYwBCb29rbWFuLUxpZ2h0AGxpZ2h0AEJvb2ttYW4tTGlnaHRJdGFsaWMAQ291cmllcgBtb25vc3BhY2UAQ291cmllci1Cb2xkAENvdXJpZXItQm9sZE9ibGlxdWUAQ291cmllci1PYmxpcXVlAEhlbHZldGljYQBIZWx2ZXRpY2EtQm9sZABIZWx2ZXRpY2EtQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdwBjb25kZW5zZWQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkAEhlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUASGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlAEhlbHZldGljYS1PYmxpcXVlAE5ld0NlbnR1cnlTY2hsYmstQm9sZABDZW50dXJ5IFNjaG9vbGJvb2sgTABOZXdDZW50dXJ5U2NobGJrLUJvbGRJdGFsaWMATmV3Q2VudHVyeVNjaGxiay1JdGFsaWMATmV3Q2VudHVyeVNjaGxiay1Sb21hbgByb21hbgBQYWxhdGluby1Cb2xkAFBhbGF0aW5vIExpbm90eXBlAFBhbGF0aW5vLUJvbGRJdGFsaWMAUGFsYXRpbm8tSXRhbGljAFBhbGF0aW5vLVJvbWFuAFN5bWJvbABmYW50YXN5AFRpbWVzLUJvbGQAVGltZXMAVGltZXMtQm9sZEl0YWxpYwBUaW1lcy1JdGFsaWMAWmFwZkNoYW5jZXJ5LU1lZGl1bUl0YWxpYwBVUlcgQ2hhbmNlcnkgTABtZWRpdW0AWmFwZkRpbmdiYXRzAERpbmdiYXRzAG5vAHRydWUAeWVzAHV0aWxzLmMAdSA9PSBVRl9maW5kKHUpAFVGX3NldG5hbWUAAWZpbGUgbG9hZGluZyBpcyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBlbnZpcm9ubWVudCBjb250YWlucyBTRVJWRVJfTkFNRT0iJXMiCmFuZCB0aGUgR1ZfRklMRV9QQVRIIHZhcmlhYmxlIGlzIHVuc2V0IG9yIGVtcHR5LgoAUGF0aCBwcm92aWRlZCB0byBmaWxlOiAiJXMiIGhhcyBiZWVuIGlnbm9yZWQgYmVjYXVzZSBmaWxlcyBhcmUgb25seSBwZXJtaXR0ZWQgdG8gYmUgbG9hZGVkIGZyb20gdGhlIGRpcmVjdG9yaWVzIGluICIlcyIgd2hlbiBydW5uaW5nIGluIGFuIGh0dHAgc2VydmVyLgoAJXMlcyVzAC8AOgBlbGxpcHNlAFRpbWVzLVJvbWFuAGNsdXN0ZXIAX19jbHVzdGVybm9kZXMAVHdvIGNsdXN0ZXJzIG5hbWVkICVzIC0gdGhlIHNlY29uZCB3aWxsIGJlIGlnbm9yZWQKAG1hcE4AQUVsaWcAQWFjdXRlAEFjaXJjAEFncmF2ZQBBbHBoYQBBcmluZwBBdGlsZGUAQXVtbABCZXRhAENjZWRpbABDaGkARGFnZ2VyAERlbHRhAEVUSABFYWN1dGUARWNpcmMARWdyYXZlAEVwc2lsb24ARXRhAEV1bWwAR2FtbWEASWFjdXRlAEljaXJjAElncmF2ZQBJb3RhAEl1bWwAS2FwcGEATGFtYmRhAE11AE50aWxkZQBOdQBPRWxpZwBPYWN1dGUAT2NpcmMAT2dyYXZlAE9tZWdhAE9taWNyb24AT3NsYXNoAE90aWxkZQBPdW1sAFBoaQBQaQBQcmltZQBQc2kAUmhvAFNjYXJvbgBTaWdtYQBUSE9STgBUYXUAVGhldGEAVWFjdXRlAFVjaXJjAFVncmF2ZQBVcHNpbG9uAFV1bWwAWGkAWWFjdXRlAFl1bWwAWmV0YQBhYWN1dGUAYWNpcmMAYWN1dGUAYWVsaWcAYWdyYXZlAGFsZWZzeW0AYWxwaGEAYW1wAGFuZABhbmcAYXJpbmcAYXN5bXAAYXRpbGRlAGF1bWwAYmRxdW8AYmV0YQBicnZiYXIAYnVsbABjYXAAY2NlZGlsAGNlZGlsAGNlbnQAY2hpAGNpcmMAY2x1YnMAY29uZwBjb3B5AGNyYXJyAGN1cABjdXJyZW4AZEFycgBkYWdnZXIAZGFycgBkZWcAZGVsdGEAZGlhbXMAZGl2aWRlAGVhY3V0ZQBlY2lyYwBlZ3JhdmUAZW1wdHkAZW1zcABlbnNwAGVwc2lsb24AZXF1aXYAZXRhAGV0aABldW1sAGV1cm8AZXhpc3QAZm5vZgBmb3JhbGwAZnJhYzEyAGZyYWMxNABmcmFjMzQAZnJhc2wAZ2FtbWEAZ2UAZ3QAaEFycgBoYXJyAGhlYXJ0cwBoZWxsaXAAaWFjdXRlAGljaXJjAGlleGNsAGlncmF2ZQBpbWFnZQBpbmZpbgBpbnQAaW90YQBpcXVlc3QAaXNpbgBpdW1sAGthcHBhAGxBcnIAbGFtYmRhAGxhbmcAbGFxdW8AbGFycgBsY2VpbABsZHF1bwBsZQBsZmxvb3IAbG93YXN0AGxvegBscm0AbHNhcXVvAGxzcXVvAGx0AG1hY3IAbWRhc2gAbWljcm8AbWlkZG90AG11AG5hYmxhAG5ic3AAbmRhc2gAbmUAbmkAbm90AG5vdGluAG5zdWIAbnRpbGRlAG51AG9hY3V0ZQBvY2lyYwBvZWxpZwBvZ3JhdmUAb2xpbmUAb21lZ2EAb21pY3JvbgBvcGx1cwBvcgBvcmRmAG9yZG0Ab3NsYXNoAG90aWxkZQBvdGltZXMAb3VtbABwYXJhAHBhcnQAcGVybWlsAHBlcnAAcGhpAHBpAHBpdgBwbHVzbW4AcG91bmQAcHJpbWUAcHJvZABwcm9wAHBzaQBxdW90AHJBcnIAcmFkaWMAcmFuZwByYXF1bwByYXJyAHJjZWlsAHJkcXVvAHJlYWwAcmVnAHJmbG9vcgByaG8AcmxtAHJzYXF1bwByc3F1bwBzYnF1bwBzY2Fyb24Ac2RvdABzZWN0AHNoeQBzaWdtYQBzaWdtYWYAc2ltAHNwYWRlcwBzdWIAc3ViZQBzdW0Ac3VwAHN1cDEAc3VwMgBzdXAzAHN1cGUAc3psaWcAdGF1AHRoZXJlNAB0aGV0YQB0aGV0YXN5bQB0aGluc3AAdGhvcm4AdGlsZGUAdGltZXMAdHJhZGUAdUFycgB1YWN1dGUAdWFycgB1Y2lyYwB1Z3JhdmUAdW1sAHVwc2loAHVwc2lsb24AdXVtbAB3ZWllcnAAeGkAeWFjdXRlAHllbgB5dW1sAHpldGEAendqAHp3bmoAVVRGOCBjb2RlcyA+IDQgYnl0ZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIChncmFwaCAlcykgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAEludmFsaWQgJWQtYnl0ZSBVVEY4IGZvdW5kIGluIGlucHV0IG9mIGdyYXBoICVzIC0gdHJlYXRlZCBhcyBMYXRpbi0xLiBQZXJoYXBzICItR2NoYXJzZXQ9bGF0aW4xIiBpcyBuZWVkZWQ/CgBiei5zaXplAG92ZXJsYXBfYmV6aWVyAHVydmVkAG9tcG91bmQAYWxzZQBpbmUAb25lAG8AcnRobwBvbHlsaW5lAHBsaW5lAHJ1ZQBlcwBVbmtub3duICJzcGxpbmVzIiB2YWx1ZTogIiVzIiAtIGlnbm9yZWQKAHNwbGluZXMAb2RiAE9ydGhvZ29uYWwgZWRnZXMgZG8gbm90IGN1cnJlbnRseSBoYW5kbGUgZWRnZSBsYWJlbHMuIFRyeSB1c2luZyB4bGFiZWxzLgoAb3J0aG8gJXMgJXMKAGNoYW5pAG9ydGhvLmMAY2hhblNlYXJjaABjcAAlJSFQUy1BZG9iZS0yLjAKJSUlJUJvdW5kaW5nQm94OiAoYXRlbmQpCi9wb2ludCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIG5ld3BhdGgKICBYIFkgMyAwIDM2MCBhcmMgZmlsbAp9IGRlZgovY2VsbCB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBzdHJva2UKfSBkZWYKL25vZGUgewogL3UgZXhjaCBkZWYKIC9yIGV4Y2ggZGVmCiAvZCBleGNoIGRlZgogL2wgZXhjaCBkZWYKIG5ld3BhdGggbCBkIG1vdmV0bwogciBkIGxpbmV0byByIHUgbGluZXRvIGwgdSBsaW5ldG8KIGNsb3NlcGF0aCBmaWxsCn0gZGVmCgoAJWQgJWQgdHJhbnNsYXRlCgAwLjggMC44IDAuOCBzZXRyZ2Jjb2xvcgoAc2hvd3BhZ2UKJSUlJVRyYWlsZXIKJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAbmV3cGF0aCAlZCAlZCBtb3ZldG8KACVkICVkIGxpbmV0bwoAJWQgJWQgbGluZXRvIHN0cm9rZQoAY2hhbm5lbCAlZCAoJWYsJWYpCgAgLT4KACAgICAgACgoJWYsJWYpLCglZiwlZikpICVzICVzAEJfUklHSFQAQl9ET1dOAEJfTEVGVABCX1VQAEJfTk9ERQBzZWcAbmV4dF9zZWcAZGVjaWRlX3BvaW50AGluY29tcGFyYWJsZSBzZWdtZW50cyAhISAtLSBBYm9ydGluZwoAczEtPmNvbW1fY29vcmQ9PXMyLT5jb21tX2Nvb3JkAGlzX3BhcmFsbGVsAGdyYXBoIEcgewoAIG5vZGVbc2hhcGU9cG9pbnRdCgAgICVkIFtwb3M9IiVkLCVkIl0KACAgJWQgLS0gJWRbbGVuPSIlZiJdCgB9CgBjb2xvciAlcwAlcyBpcyBub3QgYSBrbm93biBjb2xvci4KAGVycm9yIGluIGNvbHhsYXRlKCkKAHNvbGlkAGludmlzaWJsZQBib2xkAHNldGxpbmV3aWR0aABmaWxsZWQAdW5maWxsZWQAdGFwZXJlZABndnJlbmRlcl9zZXRfc3R5bGU6IHVuc3VwcG9ydGVkIHN0eWxlICVzIC0gaWdub3JpbmcKAGd2cmVuZGVyLmMAZ3ZyZW5kZXJfdXNlcnNoYXBlAG5hbWUAbmFtZVswXQB3aWR0aABoZWlnaHQAYm90aABqb2IAZ3Zsb2FkaW1hZ2UuYwBndmxvYWRpbWFnZQB1cwB1cy0+bmFtZQB1cy0+bmFtZVswXQBObyBsb2FkaW1hZ2UgcGx1Z2luIGZvciAiJXMiCgBRAExlZnQAS1BfTGVmdABSaWdodABLUF9SaWdodABVcABLUF9VcABEb3duAEtQX0Rvd24AcGx1cwBLUF9BZGQAbWludXMAS1BfU3VidHJhY3QARgB0b29sdGlwAGVkZ2UAdGFpbHBvcnQAaGVhZHBvcnQAa2V5AGhyZWYAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADEAMgAzADQANQA2ADcAOAA5ADEwADExADEyADEzADE0ADE1ADE2ADE3ADE4ADE5ADIwAEFnbm9kZWluZm9fdABBZ2VkZ2VpbmZvX3QAcm93ZwBjb2xnAEFncmFwaGluZm9fdAA8VEFCTEU+AGRlbHggPj0gMABwb3NfaHRtbF90YmwAZGVseSA+PSAwAHRhYmxlIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCB0YWJsZSBzaXplIHdpdGggdW5zcGVjaWZpZWQgd2lkdGggb3IgaGVpZ2h0CgBjZWxsIHNpemUgdG9vIHNtYWxsIGZvciBjb250ZW50CgBmaXhlZCBjZWxsIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAE5vIG9yIGltcHJvcGVyIGltYWdlIGZpbGU9IiVzIgoAcGVuY29sb3IAY29sb3IALT4ALS0AZlBRLmMAUFFjaGVjawBIZWFwIG92ZXJmbG93CgAlIVBTLUFkb2JlLTIuMAovbm9kZSB7CiAgL1kgZXhjaCBkZWYKICAvWCBleGNoIGRlZgogIC95IGV4Y2ggZGVmCiAgL3ggZXhjaCBkZWYKICBuZXdwYXRoCiAgeCB5IG1vdmV0bwogIHggWSBsaW5ldG8KICBYIFkgbGluZXRvCiAgWCB5IGxpbmV0bwogIGNsb3NlcGF0aCBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAc2hvd3BhZ2UKAGZhaWxlZCBhdCBub2RlICVkWzBdCgBucC0+Y2VsbHNbMF0AbWF6ZS5jAGNoa1NncmFwaABmYWlsZWQgYXQgbm9kZSAlZFsxXQoAbnAtPmNlbGxzWzFdAGRpdGVtcwBmaW5kU1ZlcnQAJSUlJVBhZ2U6IDEgMQolJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoAJWYgJWYgdHJhbnNsYXRlCgAwIDAgMSBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgbm9kZQoAMCAwIDAgc2V0cmdiY29sb3IKACVmICVmICVmICVmIGNlbGwKADEgMCAwIHNldHJnYmNvbG9yCgB1bmV4cGVjdGVkIGNhc2UgaW4gbG9jYXRlX2VuZHBvaW50CgAwAHRyYXBlem9pZC5jAGxvY2F0ZV9lbmRwb2ludABhZGRfc2VnbWVudDogZXJyb3IKAG5ld25vZGU6IFF1ZXJ5LXRhYmxlIG92ZXJmbG93CgBuZXdub2RlAG5ld3RyYXA6IFRyYXBlem9pZC10YWJsZSBvdmVyZmxvdyAlZAoAbmV3dHJhcABpbmRleC5jAFJUcmVlU2VhcmNoAG4tPmxldmVsID49IDAAUlRyZWVJbnNlcnQAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSAoKm4pLT5sZXZlbAByLT5ib3VuZGFyeVtpXSA8PSByLT5ib3VuZGFyeVtOVU1ESU1TICsgaV0AciAmJiBuICYmIG5ldwBSVHJlZUluc2VydDIAbGV2ZWwgPj0gMCAmJiBsZXZlbCA8PSBuLT5sZXZlbABGQUxTRQBub2RlLmMATm9kZUNvdmVyAHIgJiYgbgBQaWNrQnJhbmNoAEFkZEJyYW5jaABpIDwgTk9ERUNBUkQAbmV3AG4gJiYgaSA+PSAwICYmIGkgPCBOT0RFQ0FSRABEaXNjb25CcmFuY2gAcgByZWN0YW5nbGUuYwBSZWN0QXJlYQByICYmIHJyAENvbWJpbmVSZWN0AHIgJiYgcwBPdmVybGFwAG4Ac3BsaXQucS5jAFNwbGl0Tm9kZQBiAG4tPmNvdW50ICsgKCpubiktPmNvdW50ID09IE5PREVDQVJEICsgMQBMb2FkTm9kZXMAcQBwAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMCB8fCBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0ucGFydGl0aW9uW2ldID09IDEAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdICsgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID09IE5PREVDQVJEICsgMQBNZXRob2RaZXJvAHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5jb3VudFswXSA+PSBydHAtPk1pbkZpbGwgJiYgcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzFdID49IHJ0cC0+TWluRmlsbAAhcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnRha2VuW2ldAENsYXNzaWZ5AEdldEJyYW5jaGVzAG4tPmJyYW5jaFtpXS5jaGlsZAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKAICAgICAhAMWQEAH1AIAwcSExRXFhcIC2kMHwoFDA4pESsPLRAvMCAyBjQ1GxwdHgsMISIjJCUmJygMGBkXBAobHBogKgohIiMkJSYnKAwKDlMKLFgxWFhYWFhYDBscDy5YMyEiIyQlJicoGxz/U///ISIjJCUmJygM//8F////CRT//////wwbHP8QFRYhIiMkJSYnKBsc/////yEiIyQlJicoDP8SExQRFhf///////8MGxz///8SISIjJCUmJygbHP////8hIiMkJSYnKAz///////8T////////DBsc/////yEiIyQlJicoGxz/////ISIjJCUmJygSExQVFhcYGf///////////yMkJSYnGxITFBYXIjZoAR84ViEgAhsbG14bGzc5cDbSwk8EPCJHIj8iRCIiWCJlIiIFBl9gOQQHCAkKCwwNDgRmZ11qbQUGb1g7cQcICQoLDA0OBHI8W3M+YUYbEhMUFhcEBQY/QWJJBwgJCgsMDQ4FBgBcAAAHCAkKCwwNDgQAAE8AAABTQgAAAAAABAUGAERUVQcICQoLDA0OBQYAAAAABwgJCgsMDQ4EACosLkcxMwAAAAAAAAQFBgAAAEoHCAkKCwwNDgUGAAAAAAcICQoLDA0OBAAAAAAAAEwAAAAAAAAEBQYAAAAABwgJCgsMDQ4FBgAAAAAHCAkKCwwNDikrLS8wMjQ1AAAAAAAAAAAAKSstMDIABC8AJCMAEhQWGhweIBgABQcvLy8ALy8AAAkIKAAAASICBgAAAAAACAAAAAAAAAAAAAAAAAAlAyYTCikVCyoXDi0ZERsMKx0NLB8PIRAAMwAwAC9DADEALwA1LidCMkEAOjgAPDRFADYAQAAAPwBENzs5PQACAwMBAQIBAQEDAwMDAwMDAwEBAQEBAQEBAQEBAQEBAQECAQECAAYBAwMDAwMBAAECAwAEAQIDAAQABAAEAAMCAQIBAgFTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBiZWZvcmUgPFRBQkxFPgBTeW50YXggZXJyb3I6IG5vbi1zcGFjZSBzdHJpbmcgdXNlZCBhZnRlciA8L1RBQkxFPgAAKSoqKissLC0tLS0tLS0tLS0uLzAxMjM0NTY3ODk6Ozw9Pj4/P0FAQkJCQkJCQ0NERERGRUdHR0lISkhLSExITU1OTk9P/wMPEBEjOiQ9JUAVQyZFJ0gYSxlNGigcTh0eUFFSWVpsa25jZFdpc3ludGF4IGVycm9yAG1lbW9yeSBleGhhdXN0ZWQAJXMgaW4gbGluZSAlZCAKAE5vdCBidWlsdCB3aXRoIGxpYmV4cGF0LiBUYWJsZSBmb3JtYXR0aW5nIGlzIG5vdCBhdmFpbGFibGUuCgByb3V0ZS5jAGxpYnBhdGgvJXM6JWQ6ICVzCgBzaG9ydGVzdC5jAHNvdXJjZSBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGRlc3RpbmF0aW9uIHBvaW50IG5vdCBpbiBhbnkgdHJpYW5nbGUAY2Fubm90IGZpbmQgdHJpYW5nbGUgcGF0aABjYW5ub3QgbWFsbG9jIG9wcwBjYW5ub3QgcmVhbGxvYyBvcHMAdHJpYW5ndWxhdGlvbiBmYWlsZWQAY2Fubm90IG1hbGxvYyB0cmlzAGNhbm5vdCByZWFsbG9jIHRyaXMAY2Fubm90IG1hbGxvYyBkcS5wbmxzAGNhbm5vdCByZWFsbG9jIGRxLnBubHMAY2Fubm90IG1hbGxvYyBwbmxzAGNhbm5vdCBtYWxsb2MgcG5scHMAY2Fubm90IHJlYWxsb2MgcG5scwBjYW5ub3QgcmVhbGxvYyBwbmxwcwBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AABIQExQVFhcYGRobHB0eHyAhEBAiIxAkJSYnKCkqKxAsLS4RLzARETEREREyMzQ1Njc4OREQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQOxA8PT4/QEEQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQQxAQRBBFRkcQSBBJEBAQEEpLTE0QEE4QT1AQEBAQURAQEBAQEBAQEBAQEBBSEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBBTEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVFVWVxAQWFkQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWhBbXF1eX2BhYhAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAD+/wD8AQAA+AEAAHgAAAAA//vf+wAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAD8/+Cv/////////////9///////yBAsAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAD8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAACG/v///wBASQAAAAAAGADf/wDIAAAAAAAAAAEAPAAAAAAAAAAAAAAAABDgAR4AYP+/AAAAAAAA/wcAAAAAAAAAAAAAAAAAAAAAAAAA+M8DAAAAAwAg/38AAABOAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAAAAAEAAgHgAwAAEAAAAAAAAAABAAIAAAAAD8DwAAAAAAAAAQACAAAAAAAAAAAAAAAAAAEAAgAAAAAAMAAAAAAAAAABAAIAAAAAD9AAAAAAAAAAAAACAAAAAA/wcAAAAAAAAAAAAgAAAAAAD/AAAAAAAAABAAIAAAAAAAAAAAAAAAAAAAACAAAAAAPwIAAAAAAAAAAAAEAAAAABAAAAAAAACAAIDA3wAMAAAAAAAAAAAAAAAAAB8AAAAAAAD+////APz//wAAAAAAAAAA/AAAAAAAAMD/3/8HAAAAAAAAAAAAAIAGAPwAABg+AACAvwDMAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABg////HwAA/wMAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABAAAYAAAAAAAAAAAAOAAAAAAQAAAAcAAAAAAAAAAAAAAAAAAAADAAAP5/LwAA/wP/fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOMQAAAAAAAAAAAAAAAAAAAAAAAMT/////AAAAwAAAAAAAAAAAAQDgnwAAAAB/PwAAAAAAAAAAAAAAAAAAAAAQABAAAPz///8fAAAAAAAMAAAAAAAAQAAM8AAAAAAAAMD4AAAAAAAAAMAAAAAAAAAAAP8A////IRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////38AAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAD4ADgAOAAYID4/////P//////fx/88X//fwAA////AwAA/////wEAewPQwa9CAAwfvP//AAAAAAAC//////////////////////////////////////////////////////////8PAP////9/AAAA/wcAAP////////////8/AAAAAAAA/P///v////////////////////////////////////////////////////8f/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADghwP+AAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAD//////3//DwAAAAAAAAAA////+/////////////8PAP//////////////////////////////////PwAAAP8PHv///wH8weAAAAAAAAAAAAAAAB4BAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAD/////DwAAAP///3////////////////////////////////////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAD///////9/AAAAAAAAwADgAAAAAAAAAAAAAACAD3AAAAAAAAAAAAAAAAAAAP8A//9/AAMAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAABECAAAAA//AwAAAAAAAPAAAAAAAAAAAAAQwAAA//8DBwAAAAAA+AAAAAAIgAAAAAAAAAAAAAAIAP8/AMAAAAAAAAAAAAAAAAAAAADwAACACwAAAAAAAACAAgAAwAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA/P8DAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw////A38A//////f/fw8AAAAAAAAAAAAAAAAAAAAAAID+/wD8AQAA+AEAAPg/AAAAAAAAAAAAAAAAAAAAf38AMIf//////4//AAAAAAAA4P//B/8PAAAAAAAA//////8/AAAAAA8AAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAAAAAAAAAAAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwI8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIf/AP8BAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP/z/PwAAAAMAAAAAAAD+AwAAAAAAAAAAAAAAAAAYAA8AAAAAAAAAAAAAAAAAAADhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHAAAAAAAAAAAAAAAAAP///////////////////////////////////////z8A/////3/+////////////////////////////PwAAAAD//////////z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////9/AP//AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAgAACAAAAAgAACAAAAAgAAAAAIAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA//////8P////////////////DwD/f/5//v/+/wAAAAD/B////3//////////D///////BwAAAAAAAAAAwP///wcA//////8H/wEDAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAv///////////H///DwD/////3wcAAP//AQD/////////f/3/////////////////////////////Hv////////8/DwD///8AAAAAAAAAAAAAAAAAAAAAAAD4///////////h/wAAAAAAAP//////////PwAAAAAAAAD//////////////////w8AAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAEhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJEBAQSktMTU4QEBBPUBAQEBBREBAQEBAQEBAQERERUlMQEBAQEBAQEBAQEBERERFUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFVEBAQEFYQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQVxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQWFlaWxAQEBAQEBAQEBAQEBAQEBAQEBAQEBBcEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAD+//8H/v//BwAAAAAABCAE//9/////f//////////////////////////////////D/wMAH1AAAAAAAAAAAAAAIAAAAAAA3zxA1///+////////////7///////////////////////wP8/////////////////////////wD+////fwL+/////wAAAAAA/7+2AP///wcHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wEAAAAAAAAAAP0fAAAAAAAA8AP/f//////////v/9/h/8///v7un/n///3F459ZgLDP/wMA7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AADun/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO7f/f///e/j3x1gA8//AADs3/3///3v498dYEDP/wYA7N/9/////+ffXYAAz/8A/Oz/f/z///svf4Bf/wAADAD+/////3//Bz8g/wMAAAAAliXw/q7s/ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A///58H//39A/zP/////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////hwAAAAD//wAA/////////////x8A/v//////////////////////////////////////////////////////////n////v//B////////////8cBAP/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////AP//////B///////////PwD///8f/w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgAAAAAAAAAAAAAAA////////7//vD/8DAAAAAP//////8////////7//AwD///////8/AP/j//////8/AAAAAAAAAAAAAAAAAN5vAP///////////////////////////////wAAAAAAAAAA//8/P/////8/P/+q////P////////99f3B/PD/8f3B8AAAAAAAAAAAAAAAAAAAKAAAD/HwAAAAAAAAAAAAAAAIT8Lz5Qvf/z4EMAAP//////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD///////8DAAD//////3///////3//////////////////////H3gMAP////+/IP////////+AAAD//38Af39/f39/f3//////AAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAA/gM+H/7///////////9/4P7/////////////9+D/////P/7/////////////fwAA////BwAAAAAAAP///////////////////////////////z8AAAAAAAAAAAD/////////////////////////////////HwAAAAAAAP//////////////////////HwAAAAAAAAAA//////8//x////8PAAD//////3/wj////4D/////////////AAAAAID//P///////////////3kPAP8HAAAAAAAAAAAA/7v3////AAAA////////DwD//////////w8A/wMAAPwI//////8H/////wcA////H/////////f/AID/AwAAAAD///////9/AP8//wP//38E/////////38FAAA4//88AH5+fgB/fwAAAAAAAAAAAAAAAAAAAAAAAP//////B/8D//////////////////////////8PAP//f/j//////w//////////////////P/////////////////8DAAAAAH8A+OD//X9f2/////////////////8DAAAA+P///////////////z8AAP///////////P///////wAAAAAA/w8AAAAAAAAAAAAAAAAAAN//////////////////////HwAA/wP+//8H/v//B8D/////////////f/z8/BwAAAAA/+///3///7f/P/8/AAAAAP///////////////////wcAAAAAAAAAAP///////x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8f////////AQAAAAAA////fwAA////BwAAAAAAAP///z//////D/8+AAAAAAD/////////////////////////P/8DAAAAAAAAAAAAAD/9/////7+R//8/AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8/AP///wMAAAAAAAAAAP/////////AAAAAAAAAAABv8O/+//8PAAAAAAD///8fAAAAAAAAAAAAAAAAAAAAAP///////z8A//8/AP//BwAAAAAAAAAAAAAAAAAAAAAA////////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/AAAAAAAAAAD//////////x4A/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z8A/wMAAAAAAAD/////////////////fwAAAAAAAAAAAAAAAAAAAAAAAP///////////////wcAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////HwD//////38AAPj/AAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////3///////////32Te/+vv/////////7/n39////97X/z9//////////////////////////////////////////////////////8//////f//9/////f//9/////f//9/////f/////3////9///3z////////+////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAATENfQUxMAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBhbG51bQBhbHBoYQBibGFuawBjbnRybABkaWdpdABncmFwaABsb3dlcgBwcmludABwdW5jdABzcGFjZQB1cHBlcgB4ZGlnaXQAQy5VVEYtOAAAAAAAAAAAAEMAL3Byb2Mvc2VsZi9mZC8AcndhAGluZmluaXR5AG5hbgAJAAoADQAMAAcAGwBbWzphbG51bTpdX10AW15bOmFsbnVtOl1fXQBbWzpzcGFjZTpdXQBbXls6c3BhY2U6XV0AW1s6ZGlnaXQ6XV0AW15bOmRpZ2l0Ol1dAC90bXAvdG1wZmlsZV9YWFhYWFgAdys=\";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!==\"undefined\"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self[\"performance\"]&&self[\"performance\"][\"now\"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:\"Success\",1:\"Not super-user\",2:\"No such file or directory\",3:\"No such process\",4:\"Interrupted system call\",5:\"I/O error\",6:\"No such device or address\",7:\"Arg list too long\",8:\"Exec format error\",9:\"Bad file number\",10:\"No children\",11:\"No more processes\",12:\"Not enough core\",13:\"Permission denied\",14:\"Bad address\",15:\"Block device required\",16:\"Mount device busy\",17:\"File exists\",18:\"Cross-device link\",19:\"No such device\",20:\"Not a directory\",21:\"Is a directory\",22:\"Invalid argument\",23:\"Too many open files in system\",24:\"Too many open files\",25:\"Not a typewriter\",26:\"Text file busy\",27:\"File too large\",28:\"No space left on device\",29:\"Illegal seek\",30:\"Read only file system\",31:\"Too many links\",32:\"Broken pipe\",33:\"Math arg out of domain of func\",34:\"Math result not representable\",35:\"File locking deadlock error\",36:\"File or path name too long\",37:\"No record locks available\",38:\"Function not implemented\",39:\"Directory not empty\",40:\"Too many symbolic links\",42:\"No message of desired type\",43:\"Identifier removed\",44:\"Channel number out of range\",45:\"Level 2 not synchronized\",46:\"Level 3 halted\",47:\"Level 3 reset\",48:\"Link number out of range\",49:\"Protocol driver not attached\",50:\"No CSI structure available\",51:\"Level 2 halted\",52:\"Invalid exchange\",53:\"Invalid request descriptor\",54:\"Exchange full\",55:\"No anode\",56:\"Invalid request code\",57:\"Invalid slot\",59:\"Bad font file fmt\",60:\"Device not a stream\",61:\"No data (for no delay io)\",62:\"Timer expired\",63:\"Out of streams resources\",64:\"Machine is not on the network\",65:\"Package not installed\",66:\"The object is remote\",67:\"The link has been severed\",68:\"Advertise error\",69:\"Srmount error\",70:\"Communication error on send\",71:\"Protocol error\",72:\"Multihop attempted\",73:\"Cross mount point (not really error)\",74:\"Trying to read unreadable message\",75:\"Value too large for defined data type\",76:\"Given log. name not unique\",77:\"f.d. invalid for this operation\",78:\"Remote address changed\",79:\"Can access a needed shared lib\",80:\"Accessing a corrupted shared lib\",81:\".lib section in a.out corrupted\",82:\"Attempting to link in too many libs\",83:\"Attempting to exec a shared library\",84:\"Illegal byte sequence\",86:\"Streams pipe error\",87:\"Too many users\",88:\"Socket operation on non-socket\",89:\"Destination address required\",90:\"Message too long\",91:\"Protocol wrong type for socket\",92:\"Protocol not available\",93:\"Unknown protocol\",94:\"Socket type not supported\",95:\"Not supported\",96:\"Protocol family not supported\",97:\"Address family not supported by protocol family\",98:\"Address already in use\",99:\"Address not available\",100:\"Network interface is not configured\",101:\"Network is unreachable\",102:\"Connection reset by network\",103:\"Connection aborted\",104:\"Connection reset by peer\",105:\"No buffer space available\",106:\"Socket is already connected\",107:\"Socket is not connected\",108:\"Can't send after socket shutdown\",109:\"Too many references\",110:\"Connection timed out\",111:\"Connection refused\",112:\"Host is down\",113:\"Host is unreachable\",114:\"Socket already connected\",115:\"Connection already in progress\",116:\"Stale file handle\",122:\"Quota exceeded\",123:\"No medium (in tape drive)\",125:\"Operation canceled\",130:\"Previous owner died\",131:\"State not recoverable\"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))}),join2:(function(l,r){return PATH.normalize(l+\"/\"+r)}),resolve:(function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!==\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=path.charAt(0)===\"/\"}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter((function(p){return!!p})),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!=\"win32\";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync(\"/dev/stdin\",\"r\");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf(\"EOF\")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}else{result=null}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,\"/\",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!==\"undefined\")return indexedDB;var ret=null;if(typeof window===\"object\")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,\"IDBFS used, but indexedDB not supported\");return ret}),DB_VERSION:21,DB_STORE_NAME:\"FILE_DATA\",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback(\"Unable to connect to IndexedDB\")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains(\"timestamp\")){fileStore.createIndex(\"timestamp\",\"timestamp\",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!==\".\"&&p!==\"..\"}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:\"local\",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readonly\");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index(\"timestamp\");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:\"remote\",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error(\"node type not supported\"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error(\"node type not supported\"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type===\"remote\"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readwrite\");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type===\"local\"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type===\"local\"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process[\"binding\"](\"constants\");if(flags[\"fs\"]){flags=flags[\"fs\"]}NODEFS.flagsForNodeMap={\"1024\":flags[\"O_APPEND\"],\"64\":flags[\"O_CREAT\"],\"128\":flags[\"O_EXCL\"],\"0\":flags[\"O_RDONLY\"],\"2\":flags[\"O_RDWR\"],\"4096\":flags[\"O_SYNC\"],\"512\":flags[\"O_TRUNC\"],\"1\":flags[\"O_WRONLY\"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,\"/\",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,\"\",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,\"/\",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split(\"/\");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join(\"/\");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split(\"/\");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts[\"files\"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts[\"blobs\"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj[\"name\"]),base(obj[\"name\"]),WORKERFS.FILE_MODE,0,obj[\"data\"])}));(mount.opts[\"packages\"]||[]).forEach((function(pack){pack[\"metadata\"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack[\"blob\"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+\" : \"+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),false);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?mount+\"/\"+path:mount+path}path=path?node.name+\"/\"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{\"r\":0,\"rs\":1052672,\"r+\":2,\"w\":577,\"wx\":705,\"xw\":705,\"w+\":578,\"wx+\":706,\"xw+\":706,\"a\":1089,\"ax\":1217,\"xa\":1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags===\"undefined\"){throw new Error(\"Unknown file open mode: \"+str)}return flags}),flagsToPermissionString:(function(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf(\"r\")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"w\")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"x\")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,\"x\");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,\"wx\")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,\"wx\");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate===\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log(\"warning: \"+FS.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev===\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,\"w\");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate[\"willMovePath\"]){FS.trackingDelegate[\"willMovePath\"](old_path,new_path)}}catch(e){console.log(\"FS.trackingDelegate['willMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate[\"onMovePath\"])FS.trackingDelegate[\"onMovePath\"](old_path,new_path)}catch(e){console.log(\"FS.trackingDelegate['onMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,\"w\");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===\"\"){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags===\"string\"?FS.modeStringToFlags(flags):flags;mode=typeof mode===\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path===\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module[\"printErr\"](\"read file: \"+path)}}try{if(FS.trackingDelegate[\"onOpenFile\"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate[\"onOpenFile\"](path,trackingFlags)}}catch(e){console.log(\"FS.trackingDelegate['onOpenFile']('\"+path+\"', flags) threw an exception: \"+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate[\"onWriteToFile\"])FS.trackingDelegate[\"onWriteToFile\"](stream.path)}catch(e){console.log(\"FS.trackingDelegate['onWriteToFile']('\"+path+\"') threw an exception: \"+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||\"r\";opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error('Invalid encoding type \"'+opts.encoding+'\"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||\"w\";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data===\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,\"x\");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")}),createDefaultDevices:(function(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var random_device;if(typeof crypto!==\"undefined\"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require(\"crypto\")[\"randomBytes\"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice(\"/dev\",\"random\",random_device);FS.createDevice(\"/dev\",\"urandom\",random_device);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")}),createSpecialDirectories:(function(){FS.mkdir(\"/proc\");FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:(function(){var node=FS.createNode(\"/proc/self\",\"fd\",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},\"/proc/self/fd\")}),createStandardStreams:(function(){if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",\"r\");assert(stdin.fd===0,\"invalid handle for stdin (\"+stdin.fd+\")\");var stdout=FS.open(\"/dev/stdout\",\"w\");assert(stdout.fd===1,\"invalid handle for stdout (\"+stdout.fd+\")\");var stderr=FS.open(\"/dev/stderr\",\"w\");assert(stderr.fd===2,\"invalid handle for stderr (\"+stderr.fd+\")\")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,\"stack\",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS,\"IDBFS\":IDBFS,\"NODEFS\":NODEFS,\"WORKERFS\":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module[\"_fflush\"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]==\"/\")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent===\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data===\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,\"w\");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!==\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(Module[\"read\"]){try{obj.contents=intArrayFromString(Module[\"read\"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);if(typeof Uint8Array!=\"undefined\")xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||\"\",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]===\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]===\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!==\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(\"cp \"+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module[\"preloadPlugins\"].forEach((function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return\"EM_FS_\"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log(\"creating db\");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],\"readwrite\");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],\"readonly\")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!==\"/\"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]===\"/\")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms=\"\";if(amode&4)perms+=\"r\";if(amode&2)perms+=\"w\";if(amode&1)perms+=\"x\";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort(\"bad ioctl syscall \"+op)}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\"i8\",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module[\"exit\"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV[\"USER\"]=ENV[\"LOGNAME\"]=\"web_user\";ENV[\"PATH\"]=\"/\";ENV[\"PWD\"]=\"/\";ENV[\"HOME\"]=\"/home/web_user\";ENV[\"LANG\"]=\"C.UTF-8\";ENV[\"_\"]=Module[\"thisProgram\"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]===\"string\"){var line=key+\"=\"+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort(\"trap!\")}function _longjmp(env,value){Module[\"setThrew\"](env,value||1);throw\"longjmp\"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===\"\"||name.indexOf(\"=\")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!==\"undefined\"){_emscripten_get_now=dateNow}else if(typeof self===\"object\"&&self[\"performance\"]&&typeof self[\"performance\"][\"now\"]===\"function\"){_emscripten_get_now=(function(){return self[\"performance\"][\"now\"]()})}else if(typeof performance===\"object\"&&typeof performance[\"now\"]===\"function\"){_emscripten_get_now=(function(){return performance[\"now\"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var NODEJS_PATH=require(\"path\");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,\"Character code \"+chr+\" (\"+String.fromCharCode(chr)+\") at offset \"+i+\" not in 0x00-0xFF.\")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}var decodeBase64=typeof atob===\"function\"?atob:(function(input){var keyStr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";var output=\"\";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE===\"boolean\"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,\"base64\")}catch(_){buf=new Buffer(s,\"base64\")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error(\"Converting base64 string to bytes failed.\")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_d(index){try{return Module[\"dynCall_d\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module[\"dynCall_dddd\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_i(index){try{return Module[\"dynCall_i\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){try{return Module[\"dynCall_ii\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module[\"dynCall_iiiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){try{Module[\"dynCall_v\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){try{Module[\"dynCall_vi\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiddi\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={\"Math\":Math,\"Int8Array\":Int8Array,\"Int16Array\":Int16Array,\"Int32Array\":Int32Array,\"Uint8Array\":Uint8Array,\"Uint16Array\":Uint16Array,\"Uint32Array\":Uint32Array,\"Float32Array\":Float32Array,\"Float64Array\":Float64Array,\"NaN\":NaN,\"Infinity\":Infinity};Module.asmLibraryArg={\"abort\":abort,\"assert\":assert,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_d\":invoke_d,\"invoke_dddd\":invoke_dddd,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_iiiiiii\":invoke_iiiiiii,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiiddi\":invoke_viiiddi,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viiiiii\":invoke_viiiiii,\"___assert_fail\":___assert_fail,\"___buildEnvironment\":___buildEnvironment,\"___clock_gettime\":___clock_gettime,\"___lock\":___lock,\"___map_file\":___map_file,\"___setErrNo\":___setErrNo,\"___syscall10\":___syscall10,\"___syscall140\":___syscall140,\"___syscall145\":___syscall145,\"___syscall146\":___syscall146,\"___syscall192\":___syscall192,\"___syscall195\":___syscall195,\"___syscall197\":___syscall197,\"___syscall221\":___syscall221,\"___syscall33\":___syscall33,\"___syscall5\":___syscall5,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___syscall91\":___syscall91,\"___unlock\":___unlock,\"__exit\":__exit,\"_clock_gettime\":_clock_gettime,\"_emscripten_asm_const_iii\":_emscripten_asm_const_iii,\"_emscripten_get_now\":_emscripten_get_now,\"_emscripten_get_now_is_monotonic\":_emscripten_get_now_is_monotonic,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_getenv\":_getenv,\"_llvm_ceil_f64\":_llvm_ceil_f64,\"_llvm_fabs_f64\":_llvm_fabs_f64,\"_llvm_floor_f64\":_llvm_floor_f64,\"_llvm_pow_f64\":_llvm_pow_f64,\"_llvm_sqrt_f64\":_llvm_sqrt_f64,\"_llvm_trap\":_llvm_trap,\"_longjmp\":_longjmp,\"_setenv\":_setenv,\"_times\":_times,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"tempDoublePtr\":tempDoublePtr,\"ABORT\":ABORT,\"STACKTOP\":STACKTOP,\"STACK_MAX\":STACK_MAX,\"cttz_i8\":cttz_i8};// EMSCRIPTEN_START_ASM\nvar asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {\n\"use asm\";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_d;var Y=env.invoke_dddd;var Z=env.invoke_i;var _=env.invoke_ii;var $=env.invoke_iii;var aa=env.invoke_iiii;var ba=env.invoke_iiiii;var ca=env.invoke_iiiiii;var da=env.invoke_iiiiiii;var ea=env.invoke_v;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_viii;var ia=env.invoke_viiiddi;var ja=env.invoke_viiii;var ka=env.invoke_viiiii;var la=env.invoke_viiiiii;var ma=env.___assert_fail;var na=env.___buildEnvironment;var oa=env.___clock_gettime;var pa=env.___lock;var qa=env.___map_file;var ra=env.___setErrNo;var sa=env.___syscall10;var ta=env.___syscall140;var ua=env.___syscall145;var va=env.___syscall146;var wa=env.___syscall192;var xa=env.___syscall195;var ya=env.___syscall197;var za=env.___syscall221;var Aa=env.___syscall33;var Ba=env.___syscall5;var Ca=env.___syscall54;var Da=env.___syscall6;var Ea=env.___syscall91;var Fa=env.___unlock;var Ga=env.__exit;var Ha=env._clock_gettime;var Ia=env._emscripten_asm_const_iii;var Ja=env._emscripten_get_now;var Ka=env._emscripten_get_now_is_monotonic;var La=env._emscripten_memcpy_big;var Ma=env._exit;var Na=env._getenv;var Oa=env._llvm_ceil_f64;var Pa=env._llvm_fabs_f64;var Qa=env._llvm_floor_f64;var Ra=env._llvm_pow_f64;var Sa=env._llvm_sqrt_f64;var Ta=env._llvm_trap;var Ua=env._longjmp;var Va=env._setenv;var Wa=env._times;var Xa=0.0;\n// EMSCRIPTEN_START_FUNCS\nfunction nb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function ob(){return l|0}function pb(a){a=a|0;l=a}function qb(a,b){a=a|0;b=b|0;l=a;m=b}function rb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function sb(a){a=a|0;z=a}function tb(){return z|0}function ub(a){a=a|0;c[41840]=a;return 0}function vb(){return c[41840]|0}function wb(a,b){a=a|0;b=b|0;Ia(0,a|0,b|0)|0;return}function xb(a){a=a|0;c[42183]=a;return}function yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=ks()|0;ps(h,10904);ps(h,17148);Zl(1)|0;Yl(16)|0;ep(1);while(1){a=Sn(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){ls(h,a,d)|0;os(h,a,b,f,g)|0;hr(h,a)|0}ln(a)|0;a=174181}l=i;return e|0}function zb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{vx(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)nB(f);break}case 4:case 5:case 6:{sx(f,e,d);Cb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Ab(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[41841]|0)){c[41841]=c[4442];c[41842]=9;c[41843]=17}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=167364;switch(c[a+64>>2]|0){case 2:{ix(a,d,a,0);break}case 3:{ix(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))_p(d,a)|0;break}case 6:case 5:case 4:{Bb(d);if(!(c[a+152>>2]&134217728))_p(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Bb(b){b=b|0;var d=0,e=0;d=c[41845]|0;if((d|0)!=(c[41844]|0)){e=c[c[41876]>>2]|0;if(!e){e=tB(b,0,84827,174181)|0;c[c[41876]>>2]=e;d=c[41845]|0}if(d>>>0>=(c[41846]|0)>>>0){dm(167376,1)|0;d=c[41845]|0}a[d>>0]=0;d=c[41844]|0;c[41845]=d;Cm(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[41876]|0)+4>>2]|0;d=c[41861]|0;if(d>>>0>=(c[41862]|0)>>>0){dm(167440,1)|0;d=c[41861]|0}a[d>>0]=0;d=c[41860]|0;c[41861]=d;Cm(b,e,d)|0}Lm(b,59577,c[(c[41876]|0)+8236>>2]|0,174181)|0;d=0;while(1){if((d|0)==8)break;gm(167376+(d<<4)|0);d=d+1|0}_I(c[41876]|0);h[1]=1.0;h[5]=1.0;c[41877]=0;c[41881]=0;return}function Cb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=ZI(8240)|0;c[41876]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=59593;break}case 5:{b[i+8232>>1]=12;g=59597;break}default:{g=Im(d,59577)|0;if((g|0?a[g>>0]|0:0)?(h=Db(g)|0,(h&65535)>10):0){i=c[41876]|0;b[i+8232>>1]=h;break a}g=Db(59589)|0;i=c[41876]|0;b[i+8232>>1]=g;g=59589}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=tB(d,0,84827,174181)|0;i=c[41876]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=tB(d,0,59601,174181)|0;c[(c[41876]|0)+4>>2]=g;i=tB(d,1,84827,174181)|0;c[(c[41876]|0)+8>>2]=i;i=tB(d,1,59601,174181)|0;c[(c[41876]|0)+12>>2]=i;i=tB(d,2,84827,174181)|0;g=c[41876]|0;c[g+16>>2]=i;if(!f)h=0;else{h=tB(d,2,59609,174181)|0;g=c[41876]|0}c[g+20>>2]=h;if(!e)h=0;else{h=tB(d,2,59617,174181)|0;g=c[41876]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=tB(d,2,59601,174181)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=tB(d,2,59625,174181)|0;g=c[41876]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=tB(d,2,59634,174181)|0;g=c[41876]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;cm(167376+(g<<4)|0,1024,(c[41876]|0)+40+(g<<10)|0);g=g+1|0}return}function Db(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;_l(0,59643,h)|0}a[g+f>>0]=0;i=(rM(g)|0)&65535;l=j;return i|0}function Eb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[41876]>>2]|0;b=c[41849]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[41876]|0)+4>>2]|0;b=c[41865]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[41878]=0;c[41882]=0;return}function Fb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+8>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+12>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[41885]=0;c[41887]=0;return}function Gb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[41849]|0;if((c[41848]|0)!=(b|0)){d=c[(c[41876]|0)+16>>2]|0;if(b>>>0>=(c[41850]|0)>>>0){dm(167392,1)|0;b=c[41849]|0}a[b>>0]=0;b=c[41848]|0;c[41849]=b;Cm(e,d,b)|0}b=c[41853]|0;if((c[41852]|0)!=(b|0)){d=c[(c[41876]|0)+24>>2]|0;if(b>>>0>=(c[41854]|0)>>>0){dm(167408,1)|0;b=c[41853]|0}a[b>>0]=0;b=c[41852]|0;c[41853]=b;Cm(e,d,b)|0}b=c[41857]|0;if((c[41856]|0)!=(b|0)){d=c[(c[41876]|0)+20>>2]|0;if(b>>>0>=(c[41858]|0)>>>0){dm(167424,1)|0;b=c[41857]|0}a[b>>0]=0;b=c[41856]|0;c[41857]=b;Cm(e,d,b)|0}b=c[41865]|0;if((c[41864]|0)!=(b|0)){d=c[(c[41876]|0)+28>>2]|0;if(b>>>0>=(c[41866]|0)>>>0){dm(167456,1)|0;b=c[41865]|0}a[b>>0]=0;b=c[41864]|0;c[41865]=b;Cm(e,d,b)|0}b=c[41869]|0;if((c[41868]|0)!=(b|0)){d=c[(c[41876]|0)+36>>2]|0;if(b>>>0>=(c[41870]|0)>>>0){dm(167472,1)|0;b=c[41869]|0}a[b>>0]=0;b=c[41868]|0;c[41869]=b;Cm(e,d,b)|0}b=c[41873]|0;if((c[41872]|0)!=(b|0)){d=c[(c[41876]|0)+32>>2]|0;if(b>>>0>=(c[41874]|0)>>>0){dm(167488,1)|0;b=c[41873]|0}a[b>>0]=0;b=c[41872]|0;c[41873]=b;Cm(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[41886]=0;c[41888]=0;c[41879]=0;c[41880]=0;c[41883]=0;c[41884]=0;return}function Hb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11344+(o<<2)>>2]|0;fm(p,59746)|0;g=f+4|0;Qb(k,+h[(c[g>>2]|0)+16>>3]);fm(p,k)|0;Tb(d,174181,c[c[g>>2]>>2]|0);Nb(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[41876]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11392+((i&65535)+-15<<2)>>2]&g,n=167508+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;pL(k,59749,r)|0;fm(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];fm(p,59755)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Pb(p,j);c[s>>2]=q;pL(k,87254,s)|0;fm(p,k)|0;Qb(k,+h[f+32>>3]);fm(p,k)|0;Tb(d,174181,c[f>>2]|0);l=t;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Mb(a);Nb(a);if(!d){a=c[11344+(e<<2)>>2]|0;fm(a,59743)|0}else{if((d|1|0)==3)Vb(a,d,b,2);else Wb(a);a=c[11344+(e<<2)>>2]|0;fm(a,59740)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Pb(a,f);Qb(g,+h[b+16>>3]-+h[b>>3]);fm(a,g)|0;Qb(g,+h[b+24>>3]-+h[b+8>>3]);fm(a,g)|0;l=i;return}function Jb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mb(a);Nb(a);if(!d)Ob(a,112,b,c);else{if((d|1|0)==3)Vb(a,d,b,c);else Wb(a);Ob(a,80,b,c)}return}function Kb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Mb(a);Nb(a);if(!f)Ob(a,66,b,c);else{if((f|1|0)==3)Vb(a,f,b,c);else Wb(a);Ob(a,98,b,c)}return}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;Mb(a);Nb(a);Ob(a,76,b,c);return}function Mb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;cm(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;fm(m,59706)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];pL(f,59720,i)|0;Rb(f,0);fm(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){dm(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){dm(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;Tb(b,59725,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(xJ(d,95923)|0)){d=i;continue a}break}case 98:{if(!(xJ(d,95905)|0)){d=i;continue a}break}case 115:{if(!(xJ(d,95910)|0)){d=i;continue a}break}default:{}}fm(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}fm(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){dm(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;Tb(b,59725,d);d=i}gm(m)}l=n;return}function Nb(a){a=a|0;Sb((c[a+16>>2]|0)+16|0);Tb(a,68667,173882);return}function Ob(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11344+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){dm(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;pL(i,59670,j)|0;fm(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Pb(h,j);b=b+1|0}l=k;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;Qb(d,+h[b>>3]);fm(a,d)|0;Qb(d,+hx(+h[b+8>>3]));fm(a,d)|0;l=c;return}function Qb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;pL(a,59675,d)|0;Rb(a,1);l=c;return}function Rb(b,c){b=b|0;c=c|0;var d=0,e=0;d=WJ(b,46)|0;if(!d){if(c|0){d=b+(rJ(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function Sb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;pL(173882,68547,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;pL(173882,59688,i)|0}l=j;return}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;Ub(c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function Ub(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=rJ(e)|0;c[h>>2]=d;c[h+4>>2]=i;pL(g,59681,h)|0;fm(b,g)|0;fm(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){dm(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function Vb(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[41876]|0)+8232>>1]|0)<14)Wb(b);else{cm(w,1024,x+96|0);v=(d|0)==2;if(v){JB(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){dm(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];Pb(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Pb(w,t)}else{JB(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){dm(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];Pb(w,t);Xb(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];Pb(w,t);Xb(w,q)}fm(w,59731)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){Yb(w,j,f);Yb(w,+g[d>>2],u+96|0)}else{Yb(w,0.0,f);Yb(w,1.0,u+96|0)}hm(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){dm(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){dm(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){dm(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;Tb(b,59728,v);gm(w)}l=x;return}function Wb(a){a=a|0;Sb((c[a+16>>2]|0)+56|0);Tb(a,59728,173882);return}function Xb(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;Qb(d,b);fm(a,d)|0;l=c;return}function Yb(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;pL(e,59734,f)|0;Rb(e,1);Sb(c);Ub(a,e,173882);l=d;return}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11344+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;fm(g,59843)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Pb(g,i);Qb(f,+h[d+16>>3]-+h[d>>3]);fm(g,f)|0;Qb(f,+h[d+24>>3]-+h[d+8>>3]);fm(g,f)|0;Tb(a,174181,c[b+8>>2]|0);l=e;return}function _b(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=yr(c[a>>2]|0)|0;ms(b,c[(c[a+16>>2]|0)+8>>2]|0,60630,0)|0;zr(b);break}case 1:{vx(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[41889]|0)){c[41889]=c[4442];c[41890]=9;c[41891]=17}c[(c[e+64>>2]|0)+8>>2]=167556;ac(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;bc(e,b,1,d);l=f;return}function ac(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Jp(a)|0;while(1){if(!d)break;ac(d,0);d=Kp(d)|0}a:do if(b|0){b=co(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Pm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Rm(a,d)|0}b=eo(a,b)|0}}while(0);return}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Ql(11764,c[4345]|0)|0;So(a,1,86799,12,0);So(a,2,86799,12,0);So(a,0,86799,-12,0);f=cc(a,0,m)|0;j=co(a)|0;i=0;g=0;while(1){if(!j)break;if(!(VJ(Dn(j)|0,93039,7)|0)){k=g;g=dc(m,Dn(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(Lo(j,86799,0)|0)+8>>2]=g;h=Pm(a,j)|0;g=i;while(1){if(!h)break;c[(Lo(h,86799,0)|0)+8>>2]=g;h=Rm(a,h)|0;g=g+1|0}j=eo(a,j)|0;i=g;g=k}Kl(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;ec(b,m);mr(b,82337)|0;fc(a,b,d,e);gc(a,b,e);mr(b,82308)|0;ec(b,c[e>>2]|0);if(n){c[o>>2]=f;sr(b,59846,o)}else{c[p>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59866,p)}ic(a,b,d,hc(a,b,d,e)|0,e);jc(a,b,d,e);mr(b,134901)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;ec(b,p);if(n)mr(b,95830)|0;else mr(b,68190)|0;l=q;return}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((so(a)|0)!=(a|0)){e=b+1|0;c[(Lo(a,86799,0)|0)+8>>2]=b;if(!(VJ(Dn(a)|0,93039,7)|0)){b=Dn(a)|0;vc(d,b,c[(Lo(a,86799,0)|0)+8>>2]|0);b=e}else b=e}e=Jp(a)|0;while(1){if(!e)break;a=cc(e,b,d)|0;e=Kp(e)|0;b=a}return b|0}function dc(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function ec(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;mr(a,60598)|0;b=b+-1|0}return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=Dn(a)|0;ec(b,c[e>>2]|0);c[i>>2]=mc(j,e)|0;sr(b,59954,i);if(d|0){mr(b,82308)|0;ec(b,c[e>>2]|0);j=(qn(a)|0)!=0;c[f>>2]=j?92685:122100;sr(b,60568,f);ec(b,c[e>>2]|0);j=(sn(a)|0)!=0;c[g>>2]=j?92685:122100;sr(b,60585,g)}l=h;return}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=so(b)|0;j=c[b>>2]&3;f=Dm(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=Jm(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(xJ(g,86240)|0)break}mr(d,82308)|0;ec(d,c[e>>2]|0);c[m>>2]=mc(c[h>>2]|0,e)|0;sr(d,60004,m);if(a[k>>0]|0?oc(c[h>>2]|0)|0:0){pc(Jm(b,f)|0,d,e);break}c[n>>2]=mc(Jm(b,f)|0,e)|0;sr(d,60011,n)}while(0);f=Dm(i,j,f)|0}}while(0);l=o;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=Jp(a)|0;if(f){mr(b,82308)|0;g=c[e>>2]|0;c[e>>2]=g+1;ec(b,g);g=(d|0)!=0;if(g){mr(b,59928)|0;a=0;d=f}else{mr(b,59988)|0;ec(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else mr(b,82308)|0;if(g)nc(d,b,e);else{c[h>>2]=c[(Lo(d,86799,0)|0)+8>>2];sr(b,122187,h)}d=Kp(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;mr(b,134901)|0;ec(b,c[e>>2]|0);mr(b,82303)|0;a=1}}else a=0;l=i;return a|0}function ic(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=co(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;mr(b,134901)|0;ec(b,c[f>>2]|0);mr(b,82303)|0}}else{mr(b,82308)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;ec(b,e);mr(b,59928)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;ec(b,e);mr(b,59942)|0;ec(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(VJ(Dn(g)|0,93039,7)|0){do if(e)if(h){mr(b,82308)|0;break}else{mr(b,86030)|0;break}else e=1;while(0);lc(g,b,d,f)}g=eo(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;mr(b,134901)|0;ec(b,c[f>>2]|0);mr(b,82303)|0}return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=co(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Pm(a,f)|0)break;f=eo(a,f)|0}mr(b,82308)|0;i=c[e>>2]|0;c[e>>2]=i+1;ec(b,i);mr(b,59878)|0;i=(d|0)!=0;if(i)g=0;else{ec(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Pm(a,f)|0;while(1){if(!h)break;do if(g)if(i){mr(b,82308)|0;break}else{mr(b,86030)|0;break}else g=1;while(0);kc(h,b,d,e);h=Rm(a,h)|0}f=eo(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;mr(b,134901)|0;ec(b,c[e>>2]|0);mr(b,82303)|0}while(0);return}function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,122187,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;ec(b,i);mr(b,82337)|0;ec(b,c[e>>2]|0);c[f>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59890,f);ec(b,c[e>>2]|0);c[g>>2]=c[(Lo(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,86799,0)|0)+8>>2];sr(b,59904,g);ec(b,c[e>>2]|0);c[h>>2]=c[(Lo(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,86799,0)|0)+8>>2];sr(b,59917,h);gc(a,b,e);mr(b,134901)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;ec(b,i);mr(b,68190)|0}l=j;return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,122187,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;ec(b,h);mr(b,82337)|0;ec(b,c[e>>2]|0);c[f>>2]=c[(Lo(a,86799,0)|0)+8>>2];sr(b,59890,f);ec(b,c[e>>2]|0);c[g>>2]=mc(Dn(a)|0,e)|0;sr(b,59954,g);gc(a,b,e);mr(b,134901)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;ec(b,h);mr(b,68190)|0}l=i;return}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=yB(b)|0;if(!(c[41892]|0)){cm(167568,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{fm(167568,59967)|0;break}case 92:{fm(167568,81579)|0;break}case 47:{fm(167568,59970)|0;break}case 8:{fm(167568,59973)|0;break}case 12:{fm(167568,59976)|0;break}case 10:{fm(167568,59979)|0;break}case 13:{fm(167568,59982)|0;break}case 9:{fm(167568,59985)|0;break}default:{d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){dm(167568,1)|0;d=c[41893]|0}c[41893]=d+1;a[d>>0]=f}}e=e+1|0}d=c[41893]|0;if(d>>>0>=(c[41894]|0)>>>0){dm(167568,1)|0;d=c[41893]|0}a[d>>0]=0;d=c[41892]|0;c[41893]=d;if(a[g>>0]|0)_I(b);return d|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,0,c);a=Jp(a)|0;while(1){if(!a)break;mr(b,82308)|0;nc(a,b,c);a=Kp(a)|0}return}function oc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(xJ(c,60525)|0)){b=1;break a}break}case 2:{if(!(xJ(c,60531)|0)){b=1;break a}break}case 1:{if(!(xJ(c,60538)|0)){b=1;break a}return (xJ(c,60552)|0)==0|0}case 4:{if(!(xJ(c,60545)|0)){b=1;break a}b=(xJ(c,60560)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=wt(b)|0;if(!h){c[f>>2]=b;_l(0,60016,f)|0;break}mr(d,134901)|0;g=c[e>>2]|0;c[e>>2]=g+1;ec(d,g);mr(d,60043)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else mr(d,82308)|0;qc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;mr(d,134901)|0;ec(d,c[e>>2]|0);mr(d,82303)|0;xt(h)}while(0);l=i;return}function qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;ec(b,e);mr(b,82337)|0;ec(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;sr(b,60046,f);ec(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;sr(b,60059,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;sr(b,60046,z);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;sr(b,60046,i);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 6:{sr(b,60094,A+56|0);ec(b,c[d>>2]|0);rc(b,a+8|0);break}case 7:{sr(b,60106,A+64|0);ec(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;sr(b,60118,j);ec(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;sr(b,60140,k);ec(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];sr(b,60156,m);ec(b,c[d>>2]|0);c[n>>2]=mc(c[a+40>>2]|0,d)|0;sr(b,60173,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;sr(b,60046,o);ec(b,c[d>>2]|0);sr(b,60187,A+120|0);ec(b,c[d>>2]|0);c[p>>2]=mc(c[a+8>>2]|0,d)|0;sr(b,60204,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;sr(b,60046,q);ec(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{sr(b,60187,A+144|0);ec(b,c[d>>2]|0);c[r>>2]=mc(c[a+16>>2]|0,d)|0;sr(b,60204,r);break a}case 1:{sr(b,60219,A+160|0);ec(b,c[d>>2]|0);sc(b,a+16|0,d);break a}default:{sr(b,60238,A+168|0);ec(b,c[d>>2]|0);tc(b,a+16|0,d);break a}}}case 10:{sr(b,60257,s);ec(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];sr(b,60269,t);ec(b,c[d>>2]|0);c[u>>2]=mc(c[a+16>>2]|0,d)|0;sr(b,60285,u);break}case 11:{sr(b,60299,v);ec(b,c[d>>2]|0);c[w>>2]=mc(c[a+8>>2]|0,d)|0;sr(b,60311,w);break}case 15:{sr(b,60326,x);ec(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];sr(b,60338,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;ec(b,z);mr(b,68190)|0;l=A;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;sr(a,60499,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)sr(a,86030,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;sr(a,60511,g);b=b+1|0}sr(a,60452,i);l=j;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;ec(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;sr(a,60455,i);ec(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;sr(a,60477,f);ec(a,c[d>>2]|0);uc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;ec(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;sr(a,60354,j);ec(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;sr(a,60382,f);ec(a,c[d>>2]|0);uc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;sr(a,60410,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)sr(a,86030,i);o=+g[d+(f<<3)>>2];n=mc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;sr(a,60421,j);f=f+1|0}sr(a,60452,k);l=m;return}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=bb[c[a>>2]&31](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;_l(0,60601,f)|0}}else{f=$I(1,16)|0;c[f+8>>2]=GL(b)|0;c[f+12>>2]=d;bb[c[a>>2]&31](a,f,1)|0}l=g;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+8>>2]|0);_I(b);return}function xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sr(a,61466,g);c[e>>2]=Dn(c[f+8>>2]|0)|0;sr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;sr(a,61514,d);mr(a,61527)|0;mr(a,61537)|0;mr(a,61545)|0;mr(a,61553)|0;mr(a,61561)|0;mr(a,61569)|0;mr(a,61577)|0;mr(a,61581)|0;mr(a,61586)|0;l=b;return}function yc(a){a=a|0;mr(a,61437)|0;return}function zc(a){a=a|0;c[41896]=2;return}function Ac(a){a=a|0;c[41896]=1;return}function Bc(a){a=a|0;c[41896]=2;return}function Cc(a){a=a|0;c[41896]=0;return}function Dc(a){a=a|0;c[41896]=2;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[41896]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((rJ(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=Oc(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;sr(b,61382,o);l=p;return}function Fc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(xJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Nc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sr(b,61325,j);k=10}break}default:ma(123205,60722,163,60753)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41896]|0;Lc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sr(a,61260,f);l=e;return}function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41896]|0;Lc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sr(a,61164,g);Mc(a,b,d,1);l=f;return}function Ic(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[41896]|0;if((d|0)<=3)ma(60715,60722,360,60742);t=ZI((d*140|0)+140|0)|0;Lc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(pL(t,73932,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sr(a,61215,A);c[z>>2]=t;sr(a,73939,z);_I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,B);e=e+1|0}mr(a,134901)|0;l=C;return}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41896]|0;Lc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sr(a,61164,f);Mc(a,b,d,0);l=e;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,61158,e);l=d;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function Nc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41897]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[170804+(g<<1)>>1]|0)-d|0;n=(b[171316+(g<<1)>>1]|0)-e|0;j=(b[171828+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41897]=k+1;if((k|0)==256)g=i;else{b[170804+(g<<1)>>1]=d;b[171316+(g<<1)>>1]=e;b[171828+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41898]|0;if(!d){c[41899]=64;d=ZI(64)|0;c[41898]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41899]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41899]=d;d=aJ(c[41898]|0,d)|0;c[41898]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41898]|0}function Pc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{mr(b,61053)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){mr(b,61067)|0;mr(b,rw(c[d>>2]|0)|0)|0;mr(b,134901)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){mr(b,61067)|0;mr(b,rw(c[d>>2]|0)|0)|0;mr(b,87638)|0;mr(b,rw(Dn(c[e+8>>2]|0)|0)|0)|0;mr(b,134901)|0}break}case 3:{f=rw(Dn(c[e+8>>2]|0)|0)|0;mr(b,61076)|0;mr(b,f)|0;mr(b,61086)|0;mr(b,f)|0;mr(b,61041)|0;break}default:{}}return}function Qc(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{Sc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{Sc(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);mr(a,61045)|0;break}default:{}}return}function Rc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;Sc(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function Sc(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[41900]|0)<(f|0)){c[41900]=m;o=aJ(c[41901]|0,m<<3)|0;c[41901]=o}else o=c[41901]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;sr(b,60787,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;sr(b,60808,v);break a}case 2:{c[q>>2]=g;sr(b,60828,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[41901]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;sr(b,60836,w);m=m+1|0}mr(b,134901)|0;break a}default:ma(123205,60843,63,60863)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;sr(b,60880,r);break}else ma(123205,60843,75,60863)}if((m&-2|0)==2){switch(d|0){case 1:{mr(b,60913)|0;break}case 0:{mr(b,60934)|0;break}case 2:{mr(b,60953)|0;break}default:ma(123205,60843,91,60863)}if(k|0?a[k>>0]|0:0){mr(b,66433)|0;mr(b,uw(k)|0)|0;mr(b,83714)|0}if(e?a[g>>0]|0:0){mr(b,60972)|0;mr(b,uw(g)|0)|0;mr(b,83714)|0}if(j|0?a[j>>0]|0:0){mr(b,67392)|0;mr(b,rw(j)|0)|0;mr(b,83714)|0}if(i|0?a[i>>0]|0:0){mr(b,60980)|0;mr(b,rw(i)|0)|0;mr(b,83714)|0}mr(b,60989)|0;mr(b,60997)|0;b:do switch(d|0){case 1:{f=c[41901]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;sr(b,61007,s);break}case 0:{v=c[41901]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;sr(b,61016,t);break}case 2:{w=c[41901]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;sr(b,61028,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[41901]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;sr(b,61034,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){mr(b,66257)|0;break}else{mr(b,61041)|0;break}}}while(0);l=y;return}function Tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mr(a,61456)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sr(a,61466,g);c[e>>2]=Dn(c[f+8>>2]|0)|0;sr(a,61501,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;sr(a,61514,d);mr(a,61527)|0;mr(a,61537)|0;mr(a,61545)|0;mr(a,61553)|0;mr(a,61561)|0;mr(a,61569)|0;mr(a,61577)|0;mr(a,61581)|0;mr(a,61586)|0;l=b;return}function Uc(a){a=a|0;mr(a,61437)|0;return}function Vc(a){a=a|0;c[41902]=2;return}function Wc(a){a=a|0;c[41902]=1;return}function Xc(a){a=a|0;c[41902]=2;return}function Yc(a){a=a|0;c[41902]=0;return}function Zc(a){a=a|0;c[41902]=2;return}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[41902]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=id(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;sr(b,61382,m);l=n;return}function $c(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12652+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(xJ(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(hd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sr(b,61325,j);k=10}break}case 0:{f=0;k=10;break}default:ma(123205,61346,168,61365)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[41902]|0;fd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sr(a,61260,f);l=e;return}function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[41902]|0;fd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sr(a,61164,g);gd(a,b,d,1);l=f;return}function cd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[41902]|0;t=ZI((d*140|0)+140|0)|0;fd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(pL(t,73932,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sr(a,61215,A);c[z>>2]=t;sr(a,73939,z);_I(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,B);e=e+1|0}mr(a,134901)|0;l=C;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[41902]|0;fd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sr(a,61164,f);gd(a,b,d,0);l=e;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,61158,e);l=d;return}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function hd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[41903]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[172340+(g<<1)>>1]|0)-d|0;n=(b[172852+(g<<1)>>1]|0)-e|0;j=(b[173364+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[41903]=k+1;if((k|0)==256)g=i;else{b[172340+(g<<1)>>1]=d;b[172852+(g<<1)>>1]=e;b[173364+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41904]|0;if(!d){c[41905]=64;d=ZI(64)|0;c[41904]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41905]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41905]=d;d=aJ(c[41904]|0,d)|0;c[41904]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41904]|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;mr(a,66165)|0;if((c[a+64>>2]|0)==2)mr(a,66180)|0;else mr(a,134901)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;sr(a,66191,b);l=d;return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;mr(a,66119)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];sr(a,66130,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;sr(a,62499,f)}mr(a,66145)|0;mr(a,66158)|0;l=g;return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[173892]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=Dn(c[h>>2]|0)|0;sr(b,62430,i);d=b+64|0;if((c[d>>2]|0)==2)mr(b,62463)|0;else mr(b,62445)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;sr(b,62499,f);break}else{mr(b,62475)|0;break}while(0);mr(b,62529)|0;ey(b,c[(c[e>>2]|0)+24>>2]|0,12928);gy(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;ey(b,0,i)}}c[41906]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[173892]|0)){mr(b,62549)|0;a[173892]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=hy(d,c[41906]|0)|0;sr(b,62562,j)}l=k;return}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;sr(a,62414,f);l=b;return}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;sr(a,62041,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;sr(a,62058,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?62092:62102;sr(a,62111,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;sr(a,62136,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;sr(a,62175,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;sr(a,62195,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;sr(a,62235,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;hb[t&31](62278,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;sr(a,62373,r)}l=s;return}function od(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){mr(a,61965)|0;ey(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}mr(a,61982)|0;mr(a,62009)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];sr(a,62024,d);l=e;return}function pd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,61958,d);mr(a,61951)|0;l=b;return}function qd(a){a=a|0;mr(a,77394)|0;return}function rd(a){a=a|0;mr(a,61951)|0;return}function sd(a){a=a|0;mr(a,77394)|0;return}function td(a){a=a|0;mr(a,61951)|0;return}function ud(a){a=a|0;mr(a,77394)|0;return}function vd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){mr(a,61847)|0;wr(a,c[g>>2]|0,2);mr(a,61858)|0;c[d>>2]=hy(b,c[41906]|0)|0;sr(a,61862,d)}l=e;return}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Dd(b,f+16|0);i=e+4|0;tr(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];sr(b,61806,j);i=hy(c[e>>2]|0,c[41906]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];vr(b,j);mr(b,61821)|0;tr(b,+h[f>>3]);c[k>>2]=i;sr(b,61830,k)}l=m;return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Dd(a,e+56|0);wr(a,f,2);mr(a,61764)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[b>>2]|0)+16|0);wr(a,f,2);mr(a,61784)|0}l=g;return}function yd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Dd(a,f+56|0);mr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vr(a,i);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];vr(a,i);mr(a,61703)|0;e=e+1|0}mr(a,61730)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[g>>2]|0)+16|0);mr(a,61685)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vr(a,i);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];vr(a,i);mr(a,61703)|0;e=e+1|0}mr(a,61746)|0}l=j;return}function zd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Dd(a,j+56|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;wr(a,b+(e<<4)|0,3);mr(a,61720)|0;e=e+3|0}mr(a,61730)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[i>>2]|0)+16|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;wr(a,b+(e<<4)|0,3);mr(a,61720)|0;e=e+3|0}mr(a,61712)|0}l=k;return}function Ad(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[e>>2]|0)+16|0);mr(a,61685)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vr(a,f);mr(a,61694)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];vr(a,f);mr(a,61703)|0;e=e+1|0}mr(a,61712)|0}l=g;return}function Bd(a,b){a=a|0;b=b|0;mr(a,61682)|0;mr(a,b)|0;mr(a,134901)|0;return}function Cd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Dd(a,j+56|0);mr(a,77289)|0;wr(a,d,e);mr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vr(a,g);c[k>>2]=e;c[k+4>>2]=b;sr(a,61599,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Ed(a);Dd(a,(c[i>>2]|0)+16|0);mr(a,77289)|0;wr(a,d,e);mr(a,87638)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vr(a,g);c[m>>2]=e;c[m+4>>2]=b;sr(a,61615,m)}l=n;return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=96286;break}case 2:{d=96273;break}case 3:{d=96237;break}default:d=61651}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;sr(a,61658,e)}l=f;return}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;tr(b,+h[i+152>>3]);mr(b,61632)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(xJ(f,95910)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;sr(b,61647,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(xJ(f,119127)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;sr(b,81633,k);d=i}l=m;return}function Fd(b){b=b|0;var d=0;mr(b,67671)|0;d=Im(c[(c[b>>2]|0)+168>>2]|0,67727)|0;if(d|0?a[d>>0]|0:0){mr(b,67738)|0;mr(b,d)|0;mr(b,67762)|0}mr(b,67783)|0;mr(b,67831)|0;mr(b,67885)|0;d=b+12|0;mr(b,rw(c[c[c[d>>2]>>2]>>2]|0)|0)|0;mr(b,71014)|0;mr(b,rw(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;mr(b,71024)|0;mr(b,rw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;mr(b,68267)|0;mr(b,68291)|0;return}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;mr(b,67506)|0;d=d+8|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,68230)|0;mr(b,rw(Dn(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,67511,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;sr(b,67527,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;sr(b,67560,g);mr(b,67591)|0;mr(b,67627)|0;mr(b,69221)|0;l=i;return}function Hd(a){a=a|0;mr(a,67498)|0;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;de(a,b,0,86583,c[(c[a+16>>2]|0)+8>>2]|0);mr(a,69221)|0;return}function Jd(a){a=a|0;mr(a,67346)|0;return}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;de(b,c[g+212>>2]|0,0,96286,c[d>>2]|0);mr(b,67450)|0;tr(b,+h[b+488>>3]);mr(b,87638)|0;tr(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);sr(b,67469,f);tr(b,+h[b+504>>3]);mr(b,87638)|0;tr(b,-+h[b+512>>3]);mr(b,67493)|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,67402)|0;mr(b,rw(Dn(c[d>>2]|0)|0)|0)|0;mr(b,67410)|0}l=e;return}function Ld(a){a=a|0;mr(a,67346)|0;return}function Md(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;de(a,c[d+212>>2]|0,0,93039,c[b>>2]|0);mr(a,69221)|0;mr(a,67402)|0;mr(a,rw(Dn(c[b>>2]|0)|0)|0)|0;mr(a,67410)|0;return}function Nd(a){a=a|0;mr(a,67346)|0;return}function Od(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;de(a,c[d+212>>2]|0,b,96273,c[e>>2]|0);mr(a,69221)|0;mr(a,67402)|0;mr(a,rw(Dn(c[e>>2]|0)|0)|0)|0;mr(a,67410)|0;return}function Pd(a){a=a|0;mr(a,67346)|0;return}function Qd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;de(a,c[d+212>>2]|0,0,96237,c[b>>2]|0);mr(a,69221)|0;mr(a,67402)|0;b=qw(87129,c[b>>2]|0)|0;mr(a,rw(b)|0)|0;_I(b);mr(a,67410)|0;return}function Rd(a){a=a|0;mr(a,67346)|0;return}function Sd(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mr(b,67352)|0;if(f|0){mr(b,67355)|0;mr(b,rw(f)|0)|0;mr(b,83714)|0}mr(b,67245)|0;mr(b,69182)|0;if(c|0?a[c>>0]|0:0){mr(b,67363)|0;mr(b,c)|0;mr(b,83714)|0}if(d|0?a[d>>0]|0:0){mr(b,67377)|0;mr(b,sw(d,1)|0)|0;mr(b,83714)|0}if(e|0?a[e>>0]|0:0){mr(b,67392)|0;mr(b,rw(e)|0)|0;mr(b,83714)|0}mr(b,69221)|0;return}function Td(a){a=a|0;mr(a,69176)|0;mr(a,67346)|0;return}function Ud(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;mr(e,66877)|0;switch(a[g+48>>0]|0){case 108:{mr(e,66883)|0;break}case 114:{mr(e,66904)|0;break}default:mr(e,66923)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){mr(e,66945)|0;tr(e,+h[f>>3]);mr(e,66950)|0;tr(e,-G);mr(e,83714)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];sr(e,66956,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;sr(e,66973,p)}mr(e,83714)|0;if(f|0){c[r>>2]=f;sr(e,66977,r)}if(k|0){c[s>>2]=k;sr(e,66995,s)}if(!j)j=0;else{c[q>>2]=j;sr(e,67014,q)}}else{c[i>>2]=c[f>>2];sr(e,67031,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))sr(e,67049,t);if(!((j|0)!=0|(z&2|0)==0))sr(e,67069,u);if(z&100|0){sr(e,67090,v);if(!(z&4))f=0;else{sr(e,91030,w);f=1}if(z&64){c[y>>2]=f|0?86030:174181;sr(e,67109,y);f=1}if(z&32|0){c[A>>2]=f|0?86030:174181;sr(e,67120,A)}sr(e,83714,B)}if(z&8|0)sr(e,67135,C);if(z&16|0)sr(e,67159,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];sr(e,67181,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(iK(f,122106)|0){c[J>>2]=f;sr(e,67199,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;sr(e,67210,F);break}default:ma(123205,66391,486,67232)}mr(e,67245)|0;if(b[H>>1]&512){c[K>>2]=rw(c[I+212>>2]|0)|0;sr(e,67247,K);mr(e,67296)|0;tr(e,-G);mr(e,67314)|0}mr(e,sw(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)sr(e,67317,L);mr(e,67337)|0;l=M;return}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=ae(a,b,2)|0;break}case 3:{d=be(a)|0;break}default:d=0}mr(a,66841)|0;_d(a,c,d);mr(a,66850)|0;tr(a,+h[b>>3]);mr(a,66856)|0;c=b+8|0;tr(a,-+h[c>>3]);mr(a,66863)|0;tr(a,+h[b+16>>3]-+h[b>>3]);mr(a,66870)|0;tr(a,+h[b+24>>3]-+h[c>>3]);mr(a,66257)|0;return}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=ae(a,b,c)|0;break}case 3:{e=be(a)|0;break}default:e=0}mr(a,66832)|0;_d(a,d,e);mr(a,66247)|0;e=0;while(1){if((e|0)>=(c|0))break;tr(a,+h[b+(e<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(e<<4)+8>>3]);mr(a,87638)|0;e=e+1|0}tr(a,+h[b>>3]);mr(a,86030)|0;tr(a,-+h[b+8>>3]);mr(a,66257)|0;return}function Xd(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=ae(a,d,e)|0;break}case 3:{f=be(a)|0;break}default:f=0}mr(a,66427)|0;if(b[g+260>>1]&512){mr(a,66433)|0;mr(a,rw(c[g+212>>2]|0)|0)|0;mr(a,66439)|0}_d(a,h,f);mr(a,66444)|0;ce(a,d,e);mr(a,66257)|0;return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;mr(a,66237)|0;_d(a,0,0);mr(a,66247)|0;d=0;while(1){if((d|0)>=(c|0))break;tr(a,+h[b+(d<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(d<<4)+8>>3]);mr(a,87638)|0;d=d+1|0}mr(a,66257)|0;return}function Zd(a,b){a=a|0;b=b|0;mr(a,66231)|0;mr(a,rw(b)|0)|0;mr(a,68291)|0;return}function _d(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;mr(b,66262)|0;a:do switch(d|0){case 2:{c[f>>2]=e;sr(b,66270,f);break}case 3:{c[g>>2]=e;sr(b,66281,g);break}case 0:{mr(b,120501)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;sr(b,66292,j)}}}while(0);mr(b,66311)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);d=m+152|0;if(+h[d>>3]!=1.0){mr(b,66322)|0;tr(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=66362;sr(b,66339,o);break}case 2:{c[n>>2]=66366;sr(b,66339,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;sr(b,66370,p)}while(0);mr(b,83714)|0;l=q;return}function $d(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,122171)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,66391,117,66411)}while(0);l=g;return}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[41908]|0;c[41908]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;JB(d,k,e,f,0);c[o>>2]=q;sr(b,66664,o);mr(b,66729)|0;tr(b,+h[k>>3]);mr(b,66734)|0;tr(b,+h[k+8>>3]);mr(b,66741)|0;tr(b,+h[k+16>>3]);mr(b,66748)|0;tr(b,+h[k+24>>3]);mr(b,66755)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;sr(b,66760,i)}else mr(b,66536)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));$d(b,o);mr(b,66572)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;sr(b,84631,m)}else s=7;while(0);if((s|0)==7)mr(b,66587)|0;mr(b,66590)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;sr(b,66760,n)}else mr(b,66596)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));$d(b,o);mr(b,66572)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;sr(b,84631,r)}else s=14;while(0);if((s|0)==14)mr(b,66587)|0;mr(b,66800)|0;l=t;return q|0}function be(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[41907]|0;c[41907]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;sr(b,66452,k);mr(b,66536)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);mr(b,66572)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;sr(b,84631,j)}else p=6;while(0);if((p|0)==6)mr(b,66587)|0;mr(b,66590)|0;mr(b,66596)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));$d(b,k);mr(b,66572)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;sr(b,84631,o)}else p=10;while(0);if((p|0)==10)mr(b,66587)|0;mr(b,66632)|0;l=q;return n|0}function ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;sr(a,66449,g);tr(a,+h[b+(f<<4)>>3]);mr(a,86030)|0;tr(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function de(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;mr(b,67420)|0;mr(b,rw(d)|0)|0;if(e|0){c[h>>2]=rw(e)|0;sr(b,67428,h)}c[i>>2]=f;sr(b,67432,i);d=Im(g,67444)|0;if(d|0?a[d>>0]|0:0){mr(b,87638)|0;mr(b,rw(d)|0)|0}mr(b,83714)|0;l=j;return}function ee(a){a=a|0;var b=0;mr(a,68251)|0;b=a+12|0;mr(a,oe(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mr(a,71014)|0;mr(a,oe(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mr(a,71024)|0;mr(a,oe(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mr(a,68267)|0;return}function fe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;mr(b,68228)|0;d=d+8|0;if(a[(Dn(c[d>>2]|0)|0)>>0]|0){mr(b,68230)|0;mr(b,oe(Dn(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,68239,e);c[41909]=0;l=f;return}function ge(a){a=a|0;c[41909]=1;return}function he(a){a=a|0;c[41909]=-1;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){pe(b);mr(b,68167)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];vr(b,i);mr(b,68181)|0;mr(b,c[e>>2]|0)|0;mr(b,68190)|0;mr(b,67988)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));qe(b,i);mr(b,68192)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;mr(b,83714)|0;mr(b,k)|0;mr(b,83714)|0;c[m>>2]=j;sr(b,68201,m);switch(a[e+48>>0]|0){case 108:{mr(b,68206)|0;break}case 114:{mr(b,68217)|0;break}default:{}}re(b);mr(b,134901)|0}l=n;return}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;pe(a);mr(a,68153)|0;wr(a,b,2);mr(a,67988)|0;do if(!d)if(!(c[41909]|0)){mr(a,82272)|0;break}else{mr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;mr(a,68099)|0;tr(a,+h[g+152>>3]);mr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f);b=c[i>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=j;return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){pe(a);mr(a,68125)|0;wr(a,b,d);mr(a,67988)|0;do if(!e)if(!(c[41909]|0)){mr(a,82272)|0;break}else{mr(a,121990)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f)}while(0);if((c[41909]|0)==1)c[41909]=0;mr(a,68099)|0;tr(a,+h[g+152>>3]);mr(a,68142)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));qe(a,f);b=c[i>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[i>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=j;return}function le(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){pe(a);mr(a,67974)|0;wr(a,b,d);mr(a,67988)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));qe(a,i);mr(a,68099)|0;tr(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){mr(a,67996)|0;e=c[k>>2]|0}if((e|0)==2)mr(a,68005)|0;mr(a,68108)|0;re(a);mr(a,134901)|0}l=m;return}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){pe(a);mr(a,67974)|0;wr(a,b,d);mr(a,67988)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));qe(a,g);b=c[h>>2]|0;if((b|0)==1){mr(a,67996)|0;b=c[h>>2]|0}if((b|0)==2)mr(a,68005)|0;re(a);mr(a,134901)|0}l=i;return}function ne(a,b){a=a|0;b=b|0;mr(a,67971)|0;mr(a,oe(b)|0)|0;mr(a,134901)|0;return}function oe(a){a=a|0;return a|0}function pe(b){b=b|0;if(!(a[b+144>>0]|0))mr(b,68096)|0;else mr(b,c[b+148>>2]|0)|0;return}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,82272)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,68014,49,68078)}while(0);l=g;return}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=96273;e=f+8|0;break}case 10:{b=0;d=96273;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=96237;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=96237;e=f+8|0;break}case 0:{b=1;d=96286;e=f+8|0;break}case 4:{b=0;d=68050;e=f+8|0;break}case 1:{b=1;d=96286;e=f+8|0;break}case 5:{b=0;d=96286;e=f+8|0;break}default:ma(123205,68014,106,68033)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;sr(a,68062,g);l=h;return}function se(a){a=a|0;var b=0;mr(a,70986)|0;mr(a,70994)|0;b=a+12|0;mr(a,De(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mr(a,71014)|0;mr(a,De(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mr(a,71024)|0;mr(a,De(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mr(a,71027)|0;return}function te(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[41913]=~~(+h[b+232>>3]-+h[b+216>>3]);c[41912]=~~(+h[b+224>>3]-+h[b+208>>3]);mr(b,69673)|0;mr(b,69680)|0;d=Dn(c[d+8>>2]|0)|0;if(a[d>>0]|0){mr(b,69749)|0;mr(b,De(d)|0)|0;mr(b,69757)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;sr(b,69766,e);mr(b,69786)|0;mr(b,69821)|0;mr(b,69849)|0;mr(b,69855)|0;mr(b,69898)|0;mr(b,69939)|0;mr(b,69958)|0;mr(b,69975)|0;mr(b,70023)|0;mr(b,70076)|0;mr(b,70152)|0;mr(b,70228)|0;mr(b,70237)|0;mr(b,70260)|0;mr(b,70287)|0;mr(b,70340)|0;mr(b,70362)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70429)|0;mr(b,70455)|0;mr(b,70340)|0;mr(b,70507)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70551)|0;mr(b,70260)|0;mr(b,70287)|0;mr(b,70340)|0;mr(b,70507)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70429)|0;mr(b,70455)|0;mr(b,70340)|0;mr(b,70362)|0;mr(b,70407)|0;mr(b,70419)|0;mr(b,70564)|0;mr(b,70572)|0;mr(b,70578)|0;mr(b,70592)|0;mr(b,70600)|0;mr(b,70633)|0;e=(c[41913]|0)+10|0;c[f>>2]=c[41912];c[f+4>>2]=e;sr(b,70710,f);mr(b,70740)|0;mr(b,70749)|0;mr(b,70807)|0;mr(b,70817)|0;mr(b,70882)|0;f=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=f;sr(b,70919,g);g=c[41913]|0;c[i>>2]=c[41912];c[i+4>>2]=g;sr(b,70947,i);l=j;return}function ue(a){a=a|0;mr(a,69224)|0;mr(a,69236)|0;mr(a,69244)|0;mr(a,69307)|0;mr(a,69236)|0;mr(a,69352)|0;mr(a,69401)|0;mr(a,69455)|0;mr(a,69236)|0;mr(a,69555)|0;mr(a,69604)|0;mr(a,69236)|0;mr(a,69656)|0;return}function ve(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;mr(b,69182)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=De(d)|0;sr(b,69185,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=De(e)|0;sr(b,69196,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=De(f)|0;sr(b,69208,i)}mr(b,69221)|0;l=j;return}function we(a){a=a|0;mr(a,69176)|0;return}function xe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}B=j+-8.0;k=+((c[41913]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);sr(b,68838,n);h[o>>3]=B;h[o+8>>3]=k;sr(b,68775,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;sr(b,68799,p);mr(b,68873)|0;mr(b,68907)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];sr(b,68997,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;sr(b,69016,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;sr(b,69033,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;sr(b,69051,v)}}else{c[q>>2]=c[g>>2];sr(b,68997,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];sr(b,69067,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(iK(g,122106)|0){c[z>>2]=g;sr(b,69087,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;sr(b,69097,y);break}default:ma(123205,68561,438,69118)}mr(b,69131)|0;mr(b,De(c[f>>2]|0)|0)|0;mr(b,69142)|0;mr(b,69165)|0;l=A;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;mr(a,68739)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[41913]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;sr(a,68775,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;sr(a,68799,f);He(a,d);mr(a,68621)|0;Fe(a);mr(a,68827)|0;l=e;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;mr(a,68344)|0;n=c[41913]|0;c[g>>2]=c[41912];c[g+4>>2]=n;sr(a,68597,g);He(a,e);mr(a,68621)|0;Fe(a);mr(a,68624)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){mr(a,68651)|0;h[j>>3]=i;h[j+8>>3]=f;sr(a,68717,j);mr(a,68728)|0}else{h[k>>3]=i;h[k+8>>3]=f;sr(a,68717,k)}if((e|0)==(g|0))mr(a,68731)|0;e=e+1|0}mr(a,68460)|0;l=m;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;mr(a,68344)|0;h=c[41913]|0;c[e>>2]=c[41912];c[e+4>>2]=h;sr(a,68597,e);He(a,g);mr(a,68621)|0;Fe(a);mr(a,68624)|0;Ie(a,b,d);mr(a,68637)|0;l=f;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;mr(a,68344)|0;g=c[41913]|0;c[f>>2]=c[41912];c[f+4>>2]=g;sr(a,68381,f);mr(a,68421)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){mr(a,68433)|0;m=+((c[41913]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;sr(a,68437,i);mr(a,68448)|0}else{m=+((c[41913]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;sr(a,68437,j)}if((e|0)==(f|0))mr(a,68452)|0;e=e+1|0}mr(a,68456)|0;Fe(a);mr(a,68460)|0;l=k;return}function Ce(a,b){a=a|0;b=b|0;mr(a,68279)|0;mr(a,De(b)|0)|0;mr(a,68291)|0;return}function De(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[41910]|0;if(!d){c[41911]=64;d=ww(64)|0;c[41910]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[41911]|0;if((q|0)>(b+-8|0)){d=b<<1;c[41911]=d;d=yw(c[41910]|0,d)|0;c[41910]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=87187;t=26;break b}case 62:{e=4;b=87170;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=87181;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=87150;t=26;break b}case 39:{e=5;b=87175;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=ON(j|0,f|0,6)|0;g=HN(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Ee(p)|0)==0;e=b?5:1;b=b?87164:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?87157:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=MN(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=LN(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){XL(68297,46,1,c[13918]|0)|0;Ma(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[41910]|0}return 0}function Ee(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Fe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;mr(a,68472)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ge(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;sr(a,68490,j)}switch(c[i+144>>2]|0){case 1:{mr(a,68507)|0;break}case 2:{mr(a,68525)|0;break}default:{}}mr(a,68542)|0;l=k;return}function Ge(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mr(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mr(b,120501)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sr(b,68547,f);break a}default:ma(123205,68561,94,68581)}while(0);l=g;return}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)mr(a,68700)|0;else{d=c[a+16>>2]|0;mr(a,68670)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ge(a,f);mr(a,68697)|0}l=g;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=68651;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[41913]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;sr(a,68654,g);e=(f|0)==0?68667:174181;f=f+1|0}mr(a,83714)|0;l=i;return}function Je(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;mr(a,73284)|0;mr(a,73299)|0;mr(a,73338)|0;mr(a,73387)|0;c[e>>2]=122106;c[e+4>>2]=73475;sr(a,73456,e);c[d>>2]=121990;c[d+4>>2]=73481;sr(a,73456,d);l=b;return}function Ke(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,72237,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;sr(a,72259,d);mr(a,72406)|0;mr(a,73236)|0;l=b;return}function Le(a){a=a|0;mr(a,72220)|0;return}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;sr(a,72190,h);g[41914]=+(O(d,-10)|0);l=f;return}function Ne(a){a=a|0;mr(a,72173)|0;return}function Oe(a){a=a|0;mr(a,72155)|0;return}function Pe(a){a=a|0;mr(a,72139)|0;return}function Qe(a){a=a|0;mr(a,72118)|0;g[41914]=+g[41914]+-2.0;return}function Re(a){a=a|0;mr(a,72099)|0;return}function Se(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=Dn(c[(c[a+16>>2]|0)+8>>2]|0)|0;sr(a,72077,d);l=b;return}function Te(a){a=a|0;mr(a,72061)|0;return}function Ue(a){a=a|0;mr(a,72043)|0;g[41914]=+g[41914]+-5.0;return}function Ve(a){a=a|0;mr(a,72027)|0;g[41914]=+g[41914]+5.0;return}function We(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;sr(b,71873,n);g[41915]=+g[41914]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=af(b,71925,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=af(b,71142,m)|0;f=+g[41915];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=af(b,71174,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=bf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=72012;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=af(b,71937,q)|0;mr(b,q)|0;_I(q);_I(i);_I(o);_I(d);_I(n);l=r;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;mr(a,71750)|0;g[41915]=+g[41914]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=af(a,71110,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=af(a,71142,e)|0;A=+g[41915];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=af(a,71174,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=bf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=af(a,71765,n)|0;mr(a,w)|0;_I(b);_I(e);_I(f);_I(v);_I(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=af(a,71110,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=af(a,71142,r)|0;A=+g[41915];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=af(a,71174,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=bf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=af(a,71811,y)|0;mr(a,y)|0;_I(f);_I(e);_I(b);_I(x);_I(y)}l=z;return}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;mr(a,71615)|0;g[41915]=+g[41914]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=af(a,71110,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=af(a,71142,m)|0;L=+g[41915]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=af(a,71174,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=bf(a,B,0.0)|0;c[f>>2]=71237;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=af(a,71206,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=af(a,71251,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=af(a,71280,r)|0;_I(M);_I(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=af(a,71251,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=af(a,71280,t)|0;_I(x);_I(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=af(a,71630,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=af(a,71335,v)|0;_I(x);mr(a,M)|0;_I(k);_I(m);_I(n);_I(j);_I(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=af(a,71110,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=af(a,71142,z)|0;N=+g[41915]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=af(a,71174,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=bf(a,B,.25)|0;c[D>>2]=d;i=0;f=af(a,71675,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=af(a,71690,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=af(a,71712,H)|0;_I(D);_I(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=af(a,71722,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=af(a,71335,J)|0;_I(I);mr(a,M)|0;_I(n);_I(m);_I(k);_I(j);_I(M)}l=K;return}function Ze(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;mr(a,71542)|0;g[41915]=+g[41914]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=af(a,71110,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=af(a,71142,s)|0;C=+g[41915]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=af(a,71174,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=bf(a,e,0.0)|0;c[k>>2]=71556;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=af(a,71206,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=af(a,71251,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=af(a,71280,w)|0;_I(k);_I(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=af(a,71251,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=af(a,71280,y)|0;_I(k);_I(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=af(a,71565,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=af(a,71335,A)|0;_I(b);mr(a,d)|0;_I(r);_I(s);_I(t);_I(n);_I(d);l=B;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;mr(a,71094)|0;g[41915]=+g[41914]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=af(a,71110,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=af(a,71142,n)|0;w=+g[41915];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=af(a,71174,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=bf(a,e,0.0)|0;c[m>>2]=71237;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=af(a,71206,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=af(a,71251,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=af(a,71280,s)|0;_I(x);_I(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=af(a,71289,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=af(a,71335,u)|0;_I(t);mr(a,x)|0;_I(q);_I(n);_I(o);_I(i);_I(x);l=v;return}function $e(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sr(a,71075,e);l=d;return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=LK(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=ZI(g+1|0)|0;c[f>>2]=d;qL(a,b,f)|0;break}else{a=GL(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=yJ(c[(jJ()|0)>>2]|0)|0;hb[a&31](71520,h);a=GL(174181)|0}while(0);l=i;return a|0}function bf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(xJ(f,121094)|0)){c[k>>2]=71357;h[k+8>>3]=e;f=af(a,71340,k)|0;break a}if(!(xJ(f,118224)|0)){c[m>>2]=71361;h[m+8>>3]=e;f=af(a,71340,m)|0;break a}if(!(xJ(f,116223)|0)){c[p>>2]=71367;h[p+8>>3]=e;f=af(a,71340,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=af(a,71340,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=af(a,71372,i)|0;break}default:{p=c[13918]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;zL(p,71411,j)|0;ma(123205,71461,436,71481)}}while(0);c[o>>2]=f;p=af(a,71498,o)|0;_I(f);l=q;return p|0}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=73927;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;sr(a,76546,g);f=Dn(c[f+8>>2]|0)|0;c[e>>2]=73927;c[e+4>>2]=f;sr(a,76578,e);c[d>>2]=73927;sr(a,76592,d);l=b;return}function df(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=73927;sr(a,76494,d);l=b;return}function ef(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4007]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}rf();c[4007]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;sr(a,74114,m);c[n>>2]=73927;sr(a,74129,n);if(d>0.0){b=+FJ(d);h[16877]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[16877]=b;h[B>>3]=b;h[B+8>>3]=b;sr(a,74298,B);c[S>>2]=73927;sr(a,74333,S);c[o>>2]=73927;sr(a,74391,o);c[p>>2]=73927;sr(a,74451,p);c[q>>2]=73927;sr(a,74500,q);c[r>>2]=73927;sr(a,74539,r);c[s>>2]=73927;sr(a,74590,s);c[t>>2]=73927;sr(a,74652,t);c[u>>2]=73927;sr(a,74762,u);c[v>>2]=73927;sr(a,74853,v);c[w>>2]=73927;sr(a,74907,w);c[x>>2]=73927;sr(a,74976,x);sr(a,75012,y);c[z>>2]=73927;sr(a,75137,z);c[A>>2]=73927;sr(a,75166,A);sr(a,75206,C);c[E>>2]=73927;sr(a,75299,E);c[F>>2]=73927;sr(a,75358,F);c[G>>2]=73927;sr(a,75439,G);sr(a,75509,H);c[I>>2]=73927;sr(a,75598,I);c[J>>2]=73927;sr(a,75703,J);c[K>>2]=73927;sr(a,75779,K);c[L>>2]=73927;sr(a,75818,L);c[M>>2]=73927;sr(a,75917,M);c[N>>2]=73927;sr(a,75963,N);sr(a,76052,O);c[P>>2]=73927;sr(a,76093,P);c[Q>>2]=73927;sr(a,76176,Q);c[R>>2]=73927;sr(a,76277,R);h[T>>3]=e;h[T+8>>3]=d;sr(a,76341,T);sr(a,76369,U);sr(a,76377,V);l=W;return}function ff(a){a=a|0;var b=0;b=l;l=l+16|0;sr(a,74107,b);l=b;return}function gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[41916]|0;if(d|0?(xJ(d,f)|0)==0:0)break;c[o>>2]=pf(f)|0;sr(b,74006,o);o=c[m>>2]|0;c[41916]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[41917]|0)){j=+h[16877];c[p>>2]=f;h[p+8>>3]=j;sr(b,74014,p);c[41917]=f}c[q>>2]=qf(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;sr(b,74035,q);l=r;return}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?73948:174181;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;sr(a,73954,f);l=e;return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;nf(c[a+16>>2]|0,e+8|0,e);of(a,b,d,1);l=e;return}function kf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=ZI((d*140|0)+140|0)|0;nf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(pL(j,73932,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;PA(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(pL(e,73932,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;sr(a,73939,q);_I(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;sr(a,73944,s);e=e+1|0}mr(a,134901)|0;l=t;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;nf(c[a+16>>2]|0,e+8|0,e);of(a,b,d,0);l=e;return}function mf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=73927;c[e+4>>2]=b;sr(a,73920,e);l=d;return}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sr(a,73932,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sr(a,73932,i)}mr(a,134901)|0;l=j;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15756;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(xJ(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=74088;c[f+4>>2]=b;_l(1,74062,f)|0;d=HL(b,45)|0;if(!d){d=74105;break}a[d>>0]=0}l=h;return d|0}function qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[41918]|0;if(!d){c[41919]=64;d=ZI(64)|0;c[41918]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[41919]|0;if((e|0)>(b+-8|0)){d=b<<1;c[41919]=d;d=aJ(c[41918]|0,d)|0;c[41918]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;pL(d+1|0,74057,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[41918]|0}function rf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=74088;c[b+4>>2]=76485;_l(0,76467,b)|0;l=a;return}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;sr(a,77065,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;sr(a,77107,f);l=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;sr(a,77152,f);mr(a,77244)|0;l=e;return}function uf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)ma(96061,77249,212,77268);if(!b)ma(96091,77249,213,77268);p=b+8|0;if(!(c[p>>2]|0))ma(96094,77249,214,77268);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){sr(a,77289,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;sr(a,77292,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;sr(a,77292,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;sr(a,77299,n)}sr(a,77289,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;sr(a,77292,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;sr(a,77292,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;sr(a,77314,s)}l=t;return}function wf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)ma(96061,77249,153,77330);if(!d)ma(96091,77249,154,77330);if(!(c[d+8>>2]|0))ma(96094,77249,155,77330);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==84)g=18;else{gb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((Mr(d)|0)<<24>>24))break;f=zN(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){_L(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=pJ(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=84;Nr(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;sr(b,77348,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];sr(b,77379,m)}else fy(b,d);sr(b,77394,n)}l=o;return}function xf(a){a=a|0;nJ(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)ma(96061,77249,121,77404);e=c[a+16>>2]|0;if(!e)ma(84921,77249,123,77404);if(!b)ma(96091,77249,124,77404);d=b+8|0;if(!(c[d>>2]|0))ma(96094,77249,125,77404);if(!(c[e+8>>2]|0))ma(123690,77249,128,77404);else{sr(a,77424,g);sr(a,77433,g+8|0);sr(a,77460,g+16|0);sr(a,77485,g+24|0);sr(a,77514,g+32|0);sr(a,77542,g+40|0);c[f>>2]=c[d>>2];sr(a,77549,f);sr(a,77588,g+56|0);sr(a,95830,g+64|0);l=g;return}}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)ma(96061,77249,97,77593);if(!b)ma(96091,77249,98,77593);e=c[b+8>>2]|0;if(!e)ma(96094,77249,99,77593);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;sr(a,77612,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;sr(a,77670,g);l=i;return}}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)ma(96061,77249,53,77702);if(!b)ma(96091,77249,54,77702);e=b+8|0;if(!(c[e>>2]|0))ma(96094,77249,55,77702);mr(a,77721)|0;mr(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;sr(a,77850,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;sr(a,77741,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;sr(a,77820,m)}mr(a,77929)|0;l=o;return}function Bf(a){a=a|0;var b=0,c=0;b=co(a)|0;while(1){if(!b)break;Cf(b);b=eo(a,b)|0}c=co(a)|0;while(1){if(!c)break;b=Pm(a,c)|0;while(1){if(!b)break;Df(b);b=Rm(a,b)|0}c=eo(a,c)|0}return}function Cf(a){a=a|0;var b=0,d=0;No(a,122241,304,1)|0;WA(a);KB(a,c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=vw(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=vw(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=vw(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=vw(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=vw(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Df(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;No(d,122254,176,1)|0;XA(d)|0;h=DA(d,c[42218]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=FA(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[42212]|0,174181)|0;i=FA(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[42212]|0,174181)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(zk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(DA(d,c[42231]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(DA(d,c[42219]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Ef(a){a=a|0;var b=0,d=0;Ff(c[(c[a+16>>2]|0)+192>>2]|0);d=co(a)|0;while(1){if(!d)break;b=Pm(a,d)|0;while(1){if(!b)break;rB(b);b=Rm(a,b)|0}Gf(d);d=eo(a,d)|0}Hf(a);return}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;If(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){_I(e);d=c[f>>2]|0}_I(d);_I(b);b=g}return}function Gf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){_I(d);b=c[e>>2]|0}ow(c[b+104>>2]|0);ow(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)gb[c[(c[b+4>>2]|0)+4>>2]&127](a);Po(a,122241)|0;return}function Hf(a){a=a|0;var d=0,e=0,f=0;d=Jp(a)|0;while(1){if(!d)break;Hf(d);d=Kp(d)|0}if(No(a,122277,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){_I(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;_I(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){_I(e+-64|0);break}else{_I(e);break}}while(0);if((so(a)|0)!=(a|0)){ow(c[(c[f>>2]|0)+12>>2]|0);Po(a,122277)|0}}return}function If(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;Xg(b);_I(c[b+16>>2]|0);_I(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;Xg(b);_I(c[b+16>>2]|0);_I(b);b=a}return}function Jf(a){a=a|0;if(mn(a)|0)Kf(a);$x(a);return}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=et(a,-1,8)|0;d=ft(a,0,f)|0;dt(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Lf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=Bs(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Lf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Lf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Mf(b,a);Lf(b);d=d+1|0;b=c[g>>2]|0}Nf(a);ct(c[g>>2]|0,e,a,f)|0;Of(a);Pf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;_I(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Hf(c[f>>2]|0);qo(a,c[f>>2]|0)|0;b=b+1|0}_I(e)}l=h;return}function Lf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=DA(a,ym(a,0,77944,0)|0,-1,1)|0;IB(a,10);d=yk(a,e)|0;Rf(a,a);Bf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){kj(a,d);if(f){d=3;break}if(c[g>>2]|0){_l(0,77950,k)|0;c[e>>2]=0;d=0}uh(a,(d|0)!=0&1);if(h){d=7;break}xi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)Sf(a,1);else if((d|0)==7)Sf(a,2);else if((d|0)==9)Sf(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)Tf(a);ek(a);Xf(a);if((IA(Im(a,78041)|0)|0)<<24>>24)_k(a)}l=m;return}function Mf(b,d){b=b|0;d=d|0;var e=0,f=0;No(b,122277,280,1)|0;e=vw(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Nf(a){a=a|0;var b=0,d=0,e=0;b=vw((mn(a)|0)<<4)|0;d=co(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=eo(a,d)|0}return}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(co(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=co(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=eo(a,d)|0}_I(e);return}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=vw((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=As(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;Qf(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;No(d,122277,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=vw((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=As(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;Qf(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function Rf(a,b){a=a|0;b=b|0;if((so(a)|0)!=(a|0))No(a,122277,280,1)|0;if((a|0)==(b|0))c[(c[(so(a)|0)+16>>2]|0)+188>>2]=a;a=Jp(a)|0;while(1){if(!a)break;Rf(a,b);a=Kp(a)|0}return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=ym(a,1,80018,174181)|0;g=ym(a,1,78084,174181)|0;h=(b|0)>0;d=(b|0)==1;b=co(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],pL(e,122187,j)|0,Cm(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];pL(e,122187,k)|0;Cm(b,g,e)|0}b=eo(a,b)|0}l=m;return}function Tf(a){a=a|0;var b=0,c=0,d=0;c=Ip(a,79522,0)|0;if(c|0){b=co(c)|0;while(1){if(!b)break;d=eo(c,b)|0;dh(a,b);Uf(a,b);Gf(b);po(a,b)|0;b=d}Mp(a,c)|0}return}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)ma(78050,78057,248,78067);return}function Vf(a){a=a|0;return c[(c[(so(a)|0)+16>>2]|0)+188>>2]|0}function Wf(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function Xf(a){a=a|0;Yf(a,1);return}function Yf(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){Zf(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{_l(0,78090,f)|0;A=9}}else if(X<<16>>16==8){Zf(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){LB(d,0);n=0;m=0;k=0;break}else{_f(d);LB(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){Yk(d);if(ly()|0)break;W=vw(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=vw(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_<y?y:_)}else g=I;B=f+-16|0;z=g+16|0;x=0;t=L;r=M;q=j;u=E;v=m;g=k;f=p;while(1){if((x|0)>=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?($a[c[17228>>2]&31](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{$f(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=yw(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;$f(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=yw(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}$f(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=yw(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)ma(78158,78171,313,78184);c[Y>>2]=H;c[F>>2]=I;rL(E,L,4,10);c[W+84>>2]=vw((D<<5)+11520|0)|0;c[Y+16>>2]=vw(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){bg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=cg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;TN(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(cg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;TN(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Wf(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(Wf(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=vw(w<<2)|0;c[f>>2]=cg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}uy(d,f,w,P,17224);if((w|0)>1)_I(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){dg(d,Y,W,M,x,w,P);x=u;continue}else{eg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);Rz(W,M,x,w,y,+((f|0)/2|0|0),17224);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)bB(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){bg(g);bB(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{fg(d);n=W;k=W}}f:do if((c[42241]|0)!=0|(c[42242]|0)!=0?(c[42247]|0)!=0|(c[42246]|0)!=0:0){j=co(d)|0;while(1){if(!j)break f;g:do if(c[42241]|0){f=Sm(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){Zz(i,1)|0;bB(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Tm(d,f)|0}}while(0);h:do if(c[42242]|0){f=Pm(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?Zz(f,0)|0:0)bB(d,c[(c[g>>2]|0)+104>>2]|0);f=Rm(d,f)|0}}while(0);j=eo(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{_I(m);_I(c[n+84>>2]|0);_I(k);_I(c[Y+16>>2]|0);my()}}c[42181]=1;c[42182]=1}while(0);l=Z;return}function Zf(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=co(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=eo(a,b)|0}return}function _f(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;bg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}bB(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)ma(78358,78171,234,78377);else if((d|0)==12)return}function $f(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=cg(C)|0;r=cg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){TN(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{TN(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Wf(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=Wf(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function bg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function cg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function dg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){TN(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Dg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Eg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Gg(b,d,e,o,q,y,1);Gg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[16878]=G;h[16879]=E;k=k+1|0;C=+(k|0);D=v*C;h[16880]=F+D;C=E+m*C;h[16881]=C;h[16882]=G;h[16883]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[16884]=G;h[16885]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[16888]=G;h[16887]=F;h[16886]=E-D;h[16889]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Lz(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=135024+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];Lz(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];Lz(e,x);o=n}if(p)n=ny(e,A)|0;else n=ty(e,A)|0;o=c[A>>2]|0;if(!o)break a;Jz(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17224);c[q>>2]=0}}Fg(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Cg(b,f,g,i,q,j);l=B;return}function eg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[41920]|0)){c[41920]=ww(32e3)|0;c[41921]=ww(32e3)|0;c[41922]=2e3;c[41923]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;TN(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{TN(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){TN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;TN(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=cg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=ig(b,K,c[41920]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;jg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];Mz(e,K,1,T,kg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];lg(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if(($a[c[17228>>2]&31](p)|0)<<24>>24)break b;o=t|1;ca=135024+(t<<5)|0;mg(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=ng(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=135024+(o<<5)|0;jg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}jg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];Pz(e,u,1,U,kg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];lg(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;og(e,I,u,T,U,o);if(!G){k=ty(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];UN(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=ny(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[41922]|0)){c[41922]=p<<1;t=yw(c[41920]|0,p<<5)|0;c[41920]=t;o=c[X>>2]|0}else t=c[41920]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=pg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;qg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;jg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];Mz(e,o,1,T,kg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];lg(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=135024+(t<<5)|0;mg(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];jg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;Pz(e,r?Y:u,1,U,kg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];lg(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}og(e,I,u,T,U,k);if(G)q=ny(e,X)|0;else q=ty(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];UN(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[41922]|0)){c[41922]=n<<1;p=yw(c[41920]|0,n<<5)|0;c[41920]=p;k=c[X>>2]|0}else p=c[41920]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;qg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){Jz(K,c[_>>2]|0,c[41920]|0,v,17224);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[41922]|0;if((k|0)>(c[41923]|0)){c[41923]=k;o=yw(c[41921]|0,k<<4)|0;c[41921]=o;n=c[41920]|0}else o=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}Jz(K,c[_>>2]|0,o,v,17224);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;TN(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[41920]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[41921]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}Jz(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17224);q=q+1|0}}while(0);l=ba;return}function fg(a){a=a|0;var b=0,d=0,e=0;b=co(a)|0;while(1){if(!b)break;d=Pm(a,b)|0;while(1){if(!d)break;if(($a[c[4306]&31](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)gg(e);d=Rm(a,d)|0}b=eo(a,b)|0}return}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=ww(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}hg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;_I(c[d+(b*48|0)>>2]|0);b=b+1|0}_I(d);c[a>>2]=g;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=ww(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function ig(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Ag(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Ag(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Ag(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Ag(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(ro(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Bg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function jg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=wg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=xg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=wg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=xg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j<o)j=p}p=+h[q+24>>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function kg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{vg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{vg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function ng(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function og(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=sg(b,-1)|0;b=sg(b,1)|0;if(!((h|0)!=0?!(_z(h)|0):0))i=3;do if((i|0)==3){if(b|0?(_z(b)|0)==0:0)break;h=tg(d,-1)|0;b=tg(d,1)|0;if(h|0?(_z(h)|0)==0:0)break;if(b|0?(_z(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];Lz(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=135024+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];Lz(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];Lz(a,j);h=b}ug(a,d,i)}while(0);l=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function qg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if(($a[c[17228>>2]&31](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){rg(j,i,~~((f+g)*.5),~~f);break}else{rg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0<e)){g=j;continue}h[f>>3]=e+16.0;g=j}return}function vg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function wg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((zg(b,d,e,f)|0)<<24>>24!=0);return b|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(yg(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(yg(d,e)|0)==0;return (e?0:d)|0}}return d|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function zg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Cg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((By(J)|0)!=2?(By(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Eg(J,B,d,e,f,i);break}else{Jg(J,B,d,e,f,i,g);break}y=vw(156)|0;z=Kg(b,y)|0;t=Ip(z,78320,1)|0;No(t,122277,280,1)|0;Km(t,80018,80032)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=Lg(t,q)|0;u=Lg(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=Mg(z,t,u,o)|0;else k=Mg(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=an(z,t,u,0,1)|0;else x=g;Cm(x,c[42218]|0,78324)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;IB(z,i);Bf(z);kj(z,0);uh(z,0);xi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}ek(z);Yf(z,0);$x(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=Iz(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];eu((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];Ng(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;bB(b,T)}}r=r+1|0}Og(z,y)}else Q=3;while(0);if((Q|0)==3?(c[41924]|0)==0:0){c[41924]=1;_l(0,78197,O)|0;Q=Dn(J)|0;S=(qn(b)|0)!=0;T=Dn(B)|0;c[P>>2]=Q;c[P+4>>2]=S?122546:122549;c[P+8>>2]=T;_l(3,78303,P)|0}l=R;return}function Dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Gg(b,d,e,p,f,t,1);Gg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[16878]=A;h[16879]=+h[t+56+(m<<5)+24>>3];h[16880]=E;h[16881]=B;h[16882]=A;h[16883]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[16884]=A;h[16885]=D;h[16886]=C;h[16889]=B;h[16887]=+h[v+56+(i<<5)+24>>3];h[16888]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];Lz(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=135024+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];Lz(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];Lz(e,u);j=i}if((g|0)==10)j=ny(e,w)|0;else j=ty(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Ag(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Ag(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)Jz(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17224);l=z;return}function Eg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Ag(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Ag(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Ig(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Ig(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Ig(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Ig(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Ig(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Ig(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Ig(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Ig(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;Jz(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17224);i=i+z;b=b+1|0}l=N;return}function Fg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Hg(a,d,e,q,j,w,1);Hg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[16878]=D;h[16881]=B;m=m+1|0;z=+(m|0);A=s*z;h[16880]=C+A;z=B-n*z;h[16879]=z;h[16882]=D;h[16885]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[16884]=D;h[16883]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[16888]=D;h[16889]=C;h[16886]=B-A;h[16887]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Lz(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=135024+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];Lz(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];Lz(e,t);p=o}if(a)o=ty(e,v)|0;else o=ny(e,v)|0;p=c[v>>2]|0;if(!p)break;Jz(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17224);c[d>>2]=0}l=x;return}function Gg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;jg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))Pz(d,f,2,g,0);else Mz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];lg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Hg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;jg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))Pz(d,f,2,g,0);else Mz(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];lg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Ig(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=vw(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}rL(U,g,4,11);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Ag(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Ag(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];Jz(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17224);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=jy(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;Jz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=jy(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;Jz(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17224);m=m+1|0;p=t}_I(U)}while(0);l=Y;return}function Kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(qn(b)|0)==0;j=j?17648:17640;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=gn(78335,f,0)|0;No(f,122277,280,1)|0;ym(f,0,80018,174181)|0;j=vw(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=Dm(so(b)|0,1,0)|0;while(1){if(!e)break;ym(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Dm(so(b)|0,1,e)|0}e=Dm(so(b)|0,2,0)|0;while(1){if(!e)break;ym(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=Dm(so(b)|0,2,e)|0}if(!(ym(f,2,96251,0)|0))ym(f,2,96251,174181)|0;if(!(ym(f,2,96242,0)|0))ym(f,2,96242,174181)|0;Pg(f,d);l=g;return f|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=no(a,Dn(b)|0,1)|0;No(a,122241,304,1)|0;Mm(b,a)|0;if((By(b)|0)==2){f=b+16|0;b=ww((rJ(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];pL(b,78330,d)|0;Km(a,86240,b)|0}l=e;return a|0}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=an(a,b,c,0,1)|0;No(c,122254,176,1)|0;Mm(d,c)|0;return c|0}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Ag(a,f,g);l=i;return}function Og(a,b){a=a|0;b=b|0;c[42233]=c[b>>2];c[42237]=c[b+4>>2];c[42238]=c[b+8>>2];c[42218]=c[b+12>>2];c[42219]=c[b+16>>2];c[42225]=c[b+20>>2];c[42224]=c[b+24>>2];c[42223]=c[b+28>>2];c[42249]=c[b+32>>2];c[42241]=c[b+36>>2];c[42226]=c[b+40>>2];c[42236]=c[b+44>>2];c[42245]=c[b+48>>2];c[42244]=c[b+52>>2];c[42243]=c[b+56>>2];c[42248]=c[b+60>>2];c[42242]=c[b+64>>2];c[42227]=c[b+68>>2];c[42189]=c[b+72>>2];c[42190]=c[b+76>>2];c[42191]=c[b+80>>2];c[42201]=c[b+84>>2];c[42194]=c[b+88>>2];c[42195]=c[b+92>>2];c[42196]=c[b+96>>2];c[42198]=c[b+100>>2];c[42199]=c[b+104>>2];c[42202]=c[b+108>>2];c[42205]=c[b+112>>2];c[42203]=c[b+116>>2];c[42204]=c[b+120>>2];c[42207]=c[b+124>>2];c[42206]=c[b+128>>2];c[42208]=c[b+132>>2];c[42209]=c[b+136>>2];c[42200]=c[b+140>>2];c[42212]=c[b+144>>2];c[42184]=c[b+148>>2];c[42181]=c[b+152>>2];_I(b);Ef(a);ln(a)|0;return}function Pg(a,b){a=a|0;b=b|0;c[b>>2]=c[42233];c[b+4>>2]=c[42237];c[b+8>>2]=c[42238];c[b+12>>2]=c[42218];c[b+16>>2]=c[42219];c[b+20>>2]=c[42225];c[b+24>>2]=c[42224];c[b+28>>2]=c[42223];c[b+32>>2]=c[42249];c[b+36>>2]=c[42241];c[b+40>>2]=c[42226];c[b+44>>2]=c[42236];c[b+48>>2]=c[42245];c[b+52>>2]=c[42244];c[b+56>>2]=c[42243];c[b+60>>2]=c[42248];c[b+64>>2]=c[42242];c[b+68>>2]=c[42227];c[b+72>>2]=c[42189];c[b+76>>2]=c[42190];c[b+80>>2]=c[42191];c[b+84>>2]=c[42201];c[b+88>>2]=c[42194];c[b+92>>2]=c[42195];c[b+96>>2]=c[42196];c[b+100>>2]=c[42198];c[b+104>>2]=c[42199];c[b+108>>2]=c[42202];c[b+112>>2]=c[42205];c[b+116>>2]=c[42203];c[b+120>>2]=c[42204];c[b+124>>2]=c[42207];c[b+128>>2]=c[42206];c[b+132>>2]=c[42208];c[b+136>>2]=c[42209];c[b+140>>2]=c[42200];c[b+144>>2]=c[42212];c[b+152>>2]=c[42181];c[b+148>>2]=c[42184];c[42233]=0;c[42237]=ym(a,2,80259,0)|0;c[42238]=ym(a,2,80268,0)|0;b=ym(a,2,86614,0)|0;c[42218]=b;if(!b)c[42218]=ym(a,2,86614,174181)|0;c[42219]=0;c[42225]=0;c[42224]=ym(a,2,86494,0)|0;c[42223]=ym(a,2,86485,0)|0;c[42249]=ym(a,2,86790,0)|0;c[42241]=0;c[42226]=ym(a,2,86240,0)|0;c[42236]=ym(a,2,78340,0)|0;c[42245]=0;c[42244]=ym(a,2,86690,0)|0;c[42243]=ym(a,2,86676,0)|0;c[42248]=ym(a,2,86781,0)|0;c[42242]=0;c[42227]=0;c[42189]=ym(a,1,96049,0)|0;c[42190]=ym(a,1,96043,0)|0;c[42191]=ym(a,1,90671,0)|0;c[42201]=0;c[42194]=ym(a,1,86485,0)|0;c[42195]=ym(a,1,86494,0)|0;c[42196]=0;c[42198]=ym(a,1,86240,0)|0;c[42199]=0;c[42202]=0;c[42205]=ym(a,1,86446,0)|0;c[42203]=ym(a,1,86529,0)|0;c[42204]=ym(a,1,86535,0)|0;c[42207]=ym(a,1,86547,0)|0;c[42206]=ym(a,1,86385,0)|0;c[42208]=ym(a,1,86552,0)|0;c[42209]=ym(a,1,78352,0)|0;c[42200]=0;c[42212]=0;c[42184]=ym(a,0,86446,0)|0;return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0}function Rg(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Tg(a,f,b,e)|0;l=d;return b|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function Ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=Tg(a,f,b,e)|0;l=d;return b|0}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=ww((c[d+184>>2]<<2)+8|0)|0;else b=yw(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=ww((c[b+176>>2]<<2)+8|0)|0;else b=yw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function Xg(a){a=a|0;if(!a)ma(78393,78403,117,78412);else{Wg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);Wg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function Yg(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=ww((c[d+208>>2]<<2)+8|0)|0;else b=yw(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function Zg(a){a=a|0;_g(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=ww((e<<2)+8|0)|0;else d=yw(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function $g(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=vw(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=vw(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;return Vg($g(a,b,c)|0)|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))ma(78429,78403,215,78445);else return}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))ma(78455,78403,220,78462);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)ma(78475,78403,221,78462);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(eh(a,b)|0))ma(78494,78403,231,78515);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function eh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function fh(b){b=b|0;var d=0,e=0,f=0,g=0;d=vw(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=vw(304)|0;c[d+24>>2]=so(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=vw(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=vw(20)|0;c[(c[e>>2]|0)+180>>2]=f;bh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function gh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=ww((c[e+192>>2]<<2)+8|0)|0;else e=yw(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=ww((c[e+200>>2]<<2)+8|0)|0;else e=yw(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(Vf(b)|0)+16>>2]|0)+240>>0]=1;return}function hh(a){a=a|0;var b=0,d=0;if(!a)ma(78393,78403,269,78532);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;Wg((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);Wg((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;jh(a,b);break}else ma(80440,78403,340,78570);else _l(0,78549,f)|0;while(0);l=f;return}function jh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function kh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;lh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))mh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;lh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function lh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)ma(78393,78403,128,78583);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))Wg(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){Wg(d,a);b=c[a>>2]|0}f=f+1|0}return}function nh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[17644]|0;a[n+1>>0]=a[17645]|0;a[n+2>>0]=a[17646]|0;a[n+3>>0]=a[17647]|0;d=gn(78605,n,0)|0}c[o>>2]=g;pL(m,122187,o)|0;t=no(d,m,1)|0;No(t,78608,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((mn(d)|0)>1)oh(d,h);ln(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=co(a)|0;a:while(1){if(!h)break;i=eo(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))an(a,h,g,0,1)|0}else{an(a,g,h,0,1)|0;d=1}g=eo(a,g)|0}}do if(d|0){h=Ip(a,78613,1)|0;j=vw((mn(a)|0)<<2)|0;i=vw((mn(a)|0)<<2)|0;f=b+4|0;e=co(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?on(a,e,1,1)|0:0){c:do if(ph(a,e,h,i)|0){g=mn(h)|0;if((qh(a,h,j)|0)!=(g|0)){d=17;break b}rL(i,g,4,12);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);sh(h)}e=eo(a,e)|0}if((d|0)==17)ma(78618,78628,265,78639);else if((d|0)==23){_I(j);break}}while(0);return}function ph(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((mn(d)|0)<<2)>>2]=h;io(d,b,1)|0;h=Pm(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(ph(a,g,d,e)|0)+f|0;h=Rm(a,h)|0}h=Sm(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(ph(a,g,d,e)|0)+f|0;h=Tm(a,h)|0}return f|0}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=th(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];po(b,e)|0;e=Pm(a,e)|0;while(1){if(!e)break;g=Rm(a,e)|0;dn(a,e)|0;e=g}f=f+1|0}return f|0}function rh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function sh(a){a=a|0;var b=0,c=0;b=co(a)|0;while(1){if(!b)break;c=eo(a,b)|0;po(a,b)|0;b=c}return}function th(a,b){a=a|0;b=b|0;var c=0;c=co(b)|0;while(1){if(!c){c=0;break}if(!(on(a,c,1,0)|0))break;c=eo(b,c)|0}return c|0}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;vh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;wh(b,f);f=f+1|0;e=(xh(b,0,d)|0)+e|0}yh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(zh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=Im(b,78653)|0;if(f|0?(IA(f)|0)<<24>>24==0:0)break;Yk(b);a[173893]=1;e=xh(b,2,d)|0}while(0);Ah(b,e);return}function vh(d){d=d|0;var e=0;if(0)xA();a[173893]=0;c[41927]=d;e=((nn(Vf(d)|0)|0)<<2)+4|0;c[41926]=vw(e)|0;c[41925]=vw(e)|0;qi(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)ri(d);Fk(d);tl(d,1);si(d);Hh(d);e=c[e>>2]|0;c[41928]=b[e+236>>1];c[41929]=b[e+238>>1];return}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function xh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=Xh(0)|0;Yh(a)}else e=2147483647;m=c[13918]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[42180]|0;if((k|0)==2)if((e|0)>(b|0)){_h(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((Vf(a)|0)==(a|0))Zh(a,k);if(!k)Ih(a);Jh(a);g=Xh(0)|0;if((g|0)>(b|0)){f=e;e=g}else{Yh(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;zL(m,79046,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[41930]|0))break;$h(a,j);e=Xh(0)|0;if((e|0)>(b|0))g=i;else{Yh(a);g=+h[20878]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))_h(a);if((b|0)>0){ai(a,0);e=Xh(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;bi(a);b=b+1|0}}while(0);l=o;return e|0}function yh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;Wh(a);k=a+16|0;d=c[k>>2]|0;m=c[13918]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=Dn(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;zL(m,78996,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Sk(a);Hh(a);Ih(a);Jh(a);f=a+16|0;d=xh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(zh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Kh(a);return d|0}function Ah(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[41925]|0;if(f|0){_I(f);c[41925]=0}f=c[41926]|0;if(f|0){_I(f);c[41926]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Bh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){hh(i);_I(c[j>>2]|0);_I(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Ch(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[13918]|0;d=Dn(d)|0;r=+yA();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;zL(o,78664,p)|0}l=q;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Bh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Dh(a,j,-1)|0;j=Dh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Ch(a){a=a|0;if(a|0){_I(c[a+8>>2]|0);_I(a)}return}function Dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Eh(b,c)|0;if(!b)break;if(Fh(a,b)|0){d=b;continue}e=(Gh(a,b)|0)==0;d=e?d:b}return d|0}function Eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)ma(78703,78628,1023,78705);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else ma(78714,78628,1029,78705);else g=0}return g|0}function Fh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(Bo(b,d)|0)!=0&1;else b=0;return b|0}function Gh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(Bo(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Hh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[42184]|0;a:do if((d|0)!=0|(c[42205]|0)!=0){d=FA(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(xJ(d,78916)|0)){Rh(b,1);break a}break}case 105:{if(!(xJ(d,83705)|0)){Rh(b,0);break a}break}default:{}}c[e>>2]=d;_l(1,78920,e)|0;break}d=Jp(b)|0;while(1){if(!d)break;if(!(Cj(d)|0))Hh(d);d=Kp(d)|0}if(c[42205]|0)Sh(b)}while(0);l=f;return}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Ph(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){Qh(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Jh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=ww(e)|0;else p=yw(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((Lh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((Lh(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Mh(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(Lh(d,g)|0){t=37;break a}hh(g);Nh(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)ma(78762,78628,1561,78801);if(h|0)_I(q)}return}function Kh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Lh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Oh(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Oh(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Lh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Mh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else ma(78814,78628,1490,78830);return 0}function Nh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}ih(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=ww((c[e+208>>2]<<2)+8|0)|0;else e=yw(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=$g(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];gh(b,m)}return}function Oh(a,b){a=a|0;b=b|0;var c=0;c=Fh(a,b)|0;return Gh(a,b)|0|c|0}function Ph(a,b){a=a|0;b=b|0;var d=0;d=vw(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=vw(O(b,a)|0)|0;return d|0}function Qh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(Vf(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((Bo(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(Bo(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;hh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Nh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;Qh(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)ma(78840,78628,1251,78872);else if((q|0)==12)ma(78884,78628,1252,78872);else if((q|0)==16)ma(78840,78628,1260,78872);else if((q|0)==18)ma(78884,78628,1261,78872)}else p=e;while(0);a[p+158>>0]=0;return}function Rh(a,b){a=a|0;b=b|0;var c=0;c=co(a)|0;while(1){if(!c)break;Th(a,c,b);c=eo(a,c)|0}return}function Sh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=co(b)|0;while(1){if(!d)break;e=FA(d,c[42205]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(xJ(e,78916)|0)){Th(b,d,1);break a}break}case 105:{if(!(xJ(e,83705)|0)){Th(b,d,0);break a}break}default:{}}h=Dn(d)|0;c[f>>2]=e;c[f+4>>2]=h;_l(1,78951,f)|0}while(0);d=eo(b,d)|0}l=g;return}function Th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[41926]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Uh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(Uh(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;rL(j,d,4,13);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(Ug(e,d)|0)break a;i=$g(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;gh(b,i);f=f+1|0}}}while(0);return}function Uh(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function Vh(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function Wh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[41928];b[f+238>>1]=c[41929]}return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[41927]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=oi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function Yh(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function Zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=zA(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;BA(o,g);while(1){f=CA(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){Xk(d,f,e,o);continue}else{mi(d,f);ni(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(CA(o)|0)_l(1,79159,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;gi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((Vf(d)|0)==(d|0)?(Xh(0)|0)>0:0)ai(d,0);AA(o);l=r;return}function _h(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;rL(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,14);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function $h(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[41927]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[41927]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;ji(a,d,g,(ii(a,d,d-f|0)|0)&255);d=d+f|0}ai(a,g^1);return}function ai(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(hi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function bi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(ci(d,i,j)|0)continue;if(p){f=di(i,j)|0;h=di(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(ei(i,j)|0)+f|0;h=(ei(j,i)|0)+h|0}if((h|0)<=(f|0))break}fi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)ma(79110,78628,721,79136);else if((e|0)==16)return}function ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[173893]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function di(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}gi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))gi(e,f)}return}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[41927]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function hi(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(ci(d,j,k)|0)continue;if(r){f=di(j,k)|0;g=di(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(ei(j,k)|0)+f|0;g=(ei(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}gi(j,k);i=f-g+i|0;g=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)ma(79110,78628,770,79144);else if((f|0)==17)return i|0;return 0}function ii(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[41925]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{rL(p,a,4,12);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(ki(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(ci(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}gi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function ki(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function li(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function mi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))ma(79224,78628,1346,79260);g=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=Dn(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;_l(1,79276,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;_l(1,79349,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=Dn(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;_l(1,79410,o)|0}}else{n=Dn(a)|0;o=Dn(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;_l(1,79169,f)|0}while(0);l=p;return}function ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;BA(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;BA(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function oi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[41927]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[41931]|0)>(d|0))q=c[41932]|0;else{d=d+1|0;c[41931]=d;f=c[41932]|0;if(!f)d=ww(d<<2)|0;else d=yw(f,d<<2)|0;c[41932]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(pi(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(pi(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function pi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function qi(a){a=a|0;var b=0.0,d=0.0;c[41930]=8;c[42180]=24;h[20878]=.995;a=Im(a,79532)|0;if(a|0?(b=+sM(a),b>0.0):0){d=b*+(c[41930]|0);c[41930]=~~(d>1.0?d:1.0);b=b*+(c[42180]|0);c[42180]=~~(b>1.0?b:1.0)}return}function ri(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=vw(e<<2)|0;ti(a,d,e,0)|0;_I(d);return}\nfunction Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[83089]|0):0)?!(xJ(f,83089)|0):0)){h=ym(c[c[42039]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=ym(c[c[42039]>>2]|0,b,f,174181)|0;c[d>>2]=266;bp(c[42038]|0,f)|0}d=d+12|0}return}function Vq(a){a=a|0;Wq(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function Wq(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{Wq(c[a+4>>2]|0);break}case 266:case 267:{bp(c[42038]|0,c[a+8>>2]|0)|0;break}default:{}}Zn(c[42038]|0,a);a=b}return}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=rJ(a)|0;d=d+2+(rJ(b)|0)|0;if(d>>>0<1025)e=g;else e=ZI(d)|0;c[f>>2]=a;c[f+4>>2]=b;pL(e,83126,f)|0;d=$o(c[42038]|0,e)|0;bp(c[42038]|0,a)|0;bp(c[42038]|0,b)|0;if((e|0)!=(g|0))_I(e);l=h;return d|0}function Yq(a,b){a=a|0;b=b|0;return Sq(259,a,b)|0}function Zq(a){a=a|0;return Sq(265,a,0)|0}function _q(a){a=a|0;return Sq(262,a,0)|0}function $q(a){a=a|0;var b=0,d=0;b=(c[42039]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)Cm(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=co(d)|0;while(1){if(!f)break a;br(a,b,io(c[c[42039]>>2]|0,f,0)|0,0,e);f=eo(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=io(c[c[42039]>>2]|0,c[f+4>>2]|0,0)|0;br(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function br(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=an(c[c[42039]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;cr(d,96242,a?e:b);cr(d,96251,a?b:e);$q(d)}return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=ym(c[c[42039]>>2]|0,2,b,0)|0;if(!e)e=ym(c[c[42039]>>2]|0,2,b,174181)|0;Cm(a,e,d)|0}return}function dr(a,b,d){a=a|0;b=b|0;d=d|0;c[42007]=b;c[42038]=a;c[41987]=0;a=d|0?d:17656;c[42041]=a;gp(a,b);Bq()|0;a=c[41987]|0;if(!a){Fp();a=c[41987]|0}return a|0}function er(a,b){a=a|0;b=b|0;return dr(0,a,b)|0}function fr(a,b){a=a|0;b=b|0;b=Jr(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;No(b,122277,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((so(b)|0)!=(b|0))c[(c[(so(b)|0)+16>>2]|0)+144>>2]=a;e=Im(b,83342)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(fr(a,e)|0)==999):0){d=Kr(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;_l(1,83869,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{Fv(1);dw(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(so(b)|0)+16>>2]|0)+8>>2]=d;Ez();d=c[e>>2]|0;if(d|0?(gb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;Fv(0);d=0}}l=i;return d|0}function hr(a,b){a=a|0;b=b|0;var d=0,e=0;if(No(b,122277,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){gb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)iw(b)}return 0}function ir(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){gb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)jr(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[13885];g=12;break}f=aM(e,91556)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=yJ(c[(jJ()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;hb[j&31](83132,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{hb[c[(c[b+12>>2]|0)+16>>2]&31](83170,j);d=1}l=k;return d|0}function jr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;pL(g,83188,e)|0}e=c[b+20>>2]|0;e=e|0?e:83192;d=rJ(e)|0;i=rJ(g)|0;f=b+52|0;i=d+1+i+(rJ(c[f>>2]|0)|0)|0;d=i+11|0;if((c[42042]|0)>>>0<(i+1|0)>>>0){c[42042]=d;d=aJ(c[42043]|0,d)|0;c[42043]=d}else d=c[42043]|0;xK(d,e)|0;IL(c[42043]|0,g)|0;d=c[42043]|0;d=d+(rJ(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=GL(c[f>>2]|0)|0;f=c[42043]|0;while(1){e=HL(d,58)|0;if(!e)break;IL(f,e+1|0)|0;i=c[42043]|0;g=i+(rJ(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}IL(f,d)|0;_I(d);c[b+32>>2]=c[42043];l=h;return}function kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83170,f);Ma(1)}if((lr(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;hb[f&31](83202,g);Ma(1)}}else e=0;l=h;return e|0}function lr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=XL(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=aJ(h,g)|0;c[j>>2]=f;if(!f){hb[c[(c[b+12>>2]|0)+16>>2]&31](83227,n);Ma(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);TN(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=bb[f&31](b,d,e)|0;while(0);l=o;return e|0}function mr(a,b){a=a|0;b=b|0;var c=0;c=rJ(b)|0;b=(kr(a,b,c)|0)==(c|0);return (b?1:-1)|0}function nr(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(kr(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function or(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=PL(d)|0;else b=0;return b|0}function pr(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);or(a)|0;return}function qr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){hb[c[(c[a+12>>2]|0)+16>>2]&31](83254,e);Ma(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)gb[b&127](a);else{or(a)|0;rr(a)}l=e;return}function rr(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[13885]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){LL(f)|0;c[e>>2]=0}c[d>>2]=0}return}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=LK(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=ww(e+1|0)|0;c[g>>2]=d;f=e;e=qL(e,b,g)|0}else f=h;kr(a,f,e)|0;if((f|0)!=(h|0))_I(f)}else{c[f>>2]=yJ(c[(jJ()|0)>>2]|0)|0;_l(1,83271,f)|0}l=i;return}function tr(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=ur(e,b)|0;kr(a,f,c[e>>2]|0)|0;l=d;return}function ur(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=123205;e=1}else{l=(f|0)<0;k=4;i=0;e=173948;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=173948-e|0}}else{f=83286;e=18}else{f=83285;e=19}c[b>>2]=e;return f|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=ur(e,+h[b>>3])|0;kr(a,f,c[e>>2]|0)|0;kr(a,87638,1)|0;b=ur(e,+h[b+8>>3])|0;kr(a,b,c[e>>2]|0)|0;l=d;return}function wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vr(a,f);e=e+1|0;if((e|0)>=(d|0))break;kr(a,87638,1)|0}l=g;return}function xr(a,b){a=a|0;b=b|0;var d=0;d=vw(392)|0;if(d|0){c[d>>2]=19212;c[d+16>>2]=22;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function yr(a){a=a|0;var b=0,d=0,e=0,f=0;b=vw(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function zr(a){a=a|0;Gr(a);_I(a);return}function Ar(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=vw(632)|0;c[(c[42044]|0)+4>>2]=d}}}else{d=vw(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42044]=d;c[d+32>>2]=b;c[d>>2]=a;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[42045]|0;if(e){d=c[e+4>>2]|0;if(!d){d=vw(632)|0;c[(c[42045]|0)+4>>2]=d}}}else{d=vw(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[42045]=d;c[d+52>>2]=b;c[d>>2]=a;return (Jr(a,3,b)|0)!=0|0}function Cr(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function Dr(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=yw(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function Fr(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)_I(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function Gr(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;Fr(b+604|0);Fr(b+592|0);_I(c[b+584>>2]|0);_I(c[b+588>>2]|0);_I(b);b=e}c[42045]=0;c[42044]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function Hr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;mL(k,e,63)|0;i=WJ(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}mL(m,c[d+4>>2]|0,63)|0;d=WJ(m,58)|0;if(d|0)a[d>>0]=0;if((xJ(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;mL(m,c[b+4>>2]|0,63)|0;b=WJ(m,58)|0;if(b|0)a[b>>0]=0;if(xJ(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=ww(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function Ir(a,b){a=a|0;b=b|0;b=l;l=l+16|0;_l(1,83366,b)|0;l=b;return 0}function Jr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;mL(o,e,63)|0;e=WJ(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=WJ(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}mL(p,c[e+4>>2]|0,63)|0;e=WJ(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(xJ(p,o)|0)){g=(e|0)!=0;if(i&g?xJ(e,f)|0:0)break;if(!j?xJ(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(Jr(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(Ir(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[13918]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[19224+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;zL(q,83397,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function Kr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[4811]|0){cm(168184,0,0);c[4811]=0}h=GL(e)|0;e=WJ(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=GL(c[b+4>>2]|0)|0;b=WJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(iK(h,d)|0)!=0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;fm(168184,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=58;fm(168184,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}_I(d);g=c[g>>2]|0}_I(h);if(e<<24>>24){g=0;i=19}}else{_I(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=GL(c[b+4>>2]|0)|0;b=WJ(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(iK(g,d)|0)==0:0)){e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}c[42047]=e+1;a[e>>0]=32;fm(168184,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=174181;break}}e=c[42047]|0;if(e>>>0>=(c[42048]|0)>>>0){dm(168184,1)|0;e=c[42047]|0}a[e>>0]=0;e=c[42046]|0;c[42047]=e}while(0);return e|0}function Lr(b){b=b|0;var d=0;if(!b)ma(96030,83414,573,83428);if(!(a[b>>0]|0))ma(96035,83414,574,83428);d=c[42050]|0;if(!d)b=0;else b=bb[c[d>>2]&31](d,b,512)|0;return b|0}function Mr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)ma(96091,83414,589,83445);g=b+8|0;e=c[g>>2]|0;if(!e)ma(96094,83414,590,83445);if(!(a[e>>0]|0))ma(96103,83414,591,83445);h=b+20|0;f=c[h>>2]|0;do if(!f){d=RA(e)|0;if(!d){c[i>>2]=c[g>>2];_l(0,83469,i)|0;d=0;break}i=aM(d,123632)|0;c[h>>2]=i;if(!i){c[j>>2]=yJ(c[(jJ()|0)>>2]|0)|0;c[j+4>>2]=d;_l(0,83494,j)|0;d=0;break}d=c[42051]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[42051]=d+1;d=1;break}}else{oM(f,0,0)|0;if(!(c[h>>2]|0))ma(83515,83414,614,83445);else d=1}while(0);l=k;return d|0}function Nr(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){LL(e)|0;c[d>>2]=0}return}function Or(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function Pr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[42178]|0,(c[42052]|0)!=(g|0)):0)?(c[42052]=g,i=c[42050]|0,i|0):0){Kl(i)|0;c[42050]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=Qr(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];Or(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function Qr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)ma(96030,83414,638,83521);if(!(c[42050]|0))c[42050]=Ql(19248,c[4353]|0)|0;b=Lr(a)|0;a:do if(!b){b=vw(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=$o(0,a)|0;if(!((Mr(b)|0)<<24>>24)){Rr(b);b=0;break}if(!(c[b+20>>2]|0))ma(83515,83414,653,83521);do switch(Sr(b)|0){case 0:{a=Py(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];_l(0,83538,e)|0;Rr(b);b=0;break a}break}case 2:{Tr(b);break}case 3:{Ur(b);break}case 1:{Vr(b);break}case 4:{Wr(b);break}case 6:{Xr(b);break}case 11:{Yr(b);break}case 8:{Zr(b);break}case 5:{_r(b);break}case 12:{$r(b);break}default:{}}while(0);Nr(b);e=c[42050]|0;bb[c[e>>2]&31](e,b,1)|0}}else Nr(b);while(0);l=f;return b|0}function Rr(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)bp(0,b)|0;_I(a);return}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(wN(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(dL(f,c[19284+(d<<4)>>2]|0,c[19284+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[19284+(d<<4)+12>>2];b=c[19284+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(dL(f+8|0,83754,4)|0)break a;c[e>>2]=83759;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(gL(g,200,c[h>>2]|0)|0)){i=11;break}if(!(dL(g,83749,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=86879;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=83764;c[a+24>>2]=0;b=0}l=j;return b|0}function Tr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,6,0)|0;if((is(c[e>>2]|0,2,b)|0)<<24>>24?(is(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Ur(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,16,0)|0;if((as(c[e>>2]|0,4,b)|0)<<24>>24?(as(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function Vr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;oM(c[g>>2]|0,16,0)|0;if((((is(c[g>>2]|0,2,b)|0)<<24>>24?(is(c[g>>2]|0,2,d)|0)<<24>>24:0)?(is(c[g>>2]|0,2,e)|0)<<24>>24:0)?(is(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((as(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(WJ(83737,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((as(g,2,e)|0)<<24>>24))break;oM(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((as(c[j>>2]|0,3,i)|0)<<24>>24?(as(c[j>>2]|0,2,f)|0)<<24>>24:0)?(as(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(as(g,3,i)|0)<<24>>24:0)?(as(c[j>>2]|0,2,f)|0)<<24>>24:0)?(as(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;oM(c[i>>2]|0,0,0)|0;while(1){if(!(gL(b,1024,c[i>>2]|0)|0))break;d=hL(b,83722)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((cM(d,89345,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function Yr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,15,0)|0;h=(BN(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){oM(f,24,0)|0;if((is(c[e>>2]|0,4,b)|0)<<24>>24?(is(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{oM(f,26,0)|0;if((is(c[e>>2]|0,2,b)|0)<<24>>24?(is(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function Zr(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[42053]|0)){if(EM(168216,83607,1)|0){c[d>>2]=83607;_l(1,83634,d)|0}c[42053]=168216}m=b+20|0;oM(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(gL(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(qN(168216,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(xJ(e,96043)|0))break;if(!(xJ(e,96049)|0))break c;if(xJ(e,83681)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((cM(f,83689,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((cM(f,83671,A)|0)!=2){c[D>>2]=s;if((cM(f,86246,D)|0)==1){e=1;f=hs(+h[s>>3],83678)|0}else{e=g;f=j}}else{e=1;f=hs(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((cM(f,83671,E)|0)!=2){c[B>>2]=s;if((cM(f,86246,B)|0)==1){d=1;e=hs(+h[s>>3],83678)|0}else e=k}else{d=1;e=hs(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function _r(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,0,0)|0;if(!(bs(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function $r(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;oM(c[e>>2]|0,6,0)|0;if((as(c[e>>2]|0,1,b)|0)<<24>>24?(as(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=BN(a)|0;if(KL(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(gL(e,1024,a)|0)){a=1;break}f=hL(e,83597)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=cs(d,b)|0}l=h;return a|0}function cs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;ds(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(es(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,fs(b,f),(gs(f,d)|0)==0):0)?(fs(b,f),(gs(f,d+8|0)|0)==0):0)?(fs(b,f),(gs(f,d+16|0)|0)==0):0){fs(b,f);e=(gs(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function ds(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(es(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(XJ(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function es(b){b=b|0;var d=0;d=b+4|0;if(!(gL(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;ds(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(es(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function gs(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+tM(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function hs(a,b){a=+a;b=b|0;var c=0.0;do if(!(xJ(b,83705)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(xJ(b,83708)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(xJ(b,83711)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(xJ(b,83678)|0?xJ(b,83714)|0:0)if(!(xJ(b,83716)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(xJ(b,83719)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=BN(a)|0;if(KL(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)LL(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)gb[e&127](b);_I(b);return}function ks(){var a=0;ym(0,1,86240,90527)|0;a=xr(0,1)|0;sE(a,0);return a|0}function ls(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((fr(b,e)|0)!=999)if((gr(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));pL(g,83918,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));pL(g,83918,i)|0}Lm(d,87705,g,174181)|0;b=0}else{b=Kr(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;_l(1,83869,f)|0;b=-1}l=k;return b|0}function ms(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Br(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=bD(b,c[b+52>>2]|0)|0;if((No(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){bm(83930,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=Gv(a,f)|0;dD(b);Gr(a);b=h}l=i;return b|0}function ns(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;Br(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=bD(b,c[b+52>>2]|0)|0;if((No(f,122277,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){bm(83930,g);b=-1}else h=5;if((h|0)==5){Ar(a,e);h=Gv(a,f)|0;dD(b);qr(b);Gr(a);b=h}l=i;return b|0}function os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;Br(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=bD(j,c[j+52>>2]|0)|0;if((No(b,122277,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){bm(83930,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=ZI(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=Gv(a,b)|0;dD(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}Gr(a);break}_l(1,83951,h)|0;b=-1}while(0);l=m;return b|0}function ps(a,b){a=a|0;b=b|0;qE(a,0,b);return}function qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(ys(a)|0)!=0:0))a=84007;e=rJ(a)|0;if((e|0)>=104){d=ww(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){xK(d,a)|0;c[b>>2]=e}return d|0}function rs(a,b){a=a|0;b=b|0;io(b,a,1)|0;return}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;ws(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=xs(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)hb[f&31](k,d);h=Um(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(ab[c[j>>2]&63](f,-1)|0))ws(e,f);h=Vm(a,h,k)|0}}return b|0}function us(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;vs(a);a=b}return}function vs(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=ww(16)|0;if(!e){_l(1,83988,f)|0;Ua(168248,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=ww(4e6)|0;c[e>>2]=d;if(!d){_l(1,83988,j)|0;Ua(168248,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}ab[c[a+16>>2]&63](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function xs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function ys(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(gK(c&255)|0)){b=0;break}}return b|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=co(a)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;if(io(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){en(a,e,1)|0;d=d+1|0}e=Rm(b,e)|0}f=eo(a,f)|0}return d|0}function As(a){a=a|0;a=Lo(a,84012,0)|0;if(!a)ma(84017,84020,529,84029);else return c[a+8>>2]|0;return 0}function Bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(mn(b)|0){So(b,0,84038,-12,0);So(b,1,84050,16,0);o=qs(e,f,t)|0;k=Cs(b)|0;m=ww((mn(k)|0)<<2)|0;ss(p,u+4144|0,u+48|0,23,22);h=co(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[13918]|0;e=0;while(1){if(!h)break;if(!(ab[c[n>>2]&63](h,-1)|0)){c[q>>2]=e;pL(i,84952,q)|0;v=Ip(k,o,1)|0;w=Ip(b,o,1)|0;No(w,84038,12,0)|0;a[(Lo(w,84038,0)|0)+8>>0]=1;f=ts(k,h,v,p)|0;Es(v,w);g=Fs(w)|0;Gs(b,w);c[m+(e<<2)>>2]=w;qo(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;zL(j,84062,r)|0}e=e+1|0}h=eo(k,h)|0}if(0){r=mn(b)|0;v=nn(b)|0;w=Dn(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;zL(j,84092,s)|0}ln(k)|0;To(b,0,84038);To(b,1,84050);us(p);f=yw(m,e<<2)|0;if((o|0)!=(t|0))_I(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function Cs(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[17652]|0;a[h+1>>0]=a[17653]|0;a[h+2>>0]=a[17654]|0;a[h+3>>0]=a[17655]|0;h=gn(84139,h,0)|0;Js(h,b);d=co(b)|0;while(1){if(!d)break;if(!(c[(Lo(d,84050,0)|0)+12>>2]|0)){g=no(h,Dn(d)|0,1)|0;No(g,84050,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(Lo(d,84050,0)|0)+12>>2]=g}d=eo(b,d)|0}e=co(b)|0;while(1){if(!e)break;f=c[(Lo(e,84050,0)|0)+12>>2]|0;d=Pm(b,e)|0;while(1){if(!d)break;g=c[(Lo(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,84050,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){an(h,f,g,0,1)|0;break}else{an(h,g,f,0,1)|0;break}while(0);d=Rm(b,d)|0}e=eo(b,e)|0}l=i;return h|0}function Ds(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=co(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)io(b,f,1)|0;else{d=co(f)|0;while(1){if(!d)break a;io(b,d,1)|0;d=eo(f,d)|0}}while(0);e=eo(a,e)|0}return}function Fs(a){a=a|0;return zs(a,c[a+60>>2]|0)|0}function Gs(a,b){a=a|0;b=b|0;Hs(a,b,0);return}function Hs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=Jp(b)|0;while(1){if(!b)break;if((a[(Lo(b,84038,0)|0)+8>>0]|0)==0?(f=Is(b,c,d)|0,f|0):0){if(g)e=(VJ(Dn(b)|0,93039,7)|0)==0;else e=1;Hs(b,f,e&1)}b=Kp(b)|0}return}function Is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=co(a)|0;while(1){if(!g)break;f=no(b,Dn(g)|0,0)|0;if(f){if(!e)e=Ip(b,Dn(a)|0,1)|0;io(e,f,1)|0}g=eo(a,g)|0}if((d|0)!=0&(e|0)==0)e=Ip(b,Dn(a)|0,1)|0;if(e|0?(zs(e,a)|0,Mm(a,e)|0,(VJ(Dn(e)|0,93039,7)|0)==0):0)c[(No(e,84012,12,0)|0)+8>>2]=a;return e|0}function Js(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=Jp(b)|0;e=c[13918]|0;while(1){if(!d)break;a:do if(!(VJ(Dn(d)|0,93039,7)|0)){f=no(a,Dn(d)|0,1)|0;No(f,84050,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=co(d)|0;while(1){if(!b)break a;if(c[(Lo(b,84050,0)|0)+12>>2]|0){k=Dn(b)|0;j=Dn(d)|0;i=Dn(c[(Lo(b,84050,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;zL(e,84142,g)|0}c[(Lo(b,84050,0)|0)+12>>2]=f;b=eo(d,b)|0}}else Js(a,d);while(0);d=Kp(d)|0}l=h;return}function Ks(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){Cx(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){Cx(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=Ms(a,b,d,e)|0;break}m=ww(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;dB(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=vw(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=Im(c[b+(d<<2)>>2]|0,84209)|0;if(g|0?(c[k>>2]=j,g=(cM(g,122187,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=Ns(a,m,e)|0;if(c[h>>2]&2)_I(c[e+24>>2]|0)}else d=0;_I(m)}while(0);l=n;return d|0}function Ms(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[13918]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;dB(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=Dn(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;zL(E,84276,u)|0}n=n+1|0}q=ww(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=Qs(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;zL(E,84304,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=vw(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=Dn(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Rs(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Ss(e,i,j,p,f,B)}g=g+1|0}j=vw(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}rL(j,b,4,23);k=wx()|0;g=vw(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];Us(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;Vs(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;Vs(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);_I(j);i=0;while(1){if((i|0)>=(b|0))break;_I(c[m+(i<<4)+4>>2]|0);i=i+1|0}_I(m);zx(k);_I(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;zL(E,84320,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function Ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=vw(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[13918]|0;c[g>>2]=k|0?84215:84225;c[g+4>>2]=w;c[g+8>>2]=f;zL(v,84238,g)|0}t=vw((f<<3)+8|0)|0;u=vw((w<<3)+8|0)|0;v=vw(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=vw(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))rL(s,a,4,25)}else{c[42101]=e;rL(s,a,4,24)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}_I(v);_I(s);_I(t);_I(u);l=z;return x|0}function Os(a,b){a=a|0;b=b|0;var d=0;d=c[42101]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function Ps(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (e<d?1:(e>d)<<31>>31)|0}function Qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[13918]|0;XL(84463,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;zL(m,84491,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;zL(m,84517,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;zL(m,84539,q)|0}}else{h[m>>3]=j;_l(1,84436,m)|0;d=-1}l=s;return d|0}function Rs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=wx()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;Cx(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=Gx(r)|0;j=Fx(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[13918]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;zL(f,84395,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;zL(f,84422,t)|0;a=a+1|0}}while(0);zx(r);l=u;return}function Ss(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=wx()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=ww((mn(b)|0)<<2)|0;a=0;g=co(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=eo(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}a=co(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=eo(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=co(b)|0;while(1){if(!o)break;OA(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Xs(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G);a=Rm(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G)}a=Rm(C,a)|0}}while(0);o=eo(b,o)|0}a=0;g=co(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=eo(b,g)|0}_I(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=co(b)|0;while(1){if(!o)break a;OA(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Xs(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];Ys(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;Cx(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Pm(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];Zs(a,F,L,D,B,e,G);a=Rm(C,a)|0}o=eo(b,o)|0}}while(0);i=d+4|0;c[i>>2]=Gx(L)|0;j=d+8|0;c[j>>2]=Fx(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[13918]|0;d=Dn(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;zL(f,84395,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;zL(f,84422,O)|0;a=a+1|0}}while(0);zx(L);l=P;return}function Ts(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function Us(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];Ax(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[13918]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;zL(k,84369,i)|0}l=j;return}function Vs(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(Ws((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(Ws(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(Ws(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(Ws(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(Ws(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(Ws(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(Ws(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(Ws(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function Ws(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(Dx(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];Ax(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[13918]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;zL(j,84335,s)|0;j=1}else j=1}l=t;return j|0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function Zs(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){OA(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];Ks(w,x,d)}l=A;return}function _s(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=co(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Pm(g,i)|0;while(1){if(!f)break b;$s(f,k,l);f=Rm(g,f)|0}}while(0);i=eo(r,i)|0}at(r,k,l);j=j+1|0}}while(0);return f|0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function at(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;at(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ls(a,b,d,e)|0;if(!f)a=1;else{a=_s(a,b,f,d,c[e+12>>2]|0)|0;_I(f)}return a|0}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=bt(a,b,d,e)|0;if(!n){dB(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)ma(84553,84559,1400,84566);d=et(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[13918]|0;c[f>>2]=d;zL(h,84578,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;ft(a,b,e)|0;l=g;return c[e+16>>2]|0}function et(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=Im(b,84708)|0;a:do if(g){c[h>>2]=f;h=(cM(g,122187,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function ft(a,b,c){a=a|0;b=b|0;c=c|0;return gt(Im(a,84591)|0,b,c)|0}function gt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)ma(84553,84559,1292,84600);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(VJ(b,84618,5)|0)){c[p>>2]=4;m=ht(b+5|0,e)|0;c[k>>2]=j;m=(cM(m,122187,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(VJ(b,84624,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(cM(b+5|0,84631,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(xJ(b,93039)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(xJ(b,96286)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(xJ(b,96273)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[13918]|0;XL(84634,11,1,d)|0;c[s>>2]=it(c[p>>2]|0)|0;zL(d,84646,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];zL(d,84659,t)|0}c[q>>2]=c[n>>2];zL(d,84672,q)|0;c[r>>2]=c[o>>2];zL(d,84685,r)|0}l=u;return c[p>>2]|0}function ht(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function it(a){a=a|0;switch(a|0){case 1:{a=93039;break}case 2:{a=96273;break}case 3:{a=96286;break}case 4:{a=84618;break}case 5:{a=84624;break}default:a=84698}return a|0}function jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=$I(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=$I(100,j)|0}else{h=d+100|0;i=aJ(c[e+8>>2]|0,O(h,j)|0)|0;VN(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=kt(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=aJ(i,O(f,j)|0)|0;VN(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){_I(i);_I(e);e=0;break}else{c[e+8>>2]=aJ(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function kt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((XJ(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=nt(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=ot(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=nt(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=ot(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=mt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=pt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=pt(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=qt(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=pt(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=pt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=nt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=lt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=nt(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=rt(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function lt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+tM(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+tM(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+tM(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+tM(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=st(a,j)|0;do if(a){d=c[j>>2]|0;i=$I(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+tM(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+tM(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;_I(i);a=0;break}else if((d|0)==7){c[j>>2]=f;_I(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function nt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=st(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=$I(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){_I(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function ot(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=tt(b+1|0,d)|0;break}case 40:{b=ut(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(gK(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function pt(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+tM(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function qt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=st(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=YJ(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function st(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=BL(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=pt(a,n)|0;do if(((((i|0)!=0?(j=pt(i,b+16|0)|0,(j|0)!=0):0)?(e=pt(j,b+24|0)|0,(e|0)!=0):0)?(f=pt(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=st(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=$I(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=pt(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=nt(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){_I(f);a=0;break}else if((d|0)==12){_I(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=pt(a,b+8|0)|0;do if(((((((k|0)!=0?(m=pt(k,b+16|0)|0,(m|0)!=0):0)?(e=pt(m,b+24|0)|0,(e|0)!=0):0)?(f=pt(e,b+32|0)|0,(f|0)!=0):0)?(i=pt(f,b+40|0)|0,(i|0)!=0):0)?(j=pt(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=st(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=$I(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=pt(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=nt(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){_I(i);a=0;break}else if((d|0)==14){_I(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function vt(a,b,c){a=a|0;b=b|0;c=c|0;return jt(a,b,c,0)|0}function wt(a){a=a|0;return vt(a,0,0)|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)gb[e&127](d);yt(d);b=b+1|0}_I(f);_I(a)}return}function yt(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{_I(c[a+8+4>>2]|0);break}case 5:case 4:{_I(c[a+8+4>>2]|0);break}case 6:{_I(c[a+8+4>>2]|0);break}case 7:{_I(c[a+40>>2]|0);break}case 9:case 8:{_I(c[a+8>>2]|0);break}case 14:case 13:{zt(a+8|0);break}case 10:{_I(c[a+16>>2]|0);break}case 11:{_I(c[a+8>>2]|0);break}case 12:{_I(c[a+40>>2]|0);break}default:{}}return}function zt(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;_I(c[d+(a<<3)+4>>2]|0);a=a+1|0}_I(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;_I(c[b+(a<<3)+4>>2]|0);a=a+1|0}_I(b);break}default:{}}return}function At(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(qn(ro(b)|0)|0)!=0&1;f=c[42228]|0;a:do if(f|0?(h=Jm(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=19444;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(xJ(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[42239]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=Jm(b,f)|0,a[j>>0]|0):0)Bt(j,e);f=c[42240]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=Jm(b,f)|0,a[m>>0]|0):0)Bt(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=ro(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;At(an(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function Bt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=Ct(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;_l(0,84713,m)|0}l=o;return}function Ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=Dt(a,19504,e)|0;if((d|0)==(a|0)){while(1){d=Dt(a,19520,e)|0;if((a|0)==(d|0))break;else a=d}d=Dt(a,19568,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=rJ(e)|0;if(!(VJ(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function Et(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1336;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+EA(a,c[42232]|0,1.0,0.0))}function Ft(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){HD(a,o+16|0,3,g>>>4&1^1);break}else{HD(a,o+32|0,3,g>>>4&1^1);break}else HD(a,o,3,g>>>4&1^1);while(0);l=p;return}function Gt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q<f)|y?.45:f/q*.45;s=!(f>1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){HD(a,w,9,1);break}else{HD(a,w+48|0,6,1);break}else HD(a,w,6,1);while(0);l=x;return}function Ht(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}HD(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;KD(a,p,2);l=q;return}function It(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}HD(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;KD(a,n,2);l=o;return}function Jt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){HD(a,i,4,d);break}else{HD(a,i,3,d);break}}else HD(a,d,3,g>>>4&1^1);while(0);l=j;return}function Kt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;GD(a,i,2,f>>>4&1^1);l=g;return}function Lt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;KD(a,r,2);if(!(g&64)){if(g&128|0)PA(s,q,3,.5,q,0)}else PA(s,q,3,.5,0,q);JD(a,q,4,0,0,0);l=t;return}function Mt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;KD(a,i,2);l=g;return}function Nt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+Et(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;Fz(j,26,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function Ot(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function Pt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+Et(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;Fz(k,26,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function Qt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+Et(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k<n?-j:j)+n;j=p}else{m=k;j=(p<o?-j:j)+o}w=e+1|0;h[b+(w<<4)>>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+Et(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k<o?m:-m)+k;m=j}else{n=k;m=(j<p?m:-m)+j}w=d+1|0;v=b+(w<<4)|0;h[v>>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+Et(a,g);q=+Et(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s<k;p=(w?-n:n)+k;q=(w?m:-m)+s;o=t;m=t}else{w=t<j;p=s;q=s;o=(w?m:-m)+t;m=(w?-n:n)+j}w=e+1|0;v=b+(w<<4)|0;h[v>>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function St(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;FD(a,c[(c[a>>2]|0)+336>>2]|0);OD(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];Tt(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function Tt(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1336;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];jb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=Im(b,84815)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=Im(b,84827)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=vt(e,0,120)|0;if(!d){c[f>>2]=Dn(b)|0;_l(0,84834,f)|0;c[g>>2]=e;_l(3,84887,g)|0}}l=i;return d|0}function Vt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=vw(304)|0;if(!f)_l(1,84895,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function Wt(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)ma(84921,84925,117,84932);else{_I(c[b+212>>2]|0);_I(c[b+208>>2]|0);_I(c[b+216>>2]|0);_I(c[b+220>>2]|0);_I(c[b+224>>2]|0);_I(c[b+228>>2]|0);_I(c[b+232>>2]|0);_I(c[b+236>>2]|0);_I(c[b+240>>2]|0);_I(c[b+244>>2]|0);_I(c[b+248>>2]|0);_I(c[b+252>>2]|0);_I(c[b+256>>2]|0);_I(c[b+272>>2]|0);_I(c[b+284>>2]|0);_I(c[b+280>>2]|0);c[a>>2]=c[b>>2];_I(b);return}}function Xt(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=qw(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=qw(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=qw(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=GL(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=qw(h,j)|0;d=1}return d|0}function Yt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;Zt(b,e);b=Im(d,86799)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){fm(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){fm(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(Co(d)|0){case 0:{f=(g|0)==(d|0)?96286:84946;b=(c[d>>2]|0)>>>4;break}case 1:{f=96273;b=(c[d>>2]|0)>>>4;break}case 2:{f=96237;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}fm(e,f)|0;c[i>>2]=b;pL(h,84952,i)|0;fm(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function Zt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){fm(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){dm(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;pL(g,84956,h)|0;fm(d,g)|0}l=i;return}function _t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=$t(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)OD(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{DD(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=_E(p,k,m,i,e)|0;JD(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);XI(b)}i=e;f=f+12|0}if(n)OD(a,r);au(j)}l=s;return o|0}function $t(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=vw(12)|0;i=GL(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=vw((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=DL(f,93017)|0;if(!f){f=20;break}j=+bu(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[4920]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;_l(0,84967,n)|0;c[4920]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[4920]|0))d=1;else{c[o>>2]=b;_l(1,85002,o)|0;c[4920]=0;d=2}au(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function au(a){a=a|0;_I(c[a+4>>2]|0);_I(c[a+8>>2]|0);_I(a);return}function bu(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=WJ(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+tM(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=$t(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)OD(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){DD(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;HD(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)OD(a,s);au(i)}l=t;return q|0}function du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;_I(c[g>>2]|0);d=vw(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function eu(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k<n)):0)?(d=+h[b+8>>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d<j)):0)?(k=+h[b+16>>3],!(k>m|k<n)):0)?(k=+h[b+24>>3],!(k>i|k<j)):0)?(k=+h[b+32>>3],!(k>m|k<n)):0)?(k=+h[b+40>>3],!(k>i|k<j)):0)?(k=+h[b+48>>3],!(k>m|k<n)):0)?(n=+h[b+56>>3],!(n>i|n<j)):0))p=11;a:do if((p|0)==11){if(!(fu(b)|0)){PA(f,b,3,.5,c,e);eu(a,c);eu(a,e);break}f=a+24|0;g=a+8|0;e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+cw(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+cw(f,e,d)<4.0&1;l=b;return a|0}function gu(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[42183]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;LD(b,FA(d,ym(d,0,86595,0)|0,174181)|0);c[b+160>>2]=0;hu(b,d);if(j&2|0)iu(b,d);e=co(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=eo(d,e)|0}ju(b,k);while(1){if(!((ku(b)|0)<<24>>24))break;if((lu(b)|0)>1)kD(b);mu(b);while(1){if(!((nu(b)|0)<<24>>24))break;ou(b,d);pu(b)}if((lu(b)|0)>1)lD(b);qu(b,k)}ru(b);l=m;return}function hu(a,b){a=a|0;b=b|0;var d=0;d=Vt(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;qv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);gD(a,b);return}function iu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;DD(b,119592);d=Im(c,85423)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(c,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);Cv(b,c);g=co(c)|0;while(1){if(!g)break;d=Im(g,122540)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(g,122531)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(g,86469)|0;do if(d|0?a[d>>0]|0:0){if(!(WJ(d,58)|0)){BD(b,d);break}e=GL(d)|0;d=e;while(1){d=DL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}BD(b,d);d=0}_I(e)}while(0);d=Im(g,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=Pm(c,g)|0;while(1){if(!f)break;d=Im(f,122540)|0;do if(d|0?a[d>>0]|0:0){if(!(WJ(d,58)|0)){BD(b,d);break}e=GL(d)|0;d=e;while(1){d=DL(d,93017)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}BD(b,d);d=0}_I(e)}while(0);d=Im(f,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=Rm(c,f)|0}g=eo(c,g)|0}return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];_l(0,85598,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];_l(0,85598,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function ku(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function lu(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function mu(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function nu(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function ou(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{cm(m,128,f);g=n+212|0;h=c[g>>2]|0;Zt(d,m);fm(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){dm(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}ZE(Im(e,85048)|0);tu(d);iD(d);BD(d,122106);DD(d,119592);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=vw((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){Zv(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))fD(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];du(d,k);wD(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);uu(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)pw(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;xD(d)}while(0);vu(d,e,o);jD(d);if(h|0){gm(m);c[n+212>>2]=h}l=p;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];su(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((nu(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];su(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function qu(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function ru(a){a=a|0;hD(a);Wt(a);return}function su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function tu(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];Bv(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];Bv(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[42183])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[42183]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function uu(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=Im(d,85423)|0;if(!e){j=1;e=121990}else{i=(a[e>>0]|0)==0;j=i&1;e=i?121990:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(xJ(e,122171)|0)==0;k=m?121990:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(xJ(e,122171)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((xv(k,o,p)|0)<<24>>24)){DD(b,k);BD(b,122171);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];ID(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;DD(b,i);BD(b,122171);wv(d,r)|0;e=c[o+4>>2]|0;h=DA(d,c[42187]|0,0,0)|0;f=+g[p>>2];if(!e)ED(b,122106,h,f);else ED(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];ID(b,q,r);_I(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)zv(b,e);l=s;return}function vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)wu(a,b,d);a:do if(!(d&1)){if(d&16|0){qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a);oD(a);e=co(b)|0;while(1){if(!e)break;xu(a,e);e=eo(b,e)|0}pD(a);break}if(!(d&8)){f=co(b)|0;while(1){if(!f)break a;xu(a,f);e=Pm(b,f)|0;while(1){if(!e)break;xu(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}}oD(a);e=co(b)|0;while(1){if(!e)break;if((zu(b,e)|0)<<24>>24)xu(a,e);e=eo(b,e)|0}pD(a);qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;if((Au(b,e)|0)<<24>>24)yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a)}else{oD(a);e=co(b)|0;while(1){if(!e)break;xu(a,e);e=eo(b,e)|0}pD(a);qD(a);f=co(b)|0;while(1){if(!f)break;e=Pm(b,f)|0;while(1){if(!e)break;yu(a,e);e=Rm(b,e)|0}f=eo(b,f)|0}rD(a)}while(0);if(g)wu(a,b,d);return}function wu(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((uv(e,u)|0)<<24>>24){if(L)wu(e,u,i);vv(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;ZE(Im(u,85048)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];du(e,w);wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=wv(u,H)|0;if(!j)p=0;else{FD(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=GA(u,0,91300)|0;k=GA(u,0,91308)|0;O=29;break}if(j&8|0){j=GA(u,0,91316)|0;k=GA(u,0,91324)|0;O=29;break}if(j&4|0){j=GA(u,0,91332)|0;k=GA(u,0,91340)|0;O=29;break}j=Im(u,122540)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=Im(u,122531)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=Im(u,86469)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=Im(u,85423)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=GA(u,0,91284)|0;k=GA(u,0,91292)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?122106:j;n=(k|0)==0?119592:k;O=31}if((O|0)==31){O=0;if(!((xv(n,J,w)|0)<<24>>24)){DD(e,n);k=1}else{DD(e,c[J>>2]|0);k=c[G>>2]|0;m=DA(u,c[42187]|0,0,0)|0;o=+g[w>>2];if(!k)ED(e,122106,m,o);else ED(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[42186]|0;if((m|0?(z=Jm(u,m)|0,z|0):0)?a[z>>0]|0:0)OD(e,+EA(u,c[42186]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=DA(u,c[42185]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)BD(e,122171);else BD(e,j);yy(e,I,4,p,k)}}else{if(!(p&64)){if(DA(u,c[42185]|0,1,0)|0){BD(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,k);break}if(!k)break;BD(e,122171);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(DA(u,c[42185]|0,1,0)|0))BD(e,122171);else BD(e,j);if((cu(e,I,n,0)|0)>1){c[N>>2]=Dn(u)|0;_l(3,85431,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];ID(e,w,0)}while(0);_I(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)pw(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];du(e,w);wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}xD(e)}a:do if(!F){k=co(u)|0;while(1){if(!k)break a;xu(e,k);j=Pm(u,k)|0;while(1){if(!j)break;yu(e,j);j=Rm(u,j)|0}k=eo(u,k)|0}}while(0);yv(e,f);if(!L)wu(e,u,i)}v=v+1|0}l=P;return}function xu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(mv(b,ro(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(nv(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;LD(b,Dn(d)|0);e=FA(d,c[42213]|0,174181)|0;if(a[e>>0]|0)LD(b,e);e=FA(d,c[42201]|0,174181)|0;b:do if(a[e>>0]|0){Du(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(xJ(f,119127)|0))break a}}while(0);ov(b,d);hb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)pw(b,10,e);pv(b)}while(0);l=j;return}function yu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((Bu(d,g)|0)<<24>>24?(f=d+-48|0,(Cu(b,d)|0)<<24>>24):0){i=d+48|0;e=rJ(Dn(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=ZI(e+3+(rJ(Dn(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;xK(e,Dn(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(qn(ro(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(rJ(e)|0)|0;if(i){a[g>>0]=a[122549]|0;a[g+1>>0]=a[122550]|0;a[g+2>>0]=a[122551]|0}else{a[g>>0]=a[122546]|0;a[g+1>>0]=a[122547]|0;a[g+2>>0]=a[122548]|0}IL(e,Dn(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;LD(b,e);_I(e);e=FA(d,c[42235]|0,174181)|0;if(a[e>>0]|0)LD(b,e);e=FA(d,c[42229]|0,174181)|0;b:do if(!(a[e>>0]|0))e=0;else{Du(e)|0;e=168408;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=168408;break b}if((a[f>>0]|0)!=105)continue;if(!(xJ(f,119127)|0))break a}}while(0);Eu(b,d,e);Fu(b,d,e);Gu(b)}while(0);l=h;return}function zu(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Bo(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(Bo(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(lv(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((CB(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(CB(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function Cu(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=FA(d,c[42234]|0,174181)|0,(hv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=FA(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[42211]|0,174181)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((hv(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function Du(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[85305]|0){cm(168672,128,173948);a[85305]=0}cm(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(fv(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;c[168408+(e<<2)>>2]=c[42169];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){dm(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;fm(168672,d)|0;d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}c[42169]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;_l(1,85306,k)|0;c[42102]=0;gm(j)}else if((d|0)==9){c[m>>2]=b;_l(1,85340,m)|0;c[42102]=0;gm(j)}else if((d|0)==12){c[n>>2]=b;_l(0,85368,n)|0;c[42165]=0;gm(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;_l(1,85391,o)|0;c[42102]=0;gm(j);break}c[168408+(e<<2)>>2]=0;gm(j);d=c[42169]|0;if(d>>>0>=(c[42170]|0)>>>0){dm(168672,1)|0;d=c[42169]|0}a[d>>0]=0;c[42169]=c[42168]}while(0);l=p;return 168408}function Eu(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=Vt(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(JA(Im(f,85121)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)FD(d,g);g=c[42250]|0;if((g|0?(i=Jm(f,g)|0,i|0):0)?a[i>>0]|0:0)OD(d,+EA(f,c[42250]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(ro(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{cm(o,128,p);c[z+212>>2]=qw(Yt(d,f,o)|0,f)|0;gm(o);g=Im(f,96264)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=Im(f,96269)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=qw(g,f)|0;g=Im(f,85134)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=Im(f,85143)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=GL(i)|0;q=39}}while(0);if((q|0)==36){g=qw(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=Im(f,85151)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=Im(f,85161)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=GL(i)|0;q=47}}while(0);if((q|0)==44){g=qw(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=Im(f,85170)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=Im(f,85179)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=GL(i)|0}while(0);if((q|0)==52){c[z+220>>2]=qw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=Im(f,85187)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=Im(f,85196)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=GL(i)|0}while(0);if((q|0)==59){c[z+224>>2]=qw(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=Im(f,85204)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=qw(g,f)|0;else i=0;g=Im(f,85211)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=qw(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=GL(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=Im(f,85222)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=qw(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=GL(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=Im(f,85234)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=qw(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=GL(i)|0;g=Im(f,85245)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=qw(g,f)|0;break}if(i)c[z+256>>2]=GL(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=Im(f,96229)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=Im(f,85256)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=GL(g)|0}while(0);if((q|0)==94){p=Zu(g,f)|0;c[z+228>>2]=qw(p,f)|0;_I(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=Im(f,85268)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=Zu(g,f)|0;c[z+232>>2]=qw(p,f)|0;_I(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=GL(r)|0;g=Im(f,85281)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=Zu(g,f)|0;c[z+236>>2]=qw(r,f)|0;_I(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=GL(s)|0;g=Im(f,85293)|0;if(g|0?a[g>>0]|0:0){s=Zu(g,f)|0;c[z+240>>2]=qw(s,f)|0;_I(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=GL(g)|0}while(0);_I(j);_I(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;_u(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;fD(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);uD(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))wD(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function Fu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];ZE(Im(e,85048)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+EA(e,c[42232]|0,1.0,0.0);k=FA(e,c[42220]|0,174181)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(xJ(i,95939)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(Nu(b,e,f,k,q+1|0,N,M)|0))break;else m=122106;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=GA(e,c[42221]|0,m)|0}else{j=91340;g=91332;k=168888;i=168888;p=18}else{j=91324;g=91316;k=168888;i=168888;p=18}else{j=91308;g=91300;k=168888;i=168888;p=18}else{j=91292;g=91284;k=168888;i=168888;p=18}if((p|0)==18){i=c[i>>2]|0;i=GA(e,i,Ou(m,g)|0)|0;g=GA(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{BD(b,i);j=g}}if((j|0)!=(m|0))DD(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?122106:i;g=(a[j>>0]|0)==0?122106:j;BD(b,122171);DD(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=dA(O,Pu(e)|0,M,0,0)|0;HD(b,c[J+8>>2]|0,c[J>>2]|0,1);Qu(J);BD(b,i);if((g|0)!=(i|0))DD(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];St(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];St(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){BD(b,i);DD(b,j);break}BD(b,122106);if(!(a[j>>0]|0)){DD(b,122106);break}else{DD(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){JD(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];St(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];St(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;FD(b,f)}}else JD(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=ZI(A)|0;A=ZI(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=ZI(n)|0;c[z+(o*48|0)>>2]=m;n=ZI(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Ru(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];Ru(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];Su(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Ru(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=GL(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=DL(i,93017)|0;if(!i)break;e=(a[i>>0]|0)==0?122106:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){BD(b,e);DD(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}JD(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){BD(b,g);DD(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];St(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){BD(b,r);DD(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];St(b,3,K,L,N,M,g)}_I(s);g=0;while(1){if((g|0)>=(I|0))break;_I(c[z+(g*48|0)>>2]|0);_I(c[A+(g*48|0)>>2]|0);g=g+1|0}_I(z);_I(A)}while(0);l=P;return}function Gu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(xD(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);wD(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);xD(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Hu(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];Hu(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((IA(FA(v,c[42230]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Iu(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((IA(FA(v,c[42230]|0,122100)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;Iu(a,j,11,k,i,h,e,g,d);Iu(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);Iu(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);vD(a);Wt(a);l=x;return}function Hu(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];Mu(a,h)}l=j;return}function Iu(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=vw((rJ(j)|0)+11|0)|0;switch(e|0){case 11:{m=86240;break}case 7:{m=86656;break}case 6:{m=86666;break}default:ma(123205,84925,2730,85060)}c[o>>2]=j;c[o+4>>2]=m;pL(n,85076,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){Ju(b,d);wD(b,g,h,i,n)}pw(b,e,d);if(k|0)Ku(b,d,k);if(j){if(!m){Ju(b,d);wD(b,g,h,i,n)}xD(b)}_I(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;_I(c[i>>2]|0);d=vw(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(XJ(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;Lu(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;Lu(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];VA(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];FD(b,c[(c[b>>2]|0)+336>>2]|0);BD(b,c[d+8>>2]|0);KD(b,i,3)}l=o;return}function Lu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;_I(c[j>>2]|0);d=vw(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))fD(a,d,d,2)|0;if(!f)Zv(d)}return}function Nu(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=$t(e,f,k)|0;if((e|0)>1){z=b+48|0;A=ro(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=Dn(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(qn(A)|0)!=0;B=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?85095:85100;c[j+8>>2]=B;_l(3,85105,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{BD(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){Xu(F,n,H,E);k=c[H>>2]|0;JD(a,k,c[t>>2]|0,0,0,0);_I(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];Xu(G,n/(m+n),H,E);_I(c[G>>2]|0);f=c[H>>2]|0;JD(a,f,c[t>>2]|0,0,0,0);_I(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;_I(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;JD(a,o,c[A>>2]|0,0,0,0);_I(o)}if(c[u>>2]|0){BD(a,c[c[s>>2]>>2]|0);DD(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];St(a,2,C,D,h,i,o)}if(c[v>>2]|0){BD(a,e);DD(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];St(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;FD(a,d)}while(0);p=p+1|0}au(r);e=0}l=J;return e|0}function Ou(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((rJ(d)|0)+1|0,e)|0;b=f+10|0;if((c[42166]|0)<(f|0)){c[42166]=b;b=aJ(c[42167]|0,b)|0;c[42167]=b}else b=c[42167]|0;xK(b,d)|0;while(1){e=e+-1|0;b=c[42167]|0;if(!e)break;f=b+(rJ(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;IL(b,d)|0}return b|0}function Pu(b){b=b|0;var d=0,e=0;d=c[42228]|0;a:do if(!d)e=7;else{d=Jm(b,d)|0;switch(a[d>>0]|0){case 110:if(!(xJ(d,120501)|0)){d=1;break a}else{e=7;break a}case 102:if(!(xJ(d,85082)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(xJ(d,85090)|0)){d=3;break a}if(!(xJ(d,96056)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(qn(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function Qu(a){a=a|0;if(a|0){_I(c[a+8>>2]|0);_I(a)}return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function Su(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function Tu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function Uu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function Vu(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function Wu(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function Xu(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=vw(64)|0;c[e+4>>2]=4;n=vw(64)|0;c[e>>2]=n;PA(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=vw(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+Yu(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=vw(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=vw(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];PA(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);_I(n)}l=p;return}function Yu(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function Zu(b,d){b=b|0;d=d|0;d=so(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=yB(b)|0;else d=vB(b,d)|0;return ev(d)|0}function _u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=ww(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=$u(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;av(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}bv(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;_I(g);h=s;g=s}l=q;return}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(fu(a)|0)){PA(f,a,3,.5,d,e);d=$u(e,$u(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=dv(f,b)|0}l=g;return d|0}function av(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+cv(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=yw(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=yw(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function dv(a,b){a=a|0;b=b|0;var d=0;d=ww(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function ev(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(XJ(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((gv(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){dm(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function gv(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function hv(a,b){a=a|0;b=b|0;return iv(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function iv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;cm(n,128,o+24|0);fm(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){dm(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=FL(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=FL(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=FL(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=jv(b,g,0)|0;f=jv(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(jv(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}gm(n);l=o;return f|0}function jv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(xJ(d,85419)|0)==0:0))f=3;a:do if((f|0)==3){if((kv(d)|0)<<24>>24){e=rM(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(xJ(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function kv(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function lv(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function mv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=FA(e,c[42211]|0,174181)|0,(hv(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Um(d,e)|0))f=1;else{f=Um(d,e)|0;while(1){if(!f){f=0;break a}g=FA(f,c[42234]|0,174181)|0;if(!(a[g>>0]|0)){f=1;break a}if((hv(b,g)|0)<<24>>24){f=1;break a}f=Vm(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(lv(f,e)|0)&255;l=d;return b|0}function ov(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=Vt(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(ro(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;qv(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=By(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=rv(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((sv(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=Im(d,87739)|0;if(!g)g=0;else g=rM(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=vw(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=vw(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=tv(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=vw(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=vw(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=vw(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))fD(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);ZE(Im(d,85048)|0);sD(a,d);return}function pv(a){a=a|0;tD(a);Wt(a);return}function qv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=Im(e,96264)|0;i=Im(e,96229)|0;k=Im(e,85204)|0;cm(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=Im(e,96269)|0;g=Yt(b,e,j)|0;if(!i)d=0;else d=Zu(i,e)|0;Xt(b,h,f,d,k,g,e)|0;_I(d);gm(j);l=m;return}function rv(b){b=b|0;var d=0,e=0;b=GA(b,c[42201]|0,174181)|0;a:do if(!(a[b>>0]|0))b=0;else{Du(b)|0;b=0;d=168408;while(1){e=c[d>>2]|0;if(!e)break a;e=(xJ(e,95923)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function sv(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function tv(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=vw(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function uv(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=FA(d,ym(d,0,86583,0)|0,174181)|0,(hv(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=co(d)|0;while(1){if(!e){e=0;break a}if((mv(b,d,e)|0)<<24>>24){e=1;break a}e=eo(d,e)|0}}else e=0;else e=1;while(0);return e|0}function vv(a,b){a=a|0;b=b|0;var d=0;d=Vt(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;qv(a,c[(c[b+16>>2]|0)+12>>2]|0,b);mD(a,b);return}function wv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=Im(b,86479)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){Du(b)|0;e=168408;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=168408;break a}if(!(xJ(f,95923)|0)){g=10;break}if(!(xJ(f,91378)|0)){f=e;g=12;break}if(!(xJ(f,91385)|0)){f=e;g=14;break}if(!(xJ(f,91360)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function xv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=($t(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)_l(0,85446,i)|0;m=ww((rJ(b)|0)+1|0)|0;c[d>>2]=m;xK(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((rJ(m)|0)+1)|0;c[d+4>>2]=m;xK(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);au(j);b=1}else{c[d>>2]=0;au(j);b=0}l=k;return b|0}function yv(a,b){a=a|0;b=b|0;nD(a,b);Wt(a);return}function zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=ww(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];GD(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;HD(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;JD(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{d=r+8|0;f=Av(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;KD(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(lv(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];AD(a,p,d);d=j}break}case 8:{DD(a,c[r+8>>2]|0);d=1;break}case 9:{BD(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);DD(a,c[z+4>>2]|0);ED(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);DD(a,j);ED(a,n,d,o);d=3;break}case 14:{_l(0,85512,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{_l(0,85552,w)|0;e=0;d=j}break}case 11:{Du(c[r+8>>2]|0)|0;FD(a,168408);i=168408;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)FD(a,c[(c[a>>2]|0)+336>>2]|0);_I(f);l=x;return}function Av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=yw(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function Bv(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function Cv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;Cv(b,e);d=Im(e,122540)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,122531)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,85423)|0;if(d|0?a[d>>0]|0:0)BD(b,d);d=Im(e,86469)|0;if(d|0?a[d>>0]|0:0)DD(b,d);d=Im(e,86503)|0;if(d|0?a[d>>0]|0:0)BD(b,d);f=f+1|0}return}function Dv(a){a=a|0;var b=0,d=0,e=0;b=c[42172]|0;if(!b){b=Ql(19684,c[4345]|0)|0;c[42172]=b}if(!(bb[c[b>>2]&31](b,a,4)|0)){d=c[42172]|0;e=c[d>>2]|0;b=GL(a)|0;bb[e&31](d,b,1)|0;b=1}else b=0;return b|0}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function Fv(a){a=a|0;var b=0;b=c[42173]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[42173]=b,(b|0)==0):0){bL(1,c[42174]|0)|0;_I(c[42174]|0)}}else{c[42173]=b+1;if(!b){c[42174]=GL(bL(1,0)|0)|0;bL(1,134865)|0}}return}function Gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)xA();do if((No(b,122277,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){Hv(b);Iv(a,b);Jv(a,b);Fv(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=Cr(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=24748;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=bD(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=Kv(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(xJ(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[42175]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}dD(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[42175]=0;g=27}if((g|0)==27?(g=0,(cD(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=24860;Lv(i);Mv(i);Nv(i,b);Ov(i,b);Pv(i,b);if(!(c[f>>2]&128))gu(i,b);c[42175]=i}i=Dr(a)|0}if((g|0)==13){_l(1,85710,s)|0;Fv(0);if(!0){d=-1;break}d=c[13918]|0;s=Dn(b)|0;v=+yA();c[t>>2]=s;h[t+8>>3]=v;zL(d,85681,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];_l(1,85731,p)|0;Fv(0);if(!0){d=-1;break}d=c[13918]|0;t=Dn(b)|0;v=+yA();c[q>>2]=t;h[q+8>>3]=v;zL(d,85681,q)|0;d=-1;break}else if((g|0)==33){Fv(0);if(!0){d=0;break}d=c[13918]|0;t=Dn(b)|0;v=+yA();c[r>>2]=t;h[r+8>>3]=v;zL(d,85681,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){_l(1,85633,d)|0;if(!0)d=-1;else{d=c[13918]|0;t=Dn(b)|0;v=+yA();c[e>>2]=t;h[e+8>>3]=v;zL(d,85681,e)|0;d=-1}}l=u;return d|0}function Hv(a){a=a|0;var b=0;b=co(a)|0;while(1){if(!b)break;Uv(a,b);b=eo(a,b)|0}return}function Iv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=Im(d,90530)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=cM(e,90537,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=Im(d,86133)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=cM(e,90537,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=86137;f=Im(d,86140)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[42185]=ym(d,0,86535,0)|0;c[42186]=ym(d,0,86520,0)|0;c[b+320>>2]=GA(0,c[42195]|0,93027)|0;h[b+328>>3]=+EA(0,c[42194]|0,14.0,1.0);c[b+336>>2]=19720;c[b+188>>2]=Dn(d)|0;l=o;return}function Jv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){_I(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){_I(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){_I(e);c[g>>2]=0}e=Im(d,85884)|0;if(e){c[b+312>>2]=Sv(b,d,e)|0;e=Im(d,85891)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=Tv(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function Kv(b){b=b|0;b=Im(b,85852)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(xJ(b+1|0,85864)|0))b=1;else{b=0;break a}break}case 101:{if(!(xJ(b+1|0,85874)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function Lv(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function Mv(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function Nv(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function Ov(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e<k/f;i=(n?i:k)/(n?e:f);h[x>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=Im(d,85783)|0;if(g){m=ZI((rJ(g)|0)+1|0)|0;n=ZI((rJ(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((cM(g,85792,s)|0)==4){g=no(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((cM(g,85812,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;cM(g,85832,t)|0;break}g=no(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);_I(m);_I(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function Pv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Qv(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]<i?I:E)>>3];h[I>>3]=o;e=p;f=I;m=+h[(g<k?I:E)+8>>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i<g){h[e>>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k<m){f=E;j=21}else{r=e;m=k}}if((j|0)==21){h[f+8>>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;Rv(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;Rv(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){Rv(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;Rv(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];_l(0,85763,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];Qv(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];Qv(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];Qv(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];Qv(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];Bv(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];Bv(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function Qv(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function Sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=Im(d,86004)|0;i=b+296|0;c[i>>2]=(f|0)==0?86013:f;d=Im(d,86017)|0;f=b+300|0;d=(d|0)==0?86030:d;c[f>>2]=d;d=JL(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];_l(0,86032,g)|0;c[f>>2]=174181}d=GL(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=DL(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=ww(f<<2)|0;else d=yw(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=yw(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=ww((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((iv(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;_l(0,85903,j)|0;_I(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Pm(a,b)|0;while(1){if(!b)break;Vv(b);b=Rm(a,b)|0}return}function Vv(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)Wv(a);return}function Wv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)ma(86171,84925,3994,86185);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Xv(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));Xv(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];Rt(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];Rt(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function Xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)ma(86201,84925,3968,86213);if(((k>>>0)%3|0|0)!=1)ma(86223,84925,3969,86213);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q<e;g=l?q:e;e=l?e:q;f=(r-q)*o+p;m=+h[c+8>>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p<j;g=l?p:j;f=l?j:p;e=(m-p)/o+q;if(e>=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function Zv(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[42176]|0)!=(d|0)){SJ(+(d|0)*.15915494309189535,167112,167120);c[42176]=d}g=+h[b>>3];e=+h[20890];f=+h[b+8>>3];i=+h[20889];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];_v(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];$v(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];_v(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function dw(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=vw(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=Im(b,86250)|0;if(!e){e=Na(86259)|0;if(e|0)k=3}else k=3;if((k|0)==3)Va(86271,e|0,1)|0;e=(ew(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=Im(b,86282)|0,c[42178]=e,(e|0)==0):0)c[42178]=c[42177];f=+EA(b,ym(b,0,86292,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=Im(b,86300)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(xJ(e,86308)|0)){e=1;break a}break}case 66:{if(!(xJ(e,86311)|0)){e=2;break a}break}case 82:{e=(xJ(e,86314)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+EA(b,ym(b,0,86317,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=FA(b,ym(b,0,86325,0)|0,0)|0;if(e){c[g>>2]=i;if(cM(e,86246,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(hL(e,86333)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(DA(b,ym(b,0,86341,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=UA(FA(b,ym(b,0,86351,0)|0,0)|0,19732,19748)|0;c[(c[m>>2]|0)+244>>2]=i;fw(b);i=gw(b,86361,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;gw(b,86366,e+48|0)|0;e=IA(Im(b,86371)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=Im(b,86378)|0;do if(!e){e=Im(b,86385)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=Im(b,86397)|0;if(e|0){e=IA(e)|0;k=27}}else{e=(rM(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[42179]=UA(Im(b,86407)|0,19764,19780)|0;a[174076]=IA(Im(b,86419)|0)|0;c[42181]=0;c[42182]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=Im(b,86431)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=Im(b,86435)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+sM(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}hw(b);c[42184]=ym(b,0,86446,0)|0;c[42187]=ym(b,0,86455,0)|0;c[42188]=ym(b,0,90530,0)|0;c[42189]=ym(b,1,96049,0)|0;c[42190]=ym(b,1,96043,0)|0;c[42191]=ym(b,1,90671,0)|0;c[42192]=ym(b,1,122540,0)|0;c[42193]=ym(b,1,86469,0)|0;c[42201]=ym(b,1,86479,0)|0;c[42194]=ym(b,1,86485,0)|0;c[42195]=ym(b,1,86494,0)|0;c[42196]=ym(b,1,86503,0)|0;k=ym(b,1,86240,0)|0;c[42198]=k;if(!k)c[42198]=ym(b,1,86240,90527)|0;c[42199]=ym(b,1,86513,0)|0;c[42202]=ym(b,1,86341,0)|0;c[42216]=ym(b,1,86520,0)|0;c[42205]=ym(b,1,86446,0)|0;c[42197]=ym(b,1,90530,0)|0;c[42203]=ym(b,1,86529,0)|0;c[42204]=ym(b,1,86535,0)|0;c[42207]=ym(b,1,86547,0)|0;c[42206]=ym(b,1,86385,0)|0;c[42208]=ym(b,1,86552,0)|0;c[42209]=ym(b,1,86563,0)|0;c[42210]=ym(b,1,122089,0)|0;c[42200]=ym(b,1,86573,0)|0;c[42211]=ym(b,1,86583,0)|0;c[42212]=ym(b,1,86589,0)|0;c[42213]=ym(b,1,86595,0)|0;c[42214]=ym(b,1,86603,0)|0;c[42215]=ym(b,1,86612,0)|0;c[42217]=ym(b,1,86455,0)|0;c[42218]=ym(b,2,86614,0)|0;c[42220]=ym(b,2,122540,0)|0;c[42221]=ym(b,2,86469,0)|0;c[42223]=ym(b,2,86485,0)|0;c[42224]=ym(b,2,86494,0)|0;c[42225]=ym(b,2,86503,0)|0;c[42226]=ym(b,2,86240,0)|0;c[42227]=ym(b,2,86513,0)|0;c[42236]=ym(b,2,86621,0)|0;c[42228]=ym(b,2,86632,0)|0;c[42239]=ym(b,2,86636,0)|0;c[42240]=ym(b,2,86646,0)|0;c[42241]=ym(b,2,86656,0)|0;c[42242]=ym(b,2,86666,0)|0;c[42243]=ym(b,2,86676,0)|0;c[42244]=ym(b,2,86690,0)|0;c[42245]=ym(b,2,86704,0)|0;c[42246]=ym(b,2,86719,0)|0;c[42247]=ym(b,2,86733,0)|0;c[42219]=ym(b,2,86744,0)|0;c[42231]=ym(b,2,86341,0)|0;c[42229]=ym(b,2,86479,0)|0;c[42230]=ym(b,2,86751,0)|0;c[42232]=ym(b,2,86760,0)|0;c[42233]=ym(b,2,86770,0)|0;c[42234]=ym(b,2,86583,0)|0;c[42235]=ym(b,2,86595,0)|0;c[42248]=ym(b,2,86781,0)|0;c[42249]=ym(b,2,86790,0)|0;c[42250]=ym(b,2,86520,0)|0;e=Ut(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=Im(b,86799)|0;if(e|0?a[e>>0]|0:0){b=qw(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function ew(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=GA(a,ym(a,0,86883,0)|0,86891)|0;if(((((((iK(a,86897)|0)!=0?(iK(a,86905)|0)!=0:0)?(iK(a,86912)|0)!=0:0)?(iK(a,86915)|0)!=0:0)?(iK(a,86926)|0)!=0:0)?(iK(a,86937)|0)!=0:0)?(iK(a,86947)|0)!=0:0)if((iK(a,86958)|0)!=0?(iK(a,86964)|0)!=0:0)if((iK(a,86891)|0)!=0?(iK(a,86969)|0)!=0:0){c[b>>2]=a;_l(0,86974,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function fw(b){b=b|0;var d=0.0,e=0,f=0;e=Im(b,86841)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(xJ(e,86847)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(xJ(e,86852)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(xJ(e,86861)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(xJ(e,86868)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+sM(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function gw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=Im(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(cM(b,86825,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(cM(b,86835,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function hw(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=Im(b,86240)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(cp(d)|0)!=0;g=+EA(b,ym(b,0,86485,0)|0,14.0,1.0);i=GA(b,ym(b,0,86494,0)|0,93027)|0;d=lw(b,d,e?2:0,g,i,GA(b,ym(b,0,86503,0)|0,122106)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=Im(b,90662)|0;e=(d|0)!=0;do if((so(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=Im(b,86802)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((so(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function iw(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){xt(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}_I(c[b+92>>2]|0);b=c[e>>2]|0}while(0);_I(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;ow(c[e+12>>2]|0);To(a,0,122277);return}function jw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=ww((rJ(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;kw(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;kw(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;kw(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function kw(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=vw((k*56|0)+112|0)|0;else n=xw(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[41782]=c[e+4>>2];h[20893]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=bb[c[g>>2]&31](g,167128,1)|0;pA(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function lw(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=vw(88)|0;switch(Co(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=so(ro(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=so(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=GL(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=GL(e)|0;a[t+82>>0]=1;if(!(TF(b,t)|0))break a;switch(Co(b)|0){case 0:{c[p>>2]=Dn(n)|0;_l(3,87017,p)|0;break a}case 1:{c[q>>2]=Dn(o)|0;_l(3,87039,q)|0;break a}case 2:{p=Dn(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(qn(s)|0)!=0;s=Dn(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?122546:122549;c[r+8>>2]=s;_l(3,87060,r)|0;break a}default:break a}}case 0:{i=mw(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=yB(i)|0;else i=vB(i,s)|0;_I(c[t>>2]|0);c[t>>2]=i;jw(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:ma(87087,87103,166,87112)}while(0);l=u;return t|0}function mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(Co(d)|0){case 0:{i=Dn(d)|0;g=rJ(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=rJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;h=2;y=87135;m=87132;j=90527;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}break}case 1:{i=Dn(ro(d)|0)|0;g=rJ(i)|0;j=Dn(d)|0;h=rJ(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=2;w=f;x=87129}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=rJ(f)|0;w=f;x=87129}}else{v=0;t=2;u=2;s=2;y=87135;m=87132;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}break}case 2:{h=d+48|0;i=Dn(so(ro(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=rJ(i)|0;l=Dn(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=rJ(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=rJ(q)|0;m=Dn(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=rJ(o)|0;j=rJ(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=rJ(f)|0}else{n=2;f=87123}x=(qn(so(ro(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=90527;w=f;x=x?122549:122546;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=87135;m=87132;j=90527;i=87126;o=174181;q=174181;p=0;r=0;n=2;w=87123;x=87129}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=ww(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)_I(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)gb[f&127](g);d=d+56|0;e=e+1|0}_I(a)}return}function ow(d){d=d|0;var e=0;if(d|0){_I(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)EF(e,1)}else nw(c[e>>2]|0,b[d+76>>1]|0);_I(d)}return}function pw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){yD(d,0);BD(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];AD(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}zD(d);i=18}}else{jF(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function qw(a,b){a=a|0;b=b|0;return mw(a,b,1)|0}function rw(a){a=a|0;return sw(a,0)|0}function sw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[42251]|0;if(!e){c[42252]=64;e=ww(64)|0;c[42251]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[42252]|0;if((i|0)>(b+-8|0)){e=b<<1;c[42252]=e;e=yw(c[42251]|0,e)|0;c[42251]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(tw(h)|0)!=0:0)k=18;else{f=5;d=87164}break}case 60:{f=4;d=87187;break}case 62:{f=4;d=87170;break}case 45:{f=5;d=87181;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=87157;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=87150;break a}case 39:{f=5;d=87175;break a}case 10:if(j){k=18;break a}else{f=5;d=87144;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:87138}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[42251]|0}function tw(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function uw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[42253]|0;if(!d){c[42254]=64;d=ww(64)|0;c[42253]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[42254]|0;if((i|0)>(f+-8|0)){d=f<<1;c[42254]=d;d=yw(c[42253]|0,d)|0;c[42253]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(tw(b)|0)){g=5;e=87164}else j=12;break}case 60:{g=4;e=87187;break}case 62:{g=4;e=87170;break}case 34:{g=6;e=87150;break}case 39:{g=5;e=87175;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[42253]|0}function vw(a){a=a|0;var b=0;if(!a)a=0;else{b=ww(a)|0;VN(b|0,0,a|0)|0;a=b}return a|0}function ww(a){a=a|0;if(a){a=ZI(a)|0;if(!a){XL(96532,14,1,c[13918]|0)|0;a=0}}else a=0;return a|0}function xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=aJ(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)VN(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else XL(96532,14,1,c[13918]|0)|0;return a|0}function yw(a,b){a=a|0;b=b|0;a=aJ(a,b)|0;if((b|0)!=0&(a|0)==0)XL(96532,14,1,c[13918]|0)|0;return a|0}function zw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=ZI(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ha(57,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=SN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[13918]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=87236;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;aa(13,j|0,87192,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ea(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=_(20,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ea(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[42255]=(e|0)>-1?e:30;t=RN(169024,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ea(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[13918]|0;m=0;while(1){o=0;j=Z(1)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=_(21,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ga(24,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;$(27,87236,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;aa(13,a|0,87254,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;aa(13,a|0,87254,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=SN(c[g>>2]|0,t|0,s|0)|0;if(!i)Ua(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ea(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ea(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ea(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ea(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;$(28,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[42295]|0;g=c[42296]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=SN(c[i>>2]|0,t|0,s|0)|0;if(!j)Ua(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=87236;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;aa(13,a|0,87258,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,s|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);_I(t|0);l=u;return f|0}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function Bw(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[42298]=b;c[42305]=0;c[42296]=0;c[42295]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[42295]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[42296]=k;b=b+1|0;f=k}b=g+164|0}b=c[42306]|0;if(!b)b=ww(h<<2)|0;else b=yw(b,h<<2)|0;c[42306]=b;c[42307]=0;b=c[42300]|0;if(!b)b=ww(c[42295]<<2)|0;else b=yw(b,c[42295]<<2)|0;c[42300]=b;c[42299]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=vw((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=vw(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function Cw(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=zA(c[42295]|0)|0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){BA(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=CA(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){BA(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[42295]|0)){_l(1,87590,k)|0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=Dn(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;_l(3,87612,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);AA(m);l=o;return}function Dw(){var b=0,d=0,e=0;b=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){_I(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function Ew(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=vw(c[42295]<<2)|0;e=0;a=(c[(c[42298]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=Rw(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=Sw(f,e)|0;while(1){if((Tw(a)|0)<=1)break;Xw(a,c[(Ww(Vw(Uw(a)|0)|0)|0)+8>>2]|0)}_I(a);a=0;while(1){if((a|0)>=(e|0))break;_I(c[f+(a<<2)>>2]|0);a=a+1|0}_I(f);if((c[42299]|0)==((c[42295]|0)+-1|0)){Yw();return}else ma(87335,87365,523,87370)}function Fw(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[42305]|0;f=c[42299]|0;j=c[42300]|0;k=c[42255]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[42305]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[42305]=f}return a|0}function Gw(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[42301]=0;c[42302]=2147483647;d=c[a+16>>2]|0;c[42303]=c[d+284>>2];c[42304]=c[d+288>>2];if(b)Qw(a);else Pw(a);return c[42301]|0}function Hw(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){Lw(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){Lw(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){Lw(h,g);break}else{Lw(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=Mw(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((Mw(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;Nw(a,b);n=c[g+16>>2]|0;Ow(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{_l(1,87296,n)|0;Ua(169024,1)}}function Iw(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;Kw();m=vw((c[42297]<<2)+4|0)|0;d=c[42297]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[42298]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[42297]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){_I(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){_I(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}_I(m);return}function Jw(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[42299]|0))break;a=c[(c[42300]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=Gw(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){Lw(g,f>>>1);break}else{Lw(a,(f|0)/-2|0);break}}while(0);b=b+1|0}Dw();return}function Kw(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[42297]=-2147483647;b=(c[(c[42298]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[42297]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[42297]=f-g;c[h>>2]=0}l=i;return}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){Lw(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){Lw(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function Mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[42300]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function Ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=Ow(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=Ow(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function Pw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42303]|0)>(j|0)|(j|0)>(c[42304]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42302]|0)|(c[42301]|0)==0):0){c[42301]=d;c[42302]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Pw(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42302]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Pw(b);a=c[i>>2]|0}d=d+1|0}return}function Qw(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[42303]|0)>(j|0)|(j|0)>(c[42304]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[42302]|0)|(c[42301]|0)==0):0){c[42301]=d;c[42302]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))Qw(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[42302]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){Qw(b);a=c[i>>2]|0}d=d+1|0}return}function Rw(a){a=a|0;var b=0;b=vw(16)|0;c[b>>2]=a;c[b+4>>2]=fx(a,b)|0;c[b+12>>2]=b;return b|0}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;e=vw(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;Xw(e,d);d=d+-1|0}return e|0}function Tw(a){a=a|0;return c[a+4>>2]|0}function Uw(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;Xw(a,0);return b|0}function Vw(a){a=a|0;return ex(c[a>>2]|0,0,0)|0}function Ww(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)ma(87384,87365,463,87398);g=a+48|0;d=ax(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=ax(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)bx(c[d>>2]|0,0,b);else bx(c[f>>2]|0,0,0-b|0);cx(a);return dx(d,f)|0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function Yw(){Ow(c[(c[(c[42298]|0)+16>>2]|0)+192>>2]|0,0,1)|0;Zw(c[(c[(c[42298]|0)+16>>2]|0)+192>>2]|0,0);return}function Zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))Zw(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){Zw(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)_w(b);return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=($w(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=($w(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function ax(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){bx(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){bx(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function cx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){_l(1,87487,h)|0;Ua(169024,1)}g=c[42299]|0;c[d>>2]=g;d=c[42300]|0;c[42299]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[42306]|0;d=c[42307]|0;c[42307]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[42306]|0;d=c[42307]|0;c[42307]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){_l(1,87521,h+8|0)|0;Ua(169024,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){_l(1,87556,h+16|0)|0;Ua(169024,1)}else{l=h;return}}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else ma(87410,87365,327,87457);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else ma(87468,87365,335,87457)}else i=a;return i|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=ax(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=ex(h,a,d)|0}else if((ax(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=ex(i,a,d)|0}else if((ax(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function fx(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){cx(g);a=(fx(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){cx(f);a=(fx(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Im(a,87620)|0;if(!d)d=30;else d=rM(d)|0;return zw(a,b,c,d)|0}function hx(a){a=+a;return +((c[42183]|0)==0?a:+h[20895]-a)}function ix(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[42308]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];jx(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];kx(e,87631,+h[b+352>>3]);kx(e,87638,t*.013888888888888888);kx(e,87638,s*.013888888888888888);lx(e);i=co(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){mx(e,87640,Wp(Dn(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];nx(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=ro(i)|0;b=ox(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=Wp(Jm(i,c[42198]|0)|0)|0;kx(e,87638,+h[(c[g>>2]|0)+32>>3]);kx(e,87638,+h[(c[g>>2]|0)+40>>3]);mx(e,87638,b);mx(e,87638,GA(i,c[42201]|0,95889)|0);mx(e,87638,c[c[(c[g>>2]|0)+8>>2]>>2]|0);mx(e,87638,GA(i,c[42192]|0,122106)|0);b=GA(i,c[42193]|0,174181)|0;if(!(a[b>>0]|0))b=GA(i,c[42192]|0,119592)|0;mx(e,87638,b);lx(e)}i=eo(d,i)|0}o=f<<24>>24==0;n=co(d)|0;while(1){if(!n)break;m=Pm(d,n)|0;while(1){if(!m)break;if(o){f=174181;j=174181}else{j=Im(m,96242)|0;f=Im(m,96251)|0;f=f|0?f:174181;j=j|0?j:174181}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}mx(e,0,96237);px(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);px(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);qx(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];nx(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=ro(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;mx(e,87638,ox(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];nx(e,q)}mx(e,87638,GA(m,c[42229]|0,95889)|0);mx(e,87638,GA(m,c[42220]|0,122106)|0);lx(e);m=Rm(d,m)|0}n=eo(d,n)|0}rx(87646,e);l=r;return}function jx(a){a=a|0;var b=0.0;if(c[42183]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[20895]=b;h[20896]=b*.013888888888888888}return}function kx(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)rx(b,a);h[e>>3]=c;pL(d,87652,e)|0;rx(d,a);l=f;return}function lx(b){b=b|0;a[174077]=10;ab[c[42308]&63](b,174077)|0;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rx(b,a);rx(c,a);return}function nx(a,b){a=a|0;b=b|0;var d=0.0;kx(a,87638,+h[b>>3]*.013888888888888888);if(!(c[42183]|0))d=+h[b+8>>3];else d=+h[20895]-+h[b+8>>3];kx(a,87638,d*.013888888888888888);return}function ox(a,b){a=a|0;b=b|0;var c=0;c=$o(a,b)|0;b=Wp(c)|0;bp(a,c)|0;return b|0}function px(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=Wp(Dn(d)|0)|0;else{f=ro(d)|0;d=ox(f,(WJ(Dn(d)|0,58)|0)+1|0)|0}mx(b,87638,d);if(e|0?a[e>>0]|0:0)mx(b,93017,Wp(e)|0);return}function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;rx(87638,a);c[f>>2]=b;pL(e,122187,f)|0;rx(e,a);l=d;return}function rx(a,b){a=a|0;b=b|0;ab[c[42308]&63](b,a)|0;return}\nfunction EB(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)ma(94759,92694,1637,94767);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((Yv(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(GB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(GB(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];Rt(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],Rt(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function HB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(iK(e,94782)|0)){d=4;break a}if(!(iK(e,94788)|0)){d=12;break a}break}case 70:case 102:{if(!(iK(b+1|0,94796)|0)){d=2;break a}break}case 76:case 108:{if(!(iK(b+1|0,94801)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(iK(e,94805)|0)){d=0;break a}if(!(iK(e,94809)|0)){d=2;break a}break}case 79:case 111:{if(!(iK(b+1|0,94811)|0)){d=8;break a}break}case 80:case 112:{if(!(iK(b+1|0,94816)|0)){d=6;break a}break}case 83:case 115:{if(!(iK(b+1|0,94824)|0)){d=10;break a}break}case 84:case 116:{if(!(iK(b+1|0,94830)|0)){d=10;break a}break}case 89:case 121:{if(!(iK(b+1|0,94834)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;_l(0,94837,f)|0}while(0);l=g;return d|0}function IB(d,f){d=d|0;f=f|0;var g=0;g=Im(d,94878)|0;if(g)if(!(a[g>>0]|0))f=0;else f=HB(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function JB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q<f?w:p)>>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s<i?w:p)+8>>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function KB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function LB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=ZI(40)|0;c[w>>2]=0;s=y;o=0;e=_(22,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=_(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=SN(c[f>>2]|0,w|0,x|0)|0;if(!e)Ua(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[174076]|0))t=0;else{o=0;e=Z(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=$(31,b|0,94886)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[42366]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[42366]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(11,0,94890,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=$(32,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[42366]&2|0){o=0;ga(25,c[13918]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=_(24,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=$(33,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!(0==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[174076]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(15,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=SN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=aa(15,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=SN(c[h>>2]|0,w|0,x|0)|0;if(!d)Ua(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ha(59,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;h=_(25,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=SN(c[d>>2]|0,w|0,x|0)|0;if(!f)Ua(d|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=h;i=i+1|0}while(0);o=0;e=$(34,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=SN(c[f>>2]|0,w|0,x|0)|0;if(!h)Ua(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=$(35,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=_(26,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ja(25,v|0,n|0,8,36);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;fa(87,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[13918]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[42366]&16|0:0){o=0;ga(25,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ja(26,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ha(60,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ha(60,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=aa(16,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ja(27,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;fa(88,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ea(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=_(27,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=_(28,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ha(61,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=RN(169468,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;fa(89,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[42366]&4|0){o=0;ka(7,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;la(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[174076]|0))e=0;else{o=0;fa(90,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;fa(91,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,w|0,x|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;fa(91,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(92,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;fa(91,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,w|0,x|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}_I(w|0);l=y;return}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;WL(95757,a)|0;WL(95768,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){FC(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{HC(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;zL(a,95788,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;zL(a,95808,p)|0;d=d+1|0}WL(95830,a)|0;l=q;return}function NB(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function OB(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function PB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;FC(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){DC(j,h,c[h+24>>2]|0);YC(b,f,h,0.0)|0;break}else{DC(j,h,i);YC(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function QB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;FC(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;DC(h,g,e);YC(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function RB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=vw((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;DC(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=EC(j,i)|0;uG(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){DC(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{FC(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}GC(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){DC(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];GC(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=aJ(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function SB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Ql(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=vw(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];yC(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function TB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Ql(24676,c[4345]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=vw(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];yC(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function UB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;xC(bC(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function VB(a){a=a|0;var b=0,d=0;d=a+20|0;dC(c[d>>2]|0);b=a+24|0;dC(c[b>>2]|0);eC(c[d>>2]|0);eC(c[b>>2]|0);fC(c[d>>2]|0,a);fC(c[b>>2]|0,a);gC(c[d>>2]|0);gC(c[b>>2]|0);return}function WB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;WL(95005,a)|0;c[n>>2]=10;c[n+4>>2]=10;zL(a,95411,n)|0;WL(123076,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;zL(a,123095,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];cC(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}WL(95428,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;zL(a,123132,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;zL(a,95453,x)|0;l=z;return}function XB(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[13918]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];YB(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];YB(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)_I(i);p=ww(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(_B(u,d)|0);j=+h[I>>3]}else{j=+ZB(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(_B(q,d)|0);else j=+ZB(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(_B(q,d)|0);j=+h[J>>3]}else{j=+ZB(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=Dn(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=Dn(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;zL(G,94964,M)|0}Jz(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,24664);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];cA(b,z,E,F)}v=v+1|0}_I(o);l=N;return}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function ZB(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=bC(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function _B(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=bC(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function $B(a){a=a|0;return 0}function aC(a){a=a|0;return 0}function bC(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b+8|0,512)|0;if(!a)ma(94977,94983,423,94991);a=c[a+16>>2]|0;a=bb[c[a>>2]&31](a,b+16|0,512)|0;if(!a)ma(95002,94983,425,94991);else return a|0;return 0}function cC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=_B(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+ZB(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;zL(d,95504,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=_B(m,g)|0;else f=~~+ZB(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;zL(d,95526,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=_B(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+ZB(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;zL(d,95540,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function dC(a){a=a|0;var b=0;a=Ol(a)|0;while(1){if(!a)break;b=Ol(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=IC(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function eC(a){a=a|0;var b=0;a=Ol(a)|0;while(1){if(!a)break;b=Ol(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)wC(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function fC(a,b){a=a|0;b=b|0;var d=0;d=Ol(a)|0;while(1){if(!d)break;a=Ol(c[d+16>>2]|0)|0;while(1){if(!a)break;kC(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function gC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Ol(a)|0;while(1){if(!e)break;i=e+8|0;f=Ol(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[42366]&8|0)hC(f,~~+h[i>>3]);g=f+32|0;NC(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function hC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[13918]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;zL(i,95561,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Sl(e)|0){iC(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);WL(95581,i)|0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d)break b;WL(95586,i)|0;iC(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);WL(134901,i)|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function iC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=jC(c[d+32>>2]|0)|0;e=jC(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;zL(b,95592,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=jC(c[d+32>>2]|0)|0;i=jC(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;zL(b,95592,e)|0}l=g;return}function jC(a){a=a|0;switch(a|0){case 0:{a=95643;break}case 1:{a=95638;break}case 2:{a=95631;break}case 3:{a=95624;break}case 4:{a=95616;break}default:a=0}return a|0}function kC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((MC(u,j,k)|0)==0?(MC(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,lC(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;mC(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;mC(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{nC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);nC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;oC(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{nC(c[s>>2]|0,c[o>>2]|0,g,0,a,b);nC(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{nC(c[o>>2]|0,c[s>>2]|0,0,g,a,b);nC(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;oC(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function lC(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))ma(95714,94983,843,95745);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function mC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=pC(b,e)|0;if(!b){h=0;break}d=pC(d,f)|0;if(!d){i=6;break}if(!(lC(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)ma(123205,94983,871,95663);else if((i|0)==7)h=rC(b,qC(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function nC(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=bC(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;KC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=pC(b,e)|0;m=pC(d,f)|0;do if(!(a[b>>0]|0)){j=bC(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=bC(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(MC(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){KC(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{KC(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function oC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(lC(b,d)|0))break;g=pC(b,1)|0;d=pC(d,e)|0;b=g}g=c[(bC(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;LC(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function pC(a,b){a=a|0;b=b|0;if(!a)ma(95650,94983,798,95654);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function qC(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=sC(b,c,3,1)|0;else b=sC(b,c,4,2)|0;l=f;return b|0}_l(1,95676,e)|0;Ua(169468,1);return 0}function rC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=pC(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function sC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j<k)?(g=+h[a+16>>3],i=+h[b+24>>3],!(g>i)):0){if(k<j&g<k){b=tC(a,b,d,e)|0;break}if(k<g&g<i){b=0-(tC(b,a,d,e)|0)|0;break}if(!(g==k))if(j==k){d=c[a+36>>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j<i){o=(c[a+36>>2]|0)==(d|0);d=vC(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=vC(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=uC(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(uC(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=uC(f,o,d)|0;break}else{b=0-(uC(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function tC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i<j){a=c[a+36>>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=vC(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(vC(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function uC(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function vC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function wC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(qC(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{KC(d,a,b);break}case -1:{KC(d,b,a);break}default:{}}b=b+1|0}}return}function xC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=ww(d<<2)|0;else a=yw(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function yC(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=bb[c[a>>2]&31](a,f,512)|0;if(!e){e=vw(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Ql(24712,c[4345]|0)|0;bb[c[a>>2]&31](a,e,1)|0}f=c[e+16>>2]|0;bb[c[f>>2]&31](f,b,1)|0;l=g;return}function zC(a,b,d){a=a|0;b=b|0;d=d|0;JC(c[b+32>>2]|0);_I(c[b+28>>2]|0);_I(b);return}function AC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e<f)a=!(+h[b+8>>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function BC(a,b,d){a=a|0;b=b|0;d=d|0;Kl(c[b+16>>2]|0)|0;_I(b);return}function CC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function DC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function EC(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function FC(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function GC(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f<g){k=0;l=i;d=j;e=f;f=g}else{k=1;l=j;d=i;e=g}h[b+24>>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function HC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=vw(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=vw(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=fG()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function JC(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Kl(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}_I(e);_I(a);return}function KC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,1)|0;l=e;return}function LC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;bb[c[g>>2]&31](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;bb[c[d>>2]&31](d,f,2)|0;l=e;return}function MC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(bb[c[d>>2]&31](d,f,512)|0)!=0&1;l=e;return d|0}function NC(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=OC(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=PC(a,d,b,e)|0;d=d+1|0}while(1){d=QC(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}RC(e)}}return}function OC(a){a=a|0;var b=0;b=vw(8)|0;c[b+4>>2]=vw(a<<2)|0;c[b>>2]=-1;return b|0}function PC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Ol(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=PC(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;SC(e,b);return d+1|0}function QC(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function RC(a){a=a|0;_I(c[a+4>>2]|0);_I(a);return}function SC(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function TC(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function UC(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function VC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=vw(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=vw((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function WC(a){a=a|0;var b=0;b=vw(24)|0;c[b>>2]=0;c[b+16>>2]=vw(a*40|0)|0;return b|0}function XC(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function YC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;ZC(b,f);ZC(d,f);return a|0}function ZC(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function _C(a){a=a|0;var b=0;b=a+16|0;_I(c[(c[b>>2]|0)+28>>2]|0);_I(c[b>>2]|0);_I(c[a+20>>2]|0);_I(a);return}function $C(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}nG();a:do if(!(qG(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=sG()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=aD(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(qG(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;tG(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function aD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function bD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;Jr(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function cD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(ir(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){gb[d&127](a);a=0}else a=0;else a=1;return a|0}function dD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)gb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;qr(a);return}function eD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function fD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function gD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)gb[d&127](a);return}function hD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)gb[d&127](a);pr(a);return}function iD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)gb[d&127](a);return}function jD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)gb[d&127](a);return}function kD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;kb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function lD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)gb[d&127](a);return}function mD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)gb[d&127](a);return}function nD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)gb[d&127](a);return}function oD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)gb[d&127](a);return}function pD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)gb[d&127](a);return}function qD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)gb[d&127](a);return}function rD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)gb[d&127](a);return}function sD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)gb[d&127](a);return}function tD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)gb[d&127](a);return}function uD(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)gb[d&127](a);return}function vD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)gb[d&127](a);return}function wD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)lb[h&7](a,b,d,e,f);return}function xD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)gb[d&127](a);return}function yD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)hb[e&31](a,b);return}function zD(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)gb[d&127](a);return}function AD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];eD(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];ib[g&127](b,f,e)}}while(0);l=k;return}function BD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=WJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(CD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=RE(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(vM(e,f,c[a+20>>2]|0,4,37)|0)!=0:0))h=3;a:do if((h|0)==3){switch(SE(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{_l(1,95868,g)|0;break a}}a=ww((rJ(b)|0)+16|0)|0;c[i>>2]=b;pL(a,95833,i)|0;if(Dv(a)|0){c[j>>2]=b;_l(0,95842,j)|0}_I(a)}while(0);l=k;return}function DD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=WJ(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(CD(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)hb[e&31](b,g);if(h)a[i>>0]=58;return}function ED(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(CD(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)hb[f&31](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function FD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(xJ(b,95889)|0)){c[j>>2]=3;b=f;continue b}if(!(xJ(b,95910)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+sM(d);b=f;continue b}break}case 100:{if(!(xJ(b,122119)|0)){c[j>>2]=1;b=f;continue b}if(!(xJ(b,122112)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(xJ(b,119127)|0?xJ(b,95895)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(xJ(b,95905)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(xJ(b,95923)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(xJ(b,95930)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(xJ(b,95939)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;_l(0,95947,k)|0;b=f}}while(0);l=m;return}function GD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){fD(a,g,g,2)|0;f=c[i>>2]|0}ib[f&127](a,g,e)}l=j;return}function HD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=e;e=yw(c[42407]|0,e<<4)|0;c[42407]=e}else e=c[42407]|0;fD(a,b,e,d)|0;kb[c[n>>2]&31](a,e,d,f)}else kb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function ID(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];HD(a,f,4,d);l=e;return}function JD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){mb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=h;h=yw(c[42407]|0,h<<4)|0;c[42407]=h}else h=c[42407]|0;fD(a,b,h,d)|0;mb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function KD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){ib[f&127](a,b,d);break}e=d+10|0;if((c[42406]|0)<(d|0)){c[42406]=e;e=yw(c[42407]|0,e<<4)|0;c[42407]=e}else e=c[42407]|0;fD(a,b,e,d)|0;ib[c[g>>2]&127](a,e,d)}while(0);return}function LD(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)hb[f&31](b,d);return}function MD(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)ma(96061,96e3,691,96011);if(!d)ma(96030,96e3,692,96011);if(!(a[d>>0]|0))ma(96035,96e3,693,96011);D=Lr(d)|0;if(!D){if((C|0)!=0&(Py(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)lb[m&7](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];Or(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]<v?E:G)>>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]<w?E:G)+8>>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(ND(i)|0){case 1:if(q<r){p=q*p;o=q*o;break a}else{p=r*p;o=r*o;break a}case 2:{p=q*p;break}case 3:{o=r*o;break}case 4:{p=q*p;o=r*o;break}default:{}}while(0);if(p<t){t=(t-p)*.5;j=j+t;h[E>>3]=j;k=k-t;h[n>>3]=k}if(o<w){w=(w-o)*.5;h[z>>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];eD(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];eD(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];PD(b,D,B,g,G)}}}l=F;return}function ND(b){b=b|0;if(a[b>>0]|0)if(iK(b,96043)|0)if(iK(b,96049)|0)if(!(iK(b,96056)|0))b=4;else b=(IA(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function OD(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function PD(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)ma(96061,96065,52,96079);if(!d)ma(96091,96065,53,96079);i=c[d+8>>2]|0;if(!i)ma(96094,96065,54,96079);if(!(a[i>>0]|0))ma(96103,96065,55,96079);xK(h,c[d+28>>2]|0)|0;i=h+(rJ(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;IL(h,g)|0;if((QD(b,h)|0)==999){c[j>>2]=h;_l(0,96115,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];kb[m&31](b,d,k,f)}l=n;return}function QD(a,b){a=a|0;b=b|0;b=Jr(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function RD(a){a=a|0;return 1}function SD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function TD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function UD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function VD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function WD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function XD(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function YD(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function ZD(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;nE(b,d)}gu(b,d);a[b+540>>0]=1;return}function _D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];gE(b,f);mE(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];gE(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function $D(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function aE(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];gE(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;return}function cE(a){a=a|0;return}function dE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=aM(d,123632)|0;if(d|0){i=er(d,0)|0;LL(d)|0;f=5}}else{i=er(c[13853]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){gb[h&127](d);d=c[g>>2]|0}iw(d);ln(c[g>>2]|0)|0}So(i,0,122277,280,1);So(i,1,122241,304,1);So(i,2,122254,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((ls(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function eE(a,b){a=a|0;b=b|0;a=c[a>>2]|0;ls(a,c[a+168>>2]|0,b)|0;return}function fE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}ns(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function gE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];hE(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=iE(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){jE(b);c[e>>2]=d;kE(b);a[b+537>>0]=1}l=f;return}function hE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function iE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=co(a)|0;a:while(1){if(!e){e=9;break}d=Pm(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((DB(d,f)|0)<<24>>24){e=6;break a}d=Rm(a,d)|0}e=eo(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=fo(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((AB(d,f)|0)<<24>>24){e=12;break}d=go(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=lE(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function jE(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function kE(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){_I(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=ym(d,0,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=ym(ro(d)|0,1,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=ym(ro(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,96229,0)|0;if(!b)break a;c[e>>2]=qw(Jm(d,b)|0,d)|0;break a}default:break a}while(0);return}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=lE(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function mE(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(Co(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){_I(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(Co(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;nE(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;oE(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;pE(b,d);break b}default:break b}while(0);return}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((so(b)|0)==(b|0))if(!(qn(b)|0)){Er(d,0,96286);break}else{Er(d,0,96278);break}else Er(d,0,96292);while(0);Er(d,1,Dn(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=Dm(b,0,d)|0;if(!d)break;Er(f,e,c[d+8>>2]|0);Er(f,e+1|0,Jm(b,d)|0);Er(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=ym(b,0,96264,0)|0;if(!d){d=ym(b,0,96269,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function oE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;Er(f,0,96273);Er(f,1,Dn(b)|0);c[a+596>>2]=2;f=a+604|0;g=so(ro(b)|0)|0;e=2;d=0;while(1){d=Dm(g,1,d)|0;if(!d)break;Er(f,e,c[d+8>>2]|0);Er(f,e|1,Jm(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=ym(ro(b)|0,1,96264,0)|0;if(!d){d=ym(ro(b)|0,1,96269,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function pE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;Er(h,0,96237);k=b+48|0;Er(h,1,Dn(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(qn(ro(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;Er(h,3,k?122546:122549);k=b+-48|0;Er(h,4,Dn(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=so(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=Dm(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(xJ(f,96242)|0)){l=5;break}if(!(xJ(f,96251)|0)){l=7;break}if(xJ(f,96260)|0)break;Er(h,6,Jm(b,d)|0)}if((l|0)==5){l=0;Er(h,2,Jm(b,d)|0)}else if((l|0)==7){l=0;Er(h,5,Jm(b,d)|0)}Er(i,g,c[e>>2]|0);Er(i,g+1|0,Jm(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=ym(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96264,0)|0;if(!d){d=ym(ro(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,96269,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=qw(Jm(b,d)|0,b)|0;return}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=rE(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;Hr(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function rE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=ww(12)|0;if(!b)b=0;else b=GL(b)|0;c[e+4>>2]=b;c[e+8>>2]=GL(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function sE(b,c){b=b|0;c=c|0;tE(b);a[b+44>>0]=0;uE(b)|0;tA(b)|0;return}function tE(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?hL(e,96301)|0:0)qE(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function uE(a){a=a|0;var b=0;b=Jr(a,2,96314)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function vE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=ab[e&63](b,d)|0;else a=0;return a|0}function wE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function xE(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (yE(~~(d>b?d:b)>>>0)|0)+1|0}function yE(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function zE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=AE(b,d,e,f,g)|0;e=BE(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){CE(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}DE(p)}l=r;return e|0}function AE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=vw(28)|0;j=Ql(24896,c[4348]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=jH()|0;c[g+24>>2]=j;if(!j){XL(96532,14,1,c[13918]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{XL(96532,14,1,c[13918]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Kl(a)|0;a=c[g+24>>2]|0;if(a|0)lH(a)|0;_I(g);g=0}return g|0}function BE(a){a=a|0;var b=0;b=ME(a)|0;if((b|0)>=0){NE(a);OE(a);b=Kl(c[a+20>>2]|0)|0}return b|0}function CE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)ma(96325,96335,445,96345);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];EE(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];EE(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];EE(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];EE(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];EE(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];EE(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];EE(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];EE(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}EE(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;EE(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;EE(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;EE(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function DE(a){a=a|0;lH(c[a+24>>2]|0)|0;_I(a);return}function EE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)ma(96325,96335,382,96354);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((FE(e,k)|0)!=0&1)|0}while(0);m=m+1|0}GE(e,q);m=c[d+24>>2]|0;m=nH(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){HE(j,s);n=+IE(q,s);if(n>0.0){g=g+1|0;i=+JE(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(GE(j,s),r=+IE(q,s),r>0.0):0){g=g+1|0;i=+KE(e,j,q,r,f)+i}}k=c[k>>2]|0}iH(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function FE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}ma(96391,96335,219,96428);return 0}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function HE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function IE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function JE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=LE(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{HE(a,i);g=+IE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(GE(a,i),h=+IE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function KE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=LE(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{HE(a,i);g=+IE(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(GE(a,i),h=+IE(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function LE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))ma(96370,96335,276,96380);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(i<g){if(k<j){e=0;break}e=k>j?2:1;break}e=k<j;if(i>g){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function ME(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=xE(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=vw(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;PE(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=QE(d,g)|0;n=c[j>>2]|0;if(!(bb[c[n>>2]&31](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function NE(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;oH(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}return}function OE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Sl(c[e>>2]|0)|0;d=0;while(1){if(!(Sl(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}bb[c[g>>2]&31](g,a,4096)|0;_I(a);d=d+1|0}if((h|0)==8)ma(96441,96335,616,96444);if((f|0)==(d|0))return;else ma(96456,96335,623,96444)}function PE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)ma(96468,96335,264,96495);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)ma(96505,96335,266,96495);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function RE(b){b=b|0;var d=0,e=0,f=0,g=0;d=rJ(b)|0;if(d>>>0>=(c[42408]|0)>>>0){d=d+11|0;c[42408]=d;d=yw(c[42409]|0,d)|0;c[42409]=d;if(!d)d=0;else e=4}else{d=c[42409]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(kK(f)|0)e=(jK(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function SE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((cM(r,96547,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;TE(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;UE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=rJ(r)|0;if(b>>>0>=(c[42410]|0)>>>0){b=b+11|0;c[42410]=b;b=yw(c[42411]|0,b)|0;c[42411]=b;if(!b){b=-1;break}}else b=c[42411]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((cM(b,96561,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{VE(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{VE(k,j,g,C,D,E);UE(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{VE(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{VE(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=WE(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[42412]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(xJ(u,i)|0)==0:0)){b=vM(v,24932,2491,12,38)|0;c[42412]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;UE(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function TE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=b<c?b:c;m=b>c?b:c;m=m<a?a:m;i=m-(i>a?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function UE(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function VE(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function WE(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(VJ(e,122058,4)|0)==0)):0)?!(d<<24>>24==108|(VJ(e,122063,4)|0)==0):0)?(VJ(e,122068,8)|0)!=0:0){do if(d<<24>>24==47){d=WJ(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(pK(122077,e,4)|0)==0;b=e?d+1|0:b;break}d=c[42413]|0;if((d|0?a[d>>0]|0:0)?pK(122077,d,3)|0:0){b=YE(d,b+2|0)|0;break}b=b+2|0}}else{d=c[42413]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(pK(122077,d,3)|0)!=0:0)b=YE(d,b)|0}while(0);b=RE(b)|0}return b|0}function XE(a,b){a=a|0;b=b|0;return iK(c[a>>2]|0,c[b>>2]|0)|0}function YE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=rJ(a)|0;g=(rJ(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[42414]|0)>>>0)d=c[42415]|0;else{c[42414]=d;d=yw(c[42415]|0,d)|0;c[42415]=d}c[e>>2]=a;c[e+4>>2]=b;pL(d,122082,e)|0;l=f;return c[42415]|0}function ZE(a){a=a|0;c[42413]=a;return}function _E(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;$E(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=aF(g)|0;l=f;return a|0}function $E(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;gF(a);hF(a);iF(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function aF(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=vw(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+bF(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);cF(q,c,n);dF(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;eF(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}fF(q);return q|0}function bF(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10328:10584;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function cF(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[42416]=100;e=vw(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function dF(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;eF(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function eF(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[42416]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[42416]=k<<1;j=aJ(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function fF(a){a=a|0;var b=0;b=c[a>>2]|0;dF(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=aJ(c[a>>2]|0,c[a+4>>2]<<4)|0;c[42416]=0;return}function gF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function hF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function iF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e<c?e:c}else c=+E(+e)*l*j+ +h[a>>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e<d?e:d}else d=+E(+b)*l*m+ +h[a+8>>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function jF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;kF(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+lF(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+lF(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=Im(c[(c[j>>2]|0)+8>>2]|0,122089)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=122100;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;FD(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)BD(b,122106);else BD(b,f);nF(b,e,m);if(a[j>>0]|0)_I(c[i>>2]|0)}else mF(b,c[d>>2]|0,m);oF(b);l=n;return}function kF(a){a=a|0;var d=0,e=0,f=0;d=Vt(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function lF(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function mF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];AF(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function nF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)pF(g,j,167296);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=qF(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=rF(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];ID(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];yy(e,sF(p,t,o)|0,4,4,j)}_I(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;tF(e,j,g);i=i+4|0}i=c[r>>2]|0;OD(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}uF(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];vF(e,f,t)}}if(s|0)wF(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],qF(e,g,f,t,w)|0):0)wF(e,w);if(c[u>>2]|0)xF(g,167296);l=y;return}function oF(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;Wt(a);return}function pF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function qF(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{cm(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=GL(Yt(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}fm(t,h)|0;i=c[42417]|0;c[42417]=i+1;c[k>>2]=i;pL(j,122183,k)|0;fm(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){dm(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=Xt(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)gm(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];du(d,n);wD(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function rF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((xv(b,f,i)|0)<<24>>24)){DD(a,b);b=1}else{DD(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)ED(a,122106,d,h);else ED(a,b,d,h);b=e>>>1&1|2}BD(a,122171);l=j;return b|0}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function tF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=qF(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=rF(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];ID(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];yy(e,sF(p,r,n)|0,4,4,i)}_I(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];vF(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{nF(e,c[i>>2]|0,g);break a}case 3:{zF(e,c[i>>2]|0,g);break a}default:{mF(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)wF(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],qF(e,g,f,r,s)|0):0)wF(e,s);l=v;return}function uF(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?122106:j;DD(f,q);BD(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];yF(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];yF(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function vF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;BD(e,(m|0)==0?122106:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))FD(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=122112;k=4}}else{i=122119;k=4}if((k|0)==4)c[j>>2]=i;FD(e,j)}k=f+33|0;OD(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];ID(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];sF(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{KD(e,j,2);break a}case 3:{KD(e,n+32|0,2);break a}case 1:{KD(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,2);break a}case 11:{KD(e,j,3);break a}case 5:{KD(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];KD(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,3);break a}case 13:{KD(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];KD(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];KD(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,4);break a}case 9:{KD(e,j,2);KD(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];KD(e,n,2);KD(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];yy(e,sF(n,o,m)|0,4,4,0)}while(0);l=p;return}function wF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{xD(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){_I(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){_I(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function xF(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function yF(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];ID(a,g,1);l=f;return}function zF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)ma(122126,122134,623,122146);if(!(a[e>>0]|0))ma(122160,122134,624,122146);else{MD(b,e,g,4,1,f);l=i;return}}function AF(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];yD(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;BD(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];AD(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}zD(d);l=R;return}function BF(a){a=a|0;_I(c[a>>2]|0);_I(c[a+4>>2]|0);_I(c[a+8>>2]|0);_I(c[a+16>>2]|0);_I(c[a+12>>2]|0);_I(c[a+20>>2]|0);_I(c[a+24>>2]|0);return}function CF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;_I(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)gb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)_I(d);_I(a)}return}function DF(a){a=a|0;_I(c[a+32>>2]|0);_I(a);return}function EF(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{FF(c[b>>2]|0);break}case 3:{DF(c[b>>2]|0);break}default:CF(c[b>>2]|0)}if(d|0)_I(b);return}function FF(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Kl(c[e>>2]|0)|0;else{b=c[e>>2]|0;_I(c[a+92>>2]|0);_I(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;GF(d);b=b+4|0}_I(c[e>>2]|0)}BF(a);_I(a);return}function GF(a){a=a|0;EF(a+88|0,0);BF(a);_I(a);return}function HF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=IF(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function IF(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(iK(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=JF(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function JF(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(iK(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=IF(c[b+88>>2]|0,d)|0;else b=0;return b|0}function KF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function LF(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=vw((c[d+100>>2]<<2)+4|0)|0;n=vw((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function MF(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[54824+(a<<2)>>2]|0;else{c[b>>2]=a;pL(174081,122187,b)|0;a=174081}l=d;return a|0}function NF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=no(d,MF(f)|0,1)|0;No(i,122241,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=vw((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=vw((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=no(b,MF(f)|0,1)|0;No(i,122241,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=vw((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=vw((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=no(d,MF(e[o>>1]|0)|0,0)|0;o=no(d,MF((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;OF(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=no(b,MF(e[o>>1]|0)|0,0)|0;o=no(b,MF((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;OF(b,n,o,~~+h[g+72>>3]);f=f+4|0}PF(d);PF(b);return}function OF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=an(a,d,f,0,0)|0;if(!h){i=an(a,d,f,0,1)|0;No(i,122254,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=ww((c[a+184>>2]<<2)+8|0)|0;else a=yw(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=ww((c[a+176>>2]<<2)+8|0)|0;else a=yw(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function PF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(an(a,d,h,0,0)|0){d=h;continue}g=an(a,d,h,0,1)|0;No(g,122254,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=ww((c[d+184>>2]<<2)+8|0)|0;else d=yw(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=ww((c[d+176>>2]<<2)+8|0)|0;else d=yw(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function QF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function RF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4411];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=vw((e<<2)+4|0)|0;c[b+96>>2]=vw((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=gn(122267,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=gn(122272,g,0)|0;No(f,122277,280,1)|0;No(g,122277,280,1)|0;NF(b,f,g);gx(f,2,2147483647)|0;gx(g,2,2147483647)|0;QF(b,f,g);SF(f,g)}else LF(b);l=h;return}function SF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){_I(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){_I(e);d=c[f>>2]|0}d=d+164|0}ln(a)|0;ln(b)|0;return}function TF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(Co(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=ro(b)|0;break}case 2:{e=ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=bI(c[d>>2]|0,o,k)|0;if(!f){cm(n,128,g);a[d+82>>0]=0;e=GL(UF(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=yB(e)|0;else e=vB(e,c[i>>2]|0)|0;_I(c[d>>2]|0);c[d>>2]=e;jw(c[(c[m+16>>2]|0)+144>>2]|0,d);gm(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?VF(b)|0:0){i=GL(VF(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=WF(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;XF(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];YF(m,n,15)}else{ZF(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;XF(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){_I(c[d>>2]|0);c[d>>2]=GL(122290)|0}e=c[o>>2]|0}l=p;return e|0}function UF(b,d){b=b|0;d=d|0;var e=0;a:do switch(Co(b)|0){case 0:{fm(d,Dn(b)|0)|0;break}case 1:{fm(d,Dn(b)|0)|0;break}case 2:{fm(d,Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;fm(d,Dn(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(qn(ro(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){fm(d,122549)|0;break a}else{fm(d,122546)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){dm(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function VF(b){b=b|0;var c=0,d=0;c=Im(b,122531)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=Im(b,122540)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function WF(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)pF(j,k,167328);c[g+80>>2]=i;k=bG(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;RF(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}_l(0,122331,t)|0;k=1;i=0;f=0;break}_l(0,122365,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)xF(j,167328);l=w;return k|0}function XF(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function YF(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=GL(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)ma(122298,122134,1761,122308);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)ma(122321,122134,1764,122308);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];_F(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function ZF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(xJ(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=qw(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=bb[c[i>>2]&31](i,I,1)|0;pA(J,d,H);Q=+h[J>>3];o=+h[v>>3];_I(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function _F(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=GL(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];YF(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];$F(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;aG(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function $F(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function aG(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function bG(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=wx()|0;v=fG()|0;i=0;h=0;k=Ol(t)|0;while(1){if(!k)break;j=Ol(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)jG(v,h);k=c[k>>2]|0}h=vw((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Ol(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Ol(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=cG(d,n,f,g)|0|k;l=dG(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(kG(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Kl(t)|0;Kl(v)|0;zx(u);return k|0}function cG(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=WF(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=eG(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{ZF(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}_l(0,122416,s)|0;n=1;m=0.0;k=0.0;break}_l(0,122449,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function dG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(Ex(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;Cx(a,f,g);g=g+1|0}f=f+1|0}return c|0}function eG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;Pr(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];_l(1,122499,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function fG(){return Ql(54908,c[4345]|0)|0}function gG(a,b,d){a=a|0;b=b|0;d=d|0;d=vw(12)|0;c[d>>2]=c[b>>2];return d|0}function hG(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function iG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function jG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;bb[c[a>>2]&31](a,e,1)|0;l=d;return}function kG(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(bb[c[a>>2]&31](a,e,512)|0)!=0&1;l=d;return b|0}function lG(a){a=a|0;var b=0;if(!(c[42418]|0)){b=vw((a<<2)+4|0)|0;c[42418]=b;c[b>>2]=169676;c[42429]=a}c[42430]=0;return}function mG(){_I(c[42418]|0);c[42418]=0;c[42430]=0;return}function nG(){c[42430]=0;return}function oG(){var a=0,b=0,d=0;b=c[42430]|0;d=c[42418]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)ma(123205,122552,59,122558);else if((a|0)==5)return}function pG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[42418]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function qG(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[42430]|0;if((b|0)==(c[42429]|0)){_l(1,122566,d)|0;a=1}else{b=b+1|0;c[42430]=b;c[(c[42418]|0)+(b<<2)>>2]=a;pG(b);oG();a=0}l=d;return a|0}function rG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[42418]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[42430]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function sG(){var a=0,b=0,d=0,e=0;b=c[42430]|0;if(!b)a=0;else{e=c[42418]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[42430]=b;if(b|0)rG(1);oG()}return a|0}function tG(a,b){a=a|0;b=b|0;c[a>>2]=b;pG(c[a+4>>2]|0);oG();return}function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}vG(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){vG(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=vw(28)|0;b=mn(a)|0;s=w+4|0;c[s>>2]=b;b=vw(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=co(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=eo(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=GG(D,f,t,u)|0;if(c[42366]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];xG(r,C,u,f,D)}e=w+8|0;c[e>>2]=vw((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}_I(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=yG(w,u)|0;l=x;return w|0}function xG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[13918]|0;WL(122581,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);zL(i,123011,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;zL(i,123059,r)|0;WL(123076,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;zL(i,123095,j)|0;d=d+1|0}WL(123113,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;zL(i,123132,o)|0;d=d+1|0}WL(123150,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;zL(i,123132,p)|0;WL(122897,i)|0;l=q;return}function yG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=WC(w<<2|2)|0;z=Ql(54944,c[4345]|0)|0;v=Ql(54980,c[4345]|0)|0;w=vw(w<<7)|0;f=vw(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=zG(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=zG(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=zG(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=zG(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=vw(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}f=g+(n*72|0)+64|0;d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]<e))break;b=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=bb[c[v>>2]&31](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]<e))break;D=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[v>>2]&31](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=bb[c[z>>2]&31](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=bb[c[z>>2]&31](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;AG((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;VC(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;BG((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}Kl(z)|0;Kl(v)|0;_I(w);CG(y);TC(y);l=A;return y|0}function zG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=bb[c[d>>2]&31](d,e,512)|0;do if(!h){b=XC(b)|0;if(!f)ma(122994,122942,291,123001);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;bb[c[d>>2]&31](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function AG(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=YC(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=YC(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=YC(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=YC(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=YC(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=YC(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function CG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[13918]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,zL(g,122907,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,zL(g,122959,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)ma(122929,122942,311,122949);else if((b|0)==8)ma(122981,122942,313,122949);else if((b|0)==10){l=j;return}}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function FG(a){a=a|0;var b=0,d=0;d=a+8|0;_I(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;_I(c[(c[b>>2]|0)+36>>2]|0);_I(c[d>>2]|0);_I(c[b>>2]|0);_C(c[a+16>>2]|0);Kl(c[a+20>>2]|0)|0;Kl(c[a+24>>2]|0)|0;_I(a);return}function GG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=ww(i*56|0)|0;i=vw(i<<2)|0;g=f*5|1;j=ww(g*72|0)|0;m=g<<5;k=vw(m)|0;m=vw(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];HG(a,b,h,o,0);yM(173);IG(f,i);SG(f,o,i,g,j)|0;n=JG(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];HG(a,b,h,o,1);IG(f,i);SG(f,o,i,g,j)|0;f=JG(f,o,j,1,m)|0;g=vw(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((KG(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=yw(g,a<<5)|0;_I(o);_I(i);_I(j);_I(k);_I(m);c[d>>2]=a;l=p;return q|0}function HG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];QG(h,f,1,i);d=RG(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];QG(h,f,0,i);d=RG(e,d,i)|0;g=g+1|0}l=j;return}function IG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+AM()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function JG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=vw(j<<2)|0;c[42431]=vw(j<<4)|0;c[42432]=vw((a*56|0)+56|0)|0;j=vw(a<<2)|0;c[42433]=j;k=0;while(1){if((k|0)>(g|0))break;if(LG(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[42431]|0;i=c[42432]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[42434]=a;c[42435]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=MG(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=MG(l,f,0,b,d,0,k,g,e,1)|0;_I(l);_I(c[42431]|0);_I(c[42432]|0);_I(c[42433]|0);return g|0}function KG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function LG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function MG(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=NG(g,l,m)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=NG(g,m,l)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=NG(g,l,m)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=NG(g,m,l)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=NG(g,n,m)|0;d=MG(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=NG(g,m,n)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=NG(g,n,J)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=NG(g,J,n)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=NG(g,j,m)|0;d=MG(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=MG(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=NG(g,m,j)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=MG(a,b,d,e,f,g,z,C,k,2)|0;d=MG(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=MG(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function NG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[42435]|0)+1|0;c[42435]=e;m=c[42432]|0;OG(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[42434]|0;g=n+1|0;n=n+2|0;c[42434]=n;q=c[42431]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[42433]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function OG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[42432]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+PG(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+PG(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function PG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function QG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function RG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];UN(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function SG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[42436]=e<<1;c[42437]=e;k=vw(e*80|0)|0;c[42438]=1;c[42439]=1;VN(f|0,0,e*72|0)|0;g=TG(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=UG(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=VG(a,i+-1|0)|0;h=VG(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}WG(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;XG(e,b,f,k);e=e+1|0}i=i+1|0}e=VG(a,j)|0;while(1){if((e|0)>=(a|0))break;WG(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}_I(k);return c[42438]|0}function TG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=aH()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;eH(s,k,l);n=aH()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=aH()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;fH(r,k,l);c[e+(j*40|0)+28>>2]=f;l=aH()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=aH()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=aH()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=aH()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=$G(d)|0;i=$G(d)|0;m=$G(d)|0;o=$G(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];UN(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];UN(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function UG(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+CJ(b);a=a+1|0}return a+-1|0}function VG(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+CJ(c);a=a+1|0}return ~~+N(+(d/c))|0}function WG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[U>>3]>+h[S>>3]:0){G=4;break}G=(_G(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=YG(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(_G(a,b,2)|0)){n=1;G=7}else{f=YG(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=YG(S,U,f,b,e)|0;f=$G(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=aH()|0;G=aH()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(_G(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(_G(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=YG(U,S,c[S+40>>2]|0,b,e)|0;n=$G(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=aH()|0;F=aH()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=YG(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(bH(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=aH()|0;p=aH()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=$G(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(ZG(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(cH(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(ZG(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(ZG(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}XL(123235,19,1,c[13918]|0)|0}else{g=0;f=0}while(0);dH(a,F,o,1,d,e);dH(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function XG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((YG(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((YG(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function YG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g<l)?+h[a>>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g<l)?+h[b>>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(ZG(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(ZG(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]<j){d=f+(d*40|0)+32|0;break b}else{d=f+(d*40|0)+36|0;break b}}default:{r=31;break a}}while(0);d=c[d>>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){XL(123169,35,1,c[13918]|0)|0;ma(123205,123207,349,123219)}return 0}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g<e+-1.0e-07)?+h[f>>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function _G(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function $G(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42438]|0;if((b|0)<(c[42437]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[42438]=b+1;l=e;return b|0}else{e=c[13918]|0;c[d>>2]=b;zL(e,123294,d)|0;ma(123205,123207,88,123332)}return 0}function aH(){var a=0;a=c[42439]|0;if((a|0)<(c[42436]|0)){c[42439]=a+1;return a|0}else{XL(123255,30,1,c[13918]|0)|0;ma(123205,123207,72,123286)}return 0}function bH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function cH(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function dH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(bH(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function fH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function gH(a){a=a|0;var b=0;b=vw(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function hH(a,b){a=a|0;b=b|0;if(b){b=gH(b)|0;c[b>>2]=a;a=b}return a|0}function iH(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;_I(b)}while((a|0)!=0);return}function jH(){var a=0;a=vw(1992)|0;if(a|0)c[a>>2]=kH(a)|0;return a|0}function kH(a){a=a|0;var b=0;b=qH(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function lH(a){a=a|0;mH(a,c[a>>2]|0);_I(c[a>>2]|0);_I(a);return 0}function mH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(mH(a,f),_I(c[e>>2]|0),wH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(wH(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function nH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)ma(123690,123340,194,123348);e=c[b+4>>2]|0;if((e|0)<=-1)ma(123360,123340,195,123348);if(!d)ma(123632,123340,196,123348);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(BH(d,b+8+(i*20|0)|0)|0)!=0:0){g=nH(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(BH(d,f)|0)!=0:0)e=hH(e,f)|0;g=g+1|0}}while(0);return e|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))ma(123546,123340,247,123374);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)ma(123421,123340,250,123374);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(pH(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=qH(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;tH(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];vH(a,m,g,0)|0;tH(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];vH(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}ma(123386,123340,248,123374);return 0}function pH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))ma(123464,123340,311,123478);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=uH(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(pH(a,b,d,c[h>>2]|0,n,g)|0)){AH(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{tH(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;tH(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=vH(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=vH(a,m,e,f)|0;break}else ma(123523,123340,341,123478);while(0);l=q;return j|0}ma(123491,123340,312,123478);return 0}function qH(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=ZI(1288)|0;rH(a);return a|0}function rH(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;sH(a+8+(b*20|0)|0);b=b+1|0}return}function sH(a){a=a|0;xH(a);c[a+16>>2]=0;return}function tH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)ma(123690,123529,99,123536);xH(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){AH(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function uH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))ma(123546,123529,125,123553);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=zH(n)|0;AH(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(zH(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function vH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)ma(123712,123529,167,123564);if(!d)ma(123690,123529,168,123564);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)ma(123574,123529,178,123564)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)ma(123587,123529,187,123564);else{CH(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function wH(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))ma(123591,123529,201,123619);if(!(c[a+8+(b*20|0)+16>>2]|0))ma(124113,123529,202,123619);else{sH(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function xH(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function yH(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function zH(a){a=a|0;var b=0,d=0,e=0;if(!a)ma(123632,123634,128,123646);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function AH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))ma(123655,123634,195,123663);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function BH(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else ma(123675,123634,216,123682);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function CH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)ma(123690,123692,40,123702);if(!d)ma(123712,123692,41,123702);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;DH(a,b,d);d=a+1324|0;EH(a);f=zH(a+1852|0)|0;f=(zH(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=qH(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;FH(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else ma(123714,123692,86,123702)}function DH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)ma(123690,123692,106,124101);if(!d)ma(123712,123692,107,124101);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)ma(124113,123692,111,124101);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;AH(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=zH(d)|0;rH(b);l=h;return}function EH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;GH(a);HH(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;AH(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=zH(i)|0;d=c[o>>2]|0;AH(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=zH(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}IH(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))IH(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)ma(123857,123692,210,123943);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))ma(123954,123692,212,123943);else{l=u;return}}function FH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)ma(123690,123692,297,123754);if(!d)ma(123764,123692,298,123754);if(!e)ma(123766,123692,299,123754);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{vH(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{vH(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)ma(123768,123692,303,123754);else if((e|0)==14)return}function GH(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;yH(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function HH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=zH(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}AH(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=zH(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}IH(a,d,0);IH(a,b,1);l=o;return}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)ma(124057,123692,257,124092);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{AH(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=zH(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function JH(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42440]=0;c[42441]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=ZI(k*6|3)|0;if(h){TN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;TN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{_I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[58358+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[42441]|0;if((h|0)==-2){h=gI()|0;c[42441]=h}if((h|0)>=1)if(h>>>0<296)i=d[124132+h>>0]|0;else i=2;else{c[42441]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[124428+h>>0]|0):0){p=a[124700+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42441]=-2;g=g+4|0;c[g>>2]=0;j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[124972+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42441]|0;b:do switch(q|0){case 0:{c[42440]=(c[42440]|0)+1;cI(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[42441]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[58358+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=0;e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[125088+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[42442]=KH(c[g+-4>>2]|0,2)|0;break}case 3:{c[42442]=KH(c[g+-4>>2]|0,1)|0;break}case 5:{e=MH()|0;break}case 8:{NH(c[42443]|0);break}case 9:{OH(c[g>>2]|0);break}case 18:{PH(c[g>>2]|0);break}case 19:{QH();break}case 20:{PH(c[g>>2]|0);break}case 21:{QH();break}case 22:{PH(c[g>>2]|0);break}case 23:{QH();break}case 24:{PH(c[g>>2]|0);break}case 25:{QH();break}case 26:{PH(c[g>>2]|0);break}case 27:{QH();break}case 28:{PH(c[g>>2]|0);break}case 29:{QH();break}case 30:{PH(c[g>>2]|0);break}case 31:{QH();break}case 32:{PH(c[g>>2]|0);break}case 33:{QH();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[42443]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;i=c[42443]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(RH(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[42444];e=Ql(55016,c[4344]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[42444]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[42445]>>2];e=c[g>>2]|0;break}case 39:{e=c[42443]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){dm(e,1)|0;i=c[42443]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(RH(p)|0){s=56;break a}e=c[42444]|0;c[42444]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{SH();break}case 52:{e=TH()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{UH(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{UH(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{UH(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{UH(c[g>>2]|0,MH()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[125260+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[58590+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[124428+h>>0]|0)==(p|0):0){e=a[124700+h>>0]|0;j=q;h=i;break}e=a[125330+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){LH();e=1;s=96}else if((s|0)==51){cI(125158);LH();e=1;s=96}else if((s|0)==56){cI(125209);LH();e=1;s=96}else if((s|0)==95){cI(125382);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))_I(f);l=t;return e|0}function KH(b,d){b=b|0;d=d|0;var e=0;e=vw(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function LH(){var a=0,b=0;a=c[42444]|0;b=c[42442]|0;if(b|0){EF(b,1);c[42442]=0}c[13767]=62;while(1){if(!a)break;b=c[a+80>>2]|0;YH(a);a=b}c[13767]=51;c[13776]=63;b=c[42447]|0;bb[c[b>>2]&31](b,0,64)|0;c[13776]=51;c[13785]=64;b=c[42448]|0;bb[c[b>>2]&31](b,0,64)|0;c[13785]=51;$H();return}function MH(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[42448]|0;f=vw(40)|0;if(Sl(c[42447]|0)|0)OH(0);a=Sl(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=vw(a*24|0)|0;a=0;d=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=bb[c[e>>2]&31](e,d,8)|0}}while(0);bb[c[a>>2]&31](e,0,64)|0;return f|0}function NH(b){b=b|0;var d=0,e=0,f=0;e=vw(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){dm(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=GL(b)|0;c[e+12>>2]=c[c[42445]>>2];f=c[42447]|0;bb[c[f>>2]&31](f,e,1)|0;return}function OH(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=vw(32)|0;j=c[42447]|0;e=Sl(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=vw(56)|0;b[i+12>>1]=1;h=GL(174181)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[42445]>>2]}else{b[i+12>>1]=e;c[k>>2]=vw(e*56|0)|0;d=0;e=Ol(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);bb[c[j>>2]&31](j,0,64)|0;k=c[42448]|0;bb[c[k>>2]&31](k,i,1)|0;return}function PH(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=vw(8)|0;f=c[c[42445]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[42446]|0)+144>>2]|0;c[i>>2]=bb[c[f>>2]&31](f,g,1)|0;c[i+4>>2]=c[42445];c[42445]=i;l=j;return}function QH(){var a=0,b=0;b=c[42445]|0;a=c[b+4>>2]|0;_I(b);c[42445]=a;return}function RH(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function SH(){var b=0,d=0,e=0;e=Ql(55052,c[4344]|0)|0;b=c[42444]|0;d=vw(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function TH(){var a=0;a=c[(c[42444]|0)+84>>2]|0;return bb[c[a>>2]&31](a,0,256)|0}function UH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=vw(16)|0;f=c[42444]|0;h=c[f+84>>2]|0;h=c[(bb[c[h>>2]&31](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;bb[c[h>>2]&31](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function VH(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function WH(a,b,d){a=a|0;b=b|0;d=d|0;Kl(c[b+8>>2]|0)|0;_I(b);return}function XH(a,b,d){a=a|0;b=b|0;d=d|0;aI(c[b+8>>2]|0);_I(b);return}function YH(a){a=a|0;Kl(c[a+84>>2]|0)|0;BF(a);_I(a);return}function ZH(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+8>>2]|0);_I(b);return}function _H(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;_I(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}_I(c[h>>2]|0)}_I(d);return}function $H(){var a=0,b=0;a=c[42445]|0;while(1){b=c[a+4>>2]|0;if(!b)break;_I(a);a=b}return}function aI(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{YH(c[d>>2]|0);break}case 2:{CF(c[d>>2]|0);break}default:{}}BF(b);_I(b);return}function bI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[42445]=g;c[42444]=0;c[42442]=0;c[42446]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[42447]=Ql(55088,c[4344]|0)|0;c[42448]=Ql(55124,c[4344]|0)|0;cm(e,128,f+24|0);c[42443]=e;if(!(eI(a,e,d)|0)){JH()|0;c[b>>2]=fI()|0;a=c[42442]|0}else{c[b>>2]=2;a=0}Kl(c[42447]|0)|0;Kl(c[42448]|0)|0;c[42447]=0;c[42448]=0;c[42445]=0;gm(e);l=f;return a|0}function cI(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(a[169796]|0)){a[169796]=1;c[d>>2]=b;c[d+4>>2]=0;_l(1,125399,d)|0;dI()}else{l=e;return}}function dI(){Ta()}function eI(a,b,d){a=a|0;b=b|0;d=d|0;a=l;l=l+16|0;if(!(c[42450]|0)){_l(0,125415,a)|0;c[42450]=(c[42450]|0)+1}l=a;return 1}function fI(){return 1}function gI(){return -1}function hI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=ZI(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=RN(169804,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ga(26,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ga(26,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[42490]=0;o=0;fa(93,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=SN(c[d>>2]|0,s|0,j|0)|0;if(!g)Ua(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[42491]|0;d=c[42490]|0;c[42490]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=da(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=SN(c[g>>2]|0,s|0,j|0)|0;if(!h)Ua(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[42490];c[f>>2]=c[42491];d=0}_I(s|0);l=u;return d|0}function iI(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function jI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42494]|0)<(a|0)){b=c[42491]|0;if(!b){e=ZI(a<<4)|0;c[42491]=e;if(!e){e=c[13918]|0;c[d>>2]=125476;c[d+4>>2]=531;c[d+8>>2]=125611;zL(e,125484,d)|0;Ua(169804,1)}}else{d=aJ(b,a<<4)|0;c[42491]=d;if(!d){d=c[13918]|0;c[e>>2]=125476;c[e+4>>2]=537;c[e+8>>2]=125629;zL(d,125484,e)|0;Ua(169804,1)}}c[42494]=a}l=f;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[42493]|0;do if((c[42492]|0)<(e|0)){if(!i){i=ZI(e*40|0)|0;c[42493]=i;if(!i){i=-1;break}}else{i=aJ(i,e*40|0)|0;c[42493]=i;if(!i){i=-1;break}}c[42492]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+lI(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+mI(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];nI(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+oI(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];nI(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];pI(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(qI(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];nI(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];rI(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];nI(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];sI(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[42493]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+tI(T);V=+mI(T);W=+oI(T);T=+uI(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+lI(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];sI(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];iI(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];sI(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];iI(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];rI(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];iI(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];kI(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];kI(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function lI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function mI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function nI(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function oI(a){a=+a;return +(a*a*3.0*(1.0-a))}function pI(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+AI(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+AI(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+AI(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+BI(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];nI(s,B,I);I=+CI(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];nI(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];rI(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];sI(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+AI(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+AI(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+lI(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];nI(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];nI(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function qI(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+vI(B,4),D<+vI(i,j)+-.001):0){d=0;break}if(wI(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){jI((c[42490]|0)+4|0);e=c[42491]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42490]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42490]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){jI((c[42490]|0)+4|0);e=c[42491]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[42490]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[42490]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function rI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function tI(a){a=+a;a=1.0-a;return +(a*a*a)}function uI(a){a=+a;return +(a*a*a)}function vI(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=xI(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function xI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;yI(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=UI(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(yI(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)zI(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{yI(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=UI(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(yI(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)zI(j,d,u);b=b+1|0}b=c[u>>2]|0;break}yI(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=UI(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;zI(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;zI(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])zI(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function yI(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function zI(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function AI(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function BI(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function CI(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}\nfunction sx(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;Fv(1);jx(d);cm(H,1024,Y+240|0);tB(d,1,87657,174181)|0;tB(d,1,87661,174181)|0;c[42190]=tB(d,1,96043,174181)|0;c[42189]=tB(d,1,96049,174181)|0;tB(d,2,87657,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){tB(d,1,87667,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){tB(d,2,87671,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){tB(d,2,87667,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){tB(d,2,87674,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){tB(d,2,87682,174181)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=tB(d,0,87671,174181)|0;w=tB(d,0,87690,174181)|0;v=tB(d,0,87697,174181)|0}z=tB(d,0,87705,174181)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=co(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[42183]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;pL(G,87708,J)|0;fm(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;pL(G,87723,Q)|0;fm(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;Km(y,87657,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[20895]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;pL(G,87729,X)|0;Km(y,87657,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;pL(G,87652,K)|0;Cm(s,c[42189]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;pL(G,87652,L)|0;Cm(s,c[42190]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;pL(G,87729,M)|0;Km(s,87667,G)|0;j=c[t>>2]|0}if(xJ(c[c[j+8>>2]>>2]|0,91264)|0){if(c[42214]|0?(Oy(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=Im(s,87739)|0;if(!j)j=8;else j=rM(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[42183]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[20896]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;pL(G,87752,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[42183]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[20896]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;pL(G,87752,O)|0}fm(H,G)|0;n=n+1|0}k=c[42214]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Cm(s,k,t)|0}}else{tx(y,c[j+12>>2]|0,H);hm(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;Km(s,87661,t)|0}a:do if((c[42181]|0)>0){t=Pm(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[42183]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[20895]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;pL(G,87762,P)|0;fm(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[42183]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[20895]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;pL(G,87775,R)|0;fm(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;pL(G,87729,S)|0;fm(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){dm(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;Km(t,87657,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;pL(G,87729,T)|0;Km(t,87671,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;pL(G,87729,U)|0;Km(t,87667,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;pL(G,87729,V)|0;Km(t,87674,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[42183]|0)==0?q:+h[20895]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;pL(G,87729,W)|0;Km(t,87682,G)|0}while(0);t=Rm(d,t)|0}}else j=u;while(0);u=j;y=eo(d,y)|0}ux(d,z,x,w,v);gm(H);if(b[(c[I>>2]|0)+136>>1]&1)nB(d);c[f>>2]=i;c[g>>2]=u;Fv(0);l=Y;return}function tx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[42183]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[20895]-+h[b+24>>3]-g;g=+h[20895]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;pL(j,87813,k)|0;fm(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;tx(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[42183]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[20895];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;pL(n,87788,j)|0;Cm(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[42183]|0)==0?t:+h[20895]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;pL(n,87729,p)|0;Cm(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;pL(n,87808,q)|0;Cm(b,f,n)|0;h[o>>3]=t*.013888888888888888;pL(n,87808,o)|0;Cm(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;ux(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function vx(a){a=a|0;var b=0;b=l;l=l+16|0;sx(a,b,b+4|0);l=b;return}function wx(){return Ql(19796,c[4345]|0)|0}function xx(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function yx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function zx(a){a=a|0;Kl(a)|0;return}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=Bx(e)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))_I(b);l=d;return}function Bx(a){a=a|0;var b=0,d=0,e=0;b=vw(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=Bx(f)|0;if((bb[c[a>>2]&31](a,b,1)|0)!=(b|0))_I(b);l=e;return}function Dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(bb[c[a>>2]&31](a,e,4)|0)!=0&1;l=d;return b|0}function Ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(bb[c[a>>2]&31](a,f,4)|0)!=0&1;l=e;return d|0}function Fx(a){a=a|0;return Sl(a)|0}function Gx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=vw((Sl(a)|0)<<3)|0;b=d;a=Ol(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function Hx(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){Ix(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];Jx(d,q);p=d+16|0;Ix(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];Jx(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{Ix(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];Jx(d,q);n=d+16|0;Ix(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];Jx(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];Jx(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Hx(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function Ix(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[42309]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];aw(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[20897];e=b+8|0;h[e>>3]=+h[e>>3]-+h[20898];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function Kx(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[42309]=m&3;m=m&1;a[174079]=m;if(!(m<<24>>24))Mx(b);else Lx(b);Nx(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[174079]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[42309]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[42309]|0){case 0:{q=m+16|0;c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}case 1:{Ix(o,-+h[m+40>>3],+h[m+16>>3]);c[41794]=c[o>>2];c[41795]=c[o+4>>2];c[41796]=c[o+8>>2];c[41797]=c[o+12>>2];break}case 2:{Ix(p,+h[m+16>>3],-+h[m+40>>3]);c[41794]=c[p>>2];c[41795]=c[p+4>>2];c[41796]=c[p+8>>2];c[41797]=c[p+12>>2];break}case 3:{Ix(q,+h[m+24>>3],+h[m+16>>3]);c[41794]=c[q>>2];c[41795]=c[q+4>>2];c[41796]=c[q+8>>2];c[41797]=c[q+12>>2];break}default:{}}Ox(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];Px(b,s)}if(!0){l=w;return}if(!(a[174079]|0)){n=+h[20898];k=+h[20897];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;pL(s,88049,v)|0}else{k=+h[20897];n=+h[20898];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;pL(s,87834,u)|0}GL(s)|0;Ta()}function Lx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((so(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Lx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Mx(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((so(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Mx(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Nx(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[42182]|0)!=0:0)){u=g<<16>>16==0;n=co(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Pm(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Rm(e,m)|0}n=eo(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=Rx(e)|0;t=j+i|0;if(t|0){q=h+j+o+(mn(e)|0)|0;r=vw(q*40|0)|0;s=vw(t*40|0)|0;Ix(M,2147483647.0,2147483647.0);g=M+16|0;Ix(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=co(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Sx(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];Ux(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Pm(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$z(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];_l(0,88861,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Vx(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];_l(0,88896,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){Wx(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];_l(0,88936,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$z(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];Ux(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];_l(0,88976,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];Tx(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Rm(e,m)|0}n=eo(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));Xx(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=HA(e,ym(e,0,89012,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];zE(r,q,s,t,O)|0;if(0)Yx(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;Zx(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];bB(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;_l(0,89057,R)|0}}else{R=c[13918]|0;c[Q>>2]=f;c[Q+4>>2]=t;zL(R,89024,Q)|0}_I(r);_I(s)}}l=S;return}function Ox(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[20897]!=0.0|+h[20898]!=0.0|(c[42309]|0)!=0){d=co(a)|0;while(1){if(!d)break;if(c[42309]|0)KB(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Jx(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];Jx(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[42181]|0)==1){b=Pm(a,d)|0;while(1){if(!b)break a;Qx(b);b=Rm(a,b)|0}}while(0);d=eo(a,d)|0}Hx(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function Px(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function Qx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[174076]|0)==0?(a[d+112>>0]|0)!=6:0){q=Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;_l(1,88844,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];Jx(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];Jx(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function Rx(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((so(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(Rx(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function Sx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174079]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];_x(b,e,i);l=g;return}function Tx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[174079]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];_x(b,e,i);l=g;return}function Ux(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[174079]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function Vx(a,b){a=a|0;b=b|0;b=_z(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Wx(a,b){a=a|0;b=b|0;var d=0;b=_z(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Xx(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((so(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];Tx(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function Yx(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[13918]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;zL(q,89099,o)|0;a:do if(0>=2){XL(89159,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=174181;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;zL(q,89168,p)|0;o=o+1|0;a=a+40|0}XL(89211,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;zL(q,89220,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function Zx(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function _x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function $x(a){a=a|0;Kx(a,1);return}function ay(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=RA(Im(a,90560)|0)|0;if(b){b=by(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=vw(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=Dn(a)|0;_l(0,89268,d)|0}l=e;return}function by(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[42310]|0;if(!d){d=Ql(19832,c[4345]|0)|0;c[42310]=d}d=bb[c[d>>2]&31](d,b,512)|0;do if(!d){g=aM(b,123632)|0;if(!g){c[e>>2]=b;_l(0,89317,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(gL(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(cM(f,89345,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(hL(f,89374)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;_l(0,89379,i)|0;d=0}else f=12;if((f|0)==12){q=ww(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[42311]|0;c[42311]=o+1;c[q+12>>2]=o;_L(zN(g)|0,j)|0;o=c[j+36>>2]|0;n=ww(o+1|0)|0;c[q+52>>2]=n;oM(g,0,0)|0;wN(n,o,1,g)|0;a[n+o>>0]=0;o=c[42310]|0;bb[c[o>>2]&31](o,q,1)|0;a[q+16>>0]=d;d=q}LL(g)|0}while(0);l=p;return d|0}function cy(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b+52>>2]|0);return}function dy(a){a=a|0;_I(c[(c[a+16>>2]|0)+12>>2]|0);return}function ey(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;mr(b,f)|0;mr(b,134901)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=RA(f)|0;if(!e){c[k>>2]=f;_l(0,89418,k)|0;break}g=aM(e,123632)|0;if(!g){c[m>>2]=e;_l(0,89446,m)|0;break}while(1){f=QA(g)|0;if(!f)break;mr(b,f)|0}mr(b,134901)|0;LL(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function fy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((pK(e,89474,3)|0)!=0?(pK(e,89478,5)|0)!=0:0)?(pK(e,89484,3)|0)!=0:0)?(pK(e,89488,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}nr(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;nr(b,10)|0}return}function gy(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[42310]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];sr(b,89496,e);mr(b,89514)|0;fy(b,d);mr(b,89532)|0;mr(b,89547)|0}g=c[42310]|0;d=bb[c[g>>2]&31](g,d,8)|0}}while(0);l=f;return}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=zB(b)|0;break}default:{switch(iy(b)|0){case 2:break;case 1:{f=zB(b)|0;break a}default:{f=b;break a}}if(!(c[42312]|0)){_l(0,89559,e)|0;c[42312]=1;f=b}else f=b}}while(0);if(!(c[42313]|0))cm(169252,0,0);d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=92;break}default:{}}d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}h=a[e>>0]|0;c[42314]=d+1;a[d>>0]=h;e=e+1|0}d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}c[42314]=d+1;a[d>>0]=41;if((f|0)!=(b|0))_I(f);d=c[42314]|0;if(d>>>0>=(c[42315]|0)>>>0){dm(169252,1)|0;d=c[42314]|0}a[d>>0]=0;h=c[42313]|0;c[42314]=h;l=g;return h|0}function iy(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function jy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((DI(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[42318]|0;if((a|0)>(c[42317]|0)){if(!f)a=ww(a<<5)|0;else a=yw(f,a<<5)|0;c[42318]=a;g=c[b>>2]|0;c[42317]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((hI(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];YI(i,m)}a=m+4|0;if(!(ky(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[42319]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function ky(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[42320]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=yw(c[42319]|0,a<<4)|0;c[42319]=b;if(!b){_l(1,89649,d)|0;a=1;break}else{c[42320]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function ly(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[42321]|0;c[42321]=d+1;do if((d|0)<=0){d=ww(4800)|0;c[42319]=d;if(!d){_l(1,89672,a)|0;a=1;break}c[42320]=300;c[42322]=0;c[42323]=0;if(0){xA();a=0}else a=0}else a=0;while(0);l=b;return a|0}function my(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[42321]|0;c[42321]=d+-1;if((d|0)<=1?(_I(c[42319]|0),0):0){d=c[13918]|0;g=c[42322]|0;f=c[42323]|0;e=+yA();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;zL(d,89710,a)|0}l=b;return}function ny(a,b){a=a|0;b=b|0;return oy(a,b,0)|0}function oy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[42322]=(c[42322]|0)+1;H=c[b+80>>2]|0;c[42323]=(c[42323]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){_l(1,89753,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(py(H,B,b)|0)){g=H<<3;if((g|0)>(c[42324]|0)){f=c[42325]|0;if(!f)f=ww(H<<7)|0;else f=yw(f,H<<7)|0;c[42325]=f;c[42324]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=Dn(f)|0;_l(1,89860,i)|0;f=0;break}o=H+-1|0;q=c[42325]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;_l(1,89795,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;_l(1,89795,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((DI(t,u,I)|0)<0){_l(1,89899,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[42318]|0;if((g|0)>(c[42317]|0)){if(!f)f=ww(g<<5)|0;else f=yw(f,g<<5)|0;c[42318]=f;g=c[i>>2]|0;c[42317]=g}j=c[42325]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((hI(f,g,G,w,y)|0)<0){_l(1,89938,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];YI(G,y)}n=y+4|0;if(!(ky(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[42319]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;qy(B,H,c[42319]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=Dn(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=Dn(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;_l(0,89976,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];YI(G,J);qy(B,H,c[J>>2]|0,c[J+4>>2]|0,10);_I(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[42319]|0}else f=0}else f=0}while(0);l=L;return f|0}function py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[13918]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]<f;e=v&1;C=b+(w<<5)|0;u=+h[C>>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]<m;j=t&1;y=b+(w<<5)+8|0;k=+h[y>>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;zL(M,90176,I)|0;ry(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=sy(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=sy(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q<s;h[(B?(w?G:C):w?E:F)>>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m<f;h[(B?(w?G:C):w?E:F)+8>>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;_l(1,90130,H)|0;ry(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f<g)?!(f>+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){XL(90219,42,1,M)|0;ry(d);g=+h[b>>3];f=+h[d>>3]}if(f<g)h[d>>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g<f){h[e>>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f<g)?!(f>+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){XL(90262,39,1,M)|0;ry(d);g=+h[e>>3];f=+h[i>>3]}if(f<g){h[i>>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f<g)h[e>>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){_l(1,90085,k)|0;ry(d);e=1}l=R;return e|0}function qy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function ry(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[13918]|0;f=b+80|0;c[g>>2]=c[f>>2];zL(e,90302,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;zL(e,90313,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?90344:90356;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;zL(e,90372,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?90344:90356;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;zL(e,90423,j)|0;l=m;return}function sy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function ty(a,b){a=a|0;b=b|0;return oy(a,b,1)|0}function uy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];vy(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];vy(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[174076]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];YI(A,B);Jz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else Jz(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cA(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){wy(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];xy(G,A)}Jz(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cA(b,j,z,A)}while(0);l=K;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function wy(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[20899]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[20900]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[41798];c[a+4>>2]=c[41799];c[a+8>>2]=c[41800];c[a+12>>2]=c[41801];return}function xy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function yy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)zy(a,b,d,f);else{D=vw((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o<m?o:m}k=(g|16777216|0)==83886080;n=(A|0)==4;j=(g|0)==16777216;e=0;i=0;while(1){if((i|0)>=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];Ay(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=vw(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];HD(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];KD(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];KD(a,B,4);_I(G);break}else ma(90472,90483,737,90492)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=vw(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];HD(a,G,d,f);_I(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=vw(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=vw(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;HD(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=vw(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;HD(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=ww((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];JD(a,G,j,0,0,f&255);_I(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}HD(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];KD(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=vw(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];HD(a,i,g,f);_I(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];KD(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];KD(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=vw(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}HD(a,i,g,f);_I(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];KD(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=vw(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];HD(a,G,6,f);_I(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];KD(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];KD(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];KD(a,B,2);break}else ma(90472,90483,714,90492)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=vw(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}HD(a,i,g,f);_I(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=vw(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;HD(a,u,d,f);_I(u);G=vw(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=vw(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;HD(a,w,d,f);_I(w);G=vw(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=vw(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;HD(a,y,d,f);_I(y);y=vw(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;HD(a,y,d,f);_I(y);y=vw(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;HD(a,y,d,f);_I(y);G=vw(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;HD(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;KD(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=vw(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;HD(a,u,d,f);_I(u);G=vw(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;HD(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 268435456:break;default:break a}G=vw(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];HD(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;KD(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;KD(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;KD(a,B,2);_I(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=vw(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;HD(a,y,d,f);_I(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];KD(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;KD(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;KD(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=vw(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;HD(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;KD(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=vw(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;HD(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;KD(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=vw(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;HD(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;KD(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=vw(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;HD(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;KD(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;KD(a,B,2);_I(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=vw(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;HD(a,G,d,f);_I(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=vw(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;HD(a,G,d,f);_I(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=vw(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];HD(a,G,d,f);_I(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=vw(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];HD(a,G,d,f);_I(G);break}}while(0);_I(D)}l=E;return}function zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];JD(a,b,d,0,0,e&255);JD(a,g,7,0,0,0);l=f;return}function Ay(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function By(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=75)if((a|0)==78)a=2;else return ((a|0)==77?3:(a|0)==80?4:0)|0;else a=1}else a=0;return a|0}function Cy(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=vw(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1552;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(IA(Im(b,90545)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+My(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f<k?f:k)*72.0;k=+(~~(k+(k>=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=DA(b,c[42204]|0,d,0)|0;V=+EA(b,c[42206]|0,0.0,-360.0)+m;if(!e){U=+EA(b,c[42207]|0,0.0,-100.0);I=DA(b,c[42203]|0,4,0)|0;T=+EA(b,c[42208]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=Im(b,90530)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=cM(d,90537,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(ro(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+Ny(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+Ny(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=Im(b,93847)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){Pr(A,ro(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=Dn(b)|0;c[G>>2]=e;c[G+4>>2]=d;_l(0,90621,G)|0;e=0;d=0;break}else{a[(c[(ro(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(xJ(d,90553)|0)==0:0){e=Im(b,90560)|0;Pr(D,ro(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=Dn(b)|0;c[H>>2]=e|0?e:90570;c[H+4>>2]=d;_l(0,90576,H)|0;e=0;d=0;break}else{a[(c[(ro(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=Im(b,90662)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];hb[p&31](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=FA(b,c[42209]|0,122100)|0;if((a[g>>0]|0)==115?(xJ(g,90671)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((IA(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=Dn(b)|0;M=Dn(ro(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;_l(0,90677,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((IA(FA(b,c[42200]|0,122100)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P<f){f=+h[_>>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P<r?r-P+x:x)+P}j=(W|0)>1;g=j?W:1;a:do if((e|0)<3){g=vw(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=vw(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+QJ(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;SJ((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;SJ(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;SJ(+K(+o,+x)+v,R,S);x=+QJ(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{hb[c[i+4>>2]&31](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);SJ(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function Dy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[42326]=f;f=rJ(f)|0;f=vw(((f|0)>1?f:1)+1|0)|0;b=Fy(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];_l(1,90506,e)|0;c[42326]=90527;b=Fy(a,d,1,f)|0}_I(f);Gy(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((IA(FA(a,c[42209]|0,122100)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(IA(FA(a,c[42200]|0,122100)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];Hy(b,j,a);Iy(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];Jy(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function Ey(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=vw(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+EA(a,c[42190]|0,1797693134862315708145274.0e284,0.0);b=+EA(a,c[42189]|0,1797693134862315708145274.0e284,0.0);f=f<b?f:b;f=b==1797693134862315708145274.0e284&f==1797693134862315708145274.0e284?.05:f>0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=DA(a,c[42204]|0,g,0)|0;i=vw((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function Fy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=vw(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[42326]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=vw(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[42326]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[42326]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[42326]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=Fy(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=GL(f)|0;c[42326]=(c[42326]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[42326]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=vw(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=GL(f)|0;c[k+52>>2]=lw(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[42326]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[42326]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[42326]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[42326]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[42326]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[42326]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){Ky(g,r);g=0}else if((E|0)==27){Ky(g,r);g=0}else if((E|0)==34){Ky(g,r);g=0}else if((E|0)==36){Ky(g,r);g=0}else if((E|0)==38){Ky(g,r);g=0}else if((E|0)==51){c[42326]=i+1;c[g+48>>2]=m}else if((E|0)==59){Ky(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function Gy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;Gy(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=Im(d,90530)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=cM(j,90537,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))Iy(p,q,+h[b+8>>3]+ +(d|0));else Iy(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];Hy(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function Iy(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Jy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];Iy(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;Iy(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];Jy(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function Ky(a,b){a=a|0;b=b|0;Ly(a);_I(b);return}function Ly(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Ly(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}_I(c[a+60>>2]|0);ow(c[a+52>>2]|0);_I(c[e>>2]|0);_I(a);return}function My(a){a=a|0;var b=0.0,d=0.0;d=+EA(a,c[42190]|0,0.0,.01);b=+EA(a,c[42189]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function Ny(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function Oy(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==75&1;return a|0}function Py(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[42327]|0;a:do if(!f)d=0;else{g=c[42328]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(xJ(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function Qy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(RA(Im(d,90560)|0)|0)if((a[b>>0]|0)==101?(xJ(b,90725)|0)==0:0){d=101;g=6}else{b=90553;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(xJ(b,90553)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=19868;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(xJ(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=Ry(b)|0;return b|0}function Ry(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=Py(b)|0;if(!d){f=c[42328]|0;d=f+1|0;c[42328]=d;e=c[42327]|0;if(!e)d=ww(d<<2)|0;else d=yw(e,d<<2)|0;c[42327]=d;d=vw(16)|0;c[(c[42327]|0)+(f<<2)>>2]=d;c[d>>2]=c[4967];c[d+4>>2]=c[4968];c[d+8>>2]=c[4969];c[d+12>>2]=c[4970];e=GL(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(xJ(b,90553)|0)==0:0){e=1;break}c[g>>2]=c[4967];c[g+4>>2]=e;_l(0,90730,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function Sy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function Ty(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function Uy(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){_I(c[a+44>>2]|0);_I(a)}return}function Vy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4144;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?91400:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=HF(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(hz(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=Dn(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;_l(0,91402,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1600)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(hz(d,0,g,e,c[n>>2]|0,h)|0)iz(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function Wy(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[42331]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];aw(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[42331]|0)){f=c[42332]|0;g=c[42334]|0;i=c[42333]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[42335]=g;i=c[g+44>>2]|0;c[42333]=i;f=c[g+8>>2]|0;c[42332]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[42334]=g;c[42331]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[41802];c[p+4>>2]=c[41803];c[p+8>>2]=c[41804];c[p+12>>2]=c[41805];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((gz(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function Xy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=KF(b,d,0,f,g)|0;else b=0;return b|0}function Yy(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){wD(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[42329]|0)<(K|0)){i=K+5|0;c[42329]=i;j=c[42330]|0;if(!j)i=ww(i<<4)|0;else i=yw(j,i<<4)|0;c[42330]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=Zy(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=GA(f,0,91300)|0;BD(e,s);DD(e,GA(f,0,91308)|0);j=0;i=1;break}if(i&8|0){s=GA(f,0,91316)|0;BD(e,s);DD(e,GA(f,0,91324)|0);j=0;i=1;break}if(i&4|0){s=GA(f,0,91332)|0;BD(e,s);DD(e,GA(f,0,91340)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=_y(f)|0;i=1}else{j=_y(f)|0;if(!((xv(j,L,n)|0)<<24>>24)){DD(e,j);i=1}else{DD(e,c[L>>2]|0);i=c[L+4>>2]|0;m=DA(f,c[42217]|0,0,0)|0;k=+g[n>>2];if(!i)ED(e,122106,m,k);else ED(e,i,m,k);i=(D&2)>>>1|2}}s=$y(e,f)|0}else{s=GA(f,0,91284)|0;BD(e,s);DD(e,GA(f,0,91292)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(xJ(m,90553)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{BD(e,122171);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[42330]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(WJ(j,58)|0)!=0:0)if((_t(e,o,j)|0)>1){c[z>>2]=Dn(f)|0;_l(3,91348,z)|0;i=0}else i=0;GD(e,c[42330]|0,K,i&255);if(!y)az(e,f)}else{if(!x){if((t|0)==0?(cu(e,o,j,1)|0)>1:0){c[A>>2]=Dn(f)|0;_l(3,91348,A)|0}HD(e,c[42330]|0,K,0);break}if(!p){BD(e,122171);HD(e,c[42330]|0,K,i&255);BD(e,s);KD(e,(c[42330]|0)+32|0,2);break}i=i&255;if(q){HD(e,o,K,i);break}else{yy(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=Im(f,93847)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(xJ(m,90553)|0)==0:0){m=Im(f,90560)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[42330]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(WJ(j,58)|0)!=0:0)if((_t(e,n,j)|0)>1){c[G>>2]=Dn(f)|0;_l(3,91348,G)|0;i=0}else i=0;GD(e,c[42330]|0,K,i&255);if(y)break;az(e,f);break}if(x)if(!(D&12)){HD(e,n,K,m);break}else{yy(e,n,K,D,m);break}else{if((cu(e,n,j,1)|0)>1){c[H>>2]=Dn(f)|0;_l(3,91348,H)|0}HD(e,c[42330]|0,K,0);break}}while(0);R=c[42330]|0;MD(e,o,R,K,i,FA(f,c[42210]|0,122100)|0)}_I(c[L>>2]|0);pw(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)wD(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);xD(e)}l=P;return}function Zy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=dz(d,f)|0;if(e|0)FD(b,e);e=c[42216]|0;if((e|0?(g=Jm(d,e)|0,g|0):0)?a[g>>0]|0:0)OD(b,+EA(d,c[42216]|0,1.0,0.0));l=h;return c[f>>2]|0}function _y(a){a=a|0;return cz(a,119592)|0}function $y(b,d){b=b|0;d=d|0;d=GA(d,c[42192]|0,174181)|0;d=a[d>>0]|0?d:122106;BD(b,d);return d|0}function az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];bz(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;KD(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;KD(a,e,2);l=d;return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function cz(b,d){b=b|0;d=d|0;var e=0;e=GA(b,c[42193]|0,174181)|0;if(!(a[e>>0]|0)){e=GA(b,c[42192]|0,174181)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=GA(b,c[42201]|0,174181)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=Du(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(xJ(f,95923)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(xJ(f,91360)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(xJ(f,91378)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(xJ(f,91368)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(xJ(f,119127)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((xJ(f,91385)|0)==0?ez(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((xJ(f,91393)|0)==0?fz(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function ez(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function fz(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function gz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function hz(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];Iy(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{jz(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{jz(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{jz(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;jz(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{jz(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{jz(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{jz(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{jz(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];$v(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=kz(g,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+lz(j,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function iz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=Dn(a)|0;c[e+4>>2]=b;_l(0,91463,e)|0;l=d;return}function jz(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(ro(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];$v(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];Fz(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];aw(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function kz(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function lz(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function mz(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];aw(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function nz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){wD(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;zL(g,91494,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];pw(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)wD(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);xD(a)}}l=n;return}function oz(a){a=a|0;Ly(c[(c[a+16>>2]|0)+12>>2]|0);return}function pz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4144;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?91400:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=vz(i,f)|0;if(!j){if(hz(e,i+16|0,h,f,15,0)|0)iz(e,f)}else if(hz(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=Dn(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;_l(0,91402,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function qz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];aw(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function rz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];bw(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function sz(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)wD(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=Zy(d,e)|0;$y(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=_y(e)|0;if(!((xv(i,s,n)|0)<<24>>24)){DD(d,i);i=1}else{DD(d,c[s>>2]|0);i=c[s+4>>2]|0;j=DA(e,c[42217]|0,0,0)|0;k=+g[n>>2];if(!i)ED(d,122106,j,k);else ED(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(xJ(j,91271)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];ID(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];yy(d,r,4,f,i)}tz(d,e,o);_I(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)wD(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);xD(d)}l=w;return}function tz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];uz(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];bz(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];pw(b,10,c[j>>2]|0);$y(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];bz(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];bz(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];KD(b,q,2)}tz(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function vz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(xJ(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=vz(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function wz(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function xz(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function yz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];aw(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[42336]|0)){d=+h[20903];e=+h[20904];i=+h[20905]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[42337]=b;c[42338]=c[b+44>>2];c[42339]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?167248:167256)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?167256:167248)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{aB(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(ro(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?167248:167256)>>3]=i;h[(o?167256:167248)>>3]=f}d=+h[20906];if(d==0.0){h[20906]=1.0;d=1.0}e=+h[20907];if(e==0.0){h[20907]=1.0;e=1.0}d=i/d;h[20903]=d;e=f/e;h[20904]=e;i=i*.5;h[20905]=i;h[20908]=f*.5;o=O((c[(c[42337]|0)+4>>2]|0)+-1|0,c[42339]|0)|0;c[42340]=(o|0)>0?o:0;c[42336]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[20908],!(e>p)):0){o=c[42339]|0;if((o|0)<3){a=+QJ(f/i,d/p)<1.0;break}b=(c[42341]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[42338]|0;m=c[42340]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(gz(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[41818];c[u+4>>2]=c[41819];c[u+8>>2]=c[41820];c[u+12>>2]=c[41821];n=(gz(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[41818],c[t+4>>2]=c[41819],c[t+8>>2]=c[41820],c[t+12>>2]=c[41821],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(gz(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[41818];c[v+4>>2]=c[41819];c[v+8>>2]=c[41820];c[v+12>>2]=c[41821];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(gz(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[42341]=g;a=0;break}else if((b|0)==31){c[42341]=j;a=1;break}}else a=0}else a=0}else{c[42336]=0;a=0}while(0);l=x;return a&1|0}function zz(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(ro(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];aw(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[42344]|0))d=+h[20911];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[20911]=d;c[42344]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+QJ(g,e)<=d&1}else{c[42344]=0;a=0}l=j;return a|0}function Az(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){wD(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[42342]|0)<(p|0)){g=p+2|0;c[42342]=g;i=c[42343]|0;if(!i)g=ww(g<<4)|0;else g=yw(i,g<<4)|0;c[42343]=g}dz(f,j)|0;if(!(c[j>>2]&32))FD(e,21040);else FD(e,21036);g=c[42216]|0;if(g|0)OD(e,+EA(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){BD(e,GA(f,0,91300)|0);g=GA(f,0,91308)|0;DD(e,g);break}if(g&8|0){BD(e,GA(f,0,91316)|0);g=GA(f,0,91324)|0;DD(e,g);break}if(!(g&4)){g=cz(f,122106)|0;DD(e,g);$y(e,f)|0;break}else{BD(e,GA(f,0,91332)|0);g=GA(f,0,91340)|0;DD(e,g);break}}else{BD(e,GA(f,0,91284)|0);g=GA(f,0,91292)|0;DD(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{BD(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[42343]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}GD(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)wD(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);xD(e)}l=t;return}function Bz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=Cz(b,e,f)|0;c[h+36>>2]=c[f+36>>2];hz(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function Cz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(ro(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Dz(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];Dz(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<<k&y){switch(k|0){case 0:{e=u;b=t;break}case 1:{e=r;b=q;break}case 2:{e=u;b=p;break}case 3:{e=o;b=q;break}default:{}}e=x+e|0;b=v+b|0;f=e-w|0;C=b-s|0;f=(O(C,C)|0)+(O(f,f)|0)|0;if((d|0)==0|(f|0)<(g|0))d=c[21048+(k<<2)>>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function Ez(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];yz(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];zz(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];Wy(0,b)|0;l=a;return}function Fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;PA(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((ab[b&63](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=ab[k&63](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;Hz(f,a,b,k)}l=m;return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}Fz(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function Iz(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=vw(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=ww(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=yw(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=vw(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function Jz(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=ro(m)|0;B=Iz(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[q&63](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;Hz(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((ab[g&63](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;Hz(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;Kz(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];eu((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function Kz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=($a[c[i>>2]&31](o)|0)&255;else j=0;At(o,m,n);k=i+4|0;if(($a[c[k>>2]&31](d)|0)<<24>>24)c[n>>2]=0;if(($a[c[k>>2]&31](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=Pt(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=Nt(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)Qt(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function Mz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){Bz(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];Nz(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+Oz(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(ro(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=db[n&3](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,569,91568);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Oz(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function Pz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){Bz(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];Nz(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+Oz(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else ma(91578,91558,606,91602)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(ro(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=db[o&3](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{ma(123205,91558,765,91602);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function Qz(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(ro(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function Rz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){Tz(d,e,f,g,h,i);break}if(!(k&1))ma(123205,91558,1231,91610);else{Vz(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){Uz(d,e,f,g,h,i);break}Tz(d,e,f,g,h,i)}while(0);if((l|0)==6)Sz(d,e,f,g,h,i);return}function Sz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(Wz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Xz(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;Xz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Xz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Xz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Xz(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Tz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(Wz(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s<p?s:p;n=s<o?s:o;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;Xz(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;Xz(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Xz(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;Xz(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];Xz(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function Uz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(Wz(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;Xz(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;Xz(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];Xz(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;Xz(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];Xz(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;Jz(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function Vz(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(Wz(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o<m?o:m;n=o<n?o:n;q=0;while(1){if((q|0)>=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;Xz(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;Xz(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];Xz(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;Xz(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];Xz(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ro(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;Jz(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function Wz(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21064+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21064+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21096+(d<<5)+(b<<2)>>2]|0;return d|0}function Xz(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Yz(b){b=b|0;var d=0,e=0;if((c[42247]|0)!=0|(c[42246]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?Zz(b,1)|0:0){e=ro(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;bB(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?Zz(b,0)|0:0){e=ro(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;bB(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function Zz(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[42247]|0;if(!((e|0)!=0?(a[(Jm(b,e)|0)>>0]|0)!=0:0)){e=c[42246]|0;if(!e){e=0;break}if(!(a[(Jm(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=_z(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}PA(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}PA(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+EA(b,c[42247]|0,-25.0,-180.0)*.017453292519943295+r;j=+EA(b,c[42246]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function _z(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=Dn(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=Dn(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;_l(1,91623,f)|0;d=0}l=h;return d|0}function $z(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;aA(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];VA(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{bA(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function bA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)ma(123523,91558,1316,91685)}function cA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yz(b);return}function dA(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=eA(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+fA(+(n+-1|0),C);A=n+1|0;L=~~+fA(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+gA(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+gA(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+Za[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+fA(q+-1.5707963267948966,6.283185307179586);b=1;p=+fA(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=vw(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];hA(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)iA(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)jA(o,m,l,j,i,k);else{hA(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;hA(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)iA(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)jA(o,k,l,j,i,i+3.141592653589793);kA(J);return o|0}function eA(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=lA()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];mA(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}PA(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+nA(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];mA(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}oA(o);l=q;return o|0}function fA(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function gA(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function hA(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=yw(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function iA(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){jA(h,a,b,c,e+i,i);break}else{hA(h,+E(+i)*c+a,+F(+i)*c+a);break}}else hA(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function jA(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;hA(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);hA(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function kA(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function lA(){var a=0;a=vw(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=vw(128e3)|0;return a|0}function mA(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=yw(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function nA(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function oA(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=yw(c[a>>2]|0,b<<6)|0;return}function pA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)ma(91702,91713,203,91724);e=c[h>>2]|0;if(!e)ma(91738,91713,206,91724);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=qA(e)|0;if(!0)e=0;else{e=(Dv(c[h>>2]|0)|0)==0;e=e?0:g}if(!((vE(b,d,e)|0)<<24>>24))rA(d,e);do if(e|0){f=c[g>>2]|0;b=c[13918]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;zL(b,91781,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;zL(b,91749,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function qA(a){a=a|0;var b=0;b=c[42345]|0;if((b|0)!=0?(iK(b,a)|0)==0:0)a=c[42354]|0;else{_I(b);c[42345]=GL(a)|0;a=vM(169380,21352,35,36,29)|0;c[42354]=a}return a|0}function rA(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(pK(e,91815,4)|0)if((pK(e,91820,5)|0)!=0?(pK(e,91826,9)|0)!=0:0){g=4184;e=91836}else{g=8280;e=91872}else{g=6232;e=91853}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function sA(a,b){a=a|0;b=b|0;return iK(c[a>>2]|0,c[b>>2]|0)|0}function tA(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=14;c[a+124>>2]=58;c[a+128>>2]=20;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Ql(b,c[4345]|0)|0;c[a+144>>2]=b;return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;d=$I(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=GL(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=GL(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;_I(c[b>>2]|0);_I(c[b+4>>2]|0);_I(b);return}function wA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=xJ(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=xJ(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function xA(){Wa(169420)|0;return}function yA(){var a=0,b=0;b=l;l=l+16|0;a=b;Wa(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[42355]|0)-(c[42356]|0)|0)*.016666666666666666)}function zA(a){a=a|0;var b=0,d=0;b=vw(16)|0;a=(a|0)>2?a:2;d=vw(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function AA(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function BA(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function CA(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function DA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=Jm(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=BL(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function EA(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=Jm(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+tM(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function FA(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=Jm(a,b)|0;return c|0}function GA(b,c,d){b=b|0;c=c|0;d=d|0;b=FA(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function HA(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=IA(Jm(a,b)|0)|0;return a|0}function IA(a){a=a|0;return JA(a,0)|0}function JA(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((iK(b,122100)|0)!=0?(iK(b,92682)|0)!=0:0)if((iK(b,92685)|0)!=0?(iK(b,92690)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(rM(b)|0)&255}else c=1;else c=0;return c|0}function KA(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function LA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=KA(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=KA(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function MA(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function NA(a,b){a=a|0;b=b|0;if((KA(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else ma(92702,92694,194,92718)}function OA(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function QA(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[42359]|0;f=d+1024|0;if((d-e|0)<1024){c[42359]=f;f=yw(c[42360]|0,f)|0;c[42360]=f;d=c[42359]|0}else f=c[42360]|0;d=gL(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(rJ(d)|0)+e|0;d=c[42360]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[42360]|0;return ((e|0)>0?d:0)|0}function RA(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[42178]|0;e=c[42362]|0;if((c[42361]|0)==(d|0))d=e;else{if(e){_I(c[e>>2]|0);_I(c[42362]|0);c[42362]=0;d=c[42178]|0}c[42361]=d;if(!d)break;if(!(a[d>>0]|0))break;d=SA(d)|0;c[42362]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=TA(d,c[42363]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function SA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=GL(a)|0;d=0;while(1){b=DL(b,93017)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=ww(a)|0;else a=yw(d,a)|0;c[a+(g<<2)>>2]=b;f=rJ(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[42363]=e;return f|0}function TA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[42364]|0;c[42364]=aJ(h,b+2+(rJ(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[42364]|0;c[e>>2]=b;c[e+4>>2]=93015;c[e+8>>2]=d;pL(h,93008,e)|0;if(!($L(c[42364]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[42364]|0;l=g;return a|0}function UA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(xJ(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;C=A?r:e;r=r+1|0;b=A?f:b;e=C;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;PA(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k<j;m=m-q;n=n-o;n=n*n+m*m;g=C?p:g;i=C?i:p;j=C?n:j;k=C?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function WA(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+EA(b,c[42190]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+EA(b,c[42189]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=Qy(GA(b,c[42191]|0,93019)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=Jm(b,c[42198]|0)|0;d=+EA(b,c[42194]|0,14.0,1.0);e=GA(b,c[42195]|0,93027)|0;f=GA(b,c[42196]|0,122106)|0;i=(cp(l)|0)!=0;k=(By(b)|0)==2;i=lw(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[42199]|0;if((i|0?(j=Jm(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(cp(j)|0)!=0;l=lw(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(ro(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(DA(b,c[42202]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;gb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function XA(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=ro(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[42226]|0;if(((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){YA(b,m);t=(cp(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=lw(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=IA(FA(b,c[42236]|0,122100)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[42227]|0;if((f|0?(j=Jm(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){YA(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(cp(j)|0)!=0;j=lw(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[42241]|0;if(((d|0)!=0?(k=Jm(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){ZA(b,m,n);j=(cp(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=lw(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[42242]|0;if((f|0?(q=Jm(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){ZA(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(cp(q)|0)!=0;q=lw(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=Im(b,96242)|0;d=d|0?d:174181;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;_A(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if(($A(b,c[42248]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=Im(b,96251)|0;d=d|0?d:174181;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;_A(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if(($A(b,c[42249]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function YA(a,b){a=a|0;b=b|0;h[b>>3]=+EA(a,c[42223]|0,14.0,1.0);c[b+8>>2]=GA(a,c[42224]|0,93027)|0;c[b+12>>2]=GA(a,c[42225]|0,122106)|0;return}function ZA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))YA(a,b);h[d>>3]=+EA(a,c[42243]|0,+h[b>>3],1.0);c[d+8>>2]=GA(a,c[42244]|0,c[e>>2]|0)|0;c[d+12>>2]=GA(a,c[42245]|0,c[b+12>>2]|0)|0;return}function _A(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=WJ(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;kb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{kb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function $A(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=Jm(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(IA(d)|0)<<24>>24==0&1;else b=0;return b|0}function aB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function bB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];cB(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function cB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function dB(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((mn(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){eB(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;eB(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{eB(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;eB(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=co(b)|0;while(1){if(!n)break;OA(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];fB(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];gB(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Pm(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]<N?K:B)>>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]<M?K:B)+8>>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Rm(b,m)|0}n=eo(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]<P?K:G)>>3];h[D>>3]=+h[(+h[D>>3]<O?K:G)+8>>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];cB(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function eB(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function hB(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(pK(Dn(a)|0,93039,7)|0)==0&1;return a|0}function iB(a){a=a|0;var b=0;b=Ql(22612,c[4345]|0)|0;lB(a,b);return b|0}function jB(a,b){a=a|0;b=b|0;a=bb[c[a>>2]&31](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function kB(a,b,c){a=a|0;b=b|0;c=c|0;c=an(ro(b)|0,b,c,0,1)|0;No(c,122254,176,1)|0;Mm(a,c)|0;return c|0}function lB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=Dn(a)|0;if(!(bb[c[b>>2]&31](b,d,512)|0)){i=vw(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;bb[c[b>>2]&31](b,i,1)|0}else{c[g>>2]=d;_l(0,93062,g)|0}lB(a,b);e=e+1|0}l=h;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;_I(b);return}function nB(a){a=a|0;var b=0,c=0,d=0;d=Ip(a,93047,1)|0;No(d,122277,280,1)|0;b=co(a)|0;while(1){if(!b)break;c=Pm(a,b)|0;while(1){if(!c)break;oB(c,d);c=Rm(a,c)|0}b=eo(a,b)|0}b=co(d)|0;while(1){if(!b)break;c=eo(d,b)|0;pB(b);qo(a,b)|0;b=c}ln(d)|0;return}function oB(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=qB(f,d)|0;e=kB(b,f,qB(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;rB(b)}return}function pB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){_I(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){gb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}ow(c[b+104>>2]|0);ow(c[(c[e>>2]|0)+108>>2]|0);Po(a,122241)|0;return}function qB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=ro(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){io(d,b,1)|0;b=WJ(Dn(b)|0,58)|0;if(!b)ma(96030,92694,1225,93114);d=b+1|0;b=no(f,d,0)|0;if(!b){b=no(f,d,1)|0;No(b,122241,304,1)|0;d=Dm(f,1,0)|0;while(1){if(!d)break a;g=Jm(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))Cm(b,d,e)|0;d=Dm(f,1,d)|0}}}while(0);return b|0}function rB(a){a=a|0;var b=0;b=a+16|0;_I(c[(c[b>>2]|0)+144>>2]|0);sB(a);ow(c[(c[b>>2]|0)+96>>2]|0);ow(c[(c[b>>2]|0)+108>>2]|0);ow(c[(c[b>>2]|0)+100>>2]|0);ow(c[(c[b>>2]|0)+104>>2]|0);Po(a,122254)|0;return}function sB(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;_I(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}_I(a);_I(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function tB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=ym(a,b,c,0)|0;if(!e)e=ym(a,b,c,d)|0;return e|0}function uB(a,b){a=a|0;b=b|0;return xJ(c[a>>2]|0,c[b>>2]|0)|0}function vB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[42365]|0)!=(d|0)){c[42365]=d;a[174080]=0}cm(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=xB(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[174080]|0)){c[j>>2]=Dn(d)|0;_l(0,94529,j)|0;a[174080]=1}h=-1;e=wB(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[174080]|0)){g=Dn(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;_l(0,94650,k)|0;a[174080]=1}e=wB(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){dm(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=GL(n)|0;gm(o);l=q;return p|0}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=yB(g)|0;h=d+4|0;i=d+8|0;e=rJ(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){dm(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;_I(g);l=j;return k|0}function xB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=vM(h,22648,252,8,30)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function yB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;cm(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=xB(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){dm(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=GL(h)|0;gm(i);l=k;return j|0}function zB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;cm(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){dm(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=GL(f)|0;gm(g);l=i;return h|0}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];BB(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];fB(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=ab[d&63](f,e)|0}else d=0;l=n;return d|0}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function CB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];fB(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];gB(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function DB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(EB(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((FB(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(CB(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}\nfunction si(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=vw((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=co(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Pm(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Rm(a,f)|0}g=eo(a,g)|0}f=vw((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=vw((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}_I(i);return}function ti(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=ti(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((Vf(a)|0)!=(a|0)){VN(d|0,0,e<<2|0)|0;g=co(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Pm(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Rm(a,i)|0}g=eo(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=Ip(Vf(a)|0,79522,1)|0;g=no(f,0,1)|0;No(g,122241,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=vw(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=vw(20)|0;c[(c[l>>2]|0)+180>>2]=k;io(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function ui(a){a=a|0;var b=0,d=0;Kh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;ui(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function vi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=wi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17236+(d*12|0)+((wi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function wi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function xi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){Yk(b);yi(b);if(a[174076]|0)kl(b);zi(b);if(Cl(b)|0)yi(b);Ai(b);if(gx(b,2,Bi(b)|0)|0?(Ci(b),gx(b,2,Bi(b)|0)|0):0)ma(79540,79568,134,79579);Di(b);Ei(b,d);Fi(b)}return}function yi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=DA(f,c[42188]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=ej(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){fj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function zi(a){a=a|0;var b=0,d=0,e=0;aj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){bj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{bj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Ai(a){a=a|0;Oi(a);Pi(a);Qi(a);Ri(a);Si(a);return}function Bi(a){a=a|0;var b=0,c=0.0;b=Im(a,79768)|0;if(!b)a=2147483647;else{c=+sM(b);a=~~(c*+(mn(a)|0))}return a|0}function Ci(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=fh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Mi(o,f,0.0,0)|0;Mi(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)ma(79676,79568,111,79679);else if((s|0)==19)return}function Di(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Ei(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Gi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Hi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i<l?i:l;if(i>1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f<i){l=1.0;f=i/f;break}else{l=f/i;f=1.0;break}}else{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i<f){l=1.0;f=f/i;break}else{l=i/f;f=1.0;break}else l=i}while(0);e=(c[k+116>>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Ii(a,f,i)}while(0);if(d|0)Ji(a,d);return}function Fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;_I(c[e+16>>2]|0);_I(e);d=d+1|0}if(f){_I(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){_I(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;_I(e);_I(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Gi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Li(a,b);return}function Hi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Ki(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Ki(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Ii(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Ii(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ji(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[13918]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;zL(n,79592,f)|0;c[g>>2]=kk(a)|0;zL(n,79617,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){XL(79627,34,1,c[13918]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[13918]|0;c[j>>2]=c[b+24>>2];zL(n,79662,j)|0}l=m;return}function Ki(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Li(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(Vf(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g<m;l=c[(c[s>>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g<x?g:x}}else{i=+(c[(c[(c[w+260>>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function Mi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=vw(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=vw(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Ni(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;Vg(i)|0;return i|0}function Ni(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;_l(1,79692,d)|0;l=b;return}function Oi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=vw((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=vw(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Pi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(Qz(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];Mi(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(_i(g,f)|0))Mi(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(_i(d,f)|0)){Mi(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=Sg(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))Mi(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i<A?A:i);if((f|0)>65535){Ni(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function Qi(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=fh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Mi(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Mi(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function Ri(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){Vi(a);Wi(a);Xi(a);Yi(a)}return}function Si(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){Ti(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Mi(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function Ti(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=DA(a,c[42188]|0,8,0)|0;Ui(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=Dn(a)|0;c[m+4>>2]=e;_l(1,79776,m)|0;break}else{Mi(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Mi(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function Ui(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=fh(Vf(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=fh(Vf(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(Vf(b)|0)!=(b|0):0)?(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Mi(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function Vi(a){a=a|0;var b=0,d=0;do if((Vf(a)|0)!=(a|0)){Ti(a);a=a+16|0;b=c[a>>2]|0;b=Sg(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;Mi(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;Vi(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function Wi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=DA(d,c[42188]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(Zi(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Mi(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(Zi(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Mi(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;Wi(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function Xi(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=DA(a,c[42188]|0,8,0)|0;Ui(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;Ui(e);f=c[b>>2]|0;g=e+16|0;Mi(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;Mi(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;Xi(e);a=a+1|0}return}function Yi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=DA(a,c[42188]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;Ui(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Mi(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}Yi(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function Zi(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(Bo(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(Bo(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function _i(a,b){a=a|0;b=b|0;return $i(a,b)|0}function $i(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!($i(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function aj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=ww((i<<2)+4|0)|0;else d=yw(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];cj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Sm(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(KA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];dj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;kh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=ww((c[e+176>>2]<<2)+8|0)|0;else e=yw(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Tm(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Pm(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(KA(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];dj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;kh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=ww((c[e+184>>2]<<2)+8|0)|0;else e=yw(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Rm(a,i)|0}}}while(0);l=o;return}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;KB(b,c[(c[(ro(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(ro(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function dj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=Vf(b)|0;g=KA(d)|0;if((g|0)!=(d|0))ch(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];cj(a,d,h);l=i;return}function ej(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0;if((Vf(a)|0)==(a|0))j=8.0;else j=+(DA(a,c[42188]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=ej(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((Vf(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(so(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((Vf(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function fj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(Vf(a)|0)+16>>2]|0)+196>>2]|0;if((Vf(a)|0)==(a|0))e=0;else e=DA(a,c[42188]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;fj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((Vf(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)gj(a,~~p,d);if((Vf(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function gj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(Vf(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function hj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function ij(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=co(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=eo(a,h)|0}c[e+264>>2]=d;return}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=Im(a,79821)|0;if(!b)b=2147483647;else{g=+sM(b);b=~~(g*+(mn(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];gx(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(Im(a,79830)|0))mj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;lj(a,d)}if(0){g=c[13918]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;zL(g,79838,e)|0}l=f;return}function lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[41933]=0;a[h>>0]=a[17644]|0;a[h+1>>0]=a[17645]|0;a[h+2>>0]=a[17646]|0;a[h+3>>0]=a[17647]|0;h=gn(80048,h,0)|0;No(h,80077,280,1)|0;zo(h,17332,17272);nj(b);e=Im(b,79821)|0;if(!e)f=2147483647;else{j=+sM(e);f=~~(j*+(mn(b)|0))}Dj(b,0);Ej(b,h);Fj(b,h);Gj(b,h,0,0);Hj(h);g=Ij(h)|0;Jj(h);if(d|0){xk(h);lk(h)}e=Im(b,87620)|0;if(!e)e=-1;else e=rM(e)|0;zw(h,1,f,e)|0;Kj(b,h,g);ln(h)|0;l=i;return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;nj(a);do if(!b){oj(a,a);Ak(a);pj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;tl(a,0);b=0}else{xk(a);lk(a);oj(a,a);Ak(a);pj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;tl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);ik(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(qj(a,f)|0)tl(a,0);if(!b)jj(a);else mk(a,b);rj(a,b);sj(a);l=g;return}function nj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=co(d)|0;while(1){if(!g)break;f=Pm(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Rm(d,f)|0}g=eo(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function oj(a,b){a=a|0;b=b|0;var d=0;b=Jp(b)|0;while(1){if(!b)break;d=Aj(b)|0;do if(d)if((d|0)==7&(c[42179]|0)==100){wj(a,b);break}else{Bj(a,b,d);break}else oj(a,b);while(0);b=Kp(b)|0}return}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=KA(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=KA(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(KA(h)|0)){g=9;break}hk(d);d=c[e>>2]|0}if((g|0)==9)ma(79941,79881,346,79973);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(KA(i)|0))break;hk(d);d=c[e>>2]|0}ma(79986,79881,353,79973)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function qj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=co(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(KA(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=ah(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=ah(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=eo(a,g)|0}}while(0);return (d|0)!=0|0}function rj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=co(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=KA(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:MA(g)}g=eo(d,g)|0}if((Vf(d)|0)==(d|0)){if((c[42179]|0)==100)e=1;else{vj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;uj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function sj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;tj((c[i>>2]|0)+172|0);tj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=co(b)|0;while(1){if(!i)break;h=Pm(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=co(b)|0;while(1){if(!d)break;e=Pm(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Rm(b,e)|0}d=eo(b,d)|0}_I(c[k>>2]|0);_I(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Rm(b,h)|0}i=eo(b,i)|0}_I(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function tj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function uj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;uj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function vj(b){b=b|0;var d=0;d=Jp(Vf(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)wj(b,d);d=Kp(d)|0}return}function wj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,xj(a,b),co(b)|0):0){yj(a,b);if((c[42179]|0)==100){mj(b,0);zj(b);break}else{ij(b);break}}while(0);return}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=co(d)|0;while(1){if(!g)break;i=eo(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{qo(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(Bo(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))qo(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=co(d)|0;while(1){if(!e)break;b=Pm(Vf(d)|0,e)|0;while(1){if(!b)break;if(Bo(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)en(d,b,1)|0;b=Rm(Vf(d)|0,b)|0}e=eo(d,e)|0}return}function yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=vw((a<<2)+8|0)|0;else a=xw(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;hw(b);return}function zj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)ma(79866,79881,238,79888);c[g+264>>2]=h;d=co(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}LA(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=eo(b,d)|0}if((d|0)==11)ma(79903,79881,242,79888);else if((d|0)==13)return}function Aj(b){b=b|0;var d=0;if(!(Cj(b)|0)){d=UA(Im(b,80018)|0,17284,17308)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=co(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=eo(d,f)|0;if(!f)break;LA(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=LA(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=LA(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Cj(a){a=a|0;return (VJ(Dn(a)|0,93039,7)|0)==0|0}function Dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(Yj(b)|0)){do if(hB(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;Zj(b,d);d=b;break}while(0);e=Jp(b)|0;while(1){if(!e)break;Dj(e,d);e=Kp(e)|0}a:do if(hB(b)|0){e=co(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=eo(b,e)|0}}while(0);switch(_j(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{$j(b)|0;break}case 6:break;default:{e=Dn(b)|0;f=Im(b,80018)|0;c[g>>2]=e;c[g+4>>2]=f;_l(0,80201,g)|0}}if((k|0)==19){k=$j(b)|0;k=ak(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=$j(b)|0;k=ak(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((hB(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=$j(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0;c[41933]=0;d=co(a)|0;while(1){if(!d)break;if((Lj(d)|0)==(d|0)){e=Oj(b,Dn(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=eo(a,d)|0}d=co(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Lj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=eo(a,d)|0}return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=co(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Pm(a,h)|0;while(1){if(!i)break;do if((Tj(i)|0)==0?(j=i+-48|0,k=c[(c[(Lj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(Uj(i)|0)){if((Sj(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(Sj(f)|0)==0:0){Vj(b,d,k,i);break}Wj(b,d,k,i);break}else{f=Lj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Lj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}Vj(b,d,e,i);break}}while(0);i=Rm(a,i)|0}h=eo(a,h)|0}return}function Gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((hB(a)|0)!=0?(Sj(a)|0)!=0:0){g=co(a)|0;while(1){if(!g)break;if(!(Sm(a,g)|0)){f=c[(c[(Lj(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=Oj(b,80099)|0;an(b,d,f,0,1)|0}if(!(Pm(a,g)|0)){f=c[(c[(Lj(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=Oj(b,80104)|0;an(b,f,e,0,1)|0}g=eo(a,g)|0}if((e|0)!=0&(d|0)!=0){Rj(an(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=Jp(a)|0;while(1){if(!d)break;Gj(d,b,f,e);d=Kp(d)|0}return}function Hj(b){b=b|0;var d=0,e=0;d=co(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=eo(b,d)|0}d=co(b)|0;while(1){if(!d)break;Pj(b,d);d=eo(b,d)|0}return}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=eo(a,b)|0}b=0;e=co(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Nj(a,e,d);b=d}e=eo(a,e)|0}a:do if((b|0)>1){f=Oj(a,80093)|0;d=1;e=co(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){an(a,f,e,0,1)|0;d=d+1|0}e=eo(a,e)|0}}while(0);return b|0}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=co(a)|0;while(1){if(!g)break;h=g+16|0;f=Pm(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=ww((c[b+184>>2]<<2)+8|0)|0;else b=yw(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=ww((c[b+176>>2]<<2)+8|0)|0;else b=yw(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Rm(a,f)|0}g=eo(a,g)|0}return}function Kj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=vw((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=co(a)|0;while(1){if(!h)break;j=c[(c[(c[(Lj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=eo(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=co(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=eo(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=co(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=eo(a,f)|0}}while(0);Mj(a,f);i=co(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){_I(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)_I(f);i=eo(d,i)|0}_I(c[(c[(co(a)|0)+16>>2]|0)+112>>2]|0);f=co(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=eo(a,f)|0}if(j)_I(o);return}function Lj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Lj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Mj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Mj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=co(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=eo(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function Nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Pm(a,b)|0;while(1){if(!e)break;Nj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Rm(a,e)|0}e=Sm(a,b)|0;while(1){if(!e)break a;Nj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Tm(a,e)|0}}while(0);return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=no(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=vw(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=vw(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[41933]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[41933]=f;c[b+164>>2]=0;return f|0}function Pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Pm(b,d)|0;while(1){if(!d)break;e=Rm(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){Qj(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Pj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function Qj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=an(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=an(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;Rj(d,e[g+170>>1]|0,c[g+156>>2]|0);qo(a,b)|0;return}function Rj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function Sj(a){a=a|0;return (JA(Im(a,80109)|0,0)|0)&255|0}function Tj(b){b=b|0;var d=0,e=0;d=c[42233]|0;if((((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(IA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Uj(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=Xj(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function Vj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=an(a,b,d,0,0)|0;if(!g){g=an(a,d,b,0,0)|0;if(!g){g=an(a,b,d,0,1)|0;if(!g){b=Dn(b)|0;f=Dn(d)|0;c[h>>2]=b;c[h+4>>2]=f;_l(1,80126,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;Rj(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function Wj(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Sm(a,d)|0;while(1){if(!h){k=6;break}n=Pm(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Tm(a,h)|0}if((k|0)==6){n=c[41934]|0;c[41934]=n+1;c[j>>2]=n;pL(i,80117,j)|0;i=Oj(a,i)|0;n=an(a,i,d,0,1)|0;i=an(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function Yj(a){a=a|0;return (co(a)|0)==0|0}function Zj(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;yj(b,a);xj(b,a);return}function _j(b){b=b|0;var c=0;b=Im(b,80018)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(xJ(b,80028)|0)if(xJ(b,80032)|0)if(xJ(b,80039)|0)if(xJ(b,80043)|0)if(!(xJ(b,80023)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function $j(a){a=a|0;var b=0,c=0;c=co(a)|0;a:do if(!c)b=0;else{b=Lj(c)|0;while(1){c=eo(a,c)|0;if(!c)break a;ak(b,c)|0}}while(0);return b|0}function ak(a,b){a=a|0;b=b|0;if(b){a=Lj(a)|0;c[(c[(Lj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function bk(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80077,c[d>>2]|0,1)|0;return}function ck(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80244,c[d+4>>2]|0,1)|0;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;No(b,80229,c[d+8>>2]|0,1)|0;return}function ek(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[42237]=ym(b,2,80259,0)|0;k=ym(b,2,80268,0)|0;c[42238]=k;a:do if((k|0)!=0|(c[42237]|0)!=0){k=co(b)|0;while(1){if(!k)break a;j=0;d=0;i=Um(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[42237]|0;do if((f|0)==(k|0)&(g|0)!=0){f=Jm(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=fk(m,d,k,i,f)|0;break b}}while(0);f=c[42238]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=Jm(i,f)|0,(a[o>>0]|0)!=0):0)e=fk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Vm(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)gk(k,e);e=c[e>>2]|0;if(e|0)_I(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)gk(k,d);d=c[d>>2]|0;if(d|0)_I(d);e=e+1|0}k=eo(b,k)|0}}while(0);l=p;return}function fk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(xJ(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=ww((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=yw(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=Dn(e)|0;c[k>>2]=5;c[k+4>>2]=r;_l(1,80277,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=vw(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){At(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+Et(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function gk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+QJ(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+QJ(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(ro(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(ro(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;Gz(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;At(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function hk(a){a=a|0;var b=0,d=0,e=0;Xg(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=Sg(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;ah(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else ih(a,b);return}function ik(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;jk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))jk(d)}else{hk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=co(a)|0;b=0;while(1){if(!e)break;d=Pm(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Rm(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=eo(a,e)|0}return b|0}function lk(b){b=b|0;var d=0,e=0,f=0,g=0;e=co(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=eo(b,e)|0}return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;nk(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[13918]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=co(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=eo(a,d)|0}jj(a);e=+ok(a);h[m>>3]=e;if(0){h[o>>3]=e;zL(n,80329,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}pk(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}jj(a);qk(a);rk();h[m>>3]=+ok(a);l=q;return}function nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[41938]=ww((mn(a)|0)*24|0)|0;c[41937]=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=eo(a,b)|0}i=co(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=vw(4)|0;g=c[41938]|0;k=c[41937]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[41937]=k+1}else{g=KA(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[41938]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l<m?m:l;c[k+120>>2]=d;break}d=vw(c[b+216>>2]<<2)|0;e=c[41938]|0;f=c[41937]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[41937]=f+1}while(0);i=eo(a,i)|0}return}function ok(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;qk(a);g=c[41935]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[41936]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function pk(a){a=a|0;var b=0;c[41939]=vw((mn(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(mn(a)|0))break;c[(c[41939]|0)+(b<<2)>>2]=b;b=b+1|0}qk(a);sk(a);tk(a);return}function qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[41935]=0;b=c[41936]|0;if(b|0){e=0;while(1){if((e|0)>=(c[41937]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){_I(d);b=c[41936]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){_I(d);b=c[41936]|0}e=e+1|0}_I(b)}c[41936]=vw((c[41937]|0)*40|0)|0;b=0;while(1){d=c[41937]|0;if((b|0)>=(d|0))break;k=vw(d<<2)|0;c[(c[41936]|0)+(b*40|0)+4>>2]=k;k=vw(c[41937]<<2)|0;l=c[41936]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=co(a)|0;while(1){if(!e)break;d=Pm(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[41936]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Rm(a,d)|0}e=eo(a,e)|0}i=c[41937]|0;k=c[41938]|0;l=c[41936]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[41935]|0))c[41935]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]<j)h[g>>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function rk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[41935]|0;l=c[41936]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function sk(a){a=a|0;var b=0;b=c[41939]|0;rL(b,mn(a)|0,4,15);return}function tk(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[41935]|0;k=c[41936]|0;g=c[41939]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){rL(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,16);g=c[41936]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(ah(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[41936]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function uk(a,b){a=a|0;b=b|0;a=vk(c[a>>2]|0)|0;b=vk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=ro(e)|0;e=Pm(g,e)|0;while(1){if(!e)break;e=Rm(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function wk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[41936]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function xk(a){a=a|0;var b=0;b=co(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=eo(a,b)|0}return}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=Im(a,84624)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(cM(a,80344,e)|0)>=1):0)_l(0,80351,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function zk(b){b=b|0;var d=0,e=0;d=c[42233]|0;if((((d|0)!=0?(e=Jm(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(IA(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;Vk(a);b=co(a)|0;while(1){if(!b)break;d=Pm(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(zk(d)|0)==0:0)?(e=d+48|0,f=KA(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=KA(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=Sg(f,h)|0;if(!i){ah(f,h,d)|0;break}else{ih(d,i);break}}i=c[d>>2]&3;Bk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Rm(a,d)|0}b=eo(a,b)|0}return}function Bk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=fh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=KA(d)|0;d=KA(f)|0;f=Mi(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Mi(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Ck(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)ma(80440,80462,148,80471);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Dk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Dk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(hj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Fk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;Vk(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;Wk(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=co(b)|0;while(1){if(!h)break;g=Pm(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Rm(b,g)|0}h=eo(b,h)|0}m=co(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(KA(m)|0):0){bh(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Pm(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Gk(l)|0){if(!(Ek(d,l)|0)){Hk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Ck(b,l,e,0);Yg(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;ih(l,d);Yg(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){ih(l,d);Yg(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(hj(l,d)|0)!=0:0)if(!(a[174076]|0)){Ck(b,l,c[(c[o>>2]|0)+172>>2]|0,1);Yg(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){Yg(l);d=l;break}e=KA(e)|0;f=KA(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){gh(b,l);d=l;break}if((h|0)>(g|0)){Ik(b,e,f,l);d=l;break}e=an(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Ik(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(hj(l,e)|0))break;if(!(a[174076]|0)){Yg(l);Ck(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Ik(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Rm(b,l)|0}m=eo(b,m)|0}if((Vf(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=ww(4)|0;else d=yw(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Gk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Lk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Lk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=Sg(f,e)|0;if(h|0){Ck(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Ik(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)ma(80483,80462,89,80508);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Jk(a,e)|0;else f=Kk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;vi(ah(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))ma(80519,80462,103,80508);else return}function Jk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=fh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(so(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(so(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Kk(a){a=a|0;var b=0;b=fh(a)|0;Dk(a,b);return b|0}function Lk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=KA(b)|0;return b|0}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=Vf(a)|0;h=co(a)|0;while(1){if(!h)break;b=Um(j,h)|0;i=0;while(1){if(!b)break;l=Vm(j,b,h)|0;if(Bo(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Ek(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Ck(a,k,b,0);Zg(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Nk(b,e,k);b=l;i=k;continue}else{Nk(e,b,k);b=l;i=k;continue}b=Ug(b,e)|0;if(!b){gh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}Zg(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}ih(k,b);m=i;b=l;i=m}h=eo(a,h)|0}return}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ok(a)|0;e=Ok(b)|0;Pk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Ok(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Pk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))ma(80544,80572,81,80582);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=Sg(d,e)|0,j|0):0)?hj(f,j)|0:0){ih(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Yg(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=Vf(d)|0;j=g+-48|0;i=Qk(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(ah(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=Sg(d,e)|0;if(g|0?hj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;Yg(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=ah(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=ah(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;Xg(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(ah(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;Xg(g)}}}while(0);return}function Qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;Rk(a,e,c[b+236>>2]|0,2);b=fh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function Rk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function Sk(a){a=a|0;var b=0;Fk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];si(a);Zh(a,0);Tk(a);Mk(a);Uk(a);return}function Tk(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=Vf(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;Rk(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=so(k)|0;dh(d,e);bh(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function Uk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;Xg(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;Xg(d);d=c[g>>2]|0}dh(Vf(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function Vk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=co(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){MA(f);d=c[e>>2]|0}c[d+212>>2]=0;f=eo(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=co(h)|0;a:while(1){if(!d)break;j=eo(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=Dn(d)|0;g=Dn(b)|0;c[n>>2]=f;c[n+4>>2]=g;_l(0,80591,n)|0;qo(h,d)|0;d=j;continue}NA(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Pm(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Rm(h,g)|0}}k=k+1|0}l=o;return}function Wk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=vw((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=fh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(ah(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=co(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Pm(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Rm(e,f)|0}j=eo(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function Xk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;mi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;ni(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function Yk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=co(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Pm(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Rm(b,g)|0}h=eo(b,h)|0}Zk(b);return}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Zk(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=co(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Pm(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Rm(b,h)|0}i=eo(b,i)|0}return}function _k(a){a=a|0;var b=0,c=0,d=0;d=iB(a)|0;c=co(a)|0;while(1){if(!c)break;b=Pm(a,c)|0;while(1){if(!b)break;$k(b,d);b=Rm(a,b)|0}c=eo(a,c)|0}Kl(d)|0;return}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=al(Im(a,80645)|0,b)|0;q=al(Im(a,80651)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=Dn(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=Dn(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;_l(0,80657,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=ww(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(bl(H,h)|0)){o=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80645)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;_l(0,80698,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(bl(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(bl(H,h)|0){o=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80645)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;_l(0,80741,n)|0;K=26;break}if(!(c[C>>2]|0))ma(80783,80794,369,80805);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];cl(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];dl(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];dl(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];dl(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(Nt(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(el((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];cl(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else ma(80822,80794,387,80805);else{if(f)b=Nt(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(bl(H,f)|0)){G=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80651)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;_l(0,80833,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(bl(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(bl(H,f)|0){G=Dn(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=Dn(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=Im(a,80651)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;_l(0,80876,x)|0;K=52;break}if(!(c[v>>2]|0))ma(80822,80794,429,80805);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];cl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];dl(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];dl(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];dl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=Pt(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(el(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=Pt(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))ma(80783,80794,452,80805);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];cl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=ww(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}_I(c[I>>2]|0);_I(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function al(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=jB(d,b)|0;if(!d){c[e>>2]=b;_l(0,80996,e)|0;d=0}}else d=0;l=f;return d|0}function bl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s<k?(f=r+ +(~~((k-q)*(r-t)/(q-s))|0),f>=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t<f?(m=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(m>=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=jl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=jl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=jl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=jl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;_l(1,80918,B)|0;ma(123205,80794,78,80970)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function el(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+fl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)PA(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+fl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}f=+gl(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}f=+gl(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){PA(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function fl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(il(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}PA(i,a,3,.5,j,k);g=(c+b)*.5;b=+fl(j,b,g,d,e,f);if(!(b>=0.0))b=+fl(k,g,c,d,e,f)}while(0);l=m;return +b}function gl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(hl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}PA(i,a,3,.5,j,k);g=(c+b)*.5;b=+gl(j,b,g,d,e,f);if(!(b>=0.0))b=+gl(k,g,c,d,e,f)}while(0);l=m;return +b}function hl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function il(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;pL(b,80984,d)|0;l=c;return b|0}function kl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=ZI(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(18,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(17,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=_(19,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,t|0,u|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=$(18,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,t|0,u|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ka(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=RN(167760,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;aa(11,3,81024,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;fa(85,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=SN(c[d>>2]|0,t|0,u|0)|0;if(!e)Ua(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);_I(t|0);l=v;return}function ll(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((ll(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(sl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Wf(g,h)|0)==0&1}else a=0;l=i;return a|0}function nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=ah(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;ih(f,d);Xg(f)}Xg(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=ah(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;ih(f,d);Xg(f)}Xg(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}dh(a,o);l=l+1|0}if((r|0)==23)ma(81160,81204,115,81211);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function ol(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((ol(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(sl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(Wf(g,h)|0)==0&1}else a=0;l=i;return a|0}function ql(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}ij(d);j=co(d)|0;while(1){if(!j)break;rl(d,j);i=Pm(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;rl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Rm(d,i)|0}j=eo(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(Vf(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(Bo(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(Bo(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(Bo(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=Dn(d)|0;c[p+4>>2]=i;_l(0,81124,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=Dn(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;_l(1,81066,o)|0;Ua(167760,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;ql(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function sl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;ul(j,k+512|0,k);e=(a[173894]|0)+1<<24>>24;a[173894]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=co(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(KA(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[173894]|0)):0){vl(b);wl(j,b,g);xl(b)}d=eo(b,d)|0}yl(j);l=k;return}function ul(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function vl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[41979]=0;return}function wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;zl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Al(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[173894]|0))continue;Bl(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[173894]|0)?(e|0)==(KA(e)|0):0)zl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=ww(a<<2)|0;else a=yw(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function yl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;_I(c[a>>2]|0);_I(a);a=b}return}function zl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=vw(16)|0;if(!f)_l(1,83988,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=vw(4e6)|0;c[f>>2]=b;if(!b){_l(1,81224,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[173894]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[173894]|0;b=c[41979]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[41979]=d;c[g+164>>2]=0;return}function Cl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Dl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Dl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}El(b)}while(0);ui(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Fl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Fl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){nh(b);Bh(b)}return e|0}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(Vf(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function El(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)ma(81281,81264,190,81300);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=ww(d<<6)|0;else a=yw(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=vw(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Fl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=Vf(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Gl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Hl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=ah(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=ah(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Il(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Jl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Jl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=ww((c[e>>2]<<2)+8|0)|0;else f=yw(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=fh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Jl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)ma(81244,81264,63,81271);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Il(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=cb[b&31](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Wl(a,0)|0;f=(b|0)==0;if(f){bb[c[c[a+16>>2]>>2]&31](a,0,64)|0;if((Sl(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;cb[c[e>>2]&31](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;cb[c[e>>2]&31](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)cb[c[a+12>>2]&31](a,a,0,h)|0}else _I(a);b=c[g>>2]|0;if(!b)b=0;else{cb[b&31](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Rl(a,0)|0;e=c[n+32>>2]|0;if(e|0?(cb[e&31](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?19:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Ol(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Ul(0,e,g)|0;else e=bb[f&31](a,e,b)|0;c[h+4>>2]=e}bb[m&31](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?19:n}while(0);return b|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=ZI(c)|0;else if(a){_I(b);a=0;break}else{a=aJ(b,c)|0;break}while(0);return a|0}function Nl(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Ol(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Ol(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Rl(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;ib[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}cb[c[j>>2]&31](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=bb[e&31](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=cb[c[a+12>>2]&31](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}ib[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=xJ(b,f)|0;break}else{f=dL(b,f,n)|0;break}else f=cb[o&31](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,e,r);if((c[q>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,r)|0}return e|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=ZI(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Ll(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=cb[d&31](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{_I(f);e=cb[c[d>>2]&31](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Ll(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=cb[c[d+12>>2]&31](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){_I(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)cb[e&31](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;bb[f&31](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Sl(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Rl(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Tl(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Tl(a){a=a|0;var b=0;if(!a)return 0;else{b=Tl(c[a+4>>2]|0)|0;return b+1+(Tl(c[a>>2]|0)|0)|0}return 0}function Ul(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Rl(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;ib[f&127](a,g,E)}if((c[x>>2]|0)<0)cb[c[j>>2]&31](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=bb[c[a>>2]&31](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=xJ(e,f)|0;break}else{f=dL(e,f,B)|0;break}else f=cb[C&31](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=bb[c[a>>2]&31](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=xJ(s,i)|0;break}else{i=dL(s,i,B)|0;break}else i=cb[C&31](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)ib[e&127](a,g,E);if((c[x>>2]|0)<0){cb[c[a+12>>2]&31](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=bb[h&31](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=cb[c[a+12>>2]&31](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){ib[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=xJ(f,h)|0;break}else{h=dL(f,h,B)|0;break}else h=cb[C&31](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))ib[f&127](a,g,E);if((c[x>>2]|0)<0)cb[c[a+12>>2]&31](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Rl(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Rl(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=12;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=bb[c[c[n+16>>2]>>2]&31](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=xJ(k,f)|0;break}else{g=dL(k,f,i)|0;break}else g=cb[j&31](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=bb[c[c[f+16>>2]>>2]&31](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(bb[c[c[g+16>>2]>>2]&31](g,e,4)|0)break;g=c[g+28>>2]|0}e=bb[c[c[h>>2]>>2]&31](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=bb[c[c[f+16>>2]>>2]&31](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=bb[c[c[f+16>>2]>>2]&31](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=bb[c[c[a+16>>2]>>2]&31](a,b,d)|0;while(0);return e|0}function Yl(a){a=a|0;var b=0;b=c[41980]|0;c[41980]=a;return b|0}function Zl(a){a=a|0;var b=0;b=c[41981]|0;c[41981]=a;return b|0}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=$l(a,b,f)|0;l=e;return d|0}function $l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[41983]|0:(a|0)==2?1:a;c[41983]=h;i=c[41984]|0;c[41984]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[41981]|0)>>>0){a=c[41982]|0;if(!a){a=AN()|0;c[41982]=a;if(!a){a=1;break}}if(!f){DN(a)|0;a=c[41982]|0}MK(a,b,d)|0;a=0}else{if(c[41980]|0){am(a,b,d);a=0;break}if(f)a=c[13918]|0;else{i=c[13918]|0;c[e>>2]=(a|0)==1?81312:81318;zL(i,81326,e)|0;a=i}MK(a,b,d)|0;a=0}while(0);l=g;return a|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[41985]|0)==0?(f=ZI(c[4354]|0)|0,c[41985]=f,(f|0)==0):0)WL(81331,c[13918]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){$a[c[41980]&31]((a|0)==1?81312:81318)|0;$a[c[41980]&31](81990)|0}while(1){a=LK(c[41985]|0,c[4354]|0,b,d)|0;e=c[4354]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4354]=f;if(!(aJ(c[41985]|0,f)|0)){e=9;break}}if((e|0)==7){$a[c[41980]&31](c[41985]|0)|0;break}else if((e|0)==9){WL(81331,c[13918]|0)|0;break}}while(0);return}function bm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;$l(1,a,e)|0;l=d;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=ZI(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=ZI(e)|0;TN(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=aJ(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){dm(a,d)|0;e=c[f>>2]|0}TN(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function fm(a,b){a=a|0;b=b|0;return em(a,b,rJ(b)|0)|0}function gm(a){a=a|0;if(c[a+12>>2]|0)_I(c[a>>2]|0);return}function hm(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function im(a,b,d){a=a|0;b=b|0;d=d|0;bp(c[41987]|0,c[b+8>>2]|0)|0;bp(c[41987]|0,c[b+12>>2]|0)|0;Zn(c[41987]|0,b);return}function jm(a,b){a=a|0;b=b|0;var c=0;c=Lo(a,81379,0)|0;if((b|0)!=0&(c|0)==0){km(a);c=Lo(a,81379,0)|0}return c|0}function km(a){a=a|0;var b=0,c=0,d=0;d=so(a)|0;wq(d,d,86,0,1)|0;c=co(d)|0;while(1){if(!c)break;mm(a,c);b=Pm(d,c)|0;while(1){if(!b)break;nm(a,b);b=Rm(d,b)|0}c=eo(d,c)|0}return}function lm(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;sm(b);c=Lp(b)|0;pm((c|0)==0?b:c,b);return}function mm(a,b){a=a|0;b=b|0;var d=0;d=om(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))pm(a,b);return}function nm(a,b){a=a|0;b=b|0;var d=0;d=om(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))pm(a,b);return}function om(a){a=a|0;return Lo(a,81367,0)|0}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=No(b,81367,16,0)|0;f=qm(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=so(a)|0;c[e>>2]=qm(a,c[b>>2]&3)|0;a=rm(b)|0;d=d+12|0;c[d>>2]=Yn(ro(b)|0,((a|0)>4?a:4)<<2)|0;a=bb[c[f>>2]&31](f,0,128)|0;while(1){if(!a)break a;e=ro(b)|0;e=$o(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=bb[c[f>>2]&31](f,a,8)|0}}while(0);return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=jm(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;_l(1,81392,d)|0;a=0;break a}}while(0);l=e;return a|0}function rm(a){a=a|0;var b=0;b=so(ro(a)|0)|0;a=qm(b,c[a>>2]&3)|0;if(!a)a=0;else a=Sl(a)|0;return a|0}function sm(a){a=a|0;var b=0,d=0,e=0,f=0;d=No(a,81379,20,0)|0;e=d+8|0;c[e>>2]=Pp(a,17420,c[4353]|0)|0;f=d+12|0;c[f>>2]=Pp(a,17420,c[4353]|0)|0;d=d+16|0;c[d>>2]=Pp(a,17420,c[4353]|0)|0;b=Lp(a)|0;if(!b){b=c[41986]|0;if(!((b|0)==0|(b|0)==(a|0))){b=jm(b,0)|0;tm(c[b+8>>2]|0,c[e>>2]|0,a,1);tm(c[b+12>>2]|0,c[f>>2]|0,a,2);tm(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=jm(b,0)|0;Wl(c[e>>2]|0,c[a+8>>2]|0)|0;Wl(c[f>>2]|0,c[a+12>>2]|0)|0;Wl(c[d>>2]|0,c[a+16>>2]|0)|0}return}function tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=bb[c[b>>2]&31](b,0,128)|0;while(1){if(!g)break;h=um(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;bb[c[d>>2]&31](d,h,1)|0;g=bb[c[b>>2]&31](b,g,8)|0}return}function um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=Yn(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=$o(b,d)|0;c[h+12>>2]=$o(b,e)|0;c[h+16>>2]=f;return h|0}function vm(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function wm(a,b){a=a|0;b=b|0;var c=0;c=Wl(a,0)|0;b=vm(a,b)|0;Wl(a,c)|0;return b|0}function xm(a,b){a=a|0;b=b|0;a=om(a)|0;if(!a)a=0;else a=vm(c[a+8>>2]|0,b)|0;return a|0}function ym(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[41986]|0;if(!b){a[g>>0]=a[17456]|0;a[g+1>>0]=a[17457]|0;a[g+2>>0]=a[17458]|0;a[g+3>>0]=a[17459]|0;b=gn(0,g,0)|0;c[41986]=b}}if(!f)b=Am(b,d,e)|0;else b=zm(b,d,e,f)|0;l=h;return b|0}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=so(a)|0;jm(a,1)|0;g=qm(a,b)|0;f=wm(g,d)|0;a:do if(!f){f=vm(g,d)|0;if(f|0){f=um(a,d,e,c[f+16>>2]|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;h=16;break}g=qm(i,b)|0;f=um(a,d,e,Sl(g)|0,b)|0;bb[c[g>>2]&31](g,f,1)|0;switch(b|0){case 0:{wq(i,i,52,f,1)|0;h=16;break a}case 1:{d=co(i)|0;while(1){if(!d){h=16;break a}Bm(a,d,f);d=eo(i,d)|0}}case 2:case 3:{g=co(i)|0;while(1){if(!g){h=16;break a}d=Pm(i,g)|0;while(1){if(!d)break;Bm(a,d,f);d=Rm(i,d)|0}g=eo(i,g)|0}}default:break a}}else{h=f+12|0;bp(a,c[h>>2]|0)|0;c[h>>2]=$o(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)Cm(a,f,e)|0;vo(a,a,f);return f|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;a=qm(a,b)|0;if(!a)a=0;else a=vm(a,c)|0;return a|0}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=om(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=cb[c[(c[g>>2]|0)+8>>2]&31](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=$o(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=ro(a)|0;g=(om(a)|0)+12|0;i=b+16|0;bp(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=$o(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(jm(h,0)|0)+16>>2]|0;f=b+8|0;g=wm(e,c[f>>2]|0)|0;if(!g){i=um(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;bb[c[e>>2]&31](e,i,1)|0;break}else{i=g+12|0;bp(h,c[i>>2]|0)|0;c[i>>2]=$o(h,d)|0;break}}while(0);vo(h,a,b);return 0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;a=qm(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=bb[b&31](a,0,128)|0;break}else{a=bb[b&31](a,d,8)|0;break}}else a=0;while(0);return a|0}function Em(a){a=a|0;var b=0;c[41987]=a;b=om(a)|0;if(b|0){Fm(a,b);Po(a,c[b>>2]|0)|0}b=jm(a,0)|0;if(b)if(((Rp(a,c[b+8>>2]|0)|0)==0?(Rp(a,c[b+12>>2]|0)|0)==0:0)?(Rp(a,c[b+16>>2]|0)|0)==0:0){Po(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ro(a)|0;e=rm(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;bp(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}Zn(f,d);return}function Gm(a){a=a|0;var b=0;b=om(a)|0;if(b|0){Fm(a,b);Po(a,81367)|0}return}function Hm(a){a=a|0;var b=0;b=om(a)|0;if(b|0){Fm(a,b);Po(a,81367)|0}return}function Im(a,b){a=a|0;b=b|0;b=xm(a,b)|0;if(!b)b=0;else{a=c[(om(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function Jm(a,b){a=a|0;b=b|0;a=c[(om(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;b=xm(a,b)|0;if(!b)b=-1;else{Cm(a,b,c)|0;b=0}return b|0}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=ro(a)|0;f=ym(f,c[a>>2]&3,b,0)|0;if(!f){f=ro(a)|0;f=ym(f,c[a>>2]&3,b,e)|0}Cm(a,f,d)|0;return 0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=ro(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=Dm(g,f&3,e)|0;if(!e)break a;d=xm(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=Jm(a,e)|0;Cm(b,d,f)|0;if(cp(f)|0)dp(Jm(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Nm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Pm(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Rl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Nl(c[d>>2]|0)|0}return b|0}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,d,4)|0}l=e;return a|0}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qm(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Rl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Nl(c[e>>2]|0)|0}return a|0}function Sm(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Rl(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=bb[c[b>>2]&31](b,0,128)|0;c[a>>2]=Nl(c[d>>2]|0)|0}return b|0}function Tm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qm(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Rl(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,b,8)|0;c[d>>2]=Nl(c[e>>2]|0)|0}return a|0}function Um(a,b){a=a|0;b=b|0;var c=0;c=Pm(a,b)|0;if(!c)c=Sm(a,b)|0;return c|0}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Rm(a,b)|0;if(!b){b=0;do{if(!b)b=Sm(a,d)|0;else b=Tm(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Tm(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Wm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((sn(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(_m(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Xm(a,b){a=a|0;b=b|0;Zm(a,b);return}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;io(b,d,1)|0;io(b,e,1)|0;h=Yn(b,96)|0;i=h+48|0;l=kn(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Zm(b,h);if(a[b+24>>0]&64){No(h,81367,16,0)|0;nm(b,h)}to(b,h);return h|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(_m(a,e,f,d)|0)break;j=Qm(a,e)|0;m=a+44|0;$m(c[m>>2]|0,j+32|0,g);k=a+48|0;$m(c[k>>2]|0,j+24|0,g);j=Qm(a,f)|0;$m(c[m>>2]|0,j+28|0,h);$m(c[k>>2]|0,j+20|0,h);a=Lp(a)|0}l=i;return}function _m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Qm(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Rl(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=bb[c[a>>2]&31](a,f,4)|0;c[g>>2]=Nl(c[e>>2]|0)|0}else a=0;l=h;return a|0}function $m(a,b,d){a=a|0;b=b|0;d=d|0;Rl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,1)|0;c[b>>2]=Nl(a)|0;return}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(An(a,2,e,k,0)|0))if(!e){if(f|0?(sn(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(a,b,d,i)|0;b:do if(!g){if(rn(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=_m(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=so(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(g,b,d,i)|0;if(!g){if(!(rn(a)|0))break;g=so(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=_m(g,d,b,i)|0;if(!g)break}Xm(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Wm(a,b,d)|0)!=0?(An(a,2,e,k,1)|0)!=0:0){g=k;g=Ym(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;En(a,2,g)}else g=0;l=n;return g|0}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Qm(a,c[d+40>>2]|0)|0;f=a+44|0;cn(c[f>>2]|0,h+32|0,g);e=a+48|0;cn(c[e>>2]|0,h+24|0,g);b=Qm(a,b)|0;cn(c[f>>2]|0,b+28|0,d);cn(c[e>>2]|0,b+20|0,d);return}function cn(a,b,d){a=a|0;b=b|0;d=d|0;Rl(a,c[b>>2]|0)|0;bb[c[a>>2]&31](a,d,2)|0;c[b>>2]=Nl(a)|0;return}function dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(_m(b,h,g,f)|0){if((so(b)|0)==(b|0)){if(a[b+24>>0]&64)Hm(d);xo(b,d);Vo(d);h=d+8|0;Cn(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(wq(b,d,53,0,0)|0))if((so(b)|0)==(b|0)){Zn(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function en(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=io(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=io(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=_m(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Zm(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=IN(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=hn(e)|0;f=ab[c[(c[j>>2]|0)+4>>2]&63](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=ab[c[c[j+4>>2]>>2]&63](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(An(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=jn(f)|0;En(k,0,f);l=h;return k|0}function hn(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?17792:e}else e=17792;g=$a[c[e>>2]&31](b)|0;f=ab[c[e+4>>2]&63](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?17668:g;b=c[b+8>>2]|0;b=(b|0)==0?17768:b}else{c[f+4>>2]=17668;b=17768}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function jn(b){b=b|0;var d=0,e=0;c[b+36>>2]=Pp(b,17848,c[4353]|0)|0;c[b+40>>2]=Pp(b,17812,c[4353]|0)|0;d=(so(b)|0)==(b|0);c[b+44>>2]=Pp(b,d?17460:17496,c[4353]|0)|0;d=(so(b)|0)==(b|0);c[b+48>>2]=Pp(b,d?17532:17568,c[4353]|0)|0;c[b+52>>2]=Pp(b,17604,c[4353]|0)|0;d=Lp(b)|0;if(!((d|0)!=0?(e=kn(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,bb[c[e>>2]&31](e,b,1)|0,!(a[d+24>>0]&64)):0))lm(b);to(b,b);return b|0}function kn(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=HN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function ln(b){b=b|0;var d=0,e=0,f=0,g=0;f=Lp(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){xo(b,b);g=b+8|0;Cn(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;gb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=Jp(b)|0;while(1){if(!d)break;e=Kp(d)|0;ln(d)|0;d=e}d=co(b)|0;while(1){if(!d)break;e=eo(b,d)|0;po(b,d)|0;d=e}Nn(b);xo(b,b);if(((((Rp(b,c[b+40>>2]|0)|0)==0?(Rp(b,c[b+36>>2]|0)|0)==0:0)?(Rp(b,c[b+48>>2]|0)|0)==0:0)?(Rp(b,c[b+44>>2]|0)|0)==0:0)?(Rp(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?Em(b)|0:0){d=-1;break}Vo(b);e=b+8|0;Cn(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){Mp(f,b)|0;Zn(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;Ao(b,c[f>>2]|0)|0}gb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Wo(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;hb[c[f>>2]&31](g,b);hb[c[f>>2]&31](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function mn(a){a=a|0;return Sl(c[a+40>>2]|0)|0}function nn(a){a=a|0;var b=0,c=0,d=0;b=0;c=co(a)|0;while(1){if(!c)break;d=(on(a,c,0,1)|0)+b|0;b=d;c=eo(a,c)|0}return b|0}function on(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Qm(a,b)|0;if(f){if(!e)b=0;else b=pn(c[a+44>>2]|0,f+32|0)|0;if(d)b=(pn(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function pn(a,b){a=a|0;b=b|0;var d=0;Rl(a,c[b>>2]|0)|0;d=Sl(a)|0;c[b>>2]=Nl(a)|0;return d|0}function qn(b){b=b|0;return a[b+24>>0]&1|0}function rn(a){a=a|0;return (qn(a)|0)==0|0}function sn(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function tn(a,b){a=a|0;b=b|0;return a|0}function un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1328;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=HN(d|0,f|0,2,0)|0;e=1328;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Yo(a,d)|0;else a=$o(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)bp(a,c)|0;return}function xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function yn(a){a=a|0;return}function zn(a,b,c){a=a|0;b=b|0;c=c|0;return}function An(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=Fn(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=db[c[(c[h+4>>2]|0)+4>>2]&3](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;Gn(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function Bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return cb[c[(c[a+4>>2]|0)+8>>2]&31](c[a+16>>2]|0,b,d,e)|0}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ln(a,b,d,e)|0;a=c[a+64>>2]|0;kb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function Dn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=ro(a)|0;f=a+8|0;b=f;b=Jn(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=cb[d&31](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;pL(173895,81419,g)|0;b=173895}}while(0);l=h;return b|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;ib[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Yo(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=bb[c[b>>2]&31](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function Gn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Yn(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=$o(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=Pp(a,17696,c[4353]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=Pp(a,17732,c[4353]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}bb[c[f>>2]&31](f,h,1)|0;bb[c[b>>2]&31](b,h,1)|0;return}function Hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function Jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Kn(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function Kn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=bb[c[a>>2]&31](a,f,4)|0}l=g;return a|0}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=Kn(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;bb[c[d>>2]&31](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;bb[c[e>>2]&31](e,b,2)|0;bp(a,c[b+24>>2]|0)|0;Zn(a,b);b=1}return b|0}function Mn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[41987]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=bb[c[e>>2]&31](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;Ln(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function Nn(a){a=a|0;c[41987]=a;a=a+64|0;On((c[a>>2]|0)+56|0);On((c[a>>2]|0)+68|0);return}function On(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Kl(e)|0;c[d>>2]=0}b=b+1|0}return}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;if(!(gL(b,c,a)|0))a=0;else a=rJ(b)|0;return a|0}function Qn(a,b){a=a|0;b=b|0;return WL(b,a)|0}function Rn(a){a=a|0;return PL(a)|0}function Sn(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4446]=c[4443];c[4447]=c[4444];c[e>>2]=a;c[e+4>>2]=rJ(a)|0;c[e+8>>2]=0;c[d>>2]=17792;c[d+4>>2]=17668;c[d+8>>2]=17780;a=er(e,d)|0;fp(0);l=b;return a|0}function Tn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Un(a){a=a|0;return 0}function Vn(a,b){a=a|0;b=b|0;a=ZI(b)|0;VN(a|0,0,b|0)|0;return a|0}function Wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=aJ(b,d)|0;if(d>>>0>c>>>0)VN(a+c|0,0,d-c|0)|0;return a|0}function Xn(a,b){a=a|0;b=b|0;_I(b);return}function Yn(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=ab[c[(c[a>>2]|0)+4>>2]&63](c[a+12>>2]|0,b)|0;if(!a)_l(1,81425,d)|0;l=d;return a|0}function Zn(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;hb[c[(c[a>>2]|0)+12>>2]&31](c[a+12>>2]|0,b)}return}function _n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))Zn(c[a+24>>2]|0,b);return}function ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=167040;c[e>>2]=b;c[e+4>>2]=d;c[41992]=167032;a=c[a+40>>2]|0;a=bb[c[a>>2]&31](a,167952,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function co(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function eo(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function fo(a){a=a|0;a=c[a+36>>2]|0;a=bb[c[a>>2]&31](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function go(a,b){a=a|0;b=b|0;var d=0;b=Qm(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=bb[c[d>>2]&31](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=bo(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=so(a)|0;if((e|0)!=(a|0)?(f=bo(e,b,c)|0,f|0):0){io(a,f,1)|0;e=f;break}if(!(Bn(a,1,b,c)|0))e=0;else{e=kn(a,1)|0;e=jo(a,b,c,e,z)|0;ko(a,e);lo(a,e)}}while(0);return e|0}function io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=so(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=bo(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=Lp(a)|0;if(!e)e=0;else{d=io(e,b,d)|0;mo(a,d);return d|0}}}else e=0;return e|0}function jo(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=Yn(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=so(b)|0;if(a[(so(b)|0)+24>>0]&64)No(g,81367,16,0)|0;return g|0}function ko(a,b){a=a|0;b=b|0;do{mo(a,b);a=Lp(a)|0}while((a|0)!=0);return}function lo(b,c){b=b|0;c=c|0;if(a[(so(b)|0)+24>>0]&64)mm(b,c);to(b,c);return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Sl(c[e>>2]|0)|0;if((so(a)|0)==(a|0))d=b+28|0;else d=Yn(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;bb[c[e>>2]&31](e,d,1)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,d,1)|0;return}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=so(a)|0;if(An(a,1,b,g,0)|0){e=g;e=bo(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=bo(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=io(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(An(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=kn(a,1)|0;e=jo(a,h,i,e,z)|0;ko(a,e);lo(a,e);En(a,1,e)}else e=0;l=j;return e|0}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[42001]=b;d=Um(a,b)|0;while(1){if(!d)break;e=Vm(a,d,b)|0;bn(a,d,0);d=e}e=c[a+40>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;e=c[a+36>>2]|0;bb[c[e>>2]&31](e,167988,2)|0;return}function po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(bo(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((so(b)|0)==(b|0)){e=Um(b,d)|0;while(1){if(!e)break;g=Vm(b,e,d)|0;dn(b,e)|0;e=g}if(a[b+24>>0]&64)Gm(d);xo(b,d);Vo(d);g=f;Cn(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(wq(b,d,54,0,0)|0))if((so(b)|0)==(b|0)){Zn(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((Lp(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{_l(1,81451,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=po(a,b)|0;break a}case 2:case 3:{f=dn(a,b)|0;break a}case 0:{f=ln(b)|0;break a}default:{}}while(0);l=h;return f|0}function ro(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function so(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function to(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Do(b,d,100,0);else uo(b,d,c[e+48>>2]|0);return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){uo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function vo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))Do(b,d,101,e);else wo(b,d,e,c[f+48>>2]|0);return}function wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){wo(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)kb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function xo(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))Do(b,d,102,0);else yo(b,d,c[e+48>>2]|0);return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){yo(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)ib[e&127](a,b,c[d+4>>2]|0)}while(0);return}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Yn(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];Zn(a,d);d=0}while(0);return d|0}function Bo(a,b){a=a|0;b=b|0;var d=0;d=so(a)|0;a:do if((d|0)==(so(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=Lp(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(ho(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(en(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function Co(a){a=a|0;return c[a>>2]&3|0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=No(a,81475,44,0)|0;switch(c|0){case 100:{e=Eo(f,b,100)|0;if(!(Fo(e,b)|0))Go(e,a,b,d)|0;break}case 101:{if(((Fo(Eo(f,b,100)|0,b)|0)==0?(Fo(Eo(f,b,102)|0,b)|0)==0:0)?(e=Eo(f,b,101)|0,(Fo(e,b)|0)==0):0)Go(e,a,b,d)|0;break}case 102:{Ho(Eo(f,b,100)|0,b);Ho(Eo(f,b,101)|0,b);e=Eo(f,b,102)|0;if(!(Fo(e,b)|0))Go(e,a,b,d)|0;break}default:_l(1,81487,g)|0}l=h;return}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){_l(1,81521,e)|0;d=0}a=c[d>>2]|0;if(!a){a=ro(b)|0;a=Pp(a,17884,c[4353]|0)|0;c[d>>2]=a}l=g;return a|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=Io(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Yn(ro(d)|0,32)|0;c[f+20>>2]=d;g=Io(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=Yn(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}bb[c[a>>2]&31](a,f,1)|0;return f|0}function Ho(a,b){a=a|0;b=b|0;b=Fo(a,b)|0;if(b|0)bb[c[a>>2]&31](a,b,2)|0;return}function Io(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;Ko(b);Zn(c[b+16>>2]|0,b);return}function Ko(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;Zn(c[b>>2]|0,a);a=d}return}function Lo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(xJ(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}Mo(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else _l(1,81546,i)|0}while(0);l=k;return f|0}function Mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=ro(a)|0;f=Lo(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=Yn(h,d)|0;c[d>>2]=$o(h,b)|0;switch(c[a>>2]&3){case 0:{Oo(a,d);g=d;break a}case 1:{Oo(a,d);g=d;break a}case 2:case 3:{Oo(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)Lo(a,b,1)|0;return g|0}function Oo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))Mo(a,b,0);return}function Po(a,b){a=a|0;b=b|0;var d=0,e=0;e=ro(a)|0;d=Lo(a,b,0)|0;if(!d)b=-1;else{Qo(a,d);if(!(c[a>>2]&3)){Ro(e,a,d);b=d}else{wq(so(e)|0,a,55,d,0)|0;b=d}bp(e,c[d>>2]|0)|0;Zn(e,b);b=0}return b|0}function Qo(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Ro(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;Mo(b,(a|0)==(d|0)?0:a,0)}return}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{No(a,c,g,e)|0;if(!f){b=Jp(a)|0;while(1){if(!b)break a;So(b,0,c,d,e);b=Kp(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=co(a)|0;while(1){if(!b)break a;b:do if(d)No(b,c,g,e)|0;else{f=Pm(a,b)|0;while(1){if(!f)break b;No(f,c,g,e)|0;f=Rm(a,f)|0}}while(0);b=eo(a,b)|0}}default:{}}while(0);return}function To(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{wq(a,a,56,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=co(a)|0;while(1){if(!d)break a;b:do if(e)Po(d,c)|0;else{b=Pm(a,d)|0;while(1){if(!b)break b;Po(b,c)|0;b=Rm(a,b)|0}}while(0);d=eo(a,d)|0}}default:{}}while(0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;Po(b,c)|0;return}function Vo(a){a=a|0;var b=0,d=0,e=0;d=ro(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;bp(d,c[e>>2]|0)|0;Zn(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Wo(a){a=a|0;return Rp(a,Xo(a)|0)|0}function Xo(a){a=a|0;var b=0,d=0;if(!a)d=168024;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=Pp(a,17920,c[4353]|0)|0;c[d>>2]=b;a=167096;c[a>>2]=-2147483648;c[a+4>>2]=0;a=167104;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Yo(a,b){a=a|0;b=b|0;return Zo(Xo(a)|0,b)|0}function Zo(a,b){a=a|0;b=b|0;a=_o(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function _o(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=bb[c[a>>2]&31](a,e,4)|0;l=d;return b|0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Xo(a)|0;d=_o(e,b)|0;if(!d){d=(rJ(b)|0)+24|0;if(!a)d=ZI(d)|0;else d=Yn(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;xK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{e=d+8|0;b=e;b=HN(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Xo(a)|0;d=_o(e,b)|0;if(!d){d=(rJ(b)|0)+24|0;if(!a)d=ZI(d)|0;else d=Yn(a,d)|0;g=167096;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;xK(a,b)|0;c[d+16>>2]=a;bb[c[e>>2]&31](e,d,1)|0}else{g=d+8|0;f=g;f=HN(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Xo(a)|0,e=_o(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=HN(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=167104,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){Qp(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function cp(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=167096;a=c[b>>2]&c[a>>2]}return a|0}function dp(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=167096;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function ep(a){a=a|0;c[4489]=a;return}function fp(a){a=a|0;c[42011]=a;c[4489]=1;return}function gp(a,b){a=a|0;b=b|0;c[42012]=a;c[42013]=b;c[42014]=0;return}function hp(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[42015]|0)){c[42015]=1;if(!(c[42016]|0))c[42016]=1;if(!(c[42007]|0))c[42007]=c[13853];if(!(c[42008]|0))c[42008]=c[13885];k=c[42017]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){ip();k=jp(c[42007]|0,16384)|0;c[c[42017]>>2]=k}kp()}a:while(1){j=c[42018]|0;a[j>>0]=a[173927]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;f=j;b:while(1){h=f;while(1){f=c[17960+(d[h>>0]<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=h}c:while(1){g=f&255;do{f=g+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(f<<1)>>1]|0))break c;k=b[57612+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[18984+(g<<2)>>2]|0}e=b[57822+(f<<1)>>1]|0;f=h+1|0;if((b[56866+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[56680+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[56680+(c[42019]<<1)>>1]|0;f=c[42020]|0}else e=e<<16>>16;c[42009]=j;i=f;c[42010]=i-k;a[173927]=a[f>>0]|0;a[f>>0]=0;c[42018]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[42009]|0;a[f>>0]=a[173927]|0;e=c[42017]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[42022]=n;c[g>>2]=c[42007];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[42022]|0;if((c[42018]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(tp()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[42018]=c[42009];e=(((c[42016]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[173927]|0;f=c[42020]|0;e=c[42019]|0}if((m|0)==128){m=0;g=i-h|0;h=c[42009]|0;f=h+(g+-1)|0;c[42018]=f;e=rp()|0;i=sp(e)|0;j=c[42009]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[42017]>>2]|0)+4>>2]|0)+(c[42022]|0)|0;c[42018]=f;e=rp()|0;j=c[42009]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[42018]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[42009]|0)+(i-h+-1)|0;c[42018]=f;e=rp()|0;j=c[42009]|0;continue}}switch(m|0){case 29:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 32:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=3;continue a}case 35:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;continue a}case 42:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;lp();continue a}case 47:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[42010]|0;if(!e)continue a;c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=5;np();continue a}case 89:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;pp(83714);continue a}case 92:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;pp(81579);continue a}case 95:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[4489]=(c[4489]|0)+1;continue a}case 98:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);continue a}case 101:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=7;c[42021]=1;np();continue a}case 104:{m=0;e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;n=(c[42021]|0)+-1|0;c[42021]=n;if(!n){m=108;break a}pp(c[42009]|0);continue a}case 109:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42021]=(c[42021]|0)+1;pp(e);continue a}case 112:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);c[4489]=(c[4489]|0)+1;continue a}case 115:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;pp(e);continue a}case 121:{m=0;f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;XL(e,f,1,c[42008]|0)|0;continue a}}}switch(m|0){case 27:{e=c[42010]|0;if(!e)l=-1;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[42010]|0;if(!e)l=259;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[42010]|0;if(!e)l=260;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=258;l=258}else l=258;break}case 61:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(!(c[42014]|0)){c[42014]=261;l=261}else l=261;break}case 65:{e=c[42010]|0;if(!e)l=263;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[42010]|0;if(!e)l=262;else{c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==261?264:45;break}case 72:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;l=(c[42014]|0)==258?264:45;break}case 75:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[42037]=$o(c[41987]|0,e)|0;l=267;break}case 78:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;if(mp()|0){m=(c[42010]|0)+-1|0;a[f>>0]=a[173927]|0;n=j+m|0;c[42018]=n;c[42009]=j;c[42010]=m;a[173927]=a[n>>0]|0;a[n>>0]=0;c[42018]=n}c[42037]=$o(c[41987]|0,c[42009]|0)|0;l=267;break}case 86:{e=c[42010]|0;if(e|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[(c[42009]|0)+(e+-1)>>0]|0)==10&1;c[42016]=1;op();l=268;break}case 108:{c[42016]=1;qp();l=268;break}case 118:{f=c[42010]|0;e=c[42009]|0;if(f|0)c[(c[c[42017]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{up(81582);break}}return l|0}function ip(){var a=0,b=0,d=0;b=c[42017]|0;do if(!b){a=Bp(4)|0;c[42017]=a;if(!a)up(81940);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[42028]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=vp(b,a<<2)|0;c[42017]=b;if(!b)up(81940);else{d=b+(c[42028]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[42028]=a;return}function jp(a,b){a=a|0;b=b|0;var d=0;d=Bp(48)|0;if(!d)up(81895);c[d+12>>2]=b;b=Bp(b+2|0)|0;c[d+4>>2]=b;if(!b)up(81895);else{c[d+20>>2]=1;xp(d,a);return d|0}return 0}function kp(){var b=0,d=0;d=c[42017]|0;b=c[d>>2]|0;c[42022]=c[b+16>>2];b=c[b+8>>2]|0;c[42018]=b;c[42009]=b;c[42007]=c[c[d>>2]>>2];a[173927]=a[b>>0]|0;return}function lp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[42009]|0;b=h+1|0;i=(VJ(b,81879,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=cM(b,81884,f)|0;if((f|0)>0?(c[4489]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;Ap(d,b-d|0)}}l=g;return}function mp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[42009]|0)+((c[42010]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(zp()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[42011]|0;cm(h,1024,b);fm(h,81790)|0;fm(h,c[42009]|0)|0;c[f>>2]=c[4489];pL(d,81834,f)|0;fm(h,d)|0;fm(h,(k|0)==0?81784:k)|0;fm(h,81851)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){dm(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;_l(0,81876,i)|0;gm(h);b=1}l=j;return b|0}function np(){var b=0;b=c[42023]|0;if(!b){b=ZI(1024)|0;c[42023]=b;c[42025]=b+1024}c[42024]=b;a[b>>0]=0;return}function op(){c[42037]=$o(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function pp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[42024]|0;d=c[42023]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[42024]=e;f=c[42025]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[42024]=e;f=d;i=g-f<<1;d=aJ(d,i)|0;c[42023]=d;c[42025]=d+i;e=d+(e-f)|0;f=3}c[42024]=e;return}function qp(){c[42037]=ap(c[41987]|0,c[42023]|0)|0;a[c[42023]>>0]=0;return}function rp(){var d=0,e=0,f=0,g=0,h=0;h=c[42018]|0;g=c[42009]|0;e=(c[(c[c[42017]>>2]|0)+28>>2]|0)+(c[42016]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[17960+((d&255)<<2)>>2]|0;if(b[56680+(e<<1)>>1]|0){c[42019]=e;c[42020]=g}a:while(1){f=d&255;do{d=f+(b[56866+(e<<1)>>1]|0)|0;if((e|0)==(b[57076+(d<<1)>>1]|0))break a;d=b[57612+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[18984+(f<<2)>>2]|0}g=g+1|0;e=b[57822+(d<<1)>>1]|0}return e|0}function sp(a){a=a|0;var d=0;if(b[56680+(a<<1)>>1]|0){d=c[42018]|0;c[42019]=a;c[42020]=d}while(1){d=(b[56866+(a<<1)>>1]|0)+1|0;if((a|0)==(b[57076+(d<<1)>>1]|0))break;a=b[57612+(a<<1)>>1]|0}d=b[57822+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function tp(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[42017]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[42009]|0;l=c[42018]|0;k=l;if(l>>>0>(i+((c[42022]|0)+1)|0)>>>0)up(81637);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[42022]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=vp(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[42018]=j;f=c[c[42017]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=bb[c[c[(c[42012]|0)+8>>2]>>2]&31](c[42013]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[42017]>>2]|0;c[42022]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}up(81693)}while(0);do if((m|0)==17)if(!l){wp(c[42007]|0);b=1;d=c[42022]|0;e=c[c[42017]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=vp(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[42017]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)up(81737);else{n=c[42022]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[42022]=n;a[o+n>>0]=0;o=c[42017]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[42022]|0)+1)>>0]=0;c[42009]=c[(c[o>>2]|0)+4>>2]}return b|0}function up(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[13918]|0;c[b>>2]=a;zL(d,81633,b)|0;Ma(2)}function vp(a,b){a=a|0;b=b|0;return aJ(a,b)|0}function wp(a){a=a|0;var b=0,d=0,e=0;d=c[42017]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{ip();b=jp(c[42007]|0,16384)|0;d=c[42017]|0;c[d>>2]=b;if(!d)b=0;else e=4}xp(b,a);kp();return}function xp(a,b){a=a|0;b=b|0;var d=0;d=c[(jJ()|0)>>2]|0;yp(a);c[a>>2]=b;c[a+40>>2]=1;b=c[42017]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(jJ()|0)>>2]=d;return}function yp(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[42017]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))kp()}return}function zp(){var b=0,d=0;d=c[42009]|0;b=(c[42010]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function Ap(a,b){a=a|0;b=b|0;var d=0;d=c[42026]|0;if((d|0)<(b|0)){if(!d)d=ZI(b+1|0)|0;else d=aJ(c[42027]|0,b+1|0)|0;c[42027]=d;c[42026]=b}else d=c[42027]|0;xK(d,a)|0;c[42011]=c[42027];return}function Bp(a){a=a|0;return ZI(a)|0}function Cp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;cm(j,1024,m+1080|0);e=c[42011]|0;if(e|0){fm(j,e)|0;fm(j,81990)|0}fm(j,b)|0;c[f>>2]=c[4489];pL(d,81993,f)|0;fm(j,d)|0;a:do if(!(a[c[42009]>>0]|0))switch(((c[42016]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;pL(d,82013,g)|0;fm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=rJ(b)|0;fm(j,82075)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;fm(j,b)|0;break a}case 3:{c[h>>2]=16384;pL(d,82094,h)|0;fm(j,d)|0;b=c[42023]|0;if(!(a[b>>0]|0))break a;i=rJ(b)|0;fm(j,82162)|0;b=c[42023]|0;if((i|0)>80)a[b+80>>0]=0;fm(j,b)|0;break a}case 1:{c[i>>2]=16384;pL(d,82181,i)|0;fm(j,d)|0;break a}default:break a}else{fm(j,82005)|0;fm(j,c[42009]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){dm(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){dm(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){dm(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;_l(1,81876,k)|0;gm(j);l=m;return}function Dp(){Ep(c[42009]|0);return}function Ep(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[42018]|0;a[j>>0]=a[173927]|0;i=c[42017]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[42022]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[42022]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)up(82240);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[42009]=l;a[173927]=a[b>>0]|0;c[42018]=b;return}function Fp(){var a=0;a=c[42017]|0;if(!a)a=0;else a=c[a>>2]|0;yp(a);return}function Gp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;Sp(a,c[g>>2]|0,17604);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=bb[c[d>>2]&31](d,f,4)|0;l=e;return d|0}function Hp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Gp(b,d,e)|0;if(!f){f=Yn(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;jn(f)|0}return f|0}function Ip(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(An(a,0,b,f,0)|0)!=0:0)?(e=f,e=Gp(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(An(a,0,b,f,1)|0)!=0:0){e=f;e=Hp(a,c[e>>2]|0,c[e+4>>2]|0)|0;En(a,0,e)}else e=0;l=g;return e|0}function Jp(a){a=a|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,0,128)|0}function Kp(a){a=a|0;var b=0;b=Lp(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=bb[c[b>>2]&31](b,a,8)|0}return a|0}function Lp(a){a=a|0;return c[a+56>>2]|0}function Mp(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return bb[c[a>>2]&31](a,b,2)|0}function Np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[42029]|0;e=(b|0)!=0;do if(!a)if(e){_I(b);a=0;break}else{a=ZI(d)|0;break}else if(e){Zn(a,b);a=0;break}else{a=Yn(a,d)|0;break}while(0);return a|0}function Op(a,b,d){a=a|0;b=b|0;d=d|0;a=c[42029]|0;if(!a)_I(b);else Zn(a,b);return}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=2;c[42029]=a;d=Ql(b,d)|0;c[e>>2]=f;c[42029]=0;return d|0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;c[42029]=a;return bb[c[b>>2]&31](b,d,2)|0}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Ll(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=2;c[42029]=a;if(!(Kl(b)|0)){c[d>>2]=e;c[42029]=0;a=0}else a=1;return a|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Ll(b,0,0)|0)!=(c|0):0)Ll(b,c,0)|0;return}function Tp(a,b){a=a|0;b=b|0;if(!(cp(a)|0))b=Vp(a,b)|0;else Up(a,b)|0;return b|0}function Up(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function Vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(gK(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[4795]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(gK(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(gK(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((gK(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(gK(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=19184;while(1){f=c[e>>2]|0;if(!f)break a;if(!(iK(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=82272;while(0);return b|0}function Wp(a){a=a|0;return Tp(a,Xp(a)|0)|0}function Xp(a){a=a|0;var b=0;b=((rJ(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[42031]|0;if(b>>>0>(c[42030]|0)>>>0){if(!a)a=ZI(b)|0;else a=aJ(a,b)|0;c[42031]=a;c[42030]=b}return a|0}function Yp(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=0;break}if((Zp(a)|0)==0?io(a,b,0)|0:0){a=1;break}a=Kp(a)|0}return a|0}function Zp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=Dn(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=om(b)|0;b:do if(d|0?(f=om(Lp(b)|0)|0,f|0):0){h=Sl(c[(om(so(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?xJ(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=jm(b,0)|0;if(d)if((Sl(c[d+8>>2]|0)|0)>0)d=0;else return (Sl(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function _p(b,d){b=b|0;d=d|0;var e=0,f=0;c[42032]=0;e=Im(b,82282)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=BL(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[4795]=f;$p(b,1);if(((aq(b,d,1)|0)!=-1?(bq(b,d)|0)!=-1:0)?(cq(b,d)|0)!=-1:0){c[4795]=128;b=$a[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&31](d)|0}else b=-1;return b|0}function $p(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=Jp(a)|0;while(1){if(!d)break;$p(d,0);d=Kp(d)|0}a:do if(b|0){b=co(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Pm(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Rm(a,d)|0}b=eo(a,b)|0}}while(0);return}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(Lp(b)|0)!=0:0){i=0;g=174181;k=94336}else{k=(a[b+24>>0]&1)==0?174181:82326;g=(sn(b)|0)==0;c[42033]=ym(b,2,96242,0)|0;c[42034]=ym(b,2,96251,0)|0;i=1;g=g?174181:82329}f=Dn(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=87638}else{h=0;j=174181;f=174181}do if((dq(b,d)|0)!=-1?(eq(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((eq(b,d,k)|0)==-1){f=-1;break}if((eq(b,d,87631)|0)==-1){f=-1;break}}if(!g?(pq(b,d,f)|0)==-1:0){f=-1;break}if(((eq(b,d,j)|0)!=-1?(eq(b,d,82337)|0)!=-1:0)?(c[42032]=(c[42032]|0)+1,(uq(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((fq(a,b)|0)==-1)d=-1;else{k=jm(so(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=co(a)|0;while(1){if(!h){d=0;break a}if(gq(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((hq(h,b,d)|0)==-1){d=-1;break a}}g=Pm(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(gq(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((hq(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(iq(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((jq(g,b,e)|0)==-1){d=-1;break a}}g=Rm(a,g)|0}h=eo(a,h)|0}}while(0);return d|0}function cq(a,b){a=a|0;b=b|0;c[42032]=(c[42032]|0)+-1;if((dq(a,b)|0)==-1)a=-1;else a=((eq(a,b,95830)|0)==-1)<<31>>31;return a|0}function dq(a,b){a=a|0;b=b|0;var d=0;d=c[42032]|0;while(1){if((d|0)<=0){d=0;break}if((eq(a,b,134899)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;return ab[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&63](b,d)|0}function fq(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=0;break}if(!(Zp(a)|0)){if((aq(a,b,0)|0)==-1){a=-1;break}if((bq(a,b)|0)==-1){a=-1;break}if((cq(a,b)|0)==-1){a=-1;break}}else fq(a,b)|0;a=Kp(a)|0}return a|0}function gq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((Yp(a,b)|0)==0?(rq(a,b,c,d)|0)!=0:0)if((sq(a,b)|0)==0?(tq(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ro(a)|0;do if((dq(d,b)|0)!=-1?(kq(a,b)|0)!=-1:0){if((mq(a)|0)==0?(nq(a,b,c)|0)==-1:0){a=-1;break}a=eq(d,b,82293)|0}else a=-1;while(0);return a|0}function iq(a,b){a=a|0;b=b|0;a=Jp(a)|0;while(1){if(!a){a=1;break}if((Zp(a)|0)==0?en(a,b,0)|0:0){a=0;break}a=Kp(a)|0}return a|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=ro(g)|0;do if((((((dq(f,b)|0)!=-1?(kq(g,b)|0)!=-1:0)?(lq(a,b,c[42033]|0)|0)!=-1:0)?(g=(qn(ro(g)|0)|0)!=0,(eq(f,b,g?85095:85100)|0)!=-1):0)?(kq(e,b)|0)!=-1:0)?(lq(a,b,c[42034]|0)|0)!=-1:0){if(!(mq(a)|0)){if((nq(a,b,d)|0)==-1){a=-1;break}}else if((oq(a,b,1)|0)==-1){a=-1;break}a=eq(f,b,82293)|0}else a=-1;while(0);return a|0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=Dn(a)|0;f=ro(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;pL(d,82313,g)|0;if((eq(f,b,d)|0)==-1)a=-1;else h=4}else if((pq(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function lq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=ro(b)|0,f=Jm(b,d)|0,(a[f>>0]|0)!=0):0)if((eq(e,c,93017)|0)==-1)b=-1;else{do if(cp(f)|0){if((pq(e,c,f)|0)==-1){b=-1;break a}}else{b=WJ(f,58)|0;if(!b)if((qq(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((qq(e,c,f,0)|0)==-1){b=-1;break a}if((eq(e,c,93017)|0)==-1){b=-1;break a}if((qq(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function mq(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(oq(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=om(a)|0;j=ro(a)|0;c:do if(f){i=f+12|0;h=bb[c[d>>2]&31](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[42033]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[42034]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((eq(j,b,82308)|0)==-1){e=-1;break b}if((dq(j,b)|0)==-1){e=-1;break b}}else{if((dq(j,b)|0)==-1){e=-1;break b}if((eq(j,b,82305)|0)==-1){e=-1;break b}c[42032]=(c[42032]|0)+1}if((pq(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((eq(j,b,82311)|0)==-1){e=-1;break b}if((pq(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=bb[c[d>>2]&31](d,h,8)|0}}while(0);if((e|0)>0){if((eq(j,b,82303)|0)==-1){e=-1;break}c[42032]=(c[42032]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function oq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Dn(b)|0;b=ro(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((eq(b,c,82296)|0)!=-1?(pq(b,c,e)|0)!=-1:0)if((d|0)!=0?(eq(b,c,82303)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function pq(a,b,c){a=a|0;b=b|0;c=c|0;return qq(a,b,c,1)|0}function qq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=Vp(c,Xp(c)|0)|0;else c=Wp(c)|0;return eq(a,b,c)|0}function rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=Sm(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=Tm(a,b)|0}}while(0);return b|0}function sq(a,b){a=a|0;b=b|0;if(!(Sm(a,b)|0))a=(Pm(a,b)|0)==0&1;else a=0;return a|0}function tq(a){a=a|0;var b=0,d=0,e=0;a=om(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=bb[c[e>>2]&31](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=bb[c[e>>2]&31](e,a,8)|0}}while(0);return a|0}function uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=jm(a,0)|0;if(e)if(((vq(a,b,96286,c[e+16>>2]|0,d)|0)!=-1?(vq(a,b,96273,c[e+8>>2]|0,d)|0)!=-1:0)?(vq(a,b,96237,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function vq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Wl(f,0)|0;k=(l|0)==0;j=bb[c[f>>2]&31](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=bb[c[l>>2]&31](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((eq(b,d,82308)|0)==-1){g=-1;break}if((dq(b,d)|0)==-1){g=-1;break}}else{if((dq(b,d)|0)==-1){g=-1;break}if((eq(b,d,e)|0)==-1){g=-1;break}if((eq(b,d,82305)|0)==-1){g=-1;break}c[42032]=(c[42032]|0)+1}if((pq(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((eq(b,d,82311)|0)==-1){g=-1;break}if((pq(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=bb[c[f>>2]&31](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[42032]=(c[42032]|0)+-1;if((g|0)!=1){if((eq(b,d,134901)|0)==-1){g=-1;break}if((dq(b,d)|0)==-1){g=-1;break}}g=(eq(b,d,82340)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Wl(f,l)|0;g=0}while(0);return g|0}function wq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=19;break}case 1:{g=20;break}case 3:case 2:{g=21;break}default:{}}b=ab[g&63](a,b)|0;if(!b)b=-1;else{Aq(a,b,d,e,g,f);b=0}return b|0}function xq(a,b){a=a|0;b=b|0;if((ro(b)|0)!=(a|0))b=en(a,b,0)|0;return b|0}function yq(a,b){a=a|0;b=b|0;if((ro(b)|0)!=(a|0))b=io(a,b,0)|0;return b|0}function zq(a,b){a=a|0;b=b|0;return a|0}function Aq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)ib[c&127](a,b,d);g=Jp(a)|0;while(1){if(!g)break;i=ab[e&63](g,b)|0;if(i|0)Aq(g,i,c,d,e,f);g=Kp(g)|0}if(!h)ib[c&127](a,b,d);return}function Bq(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[42035]=0;c[42036]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=ZI(k*6|3)|0;if(h){TN(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;TN(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{_I(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[82344+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[42036]|0;if((h|0)==-2){h=hp()|0;c[42036]=h}if((h|0)>=1)if(h>>>0<269)i=d[82424+h>>0]|0;else i=2;else{c[42036]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[82693+h>>0]|0):0){p=a[82753+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[42036]=-2;g=g+4|0;c[g>>2]=c[42037];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[82813+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[42036]|0;b:do switch(q|0){case 0:{c[42035]=(c[42035]|0)+1;Cp(125369);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[42036]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[82344+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[42037];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[82893+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{Cq();Dq();break}case 3:{if(c[42038]|0){Cq();Dq();ln(c[42038]|0)|0;c[41987]=0;c[42038]=0}break}case 6:{Eq(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){Gq();break c}else{Fq();break c}case 24:{Hq();break}case 25:{Hq();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{Iq(c[g>>2]|0,0,0);break}case 31:{Iq(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{Iq(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{Jq(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{Jq(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{Kq(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{Kq(c[g>>2]|0,0);break}case 51:{Lq(c[g>>2]|0);break}case 52:{Mq();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=Nq(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[82956+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[83019+e>>0]|0)|0;if(h>>>0<60?(d[82693+h>>0]|0)==(p|0):0){e=a[82753+h>>0]|0;j=q;h=i;break}e=a[83054+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){Cp(125382);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))_I(f);l=t;return e|0}function Cq(){var a=0,b=0;a=c[42039]|0;while(1){if(!a)break;Vq(a+8|0);Vq((c[42039]|0)+24|0);Vq((c[42039]|0)+16|0);b=Oq(c[42039]|0)|0;c[42039]=b;a=b}return}function Dq(){Dp();Mn(c[42038]|0);return}function Eq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[42038]|0;if(!f){a[168160]=d&1|(e&255)<<1&2|a[168160]&-12|8;f=c[42041]|0;a[g>>0]=a[168160]|0;a[g+1>>0]=a[168161]|0;a[g+2>>0]=a[168162]|0;a[g+3>>0]=a[168163]|0;f=gn(b,g,f)|0;c[42038]=f}c[41987]=f;c[42039]=Pq(c[42039]|0,f)|0;bp(0,b)|0;l=h;return}function Fq(){var b=0,d=0,e=0,f=0,g=0,h=0;Uq(2);e=c[42039]|0;f=a[83089]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(xJ(g,83089)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=co(e)|0;while(1){if(!d)continue a;g=io(c[c[42039]>>2]|0,d,0)|0;ar(g,0,c[b>>2]|0,h);d=eo(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;ar(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}Vq((c[42039]|0)+8|0);Vq((c[42039]|0)+16|0);Vq((c[42039]|0)+24|0);c[(c[42039]|0)+4>>2]=0;return}function Gq(){var a=0;Uq(1);a=(c[42039]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;$q(c[a+4>>2]|0);a=a+12|0}Vq((c[42039]|0)+8|0);Vq((c[42039]|0)+24|0);Vq((c[42039]|0)+16|0);c[(c[42039]|0)+4>>2]=0;return}function Hq(){var a=0,b=0;a=c[42039]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=_q(b)|0;a=c[42039]|0}c[a+4>>2]=0}else{b=Zq(b)|0;a=c[42039]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)Rq(a+16|0,b);return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=Xq(b,d)|0;d=Yq(no(c[c[42039]>>2]|0,a,1)|0,b)|0;Rq((c[42039]|0)+8|0,d);bp(c[42038]|0,a)|0;return}function Jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)Tq();d=(c[42039]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))Tq();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;Uq(g);b=c[42039]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[42038]|0))){d=ym(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[42039]|0;if((c[b>>2]|0)!=(c[42038]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}Vq(b+24|0);return}function Kq(a,b){a=a|0;b=b|0;b=Qq(a,b)|0;Rq((c[42039]|0)+24|0,b);return}function Lq(a){a=a|0;var b=0;b=c[42039]|0;c[42039]=Pq(b,Ip(c[b>>2]|0,a,1)|0)|0;bp(c[42038]|0,a)|0;return}function Mq(){var a=0,b=0;a=c[42039]|0;b=c[a>>2]|0;a=Oq(a)|0;c[42039]=a;c[a+4>>2]=b;return}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=rJ(a)|0;d=d+1+(rJ(b)|0)|0;if(d>>>0<1025)d=f;else d=ZI(d)|0;xK(d,a)|0;IL(d,b)|0;e=$o(c[42038]|0,d)|0;bp(c[42038]|0,a)|0;bp(c[42038]|0,b)|0;if((d|0)!=(f|0))_I(d);l=g;return e|0}function Oq(a){a=a|0;var b=0;b=c[(c[42039]|0)+32>>2]|0;Zn(c[42038]|0,a);return b|0}function Pq(a,b){a=a|0;b=b|0;var d=0;d=Yn(c[42038]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function Qq(a,b){a=a|0;b=b|0;return Sq(267,a,b)|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Yn(c[42038]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function Tq(){var a=0;a=l;l=l+16|0;_l(0,83093,a)|0;l=a;return}\nfunction DI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=ZI(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=RN(169980,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;fa(94,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[42534]=0;c[42535]=0;o=0;fa(95,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[42537]|0)/2|0;c[42538]=m;c[42539]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=aa(17,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[42541]|0;e=c[42542]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[42534]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[42534]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[42541]|0;e=c[42542]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[42534]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[42534]=g+1;g=f}}while(0);o=0;ga(27,e|0,c[42534]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[42535]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ga(28,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[42535]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=$(39,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[13918]|0;o=0;c[C>>2]=125503;c[C+4>>2]=192;c[C+8>>2]=125514;aa(13,e|0,125484,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=$(39,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[13918]|0;o=0;c[D>>2]=125503;c[D+4>>2]=200;c[D+8>>2]=125547;aa(13,e|0,125484,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=$(40,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=SN(c[f>>2]|0,G|0,F|0)|0;if(!g)Ua(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[13918]|0;o=0;c[E>>2]=125503;c[E+4>>2]=207;c[E+8>>2]=125585;aa(13,e|0,125484,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;fa(96,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=SN(c[e>>2]|0,G|0,F|0)|0;if(!f)Ua(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ga(29,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[42540]=c[42538];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[42544]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[42536]|0;k=c[e+(c[42539]<<2)>>2]|0;o=0;e=aa(17,u|0,c[c[e+(c[42538]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=aa(17,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[42536]|0;if((c[m+(c[42538]<<2)>>2]|0)!=(n|0)?(c[m+(c[42539]<<2)>>2]|0)!=(n|0):0){o=0;j=_(29,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[42540]|0)){e=0;break}c[42540]=j;e=0;break}o=0;k=_(29,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(30,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ga(29,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=SN(c[e>>2]|0,G|0,F|0)|0;if(!g)Ua(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[42540]|0)){e=0;break}c[42540]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[42544]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;fa(96,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=SN(c[g>>2]|0,G|0,F|0)|0;if(!j)Ua(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[42543]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[42543]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[42543]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}_I(G|0);l=H;return e|0}function EI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[42547]|0)<(a|0)){b=c[42541]|0;if(!b){g=ZI(a<<3)|0;c[42541]=g;if(!g){g=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=523;c[d+8>>2]=125753;zL(g,125484,d)|0;Ua(169980,1)}g=ZI(a<<2)|0;c[42542]=g;if(!g){g=c[13918]|0;c[f>>2]=125503;c[f+4>>2]=527;c[f+8>>2]=125772;zL(g,125484,f)|0;Ua(169980,1)}}else{f=aJ(b,a<<3)|0;c[42541]=f;if(!f){f=c[13918]|0;c[g>>2]=125503;c[g+4>>2]=533;c[g+8>>2]=125792;zL(f,125484,g)|0;Ua(169980,1)}g=aJ(c[42542]|0,a<<2)|0;c[42542]=g;if(!g){g=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=539;c[e+8>>2]=125812;zL(g,125484,e)|0;Ua(169980,1)}}c[42547]=a}l=h;return}function FI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42537]|0)<(a|0)){b=c[42536]|0;if(!b){e=ZI(a<<2)|0;c[42536]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=573;c[d+8>>2]=125708;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a<<2)|0;c[42536]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=580;c[e+8>>2]=125730;zL(d,125484,e)|0;Ua(169980,1)}}c[42537]=a}l=f;return}function GI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function HI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(PI(e,g,a,b)|0))e=f;else break}QI(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[13918]|0;c[h>>2]=125503;c[h+4>>2]=324;c[h+8>>2]=125648;zL(a,125484,h)|0}else if((b|0)==9)QI(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function II(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[42544]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[42544]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((GI(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function KI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42544]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(KI((e-d|0)/52|0,b)|0){d=1;break a}d=c[42544]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function LI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42545]|0)<(a|0)){b=c[42543]|0;if(!b){e=ZI(a<<4)|0;c[42543]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=593;c[d+8>>2]=125611;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a<<4)|0;c[42543]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=599;c[e+8>>2]=125629;zL(d,125484,e)|0;Ua(169980,1)}}c[42545]=a}l=f;return}function MI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[42539]|0;e=c[42538]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[42536]|0)+(e<<2)>>2];a=170152;d=-1}else{a=170152;d=-1}else if(f){c[b+4>>2]=c[(c[42536]|0)+(d<<2)>>2];a=170156;d=1}else{a=170156;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[42536]|0)+(f<<2)>>2]=b;return}function NI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[42540]|0;g=c[42536]|0;b=c[42538]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((GI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[42539]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((GI(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function OI(a,b){a=a|0;b=b|0;c[((a|0)==1?170156:170152)>>2]=b;return}function PI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(GI(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((GI(i,j,f)|0)==1){f=GI(j,i,g)|0;g=1;h=5}else f=0;else{f=GI(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(SI(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function QI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[42535]|0;f=c[42546]|0;if((e|0)<(f|0))h=e;else{RI(f+20|0);h=c[42535]|0}g=c[42544]|0;c[42535]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function RI(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[42546]|0)<(a|0)){b=c[42544]|0;if(!b){e=ZI(a*52|0)|0;c[42544]=e;if(!e){e=c[13918]|0;c[d>>2]=125503;c[d+4>>2]=552;c[d+8>>2]=125669;zL(e,125484,d)|0;Ua(169980,1)}}else{d=aJ(b,a*52|0)|0;c[42544]=d;if(!d){d=c[13918]|0;c[e>>2]=125503;c[e+4>>2]=558;c[e+8>>2]=125688;zL(d,125484,e)|0;Ua(169980,1)}}c[42546]=a}l=f;return}function SI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=GI(a,b,c)|0;if((((f|0)!=3?(g=GI(a,b,d)|0,(g|0)!=3):0)?(h=GI(c,d,a)|0,(h|0)!=3):0)?(e=GI(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((TI(a,b,c)|0)==0?(TI(a,b,d)|0)==0:0)?(TI(c,d,a)|0)==0:0)return (TI(c,d,b)|0)!=0|0;return 1}function TI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((GI(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function UI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=VI(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+JJ(i);d=+JJ(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+JJ(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function VI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=WI(a,b)|0;while(0);return a|0}function WI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function XI(a){a=a|0;_I(c[a>>2]|0);_I(a);return}function YI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[42549]|0;if((i|0)>(c[42548]|0)){if(!d)d=ZI(i<<4)|0;else d=aJ(d,i<<4)|0;c[42549]=d;c[42548]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];UN(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];UN(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];UN(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function ZI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[42550]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=170240+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[42550]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[42552]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=170240+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[42550]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[42555]|0;b=n>>>3;d=170240+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42552]=h;c[42555]=f;w=i;l=x;return w|0}j=c[42551]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[170504+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=170504+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[42551]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[42555]|0;b=n>>>3;d=170240+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[42550]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[42552]=h;c[42555]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[42551]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[170504+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[170504+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[42552]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=170504+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[42551]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=170504+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[42551]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[42552]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[42555]|0;if(b>>>0>15){w=a+n|0;c[42555]=w;c[42552]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[42552]=0;c[42555]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[42553]|0;if(i>>>0>n>>>0){u=i-n|0;c[42553]=u;w=c[42556]|0;v=w+n|0;c[42556]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[42668]|0)){c[42670]=4096;c[42669]=4096;c[42671]=-1;c[42672]=-1;c[42673]=0;c[42661]=0;c[42668]=p&-16^1431655768;a=4096}else a=c[42670]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[42660]|0;if(a|0?(o=c[42658]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[42661]&4)){d=c[42556]|0;c:do if(d){e=170648;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=WN(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=WN(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[42669]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[42658]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[42660]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=WN(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[42670]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((WN(a|0)|0)==(-1|0)){WN(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[42661]=c[42661]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=WN(m|0)|0,s=WN(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[42658]|0)+h|0;c[42658]=b;if(b>>>0>(c[42659]|0)>>>0)c[42659]=b;j=c[42556]|0;do if(j){b=170648;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[42553]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[42557]=c[42672];break}if(g>>>0<(c[42554]|0)>>>0)c[42554]=g;a=g+h|0;b=170648;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=170648;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[42555]|0)==(b|0)){w=(c[42552]|0)+i|0;c[42552]=w;c[42555]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[42550]=c[42550]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=170504+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[42551]=c[42551]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=170504+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[42551]|0;d=1<<b;if(!(a&d)){c[42551]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[42553]|0)+i|0;c[42553]=w;c[42556]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=170648;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[42557]=c[42672];d=a+4|0;c[d>>2]=27;c[b>>2]=c[42662];c[b+4>>2]=c[42663];c[b+8>>2]=c[42664];c[b+12>>2]=c[42665];c[42662]=g;c[42663]=h;c[42665]=0;c[42664]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=170504+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[42551]|0;a=1<<d;if(!(b&a)){c[42551]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[42554]|0;if((w|0)==0|g>>>0<w>>>0)c[42554]=g;c[42662]=g;c[42663]=h;c[42665]=0;c[42559]=c[42668];c[42558]=-1;c[42563]=170240;c[42562]=170240;c[42565]=170248;c[42564]=170248;c[42567]=170256;c[42566]=170256;c[42569]=170264;c[42568]=170264;c[42571]=170272;c[42570]=170272;c[42573]=170280;c[42572]=170280;c[42575]=170288;c[42574]=170288;c[42577]=170296;c[42576]=170296;c[42579]=170304;c[42578]=170304;c[42581]=170312;c[42580]=170312;c[42583]=170320;c[42582]=170320;c[42585]=170328;c[42584]=170328;c[42587]=170336;c[42586]=170336;c[42589]=170344;c[42588]=170344;c[42591]=170352;c[42590]=170352;c[42593]=170360;c[42592]=170360;c[42595]=170368;c[42594]=170368;c[42597]=170376;c[42596]=170376;c[42599]=170384;c[42598]=170384;c[42601]=170392;c[42600]=170392;c[42603]=170400;c[42602]=170400;c[42605]=170408;c[42604]=170408;c[42607]=170416;c[42606]=170416;c[42609]=170424;c[42608]=170424;c[42611]=170432;c[42610]=170432;c[42613]=170440;c[42612]=170440;c[42615]=170448;c[42614]=170448;c[42617]=170456;c[42616]=170456;c[42619]=170464;c[42618]=170464;c[42621]=170472;c[42620]=170472;c[42623]=170480;c[42622]=170480;c[42625]=170488;c[42624]=170488;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[42556]=v;c[42553]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[42557]=c[42672]}while(0);b=c[42553]|0;if(b>>>0>n>>>0){u=b-n|0;c[42553]=u;w=c[42556]|0;v=w+n|0;c[42556]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(jJ()|0)>>2]=12;w=0;l=x;return w|0}function _I(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[42554]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[42555]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[42552]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[42550]=c[42550]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=170504+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[42551]=c[42551]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[42556]|0)==(j|0)){j=(c[42553]|0)+b|0;c[42553]=j;c[42556]=i;c[i+4>>2]=j|1;if((i|0)!=(c[42555]|0))return;c[42555]=0;c[42552]=0;return}if((c[42555]|0)==(j|0)){j=(c[42552]|0)+b|0;c[42552]=j;c[42555]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[42550]=c[42550]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=170504+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[42551]=c[42551]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[42555]|0)){c[42552]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=170240+(a<<1<<2)|0;b=c[42550]|0;a=1<<a;if(!(b&a)){c[42550]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=170504+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[42551]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[42551]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[42558]|0)+-1|0;c[42558]=j;if(!j)a=170656;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[42558]=-1;return}function $I(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=ZI(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;VN(a|0,0,d|0)|0;return a|0}function aJ(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=ZI(b)|0;return b|0}if(b>>>0>4294967231){c[(jJ()|0)>>2]=12;b=0;return b|0}d=bJ(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=ZI(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;TN(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;_I(a);b=d;return b|0}function bJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[42670]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;cJ(k,d);return a|0}if((c[42556]|0)==(i|0)){k=(c[42553]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[42556]=e;c[42553]=d;return a|0}if((c[42555]|0)==(i|0)){e=(c[42552]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[42552]=d;c[42555]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[42550]=c[42550]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=170504+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[42551]=c[42551]&~(1<<d);break}}else{c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;cJ(i,k);return a|0}return 0}function cJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[42555]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[42552]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[42550]=c[42550]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=170504+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[42551]=c[42551]&~(1<<d);break}}else{c[g+16+(((c[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[42556]|0)==(i|0)){i=(c[42553]|0)+b|0;c[42553]=i;c[42556]=h;c[h+4>>2]=i|1;if((h|0)!=(c[42555]|0))return;c[42555]=0;c[42552]=0;return}if((c[42555]|0)==(i|0)){i=(c[42552]|0)+b|0;c[42552]=i;c[42555]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[42550]=c[42550]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=170504+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[42551]=c[42551]&~(1<<b);break}}else{c[g+16+(((c[g+16>>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[42555]|0)){c[42552]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=170240+(b<<1<<2)|0;a=c[42550]|0;b=1<<b;if(!(a&b)){c[42550]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;e=(i+520192|0)>>>16&4;i=i<<e;b=(i+245760|0)>>>16&2;b=14-(e|g|b)+(i<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=170504+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[42551]|0;d=1<<b;if(!(a&d)){c[42551]=a|d;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function dJ(a,b){a=a|0;b=b|0;if(a>>>0<9){b=ZI(b)|0;return b|0}else{b=eJ(a,b)|0;return b|0}return 0}function eJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(jJ()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=ZI(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;cJ(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;cJ(f,i)}i=b+8|0;return i|0}function fJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=kJ(c[a+60>>2]|0)|0;a=iJ(Da(6,d|0)|0)|0;l=b;return a|0}function gJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=iJ(ua(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function hJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((iJ(ta(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function iJ(a){a=a|0;if(a>>>0>4294963200){c[(jJ()|0)>>2]=0-a;a=-1}return a|0}function jJ(){return 170696}function kJ(a){a=a|0;return a|0}function lJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=9;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ca(54,f|0)|0):0)a[b+75>>0]=-1;f=mJ(b,d,e)|0;l=g;return f|0}function mJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=iJ(va(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=iJ(va(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function nJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=iJ(Ea(91,e|0)|0)|0;l=d;return b|0}function oJ(){return}function pJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(jJ()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=iJ(wa(192,h|0)|0)|0}else{c[(jJ()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function qJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(rJ(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function rJ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function sJ(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[125833+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=125921;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=125921;else{f=125921;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return tJ(f,c[e+20>>2]|0)|0}function tJ(a,b){a=a|0;b=b|0;return uJ(a,b)|0}function uJ(a,b){a=a|0;b=b|0;if(!b)b=0;else b=vJ(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function vJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=wJ(c[b+8>>2]|0,o)|0;f=wJ(c[b+12>>2]|0,o)|0;g=wJ(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=wJ(c[b+(g<<2)>>2]|0,o)|0;g=wJ(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=xJ(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=wJ(c[b+(f<<2)>>2]|0,o)|0;f=wJ(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function wJ(a,b){a=a|0;b=b|0;var c=0;c=QN(a|0)|0;return ((b|0)==0?a:c)|0}function xJ(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function yJ(a){a=a|0;return sJ(a,c[(zJ()|0)+188>>2]|0)|0}function zJ(){return AJ()|0}function AJ(){return 55800}function BJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function CJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function DJ(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=NN(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+DJ(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function EJ(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function FJ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function GJ(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=NN(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=HJ(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=NN(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=NN(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function HJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[56044+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[56060+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+IJ(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<<u)|0;c[s>>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+IJ(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[56060+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+IJ(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+IJ(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10840+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function IJ(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=ON(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function JJ(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=HN(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function KJ(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function LJ(a,b){a=+a;b=+b;return +(+KJ(a,b))}function MJ(a,b){a=+a;b=b|0;return +(+IJ(a,b))}function NJ(a,b){a=+a;b=+b;return +(+OJ(a,b))}function OJ(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=NN(i|0,l|0,52)|0;e=e&2047;m=NN(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=ON(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=PJ(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=ON(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=ON(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=ON(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=ON(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=ON(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=ON(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=ON(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=IN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=ON(f|0,d|0,1)|0;g=z;e=e+-1|0;f=IN(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=ON(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=HN(f|0,d|0,0,-1048576)|0;d=z;e=ON(e|0,0,52)|0;d=d|z;e=o|e}else{e=NN(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function PJ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function QJ(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=NN(s|0,r|0,52)|0;i=NN(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}RJ(m,n,b);RJ(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function RJ(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function SJ(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+BJ(a,0.0,0);h[d>>3]=+EJ(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=GJ(a,g)|0;m=g+8|0;e=+BJ(+h[g>>3],+h[m>>3],1);a=+EJ(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function TJ(a,b){a=+a;b=b|0;return +(+DJ(a,b))}function UJ(a){a=a|0;if(a>>>0<131072)a=(d[127725+((d[127725+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function VJ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function WJ(b,c){b=b|0;c=c|0;b=qJ(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function XJ(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;c=$J(a,b,c,-1,0)|0;return c|0}function ZJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function _J(a){a=a|0;return (a+-48|0)>>>0<10|0}function $J(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;aK(h,0);d=bK(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function bK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(jJ()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0}while((XJ(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=cK(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if((d[130894+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){aK(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[130894+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;aK(b,0);c[(jJ()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=GN(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=HN(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=cK(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[131150+((e*23|0)>>>5&7)>>0]|0;f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=NN(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0<k>>>0|(m|0)==(k|0)&l>>>0<i>>>0)){f=k;n=72;break}else j=k;while(1){i=ON(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[130894+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=LN(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=GN(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=HN(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=cK(b)|0;f=a[130894+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[130894+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0}while(e>>>0>(d[130894+i>>0]|0)>>>0);c[(jJ()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(jJ()|0)>>2]=34;g=HN(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(jJ()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=IN(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function cK(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=dK(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function dK(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((eK(a)|0)==0?(bb[c[a+32>>2]&31](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function eK(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)bb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function fK(a){a=a|0;return (a+-48|0)>>>0<10|0}function gK(a){a=a|0;if(!(hK(a)|0))a=(_J(a)|0)!=0&1;else a=1;return a|0}function hK(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function iK(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=jK(f)|0,(f|0)!=(jK(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=jK(b&255)|0;return g-(jK(d[c>>0]|0)|0)|0}function jK(a){a=a|0;var b=0;b=(kK(a)|0)==0;return (b?a:a|32)|0}function kK(a){a=a|0;return (a+-65|0)>>>0<26|0}function lK(a){a=a|0;return mK(a,0)|0}function mK(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(nK(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[59170+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[59170+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[59170+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[58682+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[58682+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[58682+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function nK(a){a=a|0;if(a>>>0<131072)a=(d[131159+((d[131159+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function oK(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function pK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=jK(f)|0,(g|0)!=(jK(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=jK(b&255)|0;b=b-(jK(d[c>>0]|0)|0)|0}return b|0}function qK(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function rK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?170764:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(vK()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[55208+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(jJ()|0)>>2]=84;f=-1}l=k;return f|0}function sK(a,b){a=a|0;b=b|0;if(!a)a=0;else a=tK(a,b,0)|0;return a|0}function tK(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(uK()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(jJ()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(jJ()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function uK(){return AJ()|0}function vK(){return AJ()|0}function wK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(134135)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134142+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(134214)|0;if(d|0?a[d>>0]|0:0)break;d=134219}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=134219;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((xJ(k,134219)|0)!=0?(xJ(k,134227)|0)!=0:0){d=c[42692]|0;if(d|0)do{if(!(xJ(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);pa(170772);d=c[42692]|0;c:do if(d|0){while(1){if(!(xJ(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Fa(170772);break b}while(0);d:do if(((c[42677]|0)==0?(g=Na(134233)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=qJ(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){TN(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;TN(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=qa(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=ZI(28)|0;if(!d){nJ(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;TN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42692];c[42692]=d;break}}else m=41;while(0);if((m|0)==41){d=ZI(28)|0;if(d){c[d>>2]=c[13790];c[d+4>>2]=c[13791];o=d+8|0;TN(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[42692];c[42692]=d}}Fa(170772);d=(b|0)==0&(d|0)==0?55160:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=55160;break}d=0}while(0);l=p;return d|0}function xK(a,b){a=a|0;b=b|0;yK(a,b)|0;return a|0}function yK(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function zK(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function AK(a){a=a|0;if(!a)a=0;else a=(BK(56324,a)|0)!=0&1;return a|0}function BK(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((oK(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function CK(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=DK(a)|0;break}case 2:{a=nK(a)|0;break}case 3:{a=EK(a)|0;break}case 4:{a=FK(a)|0;break}case 5:{a=fK(a)|0;break}case 6:{a=GK(a)|0;break}case 7:{a=HK(a)|0;break}case 8:{a=qK(a)|0;break}case 9:{a=UJ(a)|0;break}case 10:{a=AK(a)|0;break}case 11:{a=IK(a)|0;break}case 12:{a=JK(a)|0;break}default:a=0}while(0);return a|0}function DK(a){a=a|0;if(!(fK(a)|0))a=(nK(a)|0)!=0&1;else a=1;return a|0}function EK(a){a=a|0;return zK(a)|0}function FK(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function GK(a){a=a|0;if(!(AK(a)|0))a=(qK(a)|0)!=0&1;else a=0;return a|0}function HK(a){a=a|0;return (lK(a)|0)!=(a|0)|0}function IK(a){a=a|0;return (KK(a)|0)!=(a|0)|0}function JK(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function KK(a){a=a|0;return mK(a,1)|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=56412;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(jJ()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=MK(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function MK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((NK(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=OK(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=NK(b,d,n,q,p)|0;if(h){bb[c[b+36>>2]&31](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=NK(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)PK(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function NK(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(jJ()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)QK(d,r,j);if(j|0)continue;u=(_J(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<<u&75913|0)==0)m=0;else{m=0;do{m=1<<(k<<24>>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<<u&75913|0)==0))}if(k<<24>>24==42){if((_J(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=RK(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=RK(D)|0;j=c[D>>2]|0;break}if(_J(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(134246+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}SK(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=UK(j,k,x)|0;m=y-o|0;q=0;n=134710;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=IN(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=134710;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?134710:134712):134711;v=67;break d}}case 117:{k=E;m=0;n=134710;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=134710;o=x;k=1;break}case 109:{k=yJ(c[(jJ()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:134720;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){WK(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=XK(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=134710;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=TK(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?134710:134710+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=VK(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=ZJ(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=134710;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=sK(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}WK(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=sK(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}QK(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;WK(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;WK(d,32,m,s,j);QK(d,n,q);WK(d,48,m,s,j^65536);WK(d,48,o,p,0);QK(d,r,p);WK(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;SK(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function OK(a){a=a|0;return 0}function PK(a){a=a|0;return}function QK(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ZK(b,d,a)|0;return}function RK(b){b=b|0;var d=0,e=0;if(!(_J(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((_J(a[e>>0]|0)|0)!=0)}return d|0}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function TK(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[134758+(b&15)>>0]|0|f;b=NN(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function UK(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=NN(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function VK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=MN(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=LN(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function WK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;VN(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{QK(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}QK(a,f,e)}l=g;return}function XK(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;YK(e)|0;if((z|0)<0){e=-e;C=1;B=134727}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?134728:134733):134730}YK(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;WK(b,32,f,j,h&-65537);QK(b,B,C);QK(b,e!=e|0.0!=0.0?(G?134895:134754):G?134746:134750,3);WK(b,32,f,j,h^8192)}else{r=+TJ(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=VK(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[134758+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;WK(b,32,f,F,h);QK(b,s,q);WK(b,48,f,F,h^65536);QK(b,G,k);WK(b,48,j-k|0,0,0);QK(b,o,E);WK(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=ON(c[j>>2]|0,0,o|0)|0;x=HN(x|0,z|0,m|0,0)|0;y=z;v=MN(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=LN(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=VK(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;WK(b,32,f,j,h);QK(b,B,C);WK(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=VK(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){VN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}QK(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)QK(b,134774,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=VK(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){VN(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}QK(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}WK(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=VK(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;QK(b,m,1);if(s&(k|0)<1){m=n;break}QK(b,134774,1);m=n}else{if(m>>>0<=G>>>0)break;VN(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;QK(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}WK(b,48,k+18|0,18,0);QK(b,v,E-v|0)}WK(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function YK(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function ZK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(_K(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=bb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=bb[c[e+36>>2]&31](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);TN(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function _K(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function $K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;TN(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function aL(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=134776;f=97;while(1){if(e<<24>>24==f<<24>>24?(xJ(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function bL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{pa(170780);if((b|0)!=6){d=cL(b,d)|0;Fa(170780);break}if(!d){d=176254;b=0}else{b=g;e=134849;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=qJ(d,59)|0;e=b-d|0;if((e|0)<16){TN(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}cL(f,g)|0;f=f+1|0}while((f|0)!=6);d=176254;b=0}while(1){f=c[170740+(b<<2)>>2]|0;f=f|0?f+8|0:134865;e=rJ(f)|0;TN(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;Fa(170780);d=176254}while(0);l=h;return d|0}function cL(a,b){a=a|0;b=b|0;if(!b)a=c[170740+(a<<2)>>2]|0;else{b=wK(a,b)|0;c[170740+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:134865)|0}function dL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function eL(a){a=a|0;return fL(a)|0}function fL(a){a=a|0;return PN(a|0)|0}function gL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=OK(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)PK(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=ZJ(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;TN(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=dK(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)PK(f)}return b|0}function hL(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=WJ(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=iL(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=jL(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=kL(b,c)|0;break}else{b=lL(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function iL(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function jL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function kL(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function lL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(dL(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=ZJ(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function mL(a,b,c){a=a|0;b=b|0;c=c|0;nL(a,b,c)|0;return a|0}function nL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);VN(b|0,0,e|0)|0;return b|0}function oL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=qL(a,b,f)|0;l=e;return d|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;return LK(a,2147483647,b,c)|0}function rL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)sL(a,d,e,f,j);else uL(a,d,e,k,f,0,j);if((f|0)==1){vL(k,1);f=0;break}else{vL(k,b);f=1;break}}else{sL(a,d,e,f,j);tL(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}uL(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){vL(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;tL(k,1);uL(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);vL(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;uL(h,d,e,k,n,1,j);a=h;f=n;continue}b=wL(k)|0;tL(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function sL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((ab[d&63](a,g)|0)>-1?(ab[d&63](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((ab[d&63](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);yL(b,m,e);l=n;return}function tL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function uL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(ab[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((ab[d&63](g,j)|0)>-1){i=10;break a}if((ab[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=wL(n)|0;tL(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((ab[d&63](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){yL(b,o,e);sL(a,b,d,f,h)}l=p;return}function vL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function wL(a){a=a|0;var b=0;b=xL((c[a>>2]|0)+-1|0)|0;if(!b){b=xL(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function xL(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function yL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;TN(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;TN(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=MK(a,b,f)|0;l=e;return d|0}function AL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;oa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function BL(a,b,c){a=a|0;b=b|0;c=c|0;c=$J(a,b,c,-2147483648,0)|0;return c|0}function CL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){VN(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=qJ(b,e<<24>>24)|0;l=h;return e-b|0}function DL(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[42697]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(oL(b,d)|0)|0;if(!(a[b>>0]|0)){c[42697]=0;b=0;break}d=b+(CL(b,d)|0)|0;c[42697]=d;if(!(a[d>>0]|0)){c[42697]=0;break}else{c[42697]=d+1;a[d>>0]=0;break}}while(0);return b|0}function EL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function FL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(oL(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(CL(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function GL(a){a=a|0;var b=0,c=0;b=(rJ(a)|0)+1|0;c=ZI(b)|0;if(!c)a=0;else a=TN(c|0,a|0,b|0)|0;return a|0}function HL(a,b){a=a|0;b=b|0;return EL(a,b,(rJ(a)|0)+1|0)|0}function IL(a,b){a=a|0;b=b|0;xK(a+(rJ(a)|0)|0,b)|0;return a|0}function JL(b,c){b=b|0;c=c|0;c=b+(CL(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function KL(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(OK(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function LL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=OK(a)|0;else f=0;ML(a);g=(c[a>>2]&1|0)!=0;if(!g){e=NL()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;OL()}b=PL(a)|0;b=$a[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d|0)_I(d);if(g){if(f|0)PK(a)}else _I(a);return b|0}function ML(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(RL()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function NL(){pa(170792);return 170800}function OL(){Fa(170792);return}function PL(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=QL(a)|0;break}d=(OK(a)|0)==0;b=QL(a)|0;if(!d)PK(a)}else{if(!(c[13917]|0))b=0;else b=PL(c[13917]|0)|0;a=c[(NL()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=OK(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=QL(a)|0|b;if(d|0)PK(a);a=c[a+56>>2]|0}while((a|0)!=0);OL()}while(0);return b|0}function QL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)bb[c[a+40>>2]&31](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function RL(){return AJ()|0}function SL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(WJ(134882,a[d>>0]|0)|0){e=ZI(1156)|0;if(!e)e=0;else{VN(e|0,0,124)|0;if(!(WJ(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(WJ(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;za(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=za(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;za(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ca(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=6;c[e+36>>2]=9;c[e+40>>2]=7;c[e+12>>2]=15;if(!(c[42676]|0))c[e+76>>2]=-1;TL(e)|0}}else{c[(jJ()|0)>>2]=22;e=0}l=k;return e|0}function TL(a){a=a|0;var b=0,d=0;b=NL()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;OL();return a|0}function UL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(VL()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[55208+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(jJ()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function VL(){return AJ()|0}function WL(a,b){a=a|0;b=b|0;var c=0;c=rJ(a)|0;return ((XL(a,1,c,b)|0)!=(c|0))<<31>>31|0}function XL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(OK(e)|0)==0;a=ZK(a,f,e)|0;if(!g)PK(e)}else a=ZK(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function YL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(_K(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((bb[c[b+36>>2]&31](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function ZL(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=134867;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=ya(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(za(221,e|0)|0)>=0):0){ZL(e,a);c[f>>2]=e;c[f+4>>2]=b;b=iJ(xa(195,f|0)|0)|0}else b=iJ(d)|0;l=g;return b|0}function $L(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=iJ(Aa(33,e|0)|0)|0;l=d;return b|0}function aM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(WJ(134882,a[d>>0]|0)|0){f=bM(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=iJ(Ba(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;za(221,g|0)|0}b=SL(e,d)|0;if(!b){c[h>>2]=e;Da(6,h|0)|0;b=0}}else b=0}else{c[(jJ()|0)>>2]=22;b=0}l=i;return b|0}function bM(b){b=b|0;var c=0,d=0,e=0;d=(WJ(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(WJ(b,120)|0)==0;d=e?d:d|128;b=(WJ(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function cM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=dM(a,b,f)|0;l=e;return d|0}function dM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=18;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=fM(e,b,d)|0;l=g;return h|0}function eM(a,b,c){a=a|0;b=b|0;c=c|0;return nM(a,b,c)|0}function fM(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=OK(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(XJ(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(_J(n&255)|0?(a[p+2>>0]|0)==36:0){w=gM(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(_J(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((_J(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{hM(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{aK(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0}while((XJ(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}aK(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0<n>>>0)c[y>>2]=p+1;else{if((cK(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){VN(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;VN(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=ZI(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(rK(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=aJ(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(iM(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=ZI(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=cK(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=aJ(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=cK(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+jM(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=bK(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{hM(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;aK(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=cK(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(XJ(d[k>>0]|0)|0))break;else m=k}aK(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=cK(b)|0}while((XJ(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){_I(j);_I(i)}}else e=0;while(0);if(K|0)PK(b);l=L;return e|0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function hM(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function iM(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function jM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0}while((XJ(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=cK(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[134886+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=cK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[134895+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=cK(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=cK(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(jJ()|0)>>2]=22;aK(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=cK(b)|0;if((e|32|0)==120){g=+kM(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+lM(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(jJ()|0)>>2]=22;aK(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function kM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=cK(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=cK(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=cK(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=cK(a)|0;l=HN(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=HN(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=cK(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else aK(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=HN(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=mM(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){aK(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=ON(q|0,p|0,2)|0;l=HN(l|0,z|0,-32,-1)|0;l=HN(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(jJ()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(jJ()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=HN(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=IN(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=HN(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+LJ(+IJ(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(jJ()|0)>>2]=34;h=+MJ(h,l)}while(0);return +h}function lM(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=cK(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;if((b|0)==48){k=0;b=0;while(1){k=HN(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=HN(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=cK(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=mM(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){aK(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=HN(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(jJ()|0)>>2]=22;aK(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(jJ()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0<a>>>0){c[(jJ()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[56536+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[56536+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[56536+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=ON(c[p>>2]|0,0,29)|0;k=HN(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=LN(k|0,m|0,1e9,0)|0;k=MN(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[56568+(p<<2)>>2]|0;if(n>>>0<o>>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+LJ(+IJ(1.0,105-n|0),j);r=+NJ(j,+IJ(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+NJ(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(jJ()|0)>>2]=34}while(0);i=+MJ(i,b)}while(0);l=J;return +i}function mM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=GN(g|0,b|0,10,0)|0;g=z;e=HN(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=HN(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=cK(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=IN(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function nM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=ZJ(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;TN(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function oM(a,b,c){a=a|0;b=b|0;c=c|0;return pM(a,b,c)|0}function pM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(OK(a)|0)==0;b=qM(a,b,d)|0;if(!e)PK(a)}else b=qM(a,b,d)|0;return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(bb[c[a+36>>2]&31](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((bb[c[a+40>>2]&31](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function rM(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(XJ(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(_J(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((_J(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function sM(a){a=a|0;return +(+tM(a,0))}function tM(a,b){a=a|0;b=b|0;return +(+uM(a,b,1))}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;aK(h,0);e=+jM(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function vM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=ab[e&63](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function wM(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=GN((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=HN(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=NN(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function xM(a){a=a|0;TN(173876,58668,6)|0;TN(58668,a|0,6)|0;return 173876}function yM(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;xM(d)|0;l=c;return}function zM(a){a=a|0;var b=0;b=wM(a,58674)|0;b=ON(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function AM(){return +(+zM(58668))}function BM(a,b){a=a|0;b=b|0;if(!a)b=$I(1,24)|0;else VN(b|0,0,24)|0;return b|0}function CM(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{_I(c[b>>2]|0);d=b;b=c[b+4>>2]|0;_I(d)}while((b|0)!=0);_I(a);return}function DM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=ZI(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=ZI(g)|0;c[j>>2]=b;d=b;if(!b){_I(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)VN(b|0,0,d|0)|0}else b=0;while(0);return b|0}function EM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=FM()|0;a:do if(!t)b=12;else{u=BM(0,0)|0;if(!u){GM(t);b=12;break}VN(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=HM(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=$I(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=IM(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=ZI((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;VN(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=$I(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=$I(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=IM(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=JM(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=KM(u,0,0,b)|0;if((b|0)!=0?(s=LM(u,i,b)|0,(s|0)!=0):0){b=MM(u,t,s)|0;if(!b){o=ZI(c[p>>2]<<2)|0;if(o){q=ZI(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)VN(o|0,0,b<<2|0)|0;NM(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=$I(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=NM(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=$I(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=ZI(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}TN(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;CM(u);GM(t);_I(o);_I(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);CM(u);GM(t);if(h|0)_I(f);if(i|0)_I(e);c[a+4>>2]=g;OM(a)}while(0);l=v;return b|0}function FM(){var a=0,b=0;a=ZI(20)|0;do if(a){b=ZI(2048)|0;c[a+16>>2]=b;if(!b){_I(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function GM(a){a=a|0;_I(c[a+16>>2]|0);_I(a);return}function HM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=SM(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=KM(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=fN(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=gN(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=KM(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=aN(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=LM(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=bN(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=bN(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=hN(b,d,TM(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=UM(t)|0;h=h+-1|0;i=UM(t)|0}if((j|0)==40){f=1;d=bN(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=RM(t,f)|0;if(d|0)break a;d=RM(t,g)|0;if(d|0)break a;d=SM(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function IM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=QM(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=ZI((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=ZI((c[g>>2]<<2)+4|0)|0;if(!A){_I(z);g=12;break}c[A>>2]=-1;B=ZI((c[g>>2]<<3)+8|0)|0;if(!B){_I(z);_I(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);RM(d,e)|0;g=SM(d,0)|0;a:do if((g|0)!=0|(QM(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(TM(d)|0){case 6:{i=TM(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=UM(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=ZI((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=SM(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=SM(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=RM(d,q)|0;if(!g){g=SM(d,5)|0;if(!g){g=RM(d,j)|0;if(!g){g=SM(d,0)|0;if(!g){i=k+20|0;g=SM(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=SM(d,g)|0;if(!g){g=SM(d,4)|0;if(!g){g=RM(d,k)|0;if(!g){p=i;g=SM(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=SM(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=SM(d,m)|0;if(g|0){p=t;o=s;break c}g=SM(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=RM(d,q)|0;if(!g){g=SM(d,1)|0;if(!g){g=RM(d,c[i>>2]|0)|0;if(!g){g=SM(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=SM(d,i?p:t)|0;if(!g){g=SM(d,i?t:m)|0;if(!g){g=RM(d,e)|0;if(!g){g=SM(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=RM(d,q)|0;if(!g){g=RM(d,j)|0;if(!g){g=RM(d,k)|0;if(!g){g=SM(d,3)|0;if(!g){g=RM(d,j)|0;if(!g){g=SM(d,0)|0;if(g|0){p=t;o=s;break c}g=SM(d,2)|0;if(g|0){p=t;o=s;break c}g=RM(d,k)|0;if(g|0){p=t;o=s;break c}g=SM(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=cN(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}dN(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=UM(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(TM(d)|0)+i;i=0;l=-1}else{q=TM(d)|0;r=TM(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=TM(d)|0;j=TM(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=UM(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=UM(d)|0;o=UM(d)|0;g=UM(d)|0;e=TM(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=UM(d)|0;i=TM(d)|0;k=TM(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=eN(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=eN(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(QM(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(dN(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;_I(z);_I(A);_I(B)}while(0);return g|0}function JM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=QM(b)|0;c[t>>2]=0;c[x>>2]=0;d=RM(b,d)|0;a:do if(!d){d=SM(b,0)|0;if(!d){b:do if((QM(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=TM(b)|0;r=UM(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=RM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=RM(b,c[h+4>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=SM(b,j)|0;if(d|0)break b;d=RM(b,r)|0;if(d|0)break b;d=SM(b,1)|0;if(d|0)break b;d=RM(b,c[h>>2]|0)|0;if(d|0)break b;d=SM(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=SM(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=TM(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=$M(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=LM(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=$M(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=$M(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=aN(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=$M(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=LM(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=KM(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=bN(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=LM(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((QM(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function KM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=DM(a,0,0,1,20)|0;a=_M(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function LM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=DM(a,0,0,1,8)|0;a=_M(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function MM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=QM(b)|0;d=RM(b,d)|0;a:do if(!d){d=SM(b,0)|0;if(!d)if((QM(b)|0)>(m|0)){b:while(1){h=TM(b)|0;i=UM(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=VM(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=VM(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=WM(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=WM(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=VM(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=VM(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,1)|0;if(d|0)break a;e=i+4|0;d=RM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(d|0)break a;d=RM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}case 1:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,2)|0;if(d|0)break a;e=i+4|0;d=RM(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(d|0)break a;d=RM(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}case 2:{d=RM(b,i)|0;if(d|0)break a;d=SM(b,3)|0;if(d|0)break a;d=RM(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=SM(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=XM(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=XM(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=YM(b,d,0,0,j)|0;if(d|0)break b;e=ZI((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=YM(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=XM(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;_I(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=YM(b,d,0,0,j)|0;if(d|0)break b;e=ZI((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=YM(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=XM(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;_I(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((QM(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)_I(e);else if((n|0)==52)_I(e)}else d=0}while(0);l=o;return d|0}function NM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=PM(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=NM(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=PM(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=NM(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function OM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){_I(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){_I(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)_I(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)_I(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}_I(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){_I(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}_I(a)}a=c[h+32>>2]|0;if(a|0)_I(a);a=c[h+20>>2]|0;if(a|0)_I(a);a=c[h+36>>2]|0;if(a|0)_I(a);_I(h)}return}function PM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=ZI(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)_I(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=ZI((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function QM(a){a=a|0;return c[a+12>>2]|0}function RM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=ZM(a,e)|0;l=d;return b|0}function SM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=ZM(a,e)|0;l=d;return b|0}function TM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function UM(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function VM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=DM(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function WM(a){a=a|0;a=DM(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function XM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=DM(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=DM(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=DM(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function YM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=QM(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=RM(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((QM(a)|0)>(o|0))while(1){b=UM(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=RM(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=RM(a,k)|0,g|0):0)break a;if((QM(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function ZM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=aJ(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];ZM(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function _M(a,b,d){a=a|0;b=b|0;d=d|0;a=DM(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function $M(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=QM(d)|0;RM(d,e)|0;e=SM(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((QM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(TM(d)|0){case 1:{i=7;break c}case 0:{e=UM(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((QM(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=UM(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=RM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=aN(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((QM(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=KM(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=bN(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=RM(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=RM(d,m+4|0)|0;if(e|0){f=o;break a}e=SM(d,1)|0;if(e|0){f=o;break a}e=RM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=SM(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=LM(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=RM(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=SM(d,0)|0;if(e|0){f=o;break a}e=RM(d,k)|0;if(e|0){f=o;break a}e=SM(d,1)|0;if(e|0){f=o;break a}e=RM(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=SM(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function aN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=DM(b,0,0,1,16)|0;b=_M(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function bN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=DM(a,0,0,1,8)|0;a=_M(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=DM(a,0,0,0,8)|0;if(((e|0)!=0?(d=KM(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=DM(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function eN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=DM(a,0,0,0,8)|0;if(((e|0)!=0?(d=KM(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=DM(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function fN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=jN(b,d+1|0)|0;break}case 92:{e=d+1|0;f=kN(e)|0;if(f|0){e=fN(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=KM(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=KM(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=KM(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=KM(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=lN(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=KM(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=KM(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=KM(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=KM(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=KM(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=bN(c[b>>2]|0,f,e)|0;else e=0}else e=KM(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=KM(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=KM(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=KM(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=UL(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((IK(c[j>>2]|0)|0)==0?(HK(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=lK(c[j>>2]|0)|0;g=lK(c[j>>2]|0)|0;f=b+24|0;g=KM(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=KK(c[j>>2]|0)|0;d=KK(c[j>>2]|0)|0;d=KM(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=bN(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=KM(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function gN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=iN(b,i)|0;if((a[b>>0]|0)==44){b=iN(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function hN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=KM(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=LM(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function iN(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(_J(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(_J(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function jN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=ZI(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=mN(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){rL(c[r>>2]|0,c[h>>2]|0,4,41);d=oN(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=DM(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}TN(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=_M(c[b>>2]|0,0,j)|0;e=bN(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);_I(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function kN(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[56576+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[56576+(b<<3)+4>>2]|0}function lN(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function mN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=UL(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}TN(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=aL(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=UL(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=oN(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(pN(e,m,g)|0)!=0:0){g=12;break a}}j=UL(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function nN(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function oN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=aJ(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=DM(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function pN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(HK(b)|0)){if(!(IK(b)|0)){b=b+1|0;break}f=KK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((KK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=lK(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((lK(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=oN(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=ZI(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=sN(i,b,g,f,k)|0;else a=rN(i,b,g,f,k)|0;if(!a)tN(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)_I(d)}l=n;return a|0}function rN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=BM(0,0)|0;a:do if(U){p=DM(U,0,0,0,32)|0;if(!p){CM(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=ZI(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=ZI(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=ZI(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)VN(g|0,0,n<<2|0)|0;G=e+q|0;e=UL(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(DK(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(DK(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(DK(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(DK(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(DK(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(DK(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(DK(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(DK(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=DM(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=DM(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(vN(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;tN(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(VJ(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=UL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=UL(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(DK(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(DK(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(DK(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(DK(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(DK(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(DK(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(DK(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(DK(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(CK(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=KK(q)|0;e=w+24|0;if(CK(x,c[e>>2]|0)|0)break;x=lK(q)|0;if(!(CK(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(uN(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=DM(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=DM(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==60){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==145){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==152){CM(U);if(j|0)_I(i);if(m|0)_I(h);if(!k){e=12;break a}_I(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);CM(U);if(j|0)_I(i);if(m|0)_I(h);if(k)_I(g)}else e=12;while(0);l=V;return e|0}\nfunction sN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=ZI(e)|0;if(!U)e=12;else{VN(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=UL(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(DK(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(DK(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(DK(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(DK(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(DK(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(DK(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(DK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(DK(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)VN(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=UL(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(DK(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(DK(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(DK(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(DK(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(DK(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(DK(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(DK(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(DK(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(CK(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=KK(h)|0;a=k+24|0;if(CK(A,c[a>>2]|0)|0)break;A=lK(h)|0;if(!(CK(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(uN(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(vN(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);_I(U)}l=W;return e|0}function tN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)VN(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function uN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(CK(b,d)|0){d=1;break a}}else{e=lK(b)|0;if(CK(e,c[a>>2]|0)|0){d=1;break a}e=KK(b)|0;if(CK(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function vN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function wN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=OK(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0<k>>>0?i:k;TN(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(eK(f)|0)break;h=bb[c[i>>2]&31](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)PK(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)PK(f);return e|0}function xN(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(OK(a)|0)==0;a=yN(a)|0}else a=yN(a)|0;return a|0}function yN(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=bb[c[a+40>>2]&31](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function zN(a){a=a|0;(c[a+76>>2]|0)>-1?OK(a)|0:0;return c[a+60>>2]|0}function AN(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=134988;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){AL(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=iJ(Ba(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;sa(10,h|0)|0;b=SL(f,135008)|0;if(!b){c[i>>2]=f;Da(6,i|0)|0;b=0}}l=k;return b|0}function BN(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(OK(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=dK(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=dK(a)|0;break}}while(0);return b|0}function CN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(OK(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=YL(d,b)|0;PK(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=YL(d,b)|0}while(0);return e|0}function DN(a){a=a|0;return xN(a)|0}function EN(){}function FN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function GN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=FN(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function IN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function JN(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=JN(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((JN(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (z=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=HN(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;IN(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=IN(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function LN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return KN(a,b,c,d,0)|0}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;KN(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=0;return b>>>c-32|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}z=a<<c-32;return 0}function PN(a){a=a|0;return (a&255)<<8|a>>8&255|0}function QN(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function RN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=aJ(d|0,8*(e+1|0)|0)|0;d=RN(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function SN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function TN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function UN(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else TN(b,c,d)|0;return b|0}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function WN(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;ra(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;ra(12);return -1}return d|0}function XN(a){a=a|0;return +Ya[a&1]()}function YN(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +Za[a&7](+b,+c,+d)}function ZN(a){a=a|0;return _a[a&3]()|0}function _N(a,b){a=a|0;b=b|0;return $a[a&31](b|0)|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;return ab[a&63](b|0,c|0)|0}function aO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bb[a&31](b|0,c|0,d|0)|0}function bO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return cb[a&31](b|0,c|0,d|0,e|0)|0}function cO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return db[a&3](b|0,c|0,d|0,e|0,f|0)|0}function dO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return eb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function eO(a){a=a|0;fb[a&15]()}function fO(a,b){a=a|0;b=b|0;gb[a&127](b|0)}function gO(a,b,c){a=a|0;b=b|0;c=c|0;hb[a&31](b|0,c|0)}function hO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ib[a&127](b|0,c|0,d|0)}function iO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;jb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function jO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;kb[a&31](b|0,c|0,d|0,e|0)}function kO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;lb[a&7](b|0,c|0,d|0,e|0,f|0)}function lO(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;mb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function mO(){S(0);return 0.0}function nO(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function oO(){S(2);return 0}function pO(a){a=a|0;S(3);return 0}function qO(a,b){a=a|0;b=b|0;S(4);return 0}function rO(a,b,c){a=a|0;b=b|0;c=c|0;S(5);return 0}function sO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(6);return 0}function tO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(7);return 0}function uO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(8);return 0}function vO(){S(9)}function wO(a){a=a|0;S(10)}function xO(a,b){a=a|0;b=b|0;S(11)}function yO(a,b,c){a=a|0;b=b|0;c=c|0;S(12)}function zO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(13)}function AO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(14)}function BO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(15)}function CO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(16)}\n\n// EMSCRIPTEN_END_FUNCS\nvar Ya=[mO,yA];var Za=[nO,Uu,Tu,Vu,Wu,nO,nO,nO];var _a=[oO,Fw,wx,oO];var $a=[pO,Rg,kg,Rn,Un,$B,aC,RD,SD,TD,UD,VD,WD,XD,YD,fJ,ub,or,ll,ol,Bw,Gw,nn,ww,co,NB,vw,SB,TB,NI,pO,pO];var ab=[qO,tn,Qn,Vn,yz,zz,qz,mz,Wy,mr,ag,Qg,rh,Vh,li,wk,uk,ml,pl,zq,yq,xq,Ds,Ts,Os,Ps,Ot,WL,CN,sA,uB,Im,wG,Pm,Rm,eo,OB,xJ,XE,JI,KI,nN,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO,qO];var bb=[rO,Pl,Vl,Pn,Tn,gG,gJ,hJ,lJ,mJ,$K,_l,Xl,zL,uA,Ex,$C,GI,eM,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO,rO];var cb=[sO,Nm,Np,Om,fn,vn,xn,In,Hn,Wn,_n,ao,yx,CC,AC,wE,iG,EG,DG,Ml,wA,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO,sO];var db=[tO,un,Xy,rz];var eb=[uO,kI];var fb=[vO,xA,Cw,Dw,Ew,Iw,Jw,Kw,mG,vO,vO,vO,vO,vO,vO,vO];var gb=[wO,zb,Ab,Eb,Fb,Gb,_b,$b,xc,yc,zc,Ac,Bc,Cc,Dc,Pc,Qc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,jd,kd,ld,nd,od,pd,qd,rd,sd,td,ud,Fd,Gd,Hd,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Td,ee,fe,ge,he,se,te,ue,we,Je,Ke,Le,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,cf,df,ef,ff,Jf,Ef,yn,Cy,Uy,Ey,Dy,oz,ay,dy,ZD,cE,xf,ql,lm,lG,UC,VB,zx,_I,FG,jI,EI,FI,LI,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO,wO];var hb=[xO,Fc,Kc,$c,ed,Bd,Zd,ne,Ce,$e,mf,Xn,Yy,Az,sz,nz,Sy,Ty,wz,xz,aE,eE,bm,rs,Hw,MB,iI,HI,II,MI,OI,xO];var ib=[yO,Hb,Ib,Lb,wc,Ec,Gc,Jc,_c,ad,dd,wd,xd,Ad,Ud,Vd,Yd,ie,je,me,xe,ye,Be,We,Xe,_e,gf,hf,lf,bk,ck,dk,im,zn,$n,Jo,Op,js,Ev,xx,cy,mB,BC,zC,_D,$D,bE,dE,fE,hG,WH,VH,Bm,bn,oo,Ro,Uo,Aw,vA,Cx,QB,UB,XH,ZH,_H,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO,yO];var jb=[zO,Ft,Gt,Ht,It,Jt,Kt,Lt,Mt,zO,zO,zO,zO,zO,zO,zO];var kb=[AO,Jb,Hc,bd,md,yd,Id,Wd,ke,ze,Me,Ye,jf,Af,zf,yf,wf,vf,uf,Zb,tf,sf,wn,Vy,pz,rL,PB,RB,AO,AO,AO,AO];var lb=[BO,Rc,vd,Cd,Sd,ve,nl,WB];var mb=[CO,Kb,Ic,cd,zd,Xd,le,Ae,Ze,kf,XB,CO,CO,CO,CO,CO];return{___errno_location:jJ,___muldi3:GN,___udivdi3:LN,___uremdi3:MN,_bitshift64Lshr:NN,_bitshift64Shl:ON,_dtdisc:Ll,_dtextract:Nl,_dtopen:Ql,_free:_I,_htons:eL,_i64Add:HN,_i64Subtract:IN,_llvm_bswap_i16:PN,_llvm_bswap_i32:QN,_malloc:ZI,_memalign:dJ,_memcpy:TN,_memmove:UN,_memset:VN,_realloc:aJ,_saveSetjmp:RN,_sbrk:WN,_testSetjmp:SN,_vizCreateFile:wb,_vizLastErrorMessage:vb,_vizRenderFromString:yb,_vizSetY_invert:xb,dynCall_d:XN,dynCall_dddd:YN,dynCall_i:ZN,dynCall_ii:_N,dynCall_iii:$N,dynCall_iiii:aO,dynCall_iiiii:bO,dynCall_iiiiii:cO,dynCall_iiiiiii:dO,dynCall_v:eO,dynCall_vi:fO,dynCall_vii:gO,dynCall_viii:hO,dynCall_viiiddi:iO,dynCall_viiii:jO,dynCall_viiiii:kO,dynCall_viiiiii:lO,establishStackSpace:qb,getTempRet0:tb,runPostSets:EN,setTempRet0:sb,setThrew:rb,stackAlloc:nb,stackRestore:pb,stackSave:ob}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module[\"___errno_location\"]=asm[\"___errno_location\"];var ___muldi3=Module[\"___muldi3\"]=asm[\"___muldi3\"];var ___udivdi3=Module[\"___udivdi3\"]=asm[\"___udivdi3\"];var ___uremdi3=Module[\"___uremdi3\"]=asm[\"___uremdi3\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var _dtdisc=Module[\"_dtdisc\"]=asm[\"_dtdisc\"];var _dtextract=Module[\"_dtextract\"]=asm[\"_dtextract\"];var _dtopen=Module[\"_dtopen\"]=asm[\"_dtopen\"];var _free=Module[\"_free\"]=asm[\"_free\"];var _htons=Module[\"_htons\"]=asm[\"_htons\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _llvm_bswap_i16=Module[\"_llvm_bswap_i16\"]=asm[\"_llvm_bswap_i16\"];var _llvm_bswap_i32=Module[\"_llvm_bswap_i32\"]=asm[\"_llvm_bswap_i32\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _memalign=Module[\"_memalign\"]=asm[\"_memalign\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _realloc=Module[\"_realloc\"]=asm[\"_realloc\"];var _saveSetjmp=Module[\"_saveSetjmp\"]=asm[\"_saveSetjmp\"];var _sbrk=Module[\"_sbrk\"]=asm[\"_sbrk\"];var _testSetjmp=Module[\"_testSetjmp\"]=asm[\"_testSetjmp\"];var _vizCreateFile=Module[\"_vizCreateFile\"]=asm[\"_vizCreateFile\"];var _vizLastErrorMessage=Module[\"_vizLastErrorMessage\"]=asm[\"_vizLastErrorMessage\"];var _vizRenderFromString=Module[\"_vizRenderFromString\"]=asm[\"_vizRenderFromString\"];var _vizSetY_invert=Module[\"_vizSetY_invert\"]=asm[\"_vizSetY_invert\"];var establishStackSpace=Module[\"establishStackSpace\"]=asm[\"establishStackSpace\"];var getTempRet0=Module[\"getTempRet0\"]=asm[\"getTempRet0\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var setTempRet0=Module[\"setTempRet0\"]=asm[\"setTempRet0\"];var setThrew=Module[\"setThrew\"]=asm[\"setThrew\"];var stackAlloc=Module[\"stackAlloc\"]=asm[\"stackAlloc\"];var stackRestore=Module[\"stackRestore\"]=asm[\"stackRestore\"];var stackSave=Module[\"stackSave\"]=asm[\"stackSave\"];var dynCall_d=Module[\"dynCall_d\"]=asm[\"dynCall_d\"];var dynCall_dddd=Module[\"dynCall_dddd\"]=asm[\"dynCall_dddd\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_viiiddi=Module[\"dynCall_viiiddi\"]=asm[\"dynCall_viiiddi\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];Module[\"asm\"]=asm;Module[\"ccall\"]=ccall;Module[\"Pointer_stringify\"]=Pointer_stringify;Module[\"UTF8ToString\"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module[\"locateFile\"]===\"function\"){memoryInitializer=Module[\"locateFile\"](memoryInitializer)}else if(Module[\"memoryInitializerPrefixURL\"]){memoryInitializer=Module[\"memoryInitializerPrefixURL\"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module[\"readBinary\"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency(\"memory initializer\");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module[\"memoryInitializerRequest\"])delete Module[\"memoryInitializerRequest\"].response;removeRunDependency(\"memory initializer\")});function doBrowserLoad(){Module[\"readAsync\"](memoryInitializer,applyMemoryInitializer,(function(){throw\"could not load memory initializer \"+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module[\"memoryInitializerRequest\"]){function useRequest(){var request=Module[\"memoryInitializerRequest\"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module[\"memoryInitializerRequestURL\"]);if(data){response=data.buffer}else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+request.status+\", retrying \"+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module[\"memoryInitializerRequest\"].response){setTimeout(useRequest,0)}else{Module[\"memoryInitializerRequest\"].addEventListener(\"load\",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"exit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}Module[\"exit\"]=exit;function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run()\n\n\n\n\n return Module;\n};\n\nfunction render(instance, src, options) {\n var i;\n for (i = 0; i < options.files.length; i++) {\n instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]);\n }\n\n instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]);\n \n var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]);\n var resultString = instance['Pointer_stringify'](resultPointer);\n instance['ccall']('free', 'number', ['number'], [resultPointer]);\n\n var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []);\n var errorMessageString = instance['Pointer_stringify'](errorMessagePointer);\n instance['ccall']('free', 'number', ['number'], [errorMessagePointer]);\n\n if (errorMessageString != '') {\n throw new Error(errorMessageString);\n }\n \n return resultString;\n}\n\nif (typeof importScripts === \"function\") {\n var instance = Module();\n \n onmessage = function(event) {\n var id = event.data.id;\n var src = event.data.src;\n var options = event.data.options;\n \n try {\n var result = render(instance, src, options);\n postMessage({ id: id, result: result });\n } catch (error) {\n postMessage({ id: id, error: { message: error.message, fileName: error.fileName, lineNumber: error.lineNumber } });\n }\n }\n}\n\nif (typeof exports === 'object' && typeof module !== 'undefined') {\n module.exports = { render: render, Module: Module };\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return { render: render, Module: Module }; });\n}\n\nif (typeof global.Viz !== 'undefined') {\n global.Viz.render = render;\n global.Viz.Module = Module;\n}\n\n})(typeof self !== 'undefined' ? self : this);\n",
"type": "application/javascript",
"title": "$:/plugins/chanilino/viz/lite.render.js",
"module-type": "library",
"modifier": "chan",
"modified": "20180705095419090",
"creator": "chan",
"created": "20180705095327496"
}
}
}
{
"tiddlers": {
"$:/plugins/danielo515/ContextPlugin/widgets/context.js": {
"created": "20140418153435777",
"creator": "danielo",
"modified": "20140530231943517",
"modifier": "danielo",
"module-type": "widget",
"title": "$:/plugins/danielo515/ContextPlugin/widgets/context.js",
"type": "application/javascript",
"text": "/*\\\\\ntitle: $:/core/modules/widgets/danielo/context-widget.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text 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;\nvar contextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\ncontextWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\ncontextWidget.prototype.render = function(parent,nextSibling) {\n // 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 \n if(this.term && this.term.length>3){\n \n this.createRegexp();\n var matches = this.executeRegexp();\n\t if(matches.length > 0){ \n this.domNode = this.document.createElement(this.element);\n this.domNode.className=\"tw-context\";\n this.composeResults( matches ); //this appends to domNode \n \t// Insert element\n \tparent.insertBefore(this.domNode,nextSibling);\n \tthis.renderChildren(this.domNode,null);\n\t \tthis.domNodes.push(this.domNode);\n }\n }\n\t\n};\n\n/*\nCompute the internal state of the widget\n*/\ncontextWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n this.matchedClass = this.getAttribute(\"matchClass\",\"matched\");\n\tthis.tiddler = this.getAttribute( \"tiddler\",this.getVariable(\"currentTiddler\") );\n this.term = this.getAttribute(\"term\",this.getAttribute(\"searchTerm\"));\n\tthis.contextLength = this.getAttribute(\"length\",50);\n this.before = this.getAttribute(\"before\",this.contextLength);\n this.after = this.getAttribute(\"after\",this.contextLength);\n this.maxMatches = this.getAttribute(\"maxMatches\",10);\n this.element = this.getAttribute(\"element\",\"pre\");\n\tthis.makeChildWidgets();\n};\n\n /*Create the regular expression*/\ncontextWidget.prototype.createRegexp = function()\n{\n var regString = \"(\\\\w+[\\\\s\\\\S]{0,#before#})?(#term#)([\\\\s\\\\S]{0,#after#}\\\\w+)?\";\n\n var regString = regString.replace(\"#before#\",this.before).replace(\"#term#\", $tw.utils.escapeRegExp(this.term) ) .replace(\"#after#\",this.after);\n this.regexp = new RegExp(regString,\"ig\");\n //console.log(regString);\n};\n/*\nexecute the regular expresion\n*/\ncontextWidget.prototype.executeRegexp = function()\n{\n var text = this.wiki.getTiddlerText(this.tiddler), match,results = new Array();\n while( (match = this.regexp.exec( text ) ) && (results.length < this.maxMatches) )\n { results.push(match) }\n //console.log(\"matches\",results);\n return results;\n};\n\n/*\ncompose the results\nmatches : array of match objects from regular expression execute\n*/\ncontextWidget.prototype.composeResults = function(matches){\n var result=[], self=this, node = this.domNode,\n dots = textNode(\"...\\n\"),\n span = matchedNode( this.term );\n\n for(var i=0; i < matches.length; i++){\n processMatch( matches[i] );\n }\n \n function processMatch(match){\n if( match.index !== 0) node.appendChild( dots.cloneNode(true) );\n for( var i=1;i<match.length;i++ ) {//match[0] full matched text (all groups together)\n if( match[i] ) {\n if ( match[i].toLowerCase() == self.term.toLowerCase() ) \n node.appendChild( match[i] == self.term ? span.cloneNode(true) : matchedNode( match[i] ) )\n else\n node.appendChild( textNode( match[i]) )\n }\n }\n if( match.index + match[0].length < match.input.length) node.appendChild( dots.cloneNode(true) );\n }\n \n function textNode(text){ return self.document.createTextNode(text) }\n function matchedNode(text) { \n var node = self.document.createElement(\"span\"); node.appendChild( textNode(text) ); node.className = self.matchedClass;\n return node }\n \n};\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\ncontextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.term || changedAttributes.length || changedAttributes.matchedClass) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n return this.refreshChildren(changedTiddlers);\n};\n\nexports.context = contextWidget;\n\n})();"
},
"$:/plugins/danielo515/ContextPlugin/visualizer": {
"title": "$:/plugins/danielo515/ContextPlugin/visualizer",
"tags": "$:/tags/SearchResults",
"caption": "Context",
"text": "<$list filter=\"[!is[system]search{$:/temp/search}sort[title]limit[250]]\">\r\n {{!!title||$:/core/ui/ListItemTemplate}}\r\n <$context term={{$:/temp/search}} />\r\n</$list>\r\n"
},
"$:/plugins/danielo515/ContextPlugin/Stylesheet/results": {
"created": "20140529162823729",
"tags": "$:/tags/Stylesheet contextPlugin",
"title": "$:/plugins/danielo515/ContextPlugin/Stylesheet/results",
"type": "text/css",
"text": ".matched{background-color:yellow}\n.tw-context {/*border:1px solid;\n /*word-break: break-all; word-wrap: break-word*/}"
},
"$:/plugins/danielo515/ContextPlugin/Caption": {
"created": "20140530174219263",
"tags": "contextPlugin",
"title": "$:/plugins/danielo515/ContextPlugin/Caption",
"type": "text/vnd.tiddlywiki",
"text": "Context search"
},
"Context Search": {
"caption": "{{$:/plugins/danielo515/ContextPlugin/Caption}}",
"created": "20140530173407542",
"tags": "$:/tags/AdvancedSearch",
"title": "Context Search",
"type": "text/vnd.tiddlywiki",
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tw-search\"><$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/><$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\"> <$link to=\"\" class=\"btn-invisible\">{{$:/core/images/close-button}}</$link></$reveal></div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<div class=\"tw-search-results\">\n\n<<lingo Standard/Matches>>\n\n<$list filter=\"[!is[system]search{$:/temp/advancedsearch}sort[title]limit[250]]\">\n{{!!title||$:/core/ui/ListItemTemplate}}\n<$context term={{$:/temp/advancedsearch}}/>\n</$list>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
},
"$:/plugins/danielo515/ContextPlugin/readme": {
"title": "$:/plugins/danielo515/ContextPlugin/readme",
"text": "!Usage\n\nAfter installing the plugin you will have a new tab in [[$:/AdvancedSearch]] called [[Context Search]]. If you want this functionality in other places you will have to edit the desired tiddler yourself adding the ''context widget''. For more details about using the widget see the section below.\n\n!!Using the widget\n\nThe very basic usage of the widget is the following:\n\n```\r\n<$context term=\"lorem\"/>\r\n```\r\nWhich will render as:\r\n<$context term=\"lorem\"/>\n\nThe widgets will search inside the current tiddler by default. Because that you see the same content twice here. This example is not very useful. Other more meaningful would be:\n\n```\r\n<$list filter=\"[search{$:/temp/advancedsearch}sort[title]limit[250]]\">\r\n{{!!title||$:/core/ui/ListItemTemplate}}\r\n<$context term={{$:/temp/advancedsearch}}/>\r\n</$list>\r\n```\n\nThat will search for tiddlers containing the text specified in [[$:/temp/advancedsearch]] and will display a link to the matching tiddlers plus a preview of the matching content. Something very similar is used in [[Context Search]]. Below you can find a complete list of parameters and their default values.\n\n|! parameter |! description | !default |\r\n| term | The term you want to search ||\r\n| searchTerm | An alias for the previous one ||\r\n| tiddler | The tiddler's name to look into | current tiddler |\r\n| length | Number of context characters to show | 50 |\r\n| before | Number of characters before the matched term to show | the value of the length parameter |\r\n| after | Number of characters after the matched term to show | the value of the length parameter |\r\n| maxMatches | maximun number of matched elements to show. Incrementing this can cause several performance issues | 10 |\r\n| element | Node element to create. This element will contain the results of the search. If you want to style it its class is `tw-context` | `<pre>` |\r\n| matchClass | The css class to assign to the matched terms in the results. This is used to highlight the results | matched |\n\n!Customizing the output\r\nThere are not many ways to customize the output of this widget. You can specify ''what type of node you want to create'' to wrap the results (div,span...). The default is `<pre>`. This container is created with the class `tw-context` so you can easily apply styles to it. Something similar happens to the ''highlighted'' words. You can specify the name of the class to assign to it and also you can apply styles to that class.\n\nA very basic example of customization could be:\n\n# Create a tiddler, for example [[$/plugins/danielo515/context/css]]\r\n# Paste the following text or any css rule you want: \"\"\"\n\n<pre>\r\n.matched{background-color:yellow}\r\n.tw-context {\r\n border:1px solid blue;\r\n word-break: break-all; word-wrap: break-word;}\r\n</pre>\r\n\"\"\"\r\n# Tag it with `$:/tags/stylesheet`\r\n# Save the tiddler"
}
}
}
{
"tiddlers": {
"$:/plugins/danielo515/encryptTiddler/Encrypt-Tiddler": {
"title": "$:/plugins/danielo515/encryptTiddler/Encrypt-Tiddler",
"created": "20140406153742691",
"creator": "Danielo515",
"description": "add the hability to encrypt individual tiddlers",
"modified": "20141029152631265",
"modifier": "Danielo Rodriguez",
"tags": "index plugins",
"type": "text/vnd.tiddlywiki",
"caption": "readme",
"text": "This plugin adds the ability to encrypt your tiddlers individually. This have several advantages:\n\n* You can specify a different password for each tiddler if you want.\n* You don't have to encrypt your whole wiky.\n* If you forget your password, you only lose a tiddler.\n* It's possible to edit the tiddler content , tags and fields ''except the encrypt field'' after encryption. Decrypting your tiddler will restore it to its original state when you encrypted it. This way you can hide the encrypted tiddlers as a \"different\" thing.\n* You can even encrypt images.\n* You can have sensible data in a day to day wiky.\n* I didn't try this, but theoretically you can apply double encryption by encrypting your wiki too."
},
"$:/plugins/danielo515/encryptTiddler/Changelog": {
"title": "$:/plugins/danielo515/encryptTiddler/Changelog",
"text": "!! V2.3\n* No need to double type password for decrypt tiddlers\n* Fix bug with batch encryption\n* Code simplified\n!! V2.2\n* Added the need to type the password twice\n* Tested on tw 5.1.22\n!! V2.1\n* Added control panel.\n* Added ability to batch encrypt and decrypt tiddlers.\n* Added some documentation an language strings.\n\n"
},
"$:/plugins/danielo515/encryptTiddler/control-panel/batch-encrypt": {
"title": "$:/plugins/danielo515/encryptTiddler/control-panel/batch-encrypt",
"caption": "Batch Encryption",
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n{{$:/plugins/danielo515/encryptTiddler/language/batch}}\n\n<$linkcatcher to=\"$:/temp/encrypt/filter\">\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/encrypt/filter\" type=\"search\" tag=\"input\" default=\"\" placeholder=\"filter tiddlers\"/>\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n<$reveal state=\"$:/temp/encrypt/filter\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/encrypt/filter\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n\n\n<$edit-text tag=\"input\" tiddler=\"$:/temp/password1\" placeholder=\"password\" type=\"password\" default=\"\" col=\"4\"/>\n<$edit-text tag=\"input\" tiddler=\"$:/temp/password2\" placeholder=\"confirm password\" type=\"password\" default=\"\" col=\"4\"/>\n<$encryptTiddler passwordTiddler1=\"$:/temp/password1\" passwordTiddler2=\"$:/temp/password2\" filter={{$:/temp/encrypt/filter}}>\n<$button message=\"tw-encrypt-tiddler\">\nEncrypt\n</$button>\n<$button message=\"tw-decrypt-tiddler\">\nDecrypt\n</$button>\n</$encryptTiddler>\n</$reveal>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]!sort[]] -[[$:/core/Filters/SystemTags]] -[[$:/core/Filters/AllTags]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/encrypt/filter\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/encrypt/filter}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/encrypt/filter}} template=\"$:/plugins/danielo515/encryptTiddler/ui/listItemTemplate\"/>\n</div>\n</$set>\n</$reveal>"
},
"$:/plugins/danielo515/encryptTiddler/control-panel": {
"title": "$:/plugins/danielo515/encryptTiddler/control-panel",
"tags": "$:/tags/ControlPanel",
"caption": "Encrypt Tiddlers",
"text": "\\define prefix(name) $:/plugins/danielo515/encryptTiddler/control-panel/$name$\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]prefix[$:/plugins/danielo515/encryptTiddler/control-panel/]]\" default=<<prefix \"batch-encrypt\">> state=\"$:/state/encryptTiddler/control-panel/tabs\">>"
},
"$:/plugins/danielo515/encryptTiddler/crypt-batch-button": {
"title": "$:/plugins/danielo515/encryptTiddler/crypt-batch-button",
"creator": "Danielo",
"text": "<span title=\"Encrypt/Decrypt tiddler\" class=\"pc-batch-controls\">\n <$reveal state=<<qualify \"$:/state/encrypt\">> type=\"nomatch\" text={{!!title}} animate=\"no\"><$button set=<<qualify \"$:/state/encrypt\">> setTo={{!!title}} class=\"tc-btn-invisible\">{{$:/plugins/danielo515/encryptTiddler/unlocked}}</$button></$reveal><$reveal state=<<qualify \"$:/state/encrypt\">> type=\"match\" text={{!!title}} animate=\"no\"><$button set=<<qualify \"$:/state/encrypt\">> setTo=\"\" class=\"tc-btn-invisible\">{{$:/plugins/danielo515/encryptTiddler/unlocked}}</$button></$reveal>\n <$encryptTiddler passwordTiddler1=\"$:/temp/password1\" passwordTiddler2=\"$:/temp/password2\" filter={{$:/temp/encrypt/filter}}><$reveal state=<<qualify \"$:/state/encrypt\">> type=\"match\" text={{!!title}} animate=\"yes\">\n <div class=\"tc-block-dropdown tw-crypt-dropdown\">\n <span class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password1\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"password\" class=\"tc-edit-texteditor\"/></span>\n <span class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password2\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"repeat\" class=\"tc-edit-texteditor\"/></span>\n <span class=\"tw-crypt-button\"> <$button message=\"tw-encrypt-tiddler\" set=<<qualify \"$:/state/encrypt\">> setTo=\"\" >Encrypt</$button> <$button message=\"tw-decrypt-tiddler\" set=<<qualify \"$:/state/encrypt\">> setTo=\"\" >Decrypt</$button></span>\n </div>\n </$reveal></$encryptTiddler>\n</span>\n"
},
"$:/plugins/danielo515/encryptTiddler/crypt-button": {
"title": "$:/plugins/danielo515/encryptTiddler/crypt-button",
"created": "20140405233000477",
"creator": "Danielo",
"modified": "20200422065835622",
"tags": "$:/tags/ViewToolbar button encrypt export",
"type": "text/vnd.tiddlywiki",
"text": "<span title=\"Encrypt/Decrypt tiddler\"><$transclude tiddler=\"$:/plugins/danielo515/encryptTiddler/openPopup\"/>\n</span><$encryptTiddler passwordTiddler1=\"$:/temp/password1\" passwordTiddler2=\"$:/temp/password2\"><$reveal state=\"$:/state/encrypt\" type=\"match\" text={{!!title}} animate=\"yes\">\n<div class=\"tc-block-dropdown tw-crypt-dropdown\">\n<div>\n <div class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password1\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"password\" class=\"tc-edit-texteditor\"/></div>\n <$list filter=\"[all[current]!has[encrypted]]\"><div class=\"tw-password-field\"><$edit-text tiddler=\"$:/temp/password2\" tag=\"input\" type=\"password\" default=\"\" placeholder=\"repeat\" class=\"tc-edit-texteditor\"/></div></$list>\n</div>\n <span class=\"tw-crypt-button\"> <$list filter=\"[all[current]!has[encrypted]]\"> <$button message=\"tw-encrypt-tiddler\" set=\"$:/state/encrypt\" setTo=\"\" >Encrypt</$button></$list><$list filter=\"[is[current]has[encrypted]]\"> <$button message=\"tw-decrypt-tiddler\" set=\"$:/state/encrypt\" setTo=\"\" >Decrypt</$button></$list></span>\n</div>\n</$reveal></$encryptTiddler>\n"
},
"$:/plugins/danielo515/encryptTiddler/encrypttiddler.js": {
"title": "$:/plugins/danielo515/encryptTiddler/encrypttiddler.js",
"text": "/*\\\ntitle: $:/plugins/danielo515/encryptTiddler/encrypttiddler.js\ntype: application/javascript\nmodule-type: widget\n\nencrypttiddler widget\n\n\n\\*/\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 encryptTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t\t{type: \"tw-encrypt-tiddler\", handler: \"handleEncryptevent\"},\n\t\t\t{type: \"tw-decrypt-tiddler\", handler: \"handleDecryptevent\"},\n\t\t\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nencryptTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nencryptTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tconsole.log(\"Render\");\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nencryptTiddlerWidget.prototype.execute = function() {\n\t// Get attributes\n\t this.tiddlerTitle=this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t this.filter=this.getAttribute(\"filter\",undefined);\n \t this.passwordTiddler1=this.getAttribute(\"passwordTiddler1\");\n \t this.passwordTiddler2=this.getAttribute(\"passwordTiddler2\");\n\t// Construct the child widgets\n\tconsole.log(this.targetTiddler);\n\t\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*/\nencryptTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.filter) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nencryptTiddlerWidget.prototype.getTiddlersToProcess = function () {\n if (this.filter) {\n //we have a filter to work with\n return this.wiki.filterTiddlers(this.filter);\n }\n //single tiddler case\n var tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n return tiddler ? [tiddler.fields.title] : [];\n};\n\nencryptTiddlerWidget.prototype.handleEncryptevent = function (event) {\n var password = this.getPassword(true);\n var tiddlers = this.getTiddlersToProcess();\n\n if (tiddlers.length > 0 && password) {\n var self = this;\n $tw.utils.each(tiddlers, function (title) {\n var tiddler = self.wiki.getTiddler(title);\n var fields = {\n text: \"!This is an encrypted Tiddler\",\n encrypted: self.encryptFields(title, password),\n };\n self.saveTiddler(tiddler, fields);\n });\n } else {\n console.log(\n \"We did not find any tiddler to encrypt or password not set!\"\n );\n }\n};\n\nencryptTiddlerWidget.prototype.handleDecryptevent = function(event){\n\tvar password =this.getPassword(false);\n\tvar tiddlers = this.getTiddlersToProcess();\n\n\tif(tiddlers.length > 0 && password){\n\t\tvar self = this;\n\t\t$tw.utils.each(tiddlers, function(title){\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tvar fields = self.decryptFields(tiddler,password);\n\t\t\tif(fields)self.saveTiddler(tiddler,fields);\n\t\t});\n\t}\n};\n\nencryptTiddlerWidget.prototype.saveTiddler=function(tiddler,fields){\n\tthis.wiki.addTiddler( new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,this.clearNonStandardFields(tiddler), fields ) )\n}\n\nencryptTiddlerWidget.prototype.encryptFields = function (title,password){\n\tvar jsonData=this.wiki.getTiddlerAsJson(title);\n\treturn $tw.crypto.encrypt(jsonData,password);\n\n};\n\nencryptTiddlerWidget.prototype.decryptFields = function (tiddler, password) {\n var JSONfields = $tw.crypto.decrypt(tiddler.fields.encrypted, password);\n if (JSONfields !== null) {\n return JSON.parse(JSONfields);\n }\n console.log(\n \"Error decrypting \" + tiddler.fields.title + \". Probably bad password\"\n );\n return false;\n};\n\nencryptTiddlerWidget.prototype.getPasswordFromTiddler = function(title){\n\tvar tiddler=this.wiki.getTiddler(title);\n\tif(tiddler){\n\t\tvar password=tiddler.fields.text;\n\t\tthis.saveTiddler(tiddler); //reset password tiddler\n\t\treturn password;\n\t}\n\n\treturn false\n}\n\nencryptTiddlerWidget.prototype.getPassword = function(confirm){\n\tvar password1 = this.getPasswordFromTiddler(this.passwordTiddler1);\n\tif(!confirm) return password1\n var password2 = this.getPasswordFromTiddler(this.passwordTiddler2);\n\n if (password1 === password2) {\n return password1;\n }\n\n return null;\n}\n\n// This function erases every field of a tiddler that is not standard and also\n// the text field\nencryptTiddlerWidget.prototype.clearNonStandardFields =function(tiddler) {\n\tvar standardFieldNames = \"title tags modified modifier created creator\".split(\" \");\n\t\tvar clearFields = {};\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(standardFieldNames.indexOf(fieldName) === -1) {\n\t\t\t\tclearFields[fieldName] = undefined;\n\t\t\t}\n\t\t}\n\t\tconsole.log(\"Cleared fields \"+JSON.stringify(clearFields));\n\t\treturn clearFields;\n};\n\nexports.encryptTiddler = encryptTiddlerWidget;",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/danielo515/encryptTiddler/Filters/encrypted-tiddlers": {
"title": "$:/plugins/danielo515/encryptTiddler/Filters/encrypted-tiddlers",
"description": "All encrypted tiddlers",
"filter": "[has[encrypted]]",
"tags": "$:/tags/Filter"
},
"$:/plugins/danielo515/encryptTiddler/Filters/normal-unencrypted-tiddlers": {
"title": "$:/plugins/danielo515/encryptTiddler/Filters/normal-unencrypted-tiddlers",
"filter": "[!is[system]!has[encrypted]]",
"description": "Non-encrypted normal tiddlers",
"tags": "$:/tags/Filter"
},
"$:/plugins/danielo515/encryptTiddler/language/batch": {
"title": "$:/plugins/danielo515/encryptTiddler/language/batch",
"text": "Use below controls to encrypt or decrypt a bunch of tiddlers. Encryption ''controls are hidden'' until you type something in the search box. All listed tiddlers will be affected. The presence of a small padlock (<span class=\"pc-listItem-lock\">{{$:/core/images/locked-padlock}}</span>) next to the tiddler title indicates that particular tiddler is already encrypted."
},
"$:/plugins/danielo515/encryptTiddler/ui/listItemTemplate": {
"title": "$:/plugins/danielo515/encryptTiddler/ui/listItemTemplate",
"text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n<$list filter=\"[all[current]has[encrypted]]\">\n<span class=\"pc-listItem-lock\">{{$:/core/images/locked-padlock}}</span>\n</$list>\n</$link>\n</div>"
},
"$:/plugins/danielo515/encryptTiddler/openPopup": {
"title": "$:/plugins/danielo515/encryptTiddler/openPopup",
"created": "20140406151910358",
"creator": "Danielo",
"modified": "20140608121417975",
"modifier": "Danielo515",
"tags": "button encrypt export",
"type": "text/vnd.tiddlywiki",
"text": "<$reveal state=\"$:/state/encrypt\" type=\"nomatch\" text={{!!title}} animate=\"no\"><$button set=\"$:/state/encrypt\" setTo={{!!title}} class=\"tc-btn-invisible\">{{$:/plugins/danielo515/encryptTiddler/unlocked}}</$button></$reveal><$reveal state=\"$:/state/encrypt\" type=\"match\" text={{!!title}} animate=\"no\"><$button set=\"$:/state/encrypt\" setTo=\"\" class=\"tc-btn-invisible\">{{$:/plugins/danielo515/encryptTiddler/unlocked}}</$button></$reveal>"
},
"$:/plugins/danielo515/encryptTiddler/styles": {
"title": "$:/plugins/danielo515/encryptTiddler/styles",
"created": "20140406110705085",
"creator": "danielo",
"tags": "$:/tags/Stylesheet encrypt export",
"type": "text/plain",
"text": ".tw-password-field {\n\tdisplay: block;\n\tfont-size:1em;\n\tline-height:0;\n\tmargin: 0;\n}\n\n/*It is for use in combination with tc-block-dropdown */\n.tw-crypt-dropdown{\n\tline-height:0;\n\tpadding: 8px;\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.pc-batch-controls .tw-crypt-dropdown{\n\tright: 0px;\n}\n\n.pc-batch-controls{\n\tposition:relative;\n}\n\n.pc-listItem-lock svg{\n\theight: 1em;\n\twidth: 1em;\n\tfill: #aaaaaa;\n}\n\n.tw-password-field input{\n\tfont-size:0.5em;\n}\n\n.tw-crypt-button {\n\tdisplay: inline-block;\n\tpadding: 8px;\n}\n\n.tw-crypt-button button{\n\tfont-size:0.5em;\n\ttext-transform: uppercase;\n\tborder-radius: 4px;\n}\n"
},
"$:/plugins/danielo515/encryptTiddler/unlocked": {
"title": "$:/plugins/danielo515/encryptTiddler/unlocked",
"created": "20140406101339943",
"creator": "danielo515",
"modified": "20140608121532690",
"modifier": "danielo515",
"tags": "encrypt export",
"type": "text/vnd.tiddlywiki",
"text": "<svg version=\"1.1\" id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button\"\n\t viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\">\n<g>\n\t<path d=\"M77.555,50H35.304V31.63c0-4.057,1.435-7.521,4.305-10.391c2.87-2.87,6.333-4.305,10.391-4.305\n\t\tc4.056,0,7.52,1.435,10.39,4.305s4.305,6.335,4.305,10.391c0,0.996,0.363,1.857,1.091,2.583c0.727,0.729,1.588,1.09,2.583,1.09\n\t\th3.674c0.995,0,1.856-0.361,2.583-1.09c0.727-0.727,1.091-1.588,1.091-2.583c0-7.079-2.517-13.136-7.549-18.17\n\t\tC63.136,8.428,57.08,5.912,50,5.912c-7.081,0-13.137,2.516-18.169,7.548c-5.033,5.034-7.549,11.091-7.549,18.17V50h-1.837\n\t\tc-1.531,0-2.833,0.536-3.904,1.608c-1.072,1.072-1.607,2.372-1.607,3.902v33.067c0,1.532,0.535,2.832,1.607,3.904\n\t\tc1.071,1.072,2.372,1.608,3.904,1.608h55.11c1.53,0,2.832-0.536,3.904-1.608c1.071-1.072,1.607-2.372,1.607-3.904V55.51\n\t\tc0-1.529-0.536-2.83-1.607-3.902C80.387,50.536,79.085,50,77.555,50z M54.315,72.937V83.72c0,2.173-1.762,3.935-3.935,3.935H49.62\n\t\tc-2.173,0-3.935-1.762-3.935-3.935V72.937c-2.31-1.443-3.852-4.001-3.852-6.925c0-4.511,3.657-8.167,8.167-8.167\n\t\ts8.167,3.657,8.167,8.167C58.167,68.937,56.625,71.495,54.315,72.937z\"/>\n</g>\n</svg>\n"
}
}
}
{"tiddlers":{"$:/plugins/eucaly/popuptagger/config":{"_active":"on","created":"20140913215723814","creator":"EucalyJ","modified":"20140923134103805","modifier":"EucalyJ","tags":"$:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/config","type":"text/vnd.tiddlywiki","text":"$:/plugins/eucaly/popuptagger/TagBar"},"$:/plugins/eucaly/popuptagger/ControlPage":{"created":"20140913163723059","creator":"EucalyJ","modified":"20140922055743981","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger $:/_UI","title":"$:/plugins/eucaly/popuptagger/ControlPage","type":"text/vnd.tiddlywiki","text":"\\define if-match-else(A,B,C=\"\",D,E)\n<$reveal type=\"match\" state=\"$A$\" text=$B$ default=$C$>\n\t$D$\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$A$\" text=$B$ default=$C$>\n\t$E$\n</$reveal>\n\\end\n\n\\define if-matchB-blank-default(A,B,C=\"\",D)\n<$reveal type=\"match\" state=\"$A$\" text=\"$B$\" default=\"\">\n\t$D$\n</$reveal>\n\\end\n\n* `**` In this tiddler, all PopupTagger(s) are displayed (view filters are ignored).\n\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n~PopupTagger ''Enabled''\n</$reveal>\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"match\" text=\"off\" default=\"\">\n~PopupTagger `Disabled`\n</$reveal> <<PopupTaggerSwitch>>\n\n<h3> Available ~PopupTagger(s)</h3>\n<table>\n<tr align=\"center\">\n<th>Debug</th>\n<th>Active</th>\n<th>Tag<br/>Edit</th>\n<th>Tag<br/>Table</th>\n<th>Tag<br/>Bar</th>\n<th>\n\t<p>~PopupTagger(s) <$button message=\"tm-new-tiddler\" param=\"$:/plugins/eucaly/popuptagger/TagBar\">Add</$button></p>\n</th></tr>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]tag[$:/_popuptagger]]\" >\n<tr>\n\t<$list filter=\"_debug _active _edittag _tagtable _tagpopup\"] variable=\"field\">\n<td align=\"center\">\n\t\t<$checkbox field=<<field>> checked=\"on\" unchecked=\"off\" default=\"on\"/>\n</td>\n\t</$list>\n<td>\n\t<p><$radio tiddler=\"$:/plugins/eucaly/popuptagger/config\" value={{!!title}}/> <$link to={{!!title}}><$text text={{!!title}}/></$link>\n\t<$macrocall $name=\"if-matchB-blank-default\" \nA=\"$:/plugins/eucaly/popuptagger/config\" \nB={{!!title}}\nD=\"<br/>@@color:red;=>@@ Configure as below\" \n/>\n<$reveal type=\"nomatch\" state=\"$:/plugins/eucaly/popuptagger/config\" text={{!!title}} default=\"\">\n<br/>Parent Tags : ''<$view field=\"taggroup\"/>''\n<br/>View Filter : ''<$view field=\"view-filter\"/>''\n<br/>List After : ''<$view field=\"list-after\"/>''\n</$reveal>\n</p>\n</td></tr>\n</$list>\n</table><br/>\n\n<$list filter=\"[title{$:/plugins/eucaly/popuptagger/config}]\" >\n<h3> Configure ~PopupTagger -- [ <$text text={{!!title}}/> ]</h3>\n\n<ul>\n<li> Parent Tags : ''<$view field=\"taggroup\"/>''\n<$linkcatcher message=\"tm-navigate\" set=<<qualify $:/state/tab>> setTo=\"$:/plugins/eucaly/popuptagger/tab-taggroup\">\n\t<$button set=\"$:/temp/pptg-taggroup!!tags\" setTo={{!!taggroup}} to=<<InPlace>> >Verify</$button>\n</$linkcatcher>\n</li>\n<ul><li>\n\t<$reveal type=\"nomatch\" state=<<qualify $:/state/tab>> text=\"$:/plugins/eucaly/popuptagger/tab-taggroup\" default=\"\">\n\t\tconfig with <$button set=<<qualify $:/state/tab>> setTo=\"$:/plugins/eucaly/popuptagger/tab-taggroup\"> \n Parent Tags </$button> tab below\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<qualify $:/state/tab>> text=\"$:/plugins/eucaly/popuptagger/tab-taggroup\" default=\"\">\n\t\tnew value -- \n\t\t<<if-match-else \"!!taggroup\" {{$:/temp/pptg-taggroup!!tags}} {{!!taggroup}}\n\t\t\"@@color:blue;no changed@@ --\"\n\t\t\"\"\"@@color:blue;<$text text={{$:/temp/pptg-taggroup!!tags}}/>@@ --\n\t\t<$list filter=\"[{$:/temp/pptg-taggroup!!tags}regexp[\\S]first[]]\" variable=\"text1\">\t<!-- not empty -->\n\t\t\t<$button set=\"!!taggroup\" setTo={{$:/temp/pptg-taggroup!!tags}}>Proceed</$button>\n\t\t</$list>\n\t\t\"\"\">>\n\t</$reveal>\n</li></ul><br/>\n\n<li> View Filter : ''<$text text={{!!view-filter}}/>''\n<$linkcatcher message=\"tm-navigate\" set=<<qualify $:/state/tab>> setTo=\"$:/core/ui/AdvancedSearch/Filter\">\n\t<$button set=\"$:/temp/advancedsearch\" setTo={{!!view-filter}} to=<<InPlace>> >Verify</$button>\n</$linkcatcher>\n</li>\n<ul><li>\n\t<$reveal type=\"nomatch\" state=<<qualify $:/state/tab>> text=\"$:/core/ui/AdvancedSearch/Filter\" default=\"\">\n\t\tconfig and verify with <$button set=<<qualify $:/state/tab>> setTo=\"$:/core/ui/AdvancedSearch/Filter\"> \n Filter </$button> tab below\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<qualify $:/state/tab>> text=\"$:/core/ui/AdvancedSearch/Filter\" default=\"\">\n\t\tnew value -- \n\t\t<<if-match-else \"!!view-filter\" {{$:/temp/advancedsearch}} {{$(pptg-tool-base)$!!view-filter}} \n\t\t\"@@color:blue;no changed@@ --\"\n\t\t\"\"\"@@color:blue;{{$:/temp/advancedsearch}}@@ --\n\t\t<$list filter=\"[{$:/temp/advancedsearch}regexp[\\S]first[]]\" variable=\"text1\">\t<!-- not empty -->\n\t\t\t<$button set=\"!!view-filter\" setTo={{$:/temp/advancedsearch}}>Proceed</$button>\n\t\t</$list> \n\t\t\"\"\">>\n\t</$reveal>\n</li></ul><br/>\n\n<li> Location -- list after :\n<$select field=\"list-after\" default=\"\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]] -[[$(pptg-tool-base)$]]\">\n\t\t<option value=<<currentTiddler>>><$view field=\"title\"/></option>\n\t</$list>\n\t<option value=\"\">== none ==</option>\n</$select></li>\n</ul>\n</$list>\n<<tabs \"$:/plugins/eucaly/popuptagger/readme $:/plugins/eucaly/popuptagger/tab-taggroup $:/core/ui/AdvancedSearch/Filter\" \"$:/plugins/eucaly/popuptagger/readme\" \"$:/state/tab\">>"},"$:/plugins/eucaly/popuptagger/history":{"caption":"History","created":"20140905163101231","creator":"EucalyJ","lastupdate":"20141004","modified":"20141004021938843","modifier":"EucalyJ","tags":"$:/_readme $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/history","type":"text/vnd.tiddlywiki","text":"!!!History\n* 20141004 / ''0.1.4'' \n** add `Verify` button for Parent Tags in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n** fix `New Tag` button when parent tag contains `!`\n* 20140921 / update icons\n* 20140914 / ''0.1.3'' ( 32K / 17.8K )\n** Global switch `<<PopupTaggerSwitch>>`\n** Reshape with central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n** No need user-provided \"pptg-tool-base\"\n** ==== coding details ====\n** only necessary macros are global\n** `InPlace.js` -- extended from TitleMe\n* 20140913 / ''0.1.2'' ( 24K / 11.4K ) -- for 5.0.17-beta ~\n** stylesheet tagged with {{$:/tags/Stylesheet||$:/core/ui/TagTemplate}}\n** sync ''~TagBar'' / ''~TagTable'' with the same column layout\n** add \"edit button\" for child tag\n** change to <$button to=\"\" class=<<tv-config-toolbar-class>>> {{$:/core/images/options-button}} </$button> [[$:/core/images/options-button]]\n** show PopupTagger config in one place\n** ==== coding details ====\n** Change ButtonWidget `title` attribute to `tooltip`\n** reduce `<$list>` use\n** use `listItem` to detect body / tagbar\n** use `storyTiddler`, `transclusion`, `listItem` variable for debug\n* 20140908 / ''0.1.1'' ( 14.8K / 10.2K )\n** Add ''~TagTable''\n** `<<PopupTaggerAuto>>` provides handy setup process\n** Each element can be enabled / disabled\n* 20140906 / ''0.0.1'' ( 4.5K / 2.2K ) -- not released\n** `<<PopupTaggerBar>>` -- global for all tiddlers\n** `<<PopupTaggerBarIf>>` -- selective, but might need some tweak for filter setup\n* 20140905 -- working draft\n"},"$:/plugins/eucaly/popuptagger/icon":{"created":"20140921105653585","creator":"EucalyJ","modified":"20140921105712528","modifier":"EucalyJ","ref":"tagx3-ON.svg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/icon","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g transform=\"translate(0,-924.36)\">\n\t\t<path d=\"m115.92 980.32a4.0004 4.0004 0 0 0 -2.75 1.21l-60 60.07a4.0004 4.0004 0 0 0 -0.01 0c-1.774 1.8-5.403 3.1-9.16 3.1s-7.385-1.3-9.16-3.1a4.0004 4.0004 0 0 0 -0.01 0l-24-24a4.0004 4.0004 0 1 0 -5.6561 5.6l23.988 24c3.882 3.9 9.425 5.5 14.84 5.5s10.959-1.6 14.84-5.5l59.99-60.01a4.0004 4.0004 0 0 0 -2.91 -6.87z\"/>\n\t\t<path d=\"m115.92 998.36a4.0004 4.0004 0 0 0 -2.75 1.21l-43.998 44.03a4.0004 4.0004 0 1 0 5.656 5.6l44.002-44a4.0004 4.0004 0 0 0 -2.91 -6.84z\"/>\n\t\t<path d=\"m83.105 0.5c-3.975 0-7.795 1.5904-10.605 4.4004l-60.504 60.539c-5.7851 5.79-5.7851 15.402 0 21.202l21.393 21.399c5.795 5.8 15.423 5.8 21.218 0l60.503-60.55c2.81-2.81 4.4-6.629 4.4-10.599v-21.391c0-8.2-6.81-15-15-15h-10.51-10.883zm10.895 15c5.847 0 10.43 4.548 10.49 10.379v0.242c-0.06 5.831-4.643 10.379-10.49 10.379-5.888 0-10.5-4.61-10.5-10.5s4.612-10.5 10.5-10.5z\" transform=\"translate(0,924.36)\"/>\n\t</g>\n</svg>\n\n"},"$:/plugins/eucaly/popuptagger/img/tag-tree.png":{"created":"20140909162119303","creator":"EucalyJ","modified":"20140909162542278","modifier":"EucalyJ","title":"$:/plugins/eucaly/popuptagger/img/tag-tree.png","type":"image/png","text":"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"},"$:/plugins/eucaly/popuptagger/img/tagOff":{"created":"20140915084600827","creator":"EucalyJ","modified":"20140921110223817","modifier":"EucalyJ","ref":"tagx3-OFFsvg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/img/tagOff","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<path d=\"M 79.105 4.5 C 75.131 4.5 71.312 6.0842 68.502 8.8945 L 12 65.395 C 6.2043 71.19 6.2043 80.814 12 86.609 L 41.395 115.99 C 47.19 121.79 56.81 121.79 62.605 115.99 L 119.1 59.504 C 121.91 56.694 123.5 52.873 123.5 48.896 L 123.5 30 L 123.5 19.504 C 123.5 11.309 116.69 4.5048 108.5 4.5039 L 98.154 4.5039 C 98.103 4.5036 98.052 4.5 98 4.5 C 97.948 4.5 97.897 4.5036 97.846 4.5039 L 79.107 4.5039 L 79.105 4.5 z M 98 19.5 C 103.86 19.5 108.45 24.071 108.5 29.92 L 108.5 30.08 C 108.45 35.929 103.86 40.5 98 40.5 C 92.112 40.5 87.5 35.888 87.5 30 C 87.5 24.112 92.112 19.5 98 19.5 z M 72.869 25.736 C 72.631 27.125 72.5 28.548 72.5 30 C 72.5 43.994 84.006 55.5 98 55.5 C 99.449 55.5 100.87 55.37 102.25 55.133 L 52 105.39 L 22.605 76.002 L 72.869 25.736 z \"/>\n</svg>\n\n"},"$:/plugins/eucaly/popuptagger/img/tagOn":{"created":"20140915084642817","creator":"EucalyJ","modified":"20140921105742282","modifier":"EucalyJ","ref":"tagx3-ON.svg","tags":"$:/tags/Image $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/img/tagOn","type":"text/vnd.tiddlywiki","text":"{{$:/plugins/eucaly/popuptagger/icon}}"},"$:/plugins/eucaly/popuptagger/inplace.js":{"created":"20140913152220978","creator":"EucalyJ","modified":"20140913154217527","modifier":"EucalyJ","module-type":"macro","tags":"$:/_js $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/inplace.js","type":"application/javascript","text":"/*\\\n$:/plugins/eucaly/popuptagger/inplace.js\ntype: application/javascript\nmodule-type: macro\n\n!!! Feature\nThis InPlace macro returns in-place field vaule of source tiddler (even in a transclude hierarchy)\n\n!!! Usage\n<<InPlace fieldName:\"title\">>\n* returns the field vaule of source tiddler\n* default field is title\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"InPlace\";\n\nexports.params = [{ name: \"fieldName\" }\n];\n\n/*\nRun the macro\n*/\nexports.run = function(fieldName) {\n var output = \"\",\n\tvariable_name = \"transclusion\",\n meRegex = /\\{[^|]*\\|([^|]*)\\|/,\n p = this,\n v0 = \"\";\n while (p)\n {\n var v = p.getVariable(variable_name);\n\t\tif ( v && v!=v0 )\n {\n \tvar match = meRegex.exec(v);\n if (match && match.length>1)\n {\n\t\t\t\toutput = match[1];\n if (fieldName)\n {\nvar tiddler = this.wiki.getTiddler(output);\nif(tiddler) {\n\toutput = tiddler.getFieldString(fieldName);\n}\n }\n break;\n\t\t\t}\n\t\t}\n\t\tp = p.parentWidget;\n }\n\treturn output;\n};\n\n})();"},"$:/plugins/eucaly/popuptagger/macros/auto":{"created":"20140907013822226","creator":"EucalyJ","modified":"20140914012228717","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/macros/auto","type":"text/vnd.tiddlywiki","text":"\\define pptg-debug(src)\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_debug\" text=\"off\" default=\"on\">\n^^<$link to=\"\" tooltip=<<TitleMe>> >me</$link>\n<$link to=\"\" tooltip=<<trace-variable \"storyTiddler\">> >story</$link>\n<$link to=\"\" tooltip=<<trace-variable \"currentTiddler\">> >current</$link>\n<$link to=\"\" tooltip=<<trace-variable \"transclusion\" \"<br/>\">> >trans</$link>\n<$link to=\"\" tooltip=<<trace-variable \"listItem\">> >listItem</$link>^^\n\t$src$ \n</$reveal>\n\\end\n\n\\define pptg-tagbar()\n<!-- is tool-base itself -->\n<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-debug \"\"\"@@color:orange;(21-tool-base)@@ ^^@@color:#860;<$text text=\"$(pptg-tool-base)$\">@@^^\"\"\">> \n\t<<PopupTagger>>\n</$reveal>\n<!-- NOT tool-base itself -->\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-debug \"\"\"@@color:#080;(26-tagbar)@@ ^^<$text text=\"$(pptg-tool-base)$\">^^\"\"\">>\n\t<!-- if ControlPage -->\n\t<$reveal type=\"match\" state=\"!!title\" text=\"$:/plugins/eucaly/popuptagger/ControlPage\" default=\"\">\n\t\t<<PopupTagger>>\n\t</$reveal>\n\t<!-- normal tillders -->\n\t<$reveal type=\"nomatch\" state=\"!!title\" text=\"$:/plugins/eucaly/popuptagger/ControlPage\" default=\"\">\n\t\t<<PopupTaggerIf>>\n</$reveal></$reveal>\n\\end\n\n\\define pptg-body()\n<!-- is tool-base itself -->\n<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n<br/>\n\t<h3>This is a __~PopupTagger tiddler__, you can visit [[PopupTagger ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]] to check the configuration.</h3>\n</$reveal>\n<!-- NOT tool-base itself -->\n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!title\" text=<<storyTiddler>> default=\"\">\n\t<<pptg-tool-base-warning>>\n</$reveal>\n\\end\n\n\\define pptg-tool-base-warning()\n<<pptg-debug \"@@color:red;(58-tool-base-warning)@@<br/>\">>\n@@color:red;There's something wrong with ~popupTagger ...@@\n<ul>\n<li>`pptg-tool-base` -- <<InPlace>></li>\n<li>while `new title` -- <<storyTiddler>></li>\n</ul>\n\\end"},"$:/plugins/eucaly/popuptagger/macros/render":{"created":"20140914011146334","creator":"EucalyJ","modified":"20141004020308447","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/macros/render","type":"text/vnd.tiddlywiki","text":"\\define pptg-tagPopup()\n<$button popup=<<qualify $:/temp/$(tagG)$>> tooltip=\"Select tags\" class=\"tc-btn-invisible\">\n ▼ $(tagG)$</$button>\n<$reveal type=popup state=<<qualify $:/temp/$(tagG)$>> >\n\t<div class=\"tc-popup tc-tiddler-info\">\n\t\t<<pptg-tagColumn>>\n\t</div>\n</$reveal>\n\\end\n\n\\define pptg-tagColumn()\n<!-- cannot use {{$(tagG)$||$:/core/ui/TagTemplate}} here, because of popup conflict -->\n<p>$(tagG)$ ( <$count filter=\"[[$(tagG)$]tagging[]!prefix[$:/temp]!has[draft.of]]\"/> )</p>\n<hr/>\n<p><$list filter=\"[tag[$(tagG)$]!prefix[$:/temp]!has[draft.of]sort[]]\" variable=\"tagA\">\n\t<$button message=\"tm-edit-tiddler\" param=<<tagA>> class=<<tv-config-toolbar-class>>>\n\t\t{{$:/core/images/edit-button}}</$button>\n\t<$checkbox tiddler=\"$(currentTiddler)$\" tag=<<tagA>>> <<tagA>></$checkbox><br/> \n</$list>\n<$list filter=\"[[$(tagG)$]regexp:title[!]]\" variable=\"test3\" emptyMessage=\"\"\"<$button set=\"new $(tagG)$ tag!!tags\" setTo=\"$(tagG)$\">New Tag</$button>\"\"\">\n<$button set=\"new tag!!tags\" setTo=\"$(tagG)$\">New Tag</$button>\n</$list></p>\n\\end\n\n\\define pptg-render()\n<div class=\"tc-popuptagger\">\n<!-- TagBar itself -->\n\t<$reveal type=\"match\" state=\"$(pptg-tool-base)$!!title\" text={{!!title}} default=\"\">\n\t\t@@color:red;=>@@\n\t</$reveal>\n<!-- in ControlPage & TagBar is selected -->\n\t<$reveal type=\"match\" state=\"$:/plugins/eucaly/popuptagger/ControlPage!!title\" text=<<storyTiddler>> default=\"\">\n\t\t<$reveal type=\"match\" state=\"$:/plugins/eucaly/popuptagger/config\" text=\"$(pptg-tool-base)$\" default=\"\">\n\t\t\t@@color:red;=>@@\n\t</$reveal></$reveal> \n<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_active\" text=\"off\" default=\"on\">\n\t<$linkcatcher message=\"tm-navigate\" set=\"$:/plugins/eucaly/popuptagger/config\" setTo=<<InPlace>> >\n\t<$button to=\"$:/plugins/eucaly/popuptagger/ControlPage\" tooltip=\"Config PopupTagger - $(pptg-tool-base)$\" class=<<tv-config-toolbar-class>> >\n\t\t{{$:/core/images/options-button}}</$button>\n\t</$linkcatcher>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_edittag\" text=\"off\" default=\"on\">\n\t\t<$reveal type=\"nomatch\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<$button set=\"$:/state/popuptagger/EditTags\" setTo=<<qualify $:/temp/EditTags>> tooltip=\"Edit tags\">Edit Tags</$button>\n\t\t</$reveal>\n\t\t<$reveal type=\"match\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<$button tooltip=\"Hide tags\" set=\"$:/state/popuptagger/EditTags\" setTo=\"\">Hide Tags</$button>\n\t\t</$reveal>\n\t\t/\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_tagtable\" text=\"off\" default=\"on\">\n\t\t<<pptg-tagTable>>\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_tagpopup\" text=\"off\" default=\"on\">\n\t\t<$list filter=<<InPlace \"taggroup\">> variable=\"tagG\">\n\t\t\t<<pptg-tagPopup>>\n\t\t</$list>\n\t</$reveal>\n\t<$reveal type=\"nomatch\" state=\"$(pptg-tool-base)$!!_edittag\" text=\"off\" default=\"on\">\n\t\t<$reveal type=\"match\" state=\"$:/state/popuptagger/EditTags\" text=<<qualify $:/temp/EditTags>> default=\"\">\n\t\t\t<p><$edit field=\"tags\"/></p>\n\t</$reveal></$reveal>\n</$reveal>\n</div>\n\\end\n\n\\define pptg-tagTable()\n<$reveal type=popup state=<<qualify $:/temp/tagTable>> >\n<div class=\"tc-popup tc-tiddler-info\">\n\t<table><tr valign=\"top\">\n\t\t<$list filter=<<InPlace \"taggroup\">> variable=\"tagG\">\n\t\t\t<td><<pptg-tagColumn>></td>\n\t\t</$list>\n\t</tr></table>\n</div></$reveal> \n<$button popup=<<qualify $:/temp/tagTable>> tooltip=\"Tag Table\">Tag Table</$button>\n\\end"},"$:/plugins/eucaly/popuptagger/macros":{"created":"20140905060129591","creator":"EucalyJ","modified":"20140914024929144","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger $:/tags/Macro","title":"$:/plugins/eucaly/popuptagger/macros","type":"text/vnd.tiddlywiki","text":"\\define PopupTagger()\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n<$importvariables filter=\"[all[shadows+tiddlers]prefix[$:/plugins/eucaly/popuptagger/macros/]]\">\n<$set name=\"pptg-tool-base\" value=<<InPlace>> >\n\t<<pptg-render>>\n</$set>\n</$importvariables>\n</$reveal>\n\\end\n\n\\define PopupTaggerIf()\n<$list filter=<<InPlace \"view-filter\">> variable=\"t1\">\n<$list filter=\"[<t1>is[current]!has[draft.of]first[]]\" variable=\"t2\">\n\t<<PopupTagger>>\n</$list></$list>\n\\end\n\n\\define PopupTaggerAuto()\n<$importvariables filter=\"[all[shadows+tiddlers]prefix[$:/plugins/eucaly/popuptagger/macros/]]\">\n<$set name=\"pptg-tool-base\" value=<<InPlace>> >\n<$list filter=\"[title<InPlace>!field:title<listItem>]\" variable=\"test14\">\n<div class=\"tc-popuptagger-body\">\t<!-- body only -->\n\t<<pptg-debug \"@@color:#080;(09-body-only)@@\">>\n\t<<pptg-body>>\n</div>\n</$list>\n\n<$list filter=\"[title<InPlace>field:title<listItem>]\" variable=\"test23\">\n<div class=\"tc-popuptagger\">\t\t<!-- tagbar only -->\n\t<<pptg-debug \"@@color:orange;(13-tagbar-only)@@\">>\n\t<<pptg-tagbar>>\n</div>\n</$list>\n</$set>\n</$importvariables>\n\\end\n\n\\define PopupTaggerSwitch()\n<span class=\"tc-popuptagger-switch\">\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"nomatch\" text=\"off\" default=\"\">\n<$button set=\"$:/plugins/eucaly/popuptagger/config!!_active\" setTo=\"off\" tooltip=\"Hide PopupTagger\" class=<<tv-config-toolbar-class>> >{{$:/plugins/eucaly/popuptagger/img/tagOn}}</$button>\n</$reveal>\n<$reveal state=\"$:/plugins/eucaly/popuptagger/config!!_active\" type=\"match\" text=\"off\" default=\"\">\n<$button set=\"$:/plugins/eucaly/popuptagger/config!!_active\" setTo=\"on\" tooltip=\"Show PopupTagger\" class=<<tv-config-toolbar-class>> >{{$:/plugins/eucaly/popuptagger/img/tagOff}}</$button>\n</$reveal>\n</span>\n\\end\n"},"$:/plugins/eucaly/popuptagger/readme":{"caption":"~PopupTagger","created":"20140905151516651","creator":"EucalyJ","lastupdate":"20141004","modified":"20141004021911667","modifier":"EucalyJ","tags":"$:/_readme $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/readme","type":"text/vnd.tiddlywiki","text":"!![[PopupTagger Plugin|$:/plugins/eucaly/popuptagger/readme]]\n<hr>\n\nThis ''PopupTagger'' plugin provides ''~TagTable'' and ''~TagBar with popup list of tags'' for [[TiddlyWiki 5|http://tiddlywiki.com/]]. \n<p>** Inspired by [[MonkeyTaggerMacro|http://tiddlywiki.squize.org/#MonkeyTaggerMacro]] (~TiddlyWiki classic)</p>\n\n!!!Features\n\n# ''~TagBar'' with ''popup list of tags''\n# ''~TagTable'' for quick tagging \n# ''~TagEdit'' enables ''tag editing'' as in ~TiddlyWiki classic\n# Shortcut <$button class=<<tv-config-toolbar-class>>> {{$:/core/images/options-button}}</$button> for ''~PopupTagger'' setting\n# ''Global switch'' `<<PopupTaggerSwitch>>` <<PopupTaggerSwitch>>\n# ''Handy setup process'' -- central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n#* Each element can be enabled / disabled\n#* ''Custom parent tags'' to generate ''~TagBar'' and ''~TagTable''\n#* ~PopupTagger could be ''selectively available'' for certain tiddlers only -- thanks to `<$list>` filter\n#* ''Custom ~PopupTagger location'' -- thanks to `list-after` field\n# ** all above tag operations is ''real-time'' in ''View Mode''\n\n!!!Install\n* Drag&Drop package -- [[$:/plugins/eucaly/popuptagger]] (with documentation)<!--, or\n* Drag&Drop the macros <$list filter=\"[all[shadows+tiddlers]tag[$:/_macros]tag[$:/_popuptagger]!has[draft.of]sort[]]\">\n\n* <$link to={{!!title}}>{{!!title}}</$link>\n</$list>-->\n\n!!!Usage\n\n* You may start with some tag trees like :\n<<<\n{{$:/plugins/eucaly/popuptagger/img/tag-tree.png}}\n<<<\n# Goto central [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]] ( [[$:/plugins/eucaly/popuptagger/ControlPage]] )\n# Check for available ~PopupTagger, or\n# Press `Add` button\n#* Rename the new ~PopupTagger tiddler, in order not to overwrite the [[PopupTagger template|$:/plugins/eucaly/popuptagger/TagBar]]\n#* ~~Modify `\\define pptg-tool-base()` macro definition to sync with the new title~~\n#* ~~In addition to that,~~ please keep `<<PopupTaggerAuto>>` macro call there.\n# Follow the `Configure` section provided in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]]\n# ''Global switch'' `<<PopupTaggerSwitch>>` <<PopupTaggerSwitch>> is available in [[ControlPage|$:/plugins/eucaly/popuptagger/ControlPage]], and can be added to else where as you like.\n* ** If you like to conduct a ''manual setup'', you may try `<<PopupTagger>>` or `<<PopupTaggerIf>>` macro call, instead of `<<xxxAuto>>`\n\n!!!Filter Example\n\n| <p>[tag[`$:/_readme`]] [tag[`$:/_UI`]]</p> |tagged `$:/_readme` or `$:/_UI` |\n| <p>[tag[`$:/_macros`]tag[`$:/_popuptagger`]]</p> |tagged `$:/_macros` and `$:/_popuptagger` |\n| <p>[creator/`eucaly`/(i)]</p> |with creator name contains `eucaly` |\n\n"},"$:/plugins/eucaly/popuptagger/StyleSheet":{"created":"20140906125324508","creator":"EucalyJ","modified":"20140912233930702","modifier":"EucalyJ","tags":"$:/tags/Stylesheet $:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/StyleSheet","type":"text/css","text":".tc-popuptagger\n{\n\tbackground-color: #eee;\n}\n\n.tc-tiddler-body .tc-popuptagger\n{\n\tdisplay:none;\n}\n\n.tc-popuptagger-body\n{\n\tdisplay:none;\n}\n\n.tc-tiddler-body .tc-popuptagger-body\n{\n\tdisplay:inline;\n}\n\n.tc-popuptagger-body input\n{\n\twidth: 60%\n}\n\n.tc-popuptagger-checked\n{\n\tbackground-color: #8f8;\n}"},"$:/plugins/eucaly/popuptagger/tab-taggroup":{"caption":"Parent Tags","created":"20140907071901381","creator":"EucalyJ","modified":"20140914012411928","modifier":"EucalyJ","tags":"$:/_macros $:/_popuptagger","title":"$:/plugins/eucaly/popuptagger/tab-taggroup","type":"text/vnd.tiddlywiki","text":"!!!!Parent Tags \n\n<table>\n\t<$list filter=\"[all[shadows+tiddlers]tags[]tags[]]\">\n\t\t<tr>\n\t\t<td><$checkbox tiddler=\"$:/temp/pptg-taggroup\" tag={{!!title}}/></td>\n\t\t<td align=\"left\">{{!!title}}\n ( <$count filter=\"[{!!title}tagging[]!prefix[$:/temp]!has[draft.of]]\"/> )</td>\n\t\t</tr>\n\t</$list>\n</table>\n\nor edit in below -- <$button set=\"$:/temp/pptg-taggroup!!tags\" setTo=\"\">Clear</$button>\n{{$:/temp/pptg-taggroup||$:/core/ui/EditTemplate/tags}}\n<$edit tiddler=\"$:/temp/pptg-taggroup\" field=\"tags\"/>\n\nIf below result looks OK, please press `Proceed` above.\n<table><tr valign=\"top\">\n\t<$list filter=\"[list[$:/temp/pptg-taggroup!!tags]]\">\n\t\t<td><p>''{{!!title}}'' ( <$count filter=\"[{!!title}tagging[]!prefix[$:/temp]]\"/> )</p>\n\t\t\t<$list filter=\"[{!!title}tagging[]!prefix[$:/temp]sort[]]\">\n\t\t\t\t{{!!title}}<br/>\n\t\t\t</$list></td>\n\t</$list>\n</tr></table>"},"$:/plugins/eucaly/popuptagger/TagBar":{"_active":"on","_debug":"off","_edittag":"on","_tagpopup":"off","_tagtable":"on","created":"20140905024853346","creator":"EucalyJ","list-after":"$:/core/ui/ViewTemplate/tags","modified":"20140921091502881","modifier":"EucalyJ","taggroup":"$:/plugins/eucaly $:/_doc-type $:/_doc-edition toc","tags":"$:/tags/ViewTemplate $:/_UI $:/_popuptagger $:/_macros","title":"$:/plugins/eucaly/popuptagger/TagBar","type":"text/vnd.tiddlywiki","view-filter":"[all[tiddlers+shadows]regexp:creator[eucaly(?i)]]","text":"<<PopupTaggerAuto>>"}}}
$:/plugins/eucaly/popuptagger/TagBar
{"tiddlers":{"$:/plugins/eucaly/quickjump/history":{"caption":"History","created":"20140910032641035","creator":"EucalyJ","lastupdate":"20140918","modified":"20140921111023904","modifier":"EucalyJ","tags":"$:/_readme $:/_quickjump","title":"$:/plugins/eucaly/quickjump/history","type":"text/vnd.tiddlywiki","text":"!!!History\n* 20140918 / ''0.0.3'' -- icons\n* 20140913 / ''0.0.2'' ( 4.4K / 1.9K ) -- for 5.0.17-beta ~\n** stylesheet tagged with {{$:/tags/Stylesheet||$:/core/ui/TagTemplate}}\n** Change ButtonWidget `title` attribute to `tooltip`\n* 20140909 / ''0.0.1'' ( 3.8K / 1.5K ) -- first version\n"},"$:/plugins/eucaly/quickjump/icon":{"created":"20140918103216925","creator":"EucalyJ","modified":"20140921111324109","modifier":"EucalyJ","ref":"qqj-4a.svg","tags":"$:/tags/Image $:/_quickjump","title":"$:/plugins/eucaly/quickjump/icon","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g transform=\"translate(0,-924.36)\">\n\t\t<path d=\"m59.818 992.92a7.5008 7.5008 0 0 0 -5.177 12.88l18.707 18.6-14.662 14.5a7.5139 7.5139 0 0 0 10.552 10.7l20.039-19.9a7.5008 7.5008 0 0 0 0 -10.6l-24.07-23.92a7.5008 7.5008 0 0 0 -5.389 -2.26z\"/>\n\t\t<path d=\"m79.875 981.14a7.5008 7.5008 0 0 0 -5.15 12.91l24.246 23.95c2.949 3 3.569 4.9 3.549 6.4 0 1.4-0.75 3.6-3.936 6.8a7.5008 7.5008 0 0 0 -0.01 0l-7.881 7.9a7.5028 7.5028 0 1 0 10.621 10.6l7.87-7.9c4.93-4.9 8.25-10.8 8.33-17.3 0.1-6.4-3.18-12.4-7.97-17.1l-24.27-24.02a7.5008 7.5008 0 0 0 -5.395 -2.24z\"/>\n\t\t<path d=\"m28 926.36c-7.51 0-13.39 3.59-17.9 8.1-4.511 4.51-8.1 10.39-8.1 17.9v56.04c0 7.5 3.5894 13.4 8.094 17.9 4.504 4.5 10.378 8.1 17.906 8.1h20.051 4.238a10.001 10.001 0 1 0 0 -20h-4.238-20.051c-0.01 0-2.142-0.6-3.752-2.3-1.61-1.6-2.248-3.7-2.248-3.7v-56.04s0.638-2.15 2.242-3.76c1.604-1.6 3.726-2.24 3.758-2.24h56c0.03 0 2.154 0.64 3.758 2.24 1.604 1.61 2.242 3.73 2.242 3.76v20.45a10.001 10.001 0 1 0 20 0v-20.45c0-7.51-3.59-13.39-8.1-17.9s-10.39-8.1-17.9-8.1h-56z\"/>\n\t</g>\n</svg>\n\n"},"$:/plugins/eucaly/quickjump/macros":{"created":"20140909113810419","creator":"EucalyJ","modified":"20140921111343875","modifier":"EucalyJ","tags":"$:/_macros $:/_quickjump $:/tags/Macro","title":"$:/plugins/eucaly/quickjump/macros","type":"text/vnd.tiddlywiki","text":"\\define lingo-base() $:/language/CloseAll/\n\n\\define QuickJump()\n<$button popup=<<qualify $:/temp/qjmp>> tooltip=\"Jump to Tiddlers\" class=\"tc-btn-invisible\">\n<$transclude tiddler=\"$:/plugins/eucaly/quickjump/icon\">\n\t@@color:#888;△@@\n</$transclude>\n </$button>\n<$reveal type=\"popup\" state=<<qualify $:/temp/qjmp>> position=\"belowleft\">\n\t<div class=\"tc-popup tc-tiddler-info tc-qjmp-popup\">\n\t\t<p><$checkbox tiddler=\"$:/temp/qjmp\" field=\"catcher\" checked=\"\" unchecked=<<qualify $:/temp/qjmp>> default=\"\"> Keep on top</$checkbox> / [[[?] QuickJump|$:/plugins/eucaly/quickjump/readme]]</p>\n<hr/>\n\n<$linkcatcher message=\"tm-navigate\" set={{$:/temp/qjmp!!catcher}} setTo=\"\">\n\n\t<$list filter=\"[list[$:/StoryList]]\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">×</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n\t</$list>\n\n\t<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\" set=<<qualify $:/temp/qjmp>> setTo=\"\"><<lingo Button>></$button>\n\n</$linkcatcher>\n<$reveal type=\"match\" state=\"$:/info/node\" text=\"yes\">\n^^<$link to=\"\" tooltip=<<trace-variable \"storyTiddler\">> >story</$link>\n<$link to=\"\" tooltip=<<trace-variable \"transclusion\" \"<br/>\">> >trans</$link>\n<$link to=\"\" tooltip=<<trace-variable \"listItem\">> >listItem</$link>^^\t\n</$reveal></div></$reveal>\n\\end"},"$:/plugins/eucaly/quickjump/readme":{"caption":"~QuickJump","created":"20140905132557737","creator":"EucalyJ","modified":"20141004023452682","modifier":"EucalyJ","tags":"$:/_readme $:/_quickjump","title":"$:/plugins/eucaly/quickjump/readme","type":"text/vnd.tiddlywiki","text":"!![[QuickJump Plugin|$:/plugins/eucaly/quickjump/readme]]\n<hr>\n\nQuickJump - Quick jump to tiddlers in story list\n\n!!!Features\n\n# Add \" <<QuickJump>> \" button to bring a popup menu to ''jump to tiddlers in story list'' -- emulate the function of ` Open tab ` ( [[$:/core/ui/SideBar/Open]] @sidebar )\n# After jumping\n#* Keep popup menu on top, or\n#* Auto close the popup\n# Technical\n#* Practice `<$linkcatcher>` widget\n\n!!!Install\n* Drag&Drop -- [[$:/plugins/eucaly/quickjump]] (with documentation)\n\n!!!Uasge\n# Create a new tiddler that contains `<<QuickJump>>` macro call\n# Add {{$:/tags/TopRightBar||$:/core/ui/TagTemplate}} tag to the tiddler\n# If necessary, tweak [[$:/plugins/eucaly/quickjump/StyleSheet]]\n# Possible for other locations, such as {{$:/tags/TopLeftBar||$:/core/ui/TagTemplate}} {{$:/tags/PageControls||$:/core/ui/TagTemplate}} {{$:/tags/ViewToolbar||$:/core/ui/TagTemplate}} or [[$:/SiteSubtitle]]. While, might need to tweak:\n#* ~StyleSheet as mentioned above\n#* [[Popup position|http://tiddlywiki.com/#RevealWidget]] (other than ''belowleft'') in [[$:/plugins/eucaly/quickjump/macros]]"},"$:/plugins/eucaly/quickjump/StyleSheet":{"created":"20140909114640581","creator":"EucalyJ","modified":"20140912233946258","modifier":"EucalyJ","tags":"$:/_macros $:/_quickjump $:/tags/Stylesheet","title":"$:/plugins/eucaly/quickjump/StyleSheet","type":"text/css","text":".tc-qjmp-popup p {\n\twhite-space: pre;\n}\n.tc-qjmp-popup {\n\tfont-size: 14px;\n\tline-height: 20px;\n}\n\n.tc-qjmp-popup .tc-btn-invisible {\n\tpadding: 0px;\n}"}}}
\define lingo-base() $:/language/CloseAll/
\define QuickJump()
<$button popup=<<qualify $:/temp/qjmp>> tooltip="Jump to Tiddlers" class="tc-btn-invisible">
<$transclude tiddler="$:/plugins/eucaly/quickjump/icon">
@@color:#888;△@@
</$transclude>
</$button>
<$reveal type="popup" state=<<qualify $:/temp/qjmp>> position="belowleft">
<div class="tc-popup tc-tiddler-info tc-qjmp-popup">
<$linkcatcher message="tm-navigate" set={{$:/temp/qjmp!!catcher}} setTo="">
<$list filter="[list[$:/StoryList]]">
<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">×</$button> <$link to={{!!title}}><$view field="title"/></$link>
</$list>
<$button message="tm-close-all-tiddlers" class="tc-btn-invisible tc-btn-mini" set=<<qualify $:/temp/qjmp>> setTo=""><<lingo Button>></$button>
</$linkcatcher>
<$reveal type="match" state="$:/info/node" text="yes">
^^<$link to="" tooltip=<<trace-variable "storyTiddler">> >story</$link>
<$link to="" tooltip=<<trace-variable "transclusion" "<br/>">> >trans</$link>
<$link to="" tooltip=<<trace-variable "listItem">> >listItem</$link>^^
</$reveal></div></$reveal>
\end
{
"tiddlers": {
"$:/plugins/flibbles/relink/js/bulkops.js": {
"text": "/*\\\nmodule-type: startup\n\nReplaces the relinkTiddler defined in $:/core/modules/wiki-bulkops.js\n\nThis is a startup instead of a wikimethods module-type because it's the only\nway to ensure this runs after the old relinkTiddler method is applied.\n\n\\*/\n(function(){\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nexports.name = \"redefine-relinkTiddler\";\nexports.synchronous = true;\n// load-modules is when wikimethods are applied in\n// ``$:/core/modules/startup/load-modules.js``\nexports.after = ['load-modules'];\n\nexports.startup = function() {\n\t$tw.Wiki.prototype.relinkTiddler = relinkTiddler;\n};\n\n/** Walks through all relinkable tiddlers and relinks them.\n * This replaces the existing function in core Tiddlywiki.\n */\nfunction relinkTiddler(fromTitle, toTitle, options) {\n\tvar self = this;\n\tvar failures = [];\n\tvar records = this.getRelinkReport(fromTitle, toTitle, options);\n\tfor (var title in records) {\n\t\tvar entries = records[title];\n\t\tvar changes = Object.create(null);\n\t\tvar update = false;\n\t\tfor (var field in entries) {\n\t\t\tvar entry = entries[field];\n\t\t\tlanguage.eachImpossible(entry, function() {\n\t\t\t\tfailures.push(title);\n\t\t\t});\n\t\t\tlanguage.logAll(entry, title, fromTitle, toTitle, options);\n\t\t\tif (entry && entry.output) {\n\t\t\t\tchanges[field] = entry.output;\n\t\t\t\tupdate = true;\n\t\t\t}\n\t\t}\n\t\t// If any fields changed, update tiddler\n\t\tif (update) {\n\t\t\tvar tiddler = this.getTiddler(title);\n\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,changes,self.getModificationFields())\n\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\tself.addTiddler(newTiddler);\n\t\t}\n\t};\n\tif (failures.length > 0) {\n\t\tvar options = $tw.utils.extend(\n\t\t\t{ variables: {to: toTitle, from: fromTitle},\n\t\t\t wiki: this},\n\t\t\toptions );\n\t\tlanguage.reportFailures(failures, options);\n\t}\n};\n\n})();\n",
"module-type": "startup",
"title": "$:/plugins/flibbles/relink/js/bulkops.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/language.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles all logging and alerts Relink emits.\n\n\\*/\n\nvar prettylink = require(\"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js\");\nvar Placeholder = require(\"$:/plugins/flibbles/relink/js/utils/placeholder.js\");\n\nexports.eachImpossible = function(rootEntry, method) {\n\tif (rootEntry.eachChild) {\n\t\trootEntry.eachChild(function(child) {\n\t\t\texports.eachImpossible.call(this, child, method);\n\t\t});\n\t}\n\tif (rootEntry.impossible) {\n\t\tmethod(rootEntry);\n\t}\n};\n\nexports.logAll = function(entry, title, from, to, options) {\n\tvar raw = exports.log[entry.name];\n\tif (entry.impossible) {\n\t\treturn;\n\t}\n\tif (raw) {\n\t\texports.logRelink(raw, entry, title, from, to, options);\n\t\treturn;\n\t}\n\tif (entry.eachChild) {\n\t\tentry.eachChild(function(child) {\n\t\t\texports.logAll(child, title, from, to, options);\n\t\t});\n\t}\n};\n\nexports.logRelink = function(raw, args, title, from, to, options) {\n\traw = \"Renaming '\"+from+\"' to '\"+to+\"' in \" + raw + \" of tiddler '\"+title+\"'\";\n\t// This is cheap, but whatevs. To do a proper\n\t// rendering would require working through a wiki\n\t// object. Too heavy weight for log messages.\n\tvar msg = raw.replace(/<<([^<>]+)>>/g, function(match, key) {\n\t\tvar value = args[key];\n\t\tif (key === \"field\") {\n\t\t\tvalue = descriptor(value);\n\t\t};\n\t\treturn value || (\"<<\"+key+\">>\");\n\t});\n\tconsole.log(msg);\n};\n\n// This wraps alert so it can be monkeypatched during testing.\nexports.alert = function(message) {\n\talert(message);\n};\n\nexports.getString = function(title, options) {\n\ttitle = \"$:/plugins/flibbles/relink/language/\" + title;\n\treturn options.wiki.renderTiddler(\"text/plain\", title, options);\n};\n\nvar logger;\n\nexports.reportFailures = function(failureList, options) {\n\tif (!logger) {\n\t\tlogger = new $tw.utils.Logger(\"Relinker\");\n\t}\n\tvar alertString = this.getString(\"Error/ReportFailedRelinks\", options)\n\tvar placeholder = new Placeholder(options);\n\tvar phOptions = $tw.utils.extend({placeholder: placeholder}, options);\n\tvar alreadyReported = Object.create(null);\n\tvar reportList = [];\n\t$tw.utils.each(failureList, function(f) {\n\t\tif (!alreadyReported[f]) {\n\t\t\tif ($tw.browser) {\n\t\t\t\treportList.push(\"\\n* \" + prettylink.makeLink(f, undefined, phOptions));\n\t\t\t} else {\n\t\t\t\treportList.push(\"\\n* \" + f);\n\t\t\t}\n\t\t\talreadyReported[f] = true;\n\t\t}\n\t});\n\tlogger.alert(placeholder.getPreamble() + alertString + \"\\n\" + reportList.join(\"\"));\n};\n\nexports.log = {\n\t\"html\": \"<<<element>> /> element\",\n\t\"field\": \"<<field>>\",\n\t\"filteredtransclude\": \"filtered transclusion\",\n\t\"image\": \"image\",\n\t\"import\": \"\\\\import filter\",\n\t\"macrodef\": \"<<macro>> definition\",\n\t\"prettylink\": \"prettylink\",\n\t\"syslink\": \"syslink\",\n\t\"transclude\": \"transclusion\",\n\t\"wikilink\": \"CamelCase link\",\n};\n\nfunction descriptor(field) {\n\tif (field === \"tags\") {\n\t\treturn \"tags\";\n\t} else {\n\t\treturn field + \" field\" ;\n\t}\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/language.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/mangler.js": {
"text": "/*\\\nmodule-type: widget\n\nCreates a mangler widget for field validation. This isn't meant to be used\nby the user. It's only used in Relink configuration.\n\n\\*/\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\n\nvar RelinkManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"relink-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"relink-add-operator\", handler: \"handleAddOperatorEvent\"},\n\t\t{type: \"relink-add-parameter\", handler: \"handleAddParameterEvent\"},\n\t\t{type: \"relink-add-attribute\", handler: \"handleAddAttributeEvent\"}\n\t]);\n};\n\nexports.relinkmangler = RelinkManglerWidget;\n\nRelinkManglerWidget.prototype = new Widget();\n\nRelinkManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (typeof param !== \"object\" || !param.field) {\n\t\t// Can't handle it.\n\t\treturn true;\n\t}\n\tvar trimmedName = param.field.toLowerCase().trim();\n\tif (!trimmedName) {\n\t\t// Still can't handle it, but don't warn.\n\t\treturn true;\n\t}\n\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\tlanguage.alert($tw.language.getString(\n\t\t\t\"InvalidFieldName\",\n\t\t\t{variables:\n\t\t\t\t{fieldName: trimmedName}\n\t\t\t}\n\t\t));\n\t} else {\n\t\tadd(this.wiki, \"fields\", trimmedName);\n\t}\n\treturn true;\n};\n\n/**Not much validation, even though there are definitely illegal\n * operator names. If you input on, Relink won't relink it, but it\n * won't choke on it either. Tiddlywiki will...\n */\nRelinkManglerWidget.prototype.handleAddOperatorEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param) {\n\t\tadd(this.wiki, \"operators\", param.operator);\n\t}\n\treturn true;\n};\n\nRelinkManglerWidget.prototype.handleAddParameterEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param && param.macro && param.parameter) {\n\t\tif (/\\s/.test(param.macro.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidMacroName\",\n\t\t\t\t{ variables: {macroName: param.macro},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else if (/[ \\/]/.test(param.parameter.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidParameterName\",\n\t\t\t\t{ variables: {parameterName: param.parameter},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else {\n\t\t\tadd(this.wiki, \"macros\", param.macro, param.parameter);\n\t\t}\n\t}\n\treturn true;\n};\n\nRelinkManglerWidget.prototype.handleAddAttributeEvent = function(event) {\n\tvar param = event.paramObject;\n\tif (param && param.element && param.attribute) {\n\t\tif (/[ \\/]/.test(param.element.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidElementName\",\n\t\t\t\t{ variables: {elementName: param.element},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else if (/[ \\/]/.test(param.attribute.trim())) {\n\t\t\tlanguage.alert(language.getString(\n\t\t\t\t\"Error/InvalidAttributeName\",\n\t\t\t\t{ variables: {attributeName: param.attribute},\n\t\t\t\t wiki: this.wiki\n\t\t\t\t}\n\t\t\t));\n\t\t} else {\n\t\t\tadd(this.wiki, \"attributes\", param.element, param.attribute);\n\t\t}\n\t}\n\treturn true;\n};\n\nfunction add(wiki, category/*, path parts*/) {\n\tvar path = \"$:/config/flibbles/relink/\" + category;\n\tfor (var x = 2; x < arguments.length; x++) {\n\t\tvar part = arguments[x];\n\t\t// Abort if it's falsy, or only whitespace. Also, trim spaces\n\t\tif (!part || !(part = part.trim())) {\n\t\t\treturn;\n\t\t}\n\t\tpath = path + \"/\" + part;\n\t}\n\tvar def = settings.getDefaultType(wiki);\n\twiki.addTiddler({title: path, text: def});\n};\n",
"module-type": "widget",
"title": "$:/plugins/flibbles/relink/js/mangler.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/settings.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles the fetching and distribution of relink settings.\n\n\\*/\n\nvar fieldTypes = Object.create(null);\nvar surveyors = [];\nvar prefix = \"$:/config/flibbles/relink/\";\n\n$tw.modules.forEachModuleOfType(\"relinkfieldtype\", function(title, exports) {\n\tfunction NewType() {};\n\tNewType.prototype = exports;\n\tNewType.typeName = exports.name;\n\tfieldTypes[exports.name] = NewType;\n\t// For legacy reasons, some of the field types can go by other names\n\tif (exports.aliases) {\n\t\t$tw.utils.each(exports.aliases, function(alias) {\n\t\t\tfieldTypes[alias] = NewType;\n\t\t});\n\t}\n});\n\n$tw.modules.forEachModuleOfType(\"relinksurveyor\", function(title, exports) {\n\tsurveyors.push(exports);\n});\n\nfunction Settings(wiki) {\n\tthis.settings = compileSettings(wiki);\n\tthis.wiki = wiki;\n};\n\nmodule.exports = Settings;\n\n/**Returns a specific relinker.\n * This is useful for wikitext rules which need to parse a filter or a list\n */\nSettings.getType = function(name) {\n\tvar Handler = fieldTypes[name];\n\treturn Handler ? new Handler() : undefined;\n};\n\nSettings.getTypes = function() {\n\t// We don't return fieldTypes, because we don't want it modified,\n\t// and we need to filter out legacy names.\n\tvar rtn = Object.create(null);\n\tfor (var type in fieldTypes) {\n\t\tvar typeObject = fieldTypes[type];\n\t\trtn[typeObject.typeName] = typeObject;\n\t}\n\treturn rtn;\n};\n\nSettings.getDefaultType = function(wiki) {\n\tvar tiddler = wiki.getTiddler(\"$:/config/flibbles/relink/settings/default-type\");\n\tvar defaultType = tiddler && tiddler.fields.text;\n\t// make sure the default actually exists, otherwise default\n\treturn fieldTypes[defaultType] ? defaultType : \"title\";\n};\n\nSettings.prototype.survey = function(text, fromTitle, options) {\n\tif (text) {\n\t\tfor (var i = 0; i < surveyors.length; i++) {\n\t\t\tif (surveyors[i].survey(text, fromTitle, options)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nSettings.prototype.getAttribute = function(elementName) {\n\treturn this.settings.attributes[elementName];\n};\n\nSettings.prototype.getAttributes = function() {\n\treturn flatten(this.settings.attributes);\n};\n\n\nSettings.prototype.getFields = function() {\n\treturn this.settings.fields;\n};\n\nSettings.prototype.getOperators = function() {\n\treturn this.settings.operators;\n};\n\nSettings.prototype.getMacro = function(macroName) {\n\treturn this.settings.macros[macroName];\n};\n\nSettings.prototype.getMacros = function() {\n\treturn flatten(this.settings.macros);\n};\n\nSettings.prototype.refresh = function(changes) {\n\tfor (var title in changes) {\n\t\tif (title.substr(0, prefix.length) === prefix) {\n\t\t\tthis.settings = compileSettings(this.wiki);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/**Factories define methods that create settings given config tiddlers.\n * for factory method 'example', it will be called once for each:\n * \"$:/config/flibbles/relink/example/...\" tiddler that exists.\n * the argument \"key\" will be set to the contents of \"...\"\n *\n * The reason I build relink settings in this convoluted way is to minimize\n * the number of times tiddlywiki has to run through EVERY tiddler looking\n * for relink config tiddlers.\n *\n * Also, by exporting \"factories\", anyone who extends relink can patch in\n * their own factory methods to create settings that are generated exactly\n * once per rename.\n */\nexports.factories = {\n\tattributes: function(attributes, data, key) {\n\t\tvar elem = root(key);\n\t\tvar attr = key.substr(elem.length+1);\n\t\tattributes[elem] = attributes[elem] || Object.create(null);\n\t\tattributes[elem][attr] = data;\n\t},\n\tfields: function(fields, data, name) {\n\t\tfields[name] = data;\n\t},\n\tmacros: function(macros, data, key) {\n\t\t// We take the last index, not the first, because macro\n\t\t// parameters can't have slashes, but macroNames can.\n\t\tvar name = dir(key);\n\t\tvar arg = key.substr(name.length+1);\n\t\tmacros[name] = macros[name] || Object.create(null);\n\t\tmacros[name][arg] = data;\n\t},\n\toperators: function(operators, data, name) {\n\t\toperators[name] = data;\n\t}\n};\n\nfunction compileSettings(wiki) {\n\tvar settings = Object.create(null);\n\tfor (var name in exports.factories) {\n\t\tsettings[name] = Object.create(null);\n\t}\n\twiki.eachShadowPlusTiddlers(function(tiddler, title) {\n\t\tif (title.substr(0, prefix.length) === prefix) {\n\t\t\tvar remainder = title.substr(prefix.length);\n\t\t\tvar category = root(remainder);\n\t\t\tvar factory = exports.factories[category];\n\t\t\tif (factory) {\n\t\t\t\tvar name = remainder.substr(category.length+1);\n\t\t\t\tvar Handler = fieldTypes[tiddler.fields.text];\n\t\t\t\tif (Handler) {\n\t\t\t\t\tvar data = new Handler();\n\t\t\t\t\tdata.source = title;\n\t\t\t\t\t// Secret feature. You can access a config tiddler's\n\t\t\t\t\t// fields from inside the fieldtype handler. Cool\n\t\t\t\t\t// tricks can be done with this.\n\t\t\t\t\tdata.fields = tiddler.fields;\n\t\t\t\t\tfactory(settings[category], data, name);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn settings;\n};\n\n/* Returns first bit of a path. path/to/tiddler -> path\n */\nfunction root(string) {\n\tvar index = string.indexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n};\n\n/* Returns all but the last bit of a path. path/to/tiddler -> path/to\n */\nfunction dir(string) {\n\tvar index = string.lastIndexOf('/');\n\tif (index >= 0) {\n\t\treturn string.substr(0, index);\n\t}\n}\n\nfunction flatten(set) {\n\tvar signatures = Object.create(null);\n\tfor (var outerName in set) {\n\t\tvar setItem = set[outerName];\n\t\tfor (var innerName in setItem) {\n\t\t\tsignatures[outerName + \"/\" + innerName] = setItem[innerName];\n\t\t}\n\t}\n\treturn signatures;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/settings.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/wikimethods.js": {
"text": "/*\\\nmodule-type: wikimethod\n\nIntroduces some utility methods used by Relink.\n\n\\*/\n\nvar MacroSettings = require('$:/plugins/flibbles/relink/js/utils/macroConfig.js');\nvar Settings = require(\"$:/plugins/flibbles/relink/js/settings.js\");\n\nvar relinkOperations = Object.create(null);\n$tw.modules.applyMethods('relinkoperator', relinkOperations);\n\n/** Returns a pair like this,\n * { title: {field: entry, ... }, ... }\n */\nexports.getRelinkReport = function(fromTitle, toTitle, options) {\n\tvar cache = this.getGlobalCache(\"relink-\"+fromTitle, function() {\n\t\treturn Object.create(null);\n\t});\n\tif (!cache[toTitle]) {\n\t\tcache[toTitle] = getFreshRelinkReport(this, fromTitle, toTitle, options);\n\t}\n\treturn cache[toTitle];\n};\n\nfunction getFreshRelinkReport(wiki, fromTitle, toTitle, options) {\n\toptions = options || {};\n\toptions.wiki = options.wiki || wiki;\n\toptions.settings = wiki.getRelinkConfig();\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\tvar changeList = Object.create(null);\n\tif(fromTitle && toTitle) {\n\t\tvar tiddlerList = wiki.getRelinkableTitles();\n\t\tfor (var i = 0; i < tiddlerList.length; i++) {\n\t\t\tvar title = tiddlerList[i];\n\t\t\tvar tiddler = wiki.getTiddler(title);\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(tiddler\n\t\t\t&& !tiddler.fields[\"plugin-type\"]\n\t\t\t&& tiddler.fields.type !== \"application/javascript\") {\n\t\t\t\ttry {\n\t\t\t\t\tvar entries = Object.create(null);\n\t\t\t\t\tfor (var operation in relinkOperations) {\n\t\t\t\t\t\trelinkOperations[operation](tiddler, fromTitle, toTitle, entries, options);\n\t\t\t\t\t}\n\t\t\t\t\tfor (var field in entries) {\n\t\t\t\t\t\t// So long as there is one key,\n\t\t\t\t\t\t// add it to the change list.\n\t\t\t\t\t\tchangeList[title] = entries;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// Should we test for instanceof Error instead?: yes\n\t\t\t\t\t// Does that work in the testing environment?: no\n\t\t\t\t\tif (e.message) {\n\t\t\t\t\t\te.message = e.message + \"\\nWhen relinking '\" + title + \"'\";\n\t\t\t\t\t}\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn changeList;\n};\n\nexports.getRelinkableTitles = function() {\n\tvar toUpdate = \"$:/config/flibbles/relink/to-update\";\n\tvar self = this;\n\treturn this.getCacheForTiddler(toUpdate, \"relink-toUpdate\", function() {\n\t\tvar tiddler = self.getTiddler(toUpdate);\n\t\tif (tiddler) {\n\t\t\treturn self.compileFilter(tiddler.fields.text);\n\t\t} else {\n\t\t\treturn self.allTitles;\n\t\t}\n\t})();\n};\n\n\nexports.getRelinkConfig = function() {\n\tif (this._relinkConfig === undefined) {\n\t\tvar settings = new Settings(this);\n\t\tvar config = new MacroSettings(this, settings);\n\t\tconfig.import( \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\");\n\t\t// All this below is just wiki.addEventListener, only it\n\t\t// puts the event in front, because we need to refresh our\n\t\t// relink settings before updating tiddlers.\n\t\tthis.eventListeners = this.eventListeners || {};\n\t\tthis.eventListeners.change = this.eventListeners.change || [];\n\t\tthis.eventListeners.change.unshift(function(changes) {\n\t\t\tconfig.refresh(changes);\n\t\t});\n\t\tthis._relinkConfig = config;\n\t}\n\treturn this._relinkConfig;\n};\n",
"module-type": "wikimethod",
"title": "$:/plugins/flibbles/relink/js/wikimethods.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js": {
"text": "/*\\\nmodule-type: allfilteroperator\n\nFilter function for [all[relinkable]].\nReturns all tiddlers subject to relinking.\n\n\\*/\n\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.relinkable = function(source,prefix,options) {\n\treturn options.wiki.getRelinkableTitles();\n};\n\n})();\n",
"module-type": "allfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/impossible.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nThis filter is meant for internal Relink use only, thus it's\nundocumented and subject to change. Also, it's really not great.\n\nGiven an input of targets, (possibly just one), outputs all the tiddlers in\nwhich Relink would fail to update <<currentTiddler>> to the operand in ALL\ncases.\n\n`[all[tiddlers+system]relink:impossible<toTiddler>]`\n\n\\*/\n\nvar language = require(\"$:/plugins/flibbles/relink/js/language.js\");\n\nexports.impossible = function(source,operator,options) {\n\tvar from = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tvar to = operator.operand,\n\t\tresults = [];\n\tif (from) {\n\t\tvar records = options.wiki.getRelinkReport(\n\t\t\tfrom, to, options);\n\t\tsource(function(tiddler, title) {\n\t\t\tvar fields = records[title];\n\t\t\tif (fields) {\n\t\t\t\tvar impossible = false;\n\t\t\t\tfor (var field in fields) {\n\t\t\t\t\tlanguage.eachImpossible(fields[field], function() {\n\t\t\t\t\t\timpossible = true;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (impossible) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/impossible.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/references.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven a title as an operand, returns all non-shadow tiddlers that have any\nsort of updatable reference to it.\n\n\n`relink:references[fromTiddler]]`\n\nReturns all tiddlers that reference `fromTiddler` somewhere inside them.\n\nInput is ignored. Maybe it shouldn't do this.\nAlso, maybe it should properly recon, instead of fake replacing the title with\n`__relink_dummy__`\n\\*/\n\nexports.references = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [];\n\tif (fromTitle) {\n\t\tvar records = options.wiki.getRelinkReport(\n\t\t\tfromTitle, \"$:/plugins/flibbles/relink/dummy\", options);\n\t\tfor (var title in records) {\n\t\t\tresults.push(title);\n\t\t}\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/references.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/relink.js": {
"text": "/*\\\nmodule-type: filteroperator\n\nThis filter acts as a namespace for several small, simple filters, such as\n\n`[relink:impossible[]]`\n\n\\*/\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nvar relinkFilterOperators;\n\nfunction getRelinkFilterOperators() {\n\tif(!relinkFilterOperators) {\n\t\trelinkFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"relinkfilteroperator\",\n\t\t relinkFilterOperators);\n\t}\n\treturn relinkFilterOperators;\n}\n\nexports.relink = function(source,operator,options) {\n\tvar suffixPair = parseSuffix(operator.suffix);\n\tvar relinkFilterOperator = getRelinkFilterOperators()[suffixPair[0]];\n\tif (relinkFilterOperator) {\n\t\tvar newOperator = $tw.utils.extend({}, operator);\n\t\tnewOperator.suffix = suffixPair[1];\n\t\treturn relinkFilterOperator(source, newOperator, options);\n\t} else {\n\t\treturn [language.getString(\"Error/RelinkFilterOperator\", options)];\n\t}\n};\n\nfunction parseSuffix(suffix) {\n\tvar index = suffix? suffix.indexOf(\":\"): -1;\n\tif (index >= 0) {\n\t\treturn [suffix.substr(0, index), suffix.substr(index+1)];\n\t} else {\n\t\treturn [suffix];\n\t}\n}\n",
"module-type": "filteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/relink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/report.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nGiven a title as an operand, returns a string for each occurrence of that title\nwithin each input title.\n\n[[title]] +[relink:report[fromTiddler]]`\n\nReturns string representation of fromTiddler occurrences in title.\n\\*/\n\nexports.report = function(source,operator,options) {\n\tvar fromTitle = operator.operand,\n\t\tresults = [],\n\t\trecords = options.wiki.getRelinkReport(\n\t\t\tfromTitle, fromTitle, options);\n\tif (fromTitle) {\n\t\tsource(function(tiddler, title) {\n\t\t\tvar affectedFields = records[title];\n\t\t\tif (affectedFields) {\n\t\t\t\tfor (var field in affectedFields) {\n\t\t\t\t\tvar entry = affectedFields[field];\n\t\t\t\t\tvar signatures = entry.report();\n\t\t\t\t\tresults = results.concat(signatures);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/report.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/signatures.js": {
"text": "/*\\\nmodule-type: relinkfilteroperator\n\nThis filter returns all input tiddlers which are a source of\nrelink configuration.\n\n`[all[tiddlers+system]relink:source[macros]]`\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\n\nexports.signatures = function(source,operator,options) {\n\tvar plugin = operator.operand || null;\n\tvar set = getSet(options);\n\tif (plugin === \"$:/core\") {\n\t\t// Core doesn't actually have any settings. We mean Relink\n\t\tplugin = \"$:/plugins/flibbles/relink\";\n\t}\n\tvar signatures = [];\n\tfor (var signature in set) {\n\t\tvar source = set[signature].source;\n\t\tif (options.wiki.getShadowSource(source) === plugin) {\n\t\t\tsignatures.push(signature);\n\t\t}\n\t}\n\treturn signatures;\n};\n\nexports.type = function(source,operator,options) {\n\tvar results = [];\n\tvar set = getSet(options);\n\tsource(function(tiddler, signature) {\n\t\tif (set[signature]) {\n\t\t\tresults.push(set[signature].name);\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.types = function(source,operator,options) {\n\tvar def = settings.getDefaultType(options.wiki);\n\tvar types = Object.keys(settings.getTypes());\n\ttypes.sort();\n\t// move default to front\n\ttypes.sort(function(x,y) { return x === def ? -1 : y === def ? 1 : 0; });\n\treturn types;\n};\n\nexports.source = function(source,operator,options) {\n\tvar results = [];\n\tvar category = operator.suffix;\n\tvar set = getSet(options);\n\tsource(function(tiddler, signature) {\n\t\tif (set[signature]) {\n\t\t\tresults.push(set[signature].source);\n\t\t}\n\t});\n\treturn results;\n};\n\nfunction getSet(options) {\n\treturn options.wiki.getGlobalCache(\"relink-signatures\", function() {\n\t\tvar config = options.wiki.getRelinkConfig();\n\t\tvar set = Object.create(null);\n\t\tvar categories = {\n\t\t\tattributes: config.getAttributes(),\n\t\t\tfields: config.getFields(),\n\t\t\tmacros: config.getMacros(),\n\t\t\toperators: config.getOperators()};\n\t\t$tw.utils.each(categories, function(list, category) {\n\t\t\t$tw.utils.each(list, function(item, key) {\n\t\t\t\tset[category + \"/\" + key] = item;\n\t\t\t});\n\t\t});\n\t\treturn set;\n\t});\n};\n",
"module-type": "relinkfilteroperator",
"title": "$:/plugins/flibbles/relink/js/filteroperators/signatures.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/filteroperators/splitafter.js": {
"text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: relinkfilteroperator\n\nFilter operator that splits each result on the last occurance of the specified separator and returns the last bit.\n\nWhat does this have to do with relink? Nothing. I need this so I can render\nthe configuration menu. I //could// use [splitregexp[]], but then I'd be\nlimited to Tiddlywiki v5.1.20 or later.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitafter = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar index = title.lastIndexOf(operator.operand);\n\t\tif(index < 0) {\n\t\t\t$tw.utils.pushTop(results,title);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,title.substr(index+1));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n\n",
"title": "$:/plugins/flibbles/relink/js/filteroperators/splitafter.js",
"type": "application/javascript",
"module-type": "relinkfilteroperator"
},
"$:/plugins/flibbles/relink/js/fieldtypes/filter.js": {
"text": "/*\\\nThis specifies logic for updating filters to reflect title changes.\n\\*/\n\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"filter\";\n\nvar FilterEntry = EntryNode.newType(\"filter\");\n\nFilterEntry.prototype.report = function() {\n\treturn this.children.map(function(child) {\n\t\tif (!child.report) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn child.report();\n\t});\n};\n\nfunction OperatorEntry(operandEntry) { this.entry = operandEntry; };\nOperatorEntry.prototype.name = \"operator\";\n\nOperatorEntry.prototype.eachChild = function(method) { method(this.entry); }\n\nOperatorEntry.prototype.report = function() {\n\tvar operand = \"\";\n\tif (this.entry.report) {\n\t\toperand = this.entry.report();\n\t}\n\tvar op = this.operator;\n\tvar brackets = '[]';\n\tif (this.type === \"indirect\") {\n\t\toperand = \"{\" + operand + \"}\";\n\t} else {\n\t\toperand = \"[\" + operand + \"]\";\n\t}\n\tvar suffix = '';\n\tif (op.suffix) {\n\t\tsuffix = \":\" + op.suffix;\n\t}\n\treturn \"[\" + (op.prefix || '') + op.operator + suffix + operand + \"]\";\n};\n\n/**Returns undefined if no change was made.\n */\nexports.relink = function(filter, fromTitle, toTitle, options) {\n\tif (!options.settings.survey(filter, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar filterEntry = new FilterEntry();\n\tvar relinker = new Rebuilder(filter);\n\tvar whitelist = options.settings.getOperators();\n\tvar p = 0, // Current position in the filter string\n\t\tmatch, noPrecedingWordBarrier,\n\t\twordBarrierRequired=false;\n\tvar whitespaceRegExp = /\\s+/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filter.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filter);\n\t\tnoPrecedingWordBarrier = false;\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t} else if (p != 0) {\n\t\t\tif (wordBarrierRequired) {\n\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\twordBarrierRequired = false;\n\t\t\t} else {\n\t\t\t\tnoPrecedingWordBarrier = true;\n\t\t\t}\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filter.length) {\n\t\t\tvar val;\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filter);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\t// It's a bad filter\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif(match[1]) { // prefix\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\t// We check if this is a standalone title,\n\t\t\t\t// like `[[MyTitle]]`. We treat those like\n\t\t\t\t// `\"MyTitle\"` or `MyTitle`. Not like a run.\n\t\t\t\tvar standaloneTitle = /\\[\\[([^\\]]+)\\]\\]/g;\n\t\t\t\tstandaloneTitle.lastIndex = p;\n\t\t\t\tvar alone = standaloneTitle.exec(filter);\n\t\t\t\tif (!alone || alone.index != p) {\n\t\t\t\t\t// It's a legit run\n\t\t\t\t\tp =parseFilterOperation(relinker,fromTitle,toTitle,filterEntry,filter,p,whitelist,options);\n\t\t\t\t\tif (p === undefined) {\n\t\t\t\t\t\t// The filter is malformed\n\t\t\t\t\t\t// We do nothing.\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbracketTitle = alone[1];\n\t\t\t\toperandRegExp.lastIndex = standaloneTitle.lastIndex;\n\t\t\t\tval = alone[1];\n\t\t\t} else {\n\t\t\t\t// standalone Double quoted string, single\n\t\t\t\t// quoted string, or noquote ahead.\n\t\t\t\tval = match[3] || match[4] || match[5];\n\t\t\t}\n\t\t\t// From here on, we're dealing with a standalone title\n\t\t\t// expression. like `\"MyTitle\"` or `[[MyTitle]]`\n\t\t\t// We're much more flexible about relinking these.\n\t\t\tvar preference = undefined;\n\t\t\tif (match[3]) {\n\t\t\t\tpreference = '\"';\n\t\t\t} else if (match[4]) {\n\t\t\t\tpreference = \"'\";\n\t\t\t} else if (match[5]) {\n\t\t\t\tpreference = '';\n\t\t\t}\n\t\t\tif (val === fromTitle) {\n\t\t\t\tvar entry = {name: \"title\"};\n\t\t\t\tvar newVal = wrapTitle(toTitle, preference);\n\t\t\t\tif (newVal === undefined) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t\tfilterEntry.add(entry);\n\t\t\t\t\t\tp = operandRegExp.lastIndex;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVal = \"[<\"+options.placeholder.getPlaceholderFor(toTitle,undefined,options)+\">]\";\n\t\t\t\t}\n\t\t\t\tif (newVal[0] != '[') {\n\t\t\t\t\t// not bracket enclosed\n\t\t\t\t\t// this requires whitespace\n\t\t\t\t\t// arnound it\n\t\t\t\t\tif (noPrecedingWordBarrier && !match[1]) {\n\t\t\t\t\t\trelinker.add(' ', p, p);\n\t\t\t\t\t}\n\t\t\t\t\twordBarrierRequired = true;\n\t\t\t\t}\n\t\t\t\tentry.output = toTitle;\n\t\t\t\tentry.operator = {operator: \"title\"};\n\t\t\t\tentry.quotation = preference;\n\t\t\t\tfilterEntry.add(entry);\n\t\t\t\trelinker.add(newVal,p,operandRegExp.lastIndex);\n\t\t\t}\n\t\t\tp = operandRegExp.lastIndex;\n\t\t}\n\t}\n\tif (filterEntry.children.length > 0) {\n\t\tfilterEntry.output = relinker.results();\n\t\treturn filterEntry;\n\t}\n\treturn undefined;\n};\n\n/* Same as this.relink, except this has the added constraint that the return\n * value must be able to be wrapped in curly braces. (i.e. '{{{...}}}')\n */\nexports.relinkInBraces = function(filter, fromTitle, toTitle, options) {\n\tvar entry = this.relink(filter, fromTitle, toTitle, options);\n\tif (entry && entry.output && !canBeInBraces(entry.output)) {\n\t\t// Although I think we can actually do this one.\n\t\tdelete entry.output;\n\t\tentry.impossible = true;\n\t}\n\treturn entry;\n};\n\nfunction wrapTitle(value, preference) {\n\tvar choices = {\n\t\t\"\": function(v) {return !/[\\s\\[\\]]/.test(v); },\n\t\t\"[\": canBePrettyOperand,\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; }\n\t};\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"[\": function(v) {return \"[[\"+v+\"]]\"; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; }\n\t};\n\tif (choices[preference]) {\n\t\tif (choices[preference](value)) {\n\t\t\treturn wrappers[preference](value);\n\t\t}\n\t}\n\tfor (var quote in choices) {\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrappers[quote](value);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n}\n\nfunction parseFilterOperation(relinker, fromTitle, toTitle, logger, filterString, p, whitelist, options) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\t// Missing [ in filter expression\n\t\treturn undefined;\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = \"!\";\n\t\t\tp++;\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing [ in filter expression\n\t\t\treturn undefined;\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tvar entry, type;\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\ttype = \"indirect\";\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\tentry = refHandler.relinkInBraces(operand, fromTitle, toTitle, options);\n\t\t\t\tif (entry && entry.output) {\n\t\t\t\t\t// We don't check the whitelist.\n\t\t\t\t\t// All indirect operands convert.\n\t\t\t\t\trelinker.add(entry.output,p,nextBracketPos);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\ttype = \"string\";\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tvar operand = filterString.substring(p,nextBracketPos);\n\t\t\t\t// Check if this is a relevant operator\n\t\t\t\tvar handler = fieldType(whitelist, operator);\n\t\t\t\tif (!handler) {\n\t\t\t\t\t// This operator isn't managed. Bye.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tentry = handler.relink(operand, fromTitle, toTitle, options);\n\t\t\t\tif (!entry) {\n\t\t\t\t\t// The fromTitle wasn't in the operand.\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (!entry.output) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar wrapped;\n\t\t\t\tif (!canBePrettyOperand(entry.output)) {\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\tdelete entry.output;\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tvar ph = options.placeholder.getPlaceholderFor(entry.output, handler.name, options);\n\t\t\t\t\twrapped = \"<\"+ph+\">\";\n\t\t\t\t} else {\n\t\t\t\t\twrapped = \"[\"+entry.output+\"]\";\n\t\t\t\t}\n\t\t\t\trelinker.add(wrapped, p-1, nextBracketPos+1);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Unterminated regular expression\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\tif (entry) {\n\t\t\tvar operatorEntry = new OperatorEntry(entry);\n\t\t\toperatorEntry.operator = operator;\n\t\t\toperatorEntry.type = type;\n\t\t\tlogger.add(operatorEntry);\n\t\t}\n\n\t\tif(nextBracketPos === -1) {\n\t\t\t// Missing closing bracket in filter expression\n\t\t\t// return undefined;\n\t\t}\n\t\tp = nextBracketPos + 1;\n\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\t// Missing ] in filter expression\n\t\treturn undefined;\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n// Returns the relinker needed for a given operator, or returns undefined.\nfunction fieldType(whitelist, operator) {\n\treturn (operator.suffix &&\n\t whitelist[operator.operator + \":\" + operator.suffix]) ||\n\t whitelist[operator.operator];\n};\n\nfunction canBePrettyOperand(value) {\n\treturn value.indexOf(']') < 0;\n};\n\nfunction canBeInBraces(value) {\n\treturn value.indexOf(\"}}}\") < 0 && value.substr(value.length-2) !== '}}';\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/filter.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/list.js": {
"text": "/*\\\nThis manages replacing titles that occur within stringLists, like,\n\nTiddlerA [[Tiddler with spaces]] [[Another Title]]\n\\*/\n\nexports.name = \"list\";\n\n/**Returns undefined if no change was made.\n * Parameter: value can literally be a list. This can happen for builtin\n * types 'list' and 'tag'. In those cases, we also return list.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar isModified = false,\n\t\tactualList = false,\n\t\tlist;\n\tif (typeof value !== \"string\") {\n\t\t// Not a string. Must be a list.\n\t\t// clone it, since we may make changes to this possibly\n\t\t// frozen list.\n\t\tlist = (value || []).slice(0);\n\t\tactualList = true;\n\t} else {\n\t\tlist = $tw.utils.parseStringArray(value || \"\");\n\t}\n\t$tw.utils.each(list,function (title,index) {\n\t\tif(title === fromTitle) {\n\t\t\tlist[index] = toTitle;\n\t\t\tisModified = true;\n\t\t}\n\t});\n\tif (isModified) {\n\t\tvar entry = {name: \"list\"};\n\t\t// It doesn't parse correctly alone, it won't\n\t\t// parse correctly in any list.\n\t\tif (!canBeListItem(toTitle)) {\n\t\t\tentry.impossible = true;\n\t\t} else if (actualList) {\n\t\t\tentry.output = list;\n\t\t} else {\n\t\t\tentry.output = $tw.utils.stringifyList(list);\n\t\t}\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n\nfunction canBeListItem(value) {\n\tvar regexp = /\\]\\][^\\S\\xA0]/m;\n\treturn !regexp.test(value);\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/list.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/reference.js": {
"text": "/*\\\nThis manages replacing titles that occur inside text references,\n\ntiddlerTitle\ntiddlerTitle!!field\n!!field\ntiddlerTitle##propertyIndex\n\\*/\n\nexports.name = \"reference\";\n\nfunction ReferenceEntry(reference) {\n\tthis.reference = reference;\n};\nReferenceEntry.prototype.name = \"reference\";\n\nReferenceEntry.prototype.report = function() {\n\tif (this.reference.field) {\n\t\treturn [\"!!\" + this.reference.field];\n\t}\n\tif (this.reference.index) {\n\t\treturn [\"##\" + this.reference.index];\n\t}\n\treturn [\"\"];\n};\n\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tvar entry;\n\tif (value) {\n\t\tvar reference = $tw.utils.parseTextReference(value);\n\t\tif (reference.title === fromTitle) {\n\t\t\tentry = new ReferenceEntry(reference);\n\t\t\tif (!exports.canBePretty(toTitle)) {\n\t\t\t\tentry.impossible = true;\n\t\t\t} else {\n\t\t\t\treference.title = toTitle;\n\t\t\t\tentry.output = exports.toString(reference);\n\t\t\t}\n\t\t}\n\t}\n\treturn entry;\n};\n\n/* Same as this.relink, except this has the added constraint that the return\n * value must be able to be wrapped in curly braces.\n */\nexports.relinkInBraces = function(value, fromTitle, toTitle, options) {\n\tvar log = this.relink(value, fromTitle, toTitle, options);\n\tif (log && log.output && toTitle.indexOf(\"}\") >= 0) {\n\t\tdelete log.output;\n\t\tlog.impossible = true;\n\t}\n\treturn log;\n};\n\nexports.toString = function(textReference) {\n\tvar title = textReference.title || '';\n\tif (textReference.field) {\n\t\treturn title + \"!!\" + textReference.field;\n\t} else if (textReference.index) {\n\t\treturn title + \"##\" + textReference.index;\n\t}\n\treturn title;\n};\n\nexports.canBePretty = function(title) {\n\treturn !title || (title.indexOf(\"!!\") < 0 && title.indexOf(\"##\") < 0);\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/reference.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/title.js": {
"text": "/*\\\nThis specifies logic for replacing a single-tiddler field. This is the\nsimplest kind of field type. One title swaps out for the other.\n\\*/\n\n// NOTE TO MODDERS: If you're making your own field types, the name must be\n// alpha characters only.\nexports.name = 'title';\n\n/**Returns undefined if no change was made.\n */\nexports.relink = function(value, fromTitle, toTitle, options) {\n\tif (value === fromTitle) {\n\t\treturn {name: \"title\", output: toTitle};\n\t}\n\treturn undefined;\n};\n\n// This is legacy support for when 'title' was known as 'field'\nexports.aliases = ['field', 'yes'];\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/title.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/fieldtypes/wikitext.js": {
"text": "/*\\\nThis specifies logic for updating filters to reflect title changes.\n\\*/\n\nexports.name = \"wikitext\";\n\nvar type = 'text/vnd.tiddlywiki';\n\nvar WikiParser = require(\"$:/core/modules/parsers/wikiparser/wikiparser.js\")[type];\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar WikitextEntry = EntryNode.newType(\"wikitext\");\n\nWikitextEntry.prototype.report = function() {\n\tvar output = [];\n\t$tw.utils.each(this.children, function(child) {\n\t\t// All wikitext children should be able to report\n\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\toutput.push(report);\n\t\t});\n\t});\n\treturn output;\n};\n\n\nfunction collectRules() {\n\tvar rules = Object.create(null);\n\t$tw.modules.forEachModuleOfType(\"relinkwikitextrule\", function(title, exports) {\n\t\tvar names = exports.name;\n\t\tif (typeof names === \"string\") {\n\t\t\tnames = [names];\n\t\t}\n\t\tfor (var i = 0; i < names.length; i++) {\n\t\t\trules[names[i]] = exports;\n\t\t}\n\t});\n\treturn rules;\n}\n\nfunction WikiRelinker(text, title, toTitle, options) {\n\tWikiParser.call(this, null, text, options);\n\tif (!this.relinkMethodsInjected) {\n\t\tvar rules = collectRules();\n\t\t$tw.utils.each([this.pragmaRuleClasses, this.blockRuleClasses, this.inlineRuleClasses], function(classList) {\n\t\t\tfor (var name in classList) {\n\t\t\t\tif (rules[name]) {\n\t\t\t\t\tdelete rules[name].name;\n\t\t\t\t\t$tw.utils.extend(classList[name].prototype, rules[name]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tWikiRelinker.prototype.relinkMethodsInjected = true;\n\t}\n\tthis.title = title;\n\tthis.toTitle = toTitle;\n\tthis.inlineRules = this.inlineRules.concat(this.pragmaRules, this.blockRules);\n\t// We work through relinkRules so we can change it later.\n\t// relinkRules is inlineRules so it gets touched up by amendRules().\n\tthis.relinkRules = this.inlineRules;\n};\n\nWikiRelinker.prototype = Object.create(WikiParser.prototype);\nWikiRelinker.prototype.parsePragmas = function() {return []; };\nWikiRelinker.prototype.parseInlineRun = function() {};\nWikiRelinker.prototype.parseBlocks = function() {};\n\nexports.relink = function(wikitext, fromTitle, toTitle, options) {\n\t// fromTitle doesn't even show up plaintext. No relinking to do.\n\tif (!options.settings.survey(wikitext, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar builder = new Rebuilder(wikitext),\n\t\tparser = new WikiRelinker(wikitext, options.currentTiddler, toTitle, options),\n\t\tmatchingRule,\n\t\tentry = new WikitextEntry(),\n\t\tnewOptions = $tw.utils.extend({}, options);\n\tnewOptions.settings = options.settings.createChildLibrary(options.currentTiddler);\n\twhile (matchingRule = parser.findNextMatch(parser.relinkRules, parser.pos)) {\n\t\tif (matchingRule.rule.relink) {\n\t\t\tvar newEntry = matchingRule.rule.relink(wikitext, fromTitle, toTitle, newOptions);\n\t\t\tif (newEntry !== undefined) {\n\t\t\t\tentry.add(newEntry);\n\t\t\t\tif (newEntry.output) {\n\t\t\t\t\tbuilder.add(newEntry.output, matchingRule.matchIndex, parser.pos);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (matchingRule.rule.matchRegExp !== undefined) {\n\t\t\t\tparser.pos = matchingRule.rule.matchRegExp.lastIndex;\n\t\t\t} else {\n\t\t\t\t// We can't easily determine the end of this\n\t\t\t\t// rule match. We'll \"parse\" it so that\n\t\t\t\t// parser.pos gets updated, but we throw away\n\t\t\t\t// the results.\n\t\t\t\tmatchingRule.rule.parse();\n\t\t\t}\n\t\t}\n\t}\n\tif (entry.children.length > 0) {\n\t\tentry.output = builder.results();\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n",
"module-type": "relinkfieldtype",
"title": "$:/plugins/flibbles/relink/js/fieldtypes/wikitext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/fields.js": {
"text": "/*\\\n\nHandles all fields specified in the plugin configuration. Currently, this\nonly supports single-value fields.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar log = require('$:/plugins/flibbles/relink/js/language.js').logRelink;\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar FieldEntry = EntryNode.newType(\"field\");\n\nFieldEntry.prototype.report = function() {\n\tvar self = this;\n\tvar output = [];\n\t$tw.utils.each(this.children, function(child) {\n\t\tif (child.report) {\n\t\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\t\tif (report) {\n\t\t\t\t\toutput.push(self.field + \": \" + report);\n\t\t\t\t} else {\n\t\t\t\t\toutput.push(self.field);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\toutput.push(self.field);\n\t\t}\n\t});\n\treturn output;\n};\n\nexports['fields'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar fields = options.settings.getFields();\n\t$tw.utils.each(fields, function(handler, field) {\n\t\tvar input = tiddler.fields[field];\n\t\tvar entry = handler.relink(input, fromTitle, toTitle, options);\n\t\tif (entry !== undefined) {\n\t\t\tvar fieldEntry = new FieldEntry();\n\t\t\tfieldEntry.field = field;\n\t\t\tfieldEntry.output = entry.output;\n\t\t\tfieldEntry.add(entry);\n\t\t\tchanges[field] = fieldEntry;\n\t\t}\n\t});\n};\n",
"module-type": "relinkoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/fields.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text.js": {
"text": "/*\\\n\nDepending on the tiddler type, this will apply textOperators which may\nrelink titles within the body.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar defaultOperator = \"text/vnd.tiddlywiki\";\n\nvar textOperators = Object.create(null);\n$tw.modules.applyMethods('relinktextoperator', textOperators);\n\n// $:/DefaultTiddlers is a tiddler which has type \"text/vnd.tiddlywiki\",\n// but it lies. It doesn't contain wikitext. It contains a filter, so\n// we pretend it has a filter type.\n// If you want to be able to add more exceptions for your plugin, let me know.\nvar exceptions = {\n\t\"$:/DefaultTiddlers\": \"text/x-tiddler-filter\"\n};\n\nexports['text'] = function(tiddler, fromTitle, toTitle, changes, options) {\n\tvar fields = tiddler.fields;\n\tif (fields.text) {\n\t\tvar type = exceptions[fields.title] || fields.type || defaultOperator;\n\t\tif (textOperators[type]) {\n\t\t\tvar entry = textOperators[type].call(this, tiddler, fromTitle, toTitle, options);\n\t\t\tif (entry) {\n\t\t\t\tchanges.text = entry;\n\t\t\t}\n\t\t}\n\t}\n};\n",
"module-type": "relinkoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js": {
"text": "/*\\\n\nThis relinks tiddlers which contain filters in their body, as oppose to\nwikitext.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\n\nexports['text/x-tiddler-filter'] = function(tiddler, fromTitle, toTitle, options) {\n\treturn filterHandler.relink(tiddler.fields.text, fromTitle, toTitle, options)\n};\n",
"module-type": "relinktextoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js": {
"text": "/*\\\n\nChecks for fromTitle in a tiddler's text. If found, sees if it's relevant,\nand tries to swap it out if it is.\n\n\\*/\n\n/*jslint node: false, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar type = 'text/vnd.tiddlywiki';\nvar Placeholder = require(\"$:/plugins/flibbles/relink/js/utils/placeholder.js\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar wikitextHandler = settings.getType('wikitext');\n\nexports[type] = function(tiddler, fromTitle, toTitle, options) {\n\tvar placeholder = new Placeholder();\n\tvar currentOptions = $tw.utils.extend(\n\t\t{\n\t\t\tcurrentTiddler: tiddler.fields.title,\n\t\t\tplaceholder: placeholder\n\t\t}, options);\n\tvar entry = wikitextHandler.relink(tiddler.fields.text, fromTitle, toTitle, currentOptions);\n\tif (entry && entry.output) {\n\t\t// If there's output, we've also got to prepend any macros\n\t\t// that the placeholder defined.\n\t\tvar preamble = placeholder.getPreamble();\n\t\tentry.output = preamble + entry.output;\n\t}\n\treturn entry;\n}\n",
"module-type": "relinktextoperator",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles code blocks. Or rather //doesn't// handle them, since we should\nignore their contents.\n\n\"`` [[Renamed Title]] ``\" will remain unchanged.\n\n\\*/\n\nexports.name = [\"codeinline\", \"codeblock\"];\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar reEnd;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// I'm lazy. This relink method works for both codeblock and codeinline\n\tif (this.match[0].length > 2) {\n\t\t// Must be a codeblock\n\t\treEnd = /\\r?\\n```$/mg;\n\t} else {\n\t\t// Must be a codeinline\n\t\treEnd = new RegExp(this.match[1], \"mg\");\n\t}\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(text);\n\tif (match) {\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles comment blocks. Or rather //doesn't// handle them, since we should\nignore their contents.\n\n\"<!-- [[Renamed Title]] -->\" will remain unchanged.\n\n\\*/\n\nexports.name = [\"commentinline\", \"commentblock\"];\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of filtered transclusions in wiki text like,\n\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n\nThis renames both the list and the template field.\n\n\\*/\n\nexports.name = ['filteredtranscludeinline', 'filteredtranscludeblock'];\n\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\nvar utils = require(\"./utils.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nvar FilteredTranscludeEntry = EntryNode.newType(\"filteredtransclude\");\n\nFilteredTranscludeEntry.prototype.report = function() {\n\tvar output = [];\n\tvar self = this;\n\t$tw.utils.each(this.children, function(child) {\n\t\tif (child.name === \"filter\") {\n\t\t\tvar append = \"}}}\";\n\t\t\tif (self.template) {\n\t\t\t\tappend = \"||\" + self.template + append;\n\t\t\t}\n\t\t\t$tw.utils.each(child.report(), function(report) {\n\t\t\t\toutput.push(\"{{{\" + report + append);\n\t\t\t});\n\t\t} else {\n\t\t\t// Must be the template\n\t\t\toutput.push(\"{{{\" + self.filter + \"||}}}\");\n\t\t}\n\t});\n\treturn output;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar m = this.match;\n\t\tfilter = m[1],\n\t\ttooltip = m[2],\n\t\ttemplate = m[3],\n\t\tstyle = m[4],\n\t\tclasses = m[5],\n\t\tparser = this.parser,\n\t\tentry = new FilteredTranscludeEntry();\n\tparser.pos = this.matchRegExp.lastIndex;\n\tvar modified = false;\n\n\tvar filterEntry = filterHandler.relink(filter, fromTitle, toTitle, options);\n\tif (filterEntry !== undefined) {\n\t\tentry.add(filterEntry);\n\t\tif (filterEntry.output) {\n\t\t\tmodified = true;\n\t\t\tfilter = filterEntry.output;\n\t\t}\n\t}\n\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\t// preserves user-inputted whitespace\n\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\tentry.add({name: \"title\", output: template});\n\t\tmodified = true;\n\t}\n\tif (!modified) {\n\t\tif (entry.children.length <= 0) {\n\t\t\treturn undefined;\n\t\t}\n\t} else {\n\t\tvar output = this.makeFilteredtransclude(filter, tooltip, template, style, classes, options);\n\t\tif (output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t} else {\n\t\t\t// By copying over the ending newline of the original\n\t\t\t// text if present, thisrelink method thus works for\n\t\t\t// both the inline and block rule\n\t\t\tentry.output = output + utils.getEndingNewline(m[0]);\n\t\t}\n\t\tentry.filter = filter;\n\t}\n\tentry.template = template;\n\treturn entry;\n};\n\nexports.makeFilteredtransclude = function(filter, tooltip, template, style, classes, options) {\n\tif (canBePretty(filter) && canBePrettyTemplate(template)) {\n\t\treturn prettyList(filter, tooltip, template, style, classes);\n\t} else {\n\t\treturn widget(filter, tooltip, template, style, classes, options);\n\t}\n};\n\nfunction prettyList(filter, tooltip, template, style, classes) {\n\tif (tooltip === undefined) {\n\t\ttooltip = '';\n\t} else {\n\t\ttooltip = \"|\" + tooltip;\n\t}\n\tif (template === undefined) {\n\t\ttemplate = '';\n\t} else {\n\t\ttemplate = \"||\" + template;\n\t}\n\tif (classes === undefined) {\n\t\tclasses = '';\n\t} else {\n\t\tclasses = \".\" + classes;\n\t}\n\tstyle = style || '';\n\treturn \"{{{\"+filter+tooltip+template+\"}}\"+style+\"}\"+classes;\n};\n\n/** Returns a filtered transclude as a string of a widget.\n */\nfunction widget(filter, tooltip, template, style, classes, options) {\n\tvar cannotDo = false;\n\tif (classes !== undefined) {\n\t\tclasses = classes.split('.').join(' ');\n\t}\n\tfunction wrap(name, value, treatAsTitle) {\n\t\tif (!value) {\n\t\t\treturn '';\n\t\t}\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\tif (!options.placeholder) {\n\t\t\t\tcannotDo = true;\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tvar category = treatAsTitle ? undefined : name;\n\t\t\twrappedValue = \"<<\"+options.placeholder.getPlaceholderFor(value,category,options)+\">>\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t};\n\tvar widget = [\n\t\t\"<$list\",\n\t\twrap(\"filter\", filter),\n\t\twrap(\"tooltip\", tooltip),\n\t\twrap(\"template\", template, true),\n\t\twrap(\"style\", style),\n\t\twrap(\"itemClass\", classes),\n\t\t\"/>\"\n\t];\n\tif (cannotDo) {\n\t\treturn undefined;\n\t}\n\treturn widget.join('');\n};\n\nfunction canBePretty(filter) {\n\treturn filter.indexOf('|') < 0 && filter.indexOf('}}') < 0;\n};\n\nfunction canBePrettyTemplate(template) {\n\treturn !template || (\n\t\ttemplate.indexOf('|') < 0\n\t\t&& template.indexOf('{') < 0\n\t\t&& template.indexOf('}') < 0);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in attributes of widgets and html elements\nThis is configurable to select exactly which attributes of which elements\nshould be changed.\n\n<$link to=\"TiddlerTitle\" />\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar refHandler = settings.getType('reference');\nvar filterHandler = settings.getType('filter');\nvar macrocall = require(\"./macrocall.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"html\";\n\nvar HtmlEntry = EntryNode.newCollection(\"html\");\n\nHtmlEntry.prototype.forEachChildReport = function(report, attribute, type) {\n\tvar rtn = attribute;\n\tif (type === \"filtered\") {\n\t\trtn += \"={{{\" + report + \"}}}\";\n\t} else if (type === \"indirect\") {\n\t\trtn += \"={{\" + report + \"}}\";\n\t} else if (type === \"macro\") {\n\t\trtn += \"=\"+report;\n\t} else{\n\t\t// must be string.\n\t\tif (report.length > 0) {\n\t\t\trtn += '=\"' + report + '\"';\n\t\t}\n\t}\n\treturn \"<\" + this.element + \" \" + rtn + \" />\";\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar managedElement = options.settings.getAttribute(this.nextTag.tag),\n\t\tbuilder = new Rebuilder(text, this.nextTag.start);\n\tvar importFilterAttr;\n\tvar widgetEntry = new HtmlEntry();\n\twidgetEntry.attributes = Object.create(null);\n\twidgetEntry.element = this.nextTag.tag;\n\tfor (var attributeName in this.nextTag.attributes) {\n\t\tvar attr = this.nextTag.attributes[attributeName];\n\t\tvar nextEql = text.indexOf('=', attr.start);\n\t\t// This is the rare case of changing tiddler\n\t\t// \"true\" to something else when \"true\" is\n\t\t// implicit, like <$link to /> We ignore those.\n\t\tif (nextEql < 0 || nextEql > attr.end) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (this.nextTag.tag === \"$importvariables\" && attributeName === \"filter\") {\n\t\t\timportFilterAttr = attr;\n\t\t}\n\t\tvar oldLength, quotedValue, entry;\n\t\tif (attr.type === \"string\") {\n\t\t\tvar handler = getAttributeHandler(this.nextTag, attributeName, options);\n\t\t\tif (!handler) {\n\t\t\t\t// We don't manage this attribute. Bye.\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tentry = handler.relink(attr.value, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (entry.output) {\n\t\t\t\tvar quote = utils.determineQuote(text, attr);\n\t\t\t\toldLength = attr.value.length + (quote.length * 2);\n\t\t\t\tquotedValue = utils.wrapAttributeValue(entry.output,quote);\n\t\t\t\tif (quotedValue === undefined) {\n\t\t\t\t\t// The value was unquotable. We need to make\n\t\t\t\t\t// a macro in order to replace it.\n\t\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\t\t// but we can't...\n\t\t\t\t\t\tentry.impossible = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar value = options.placeholder.getPlaceholderFor(entry.output,handler.name,options)\n\t\t\t\t\t\tquotedValue = \"<<\"+value+\">>\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (attr.type === \"indirect\") {\n\t\t\tentry = refHandler.relinkInBraces(attr.textReference, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// +4 for '{{' and '}}'\n\t\t\t\toldLength = attr.textReference.length + 4;\n\t\t\t\tquotedValue = \"{{\"+entry.output+\"}}\";\n\t\t\t}\n\t\t} else if (attr.type === \"filtered\") {\n\t\t\tentry = filterHandler.relinkInBraces(attr.filter, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// +6 for '{{{' and '}}}'\n\t\t\t\toldLength = attr.filter.length + 6;\n\t\t\t\tquotedValue = \"{{{\"+ entry.output +\"}}}\";\n\t\t\t}\n\t\t} else if (attr.type === \"macro\") {\n\t\t\tvar macro = attr.value;\n\t\t\tentry = macrocall.relinkAttribute(macro, text, fromTitle, toTitle, options);\n\t\t\tif (entry === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!entry.impossible) {\n\t\t\t\t// already includes '<<' and '>>'\n\t\t\t\toldLength = macro.end-macro.start;\n\t\t\t\tquotedValue = entry.output;\n\t\t\t}\n\t\t}\n\t\twidgetEntry.addChild(entry, attributeName, attr.type);\n\t\tif (quotedValue === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (this.nextTag.tag === \"$importvariables\" && attributeName === \"filter\") {\n\t\t\t// If this is an import variable filter, we gotta\n\t\t\t// remember this new value when we import lower down.\n\t\t\timportFilterAttr = quotedValue;\n\t\t}\n\t\t// We count backwards from the end to preserve whitespace\n\t\tvar valueStart = attr.end - oldLength;\n\t\tbuilder.add(quotedValue, valueStart, attr.end);\n\t}\n\tif (importFilterAttr) {\n\t\tprocessImportFilter(importFilterAttr, options);\n\t}\n\tthis.parser.pos = this.nextTag.end;\n\tif (widgetEntry.hasChildren()) {\n\t\twidgetEntry.output = builder.results(this.nextTag.end);\n\t\treturn widgetEntry;\n\t}\n\treturn undefined;\n};\n\n/** Returns the field handler for the given attribute of the given widget.\n * If this returns undefined, it means we don't handle it. So skip.\n */\nfunction getAttributeHandler(widget, attributeName, options) {\n\tif (widget.tag === \"$macrocall\") {\n\t\tvar nameAttr = widget.attributes[\"$name\"];\n\t\tif (nameAttr) {\n\t\t\tvar macro = options.settings.getMacro(nameAttr.value);\n\t\t\tif (macro) {\n\t\t\t\treturn macro[attributeName];\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar element = options.settings.getAttribute(widget.tag);\n\t\tif (element) {\n\t\t\treturn element[attributeName];\n\t\t}\n\t}\n\treturn undefined;\n};\n\nfunction computeAttribute(attribute, options) {\n\tvar value;\n\tif(attribute.type === \"filtered\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = options.wiki.filterTiddlers(attribute.filter,parentWidget)[0] || \"\";\n\t} else if(attribute.type === \"indirect\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = options.wiki.getTextReference(attribute.textReference,\"\",parentWidget.variables.currentTiddler.value);\n\t} else if(attribute.type === \"macro\") {\n\t\tvar parentWidget = options.settings.getVariableWidget();\n\t\tvalue = parentWidget.getVariable(attribute.value.name,{params: attribute.value.params});\n\t} else { // String attribute\n\t\tvalue = attribute.value;\n\t}\n\treturn value;\n};\n\n// This processes a <$importvariables> filter attribute and adds any new\n// variables to our parser.\nfunction processImportFilter(importAttribute, options) {\n\tif (typeof importAttribute === \"string\") {\n\t\t// It was changed. Reparse it. It'll be a quoted\n\t\t// attribute value. Add a dummy attribute name.\n\t\timportAttribute = $tw.utils.parseAttribute(\"p=\"+importAttribute, 0)\n\t}\n\tvar importFilter = computeAttribute(importAttribute, options);\n\toptions.settings.import(importFilter);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in wiki text inline rules, like,\n\n[img[tiddler.jpg]]\n\n[img width=23 height=24 [Description|tiddler.jpg]]\n\n\\*/\n\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar filterHandler = require(\"$:/plugins/flibbles/relink/js/settings\").getType('filter');\nvar macrocall = require(\"./macrocall.js\");\nvar utils = require(\"./utils.js\");\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = \"image\";\n\nvar ImageEntry = EntryNode.newCollection(\"image\");\n\nImageEntry.prototype.forEachChildReport = function(report, attribute, type) {\n\tvar value;\n\tif (attribute === \"source\") {\n\t\tif (this.tooltip) {\n\t\t\tvalue = \"[img[\" + this.tooltip.value + \"]]\";\n\t\t} else {\n\t\t\tvalue = \"[img[]]\";\n\t\t}\n\t} else {\n\t\tif (type === \"indirect\") {\n\t\t\tvalue = \"{{\" + report + \"}}\";\n\t\t} else if (type === \"filtered\") {\n\t\t\tvalue = \"{{{\" + report + \"}}}\";\n\t\t} else if (type === \"macro\") {\n\t\t\t// angle brackets already added...\n\t\t\tvalue = report;\n\t\t}\n\t\tvalue = \"[img \" + attribute + \"=\"+ value + \"]\";\n\t}\n\treturn value;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar ptr = this.nextImage.start;\n\tvar builder = new Rebuilder(text, ptr);\n\tvar makeWidget = false;\n\tvar skipSource = false;\n\tvar imageEntry = new ImageEntry();\n\timageEntry.attributes = Object.create(null);\n\tif (this.nextImage.attributes.source.value === fromTitle && !canBePretty(toTitle, this.nextImage.attributes.tooltip)) {\n\t\tif (utils.wrapAttributeValue(toTitle) || options.placeholder) {\n\t\t\tmakeWidget = true;\n\t\t\tbuilder.add(\"<$image\", ptr, ptr+4);\n\t\t} else {\n\t\t\t// We won't be able to make a placeholder to replace\n\t\t\t// the source attribute. We check now so we don't\n\t\t\t// prematurely convert into a widget.\n\t\t\t// Keep going in case other attributes need replacing.\n\t\t\tskipSource = true;\n\t\t}\n\t}\n\tptr += 4; //[img\n\tvar inSource = false;\n\tfor (var attributeName in this.nextImage.attributes) {\n\t\tvar attr = this.nextImage.attributes[attributeName];\n\t\tif (attributeName === \"source\" || attributeName === \"tooltip\") {\n\t\t\tif (inSource) {\n\t\t\t\tptr = text.indexOf('|', ptr);\n\t\t\t} else {\n\t\t\t\tptr = text.indexOf('[', ptr);\n\t\t\t\tinSource = true;\n\t\t\t}\n\t\t\tif (makeWidget) {\n\t\t\t\tif (\" \\t\\n\".indexOf(text[ptr-1]) >= 0) {\n\t\t\t\t\tbuilder.add('', ptr, ptr+1);\n\t\t\t\t} else {\n\t\t\t\t\tbuilder.add(' ', ptr, ptr+1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tptr += 1;\n\t\t}\n\t\tif (attributeName === \"source\") {\n\t\t\tptr = text.indexOf(attr.value, ptr);\n\t\t\tif (attr.value === fromTitle) {\n\t\t\t\tvar entry = {name: \"title\"};\n\t\t\t\tif (makeWidget) {\n\t\t\t\t\tvar quotedValue = utils.wrapAttributeValue(toTitle);\n\t\t\t\t\tif (quotedValue === undefined) {\n\t\t\t\t\t\tvar key = options.placeholder.getPlaceholderFor(toTitle, undefined, options);\n\t\t\t\t\t\tbuilder.add(\"source=<<\"+key+\">>\", ptr, ptr+fromTitle.length);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbuilder.add(\"source=\"+quotedValue, ptr, ptr+fromTitle.length);\n\t\t\t\t\t}\n\t\t\t\t} else if (!skipSource) {\n\t\t\t\t\tbuilder.add(toTitle, ptr, ptr+fromTitle.length);\n\t\t\t\t} else {\n\t\t\t\t\tentry.impossible = true;\n\t\t\t\t}\n\t\t\t\timageEntry.addChild(entry, attributeName, \"string\");\n\t\t\t}\n\t\t\tptr = text.indexOf(']]', ptr);\n\t\t\tif (makeWidget) {\n\t\t\t\tbuilder.add(\"/>\", ptr, ptr+2);\n\t\t\t}\n\t\t\tptr += 2;\n\t\t} else if (attributeName === \"tooltip\") {\n\t\t\tif (makeWidget) {\n\t\t\t\tptr = text.indexOf(attr.value, ptr);\n\t\t\t\tvar quotedValue = utils.wrapAttributeValue(attr.value);\n\t\t\t\tbuilder.add(\"tooltip=\"+quotedValue, ptr, ptr+attr.value.length);\n\t\t\t}\n\t\t\timageEntry.tooltip = this.nextImage.attributes.tooltip;\n\t\t} else {\n\t\t\tptr = relinkAttribute(attr, builder, fromTitle, toTitle, imageEntry, options);\n\t\t}\n\t}\n\tthis.parser.pos = ptr;\n\tif (imageEntry.hasChildren()) {\n\t\timageEntry.output = builder.results(ptr);\n\t\treturn imageEntry;\n\t}\n\treturn undefined;\n};\n\nfunction relinkAttribute(attribute, builder, fromTitle, toTitle, entry, options) {\n\tvar text = builder.text;\n\tvar ptr = text.indexOf(attribute.name, attribute.start);\n\tvar end;\n\tptr += attribute.name.length;\n\tptr = text.indexOf('=', ptr);\n\tif (attribute.type === \"string\") {\n\t\tptr = text.indexOf(attribute.value, ptr)\n\t\tvar quote = utils.determineQuote(text, attribute);\n\t\t// ignore first quote. We already passed it\n\t\tend = ptr + quote.length + attribute.value.length;\n\t} else if (attribute.type === \"indirect\") {\n\t\tptr = text.indexOf('{{', ptr);\n\t\tvar end = ptr + attribute.textReference.length + 4;\n\t\tvar ref = refHandler.relinkInBraces(attribute.textReference, fromTitle, toTitle, options);\n\t\tif (ref) {\n\t\t\tentry.addChild(ref, attribute.name, \"indirect\");\n\t\t\tif (ref.output) {\n\t\t\t\tbuilder.add(\"{{\"+ref.output+\"}}\", ptr, end);\n\t\t\t}\n\t\t}\n\t} else if (attribute.type === \"filtered\") {\n\t\tptr = text.indexOf('{{{', ptr);\n\t\tvar end = ptr + attribute.filter.length + 6;\n\t\tvar filter = filterHandler.relinkInBraces(attribute.filter, fromTitle, toTitle, options);\n\t\tif (filter !== undefined) {\n\t\t\tentry.addChild(filter, attribute.name, \"filtered\");\n\t\t\tif (filter.output) {\n\t\t\t\tvar quoted = \"{{{\"+filter.output+\"}}}\";\n\t\t\t\tbuilder.add(quoted, ptr, end);\n\t\t\t}\n\t\t}\n\t} else if (attribute.type === \"macro\") {\n\t\tptr = text.indexOf(\"<<\", ptr);\n\t\tvar end = attribute.value.end;\n\t\tvar macro = attribute.value;\n\t\toldValue = attribute.value;\n\t\tvar macroEntry = macrocall.relinkAttribute(macro, text, fromTitle, toTitle, options);\n\t\tif (macroEntry !== undefined) {\n\t\t\tentry.addChild(macroEntry, attribute.name, \"macro\");\n\t\t\tif (macroEntry.output) {\n\t\t\t\tbuilder.add(macroEntry.output, ptr, end);\n\t\t\t}\n\t\t}\n\t}\n\treturn end;\n};\n\nfunction canBePretty(title, tooltip) {\n\treturn title.indexOf(']') < 0 && (tooltip || title.indexOf('|') < 0);\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles import pragmas\n\n\\import [tag[MyTiddler]]\n\\*/\n\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings.js\");\nvar filterRelinker = settings.getType('filter');\n\nexports.name = \"import\";\n\nfunction ImportEntry(filterEntry) {\n\tthis.filter = filterEntry;\n};\nImportEntry.prototype.name = \"import\";\nImportEntry.prototype.eachChild = function(block) { return block(this.filter);};\nImportEntry.prototype.report = function() {\n\treturn this.filter.report().map(function(report) {\n\t\tif (report.length > 0) {\n\t\t\treturn \"\\\\import \" + report;\n\t\t} else {\n\t\t\treturn \"\\\\import\";\n\t\t}\n\t});\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\t// In this one case, I'll let the parser parse out the filter and move\n\t// the ptr.\n\tvar start = this.matchRegExp.lastIndex;\n\tvar parseTree = this.parse();\n\tvar filter = parseTree[0].attributes.filter.value;\n\tvar entry = undefined;\n\tvar filterEntry = filterRelinker.relink(filter, fromTitle, toTitle, options);\n\tif (filterEntry !== undefined) {\n\t\tentry = new ImportEntry(filterEntry);\n\t\tvar newline = text.substring(start+filter.length, this.parser.pos);\n\t\tif (filterEntry.output) {\n\t\t\tfilter = filterEntry.output;\n\t\t\tentry.output = \"\\\\import \" + filter + newline;\n\t\t}\n\t}\n\n\t// Before we go, we need to actually import the variables\n\t// it's calling for, and any /relink pragma\n\toptions.settings.import(filter);\n\n\treturn entry;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles macro calls.\n\n<<myMacro '[[MyFilter]]' 'myTitle'>>\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar Rebuilder = require(\"$:/plugins/flibbles/relink/js/utils/rebuilder\");\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry');\n\nexports.name = [\"macrocallinline\", \"macrocallblock\"];\n\n// Error thrown when a macro's definition is needed, but can't be found.\nfunction CannotFindMacroDef() {};\nCannotFindMacroDef.prototype.impossible = true;\nCannotFindMacroDef.prototype.name = \"macroparam\";\n// Failed relinks due to missing definitions aren't reported for now.\n// I may want to do something special later on.\nCannotFindMacroDef.prototype.report = function() { return []; };\n\nvar MacrocallEntry = EntryNode.newCollection(\"macrocall\");\n\nMacrocallEntry.prototype.forEachChildReport = function(report, parameter, type) {\n\tvar rtn;\n\tif (report.length > 0) {\n\t\trtn = parameter + ': \"' + report + '\"';\n\t} else {\n\t\trtn = parameter;\n\t}\n\treturn \"<<\" + this.macro + \" \" + rtn + \">>\";\n};\n\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2],\n\t\tmacroText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (!options.settings.survey(macroText, fromTitle, options)) {\n\t\treturn undefined;\n\t}\n\tvar start = this.matchRegExp.lastIndex - this.match[0].length;\n\tvar managedMacro = options.settings.getMacro(macroName);\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tvar offset = macroName.length+2;\n\toffset = $tw.utils.skipWhiteSpace(macroText, offset);\n\tvar params = parseParams(paramString, offset+start);\n\tvar macroInfo = {\n\t\tname: macroName,\n\t\tstart: start,\n\t\tend: this.matchRegExp.lastIndex,\n\t\tparams: params\n\t};\n\tvar mayBeWidget = true;\n\tvar names = getParamNames(macroInfo.name, macroInfo.params, options);\n\tif (names === undefined) {\n\t\t// Needed the definition, and couldn't find it. So if a single\n\t\t// parameter needs to placeholder, just fail.\n\t\tmayBeWidget = false;\n\t}\n\tvar entry = relinkMacroInvocation(macroInfo, text, fromTitle, toTitle, mayBeWidget, options);\n\tif (entry && entry.output) {\n\t\tentry.output =macroToString(entry.output, text, names, options);\n\t}\n\treturn entry;\n};\n\n/** Relinks macros that occur as attributes, like <$element attr=<<...>> />\n * Processes the same, except it can't downgrade into a widget if the title\n * is complicated.\n */\nexports.relinkAttribute = function(macro, text, fromTitle, toTitle, options) {\n\tvar entry = relinkMacroInvocation(macro, text, fromTitle, toTitle, false, options);\n\tif (entry && entry.output) {\n\t\tentry.output = macroToStringMacro(entry.output, text, options);\n\t}\n\treturn entry;\n};\n\n/**Processes the given macro,\n * macro: {name:, params:, start:, end:}\n * each parameters: {name:, end:, value:}\n * Macro invocation returned is the same, but relinked, and may have new keys:\n * parameters: {type: macro, start:, newValue: (quoted replacement value)}\n * Output of the returned entry isn't a string, but a macro object. It needs\n * to be converted.\n */\nfunction relinkMacroInvocation(macro, text, fromTitle, toTitle, mayBeWidget, options) {\n\tvar managedMacro = options.settings.getMacro(macro.name);\n\tvar modified = false;\n\tif (!managedMacro) {\n\t\t// We don't manage this macro. Bye.\n\t\treturn undefined;\n\t}\n\tif (macro.params.every(function(p) {\n\t\treturn !options.settings.survey(p.value, fromTitle, options);\n\t})) {\n\t\t// We cut early if the fromTitle doesn't even appear\n\t\t// anywhere in the title. This is to avoid any headache\n\t\t// about finding macro definitions (and any resulting\n\t\t// exceptions if there isn't even a title to replace.\n\t\treturn undefined;\n\t}\n\tvar outMacro = $tw.utils.extend({}, macro);\n\tvar macroEntry = new MacrocallEntry();\n\tmacroEntry.parameters = Object.create(null);\n\toutMacro.params = macro.params.slice();\n\tfor (var managedArg in managedMacro) {\n\t\tvar index;\n\t\ttry {\n\t\t\tindex = getParamIndexWithinMacrocall(macro.name, managedArg, macro.params, options);\n\t\t} catch (e) {\n\t\t\tif (e instanceof CannotFindMacroDef) {\n\t\t\t\tmacroEntry.addChild(e);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (index < 0) {\n\t\t\t// this arg either was not supplied, or we can't find\n\t\t\t// the definition, so we can't tie it to an anonymous\n\t\t\t// argument. Either way, move on to the next.\n\t\t\tcontinue;\n\t\t}\n\t\tvar param = macro.params[index];\n\t\tvar handler = managedMacro[managedArg];\n\t\tvar entry = handler.relink(param.value, fromTitle, toTitle, options);\n\t\tif (entry === undefined) {\n\t\t\tcontinue;\n\t\t}\n\t\t// Macro parameters can only be string parameters, not\n\t\t// indirect, or macro, or filtered\n\t\tmacroEntry.addChild(entry, managedArg, \"string\");\n\t\tif (!entry.output) {\n\t\t\tcontinue;\n\t\t}\n\t\tvar quote = utils.determineQuote(text, param);\n\t\tvar quoted = utils.wrapParameterValue(entry.output, quote);\n\t\tvar newParam = $tw.utils.extend({}, param);\n\t\tif (quoted === undefined) {\n\t\t\tif (!mayBeWidget || !options.placeholder) {\n\t\t\t\tentry.impossible = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar ph = options.placeholder.getPlaceholderFor(entry.output,handler.name, options);\n\t\t\tnewParam.newValue = \"<<\"+ph+\">>\";\n\t\t\tnewParam.type = \"macro\";\n\t\t} else {\n\t\t\tnewParam.start = newParam.end - (newParam.value.length + (quote.length*2));\n\t\t\tnewParam.value = entry.output;\n\t\t\tnewParam.newValue = quoted;\n\t\t}\n\t\toutMacro.params[index] = newParam;\n\t\tmodified = true;\n\t}\n\tif (macroEntry.hasChildren()) {\n\t\tmacroEntry.macro = macro.name;\n\t\tif (modified) {\n\t\t\tmacroEntry.output = outMacro;\n\t\t}\n\t\treturn macroEntry;\n\t}\n\treturn undefined;\n};\n\nfunction mustBeAWidget(macro) {\n\tfor (var i = 0; i < macro.params.length; i++) {\n\t\tif (macro.params[i].type === \"macro\") {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false\n};\n\n/**Given a macro object ({name:, params:, start: end:}), and the text where\n * it was parsed from, returns a new macro that maintains any syntactic\n * structuring.\n */\nfunction macroToString(macro, text, names, options) {\n\tif (mustBeAWidget(macro)) {\n\t\tvar attrs = [];\n\t\tfor (var i = 0; i < macro.params.length; i++) {\n\t\t\tvar p = macro.params[i];\n\t\t\tvar val;\n\t\t\tif (p.newValue) {\n\t\t\t\tval = p.newValue;\n\t\t\t} else {\n\t\t\t\tval = utils.wrapAttributeValue(p.value);\n\t\t\t}\n\t\t\tattrs.push(\" \"+names[i]+\"=\"+val);\n\t\t}\n\t\treturn \"<$macrocall $name=\"+utils.wrapAttributeValue(macro.name)+attrs.join('')+\"/>\";\n\t} else {\n\t\treturn macroToStringMacro(macro, text, options);\n\t}\n};\n\nfunction macroToStringMacro(macro, text, options) {\n\tvar builder = new Rebuilder(text, macro.start);\n\tfor (var i = 0; i < macro.params.length; i++) {\n\t\tvar param = macro.params[i];\n\t\tif (param.newValue) {\n\t\t\tbuilder.add(param.newValue, param.start, param.end);\n\t\t}\n\t}\n\treturn builder.results(macro.end);\n};\n\n/** Returns -1 if param definitely isn't in macrocall.\n */\nfunction getParamIndexWithinMacrocall(macroName, param, params, options) {\n\tvar index, i, anonsExist = false;\n\tfor (i = 0; i < params.length; i++) {\n\t\tvar name = params[i].name;\n\t\tif (name === param) {\n\t\t\treturn i;\n\t\t}\n\t\tif (name === undefined) {\n\t\t\tanonsExist = true;\n\t\t}\n\t}\n\tif (!anonsExist) {\n\t\t// If no anonymous parameters are present, and we didn't find\n\t\t// it among the named ones, it must not be there.\n\t\treturn -1;\n\t}\n\tvar expectedIndex = indexOfParameterDef(macroName, param, options);\n\t// We've got to skip over all the named parameter instances.\n\tif (expectedIndex >= 0) {\n\t\tvar anonI = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (params[i].name === undefined) {\n\t\t\t\tif (anonI === expectedIndex) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tanonI++;\n\t\t\t} else {\n\t\t\t\tvar indexOfOther = indexOfParameterDef(macroName, params[i].name, options);\n\t\t\t\tif (indexOfOther < expectedIndex) {\n\t\t\t\t\tanonI++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn -1;\n};\n\n// Looks up the definition of a macro, and figures out what the expected index\n// is for the given parameter.\nfunction indexOfParameterDef(macroName, paramName, options) {\n\tvar def = options.settings.getMacroDefinition(macroName);\n\tif (def === undefined) {\n\t\tthrow new CannotFindMacroDef();\n\t}\n\tvar params = def.params || [];\n\tfor (var i = 0; i < params.length; i++) {\n\t\tif (params[i].name === paramName) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\nfunction getParamNames(macroName, params, options) {\n\tvar used = Object.create(null);\n\tvar rtn = new Array(params.length);\n\tvar anonsExist = false;\n\tvar i;\n\tfor (i = 0; i < params.length; i++) {\n\t\tvar name = params[i].name;\n\t\tif (name) {\n\t\t\trtn[i] = name;\n\t\t\tused[name] = true;\n\t\t} else {\n\t\t\tanonsExist = true;\n\t\t}\n\t}\n\tif (anonsExist) {\n\t\tvar def = options.settings.getMacroDefinition(macroName);\n\t\tif (def === undefined) {\n\t\t\t// If there are anonymous parameters, and we can't\n\t\t\t// find the definition, then we can't hope to create\n\t\t\t// a widget.\n\t\t\treturn undefined;\n\t\t}\n\t\tvar defParams = def.params || [];\n\t\tvar defPtr = 0;\n\t\tfor (i = 0; i < params.length; i++) {\n\t\t\tif (rtn[i] === undefined) {\n\t\t\t\twhile(defPtr < defParams.length && used[defParams[defPtr].name]) {\n\t\t\t\t\tdefPtr++;\n\t\t\t\t}\n\t\t\t\tif (defPtr >= defParams.length) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\trtn[i] = defParams[defPtr].name;\n\t\t\t\tused[defParams[defPtr].name] = true;\n\t\t\t}\n\t\t}\n\t}\n\treturn rtn;\n};\n\nfunction parseParams(paramString, pos) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\t//paramInfo.start = pos;\n\t\tparamInfo.end = reParam.lastIndex + pos;\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles pragma macro definitions. Except we only update placeholder macros\nthat we may have previously install.\n\n\\define relink-?() Tough title\n\n\\*/\n\nvar settings = require(\"$:/plugins/flibbles/relink/js/settings\");\n\nexports.name = \"macrodef\";\n\nfunction MacrodefEntry(macroName, bodyEntry) {\n\tthis.macro = macroName;\n\tthis.body = bodyEntry;\n};\nMacrodefEntry.prototype.name = \"macrodef\";\nMacrodefEntry.prototype.eachChild = function(block) { return block(this.body);};\nMacrodefEntry.prototype.report = function() {\n\tvar macroStr = \"\\\\define \" + this.macro + \"()\";\n\tif (this.body.report) {\n\t\treturn this.body.report().map(function(report) {\n\t\t\treturn macroStr + \" \" + report;\n\t\t});\n\t} else {\n\t\treturn [macroStr];\n\t}\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar setParseTreeNode = this.parse(),\n\t\tmacroEntry,\n\t\tm = this.match,\n\t\tplaceholder = /^relink-(?:(\\w+)-)?(\\d+)$/.exec(m[1]),\n\t\twhitespace;\n\toptions.settings.addMacroDefinition(setParseTreeNode[0]);\n\t// Parse set the pos pointer, but we don't want to skip the macro body.\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (placeholder && m[2] === '') {\n\t\tvar valueRegExp;\n\t\t// m[3] means it's a multiline macrodef\n\t\tif (m[3]) {\n\t\t\tvalueRegExp = /\\r?\\n\\\\end[^\\S\\n\\r]*(?:\\r?\\n|$)/mg;\n\t\t\twhitespace = m[3];\n\t\t} else {\n\t\t\tvar newPos = $tw.utils.skipWhiteSpace(text, this.parser.pos);\n\t\t\tvalueRegExp = /(?:\\r?\\n|$)/mg;\n\t\t\twhitespace = text.substring(this.parser.pos, newPos);\n\t\t\tthis.parser.pos = newPos;\n\t\t}\n\t\tvalueRegExp.lastIndex = this.parser.pos;\n\t\tvar match = valueRegExp.exec(text);\n\t\tif (match) {\n\t\t\tvar handler = settings.getType(placeholder[1] || 'title');\n\t\t\tif (handler) {\n\t\t\t\tvar value = text.substring(this.parser.pos, match.index);\n\t\t\t\tvar entry = handler.relink(value, fromTitle, toTitle, options);\n\t\t\t\tif (entry !== undefined) {\n\t\t\t\t\tmacroEntry = new MacrodefEntry(m[1], entry);\n\t\t\t\t\tif (entry.output) {\n\t\t\t\t\t\tmacroEntry.output = this.makePlaceholder(m[1], whitespace+entry.output+match[0]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.parser.pos = match.index + match[0].length;\n\t\t}\n\t}\n\treturn macroEntry;\n};\n\nexports.makePlaceholder = function(name, content) {\n\treturn \"\\\\define \" + name + \"()\" + content;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement in wiki text inline rules, like,\n\n[[Introduction]]\n\n[[link description|TiddlerTitle]]\n\n\\*/\n\nvar utils = require(\"./utils.js\");\n\nfunction PrettyLinkEntry() {};\nPrettyLinkEntry.prototype.name = \"prettylink\";\nPrettyLinkEntry.prototype.report = function() {\n\treturn [\"[[\" + (this.caption || this.link) + \"]]\"];\n};\n\nexports.name = \"prettylink\";\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar caption, m = this.match;\n\tif (m[2] === fromTitle) {\n\t\t// format is [[caption|MyTiddler]]\n\t\tcaption = m[1];\n\t} else if (m[2] !== undefined || m[1] !== fromTitle) {\n\t\t// format is [[MyTiddler]], and it doesn't match\n\t\treturn undefined;\n\t}\n\tvar entry = new PrettyLinkEntry();\n\tentry.caption = caption;\n\tentry.link = toTitle;\n\tentry.output = this.makeLink(toTitle, caption, options);\n\tif (entry.output === undefined) {\n\t\tentry.impossible = true;\n\t}\n\treturn entry;\n};\n\nexports.makeLink = function(tiddler, caption, options) {\n\tvar output, quoted;\n\tif (this.canBePretty(tiddler)) {\n\t\toutput = prettyLink(tiddler, caption);\n\t} else if (caption === undefined) {\n\t\tif (exports.shorthandSupported(options)) {\n\t\t\tquoted = utils.wrapAttributeValue(tiddler);\n\t\t\tif (!quoted) {\n\t\t\t\tif (!options.placeholder) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tquoted = \"<<\" + options.placeholder.getPlaceholderFor(tiddler,undefined,options) + \">>\";\n\t\t\t}\n\t\t\toutput = \"<$link to=\"+quoted+\"/>\";\n\t\t} else {\n\t\t\t// If we don't have a caption, we must resort to\n\t\t\t// placeholders anyway to prevent link/caption desync\n\t\t\t// from later relinks.\n\t\t\t// It doesn't matter whether the tiddler is quotable.\n\t\t\tif (options.placeholder) {\n\t\t\t\tvar ph = options.placeholder.getPlaceholderFor(tiddler, undefined, options);\n\t\t\t\toutput = \"<$link to=<<\"+ph+\">>><$text text=<<\"+ph+\">>/></$link>\";\n\t\t\t}\n\t\t}\n\t} else if (quoted = utils.wrapAttributeValue(tiddler)) {\n\t\tvar safeCaption = sanitizeCaption(caption, options);\n\t\tif (safeCaption !== undefined) {\n\t\t\toutput = \"<$link to=\"+quoted+\">\"+safeCaption+\"</$link>\";\n\t\t}\n\t} else if (options.placeholder) {\n\t\tvar ph = options.placeholder.getPlaceholderFor(tiddler, undefined, options);\n\t\t// We don't test if caption is undefined here, because it\n\t\t// never will be. options.placeholder exists.\n\t\tvar safeCaption = sanitizeCaption(caption, options);\n\t\toutput = \"<$link to=<<\"+ph+\">>>\"+safeCaption+\"</$link>\";\n\t}\n\treturn output;\n};\n\n/**Return true if value can be used inside a prettylink.\n */\nexports.canBePretty = function(value) {\n\treturn value.indexOf(\"]]\") < 0 && value[value.length-1] !== ']';\n};\n\n/**In version 5.1.20, Tiddlywiki made it so <$link to\"something\" /> would\n * use \"something\" as a caption. This is preferable. However, Relink works\n * going back to 5.1.14, so we need to have different handling for both\n * cases.\n */\nvar _supported;\nexports.shorthandSupported = function(options) {\n\tif (_supported === undefined) {\n\t\tvar test = options.wiki.renderText(\"text/plain\", \"text/vnd.tiddlywiki\", \"<$link to=test/>\");\n\t\t_supported = (test === \"test\");\n\t}\n\treturn _supported;\n};\n\nfunction sanitizeCaption(caption, options) {\n\tvar plaintext = options.wiki.renderText(\"text/plain\", \"text/vnd.tiddlywiki\", caption);\n\tif (plaintext === caption && caption.indexOf(\"</$link>\") <= 0) {\n\t\treturn caption;\n\t} else {\n\t\tvar wrapped = utils.wrapAttributeValue(caption);\n\t\tif (wrapped) {\n\t\t\treturn \"<$text text=\"+wrapped+\"/>\";\n\t\t} else if (options.placeholder) {\n\t\t\tvar ph = options.placeholder.getPlaceholderFor(caption, \"caption\", options);\n\t\t\treturn \"<$text text=<<\"+ph+\">>/>\";\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\t}\n};\n\nfunction prettyLink(title, caption) {\n\tif (caption) {\n\t\treturn \"[[\" + caption + \"|\" + title + \"]]\";\n\t} else {\n\t\treturn \"[[\" + title + \"]]\";\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js": {
"text": "/*\\\nmodule-type: wikirule\n\nThis defines the \\relink inline pragma used to locally declare\nrelink rules for macros.\n\nIt takes care of providing its own relink and report rules.\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar language = require('$:/plugins/flibbles/relink/js/language.js');\n\nexports.name = \"relink\";\nexports.types = {pragma: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /^\\\\relink[^\\S\\n]+([^(\\s]+)([^\\r\\n]*)(\\r?\\n)?/mg;\n};\n\n/**This makes the widget that the macro library will later parse to determine\n * new macro relink state.\n *\n * It's a <$set> widget so it can appear BEFORE \\define pragma and not\n * prevent that pragma from being scooped up by importvariables.\n * (importvariables stops scooping as soon as it sees something besides $set) */\nexports.parse = function() {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar macroName;\n\tvar macroParams = Object.create(null);\n\tvar error = undefined;\n\tvar rtn = [];\n\tvar self = this;\n\tthis.interpretSettings(function(macro, parameter, type) {\n\t\tmacroName = macro;\n\t\tif (type && !settings.getType(type)) {\n\t\t\terror = language.getString(\"Error/UnrecognizedType\",\n\t\t\t\t{variables: {type: type}, wiki: self.parser.wiki});\n\t\t}\n\t\tmacroParams[parameter] = type;\n\t});\n\t// If no macroname. Return nothing, this rule will be ignored by parsers\n\tif (macroName) {\n\t\tvar relink = Object.create(null);\n\t\trelink[macroName] = macroParams;\n\t\trtn.push({\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: \"\"}\n\t\t\t},\n\t\t\tchildren: [],\n\t\t\tisMacroDefinition: true,\n\t\t\trelink: relink});\n\t}\n\tif (error) {\n\t\trtn.push({\n\t\t\ttype: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tc-error tc-relink-error\"\n\t\t\t\t}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: error}\n\t\t\t]});\n\t}\n\treturn rtn;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar self = this;\n\tthis.interpretSettings(function(macro, parameter, type) {\n\t\toptions.settings.addSetting(macro, parameter, type, options.currentTiddler);\n\t});\n\t// Return nothing, because this rule is ignored by the parser\n\treturn undefined;\n};\n\nexports.interpretSettings = function(block) {\n\tvar paramString = this.match[2];\n\tif (paramString !== \"\") {\n\t\tvar macro = this.match[1];\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*([^\\s]+))?/mg;\n\t\tvar paramMatch = reParam.exec(paramString);\n\t\twhile (paramMatch) {\n\t\t\tvar parameter = paramMatch[1];\n\t\t\tvar type = paramMatch[2];\n\t\t\tblock(macro, parameter, type);\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n};\n",
"module-type": "wikirule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nParses and acknowledges any pragma rules a tiddler has.\n\n\\rules except html wikilink\n\n\\*/\n\nexports.name = \"rules\";\n\n/**This is all we have to do. The rules rule doesn't parse. It just amends\n * the rules, which is exactly what I want it to do too.\n * It also takes care of moving the pos pointer forward.\n */\nexports.relink = function() {\n\tthis.parse();\n\treturn undefined;\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles sys links\n\n$:/sys/link\n\nbut not:\n\n~$:/sys/link\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar prettylink = require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');\n\nexports.name = \"syslink\";\n\nfunction SyslinkEntry() {};\nSyslinkEntry.prototype.name = \"syslink\";\nSyslinkEntry.prototype.report = function() {\n\treturn [\"~\" + this.link];\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar entry = undefined;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (this.match[0] === fromTitle && this.match[0][0] !== \"~\") {\n\t\tentry = new SyslinkEntry();\n\t\tentry.link = fromTitle;\n\t\tentry.output = this.makeSyslink(toTitle, options);\n\t\tif (entry.output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t}\n\t}\n\treturn entry;\n};\n\nexports.makeSyslink = function(title, options) {\n\tvar match = title.match(this.matchRegExp);\n\tif (match && match[0] === title && title[0] !== \"~\") {\n\t\treturn title;\n\t} else {\n\t\treturn prettylink.makeLink(title, undefined, options);\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles replacement of transclusions in wiki text like,\n\n{{RenamedTiddler}}\n{{RenamedTiddler||TemplateTitle}}\n\nThis renames both the tiddler and the template field.\n\n\\*/\n\nvar refHandler = require(\"$:/plugins/flibbles/relink/js/fieldtypes/reference\");\nvar utils = require(\"./utils.js\");\n\nexports.name = ['transcludeinline', 'transcludeblock'];\n\nvar TranscludeEntry = function() {};\nTranscludeEntry.prototype.name = \"transclude\";\nTranscludeEntry.prototype.report = function() {\n\tvar ref = this.reference || {};\n\tvar output = [];\n\tif (this.referenceChanged) {\n\t\tvar suffix = \"\";\n\t\tif (ref.field) {\n\t\t\tsuffix = \"!!\" + ref.field;\n\t\t}\n\t\tif (ref.index) {\n\t\t\tsuffix = \"##\" + ref.index;\n\t\t}\n\t\tif (this.template) {\n\t\t\tsuffix = suffix + \"||\" + this.template;\n\t\t}\n\t\toutput.push(\"{{\" + suffix + \"}}\");\n\t}\n\tif (this.templateChanged) {\n\t\t// Must be template\n\t\tvar refString = refHandler.toString(ref);\n\t\toutput.push(\"{{\" + refString + \"||}}\");\n\t}\n\treturn output;\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar m = this.match,\n\t\treference = $tw.utils.parseTextReference(m[1]),\n\t\ttemplate = m[2],\n\t\tentry = new TranscludeEntry(),\n\t\tmodified = false;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif ($tw.utils.trim(reference.title) === fromTitle) {\n\t\t// preserve user's whitespace\n\t\treference.title = reference.title.replace(fromTitle, toTitle);\n\t\tmodified = true;\n\t\tentry.referenceChanged = true;\n\t}\n\tif ($tw.utils.trim(template) === fromTitle) {\n\t\ttemplate = template.replace(fromTitle, toTitle);\n\t\tmodified = true;\n\t\tentry.templateChanged = true;\n\t}\n\tif (modified) {\n\t\tentry.reference = reference;\n\t\tentry.template = template;\n\t\tvar output = this.makeTransclude(reference, template, options);\n\t\tif (output) {\n\t\t\t// Adding any newline that might have existed is\n\t\t\t// what allows this relink method to work for both\n\t\t\t// the block and inline filter wikitext rule.\n\t\t\toutput = output + utils.getEndingNewline(m[0]);\n\t\t\tentry.output = output;\n\t\t} else {\n\t\t\tentry.impossible = true;\n\t\t}\n\t\treturn entry;\n\t}\n\treturn undefined;\n};\n\n/** This converts a reference and a template into a string representation\n * of a transclude.\n */\nexports.makeTransclude = function(reference, template, options) {\n\tvar rtn;\n\tif (!canBePrettyTemplate(template)) {\n\t\tvar resultTemplate = wrap(template, options);\n\t\tif (resultTemplate !== undefined) {\n\t\t\tif (reference.title) {\n\t\t\t\tvar resultTitle = wrap(reference.title, options);\n\t\t\t\tvar attrs = transcludeAttributes(reference.field, reference.index, options);\n\t\t\t\tif (resultTitle !== undefined && attrs !== undefined) {\n\t\t\t\t\trtn = \"<$tiddler tiddler=\"+resultTitle+\"><$transclude tiddler=\"+resultTemplate+attrs+\"/></$tiddler>\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trtn = \"<$transclude tiddler=\"+resultTemplate+\"/>\";\n\t\t\t}\n\t\t}\n\t} else if (!canBePrettyTitle(reference.title)) {\n\t\t// This block and the next account for the 1%...\n\t\tvar resultTitle = wrap(reference.title, options);\n\t\tif (resultTitle !== undefined) {\n\t\t\tvar reducedRef = {field: reference.field, index: reference.index};\n\t\t\trtn = \"<$tiddler tiddler=\"+resultTitle+\">\"+prettyTransclude(reducedRef, template)+\"</$tiddler>\";\n\t\t}\n\t} else {\n\t\t// This block takes care of 99% of all cases\n\t\trtn = prettyTransclude(reference, template);\n\t}\n\treturn rtn;\n};\n\nfunction wrap(tiddler, options) {\n\ttiddler = $tw.utils.trim(tiddler);\n\tvar result = utils.wrapAttributeValue(tiddler);\n\tif (result === undefined) {\n\t\tif (options.placeholder) {\n\t\t\tresult = \"<<\" + options.placeholder.getPlaceholderFor(tiddler, undefined, options) + \">>\";\n\t\t}\n\t}\n\treturn result;\n};\n\nfunction canBePrettyTitle(value) {\n\treturn refHandler.canBePretty(value) && canBePrettyTemplate(value);\n};\n\nfunction canBePrettyTemplate(value) {\n\treturn !value || (value.indexOf('}') < 0 && value.indexOf('{') < 0 && value.indexOf('|') < 0);\n};\n\n/**Returns attributes for a transclude widget.\n * only field or index should be used, not both, but both will return\n * the intuitive (albeit useless) result.\n */\nfunction transcludeAttributes(field, index, options) {\n\tvar rtn = [\n\t\twrapAttribute(\"field\", field, options),\n\t\twrapAttribute(\"index\", index, options)\n\t];\n\tif (rtn[0] === undefined || rtn[1] === undefined) {\n\t\t// This can only happen if the transclude is using an\n\t\t// illegal key.\n\t\treturn undefined;\n\t}\n\treturn rtn.join('');\n};\n\nfunction wrapAttribute(name, value, options) {\n\tif (value) {\n\t\tvar wrappedValue = utils.wrapAttributeValue(value);\n\t\tif (wrappedValue === undefined) {\n\t\t\tif (!options.placeholder) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\twrappedValue = \"<<\"+options.placeholder.getPlaceholderFor(value, name, options)+\">>\";\n\t\t}\n\t\treturn \" \"+name+\"=\"+wrappedValue;\n\t}\n\treturn '';\n};\n\nfunction prettyTransclude(textReference, template) {\n\tif (typeof textReference !== \"string\") {\n\t\ttextReference = refHandler.toString(textReference);\n\t}\n\tif (!textReference) {\n\t\ttextReference = '';\n\t}\n\tif (template !== undefined) {\n\t\treturn \"{{\"+textReference+\"||\"+template+\"}}\";\n\t} else {\n\t\treturn \"{{\"+textReference+\"}}\";\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js": {
"text": "/*\\\nmodule-type: library\n\nUtility methods for the wikitext relink rules.\n\n\\*/\n\n/**Finds an appropriate quote mark for a given value.\n *\n *Tiddlywiki doesn't have escape characters for attribute values. Instead,\n * we just have to find the type of quotes that'll work for the given title.\n * There exist titles that simply can't be quoted.\n * If it can stick with the preference, it will.\n *\n * return: Returns the wrapped value, or undefined if it's impossible to wrap\n */\nexports.wrapAttributeValue = function(value, preference) {\n\tvar whitelist = [\"\", \"'\", '\"', '\"\"\"'];\n\tvar choices = {\n\t\t\"\": function(v) {return !/([\\/\\s<>\"'=])/.test(v); },\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; },\n\t\t'\"\"\"': function(v) {return v.indexOf('\"\"\"') < 0 && v[v.length-1] != '\"';}\n\t};\n\tif (choices[preference] && choices[preference](value)) {\n\t\treturn wrap(value, preference);\n\t}\n\tfor (var i = 0; i < whitelist.length; i++) {\n\t\tvar quote = whitelist[i];\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrap(value, quote);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n};\n\n/**Like wrapAttribute value, except for macro parameters, not attributes.\n *\n * These are more permissive. Allows brackets,\n * and slashes and '<' in unquoted values.\n */\nexports.wrapParameterValue = function(value, preference) {\n\tvar whitelist = [\"\", \"'\", '\"', '[[', '\"\"\"'];\n\tvar choices = {\n\t\t\"\": function(v) {return !/([\\s>\"'=])/.test(v); },\n\t\t\"'\": function(v) {return v.indexOf(\"'\") < 0; },\n\t\t'\"': function(v) {return v.indexOf('\"') < 0; },\n\t\t\"[[\": exports.canBePrettyOperand,\n\t\t'\"\"\"': function(v) {return v.indexOf('\"\"\"') < 0 && v[v.length-1] != '\"';}\n\t};\n\tif (choices[preference] && choices[preference](value)) {\n\t\treturn wrap(value, preference);\n\t}\n\tfor (var i = 0; i < whitelist.length; i++) {\n\t\tvar quote = whitelist[i];\n\t\tif (choices[quote](value)) {\n\t\t\treturn wrap(value, quote);\n\t\t}\n\t}\n\t// No quotes will work on this\n\treturn undefined;\n};\n\nfunction wrap(value, wrapper) {\n\tvar wrappers = {\n\t\t\"\": function(v) {return v; },\n\t\t\"'\": function(v) {return \"'\"+v+\"'\"; },\n\t\t'\"': function(v) {return '\"'+v+'\"'; },\n\t\t'\"\"\"': function(v) {return '\"\"\"'+v+'\"\"\"'; },\n\t\t\"[[\": function(v) {return \"[[\"+v+\"]]\"; }\n\t};\n\tvar chosen = wrappers[wrapper];\n\tif (chosen) {\n\t\treturn chosen(value);\n\t} else {\n\t\treturn undefined;\n\t}\n};\n\nexports.canBePrettyOperand = function(value) {\n\treturn value.indexOf(']') < 0;\n};\n\n/**Given some text, and a param or attribute within that text, this returns\n * what type of quotation that attribute is using.\n *\n * param: An object in the form {end:, ...}\n */\nexports.determineQuote = function(text, param) {\n\tvar pos = param.end-1;\n\tif (text[pos] === \"'\") {\n\t\treturn \"'\";\n\t}\n\tif (text[pos] === '\"') {\n\t\tif (text.substr(pos-2, 3) === '\"\"\"') {\n\t\t\treturn '\"\"\"';\n\t\t} else {\n\t\t\treturn '\"';\n\t\t}\n\t}\n\tif (text.substr(pos-1,2) === ']]' && text.substr((pos-param.value.length)-3, 2) === '[[') {\n\t\treturn \"[[\";\n\t}\n\treturn '';\n};\n\n// Finds the newline at the end of a string and returns it. Empty string if\n// none exists.\nexports.getEndingNewline = function(string) {\n\tvar l = string.length;\n\tif (string[l-1] === '\\n') {\n\t\treturn (string[l-2] === '\\r') ? \"\\r\\n\" : \"\\n\";\n\t}\n\treturn \"\";\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js": {
"text": "/*\\\nmodule-type: relinkwikitextrule\n\nHandles CamelCase links\n\nWikiLink\n\nbut not:\n\n~WikiLink\n\n\\*/\n\nvar utils = require(\"./utils.js\");\nvar prettylink = require('$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js');\n\nexports.name = \"wikilink\";\n\nfunction WikilinkEntry() {};\nWikilinkEntry.prototype.name = \"wikilink\";\nWikilinkEntry.prototype.report = function() {\n\treturn [$tw.config.textPrimitives.unWikiLink + this.link];\n};\n\nexports.relink = function(text, fromTitle, toTitle, options) {\n\tvar entry = undefined;\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tif (this.match[0] === fromTitle && this.match[0][0] !== $tw.config.textPrimitives.unWikiLink) {\n\t\tentry = new WikilinkEntry();\n\t\tentry.link = fromTitle;\n\t\tentry.output = this.makeWikilink(toTitle, options);\n\t\tif (entry.output === undefined) {\n\t\t\tentry.impossible = true;\n\t\t}\n\t}\n\treturn entry;\n};\n\nexports.makeWikilink = function(title, options) {\n\tif (title.match(this.matchRegExp) && title[0] !== $tw.config.textPrimitives.unWikiLink) {\n\t\treturn title;\n\t} else {\n\t\treturn prettylink.makeLink(title, undefined, options);\n\t}\n};\n",
"module-type": "relinkwikitextrule",
"title": "$:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/surveyors/raw.js": {
"text": "/*\\\n\nThis looks at text and sees if fromTitle is inside of it. That's all.\n\nSURVEYORS\n\nSurveyors are an optimization. They are way of quick-discarding text so it\ndoesn't have to be interpreted by the wikitext parser, the filter parser,\netc...\n\nThe reason I split this off into a module type is in case anyone wants to\nrelink patterns which might NOT contain the fromTitle in raw text.\n\nThey return false for \"no\", and true for \"maybe\". If any surveyor returns\n\"maybe\", the text in question is fully parsed.\n\nSee the documentation for more details.\n\n\\*/\n\nexports.survey = function(text, fromTitle, options) {\n\treturn text.indexOf(fromTitle) >= 0;\n};\n",
"module-type": "relinksurveyor",
"title": "$:/plugins/flibbles/relink/js/surveyors/raw.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/entry.js": {
"text": "function EntryNode() {\n\tthis.children = [];\n};\n\nmodule.exports = EntryNode;\n\n/** PURE VIRTUAL\n * EntryNode.prototype.report = function() -> [\"string\", ...]\n */\n\nEntryNode.newType = function(name) {\n\tfunction NewEntry() {\n\t\tEntryNode.apply(this, arguments);\n\t};\n\tNewEntry.prototype = Object.create(EntryNode.prototype);\n\tNewEntry.prototype.name = name;\n\treturn NewEntry;\n};\n\nEntryNode.prototype.eachChild = function(method) {\n\tif (this.children) {\n\t\tfor (var i = 0; i < this.children.length; i++) {\n\t\t\tmethod(this.children[i]);\n\t\t}\n\t}\n};\n\nEntryNode.prototype.add = function(entry) {\n\tthis.children.push(entry);\n};\n\nfunction EntryCollection() {\n\tthis.children = Object.create(null);\n\tthis.types = Object.create(null);\n};\n\nEntryNode.newCollection = function(name) {\n\tfunction NewCollection() {\n\t\tEntryCollection.apply(this, arguments);\n\t};\n\tNewCollection.prototype = Object.create(EntryCollection.prototype);\n\tNewCollection.prototype.name = name;\n\treturn NewCollection;\n};\n\nEntryCollection.prototype.eachChild = function(method) {\n\tfor (var child in this.children) {\n\t\tmethod(this.children[child]);\n\t}\n};\n\nEntryCollection.prototype.addChild = function(child, name, type) {\n\tthis.children[name] = child;\n\tthis.types[name] = type;\n};\n\nEntryCollection.prototype.report = function() {\n\tvar output = [];\n\tfor (var name in this.children) {\n\t\tvar child = this.children[name];\n\t\tvar type = this.types[name];\n\t\tif (child.report) {\n\t\t\tvar reports = child.report();\n\t\t\tfor (var i = 0; i < reports.length; i++) {\n\t\t\t\toutput.push(this.forEachChildReport(reports[i], name, type));\n\t\t\t}\n\t\t} else {\n\t\t\toutput.push(this.forEachChildReport('', name, type));\n\n\t\t}\n\t}\n\treturn output;\n};\n\nEntryCollection.prototype.hasChildren = function() {\n\treturn Object.keys(this.children).length > 0;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/entry.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/macroConfig.js": {
"text": "/*\\\nmodule-type: library\n\nThis handles the fetching and distribution of relink settings.\n\n\\*/\n\nvar settings = require('$:/plugins/flibbles/relink/js/settings.js');\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction MacroConfig(wiki, parent, title) {\n\tthis.macros = Object.create(null);\n\tthis.parent = parent;\n\tthis.title = title;\n\tthis.wiki = wiki;\n\tthis.widgetList = [];\n\tthis.reservedmacroNames = Object.create(null);\n};\n\nmodule.exports = MacroConfig;\n\nMacroConfig.prototype.import = function(filter) {\n\tvar parentWidget;\n\tif (this.parent) {\n\t\tparentWidget = this.getVariableWidget();\n\t}\n\tvar importWidget = createImportWidget(filter, this.wiki, parentWidget);\n\tthis._compileList(importWidget.tiddlerList);\n\tthis.widgetList.push(importWidget);\n\t// This only works if only one filter is imported\n\tthis.addWidget(importWidget);\n};\n\nMacroConfig.prototype.refresh = function(changes) {\n\tthis.parent.refresh(changes);\n\tif (this.widget.refresh(changes)) {\n\t\tthis.macros = Object.create(null);\n\t\t// Recompile all our widgets in the same order\n\t\tfor (var i = 0; i < this.widgetList.length; i++) {\n\t\t\tthis._compileList(this.widgetList[i].tiddlerList );\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n// This class does no special handling of fields, operators, or attributes.\n// we pass it along to the parent.\nMacroConfig.prototype.getFields = function() {\n\treturn this.parent.getFields();\n};\n\nMacroConfig.prototype.getOperators = function() {\n\treturn this.parent.getOperators();\n};\n\nMacroConfig.prototype.getAttributes = function() {\n\treturn this.parent.getAttributes();\n};\n\nMacroConfig.prototype.survey = function(text, fromTitle, options) {\n\treturn this.parent.survey(text, fromTitle, options);\n};\n\nMacroConfig.prototype.getAttribute = function(elementName) {\n\treturn this.parent.getAttribute(elementName);\n};\n\nMacroConfig.prototype.getMacros = function() {\n\tvar signatures = this.parent.getMacros();\n\tfor (var macroName in this.macros) {\n\t\tvar macro = this.macros[macroName];\n\t\tfor (var param in macro) {\n\t\t\tsignatures[macroName + \"/\" + param] = macro[param];\n\t\t}\n\t}\n\treturn signatures;\n};\n\n// But macro we handle differently.\nMacroConfig.prototype.getMacro = function(macroName) {\n\tvar theseSettings = this.macros[macroName];\n\tvar parentSettings;\n\tif (this.parent) {\n\t\tparentSettings = this.parent.getMacro(macroName);\n\t}\n\tif (theseSettings && parentSettings) {\n\t\t// gotta merge them without changing either. This is expensive,\n\t\t// but it'll happen rarely.\n\t\tvar rtnSettings = $tw.utils.extend(Object.create(null), theseSettings, parentSettings);\n\t\treturn rtnSettings;\n\t}\n\treturn theseSettings || parentSettings;\n};\n\nMacroConfig.prototype.addSetting = function(macroName, parameter, type, sourceTitle) {\n\tvar macro = this.macros[macroName];\n\ttype = type || settings.getDefaultType(this.wiki);\n\tif (macro === undefined) {\n\t\tmacro = this.macros[macroName] = Object.create(null);\n\t}\n\tvar handler = settings.getType(type);\n\tif (handler) {\n\t\thandler.source = sourceTitle;\n\t\t// We attach the fields of the defining tiddler for the benefit\n\t\t// of any 3rd party field types that want access to them.\n\t\tvar tiddler = this.wiki.getTiddler(sourceTitle);\n\t\thandler.fields = tiddler.fields;\n\t\tmacro[parameter] = handler;\n\t}\n};\n\nMacroConfig.prototype.createChildLibrary = function(title) {\n\treturn new MacroConfig(this.wiki, this, title);\n};\n\nMacroConfig.prototype.addWidget = function(widget) {\n\tthis.widget = widget;\n\twhile (this.widget.children.length > 0) {\n\t\tthis.widget = this.widget.children[0];\n\t}\n};\n\nMacroConfig.prototype.getVariableWidget = function() {\n\tif (!this.widget) {\n\t\tvar varWidget = this.parent && this.parent.widget;\n\t\tvar parentWidget = new Widget({}, {parentWidget: varWidget});\n\t\tparentWidget.setVariable(\"currentTiddler\", this.title);\n\t\tvar widget = new Widget({}, {parentWidget: parentWidget});\n\t\tthis.addWidget(widget);\n\t}\n\treturn this.widget;\n};\n\n/**This takes macros, specifically relink placeholders, and remembers them\n * It creates a dummy object for them, since we'll never need the definition\n */\nMacroConfig.prototype.reserveMacroName = function(variableName) {\n\tthis.reservedmacroNames[variableName] = {\n\t\tvalue: \"\",\n\t\tparams: []};\n};\n\nMacroConfig.prototype.addMacroDefinition = function(setParseTreeNode) {\n\tvar bottomWidget = this.getVariableWidget();\n\tvar setWidget = bottomWidget.makeChildWidget(setParseTreeNode);\n\tsetWidget.computeAttributes();\n\tsetWidget.execute();\n\tthis.addWidget(setWidget);\n};\n\nMacroConfig.prototype.getMacroDefinition = function(variableName) {\n\treturn this.getVariableWidget().variables[variableName] || $tw.macros[variableName] || this.reservedmacroNames[variableName];\n};\n\nfunction createImportWidget(filter, wiki, parent) {\n\tvar widget = wiki.makeWidget( { tree: [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\t\"filter\": {\n\t\t\t\ttype: \"string\",\n\t\t\t\tvalue: filter\n\t\t\t}\n\t\t}\n\t}] }, { parentWidget: parent} );\n\twidget.execute();\n\twidget.renderChildren();\n\tvar importWidget = widget.children[0];\n\treturn importWidget;\n};\n\nMacroConfig.prototype._compileList = function(titleList) {\n\tfor (var i = 0; i < titleList.length; i++) {\n\t\tvar parser = this.wiki.parseTiddler(titleList[i]);\n\t\tif (parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile (parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\tif (parseTreeNode.relink) {\n\t\t\t\t\tfor (var macroName in parseTreeNode.relink) {\n\t\t\t\t\t\tvar parameters = parseTreeNode.relink[macroName];\n\t\t\t\t\t\tfor (paramName in parameters) {\n\t\t\t\t\t\t\tthis.addSetting(macroName, paramName, parameters[paramName], titleList[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t}\n\t}\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/macroConfig.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/placeholder.js": {
"text": "/*\\\n\nA method which doles out placeholders when requested, and constructs\nthe necessary supporting pragma when requested.\n\n\\*/\n\nfunction Placeholder() {\n\tthis.placeholders = Object.create(null);\n\tthis.reverseMap = Object.create(null);\n};\n\nmodule.exports = Placeholder;\n\nPlaceholder.prototype.getPlaceholderFor = function(value, category, options) {\n\tvar placeholder = this.reverseMap[value];\n\tvar config = options.settings || options.wiki.getRelinkConfig();\n\tif (placeholder) {\n\t\treturn placeholder;\n\t}\n\tvar number = 0;\n\tvar prefix = \"relink-\"\n\tif (category && category !== \"title\") {\n\t\t// I don't like \"relink-title-1\". \"relink-1\" should be for\n\t\t// titles. lists, and filters can have descriptors though.\n\t\tprefix += category + \"-\";\n\t}\n\tdo {\n\t\tnumber += 1;\n\t\tplaceholder = prefix + number;\n\t} while (config.getMacroDefinition(placeholder));\n\tconfig.reserveMacroName(placeholder);\n\tthis.placeholders[placeholder] = value;\n\tthis.reverseMap[value] = placeholder;\n\treturn placeholder;\n};\n\nPlaceholder.prototype.getPreamble = function() {\n\tvar results = [];\n\tfor (var name in this.placeholders) {\n\t\tvar val = this.placeholders[name];\n\t\tresults.push(\"\\\\define \"+name+\"() \"+val+\"\\n\");\n\t}\n\treturn results.join('');\n};\n\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/placeholder.js",
"type": "application/javascript"
},
"$:/plugins/flibbles/relink/js/utils/rebuilder.js": {
"text": "/*\\\n\nThis helper class aids in reconstructing an existing string with new parts.\n\n\\*/\n\nfunction Rebuilder(text, start) {\n\tthis.text = text;\n\tthis.index = start || 0;\n\tthis.pieces = [];\n};\n\nmodule.exports = Rebuilder;\n\n/**Pieces must be added consecutively.\n * Start and end are the indices in the old string specifying where to graft\n * in the new piece.\n */\nRebuilder.prototype.add = function(value, start, end) {\n\tthis.pieces.push(this.text.substring(this.index, start), value);\n\tthis.index = end;\n};\n\nRebuilder.prototype.changed = function() {\n\treturn this.pieces.length > 0;\n};\n\nRebuilder.prototype.results = function(end) {\n\tif (this.changed()) {\n\t\tthis.pieces.push(this.text.substring(this.index, end));\n\t\treturn this.pieces.join('');\n\t}\n\treturn undefined;\n};\n",
"module-type": "library",
"title": "$:/plugins/flibbles/relink/js/utils/rebuilder.js",
"type": "application/javascript"
},
"$:/config/flibbles/relink/attributes/$button/set": {
"title": "$:/config/flibbles/relink/attributes/$button/set",
"text": "reference"
},
"$:/config/flibbles/relink/attributes/$button/setTo": {
"title": "$:/config/flibbles/relink/attributes/$button/setTo",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$button/to": {
"title": "$:/config/flibbles/relink/attributes/$button/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$checkbox/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$checkbox/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$checkbox/tag": {
"title": "$:/config/flibbles/relink/attributes/$checkbox/tag",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$count/filter": {
"title": "$:/config/flibbles/relink/attributes/$count/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$draggable/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$draggable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$draggable/filter": {
"title": "$:/config/flibbles/relink/attributes/$draggable/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit-bitmap/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$edit-text/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit-text/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$edit/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$edit/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$encrypt/filter": {
"title": "$:/config/flibbles/relink/attributes/$encrypt/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$fieldmangler/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$fieldmangler/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$fields/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$fields/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$image/source": {
"title": "$:/config/flibbles/relink/attributes/$image/source",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$importvariables/filter": {
"title": "$:/config/flibbles/relink/attributes/$importvariables/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$linkcatcher/to": {
"title": "$:/config/flibbles/relink/attributes/$linkcatcher/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$linkcatcher/set": {
"title": "$:/config/flibbles/relink/attributes/$linkcatcher/set",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$link/to": {
"title": "$:/config/flibbles/relink/attributes/$link/to",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/filter": {
"title": "$:/config/flibbles/relink/attributes/$list/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$list/template": {
"title": "$:/config/flibbles/relink/attributes/$list/template",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/editTemplate": {
"title": "$:/config/flibbles/relink/attributes/$list/editTemplate",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$list/history": {
"title": "$:/config/flibbles/relink/attributes/$list/history",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$navigator/story": {
"title": "$:/config/flibbles/relink/attributes/$navigator/story",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$navigator/history": {
"title": "$:/config/flibbles/relink/attributes/$navigator/history",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$radio/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$radio/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$range/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$range/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$reveal/stateTitle": {
"title": "$:/config/flibbles/relink/attributes/$reveal/stateTitle",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$select/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$select/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$setvariable/filter": {
"title": "$:/config/flibbles/relink/attributes/$setvariable/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$set/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$set/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$set/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$set/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$set/filter": {
"title": "$:/config/flibbles/relink/attributes/$set/filter",
"text": "filter"
},
"$:/config/flibbles/relink/attributes/$tiddler/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$tiddler/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$transclude/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$transclude/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$transclude/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$transclude/subtiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$view/tiddler": {
"title": "$:/config/flibbles/relink/attributes/$view/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/attributes/$view/subtiddler": {
"title": "$:/config/flibbles/relink/attributes/$view/subtiddler",
"text": "title"
},
"$:/plugins/flibbles/relink/configuration": {
"title": "$:/plugins/flibbles/relink/configuration",
"text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/flibbles/relink/Configuration]!has[draft.of]]\" \"$:/plugins/flibbles/relink/ui/configuration/Fields\">>\n</div>\n"
},
"$:/config/flibbles/relink/fields/filter": {
"title": "$:/config/flibbles/relink/fields/filter",
"text": "filter"
},
"$:/config/flibbles/relink/fields/list": {
"title": "$:/config/flibbles/relink/fields/list",
"text": "list"
},
"$:/config/flibbles/relink/fields/list-after": {
"title": "$:/config/flibbles/relink/fields/list-after",
"text": "title"
},
"$:/config/flibbles/relink/fields/list-before": {
"title": "$:/config/flibbles/relink/fields/list-before",
"text": "title"
},
"$:/config/flibbles/relink/fields/tags": {
"title": "$:/config/flibbles/relink/fields/tags",
"text": "list"
},
"$:/plugins/flibbles/relink/language/Buttons/Delete/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/Delete/Hint",
"text": "delete"
},
"$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint",
"text": "go to defining tiddler"
},
"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint",
"text": "Specify a new widget/element attribute to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewField/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Hint",
"text": "Specify a new field to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewField/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewField/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint",
"text": "Specify a new filter operator to be considered whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint",
"text": "Specify a new macro parameter to be updated whenever a tiddler is renamed"
},
"$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption": {
"title": "$:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption",
"text": "add"
},
"$:/plugins/flibbles/relink/language/Error/InvalidAttributeName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidAttributeName",
"text": "Illegal characters in attribute name \"<$text text=<<attributeName>>/>\". Attributes cannot contain slashes ('/'), closing angle or square brackets ('>' or ']'), quotes or apostrophes ('\"' or \"'\"), equals ('='), or whitespace"
},
"$:/plugins/flibbles/relink/language/Error/InvalidElementName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidElementName",
"text": "Illegal characters in element/widget name \"<$text text=<<elementName>>/>\". Element tags can only contain letters and the characters hyphen (`-`) and dollar sign (`$`)"
},
"$:/plugins/flibbles/relink/language/Error/InvalidMacroName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidMacroName",
"text": "Illegal characters in macro name \"<$text text=<<macroName>>/>\". Macros cannot contain whitespace"
},
"$:/plugins/flibbles/relink/language/Error/InvalidParameterName": {
"title": "$:/plugins/flibbles/relink/language/Error/InvalidParameterName",
"text": "Illegal characters in parameter name \"<$text text=<<parameterName>>/>\". Parameters can only contain letters, digits, and the characters underscore (`_`) and hyphen (`-`)"
},
"$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator": {
"title": "$:/plugins/flibbles/relink/language/Error/RelinkFilterOperator",
"text": "Filter Error: Unknown suffix for the 'relink' filter operator"
},
"$:/plugins/flibbles/relink/language/Error/ReportFailedRelinks": {
"title": "$:/plugins/flibbles/relink/language/Error/ReportFailedRelinks",
"text": "Relink could not update '<<from>>' to '<<to>>' inside the following tiddlers:"
},
"$:/plugins/flibbles/relink/language/Error/UnrecognizedType": {
"title": "$:/plugins/flibbles/relink/language/Error/UnrecognizedType",
"text": "Relink parse error: Unrecognized field type '<<type>>'"
},
"$:/plugins/flibbles/relink/language/Help/Attributes": {
"title": "$:/plugins/flibbles/relink/language/Help/Attributes",
"text": "See the [[Attributes documentation page|https://flibbles.github.io/tw5-relink/#Attributes]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Fields": {
"title": "$:/plugins/flibbles/relink/language/Help/Fields",
"text": "See the [[Fields documentation page|https://flibbles.github.io/tw5-relink/#Fields]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Macros": {
"title": "$:/plugins/flibbles/relink/language/Help/Macros",
"text": "See the [[Macros documentation page|https://flibbles.github.io/tw5-relink/#Macros]] for details."
},
"$:/plugins/flibbles/relink/language/Help/Operators": {
"title": "$:/plugins/flibbles/relink/language/Help/Operators",
"text": "See the [[Operators documentation page|https://flibbles.github.io/tw5-relink/#Operators]] for details."
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty",
"text": "No tiddlers contain any fields, links, macros, transclusions, or widgets referencing this one"
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Description",
"text": "The following tiddlers contain fields, links, macros, transclusions, or widgets referencing this one:"
},
"$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption": {
"title": "$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption",
"text": "//Relink// References"
},
"$:/plugins/flibbles/relink/language/ui/Attributes/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Attributes/Caption",
"text": "Attributes"
},
"$:/plugins/flibbles/relink/language/ui/Fields/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Fields/Caption",
"text": "Fields"
},
"$:/plugins/flibbles/relink/language/ui/Macros/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Macros/Caption",
"text": "Macros"
},
"$:/plugins/flibbles/relink/language/ui/Operators/Caption": {
"title": "$:/plugins/flibbles/relink/language/ui/Operators/Caption",
"text": "Operators"
},
"$:/config/flibbles/relink/macros/csvtiddlers/filter": {
"title": "$:/config/flibbles/relink/macros/csvtiddlers/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/datauri/title": {
"title": "$:/config/flibbles/relink/macros/datauri/title",
"text": "title"
},
"$:/config/flibbles/relink/macros/jsontiddler/title": {
"title": "$:/config/flibbles/relink/macros/jsontiddler/title",
"text": "title"
},
"$:/config/flibbles/relink/macros/jsontiddlers/filter": {
"title": "$:/config/flibbles/relink/macros/jsontiddlers/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/list-links/filter": {
"title": "$:/config/flibbles/relink/macros/list-links/filter",
"text": "filter"
},
"$:/config/flibbles/relink/macros/list-links-draggable/tiddler": {
"title": "$:/config/flibbles/relink/macros/list-links-draggable/tiddler",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate": {
"title": "$:/config/flibbles/relink/macros/list-links-draggable/itemTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-tagged-draggable/tag": {
"title": "$:/config/flibbles/relink/macros/list-tagged-draggable/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate": {
"title": "$:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/tag": {
"title": "$:/config/flibbles/relink/macros/toc/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/selectedTiddler": {
"title": "$:/config/flibbles/relink/macros/toc/selectedTiddler",
"text": "title"
},
"$:/config/flibbles/relink/macros/toc/template": {
"title": "$:/config/flibbles/relink/macros/toc/template",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/buttonTemplate": {
"title": "$:/config/flibbles/relink/macros/tabs/buttonTemplate",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/default": {
"title": "$:/config/flibbles/relink/macros/tabs/default",
"text": "title"
},
"$:/config/flibbles/relink/macros/tabs/tabsList": {
"title": "$:/config/flibbles/relink/macros/tabs/tabsList",
"text": "filter"
},
"$:/config/flibbles/relink/macros/tabs/template": {
"title": "$:/config/flibbles/relink/macros/tabs/template",
"text": "title"
},
"$:/config/flibbles/relink/macros/tag/tag": {
"title": "$:/config/flibbles/relink/macros/tag/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/tag-pill/tag": {
"title": "$:/config/flibbles/relink/macros/tag-pill/tag",
"text": "title"
},
"$:/config/flibbles/relink/macros/timeline/subfilter": {
"title": "$:/config/flibbles/relink/macros/timeline/subfilter",
"text": "filter"
},
"$:/config/flibbles/relink/operators/list": {
"title": "$:/config/flibbles/relink/operators/list",
"text": "reference"
},
"$:/config/flibbles/relink/operators/tag": {
"title": "$:/config/flibbles/relink/operators/tag",
"text": "title"
},
"$:/config/flibbles/relink/operators/title": {
"title": "$:/config/flibbles/relink/operators/title",
"text": "title"
},
"$:/config/flibbles/relink/operators/field:title": {
"title": "$:/config/flibbles/relink/operators/field:title",
"text": "title"
},
"$:/language/EditTemplate/Title/Impossibles/Prompt": {
"title": "$:/language/EditTemplate/Title/Impossibles/Prompt",
"text": "''Warning:'' Not all references in the following tiddlers can be updated by //Relink// due to the complexity of the new title:"
},
"$:/language/EditTemplate/Title/References/Prompt": {
"title": "$:/language/EditTemplate/Title/References/Prompt",
"text": "The following tiddlers will be updated if relinking:"
},
"$:/language/EditTemplate/Title/Relink/Prompt": {
"title": "$:/language/EditTemplate/Title/Relink/Prompt",
"text": "Use //Relink// to update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' across all other tiddlers"
},
"$:/core/ui/EditTemplate/title": {
"title": "$:/core/ui/EditTemplate/title",
"tags": "$:/tags/EditTemplate",
"text": "<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\" tabindex={{$:/config/EditTabIndex}}/>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[all[relinkable]relink:references<fromTitle>limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$tiddler tiddler=<<fromTitle>> >\n\n<$set\n\tname=\"prompt\"\n\tfilter=\"[all[relinkable]relink:impossible<toTitle>]\"\n\tvalue=\"EditTemplate/Title/Impossibles/Prompt\"\n\temptyValue=\"EditTemplate/Title/References/Prompt\" >\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">{{$:/core/images/right-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">{{$:/core/images/down-arrow}}\n<$macrocall $name=lingo title=<<prompt>> />\n</$button>\n</$reveal>\n</$set>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$list variable=\"listItem\" filter=\"[all[relinkable]!title[$:/StoryList]relink:references<fromTitle>sort[title]]\" template=\"$:/plugins/flibbles/relink/ui/ListItemTemplate\">\n</$list>\n</$reveal>\n</$tiddler>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"
},
"$:/plugins/flibbles/relink/readme": {
"title": "$:/plugins/flibbles/relink/readme",
"type": "text/vnd.tiddlywiki",
"text": "When renaming a tiddler, Relink can update the fields, filters, and widgets\nof all other tiddlers. However, it works through whitelisting.\n\nIt's already configured to update tiddler titles for all core widgets, filters,\nand fields, but the whitelists can be customized for each of this in the\nconfiguration panel.\n\nSee [[the tw5-relink website|https://github.com/flibbles/tw5-relink]] for\nmore details and examples.\n"
},
"$:/config/flibbles/relink/settings/default-type": {
"title": "$:/config/flibbles/relink/settings/default-type",
"text": "title"
},
"$:/plugins/flibbles/relink/ui/ListItemTemplate": {
"title": "$:/plugins/flibbles/relink/ui/ListItemTemplate",
"text": "<$set\n\tname=\"classes\"\n\tfilter=\"[<listItem>relink:impossible<toTitle>]\"\n\tvalue=\"tc-menu-list-item tc-relink-impossible\"\n\temptyValue=\"tc-menu-list-item\">\n<div class=<<classes>>>\n<$link to=<<listItem>>><$text text=<<listItem>> /></$link>\n</div>\n</$set>\n"
},
"$:/plugins/flibbles/relink/ui/TiddlerInfo/References": {
"title": "$:/plugins/flibbles/relink/ui/TiddlerInfo/References",
"caption": "{{$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption}}",
"tags": "$:/tags/TiddlerInfo",
"text": "\\define lingo-base() $:/plugins/flibbles/relink/language/TiddlerInfo/\n\\define filter() [relink:references<currentTiddler>!title[$:/StoryList]!prefix[$:/temp/]sort[title]]\n<$list filter=\"[subfilter<filter>first[]]\">\n\n<<lingo References/Description>>\n</$list>\n\n<table class=\"tc-relink-references-table\">\n<tbody>\n<$list filter=<<filter>> emptyMessage=<<lingo References/Empty>> variable=\"listItem\" template=\"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate\" />\n</tbody>\n</table>\n"
},
"$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate": {
"title": "$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate",
"text": "<tr class=\"tc-relink-references\">\n<td class=\"tc-relink-references-title\">\n<$link to=<<listItem>>/>\n</td>\n<td class=\"tc-relink-references-report\">\n<$list filter=\"[<listItem>relink:report<currentTiddler>]\">\n\n<$text text=<<currentTiddler>> />\n</$list>\n\n</td>\n</tr>\n"
},
"$:/plugins/flibbles/relink/ui/components/button-delete": {
"title": "$:/plugins/flibbles/relink/ui/components/button-delete",
"text": "\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define prefix() $:/config/flibbles/relink/\n\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/Delete/Hint}}><$list filter=\"[all[current]is[tiddler]]\">\n<$action-deletetiddler $tiddler=<<currentTiddler>> />\n</$list><$list filter=\"[all[current]is[shadow]]\">\n<$action-setfield $tiddler=<<tiddlerName>> text=\"\" />\n</$list>\n{{$:/core/images/delete-button}}\n</$button>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$link><$button class=\"tc-btn-invisible\" tooltip={{$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint}}>{{$:/core/images/link}}</$button></$link>\n</$list>\n"
},
"$:/plugins/flibbles/relink/ui/components/select-fieldtype": {
"title": "$:/plugins/flibbles/relink/ui/components/select-fieldtype",
"text": "\\define prefix() $:/config/flibbles/relink/\n\n<$vars type={{{ [<signature>relink:type[]] }}} >\n<$list filter=\"[all[current]prefix<prefix>]\" >\n<$select tiddler=<<currentTiddler>> >\n<$list variable=\"option\" filter=\"[relink:types[]]\">\n<option><$text text=<<option>> /></option>\n</$list>\n</$select>\n</$list><$list filter=\"[all[current]!prefix<prefix>]\">\n<$text text=<<type>> />\n</$list>\n</$vars>\n"
},
"$:/plugins/flibbles/relink/ui/components/tables": {
"title": "$:/plugins/flibbles/relink/ui/components/tables",
"text": "\\define .make-table(title, plugin, default-table-state:yes)\n\n<$list variable=\"render\" filter=\"[relink:signatures<__plugin__>prefix<__category__>first[]]\">\n<$set name=\"table-state\" value=<<qualify \"\"\"$:/state/flibbles/relink/tables/$title$\"\"\">>>\n<tr><th class=\"tc-relink-header-plugin\" colspan=<<column-count>> >\n<$reveal type=\"nomatch\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}} ''$title$''\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<table-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}} ''$title$''\n</$button>\n</$reveal>\n</th></tr>\n<$list\n\tvariable=\"signature\"\n\tfilter=\"[relink:signatures<__plugin__>prefix<__category__>sort[]]\">\n<$vars key={{{ [<signature>removeprefix<__category__>removeprefix[/]] }}} >\n<$tiddler tiddler={{{[<signature>relink:source[]]}}} >\n<$reveal tag=\"tr\" type=\"match\" state=<<table-state>> text=\"yes\" default=\"\"\"$default-table-state$\"\"\">\n<$macrocall $name=<<__list-row-macro__>> signature=<<signature>> />\n<td class=\"tc-relink-column-type\">{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}}</td>\n<td class=\"tc-relink-column-delete\">{{||$:/plugins/flibbles/relink/ui/components/button-delete}}</td>\n</$reveal>\n</$tiddler>\n</$vars>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define tables(category, list-row-macro, header-list)\n<$vars\n\tcolumn-count={{{[enlist<__header-list__>] [[DeleteColumn]] +[count[]]}}}>\n\n<table class=\"tc-relink-whitelist\"><tbody>\n<tr>\n<$list variable=\"header\" filter=\"[enlist<__header-list__>butlast[]]\"><th><<header>></th></$list>\n<!-- We have the last column extend into the delete/link column, which is unlabeled. -->\n<th colspan=2><$text text={{{ [enlist<__header-list__>last[]] }}} /></th>\n</tr>\n\n<<.make-table Custom \"\" yes>>\n\n<<.make-table Core \"$:/plugins/flibbles/relink\">>\n\n<$list\n\tfilter=\"[plugin-type[plugin]![$:/core]![$:/plugins/flibbles/relink]]\">\n<$set name=\"subtitle\" value={{!!description}} emptyValue={{!!title}} >\n<$macrocall $name=\".make-table\" title=<<subtitle>> plugin=<<currentTiddler>> />\n</$set>\n</$list>\n\n</tbody></table>\n</$vars>\n\\end\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Attributes": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Attributes",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Attributes/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-attr() $:/config/flibbles/relink/attributes/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define element-name-tiddler() $:/state/flibbles/relink/element-name\n\\define attribute-name-tiddler() $:/state/flibbles/relink/attribute-name\n\n\\define row()\n<$set name=\"element\"\n filter=\"[<key>splitbefore[/]removesuffix[/]]\">\n<$set name=\"attribute\"\n filter=\"[<key>removeprefix<element>removeprefix[/]]\">\n<td><$text text=<<element>> /></td>\n<td><$text text=<<attribute>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Attributes}}\n\n<em class=\"tc-edit\">Add a new attribute:</em>\n<$edit-text\n\ttiddler=<<element-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"widget/element\" />\n<$edit-text\n\ttiddler=<<attribute-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"attribute\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<element-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<attribute-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewAttribute/Hint}}\n\taria-label={{$(lingo-base)$NewAttribute/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-attribute\"\n\telement={{$(element-name-tiddler)$}}\n\tattribute={{$(attribute-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<attribute-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<element-name-tiddler>> />\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<attribute-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<element-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewAttribute/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"attributes\"\n\theader-list=\"[[Widget/HTML Element]] Attribute Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Fields": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Fields",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Fields/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define field-name-tiddler() $:/state/flibbles/relink/field-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Fields}}\n\n<em class=\"tc-edit\">Add a new field:</em>\n<$edit-text\n\ttiddler=<<field-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"field name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<field-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewField/Hint}}\n\taria-label={{$(lingo-base)$NewField/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-field\"\n\tfield={{$(field-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<field-name-tiddler>> />\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<field-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewField/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"fields\"\n\theader-list=\"[[Field Name]] [[Field Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Macros": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Macros",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Macros/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define prefix-macro() $:/config/flibbles/relink/macros/\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define macro-name-tiddler() $:/state/flibbles/relink/macro-name\n\\define parameter-name-tiddler() $:/state/flibbles/relink/parameter-name\n\n\\define row()\n<$set name=\"parameter\"\n filter=\"[<key>relink:splitafter[/]]\">\n<$set name=\"macro\"\n filter=\"[<key>removesuffix<parameter>removesuffix[/]]\">\n<td><$text text=<<macro>> /></td>\n<td><$text text=<<parameter>> /></td>\n</$set></$set>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Macros}}\n\n<em class=\"tc-edit\">Add a new macro parameter:</em>\n<$edit-text\n\ttiddler=<<macro-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"macro\" />\n<$edit-text\n\ttiddler=<<parameter-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"parameter\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<macro-name-tiddler>> >\n<$reveal type=\"nomatch\" text=\"\" state=<<parameter-name-tiddler>> >\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewParameter/Hint}}\n\taria-label={{$(lingo-base)$NewParameter/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-parameter\"\n\tmacro={{$(macro-name-tiddler)$}}\n\tparameter={{$(parameter-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<parameter-name-tiddler>> />\n<$action-deletetiddler $tiddler=<<macro-name-tiddler>> />\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<parameter-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<macro-name-tiddler>> >\n<$button>\n<$text text={{$(lingo-base)$NewParameter/Caption}}/>\n</$button>\n</$reveal>\n\n\n<$macrocall\n\t$name=tables\n\tcategory=\"macros\"\n\theader-list=\"Macro Parameter Type\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/configuration/Operators": {
"title": "$:/plugins/flibbles/relink/ui/configuration/Operators",
"caption": "{{$:/plugins/flibbles/relink/language/ui/Operators/Caption}}",
"tags": "$:/tags/flibbles/relink/Configuration",
"text": "\\import $:/plugins/flibbles/relink/ui/components/tables\n\\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/\n\\define operator-name-tiddler() $:/state/flibbles/relink/operator-name\n\n\\define row()\n<td><$text text=<<key>> /></td>\n\\end\n\\define body()\n\n{{$:/plugins/flibbles/relink/language/Help/Operators}}\n\n<em class=\"tc-edit\">Add a new filter operator:</em>\n<$edit-text\n\ttiddler=<<operator-name-tiddler>>\n\ttag=\"input\"\n\tdefault=\"\"\n\tplaceholder=\"operator name\" />\n<$reveal type=\"nomatch\" text=\"\" state=<<operator-name-tiddler>>>\n<$relinkmangler>\n<$button\n\ttooltip={{$(lingo-base)$NewOperator/Hint}}\n\taria-label={{$(lingo-base)$NewOperator/Caption}}>\n<$action-sendmessage\n\t$message=\"relink-add-operator\"\n\toperator={{$(operator-name-tiddler)$}} />\n<$action-deletetiddler $tiddler=<<operator-name-tiddler>> />\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$relinkmangler>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=<<operator-name-tiddler>>>\n<$button>\n<$text text={{$(lingo-base)$NewOperator/Caption}}/>\n</$button>\n</$reveal>\n\n<$macrocall\n\t$name=tables\n\tcategory=\"operators\"\n\theader-list=\"[[Filter Operator]] [[Operand Type]]\"\n\tlist-row-macro=\"row\" />\n\\end\n\n<<body>>\n"
},
"$:/plugins/flibbles/relink/ui/stylesheet.css": {
"title": "$:/plugins/flibbles/relink/ui/stylesheet.css",
"text": ".tc-relink-references {\n}\n\n.tc-relink-references-table {\n\twidth: 100%;\n\tborder: none;\n}\n\n.tc-relink-references-table td {\n\tborder-left: none;\n}\n\n.tc-relink-references-table tr:first-child td {\n\tborder-top: none;\n}\n\n.tc-relink-references-title {\n\ttext-align: left;\n\tvertical-align: top;\n}\n\n.tc-relink-references-occurrence {\n\tfont-style: italic;\n\ttext-align: left;\n\tfont-weight: 200;\n\tpadding-left: 25px;\n\tvertical-align: top;\n}\n\n.tc-relink-header-plugin {\n\ttext-align: left;\n}\n\n.tc-relink-header-plugin button {\n\twidth: 100%\n}\n\n.tc-relink-column-type {\n\twidth: 8em;\n}\n\n.tc-relink-column-type select {\n\twidth: 100%;\n}\n\n.tc-relink-column-delete {\n\tborder-left: none;\n\ttext-align: left;\n}\n\n.tc-relink-column-delete button {\n\tpadding-left: 1em;\n}\n\n.tc-relink-impossible a.tc-tiddlylink {\n\tcolor: red;\n}\n",
"tags": "$:/tags/Stylesheet",
"type": "text/css"
}
}
}
{
"tiddlers": {
"$:/plugins/HCHaase/toc_counting/settings": {
"created": "20190611081555857",
"creator": "HC Haase",
"text": "! [[Counting in Table of Contents|$:/plugins/HCHaase/toc_counting/settings]] \n\n<$checkbox tiddler=\"$:/plugins/HCHaase/toc_counting\" tag=\"$:/tags/Macro\" default=\"$:/tags/Macro\"> <$link to=\"$:/plugins/HCHaase/toc_counting/settings/readme\">Enable counting of sub-tiddlers in TOC</$link> </$checkbox>\n\n",
"title": "$:/plugins/HCHaase/toc_counting/settings",
"tags": "$:/plugins/HCHaase/toc_counting $:/tags/ControlPanel/Settings",
"modified": "20190611082116987",
"modifier": "HC Haase"
},
"$:/plugins/HCHaase/toc_counting": {
"created": "20180911090306734",
"creator": "HC Haase",
"text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$\"\"\">\n <$vars item=<<currentTiddler>> path=\"\"\"$path$/$tag$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\">\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$vars>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\" \")\n<<toc-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$link>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<!-- helper function -->\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-expandable-empty-message()\n<<toc-linked-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\" >\n <li class=<<toc-item-class>>>\n <$link>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$link>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter:\" \",exclude,path)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc$path$-$(currentTiddler)$\"\"\">>>\n <$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" emptyValue=\"toc-item\" value=\"toc-item-selected\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n <$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/right-arrow}}\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n {{$:/core/images/down-arrow}}\n <<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n <$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=\"\"\"$exclude$\"\"\" path=\"\"\"$path$\"\"\"/>\n </$reveal>\n </li>\n </$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<<toc-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\" exclude:\"\"\"$(excluded)$\"\"\" path:\"\"\"$(path)$\"\"\">>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" excluded=\"\"\"$exclude$ -[[$tag$]]\"\"\" path=\"\"\"$path$/$tag$\"\"\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$] -[[$tag$]] $exclude$\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=toc-unlinked-selective-expandable-body tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\" exclude=<<excluded>> path=<<path>> >\n </$list>\n </$list>\n </ol>\n</$vars>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=\"$selectedTiddler$\">\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=\"$template$\">\n <h1><<toc-caption>><small class=\"tc-menu-list-count\"><$list filter='[tag<currentTiddler>limit[1]]' variable=null>(<$count filter=\"[all[current]tagging[]]\"/>)</$list></small></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n",
"title": "$:/plugins/HCHaase/toc_counting",
"tags": "plugins count-stuff $:/tags/Macro",
"modifier": "HC Haase",
"modified": "20190611081933411"
},
"$:/plugins/HCHaase/toc_counting/readme": {
"created": "20190611082221870",
"creator": "HC Haase",
"title": "$:/plugins/HCHaase/toc_counting/readme",
"modified": "20190611093630095",
"modifier": "HC Haase",
"text": "The //TOC counting// plugin adds a count of child tiddlers to the right of each entry in the TOC(s). No count will be shown if there isn't any child tiddlers (e.g. no 0).\n\nIt can be toggled on or of in the settings (or below).\n\n{{$:/plugins/HCHaase/toc_counting/settings}}\n\n!!! Roadmap\n When I have time \n\n#I would like to expand this to lists as well.\n# I would also like to add an extra count of sub-sub-tiddlers"
}
}
}
{
"tiddlers": {
"$:/plugins/jd/NTFS19/readme": {
"text": "This plugin adds a function to create a new tiddler based on the text string entered in the searchbar. \n\nThis can be done via:\n\n# the \"+\" button that will appear to the right of the searchbar when you type or, \n# the keyboard shortcut \"ctrl+space\"\n\n!!! ''What were overwritten?''\n\n# Changed the `div` enveloping the searchbar into a `<$keyboard>` widget, to catch the \"ctrl+space\" shortcut.\n# Added the \"+\" button that will appear when the searchbar is not empty.\n\n<a target=\"blank\" href=\"http://j.d.ntfs19.tiddlyspot.com\">Project Homepage on Tiddlyspot</a>\n\n!!!''Not compatible with TW5.1.18 and below''\n\nFor TW5.1.18 and below: <a target=\"blank\" href=\"http://j.d.ntfs.tiddlyspot.com\">NTFS</a>",
"title": "$:/plugins/jd/NTFS19/readme",
"tags": "",
"modifier": "jd",
"modified": "20190129114653931",
"creator": "HC Haase",
"created": "20180903082203162"
},
"$:/core/ui/AdvancedSearch/Filter": {
"text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<$importvariables filter=\"[[$:/core/ui/SideBarSegments/search]]\">\n<$keyboard class=\"tc-search tc-advanced-search\" tag=\"div\" key=\"ctrl+space\" actions=<<NewTidActions \"$:/temp/advancedsearch\">>>\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[[$:/temp/advancedsearch]!text[]]\"><<NewTidBtn \"$:/temp/advancedsearch\">></$list>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</$keyboard>\n</$importvariables>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n",
"title": "$:/core/ui/AdvancedSearch/Filter",
"tags": "$:/tags/AdvancedSearch",
"modifier": "jd",
"modified": "20190129113823570",
"creator": "jd",
"created": "20180903105957506",
"caption": "{{$:/language/Search/Filter/Caption}}"
},
"$:/core/ui/AdvancedSearch/Shadows": {
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<$importvariables filter=\"[[$:/core/ui/SideBarSegments/search]]\">\n<$keyboard class=\"tc-search\" tag=\"div\" key=\"ctrl+space\" actions=<<NewTidActions \"$:/temp/advancedsearch\">>>\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[[$:/temp/advancedsearch]!text[]]\"><<NewTidBtn \"$:/temp/advancedsearch\">></$list>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$importvariables>\n\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n",
"title": "$:/core/ui/AdvancedSearch/Shadows",
"tags": "$:/tags/AdvancedSearch",
"modifier": "jd",
"modified": "20190129113816484",
"creator": "jd",
"created": "20180903111038029",
"caption": "{{$:/language/Search/Shadows/Caption}}"
},
"$:/core/ui/AdvancedSearch/Standard": {
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<$importvariables filter=\"[[$:/core/ui/SideBarSegments/search]]\">\n<$keyboard class=\"tc-search\" tag=\"div\" key=\"ctrl+space\" actions=<<NewTidActions \"$:/temp/advancedsearch\">>>\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[[$:/temp/advancedsearch]!text[]]\"><<NewTidBtn \"$:/temp/advancedsearch\">></$list>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$importvariables>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$list>\n</$reveal>\n",
"title": "$:/core/ui/AdvancedSearch/Standard",
"tags": "$:/tags/AdvancedSearch",
"modifier": "jd",
"modified": "20190129113810696",
"creator": "jd",
"created": "20180903111148689",
"caption": "{{$:/language/Search/Standard/Caption}}"
},
"$:/core/ui/AdvancedSearch/System": {
"text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<$importvariables filter=\"[[$:/core/ui/SideBarSegments/search]]\">\n<$keyboard class=\"tc-search\" tag=\"div\" key=\"ctrl+space\" actions=<<NewTidActions \"$:/temp/advancedsearch\">>>\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[[$:/temp/advancedsearch]!text[]]\"><<NewTidBtn \"$:/temp/advancedsearch\">></$list>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$importvariables>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n",
"title": "$:/core/ui/AdvancedSearch/System",
"tags": "$:/tags/AdvancedSearch",
"modifier": "jd",
"modified": "20190129113803409",
"creator": "jd",
"created": "20180903111230192",
"caption": "{{$:/language/Search/System/Caption}}"
},
"$:/core/ui/SideBarSegments/search": {
"text": "\\define NewTidActions(searcharea)\n<$action-createtiddler $basetitle={{$searcharea$}} $savetitle=\"$:/temp/NewTidTitle\"/>\n<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{$:/temp/NewTidTitle}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTidTitle\"/>\n<$action-setfield $tiddler=\"$searcharea$\" text=\"\"/>\n\\end\n\n\\define NewTidBtn(searcharea)\n<$button tooltip=\"Create new tiddler with this title\" class=\"tc-btn-invisible\" actions=<<NewTidActions \"$searcharea$\">>>\n{{$:/core/images/new-button}}\n</$button>\n\\end\n\n<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<$keyboard class=\"tc-search\" tag=\"div\" key=\"ctrl+space\" actions=<<NewTidActions \"$:/temp/search\">>>\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<<NewTidBtn \"$:/temp/search\">>\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$set name=\"searchTerm\" value={{{ [<searchTiddler>get[text]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search<searchTerm>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$set>\n</$list>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</$keyboard>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<$list filter=\"[{$:/temp/search}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n{{$:/core/ui/SearchResults}}\n\n</$list>\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n</div>\n",
"title": "$:/core/ui/SideBarSegments/search",
"tags": "$:/tags/SideBarSegment",
"modifier": "jd",
"modified": "20190129113714240",
"creator": "jd",
"created": "20190129113515705"
}
}
}
{
"tiddlers": {
"$:/jd/fullscreen-editor/EditButton": {
"text": "\\whitespace trim\n<$navigator story=\"$:/fullscreen-editor\">\n<$button message=\"tm-edit-tiddler\" tooltip=\"Edit in full screen mode\" class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text=\" \"/>\n<$text text=\"edit in full screen\"/>\n</span>\n</$list>\n</$button>\n</$navigator>",
"title": "$:/jd/fullscreen-editor/EditButton",
"tags": "$:/tags/ViewToolbar",
"modifier": "jd",
"modified": "20190204134418116",
"description": "Edit in full screen mode",
"creator": "jd",
"created": "20190204123121582",
"caption": "{{$:/core/images/full-screen-button}} edit in full screen"
},
"$:/jd/fullscreen-editor/EditTemplate": {
"text": "<$navigator story=\"$:/fullscreen-editor\">\n<$keyboard key=((cancel-edit-tiddler)) message=\"tm-cancel-tiddler\">\n<$keyboard key=((save-tiddler)) actions=\"\"\"<$action-sendmessage $message=\"tm-save-tiddler\"/><$action-sendmessage $message=\"tm-close-tiddler\"/>\"\"\" class=\"fullscreen-story-river\" tag=\"div\">\n{{||$:/core/ui/EditTemplate/controls}}\n{{||$:/core/ui/EditTemplate/body}}\n</$keyboard>\n</$keyboard>\n</$navigator>",
"title": "$:/jd/fullscreen-editor/EditTemplate",
"modifier": "jd",
"modified": "20190204140310285",
"creator": "jd",
"created": "20190204123536452"
},
"$:/jd/fullscreen-editor/PageTemplate": {
"text": "<$list filter=\"[list[$:/fullscreen-editor]]\" template=\"$:/jd/fullscreen-editor/ViewTemplate\" editTemplate=\"$:/jd/fullscreen-editor/EditTemplate\"/>\n",
"title": "$:/jd/fullscreen-editor/PageTemplate",
"tags": "$:/tags/PageTemplate",
"modifier": "jd",
"modified": "20190204135522488",
"creator": "jd",
"created": "20190204123350692"
},
"$:/jd/fullscreen-editor/Stylesheet": {
"text": "<$list filter=\"[[$:/fullscreen-editor]has:field[list]!field:list[]]\">\n<$list filter=\"[[$:/fullscreen-editor]search:list[draft of]]\">\n\n.tc-story-river {display: none; }\n\n.fullscreen-story-river {\n background-color: <<colour tiddler-editor-background>>;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: block;\n z-index: 2200;\n overflow-y: auto;\n}\n\n.fullscreen-story-river .tc-tiddler-edit-title {\n position: sticky;\n top: 0;\n background: <<colour page-background>>;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.5em 1em;\n}\n\n.fullscreen-story-river .tc-tiddler-edit-title > div:nth-child(2) {\n display: none;\n}\n\n.fullscreen-story-river .tc-tiddler-controls.tc-titlebar,\n.fullscreen-story-river .tc-tiddler-controls.tc-titlebar .tc-btn-invisible {\n display: flex;\n align-items: center;\n}\n\n.fullscreen-story-river .tc-editor-toolbar {\n background: <<colour page-background>>;\n padding: 0.25em 1em;\n margin: 0;\n}\n\n.fullscreen-story-river .tc-editor-toolbar button {\n background: <<colour page-background>>;\n}\n\n.fullscreen-story-river textarea.tc-edit-texteditor {\n border: none;\n padding: 1em;\n background-color: <<colour tiddler-editor-background>>;\n}\n\n<$list filter=\"[[$:/state/showeditpreview]text[yes]]\">\n.fullscreen-story-river iframe.tc-edit-texteditor { width: 49%; }\n</$list>\n\n<$list filter=\"[[$:/state/showeditpreview]!text[yes]]\">\n.fullscreen-story-river iframe.tc-edit-texteditor { width: 100%; }\n</$list>\n\n</$list>\n</$list>",
"title": "$:/jd/fullscreen-editor/Stylesheet",
"tags": "$:/tags/Stylesheet",
"modifier": "jd",
"modified": "20190204141756609",
"creator": "jd",
"created": "20190204124703056"
},
"$:/jd/fullscreen-editor/readme": {
"created": "20190206054820870",
"creator": "HC Haase",
"text": "With ''~FullscreenEditor'', you'll be able to edit the current tiddler distraction-free with this button, found at the usual tiddler controls: @@font-size:1.5em;{{||$:/jd/fullscreen-editor/EditButton}}@@\n\nAlso in this mode, <kbd>ctrl</kbd>+<kbd>enter</kbd> will save and close the tiddler, and <kbd>esc</kbd> will cancel the edit (or whatever keyboard shortcut have been set for these two actions at $:/core/ui/ControlPanel/KeyboardShortcuts).",
"title": "$:/jd/fullscreen-editor/readme",
"modifier": "HC Haase",
"modified": "20190206054846709"
}
}
}
{"tiddlers":{"$:/plugins/kookma/commander/authors":{"title":"$:/plugins/kookma/commander/authors","created":"20190212051153468","modified":"20190728184415261","tags":"","type":"text/vnd.tiddlywiki","text":"!! Author\n* [[Mohammad Rahmani|https://github.com/kookma]]\n\n!! Contributors\n* [[@MarxSal|https://github.com/Marxsal]]\n* [[@BurningTreeC|https://github.com/BurningTreeC]]\n\n!! Acknowledgement\n* Jeremy Ruston\n* Rob Hoelz\n* Ton Gerner\n* Jed Carty\n* Tobias Beer\n* Anthony Muscio\n* Birthe C\n* Thomas Elmiger\n* Diego Messa\n* ~TiddlyTweeter\n* Watt"},"$:/plugins/kookma/commander/buttons/pagecontrol":{"title":"$:/plugins/kookma/commander/buttons/pagecontrol","caption":"{{$:/plugins/kookma/commander/images/file-alt}} {{$:/language/Buttons/Commander/Caption}}","created":"20190724145015836","description":"Open tiddler commander","list-after":"$:/core/ui/Buttons/advanced-search","modified":"20190816084419848","tags":"$:/tags/PageControls","type":"text/vnd.tiddlywiki","text":"<$button to=\"$:/Commander\" tooltip={{$:/language/Buttons/Commander/Hint}} aria-label={{$:/language/Buttons/Commander/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/kookma/commander/images/file-alt}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Commander/Caption}}/></span>\n</$list>\n</$button>"},"$:/plugins/kookma/commander/compInspect/edit-fileds":{"title":"$:/plugins/kookma/commander/compInspect/edit-fileds","created":"20190313061511585","modified":"20190728184415256","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","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\\define new-field()\n<$vars name={{$:/temp/newfieldname}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button class=\"cmd-btn\">\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button class=\"cmd-btn\">\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\n\\define compInspect-edit-fileds(commonFields:\"\")\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n\n\n<$list filter=\"created creator modified modifier -[enlist<__commonFields__>]\" variable=\"currentField\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n\n\n\n\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n\\end"},"$:/plugins/kookma/commander/compInspect/edit-preview":{"title":"$:/plugins/kookma/commander/compInspect/edit-preview","created":"20190308144706094","modified":"20190728184415253","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compInspect-edit-preview(tiddler, commonFields:\"\")\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<tr class=\"tc-edit-field\"><td class=\"tc-edit-field-name\">title:</td>\n<td class=\"tc-edit-field-value\"><$link to=<<__tiddler__>> ><$text text=<<__tiddler__>> /></$link></td>\n</tr>\n<tr class=\"tc-edit-field\"><td class=\"tc-edit-field-name\">tags:</td>\n<td class=\"tc-edit-field-value\"><$macrocall $name=compInspect-get-field tiddler=<<__tiddler__>> field=\"tags\" /></td>\n</tr>\n<tr class=\"tc-edit-field\"><td class=\"tc-edit-field-name\">text:</td>\n<td class=\"tc-edit-field-value\"><$macrocall $name=compInspect-get-field tiddler=<<__tiddler__>> field=\"text\" tag=\"textarea\" /></td>\n</tr>\n</tbody>\n</table>\n</div>\n\n<$tiddler tiddler=<<__tiddler__>> >\n<$macrocall $name=\"compInspect-edit-fileds\" commonFields=<<__commonFields__>> />\n</$tiddler>\n\\end\n\n\\define compInspect-get-field(tiddler, field, tag:\"input\") \n<$edit-text class=\"tc-edit-texteditor\" tiddler=<<__tiddler__>> field=<<__field__>> tag=<<__tag__>> default=\"\" placeholder={{$:/language/EditTemplate/Body/Placeholder}}/>\n\\end"},"$:/plugins/kookma/commander/compInspect/main":{"title":"$:/plugins/kookma/commander/compInspect/main","created":"20190308151331101","modified":"20190728184415251","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compInspect(filter, stateTiddler:\"thisTiddler\")\n<$set name=\"state\" \n value={{{ [[$:/state/compInspect/]addsuffix<__stateTiddler__>] }}}\n>\n<$vars\n slStateTid={{{ [<state>addsuffix[/]addsuffix[selectState-tiddler]] }}}\n rvStateTid={{{ [<state>addsuffix[/]addsuffix[revealState-tiddler]] }}}\n chStateTid={{{ [<state>addsuffix[/]addsuffix[checkboxState-tiddler]] }}}\n>\n\nSelect tiddler <$macrocall $name=compSelect filter=<<__filter__>> stateTiddler=<<slStateTid>> />\n \n<$macrocall $name=\"check-common-fields\" stateTiddler=<<chStateTid>> />\n \n<$reveal stateTitle=<<rvStateTid>> type=\"nomatch\" text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<rvStateTid>> setTo=\"edit\" tooltip=\"edit tiddler\">{{$:/core/images/edit-button}}</$button>\n<$macrocall $name=compInspect-show-preview tiddler={{{ [<slStateTid>get[text]] }}} commonFields={{{ [<chStateTid>get[text]] }}}/>\n</$reveal>\n<$reveal stateTitle=<<rvStateTid>> type=\"match\" text=\"edit\">\n<$button class=\"tc-btn-invisible\" setTitle=<<rvStateTid>> setTo=\"\" tooltip=\"confirm changes\">{{$:/core/images/done-button}}</$button>\n<$macrocall $name=compInspect-edit-preview tiddler={{{ [<slStateTid>get[text]] }}} commonFields={{{ [<chStateTid>get[text]] }}}/>\n</$reveal>\n\n</$vars>\n</$set>\n\\end\n\n\\define check-common-fields(stateTiddler)\n<$checkbox \n tiddler=<<__stateTiddler__>>\n field=\"text\" \n checked=\"\" \n unchecked=\"created creator modified modifier\"\n default=\"\"\n> Include common fields?</$checkbox>\n\\end"},"$:/plugins/kookma/commander/compInspect/show-preview":{"title":"$:/plugins/kookma/commander/compInspect/show-preview","created":"20190308070953891","modified":"20190728184415249","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compInspect-show-preview(tiddler, commonFields:\"\")\n<$vars mainFields=\"title tags text\">\n<table class=\"cmd-ci-table\">\n<tr><td class=\"leftcol\">title</td>\n<td class=\"rightcol\"><$link to=<<__tiddler__>> ><$text text=<<__tiddler__>> /></$link></td>\n</tr>\n\n<tr><td class=\"leftcol\">tags</td>\n<td style=\"padding:3px;\"><$macrocall $name=showTags tiddler=<<__tiddler__>> /></td>\n</tr>\n<tr><td class=\"leftcol\">text</td>\n<td><$transclude tiddler=<<__tiddler__>> field=\"text\" mode=\"block\"/></td>\n</tr>\n<$list filter=\"[<__tiddler__>fields[]] -[enlist<mainFields>] -[enlist<__commonFields__>]\" variable=\"otherFld\">\n<tr><td class=\"leftcol\"><<otherFld>></td>\n<td class=\"rightcol\"><$transclude tiddler=<<__tiddler__>> field=<<otherFld>> mode=\"inline\"/></td>\n</tr>\n</$list>\n</table>\n</$vars>\n\\end\n\n\\define showTags(tiddler)\n<$list filter=\"[<__tiddler__>tags[]]\" variable=tagItem >\n<$macrocall $name=tag tag=<<tagItem>> />\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/config/AutoFocus":{"title":"$:/plugins/kookma/commander/config/AutoFocus","created":"20190212055413944","modified":"20190728184415246","tags":"","type":"text/vnd.tiddlywiki","text":"yes"},"$:/plugins/kookma/commander/config/relink":{"title":"$:/plugins/kookma/commander/config/relink","created":"20190911153159143","modified":"20190912052555046","tags":"","type":"text/vnd.tiddlywiki","text":"\\define relink-plugin-notExisted() Update title in //tags// and //list// fields of other tiddlers\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\">\n<$list filter=\"[[$:/plugins/flibbles/relink]] +[has[title]]\" emptyMessage=<<relink-plugin-notExisted>> >\nUse //Relink// to update title across all other tiddlers\n</$list>\n</$checkbox>"},"$:/plugins/kookma/commander/field/macros/add-remove-set":{"title":"$:/plugins/kookma/commander/field/macros/add-remove-set","created":"20190212101155537","modified":"20190728184415244","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define add-new-field-bulk(newField:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__newField__>] -Empty\">\n<<create-log-tiddler \"add-new-field-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]] -[has:field[$newField$]]\">\n<$fieldmangler>\n<$action-sendmessage $message=\"tm-add-field\" $param=<<__newField__>> />\n</$fieldmangler>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"new field `$newField$` added\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n\n\\define remove-old-field-bulk(oldField:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__oldField__>] -Empty\">\n<<create-log-tiddler \"remove-old-field-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]] +[has:field[$oldField$]]\">\n<$fieldmangler>\n<$action-sendmessage $message=\"tm-remove-field\" $param=<<__oldField__>> />\n</$fieldmangler>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"old field `$oldField$` removed\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n\n\\define set-field-value-bulk(fieldName:\"Empty\", fieldValue:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__fieldName__>] -Empty\">\n<$list filter=\"[<__fieldValue__>] -Empty\">\n<<create-log-tiddler \"set-field-value-create-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]] -[$fieldName$[$fieldValue$]]\">\n<$action-setfield $field=<<__fieldName__>> $value=<<__fieldValue__>> />\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"field `$fieldName$` got a value\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n</$list>\n\\end\n\n"},"$:/plugins/kookma/commander/field/ui":{"title":"$:/plugins/kookma/commander/field/ui","caption":"Field","created":"20190212061551615","list-after":"$:/plugins/kookma/commander/tag/ui","modified":"20190728184415241","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/FieldOps]!has[draft.of]]\"\ndefault:\"$:/plugins/kookma/commander/field/uicomp/add-remove-fields\" \nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\"\n>>\n\n"},"$:/plugins/kookma/commander/field/uicomp/add-remove-fields":{"title":"$:/plugins/kookma/commander/field/uicomp/add-remove-fields","caption":"Add remove fields","created":"20190314051054548","modified":"20190728184415238","tags":"$:/tags/Commander/FieldOps","type":"text/vnd.tiddlywiki","text":"<$edit-text\ntiddler=\"$:/temp/commander/field-add\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" new field\"\n/> \n<$button class=\"cmd-btn\"> Add new field\n<$macrocall $name=\"add-new-field-bulk\" newField={{$:/temp/commander/field-add}} />\n</$button>\n\n<$button class=\"cmd-btn\"> Remove old field\n<$macrocall $name=\"remove-old-field-bulk\" oldField={{$:/temp/commander/field-remove}} />\n</$button>\n<$select class=\"cmd-select-wd\" tiddler=\"$:/temp/commander/field-remove\" default=<<dummy>>>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]fields[]sort[]] -title -tags\" >\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>\n"},"$:/plugins/kookma/commander/field/uicomp/set-field-value":{"title":"$:/plugins/kookma/commander/field/uicomp/set-field-value","caption":"Set field value","created":"20190212120609737","list-after":"$:/plugins/kookma/commander/field/uicomp/add-remove-fields","modified":"20190728184415236","tags":"$:/tags/Commander/FieldOps","type":"text/vnd.tiddlywiki","text":"Field name \n<$select class=\"cmd-select-wd\" \n tiddler=\"$:/temp/commander/field-name\" \n default=\"\" \n>\n<$list filter=\"[subfilter{$:/state/commander/set-field-value/fields}] ~[[$:/temp/commander/selected-titles]indexes[]fields[]sort[]] -tags -title\" >\n<option><$view field=\"title\"/></option>\n</$list>\n</$select> \n<$checkbox \n tiddler=\"$:/state/commander/set-field-value/fields\" \n field=\"text\" \n checked=\"[[$:/temp/commander/selected-titles]indexes[]fields[]sort[]]\" \n unchecked=\"[[$:/temp/commander/selected-titles]indexes[]fields[]sort[]] -[[$:/temp/commander/selected-titles]fields[]]\"\n default=\"[[$:/temp/commander/selected-titles]indexes[]fields[]sort[]]\"\n> Include system fields?</$checkbox>\n\nField value <$edit-text\ntiddler=\"$:/temp/commander/field-value\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" field value\"\n/> \n<$button class=\"cmd-btn\"> Set field value\n<$macrocall \n $name=\"set-field-value-bulk\" \n fieldName={{$:/temp/commander/field-name}} \n fieldValue={{$:/temp/commander/field-value}} \n/>\n</$button>"},"$:/plugins/kookma/commander/filters/Drafts":{"title":"$:/plugins/kookma/commander/filters/Drafts","created":"20190214135512125","description":"{{$:/language/Filters/Drafts}}","filter":"[has[draft.of]sort[title]]","modified":"20190728184415233","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/geneal":{"title":"$:/plugins/kookma/commander/filters/geneal","created":"20190725091830350","description":"General filter","filter":"[all[shadows+tiddlers]search[your keywrods]]","modified":"20190728184415231","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/Missing":{"title":"$:/plugins/kookma/commander/filters/Missing","created":"20190214140029091","description":"{{$:/language/Filters/Missing}}","filter":"[all[missing]sort[title]]","modified":"20190728184415228","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/Orphans":{"title":"$:/plugins/kookma/commander/filters/Orphans","created":"20190214135426497","description":"{{$:/language/Filters/Orphans}}","filter":"[all[orphans]sort[title]]","modified":"20190728184415226","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/RecentSystemTiddlers":{"title":"$:/plugins/kookma/commander/filters/RecentSystemTiddlers","created":"20190214135950458","description":"{{$:/language/Filters/RecentSystemTiddlers}}","filter":"[has[modified]!sort[modified]limit[50]]","modified":"20190728184415224","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/RecentTiddlers":{"title":"$:/plugins/kookma/commander/filters/RecentTiddlers","created":"20190214135912493","description":"{{$:/language/Filters/RecentTiddlers}}","filter":"[!is[system]has[modified]!sort[modified]limit[50]]","modified":"20190728184415221","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/SessionTiddlers":{"title":"$:/plugins/kookma/commander/filters/SessionTiddlers","created":"20190214135831279","description":"Tiddlers modified since the wiki was loaded","filter":"[haschanged[]]","modified":"20190728184415219","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/StoryList":{"title":"$:/plugins/kookma/commander/filters/StoryList","created":"20190214135246552","description":"{{$:/language/Filters/StoryList}}","filter":"[list[$:/StoryList]] -$:/AdvancedSearch","modified":"20190728184415216","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/filters/temp-and-state":{"title":"$:/plugins/kookma/commander/filters/temp-and-state","created":"20190214141452091","description":"Temporary and state tiddlers","filter":"[prefix[$:/temp]] [prefix[$:/state]]","modified":"20190728184415214","tags":"$:/tags/Commander/Filter","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/commander/help/ui":{"title":"$:/plugins/kookma/commander/help/ui","caption":"Help","created":"20190314050052494","icon":"$:/core/images/help","list-after":"$:/plugins/kookma/commander/setting/ui","modified":"20190728184415212","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/Help]!has[draft.of]]\" \ndefault:\"$:/plugins/kookma/commander/help/uicomp/what-is-commander\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n\n\n"},"$:/plugins/kookma/commander/help/uicomp/batch-operation":{"title":"$:/plugins/kookma/commander/help/uicomp/batch-operation","caption":"Batch operation","created":"20190315083511735","list-after":"$:/plugins/kookma/commander/help/uicomp/quick-tutorial","modified":"20190728184415209","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"!! What is batch operation?\n<<<\nMaking the same changes to large numbers of tiddlers in TW5 can be repetetive and time consuming.\n\n* Batch operations work on groups of tiddlers at the same time and make changes 'in bulk', in one go.\n\n* Batch operations operate on groups of tiddlers that share matching criteria.\n\n* Tiddlers which share a common tag, a common field, a word in their title, or were created on the same day, month or year are all candidates for batch operations.\n\n<<commander-alert \"\"\"As a result batch operations can save users a great deal of time but, because they work on several tiddlers at once, the price of a mistake is multiplied! ''Back-up your wiki!''\"\"\">>\n<<<\n\n!! Types of Batch operations :\n<<<\n* Rename tiddlers\n** use a totally new name\n** add a suffix/prefix to title\n** add prefix to title\n** replace part of title\n** add ordinal number to title \n\n* Add/remove tag or any field\n* Change/replace the content of any field\n* Create multiple empty tiddlers (for lectures or a slideshow) with common properties (tag, field, part of text,...)\n* Capability to get user confirmation before doing some operations\n<<<"},"$:/plugins/kookma/commander/help/uicomp/quick-tutorial":{"title":"$:/plugins/kookma/commander/help/uicomp/quick-tutorial","caption":"Quick tutorial","created":"20190314050138754","list-after":"$:/plugins/kookma/commander/help/uicomp/what-is-commander","modified":"20190728184415207","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"# Use ''Search via filter'' to list possible tiddlers\n#* example: `[tag[xx]]` finds all tiddlers tagged with //xx//\n#* example: `[prefix[tt]` finds all tiddlers have title started with //tt//\n#* example: `[has[draft.of]sort[title]]` finds all draft tiddlers\n\n# Use ''Select tiddlers'' for the resulting list to identify which specific tiddlers to do a batch operation on\n#* this step lets you to do a batch operation on selected tiddlers NOT all filtered by ''Filter search''!\n#* it is possible to select/deselect all tiddlers from ''Filter search'' result at once!\n# From ''Batch operations tabs'' select the batch operation you wish to perform on selected tiddlers\n#* example: title, tag, and field operations\n#* example: Snr operation\n#* example: Inspect operation\n\n* Notes:\n** Multiple batch operations can be done on the same set (unless you change something in the search criteria)\n** Sometimes it is useful to use an intermediate batch to help, like tag tiddlers with a \"working\" tag, using multiple searches, then then use the \"working\" tag to apply a batch operation to\n\n<<commander-alert \"\"\"''Note'': For good operation a tiddler width of 800px is recommended. You can also use //Sidebar layout// as `Fluid story`. \"\"\">>\n\n\n!!! Footenote\n# [[Use filter expression|https://tiddlywiki.com/prerelease/#Filters:Filters%20%5B%5BFilter%20Expression%5D%5D%20%5B%5BFilter%20Syntax%5D%5D%20%5B%5BFilter%20Operators%5D%5D%20%5B%5BFilter%20Parameter%5D%5D%20%5B%5BFilter%20Run%5D%5D%20%5B%5BFilter%20Step%5D%5D%20%5B%5BFilter%20Whitespace%5D%5D]]"},"$:/plugins/kookma/commander/help/uicomp/regular-expression":{"title":"$:/plugins/kookma/commander/help/uicomp/regular-expression","caption":"Regular expressions","created":"20190314084511720","list-after":"$:/plugins/kookma/commander/help/uicomp/snr","modified":"20190728184415204","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"!! Regular Expressions Quick Reference\n\n|''FLAGS'' |<|<|h\n| i |ignore case|case insensitive matching|\n| |whole words|match strings of a-z, 0-9 and _|\n| g |global|field start=^, field end=$, all matches|\n| m |multi-line|line start=^, line end=$, first match|\n| |first match|field start=^, field end=$, first match|\n|''MATCH'' |<|<|h\n|''Anchors''|<|<|\n| ^ |start of scope|see Flags, match is zero length|\n| $ |end of scope|see Flags, match is zero length|\n| \\b |word boundary|anchor to edge of word, zero length|\n| \\B |not word boundary|anchor inside word, zero length|\n|''Character Classes''|<|<|\n| [c] |class of characters|any one matches, e.g. [abc123]|\n| [^c] |negated class of characters|any one doesn't match, e.g. [^abc123]|\n|''Shorthand Character Classes''|<|<|\n| . |any character except newline|same as [^\\n]|\n| \\d |decimal|same as [0-9]|\n| \\D |not decimal|same as [^0-9]|\n| \\s |white-space|same as [\\ \\t\\n]|\n| \\S |not white-space|same as [^\\ \\t\\n]|\n| \\t |tab|same as [\\t]|\n| \\n |newline|same as [\\n]|\n| \\w |word character|same as [a-zA-Z0-9_]|\n| \\W |not word character|same as [^a-zA-Z0-9_]|\n|''Capturing Groups''|<|<|\n| (match) |match placed in variable $x|can be used in Replace|\n| (\\x) |repeats match pattern of $x|can be used in Replace|\n|''Quantifiers''|<|<|\n| ? |single match|match 0 or 1 time|\n| * |greedy match 0+|match 0 or as many times as possible|\n| *? |lazy match 0+|match 0 or as few times as possible|\n| + |greedy match 1+|match 1 or as many times as possible|\n| +? |lazy match 1+|match 1 or as few times as possible|\n| {x} |match x times|match x times|\n| {x,y} |match x to y times|match x times to exactly y times|\n| {x,} |match x or more times|match x times or as many as possible|\n|''Escapes''|<|<|\n| \\ |escape special characters|add to \\ [ ] ( ) { } ^ $ . ? * + for literals|\n|''REPLACE'' |<|<|h\n| $& |return the full match|<|\n| $x |return $x where x is the numeric index of a Capturing Group|<|\n|''NOTE'' |<|<|h\n|This Reference supports most ordinary uses of regular expressions.<br> For advanced options: [[MDN Reference|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_simple_patterns]]; examples: [[regular-expressions.info|https://www.regular-expressions.info/tutorial.html]].|<|<|\n\n"},"$:/plugins/kookma/commander/help/uicomp/relink":{"title":"$:/plugins/kookma/commander/help/uicomp/relink","caption":"Relink on rename","created":"20190912052826269","list-after":"$:/plugins/kookma/commander/help/uicomp/batch-operation","modified":"20190912054714735","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"!! Relink on rename\n<<<\nWhen Tiddler Commander is used to rename bulk tiddlers in operation like\n\n* Title operation\n** add/remove prefix\n** add/remove suffix\n** remove chars from the begining or end of title\n* ~SnR\n** Search and replace in tiddlers title\n\nIt is possible to update all links to title. This includes //tags// and //list//. If [[Relink|https://flibbles.github.io/tw5-relink/]] plugin is installed, then not only title will be updated in //tags// and //list// fields but also in all filters, transclusions, text field and evrywhere.\n<<<\n\n!! How to integrate with //Relink//?\n<<<\nSimply install the [[Relink|https://flibbles.github.io/tw5-relink/]] plugin and it will be appeared as an option when Tiddler Commander title operations including SnR are performed!\n<<<"},"$:/plugins/kookma/commander/help/uicomp/snr":{"title":"$:/plugins/kookma/commander/help/uicomp/snr","caption":"Search-n-Replace","created":"20190307104654008","list-after":"$:/plugins/kookma/commander/help/uicomp/relink","modified":"20190912053039887","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"!! Search and replace using Snr\n<<<\n* Enter a search filter in ''Filter search'' box like `[tag[myTag]]`\n* Use ''Select tiddlers'' for the resulting list to identify which specific tiddlers to do a Snr operation on\n* From ''Tiddler title'' drop down menu select a tiddler\n* From ''Field name'' drop down menu select a tiddler field like `text`\n** all fileds even `title` can be selected\n* In the ''Search text'' type the search term for example `this`\n* In the ''Replace with'' type the term you want to replace with like `that`\n* Check the ''Differences'' and if you are satisfied with the result, press the `Replace?` button\n* You can press `Replace all?` if you want to search and replace in all selected tiddlers\n\n<<commander-alert \"\"\"''Important'': The `Replace all?` lets you to search and replace in all selected tiddlers at once! It is possible to Snr in `title` filed!\"\"\">>\n<<<\n\n\n!! Special characters\n<<<\nAs `SNR` uses ''regexp'' pattern to make search and replace, when special characters are used in the ''Search text'' box, they shall be escaped among them are `*`, `+`, `[]`, `?` ...\nTo use these characters do like below\n\n```\n\\[ \\] \\( \\) \\{ \\} \\. \\* \\+ \\? \\^ \\$ \\\\ \\|\n```\n<<<\n\n!! Warning\n<<<\n* SNR replace the contents of tiddlers.<br> ''//The action can not be undone//''. So always make a backup before performing any replace action\n<<<"},"$:/plugins/kookma/commander/help/uicomp/warning":{"title":"$:/plugins/kookma/commander/help/uicomp/warning","caption":"Warning","created":"20190314050138754","list-after":"$:/plugins/kookma/commander/help/uicomp/regular-expression","modified":"20190728184415199","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":";Note i\n:Tiddler Commander is a very powerful tool, it can change any field in any tiddler.// Make sure what you are doing//!\n\n;Note ii\n:Tiddler Commander uses two steps tiddler selection. It uses a search box to filter possible tiddlers and then uses a selective list of fitered tiddlers for batch operation!\n\n;Note iii\n://Commander do not perform operation on shadow tiddlers//, unless they are overriden. Because shadow tiddlers aren’t stored as ''real'' tiddlers. They are intentionally excluded from most operations by default so that they don’t clutter filters made by users unless explicitly required. \n\n<<commander-alert \"\"\"''Warning''\nBefore using Tiddler commander on your own valuable, irreplaceable data, ''backup them''.\n\"\"\">>\n\n"},"$:/plugins/kookma/commander/help/uicomp/what-is-commander":{"title":"$:/plugins/kookma/commander/help/uicomp/what-is-commander","caption":"What is Commander","created":"20190314134238047","modified":"20190912055247384","tags":"$:/tags/Commander/Help","type":"text/vnd.tiddlywiki","text":"!! What is Tiddler Commander?\n\nTiddler Commander, in short ''Commander'' is a unique tool for batch operations on tiddlers. Commander has the below features\n\n* Bulk tiddler creation/deletion\n* Title operation: add, remove prefixes and suffixes, also remove cahras form begining and end of title (on renaming tiddlers, [[relink|$:/plugins/kookma/commander/help/uicomp/relink]] can be used to update title in other tiddlers)\n* Tag operation: add, remove, replace\n* Field operation: add, remove, set field value\n* ''~SnR'', search and replace in all fields including text, tags, //title//, and common fields\n* ''Inspect'', to review and inspect tiddlers in one place, scroll among them and edit all fields (including common fields), tags, text (title is an exception!)\n* Log, create logs of all operations\n* Search, //save and load// any combination of filter search\n\n<<commander-alert \"''Note'': //Commander will not work on shadow tiddlers//, unless they are overriden! Because shadow tiddlers aren’t stored as ''real'' tiddlers. They are intentionally excluded from most operations by default so that they don’t clutter filters made by users unless explicitly required.\">>"},"$:/plugins/kookma/commander/history":{"title":"$:/plugins/kookma/commander/history","created":"20190629100628757","modified":"20190912055342073","tags":"","type":"text/vnd.tiddlywiki","text":"!! 1.3.0 -- integration with relink plugin\n<<<\n; 12th September, 2019\n* [NEW] all renaming tiddlers operation supports update titles in //list//, //tags//\n* [NEW] if [[relink|https://flibbles.github.io/tw5-relink/]] is installed Commander will use it to update tile in all tiddlers fields, links, transclusions, filters.\n* [FIXED] Help was improved to address relinking\n<<<\n\n!! 1.2.4 -- new rename method\n<<<\n; 7th September, 2019\n* [NEW] use `tm-rename-tiddler` for handling tiddler renaming\n<<<\n\n!! 1.2.3 -- issues fixed\n<<<\n; 16th August 2019\n* [FIXED] the description for button under Tools sidebar menu\n<<<\n\n!! 1.2.2 -- issues fixed\n<<<\n; 31st July 2019\n* [FIXED] the tag operation issue has beed fixed\n* [FIXED] filters for replace tag, add-remove tag have been updated. Instead of `[<__oldTag__>tagging]]` the new `tag<__oldTag__>` has been used. Seems there is bugs with old filter.\n<<<\n\n!! 1.2.1 -- issues fixed\n<<<\n; 27th July 2019\n* [FIXED] minore issue in set field value\n<<<\n\n!! 1.2.0 -- new release\n<<<\n; 24th July 2019\n* [NEW] button added to page control\n* [NEW] add new filter for delete TEMP and STATE\n* [FIXED] theorder of tabs in Commander ui\n* [FIXED] the creator name from templates used for creation of new tiddlers are removed\n* [FIXED] correct search UI buttons order\n* [FIXED] improved documentation, new sections have been added\n* [FIXED] the tab colors removed\n<<<\n\n!! 1.1.2 -- final release\n<<<\n; 29th June 2019\n* [FIXED] add license, readme, history\n* [FIXED] add $:/Commander to list of plugin tiddlers\n<<<\n\n!! 1.1.1 -- release candidate\n<<<\n; 5th April 2019\n* [FIXED] All `!important` from css have been removed. \n* [FIXED] New css prefix is used for all css. This is `cmd-` stands for commander\n* [FIXED]: Help tab extended to cover this partially\n* [NEW] SNR, replace all button has got confirmation! before action you need to confirm replace all.\n* [NEW] The component compConfirmDelete renamed to compConfirmAction to cope with more use cases!\n<<<\n\n\n!! 31st March 2019\n<<<\n; Big change: Tiddler Commander development moved to ~ThirdFlow\n# NEW: Under Thirdflow, a realease and a demo is created on each update\n# NEW: Release number is now started from 1.0.0 as this is a stable plugin\n# FIXED: Based on Mario comments the CSS prefixes changed to cmd- to prevent conflict with the current prefixes\n<<<\n\n!! 24th March 2019\n<<<\n* New: Difftetx cleanup setting added. Now it is possible to select among //none//, //semantic// and //efficient// optional post-processing should be applied to the diffs processing.\n* Added: Help on shadow tiddlers processing\n* Fixed: Minor issues fixed\n<<<\n\n!! 17th March 2019\n<<<\n; Commander 0.0.14\n* New button style\n** all components were also updated\n* Change the range in create tiddlers from 1:1:19, 20:5:50, and 50:100\n<<<\n\n!! 14th March 2019\n<<<\n<<commander-alert \"\"\"\n''Critical change'': Tiddler Commander search now needs two steps\n\n* Enter a filter expression in the filter search box\n* Click the search icon right of search box to apply the search criteria to enable Commander batch operation^^1^^\n\"\"\">>\n* FIXED: Search and Select tiddlers now are seated together\n* NEW: numberof tiddlers matches and selected are shown\n* New: Help tab was added\n* New: Clear search box will clear selected selections\n* New: Select none in `Select tiddlers` will clear selected tiddlers\n\n<small>\n\n# The reason is, when filter search is changed, the selected tiddlers are still there! So, it needs to clear the previous selection on new search criteria!\n</small>\n<<<\n\n!! 13th March 2019\n<<<\n* New : Inspect\n** View selected tiddler with their fileds\n** Scroll in selected tiddlers\n** Edit selected tiddlers including all fields\n** Scroll in selected tiddlers while editing\n\nAcknowledgement:\nSpecial thanks goes to ''Ton Gerner'' for his great script on view fileds.\n<<<\n\n!! 8th March 2019\n<<<\n* New search-n-replace (SNR) added\n* SNR can search and replace not only in a single tiddler but also in bulk of tiddlers\n* Several issues fixed\n* Logging is active for all operatiosn\n<<<\n\n!! 3rd March 2019\n<<<\n* New: selective operation\n** select all/ select none/ optionally select tiddlers\n* New: logging all operations\n* New: delete temporary tiddlers button added to Setting tab\n* New: old fields, old tags are selected from a drop down list\n\n* Text operation disabled and will be added in the next update. It is still buggy\n<<<\n\n!! 28th February 2019\n<<<\n*NEW- create bulk tiddlers and bulk tiddlers with template has been merged in one tab\n<<<\n\n!! 24th February 2019\n<<<\n* Search and replace \n** works for changing characters, words, ...\n** retains formatting\n** cannot distiguish whole words (you need to add spaces around the word)\n\nMany thanks to BTC for his great help in this part.\n<<<\n\n\n!! 22nd February 2019\n<<<\n* Logging\n** Commander logs some operations\n*** Create tiddlers\n*** Create tiddlers using template\n*** Delete tiddlers silently\n*** Delet tiddlers selectively\n\n\n* New face\n** Delete tiddlers selectively has a new face\n** search and replace in tiddler text now supports whole word searching\n\n* Main issues\n** Search and replace in tiddlers remove formatting \n<<<\n\n\n!! 21st February 2019\n<<<\n* Search and replcae in tiddler text filed\n** This is in progress feature\n** This does not support the whole words, casesensitive search and replace\n<<<\n\n!! 18th February 2019\n<<<\n* Fixed: handling missing tiddlers added\n* New: remove chars from the title was added\n* Fixed: a specified height is used in ui to prevent collapsing\n<<<\n\n!! 14th February 2019\n<<<\n* New: bulk tiddler creation using templates\n* New: remove fields using drop down menu\n* New: preset search filter added\n* New: save search filter added\n* Fixed: empty suffix/prefix does not delete tiddlers anymore\n* Fixed: prevent all overwrittings (issue: you cannot force overwriting)\n<<<\n\n!! 13th February 2019\n<<<\n* Fixed: remove suffix not working\n* New: bulk tiddler created has got new name format\n* New: added range and select widgets for \"create bulk tiddlers\"\n* New: added delete tiddlers at once operation\n<<<\n\n!! 12th February 2019\n<<<\n* Title operation\n** add/remove prefix\n** add/remove suffix\n\n* Tag operation\n** add/remove tags\n** replace tags\n\n* Field operation\n** add/remove field\n** set filed value (will create field if not existed!)\n\n* Tids (Tiddler operation)\n** delete tiddlers\n** create bulk tiddlers\n<<<\n"},"$:/plugins/kookma/commander/images/file-alt":{"title":"$:/plugins/kookma/commander/images/file-alt","caption":"file-alt (Regular)","created":"20190724144859943","modified":"20190728184415191","type":"text/vnd.tiddlywiki","text":"<svg class=\"tc-image-file-alt tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 384 512\"><path d=\"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"/></svg>"},"$:/plugins/kookma/commander/inspect/ui":{"title":"$:/plugins/kookma/commander/inspect/ui","caption":"Inspect","created":"20190313075823496","list-after":"$:/plugins/kookma/commander/snr/ui","modified":"20190728184415188","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/InspectOps]!has[draft.of]]\" \ndefault:\"$:/plugins/kookma/commander/inspect/uicomp/Inspection\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n"},"$:/plugins/kookma/commander/inspect/uicomp/Inspection":{"title":"$:/plugins/kookma/commander/inspect/uicomp/Inspection","caption":"Inspect","created":"20190313080119081","modified":"20190728184415183","tags":"$:/tags/Commander/InspectOps","type":"text/vnd.tiddlywiki","text":"<$macrocall \n $name=compInspect\n filter=\"[[$:/temp/commander/selected-titles]indexes[]sort[]]\"\n stateTiddler=\"temp/commander\"\n/>"},"$:/plugins/kookma/commander/license":{"title":"$:/plugins/kookma/commander/license","created":"20181101134530634","modified":"20190728184415181","tags":"","type":"application/x-tiddler","text":"Distributed under an MIT license.\n\nCopyright (c) 2018-2019 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<\n"},"$:/plugins/kookma/commander/log/ui":{"title":"$:/plugins/kookma/commander/log/ui","caption":"Log status","created":"20190221152805807","modified":"20190728184415178","tags":"","type":"text/vnd.tiddlywiki","text":"<div class=\"alert-info\" style=\"padding:5px;font-size:0.90em;\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" actions=<<delete-all-log-tiddlers>>>Clear log</$button>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[tag[$:/tags/Commander/LogOps]]\" />\"\"\">\n<div class=\"tc-search-results\">\n<span style=\"font-style:italic; font-size:small;\">Recent number of operations: <<resultCount>></span><br>\n<$list filter=\"[tag[$:/tags/Commander/LogOps]] +[!sort[created]]\" variable=\"logTid\">\n<b><$view tiddler=<<logTid>> field=\"created\" format=\"date\" template=\"YYYY-0MM-0DD 0hh:0mm:0ss\"/> \n<$view tiddler=<<logTid>> field=\"caption\">\n <$view tiddler=<<logTid>> field=\"title\"></$view>\n</$view>\n</b>\n<ol><$list filter=\"[<logTid>indexes[]]\" variable=\"item\">\n<li><$link to=<<item>>><<item>></$link>\n<$set name=\"myItem\" tiddler=<<logTid>> index=<<item>> >\n<$list filter=\"[<myItem>!search[existed]]\" variable=\"ignore\" \n emptyMessage=\"\"\"<span style=\"color:red;\"><<myItem>></span>\"\"\" >\n<span style=\"color:green;\"><<myItem>></span>\n</$list>\n</$set>\n</li>\n</$list></ol>\n</$list>\n</div>\n</$set>\n</div>"},"$:/plugins/kookma/commander/macros/alert":{"title":"$:/plugins/kookma/commander/macros/alert","created":"20190725162129554","modified":"20190728184415175","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define commander-alert(text:\"\", width:\"100%\")\n<div class=\"commander-alert\" style=\"width:$width$;\">\n$text$\n</div>\n\\end"},"$:/plugins/kookma/commander/macros/compConfirmAction":{"title":"$:/plugins/kookma/commander/macros/compConfirmAction","created":"20190301145916990","modified":"20190728184415387","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compConfirmAction(\nbtnLabel:\"Delete these tiddlers\", \nconfirmMessage:\"Are you sure you wish to delete\", \nstateTiddler:\"\"\ncountFilter:\"\", \nactionMacro:\"\")\n<$set name=resultCount value={{{ [subfilter<__countFilter__>count[]] }}} >\n<$reveal type=\"gt\" text=\"0\" default=<<resultCount>> >\n<$button popup=<<qualify \"\"\"$stateTiddler$\"\"\">> class=\"cmd-btn\">$btnLabel$</$button>\n</$reveal>\n<$reveal state=<<qualify \"\"\"$stateTiddler$\"\"\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n$confirmMessage$ <<resultCount>> tiddler(s)?\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"cmd-btn\"> $btnLabel$\n<$macrocall $name=<<__actionMacro__>> />\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end"},"$:/plugins/kookma/commander/macros/compSelect":{"title":"$:/plugins/kookma/commander/macros/compSelect","created":"20190308070713468","modified":"20190728184415385","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compSelect(filter:\"\", stateTiddler:\"\", default:\"\", class:\"\", showButtons:\"show\")\n<$select tiddler=<<__stateTiddler__>> default=<<__default__>> class=<<__class__>> >\n<option value=\"\">None</option>\n<$list filter=<<__filter__>> variable=item>\n<option value=<<item>>><$text text=<<item>> /></option>\n</$list>\n</$select>\n<$reveal type=\"match\" text=\"show\" default=<<__showButtons__>> >\n<$vars myfilter=<<__filter__>> mystateTiddler=<<__stateTiddler__>> myitem={{{ [<__stateTiddler__>get[text]] }}} >\n<$button actions=<<cs-prev-item>> class=\"cmd-btn\"> prev </$button>\n<$button actions=<<cs-next-item>> class=\"cmd-btn\"> next </$button>\n</$vars>\n</$reveal>\n\\end\n\n\\define cs-prev-item()\n<$list filter=\"[subfilter<myfilter>] +[before<myitem>]\" variable=\"prev-item\" >\n<$action-setfield $tiddler=<<mystateTiddler>> text=<<prev-item>> />\n</$list>\n\\end\n\n\\define cs-next-item()\n<$list filter=\"[subfilter<myfilter>] +[after<myitem>]\" variable=\"next-item\" >\n<$action-setfield $tiddler=<<mystateTiddler>> text=<<next-item>> />\n</$list>\n\\end"},"$:/plugins/kookma/commander/macros/compSelective":{"title":"$:/plugins/kookma/commander/macros/compSelective","created":"20190301133121124","modified":"20190728184415383","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define compSelective(filter,tiddler)\n<$vars stateTid=<<state-tiddler-title \"\"\"$tiddler$\"\"\">> >\n<$reveal type=\"nomatch\" state=<<stateTid>> text=\"hide\">\n<$button set=<<stateTid>> setTo=\"hide\"> Select all\n<$action-setfield $tiddler=<<__tiddler__>> $field=\"text\" $value=\"{}\"/>\n<$list filter=<<__filter__>> variable=\"Item\">\n<$action-setfield $tiddler=<<__tiddler__>> $index=<<Item>> $value=\"selected\"/>\n</$list>\n</$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTid>> text=\"hide\">\n<$button set=<<stateTid>> setTo=\"show\"> Select none\n<$action-setfield $tiddler=<<__tiddler__>> $field=\"text\" $value=\"{}\"/>\n<!-- Clear SNR selection -->\n<$action-setfield $tiddler=\"$:/state/commander/snr/select-tiddler\" $field=\"text\" $value=\"\"/>\n<!-- Clear Inspect selection -->\n<$action-setfield $tiddler=\"$:/state/compInspect/temp/commander/selectState-tiddler\" $field=\"text\" $value=\"\"/>\n</$button>\n</$reveal>\n</$vars>\n<br>\n<i><$count filter=\"[<__tiddler__>indexes[]]\" /> selected</i> <$macrocall $name=\"display\" label=\"Show filter in use\" text={{$:/temp/commander}} />\n<br>\n<$list filter=\"[subfilter<__filter__>] +[sort[title]]\" variable=\"Item\">\n<$checkbox tiddler=<<__tiddler__>> index=<<Item>> checked=\"selected\"> <$link to=<<Item>>><$text text=<<Item>> /></$link></$checkbox><br>\n</$list>\n\n\n\\end\n\n\\define state-tiddler-title(tiddler) $tiddler$-comp-selective\n\n\\define compSelective-reset(filter, tiddler)\n<$action-setfield $tiddler=<<__tiddler__>> $field=\"text\" $value=\"{}\"/>\n<$action-setfield $tiddler=<<state-tiddler-title \"\"\"$tiddler$\"\"\">> $field=\"text\" $value=\"\"/>\n\\end"},"$:/plugins/kookma/commander/macros/filters":{"title":"$:/plugins/kookma/commander/macros/filters","created":"20190214142032323","modified":"20190728184415380","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define create-new-filter(description:\"Empty\")\n<$list filter=\"[<__description__>] -Empty\" variable=\"ignore\">\n<$action-createtiddler \n $basetitle=\"$:/plugins/kookma/commander/filters/yourFilter\"\n tags=\"$:/tags/Commander/Filter\"\n description=<<__description__>>\n filter={{$:/temp/commander/search-box}}\n /> \n</$list>\n\\end\n"},"$:/plugins/kookma/commander/macros/logging":{"title":"$:/plugins/kookma/commander/macros/logging","created":"20190221163406469","modified":"20190728184415378","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define set-title() $:/temp/commander/logs/tid-{{{[tag[$:/tags/Commander/LogOps]count[]add[1]]}}}\n\n\\define create-log-tiddler(msg)\n<$wikify name=\"myTitle\" text=\"\"\"<<set-title>>\"\"\">\n<$wikify name=\"myCaption\" text=\"\"\"<$macrocall $name=\"set-caption\" msg=<<__msg__>> />\"\"\">\n<$action-createtiddler $basetitle=<<myTitle>>\n$savetitle=\"$:/state/commander/log-tiddler\"\ntags=\"$:/tags/Commander/LogOps\"\ntype=\"application/json\"\ncaption=<<__msg__>>\n/>\n</$wikify>\n</$wikify>\n\\end\n\n\\define log-add-single-operation(msg:\"commander operation\", tidItem:\"no item\")\n<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=<<__tidItem__>> $value=\"\"\"$msg$\"\"\" />\n\\end\n\n\n\\define delete-all-log-tiddlers()\n<$action-deletetiddler $filter=\"[tag[$:/tags/Commander/LogOps]]\" />\n\\end"},"$:/plugins/kookma/commander/macros/selection":{"title":"$:/plugins/kookma/commander/macros/selection","created":"20190303055230230","modified":"20190728184415375","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define title-selection-reset()\n<$macrocall $name=\"compSelective-reset\" \ntiddler=\"$:/temp/commander/selected-titles\" \nfilter=\"[subfilter{$:/temp/commander}] +[!is[missing]]\" />\n\\end"},"$:/plugins/kookma/commander/macros/slider":{"title":"$:/plugins/kookma/commander/macros/slider","created":"20190212061854110","modified":"20190728184415373","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define commander-slider(title)\r\n<$set name=\"revealState\" value=<<qualify \"$:/state/reveal/$title$\">>>\r\n<h2>\r\n <$reveal type=\"nomatch\" state=<<revealState>> text=\"yes\">\r\n <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"yes\">\r\n {{$:/core/images/right-arrow}}\r\n </$button>\r\n </$reveal>\r\n <$reveal type=\"match\" state=<<revealState>> text=\"yes\">\r\n <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"no\">\r\n {{$:/core/images/down-arrow}}\r\n </$button>\r\n </$reveal>\r\n <$view tiddler=\"$title$\" field=\"caption\">\r\n <$view tiddler=\"$title$\" field=\"title\"></$view>\r\n </$view>\r\n \r\n</h2>\n\n<$reveal type=\"match\" state=<<revealState>> text=\"yes\">\r\n<$transclude tiddler=\"$title$\" mode=\"block\" />\r\n</$reveal>\r\n</$set>\r\n\\end"},"$:/plugins/kookma/commander/macros/utility":{"title":"$:/plugins/kookma/commander/macros/utility","created":"20190315092752816","modified":"20190728184415371","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define display(label,text)\n<$set name=\"stateTid\" value=\"$:/temp/commander/display/popup/$label$\" >\n<$button popup=<<stateTid>> class=\"tc-btn-invisible\"><span style=\"text-decoration: underline\">$label$</span></$button>\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<stateTid>> animate=\"yes\">\n<span style=\"color:blue;\"><$text text=<<__text__>> /></span></$reveal>\n</$set>\n\\end\n\n\\define is-filterSeearch-newer-than-selectedTitles(TidA, TidB)\n<$set name=\"tidAMod\" value={{{ [[$TidA$]get[modified]] }}}>\n<$set name=\"tidBMod\" value={{{ [[$TidB$]get[modified]] }}}>\n<$set name=\"tidAText\" value={{{ [[$TidA$]get[text]] }}}>\n<$set name=\"tidBText\" value={{{ [[$TidB$]get[text]] }}}>\n<$list filter=\"[<__TidB__>get[text]minlength[1]]\" variable=ignore>\n<$reveal type=\"nomatch\" default=<<tidAText>> text=<<tidBText>>>\n<$list filter=\"[<tidAMod>] [<tidBMod>] +[nsort[]last[1]removesuffix<tidBMod>]\">\nA new filter search has been detected, click on the search button to apply it.\n</$list>\n</$reveal>\n</$list>\n</$set>\n</$set>\n</$set>\n</$set>\n\\end\n\n!!Remarks\n;is-filterSeearch-newer-than-selectedTitles\n* Checks `TidA` and `TidB` for modified date and text\n* If They are not empty, then\n** checks if the text of two are equal, if not\n** checks to see if `TidB` is newer or not\n** if newer shows a message, to apply the new search filter\n* Note\n** `TidA=\"$:/temp/commander\"`\n** `TidB=\"$:/temp/commander/search-box\"`\n* is-filterSeearch-newer-than-selectedTitles is called from $:/plugins/kookma/commander/ui/search\n\n;display\n* gets a label and a text\n* create an inline label\n* on click label, the text is displayed as temporary popup\n* losing focus, the text goes hidden\n* this macro is used in customized compSelective to show the active filter"},"$:/plugins/kookma/commander/readme":{"title":"$:/plugins/kookma/commander/readme","created":"20190212050942506","modified":"20190912052718053","tags":"","type":"text/vnd.tiddlywiki","text":"For help and instruction on usage, open [[Commander|$:/plugins/kookma/commander/help/ui]] help tab.\n\n!! References\n; Project code and demo\n* [[GitHub demo page|https://github.com/kookma/TW-Commander]] (does not work)\n* [[Tiddlyspot demo page|http://commander.tiddlyspot.com/]]\n* [[GitHub code page|https://github.com/kookma/TW-Commander]]\n\n;Tiddler Commander at Tiddlywiki Google forum\n* [[Initial announcement|https://groups.google.com/d/msg/tiddlywiki/BxJsWuae-Uc/JapAx4mtBgAJ]]\n* [[Beta releases|https://groups.google.com/d/msg/tiddlywiki/w9Bv-WulKw8/CYf9D4H6BgAJ]]\n* [[Release candidate|https://groups.google.com/d/msg/tiddlywiki/Zw3F3iRtggA/qX2uWiBJBgAJ]]"},"$:/plugins/kookma/commander/search/filter-button/clear":{"title":"$:/plugins/kookma/commander/search/filter-button/clear","created":"20190214132946159","list-after":"$:/plugins/kookma/commander/search/filter-button/search","modified":"20190728184415366","tags":"$:/tags/Commander/Search/FilterButton","type":"text/vnd.tiddlywiki","text":"<$reveal state=\"$:/temp/commander/search-box\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" tooltip=\"clear search box and selected tiddlers\">\n<$action-setfield $tiddler=\"$:/temp/commander/search-box\" $field=\"text\" $value=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/commander\" $field=\"text\" $value=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/commander/selected-titles\" $field=\"text\" $value=\"{}\"/>\n<$action-setfield $tiddler=\"$:/state/commander/snr/select-tiddler\" $field=\"text\" $value=\"\"/><!-- SNR selection -->\n<$action-setfield $tiddler=\"$:/state/compInspect/temp/commander/selectState-tiddler\" $field=\"text\" $value=\"\"/> <!-- Inspect selection -->\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>"},"$:/plugins/kookma/commander/search/filter-button/dropdown":{"title":"$:/plugins/kookma/commander/search/filter-button/dropdown","created":"20190214133424013","modified":"20190728184415364","tags":"$:/tags/Commander/Search/FilterButton","type":"text/vnd.tiddlywiki","text":"<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/commander/filterDropdown\">> class=\"tc-btn-invisible\" tooltip=\"select a search filter\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/commander/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=\"$:/temp/commander/search-box\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Commander/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"},"$:/plugins/kookma/commander/search/filter-button/save":{"title":"$:/plugins/kookma/commander/search/filter-button/save","created":"20190214141644228","list-after":"$:/plugins/kookma/commander/search/filter-button/clear","modified":"20190728184415362","tags":"$:/tags/Commander/Search/FilterButton","type":"text/vnd.tiddlywiki","text":"<$reveal state=\"$:/temp/commander/search-box\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" tooltip=\"save current search\" popup=<<qualify \"$:/state/commander/SaveDropdown\">> >\n{{$:/core/images/file}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/commander/SaveDropdown\">> type=\"popup\" class=\"tc-popup-keep\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\nSave new search filter<br><br>\n<$edit-text\ntiddler=\"$:/temp/commander/save-new-filter\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\"description for new filter\"\n/> \n\n<$button class=\"tc-btn\"> Save new filter\n<$macrocall $name=\"create-new-filter\" description={{$:/temp/commander/save-new-filter}} />\n<$action-deletetiddler $tiddler=\"$:/temp/commander/save-new-filter\"/>\n</$button>\n</div>\n</div>\n</$reveal>"},"$:/plugins/kookma/commander/search/filter-button/search":{"title":"$:/plugins/kookma/commander/search/filter-button/search","created":"20190314111817036","list-after":"$:/plugins/kookma/commander/search/filter-button/dropdown","modified":"20190728184415359","tags":"$:/tags/Commander/Search/FilterButton","type":"text/vnd.tiddlywiki","text":"<$reveal state=\"$:/temp/commander/search-box\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" tooltip=\"apply filter search\">\n<$action-setfield $tiddler=\"$:/temp/commander\" $field=\"text\" $value={{$:/temp/commander/search-box}} />\n<$action-setfield $tiddler=\"$:/temp/commander/selected-titles\" $field=\"text\" $value=\"{}\"/>\n<$action-setfield $tiddler=<<state-tiddler-title \"$:/temp/commander/selected-titles\">> $field=\"text\" $value=\"\" />\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>"},"$:/plugins/kookma/commander/search/selection":{"title":"$:/plugins/kookma/commander/search/selection","caption":"Select tiddlers","created":"20190725144912018","modified":"20190728184415357","tags":"","type":"text/vnd.tiddlywiki","text":"<div style=\"font-size:small; border-left:0.5px dotted grey;padding-left:10px;\">\n<$list filter=\"[subfilter{$:/temp/commander}] +[!is[missing]] +[limit[1]]\" variable=\"null\">\n<$macrocall $name=compSelective\nfilter=\"[subfilter{$:/temp/commander}] +[!is[missing]]\"\ntiddler=\"$:/temp/commander/selected-titles\"\n/>\n</$list>\n</div>\n\n"},"$:/plugins/kookma/commander/search/ui":{"title":"$:/plugins/kookma/commander/search/ui","caption":"Commander filter search","created":"20190212055219117","modified":"20190728184415354","tags":"","type":"text/vnd.tiddlywiki","text":"<div class=\"tc-search tc-advanced-search\">\nSearch via filter <$edit-text tiddler=\"$:/temp/commander/search-box\" type=\"search\" tag=\"input\" default=\"\" placeholder=\"filter search e.g. [tag[myTag]]\" focus={{$:/plugins/kookma/commander/config/AutoFocus}}/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Commander/Search/FilterButton]]\">\n<$transclude/>\n</$list>\n<br>\n<small style=\"margin-left:17ch;\"><i><$count filter=\"[subfilter{$:/temp/commander/search-box}has[title]]\"/> matches \n<span style=\"color:red;\">\n<$macrocall $name=is-filterSeearch-newer-than-selectedTitles\nTidB=\"$:/temp/commander/search-box\"\nTidA=\"$:/temp/commander\"/></span>\n</i></small>\n</div>\n"},"$:/plugins/kookma/commander/setting/ui":{"title":"$:/plugins/kookma/commander/setting/ui","caption":"Setting","created":"20190214140835173","icon":"$:/core/images/options-button","list-after":"$:/plugins/kookma/commander/inspect/ui","modified":"20190728184415351","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/Setting]!has[draft.of]]\" \ndefault:\"$:/plugins/kookma/commander/setting/uicomp/snr\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n"},"$:/plugins/kookma/commander/setting/uicomp/delete-all-temp-tiddlers":{"title":"$:/plugins/kookma/commander/setting/uicomp/delete-all-temp-tiddlers","caption":"Temporary tiddlers","created":"20190301184304348","list-after":"$:/plugins/kookma/commander/setting/uicomp/relink","modified":"20190911142709736","tags":"$:/tags/Commander/Setting","type":"text/vnd.tiddlywiki","text":"\\define delete-all-temps()\n<$action-deletetiddler $filter=\"[search:title[$:/temp/commander/]]\" />\n\\end\n\n<$set name=numTids value={{{ [search:title[$:/temp/commander/]count[]] }}}>\n<$reveal type=\"match\" text=\"0\" default=<<numTids>> >\nNo temporary tiddlers is existed to delete!\n</$reveal>\n<$reveal type=\"gt\" text=\"0\" default=<<numTids>> >\nNumber of temporary tiddlers (including log tiddlers): <<numTids>><br>\n</$reveal>\n</$set>\n\n<$macrocall $name=\"compConfirmAction\"\nbtnLabel=\"Delete temp tiddlers\" \nconfirmMessage=\"Are you sure you wish to delete\"\nstateTiddler=\"$:/state/commander/setting/delete-temps\"\ncountFilter=\"[search:title[$:/temp/commander/]]\"\nactionMacro=\"delete-all-temps\"/>"},"$:/plugins/kookma/commander/setting/uicomp/snr":{"title":"$:/plugins/kookma/commander/setting/uicomp/snr","caption":"Snr setting","created":"20190324051157188","modified":"20190728184415347","tags":"$:/tags/Commander/Setting","type":"text/vnd.tiddlywiki","text":"<<snr-difftext-cleanup>>\n<div style=\"padding-left:25px;font-size:0.9em\">\n\nThe cleanup attribute determines which optional post-processing should be applied to the diffs:\n\n* none: no cleanup is performed\n* semantic (default): rewrites the diffs for human readability\n* efficient: rewrites the diffs to minimise the number of operations for subsequent processing\n</div>"},"$:/plugins/kookma/commander/snr/macros/actions":{"title":"$:/plugins/kookma/commander/snr/macros/actions","created":"20190307164924193","modified":"20190728184415345","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define regexp-flags()\n{{$:/state/commander/snr/gm}}{{$:/state/commander/snr/case-sensitive}}\n\\end\n\n\\define snr-ui-show-diffs()\n<form class=\"cmd-snr-form\" style=\"width:100%;\">\n <fieldset>\n <legend style=\"color:#FF0000;\">Differences</legend>\nTiddler: <$link to={{$:/state/commander/snr/select-tiddler}}><$text text={{$:/state/commander/snr/select-tiddler}}/></$link>\n\n<$wikify name=flags text=<<regexp-flags>> >\n\n<$macrocall $name=\"replace-text-diff\" \n tiddler={{$:/state/commander/snr/select-tiddler}} \n field={{$:/state/commander/snr/select-tiddler/field}} \n replace={{$:/state/commander/snr/replace-text}} \n replaceWith={{$:/state/commander/snr/replace-text-with}} \n flags=<<flags>> \n wholeWords={{$:/state/commander/snr/whole-words}}\n/>\n\n</$wikify>\n</fieldset>\n</form>\n\\end\n\n\\define snr-check-diffs(tiddler:\"\", field:\"\")\n\\whitespace trim\n<$wikify name=flags text=<<regexp-flags>> >\n<$wikify name=\"result\" text=\"\"\"\n<$macrocall $name=\"replace-text\" \n tiddler=<<__tiddler__>>\n field=<<__field__>>\n replace={{$:/state/commander/snr/replace-text}} \n replaceWith={{$:/state/commander/snr/replace-text-with}} \n flags=<<flags>> \n wholeWords={{$:/state/commander/snr/whole-words}}\n/>\"\"\">\n<$reveal type=\"match\" text={{{ [<__tiddler__>get<__field__>] }}} default=<<result>> >\nsame\n</$reveal>\n<$reveal type=\"nomatch\" text={{{ [<__tiddler__>get<__field__>] }}} default=<<result>> >\ndifferent\n</$reveal>\n</$wikify>\n</$wikify>\n\\end\n\n\\define search-replace-in-tiddler-field(tiddler:\"\",field:\"\",replace:\"\",replaceWith:\"\")\n<$wikify name=ss text=<<snr-check-diffs \"\"\"$tiddler$\"\"\" \"\"\"$field$\"\"\">> >\n<$list filter=\"[<ss>] -same\" variable=ignore>\n<$list filter=\"[<__tiddler__>has[title]]\" variable=\"ignore\">\n<$wikify name=flags text=<<regexp-flags>> >\n<$macrocall $name=\"replace-text-button\" \n tiddler=<<__tiddler__>> \n field=<<__field__>>\n replace=<<__replace__>>\n replaceWith=<<__replaceWith__>> \n flags=<<flags>> \n wholeWords={{$:/state/commander/snr/whole-words}}\n/>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"`$field$` field has been changed\"\"\" tidItem=<<__tiddler__>> />\n<$macrocall $name=\"clear-select-tiddler-if-field-is-title\" tiddler=<<__tiddler__>> field=<<__field__>> />\n</$wikify>\n</$list>\n</$list>\n</$wikify>\n\\end\n\n\\define clear-select-tiddler-if-field-is-title(tiddler, field)\n<$list filter=\"[<__field__>] +[search[title]]\" variable=\"ignore\">\n<$action-setfield $tiddler=\"$:/state/commander/snr/select-tiddler\" text=\"\"/>\n<$action-setfield $tiddler=\"$:/temp/commander/selected-titles\" $index=<<__tiddler__>> />\n</$list>\n\\end\n\n\\define search-replace-in-field-bulk()\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<<create-log-tiddler \"SNR operation\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\">\n <$macrocall \n $name=\"search-replace-in-tiddler-field\"\n tiddler=<<currentTiddler>> \n field={{$:/state/commander/snr/select-tiddler/field}} \n replace={{$:/state/commander/snr/replace-text}} \n replaceWith={{$:/state/commander/snr/replace-text-with}} \n />\n</$list>\n</$list>\n\\end\n\n\\define search-replace-in-field-single-tiddler()\n<<create-log-tiddler \"SNR operation\">>\n <$macrocall \n $name=\"search-replace-in-tiddler-field\"\n tiddler={{$:/state/commander/snr/select-tiddler}}\n field={{$:/state/commander/snr/select-tiddler/field}} \n replace={{$:/state/commander/snr/replace-text}} \n replaceWith={{$:/state/commander/snr/replace-text-with}} \n />\n\\end\n\n\\define snr-actions()\n<$button actions=<<search-replace-in-field-single-tiddler>> tooltip=\"search and replace in a single tiddler\" class=\"cmd-btn\">\nReplace?\n</$button> \n<!-- replace in bulk tiddler with confirmation -->\n<$macrocall $name=\"compConfirmAction\"\ncountFilter=\"[[$:/temp/commander/selected-titles]indexes[]]\"\nactionMacro=\"search-replace-in-field-bulk\"\nstateTiddler=\"$:/state/commander/SelectiveReplaceAllDropdown\"\nconfirmMessage=\"Are you sure you wish to replace text in\" \nbtnLabel=\"Replace all?\"/>\n\\end"},"$:/plugins/kookma/commander/snr/macros/inputs":{"title":"$:/plugins/kookma/commander/snr/macros/inputs","created":"20190306203626597","modified":"20190912051600363","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define snr-ui-inputs()\n<form class=\"cmd-snr-form\">\n <fieldset>\n <legend>Search and Replace</legend>\n\n<div class=\"item\">\n<label>Tiddler title</label>\n<$select tiddler=\"$:/state/commander/snr/select-tiddler\" default=\"\" class=\"cmd-snr-textbox\">\n<option value=\"\">None</option>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]sort[]]\" >\n<option value=<<currentTiddler>>><$text text=<<currentTiddler>>/></option>\n</$list>\n</$select>\n</div>\n\n<div class=\"item\">\n<label>Field name</label>\n<$select tiddler=\"$:/state/commander/snr/select-tiddler/field\" default=\"text\">\n<$list filter=\"[{$:/state/commander/snr/select-tiddler}fields[]]\">\n<option value=<<currentTiddler>>><$text text=<<currentTiddler>>/></option>\n</$list>\n</$select>\n</div>\n\n<div class=\"item\">\n<label>Search text</label>\n<$edit-text \n tiddler=\"$:/state/commander/snr/replace-text\" \n tag=\"input\" \n default=\"\" \n placeholder=\" text to replace\"\n class=\"cmd-snr-textbox\"/>\n</div>\n\n<div class=\"item\">\n<label>Replace with </label>\n<$edit-text \n tiddler=\"$:/state/commander/snr/replace-text-with\" \n tag=\"input\" \n default=\"\" \n placeholder=\" new text\"\n class=\"cmd-snr-textbox\"/>\n</div>\n<!-- Use relink to update titles -->\n<$list filter=\"[[$:/state/commander/snr/select-tiddler/field]get[text]match[title]]\" variable=ignore>\n<div class=\"item-relink\">{{$:/plugins/kookma/commander/config/relink}}</div>\n</$list>\n</fieldset>\n</form>\n\n\n\\end"},"$:/plugins/kookma/commander/snr/macros/regexp-flags":{"title":"$:/plugins/kookma/commander/snr/macros/regexp-flags","created":"20190306182052441","modified":"20190728184415340","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define snr-regexp-flags()\n\n<form class=\"cmd-snr-form\">\n<fieldset>\n<legend>Search flags</legend>\n\n<$checkbox \n tiddler=\"$:/state/commander/snr/case-sensitive\" \n field=\"text\" \n checked=\"i\" \n unchecked=\"\"\n/> ignore case<br>\n\n<$checkbox \n tiddler=\"$:/state/commander/snr/whole-words\" \n field=\"text\" \n checked=\"words\" \n unchecked=\"characters\"\n/> whole words<br>\n\n<br>\n\n<$radio\n tiddler=\"$:/state/commander/snr/gm\" \n field=\"text\" \n value=\"g\"> global match\n</$radio><br>\n\n<$radio\n tiddler=\"$:/state/commander/snr/gm\" \n field=\"text\" \n value=\"m\"> multiline mode\n</$radio><br>\n\n<$radio\n tiddler=\"$:/state/commander/snr/gm\" \n field=\"text\" \n value=\"\"> first match \n</$radio>\n\n</fieldset>\n</form>\n\\end"},"$:/plugins/kookma/commander/snr/macros/regexpsub.js":{"title":"$:/plugins/kookma/commander/snr/macros/regexpsub.js","text":"/*\\\ncreated: 20190214160253135\ntitle: $:/plugins/kookma/commander/snr/macros/regexpsub.js\ntype: application/javascript\nmodified: 20190728184415338\nmodule-type: macro\ndescription: Developed by Mark S\n\nMake regular expression substitutions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"regexpsub\";\n\nexports.params = [\n\t{name: \"searchValue\"},\n\t{name: \"replaceValue\"},\n\t{name: \"sourceText\"},\n\t{name: \"flags\"},\n {name: \"wholeWords\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(searchValue, replaceValue, sourceText, flags = \"gi\", wholeWords = \"characters\") {\n \n try {\n \n\tvar searchText;\n if(wholeWords.toLowerCase() === 'words'){\n searchText = \"\\\\b\" + searchValue + \"\\\\b\";\n } else{\n searchText = searchValue;\n }\n searchText = new RegExp(searchText, flags);\n\n\t\n\treturn sourceText.replace(searchText,replaceValue);\n\n } \n catch(err) { \n return \"ERROR IN REG EXPRESSION. YOU MAY NEED TO ESCAPE VALUES\"; \n }\n \n };\n\n})();\n","created":"20190214160253135","type":"application/javascript","modified":"20190728184415338","module-type":"macro","description":"Developed by Mark S"},"$:/plugins/kookma/commander/snr/macros/replace-text":{"title":"$:/plugins/kookma/commander/snr/macros/replace-text","created":"20190227134610136","modified":"20190908030604275","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define nothing-to-replace(tiddler, field:\"text\") \n<$diff-text source={{{ [<__tiddler__>get<__field__>] }}} dest={{{ [<__tiddler__>get<__field__>] }}} />\n\\end\n\n\\define replace-text(tiddler:\"\",field:\"text\",replace:\"\",replaceWith:\"\",flags:\"\", wholeWords:\"\")\n\\whitespace trim\n<$wikify name=\"source\" text=\"\"\"<$view tiddler=<<__tiddler__>> field=<<__field__>> mode=\"block\" format=\"text\"/>\"\"\">\n<$wikify name=\"result\" \n text=\"\"\"<$macrocall $name=\"regexpsub\" $type=\"text/plain\" \n sourceText=<<source>> \n searchValue=<<__replace__>> \n replaceValue=<<__replaceWith__>> \n flags=<<__flags__>> \n wholeWords=<<__wholeWords__>> />\"\"\" \n >\n<$text text=<<result>>/>\n</$wikify>\n</$wikify>\n\\end\n\n\\define replace-text-diff(tiddler:\"\", field:\"text\", replace, replaceWith, flags:\"\", wholeWords:\"\")\n<$list filter=\"[<__tiddler__>get<__field__>minlength[1]]\" variable=null emptyMessage=\"No tiddler is selected, or tiddler is empty.\">\n<$list filter=\"[<__replace__>minlength[1]]\" variable=null emptyMessage=<<nothing-to-replace \"\"\"$tiddler$\"\"\" \"\"\"$field$\"\"\">> >\n\n<$wikify name=\"result\" \n text=\"\"\"<$macrocall $name=\"replace-text\" \n tiddler=<<__tiddler__>> field=<<__field__>> \n replace=<<__replace__>> \n replaceWith=<<__replaceWith__>> \n flags=<<__flags__>>\n wholeWords=<<__wholeWords__>> />\"\"\"\n >\n<$diff-text source={{{ [<__tiddler__>get<__field__>] }}} dest=<<result>> cleanup={{$:/state/commander/snr/setting/cleanup}}/>\n</$wikify>\n\n</$list>\n</$list>\n\\end\n\n\\define replace-text-button(tiddler:\"\", field:\"text\", replace:\"\", replaceWith:\"\", flags:\"\", wholeWords:\"\")\n\\whitespace trim\n<$list filter=\"[<__tiddler__>get<__field__>minlength[1]]\" variable=null>\n<$list filter=\"[<__replace__>minlength[1]]\" variable=null>\n<$wikify name=\"result\" \n text=\"\"\"<$macrocall $name=\"replace-text\" \n tiddler=<<__tiddler__>> \n field=<<__field__>> \n replace=<<__replace__>> \n replaceWith=<<__replaceWith__>> \n flags=<<__flags__>>\n wholeWords=<<__wholeWords__>> />\"\"\"\n >\n<$reveal type=\"nomatch\" default=\"title\" text=<<__field__>> >\n <$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value=<<result>>/>\n</$reveal>\n<$reveal type=\"match\" default=\"title\" text=<<__field__>> >\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<__tiddler__>> to=<<result>> />\n</$reveal>\n</$wikify>\n</$list>\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/snr/macros/setting":{"title":"$:/plugins/kookma/commander/snr/macros/setting","created":"20190324052145002","modified":"20190728184415333","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define snr-difftext-cleanup()\n\n<form class=\"cmd-snr-form\">\n<fieldset>\n<legend>Difftext cleanup</legend>\n\n<$radio\n tiddler=\"$:/state/commander/snr/setting/cleanup\" \n field=\"text\" \n value=\"none\"> none\n</$radio><br>\n\n<$radio\n tiddler=\"$:/state/commander/snr/setting/cleanup\" \n field=\"text\" \n value=\"semantic\"> semantic\n</$radio><br>\n\n<$radio\n tiddler=\"$:/state/commander/snr/setting/cleanup\" \n field=\"text\" \n value=\"efficient\"> efficient \n</$radio>\n\n</fieldset>\n</form>\n\\end"},"$:/plugins/kookma/commander/snr/ui":{"title":"$:/plugins/kookma/commander/snr/ui","caption":"Snr","created":"20190220210055713","icon":"$:/core/images/gitter","list-after":"$:/plugins/kookma/commander/field/ui","modified":"20190728184415331","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"Search and replcae in tiddler fields!\n\n<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/SnrOps]!has[draft.of]]\" \ndefault:\"$:/plugins/kookma/commander/snr/uicomp/replace-text\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n\n"},"$:/plugins/kookma/commander/snr/uicomp/replace-text":{"title":"$:/plugins/kookma/commander/snr/uicomp/replace-text","caption":"Search and replace","created":"20190220211138573","icon":"$:/core/images/gitter","modified":"20190728184415328","tags":"$:/tags/Commander/SnrOps","type":"text/vnd.tiddlywiki","text":"<div class=\"cmd-snr-row\">\n<div class=\"cmd-snr-double-column\">\n<<snr-ui-inputs>>\n</div>\n<div class=\"cmd-snr-column\">\n<<snr-regexp-flags>> \n</div>\n</div>\n<<snr-ui-show-diffs>>\n<<snr-actions>>"},"$:/plugins/kookma/commander/stylesheet/alert":{"title":"$:/plugins/kookma/commander/stylesheet/alert","created":"20190725161822490","modified":"20190728184415326","tags":"$:/tags/Stylesheet","type":"text/css","text":".commander-alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px dotted gray;\n border-radius: 0.25rem;\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}"},"$:/plugins/kookma/commander/stylesheet/buttons":{"title":"$:/plugins/kookma/commander/stylesheet/buttons","created":"20190317080436103","modified":"20190728184415324","tags":"$:/tags/Stylesheet","type":"text/css","text":".cmd-btn{\n font-size:0.85em;\n font-size:300;\n color: #666666;\n background-color: #d8d8d8;\n padding: 3px 8px 3px 8px;\n border: 1px solid #a1a1a1;\n}\n"},"$:/plugins/kookma/commander/stylesheet/compInspect/table":{"title":"$:/plugins/kookma/commander/stylesheet/compInspect/table","created":"20190308134702363","modified":"20190728184415322","tags":"$:/tags/Stylesheet","type":"text/css","text":"/*compInspect table*/\n.cmd-ci-table\n{border-collapse: collapse;}\n\n.cmd-ci-table .leftcol{\nwidth:20%;\nvertical-align: top;\ntext-align: right;\nbackground-color:#f0f0f0;\n}\n.cmd-ci-table .rightcol{\nwidth:650px;\n}\n"},"$:/plugins/kookma/commander/stylesheet/select-width":{"title":"$:/plugins/kookma/commander/stylesheet/select-width","created":"20190218214027079","modified":"20190728184415318","tags":"$:/tags/Stylesheet","type":"text/css","text":".cmd-sl{\n width:8ch;\n}\n\n.cmd-select-wd{\n min-width:15ch;\n}\n"},"$:/plugins/kookma/commander/stylesheet/snr/flexbox":{"title":"$:/plugins/kookma/commander/stylesheet/snr/flexbox","created":"20190306203517655","modified":"20190728184415316","tags":"$:/tags/Stylesheet","type":"text/css","text":".cmd-snr-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n width: 100%;\n}\n.cmd-snr-column {\n display: flex;\n flex-direction: column;\n flex-basis: 100%;\n flex: 1\n}\n\n.cmd-snr-double-column {\n display: flex;\n flex-direction: column;\n flex-basis: 100%;\n flex: 2\n}\n\n@media screen and (min-width: 800px) {\n .cmd-snr-column {\n flex: 1\n }\n\n .cmd-snr-double-column {\n flex: 2\n }\n}"},"$:/plugins/kookma/commander/stylesheet/snr/form":{"title":"$:/plugins/kookma/commander/stylesheet/snr/form","created":"20190306191714819","modified":"20190912051831502","tags":"$:/tags/Stylesheet","type":"text/css","text":".cmd-snr-form{\n width:100%;\n}\n\n.cmd-snr-textbox {\n width:100%;\n box-sizing: border-box;\n max-width:40ch;\n }\n\n.cmd-snr-form select, .cmd-snr-form input{\n margin: 0.2rem;\n}\n.cmd-snr-form legend{\n background: #f5f5f5;\n padding: 3px 6px;\n}\n\n.cmd-snr-form { padding:20px; }\n.cmd-snr-form .item { padding: 2px; margin:2px; }\n.cmd-snr-form .item label { display:inline-block; width:100px; margin-left:5px; }\n.cmd-snr-form .item input { display:inline-block; }\n.cmd-snr-form .item select { display:inline-block; }\n\n/* only for relink checkbox on renaming tiddler */\n.cmd-snr-form .item-relink { padding: 2px; margin:2px; }\n\n "},"$:/plugins/kookma/commander/tag/macros/add-remove-replace":{"title":"$:/plugins/kookma/commander/tag/macros/add-remove-replace","created":"20190212063435548","modified":"20190731063626579","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define add-new-tag-bulk(newTag:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__newTag__>] -Empty\" variable=null>\n<<create-log-tiddler \"add-new-tag-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]!is[missing]!tag<__newTag__>]\">\n<$fieldmangler>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__newTag__>> />\n</$fieldmangler>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"new tag `$newTag$` added\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n\n\\define remove-old-tag-bulk(oldTag:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=ignore>\n<$list filter=\"[<__oldTag__>] -Empty\" variable=null>\n<<create-log-tiddler \"remove-old-tag-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]!is[missing]tag<__oldTag__>]\">\n<$fieldmangler>\n<$action-sendmessage $message=\"tm-remove-tag\" $param=<<__oldTag__>> />\n</$fieldmangler>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"old tag `$oldTag$` removed\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n\n\n\\define replace-tag-bulk(oldTag:\"Empty\", newTag:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__oldTag__>] -Empty\" variable=null>\n<$list filter=\"[<__newTag__>] -Empty\" variable=null>\n<<create-log-tiddler \"replace-tag-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]!is[missing]tag<__oldTag__>]\">\n<$fieldmangler>\n<$action-sendmessage $message=\"tm-add-tag\" $param=<<__newTag__>> />\n<$action-sendmessage $message=\"tm-remove-tag\" $param=<<__oldTag__>> />\n</$fieldmangler>\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"tag `$oldTag$` replaced with `$newTag$`\"\"\" tidItem=<<currentTiddler>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n</$list>\n\\end\n\n"},"$:/plugins/kookma/commander/tag/ui":{"title":"$:/plugins/kookma/commander/tag/ui","caption":"Tag","created":"20190212051852003","list-after":"$:/plugins/kookma/commander/title/ui","modified":"20190728184415309","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/TagOps]!has[draft.of]]\" default:\"$:/plugins/kookma/commander/tag/uicomp/add-remove-tags\" \nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n\n"},"$:/plugins/kookma/commander/tag/uicomp/add-remove-tags":{"title":"$:/plugins/kookma/commander/tag/uicomp/add-remove-tags","caption":"Add remove tags","created":"20190212063924640","modified":"20190728184415307","tags":"$:/tags/Commander/TagOps","type":"text/vnd.tiddlywiki","text":"<$edit-text\ntiddler=\"$:/temp/commander/tag-add-remove/new\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" new tag\"\n/> \n<$button class=\"cmd-btn\"> Add new tag\n<$macrocall $name=\"add-new-tag-bulk\" newTag={{$:/temp/commander/tag-add-remove/new}} />\n</$button>\n\n<$button class=\"cmd-btn\"> Remove old tag\n<$macrocall $name=\"remove-old-tag-bulk\" oldTag={{$:/temp/commander/tag-add-remove/old}} />\n</$button>\n \n<$select class=\"cmd-select-wd\" tiddler=\"$:/temp/commander/tag-add-remove/old\" default=<<dummy>>>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]tags[]sort[]]\" >\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>\n"},"$:/plugins/kookma/commander/tag/uicomp/replace-tags":{"title":"$:/plugins/kookma/commander/tag/uicomp/replace-tags","caption":"Replace tags","created":"20190212080523588","list-after":"$:/plugins/kookma/commander/tag/uicomp/add-remove-tags","modified":"20190728184415304","tags":"$:/tags/Commander/TagOps","type":"text/vnd.tiddlywiki","text":"<span style=\"display:inline-block;width:8ch;\">Old tag </span>\n<$select class=\"cmd-select-wd\" tiddler=\"$:/temp/commander/replace-tags/old\" default=<<dummy>>>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]tags[]sort[]]\" >\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>\n\n<span style=\"display:inline-block;width:8ch;\">New tag </span>\n<$edit-text\ntiddler=\"$:/temp/commander/replace-tags/new\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" new tag\"\n/>\n\n<$button class=\"cmd-btn\"> Replace tags\n<$macrocall $name=\"replace-tag-bulk\" \noldTag={{$:/temp/commander/replace-tags/old}} \nnewTag={{$:/temp/commander/replace-tags/new}} />\n</$button>\n\n"},"$:/plugins/kookma/commander/template/base":{"title":"$:/plugins/kookma/commander/template/base","caption":"base","created":"20190213200622605","modified":"20190728184415302","tags":"$:/tags/Commander/Template","type":"text/vnd.tiddlywiki","text":"This is a simple one!"},"$:/plugins/kookma/commander/template/doc":{"title":"$:/plugins/kookma/commander/template/doc","caption":"documentation","created":"20190213200338381","modified":"20190728184415300","tags":"$:/tags/Commander/Template","type":"text/vnd.tiddlywiki","version":"beta","text":"!! Introduction\n<<<\nshort introduction\n<<<\n\n!! Content and parameters\n<<<\nThe content, attributes and parameters\n\n|!Parameter |!Description |\n|par1 |description |\n|par2 |description |\n<<<\n\n!! Example i\n<<<\nexample here\n<<<\n\n!! Example ii\n<<<\nanother example here\n<<<\n\n!! References\n<<<\n# one\n# Two\n<<<"},"$:/plugins/kookma/commander/template/simple":{"title":"$:/plugins/kookma/commander/template/simple","caption":"simple","created":"20190213200258460","modified":"20190728184415297","tags":"$:/tags/Commander/Template","type":"text/vnd.tiddlywiki","version":"beta","text":"! Heading one\nThis is sunsection i\n\n!! Heading two\nThis is subsection ii.\n\n* one\n* two\n* three\n\n!!! Heading three\nThis is subsction iii\n\n```\nA sample code\n```\n\n!! Sample table\n|Table 1. This is caption|c\n|Heading one|Heading Two|Heading Three|h\n|r1|100|200|\n|r2|02|03|\n|r3|-1|-2|\n"},"$:/plugins/kookma/commander/tiddler/macros/create":{"title":"$:/plugins/kookma/commander/tiddler/macros/create","created":"20190212125920722","modified":"20190728184415295","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define log-create(msg:\"Tiddler existed, operation ignored\")\n<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=\"$(newTitle)$\" $value=\"$msg$\" />\n\\end\n\n\\define bulk-tiddler-creator(baseTitle, baseTags, numberTiddler:\"1\")\n<<create-log-tiddler \"bulk-tiddler-creator\">>\n<$list filter=\"[range[9]addprefix[00]] [range[10,99]addprefix[0]] [range[100,500]] +[limit<__numberTiddler__>]\" variable=\"L1\">\n<$list filter=\"[<__baseTitle__>addsuffix<L1>]\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\" emptyMessage=<<log-create>> >\n<$action-createtiddler $basetitle=<<newTitle>> tags=<<__baseTags__>> /> \n<<log-create \"Tiddler created\">>\n</$list>\n</$list>\n</$list>\n\\end\n\n\\define oneTid-with-template(myTitle, myTags, myTemplate)\n<$tiddler tiddler=<<__myTitle__>> >\n <$action-setfield \n $tiddler=<<__myTemplate__>> \n title=<<currentTiddler>> /> \n <$fieldmangler>\n <$list filter=\"[enlist<__myTags__>]\" variable=newTag>\n <$action-sendmessage $message=\"tm-add-tag\" $param=<<newTag>> />\n </$list>\n <$action-sendmessage $message=\"tm-remove-tag\" $param=\"$:/tags/Commander/Template\" />\n</$fieldmangler>\n</$tiddler>\n\\end\n\n\n\\define bulk-tiddler-with-template-creator(baseTitle, baseTags, numberTiddler:\"1\", template:\"$:/plugins/kookma/commander/template/base\")\n<<create-log-tiddler \"bulk-tiddler-creator with template\">>\n<$list filter=\"[range[9]addprefix[00]] [range[10,99]addprefix[0]] [range[100,500]] +[limit<__numberTiddler__>]\" variable=\"L1\">\n<$list filter=\"[<__baseTitle__>addsuffix<L1>]\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\" emptyMessage=<<log-create>>>\n<$macrocall $name=\"oneTid-with-template\" \n myTitle=<<newTitle>> \n myTags=<<__baseTags__>> \n myTemplate=<<__template__>>\n />\n <<log-create \"Tiddler created\">>\n</$list>\n</$list>\n</$list>\n\\end\n\n"},"$:/plugins/kookma/commander/tiddler/macros/delete":{"title":"$:/plugins/kookma/commander/tiddler/macros/delete","created":"20190215195221625","modified":"20190728184415293","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define log-delete-selectively(item, msg:\"Tiddler deleted\")\n<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=<<__item__>> $value=\"$msg$\" />\n\\end\n\n\\define delete-tiddlers-selective-bulk()\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<<create-log-tiddler \"delete-tiddler-selectively\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]]\" variable=\"Item\">\n<$action-deletetiddler $tiddler=<<Item>> />\n<$macrocall $name=\"log-delete-selectively\" item=<<Item>> />\n</$list>\n<<title-selection-reset>>\n</$list>\n\\end"},"$:/plugins/kookma/commander/tiddler/ui":{"title":"$:/plugins/kookma/commander/tiddler/ui","caption":"Tiddler","created":"20190212125319261","modified":"20190728184415290","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/TiddlerOps]!has[draft.of]]\"\ndefault:\"$:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n"},"$:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers":{"title":"$:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers","caption":"Create tiddlers","created":"20190213193004029","modified":"20190728184415288","tags":"$:/tags/Commander/TiddlerOps","type":"text/vnd.tiddlywiki","text":"<span style=\"display:inline-block;width:10ch;\">Base title </span>\n<$edit-text \n tiddler=\"$:/temp/commander/tiddler-base-title\" \n tag=\"input\" \n default=\"\"\n placeholder=\" base title\" \n class=\"cmd-txt-area\"/> \n<br>\n\n<span style=\"display:inline-block;width:10ch;\">Tags </span>\n<$edit-text \n tiddler=\"$:/temp/commander/tiddler-base-tags\" \n tag=\"input\" \n default=\"\"\n placeholder=\" tags\" \n class=\"cmd-txt-area\"\n/> \n\n\n<$checkbox \n tiddler=\"$:/state/commander/tiddler-template-status\" \n field=\"text\" \n checked=\"use-template\" \n unchecked=\"no-template\"\n default=\"no-template\"\n> Use template?</$checkbox> \n<$reveal type=\"match\" text=\"use-template\" default={{$:/state/commander/tiddler-template-status}}>\nTemplate\n<$select tiddler=\"$:/temp/commander/template-newtiddler\" \n default=\"$:/plugins/kookma/commander/template/base\">\n<$list filter='[all[shadows+tiddlers]tag[$:/tags/Commander/Template]]'>\n<option value=<<currentTiddler>> >\n<$view field=\"caption\"><$view field=\"title\"/></$view>\n</option>\n</$list>\n</$select>\n</$reveal>\n\nNumber of tiddlers \n<$select tiddler=\"$:/temp/commander/tiddler-base-number\" default='1'>\n<$list filter='[range[1,19, 1]] [range[20,50, 5]] [range[60,100,10]]'>\n<option value=<<currentTiddler>>><$view field='title'/></option>\n</$list>\n</$select>\n\n<$reveal type=\"match\" text=\"use-template\" default={{$:/state/commander/tiddler-template-status}}>\n<$button class=\"cmd-btn\"> Create tiddlers\n<$macrocall $name=\"bulk-tiddler-with-template-creator\"\nbaseTitle={{$:/temp/commander/tiddler-base-title}}\nbaseTags={{$:/temp/commander/tiddler-base-tags}}\nnumberTiddler={{$:/temp/commander/tiddler-base-number}}\ntemplate={{$:/temp/commander/template-newtiddler}}\n/> </$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" text=\"use-template\" default={{$:/state/commander/tiddler-template-status}}>\n<$button class=\"cmd-btn\"> Create tiddlers\n<$macrocall $name=\"bulk-tiddler-creator\"\nbaseTitle={{$:/temp/commander/tiddler-base-title}}\nbaseTags={{$:/temp/commander/tiddler-base-tags}}\nnumberTiddler={{$:/temp/commander/tiddler-base-number}}\n/>\n</$button>\n</$reveal>\n"},"$:/plugins/kookma/commander/tiddler/uicomp/delete-tiddlers":{"title":"$:/plugins/kookma/commander/tiddler/uicomp/delete-tiddlers","caption":"Delete tiddlers","created":"20190301144408502","list-after":"$:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers","modified":"20190728184415285","tags":"$:/tags/Commander/TiddlerOps","type":"text/vnd.tiddlywiki","text":"<$set name=numTids value={{{[[$:/temp/commander/selected-titles]indexes[]count[]] }}}>\n<$reveal type=\"match\" text=\"0\" default=<<numTids>> >\nNo tiddlers is selected for deleteion!\n</$reveal>\n<$reveal type=\"gt\" text=\"0\" default=<<numTids>> >\nNumber of tiddlers selected for deletion: <<numTids>><br>\nNote that, the delete operation cannot be undone!!\n</$reveal>\n</$set>\n\n<$macrocall $name=\"compConfirmAction\"\ncountFilter=\"[[$:/temp/commander/selected-titles]indexes[]]\"\nactionMacro=\"delete-tiddlers-selective-bulk\"\nstateTiddler=\"$:/state/commander/SelectiveDeleteDropdown\"\n/>\n"},"$:/plugins/kookma/commander/title/macros/prefix":{"title":"$:/plugins/kookma/commander/title/macros/prefix","created":"20190212122742891","modified":"20190907181223398","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define log-changePrefix(message, oldTitle, newTitle)\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"$message$. New title [[$newTitle$]]\"\"\" tidItem=<<__oldTitle__>> />\n\\end\n\n\\define addPrefix-to-tiltle-bulk(prefix:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__prefix__>] -Empty\" variable=null>\n<<create-log-tiddler \"addPrefix-to-tiltle-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\">\n<$list filter=\"\"\"[<currentTiddler>addprefix[$prefix$]] -[<currentTiddler>]\"\"\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to=<<newTitle>> />\n <$macrocall $name=log-changePrefix message=\"title prefix: `$prefix$` added\" oldTitle=<<currentTiddler>> newTitle=<<newTitle>> />\n</$list>\n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n</$list>\n\\end\n\n\\define removePrefix-from-tiltle-bulk(prefix:\"Empty\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__prefix__>] -Empty\" variable=null>\n<<create-log-tiddler \"removePrefix-from-tiltle-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\">\n<$list filter=\"\"\"[<currentTiddler>removeprefix[$prefix$]] -[<currentTiddler>]\"\"\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to=<<newTitle>> />\n <$macrocall $name=log-changePrefix message=\"title prefix: `$prefix$` removed\" oldTitle=<<currentTiddler>> newTitle=<<newTitle>> />\n</$list> \n</$list>\n<<title-selection-reset>>\n</$list>\n</$list>\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/title/macros/remove-cahrs-end":{"title":"$:/plugins/kookma/commander/title/macros/remove-cahrs-end","created":"20190218190318901","modified":"20190907181526112","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define suffix-actions2()\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[prefix<sfx>]\" variable=\"item\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<item>> to=<<sfx>> />\n <$macrocall $name=\"log-add-single-operation\" msg=\"\"\"characters removed from end. New title [[$(sfx)$]]\"\"\" tidItem=<<item>> />\n</$list>\n\\end\n\n\n\\define makelink2() [[$(newTitle)$]]\n\n\\define generate-suffixes2(n:\"0\")\n<$list filter=\"[<__n__>] -0\" variable=null>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\" variable=\"item\">\n<$list filter=\"\"\"[<item>split[]butlast[$n$]join[]trim[]]\"\"\" variable=\"newTitle\">\n<$text text=<<makelink2>>/>\n</$list>\n</$list>\n</$list>\n\\end\n\n\\define remove-chars-from-end-tiltle-bulk(num:\"0\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__num__>] -0\" variable=null>\n<<create-log-tiddler \"remove-chars-from-end-tiltle-bulk\">>\n<$vars n=<<__num__>> >\n<$wikify text=\"\"\"<<generate-suffixes2 n:\"$num$\">>\"\"\" name=\"outputs\">\n <$list filter=\"[subfilter<outputs>]\" variable=\"sfx\">\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[prefix<sfx>limit[2]count[]regexp[2]]\" emptyMessage=<<suffix-actions2>> variable=\"cnt\">\n</$list>\n</$list>\n</$wikify>\n</$vars>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/title/macros/remove-cahrs-start":{"title":"$:/plugins/kookma/commander/title/macros/remove-cahrs-start","created":"20190218214608685","modified":"20190907181618430","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define suffix-actions()\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[suffix<sfx>]\" variable=\"item\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<item>> to=<<sfx>> />\n <$macrocall $name=\"log-add-single-operation\" msg=\"\"\"characters removed from start. New title [[$(sfx)$]]\"\"\" tidItem=<<item>> />\n</$list>\n\\end\n\n\n\\define makelink() [[$(newTitle)$]]\n\n\\define generate-suffixes(n:\"0\")\n<$list filter=\"[<__n__>] -0\" variable=null>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[has[title]]\" variable=\"item\">\n<$list filter=\"\"\"[<item>split[]rest[$n$]join[]trim[]]\"\"\" variable=\"newTitle\">\n<$text text=<<makelink>>/>\n</$list>\n</$list>\n</$list>\n\\end\n\n\\define remove-chars-from-begining-tiltle-bulk(num:\"0\")\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<$list filter=\"[<__num__>] -0\" variable=null>\n<<create-log-tiddler \"remove-chars-from-begining-tiltle-bulk\">>\n<$vars n=<<__num__>> >\n<$wikify text=\"\"\"<<generate-suffixes n:\"$num$\">>\"\"\" name=\"outputs\">\n <$list filter=\"[subfilter<outputs>]\" variable=\"sfx\">\n <$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[suffix<sfx>limit[2]count[]regexp[2]]\" \n emptyMessage=<<suffix-actions>> variable=\"cnt\">\n </$list>\n </$list>\n</$wikify>\n</$vars>\n<<title-selection-reset>>\n</$list>\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/title/macros/suffix":{"title":"$:/plugins/kookma/commander/title/macros/suffix","created":"20190212143639636","modified":"20190907181325037","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define log-changeSuffix(message, oldTitle, newTitle)\n<$macrocall $name=\"log-add-single-operation\" msg=\"\"\"$message$. New title [[$newTitle$]]\"\"\" tidItem=<<__oldTitle__>> />\n\\end\n\n\\define addSuffix-to-tiltle-bulk(suffix:\"Empty\")\n<$list filter=\"[<__suffix__>] -Empty\" variable=null>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<<create-log-tiddler \"addSufffix-to-tiltle-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\">\n<$list filter=\"\"\"[<currentTiddler>addsuffix[$suffix$]] -[<currentTiddler>]\"\"\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to=<<newTitle>> />\n <$macrocall $name=log-changeSuffix message=\"title suffix: `$suffix$` added\" oldTitle=<<currentTiddler>> newTitle=<<newTitle>> />\n</$list>\n</$list>\n<$macrocall $name=\"compSelective-reset\" tiddler=\"$:/temp/commander/selected-titles\" filter=\"[subfilter{$:/temp/commander}] +[!is[missing]]\" />\n</$list>\n</$list>\n</$list>\n\\end\n\n\\define removeSuffix-from-tiltle-bulk(suffix:\"Empty\")\n<$list filter=\"[<__suffix__>] -Empty\" variable=null>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[count[]] -0\" variable=\"ignore\">\n<<create-log-tiddler \"removeSuffix-from-tiltle-bulk\">>\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]]\">\n<$list filter=\"\"\"[<currentTiddler>removesuffix[$suffix$]] -[<currentTiddler>]\"\"\" variable=\"newTitle\">\n<$list filter=\"[<newTitle>] -[has[title]]\" variable=\"ignore\">\n <$action-sendmessage $message=\"tm-rename-tiddler\" from=<<currentTiddler>> to=<<newTitle>> />\n <$macrocall $name=log-changeSuffix message=\"title suffix: `$suffix$` removed\" oldTitle=<<currentTiddler>> newTitle=<<newTitle>> />\n</$list>\n</$list>\n<$macrocall $name=\"compSelective-reset\" tiddler=\"$:/temp/commander/selected-titles\" filter=\"[subfilter{$:/temp/commander}] +[!is[missing]]\" />\n</$list>\n</$list>\n</$list>\n\\end\n"},"$:/plugins/kookma/commander/title/ui":{"title":"$:/plugins/kookma/commander/title/ui","caption":"Title","created":"20190212051704536","list-after":"$:/plugins/kookma/commander/tiddler/ui","modified":"20190912052341168","tags":"$:/tags/Commander","type":"text/vnd.tiddlywiki","text":"<<tabs \ntabsList:\"[all[shadows+tiddlers]tag[$:/tags/Commander/TitleOps]!has[draft.of]]\" \ndefault:\"$:/plugins/kookma/commander/title/uicomp/add-remove-chars\"\nclass:\"tc-vertical cmd-tab-colorful cmd-tab-wd\">>\n\n<!-- relink checkbox for renaming title -->\n{{$:/plugins/kookma/commander/config/relink}}"},"$:/plugins/kookma/commander/title/uicomp/add-remove-chars":{"title":"$:/plugins/kookma/commander/title/uicomp/add-remove-chars","caption":"Remove chars","created":"20190217092719245","modified":"20190728184415268","tags":"$:/tags/Commander/TitleOps","type":"text/vnd.tiddlywiki","text":"\\define rngcat() [range[0,$(minchars)$]] -0 \n\nNumber of characters\n<$select tiddler=\"$:/temp/commander/title-remove-chars\" default=\"0\" class=\"cmd-sl\">\n<$list filter=\"[[$:/temp/commander/selected-titles]indexes[]] +[!is[missing]] +[length[]] +[minall[]] +[subtract[1]] -Infinity\" variable=\"minchars\">\n<$list filter=<<rngcat>> >\n<option value=<<currentTiddler>>><$view field='title'/></option>\n</$list>\n</$list>\n</$select> \n\n<$button class=\"cmd-btn\"> First n chars\n<$macrocall \n $name=\"remove-chars-from-begining-tiltle-bulk\" \n num={{$:/temp/commander/title-remove-chars}} \n/>\n</$button>\n<$button class=\"cmd-btn\"> Last n chars\n<$macrocall \n $name=\"remove-chars-from-end-tiltle-bulk\" \n num={{$:/temp/commander/title-remove-chars}} \n/>\n</$button>\n\n\n"},"$:/plugins/kookma/commander/title/uicomp/add-remove-prefix":{"title":"$:/plugins/kookma/commander/title/uicomp/add-remove-prefix","caption":"Add remove prefix","created":"20190212141758567","list-after":"$:/plugins/kookma/commander/title/uicomp/add-remove-chars","modified":"20190728184415266","tags":"$:/tags/Commander/TitleOps","type":"text/vnd.tiddlywiki","text":"<$edit-text\ntiddler=\"$:/temp/commander/title-prefix\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" prefix\"\n/> \n<$button class=\"cmd-btn\"> Add prefix\n<$macrocall \n $name=\"addPrefix-to-tiltle-bulk\" \n prefix={{$:/temp/commander/title-prefix}} \n/>\n</$button>\n<$button class=\"cmd-btn\"> Remove prefix\n<$macrocall \n $name=\"removePrefix-from-tiltle-bulk\" \n prefix={{$:/temp/commander/title-prefix}} \n/>\n</$button>\n\n"},"$:/plugins/kookma/commander/title/uicomp/add-remove-suffix":{"title":"$:/plugins/kookma/commander/title/uicomp/add-remove-suffix","caption":"Add remove suffix","created":"20190212143434676","list-after":"$:/plugins/kookma/commander/title/uicomp/add-remove-prefix","modified":"20190728184415263","tags":"$:/tags/Commander/TitleOps","type":"text/vnd.tiddlywiki","text":"<$edit-text\ntiddler=\"$:/temp/commander/title-suffix\"\ntag=\"input\"\ndefault=\"\"\nclass=\"cmd-txt-area\"\nplaceholder=\" suffix\"\n/> \n<$button class=\"cmd-btn\"> Add suffix\n<$macrocall \n $name=\"addSuffix-to-tiltle-bulk\" \n suffix={{$:/temp/commander/title-suffix}} \n/>\n</$button>\n<$button class=\"cmd-btn\"> Remove suffix\n<$macrocall \n $name=\"removeSuffix-from-tiltle-bulk\" \n suffix={{$:/temp/commander/title-suffix}} \n/>\n</$button>\n\n"},"$:/Commander":{"title":"$:/Commander","created":"20190212051316149","icon":"$:/plugins/kookma/commander/images/file-alt","modified":"20190728184835933","type":"text/vnd.tiddlywiki","text":"{{$:/plugins/kookma/commander/search/ui}}\n<<commander-slider title:\"$:/plugins/kookma/commander/search/selection\">>\n\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/Commander]!has[draft.of]]\" default:\"$:/plugins/kookma/commander/tiddler/ui\">>\n\n---\n<<commander-slider title:\"$:/plugins/kookma/commander/log/ui\">>\n"},"$:/language/Buttons/Commander/Hint":{"title":"$:/language/Buttons/Commander/Hint","created":"20190725032106026","modified":"20190911141828836","tags":"","type":"text/vnd.tiddlywiki","text":"Tiddler Commander"},"$:/language/Buttons/Commander/Caption":{"title":"$:/language/Buttons/Commander/Caption","created":"20190725032131129","modified":"20190728184433646","tags":"","type":"text/vnd.tiddlywiki","text":"commander"}}}
{"tiddlers":{"$:/plugins/kookma/shiraz/history":{"title":"$:/plugins/kookma/shiraz/history","created":"20200323092614036","modified":"20200325085725882","tags":"","type":"text/vnd.tiddlywiki","text":"Full change log: [[https://kookma.github.io/TW-Shiraz/#ChangeLog]]\n\n* ''2.1.1'' -- 2020.03.25 -- slider macro with initial status\n* ''2.1.0'' -- 2020.03.23 -- stable release on TW-5.1.22pre\n* ''1.0.0'' -- 2018.10.05 -- first public release\n"},"$:/plugins/kookma/shiraz/license":{"title":"$:/plugins/kookma/shiraz/license","created":"20200323092614037","modified":"20200323092631048","tags":"","type":"text/vnd.tiddlywiki","text":"Distributed under an MIT license.\n\nCopyright (c) 2018-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<"},"$:/plugins/kookma/shiraz/macros/alerts":{"title":"$:/plugins/kookma/shiraz/macros/alerts","created":"20180821095049685","modified":"20200323093719256","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define alert(type:\"primary\" src:\"\", width:\"100%\", class:\"\")\n<div class=\"alert alert-$type$ $class$\" style=\"width:$width$;\">\n$src$\n</div>\n\\end\n\n\\define alert-leftbar(type:\"primary\" src:\"\", width:\"100%\", class:\"\")\n<div class=\"alert alert-$type$ bg-transparent leftbar border-$type$ $class$\" style=\"width:$width$;\">\n$src$\n</div>\n\\end\n"},"$:/plugins/kookma/shiraz/macros/badge":{"title":"$:/plugins/kookma/shiraz/macros/badge","created":"20181124042103310","modified":"20200323093719649","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define badge(type:\"primary\" src:\"\")\n<span class=\"badge badge-$type$\">$src$</span>\n\\end\n\n\\define badge-pill(type:\"primary\" src:\"\")\n<span class=\"badge badge-pill badge-$type$\">$src$</span>\n\\end\n"},"$:/plugins/kookma/shiraz/macros/card":{"title":"$:/plugins/kookma/shiraz/macros/card","created":"20181124111624466","modified":"20200323093719684","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define card(header:\"Empty\", title:\"Empty\" subtitle:\"Empty\" text:\"Empty\",footer:\"Empty\", width:\"100%\" class:\"\")\n<div class=\"card mb-3 $class$\" style=\"width:$width$;\">\n<$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__header__>> >\n <div class=\"card-header\">$header$</div>\n</$reveal>\n<div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n <div class=\"h5 card-title\">$title$</div>\n </$reveal>\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__subtitle__>> >\n <div class=\"h6 card-subtitle mb-2 text-muted\">$subtitle$</div>\n </$reveal>\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n <div class=\"card-text\"><<__text__>></div>\n </$reveal>\n</div>\n<$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n <div class=\"card-footer text-muted\">$footer$</div>\n</$reveal>\n</div>\n\\end"},"$:/plugins/kookma/shiraz/macros/dbadge":{"title":"$:/plugins/kookma/shiraz/macros/dbadge","created":"20181203212737578","modified":"20200323093719698","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define dbadge(subject,status, type:\"primary\")\n<div class=\"dbadge\"><span class=\"dbadge-subject\">$subject$</span><span class=\"dbadge-status dbadge-$type$ \">$status$</span></div>\n\\end\n"},"$:/plugins/kookma/shiraz/macros/details":{"title":"$:/plugins/kookma/shiraz/macros/details","created":"20181101185833098","modified":"20200323093719704","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define details(sum:\"summary\", src:\"source\", status:\"\", class:\"\", style:\"\")\n<details $status$>\n <summary style=\"$style$\">$sum$</summary>\n <div class=\"$class$\">\n\t\n $src$\n </div>\n</details>\n\\end"},"$:/plugins/kookma/shiraz/macros/dtables/confirm-delete":{"title":"$:/plugins/kookma/shiraz/macros/dtables/confirm-delete","created":"20191129201531051","modified":"20200323093719713","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define confirm-delete()\n<!-- reveals deletion confirmation -->\n<$list filter=\"[subfilter<inputFilter>limit[1]]\" variable=ignore>\n<$reveal class=\"tbl-delete-confirm\" type=\"match\" state=\"$:/temp/tables/delete-all!!text\" text=<<currentTable>> tag=\"tr\">\n<th colspan=<<ncols>> >\n<$list filter=\"[[$:/temp/tables/delete-all]get[confirm]match[yes]]\" \n variable=ignore emptyMessage=<<ask-for-delete>> >\n <<perform-delete>>\n</$list>\n</th>\n</$reveal>\n</$list>\n\\end\n\n\\define ask-for-delete()\n<$set name=ntids filter=\"[subfilter<inputFilter>count[]]\">\n Delete all <<ntids>> records?\n\t<$button class=\"tc-btn-invisible\">\n <$action-setfield $tiddler=\"$:/temp/tables/delete-all\" $field=\"confirm\" $value=\"yes\"/>\n {{$:/core/images/delete-button}} yes\n </$button> or \n <$button class=\"tc-btn-invisible\">\n <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n {{$:/core/images/close-button}} no\n </$button>\n</$set>\t\t\t\t\n\\end\n\n\\define perform-delete()\n Warning! this action cannot be undone!\n\t<$button class=\"tc-btn-invisible\">\n <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n <$list filter=<<inputFilter>> variable=\"currentRecord\">\n <$action-deletetiddler $tiddler=<<currentRecord>>/>\n </$list>\n\t\t {{$:/core/images/delete-button}} delete\n </$button> or \n <$button class=\"tc-btn-invisible\">\n <$action-deletetiddler $tiddler=\"$:/temp/tables/delete-all\"/>\n\t\t\t{{$:/core/images/close-button}} cancel \n </$button>\n\\end"},"$:/plugins/kookma/shiraz/macros/dtables/display-extrecord":{"title":"$:/plugins/kookma/shiraz/macros/dtables/display-extrecord","created":"20191203155802107","modified":"20200323093719719","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define display-extended-record()\n<td colspan=<<ncols>> >\n<$tiddler tiddler=<<currentRecord>> >\n<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore\n emptyMessage=\"\"\"<$transclude tiddler=<<currentRecord>> field=text mode=block/>\"\"\" >\n <$edit-text class=\"tbl-inpt-edit\" tiddler=<<currentRecord>> field=\"text\" tag=textarea/>\n</$list>\n</$tiddler>\n</td>\n\\end"},"$:/plugins/kookma/shiraz/macros/dtables/helper":{"title":"$:/plugins/kookma/shiraz/macros/dtables/helper","created":"20191203102929722","modified":"20200323093719728","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define columnFilter() $(columns)$ tbl-delete\n\n\\define tempTable() $:/state/dynamictables/$(currentTable)$\n\n\\define tempTableSort() $(tempTable)$/sortby\n\\define tempTagPopup() $(tempTable)$/$(currentRecord)$/$(currentTiddler)$\n\\define tempTableExpand() $(tempTable)$/expand\n\\define tempPathExpand() $(tempTableExpand)$##$(currentRecord)$\n\\define tempTableEdit() $(tempTable)$/edit-view-status\n\n\\define keepstate() $:/keepstate/dynamictables/$(currentTable)$\n\n\\define tempTableFooter() $(keepstate)$/footer\n\\define tempTableStyle() $(keepstate)$/style\n\\define tempWarningMsg() $(keepstate)$/warning\n\n<!-- \n Those tiddlers based on keepstate are permanent.\n These are tiddlers hold the data and setting for footer, styles and warning (needs to be hold).\n These state and temporary tiddlers are independent of currentTiddler (host tiddler) and on changing\n the title of host tiddler will not disconnected to table\n-->"},"$:/plugins/kookma/shiraz/macros/dtables/maths":{"title":"$:/plugins/kookma/shiraz/macros/dtables/maths","created":"20200209153246553","modified":"20200323093719735","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define minall() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>minall[]] }}}/>\n\\define maxall() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>maxall[]] }}}/>\n\\define count() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]] }}}/>\n\\define sum() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sum[]] }}}/>\n\\define product() <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>product[]] }}}/>\n\\define average(pn:0)\n<$vars\n xcount ={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]]}}}\n\txsum ={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sum[]] }}} >\n <$text text={{{ [<xsum>divide<xcount>fixed[$pn$]] }}}/>\n</$vars>\n\\end\n\n\\define median(pn:0)\n<$vars xcount ={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>count[]]}}} >\n\t<$list filter=\"[<xcount>remainder[2]match[0]]\" variable=ignore>\n\t<!-- even number --> \n\t<$vars mid0={{{ [<xcount>divide[2]] }}} \n mid1={{{ [<xcount>divide[2]add[1]] }}} >\t\t \n <$text text={{{[subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid0>last[]][subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid1>last[]]+[sum[]divide[2]fixed[$pn$]]}}} />\n </$vars>\n </$list>\n <$list filter=\"[<xcount>remainder[2]!match[0]]\" variable=ignore>\n\t<!-- odd number --> \n\t<$vars mid={{{ [<xcount>divide[2]ceil[]] }}} >\n <$text text={{{ [subfilter<inputFilter>$(getFieldOrIndex)$<currentColumn>sort[]first<mid>last[]]}}} />\n\t</$vars>\n </$list>\n</$vars>\n\\end\n"},"$:/plugins/kookma/shiraz/macros/dtables/show-edit-cell":{"title":"$:/plugins/kookma/shiraz/macros/dtables/show-edit-cell","created":"20200209135600453","modified":"20200323093719743","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define showCell()\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$transclude tiddler=<<currentRecord>> index=<<currentColumn>> mode=\"inline\" />\n </$list>\n\\end\t\n\\define editCell()\n <$list filter=\"[<fieldOrIndex>]-index\">\n <$edit-text tiddler=<<currentRecord>> field=<<currentColumn>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n </$list>\n <$list filter=\"[<fieldOrIndex>]-field\">\n <$edit-text tiddler=<<currentRecord>> index=<<currentColumn>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n </$list>\n\\end\n\n\\define showCell_Locked()\n <span style=\"font-style:oblique;\"><<showCell>></span>\n\\end "},"$:/plugins/kookma/shiraz/macros/dtables/table-dynamic":{"title":"$:/plugins/kookma/shiraz/macros/dtables/table-dynamic","created":"20200209100939116","modified":"20200323093719750","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define table-dynamic(filter, fields:\"\", indexes:\"\", sortOp:\"sort\", caption:\"\", class:\"\", footerRows:\"0\", stateTiddler:\"\", editButton:\"yes\")\n\\import [all[shadows+tiddlers]tag[$:/tags/Table/Macro]]\n\n<!--above commands import utility macros-->\n<$vars \n inputFilter=\"[subfilter<__filter__>!has[draft.of]]\"\n sortType=<<__sortOp__>>\n> \n<$set name=currentTable value=<<__stateTiddler__>> emptyValue=<<currentTiddler>> >\n<!-- check what type of columns are sent, fileds or indexes (data tiddlers as records) -->\n<$set name=fieldOrIndex filter=\"[<__fields__>!is[blank]]\" value=\"field\" emptyValue=\"index\">\n<<check_tiddlers_type_for_table_from_indexes isEditable:\"$editButton$\">>\n<$set name=columns filter=\"[<fieldOrIndex>]-index\" value=<<__fields__>> emptyValue=<<__indexes__>> >\n<!--check input filter parameter-->\n<$list filter=\"[subfilter<inputFilter>limit[1]]\" emptyMessage=\"filter input is empty\" variable=ignore>\n<$set name=sortneg tiddler=<<tempTableSort>> index=\"negate\">\n<!--calculate the number of columns in edit and view mode -->\n<$set name=ncols filter=\"[subfilter<columnFilter>] -[[tbl-delete]] [<tempTableEdit>getindex[mode]match[edit]] +[count[]]\" >\n<div class=\"tbl-container\" style=\"max-width:100%;\">\n<table class=<<__class__>> style=\"caption-side:top\">\n<!-- reveal caption and edit button -------------------->\n<caption style=\"text-align:left;\">\n<$list filter=\"[<__editButton__>match[yes]]\" variavle=ignore>\n<span style=\"padding-right:5px;padding-left:3px;\"><<toggle-edit-view>></span></$list>\n$caption$</caption>\n\n<!-- create header -------------------->\n<thead>\n<<confirm-delete>>\n<tr>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"headerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/HeaderTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]\" value=<<headerLookup>> emptyValue=\"$:/plugins/kookma/shiraz/templates/header/default\">\n <$transclude tiddler=<<headerLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n</thead>\n\n<!-- create footer -------------------->\n<$reveal type=\"gt\" default=<<__footerRows__>> text=\"0\" tag=\"tfoot\" class=\"shiraz-dtable-footer\">\n<$list filter=\"[range[1,$footerRows$]addprefix[footer-]]\" variable=footerRow>\n<tr>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"footerLookup\" filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/FooterTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]\" value=<<footerLookup>> emptyValue=\"$:/plugins/kookma/shiraz/templates/footer/default\">\n<$transclude tiddler=<<footerLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n</$list>\n</$reveal>\n\n<!-- reveal main body of table (generate records) -------------------->\n<tbody>\n<$set name=tableBody filter=\"[<fieldOrIndex>]-index\" value=\"display_body_fields\" emptyValue=\"display_body_indexes\" >\n<$macrocall $name=<<tableBody>> />\n</$set>\n</tbody>\n</table>\n</div><!-- container-->\n</$set>\n</$set>\n</$list><!--check input filter parameter-->\n</$set>\n</$set>\n</$set>\n</$vars>\n\\end\n\n"},"$:/plugins/kookma/shiraz/macros/dtables/table-utility":{"title":"$:/plugins/kookma/shiraz/macros/dtables/table-utility","created":"20200209195541061","modified":"20200323093719755","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define tableFilter_fields() $(inputFilter)$+[$(sortneg)$$(sortType)${$(tempTableSort)$##sortIndex}]\n\\define tableFilter_indexes() [enlist<items>]+[$(sortneg)$$(sortType)$[]]\n\n\\define getitems()\n<$set name=Index tiddler=<<tempTableSort>> index=\"sortIndex\">\n<$list filter=\"[subfilter<inputFilter>!has[draft.of]]\" >\n<$text text=\"[[\"/>{{{ [<currentTiddler>getindex<Index>addsuffix[°≡°]] }}}<<currentTiddler>><$text text=\"]]\"/>\n</$list>\n</$set>\n\\end\n\n\\define display_one_record()\n<$wikify name=\"rowStyle\" text=\"\"\"<$transclude tiddler=<<tempTableStyle>> index=<<currentRecord>> />\"\"\" mode=\"inline\">\n<tr style=<<rowStyle>>>\n<$list filter=<<columnFilter>> variable=currentColumn>\n<$set name=\"bodyLookup\" \n filter=\"[all[tiddlers+shadows]tag[$:/tags/Table/BodyTemplate]contains:tbl-column-list<currentColumn>]\n +[limit[1]get[title]]\"\n value=<<bodyLookup>> \n emptyValue=\"$:/plugins/kookma/shiraz/templates/body/default\">\n<$transclude tiddler=<<bodyLookup>> field=\"text\" mode=\"inline\"/>\n</$set>\n</$list>\n</tr>\n<!-- reveal expanded record-->\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"tr\">\n<<display-extended-record>>\n</$reveal>\n</$wikify>\n\\end\n\n\\define display_body_fields()\n<$list filter=<<tableFilter_fields>> variable=\"currentRecord\">\n<<display_one_record>>\n</$list>\n\\end\n\n\\define display_body_indexes()\n<$wikify name=\"items\" text=<<getitems>> > \n<$list filter=<<tableFilter_indexes>> variable=\"currentItem\" >\n<$list filter=\"[<currentItem>split[°≡°]last[]]\" variable=\"currentRecord\">\n <<display_one_record>>\n</$list>\n</$list>\n</$wikify>\n\\end\n\n"},"$:/plugins/kookma/shiraz/macros/dtables/toggle-edit-view":{"title":"$:/plugins/kookma/shiraz/macros/dtables/toggle-edit-view","created":"20191128215812372","modified":"20200323093719762","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define toggle-edit-view()\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" setTitle=<<tempTableEdit>> setIndex=\"mode\" setTo=\"edit\">{{$:/core/images/edit-button}}</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\">\n<$button class=\"tc-btn-invisible tc-tiddlylink\" setTitle=<<tempTableEdit>> setIndex=\"mode\" setTo=\"view\">{{$:/core/images/done-button}}</$button>\n</$reveal>\n\\end"},"$:/plugins/kookma/shiraz/macros/dtables/warning_message":{"title":"$:/plugins/kookma/shiraz/macros/dtables/warning_message","created":"20200210083402839","modified":"20200323093719767","tags":"$:/tags/Table/Macro","type":"text/vnd.tiddlywiki","text":"\\define show_tiddler_types()\n<details>\n <summary>List tiddlers with wrong type</summary>\n\t<dl>\n <$list filter=\"[subfilter<inputFilter>]\">\n\t<$list filter=\"[<currentTiddler>get[type]match[application/x-tiddler-dictionary]][<currentTiddler>get[type]match[application/json]]\" variable=ignore\n\temptyMessage=\"\"\"<dt><$link/></dt><dd><$view field=type/></dd>\"\"\">\n\t</$list>\n\t</$list>\n\t</dl>\n</details>\n\\end\n\n\n\\define show_warning_message()\nDynamic editable table from ''indexes'' expects all input tiddlers are of dataTiddler (json or dictionary) types. Using tiddlers of non //json// or //x-tiddler-dictionary// types as input can unintentionally overwrite the data in the text field of those tiddlers.<br>\n<br>\nCheck the tiddler types to find which tiddlers are not of dataTiddler types!<br>\n<<show_tiddler_types>>\n\\end\n\n\n\\define check_tiddlers_type_for_table_from_indexes(isEditable)\n <$list filter=\"[<fieldOrIndex>]-field\" variable=ignore><!-- only dataTiddler -->\n\t<$list filter=\"[<__isEditable__>match[yes]]\" variable=ignore> <!-- only editable table -->\n\t<$list filter=\"[<tempWarningMsg>is[missing]]\" variable=ignore><!-- dismiss if tempWarningMsg is set -->\n\t<$list filter=\"[subfilter<inputFilter>each[type]get[type]]-[[application/x-tiddler-dictionary]]-[[application/json]]\" variable=ignore>\n\t <div style=\"color: white;background-color:#ff0033;padding:8px;text-align:center;width:100%;\">\n\t Danger: Editable dynamic table from idexes with mixed types of tiddlers! \n\t <$button class=\"tc-btn-invisible tc-tiddlylink\" style=\"fill:white;\" tooltip=\"Dismiss alert and continue with the current selection!\">{{$:/core/images/close-button}}\n <$action-setfield $tiddler=<<tempWarningMsg>> text=\"dissmiss\"/>\n </$button>\n\t </div>\n\t <div style=\"border:1px solid #ff0033;padding:8px;\">\n\t <<show_warning_message>>\n\t </div>\n </$list>\n\t</$list>\n\t</$list>\n\t</$list>\n\\end\t\n"},"$:/plugins/kookma/shiraz/macros/image-basic":{"title":"$:/plugins/kookma/shiraz/macros/image-basic","created":"20181119183704246","modified":"20200323093719776","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-basic(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-simple image-align-$align$\" style=\"width:$width$;\">\n <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>> /> \n <figcaption>$caption$</figcaption>\n</figure> \n\\end"},"$:/plugins/kookma/shiraz/macros/image-card-utility":{"title":"$:/plugins/kookma/shiraz/macros/image-card-utility","created":"20191209113750505","modified":"20200323093719788","type":"text/vnd.tiddlywiki","text":"\\define image-card-top(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n <$image class=\"card-img-top\" source=<<__img__>> alt=<<__alt__>> />\n <div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n <div class=\"h5 card-title\">$title$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n <div class=\"card-text\">$text$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n </$reveal>\n </div> \n</div>\n\\end\n\n\\define image-card-bottom(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n <div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n <div class=\"h5 card-title\">$title$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n <div class=\"card-text\">$text$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n </$reveal>\n </div> \n <$image class=\"card-img-bottom\" source=<<__img__>> alt=<<__alt__>> />\n</div>\n\\end"},"$:/plugins/kookma/shiraz/macros/image-card":{"title":"$:/plugins/kookma/shiraz/macros/image-card","created":"20190913094619863","modified":"20200323093719782","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-card(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", pos:\"top\", alt:\"\")\n\\import $:/plugins/kookma/shiraz/macros/image-card-utility\n<$reveal tag=\"div\" type=\"match\" default=\"top\" text=<<__pos__>> >\n<$macrocall $name=image-card-top img=<<__img__>> title=<<__title__>> text=<<__text__>>\n footer=<<__footer__>> width=<<__width__>> align=<<__align__>> alt=<<__alt__>> />\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" default=\"top\" text=<<__pos__>> >\n<$macrocall $name=image-card-bottom img=<<__img__>> title=<<__title__>> text=<<__text__>>\n footer=<<__footer__>> width=<<__width__>> align=<<__align__>> alt=<<__alt__>> />\n</$reveal>\n\\end\n\n\\define image-card-top(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n <$image class=\"card-img-top\" source=<<__img__>> alt=<<__alt__>> />\n <div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n <div class=\"h5 card-title\">$title$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n <div class=\"card-text\">$text$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n </$reveal>\n </div> \n</div>\n\\end\n\n\\define image-card-bottom(img, width:\"30%\", align:\"none\", title:\"Empty\", text:\"Empty\", footer:\"Empty\", alt:\"\")\n<div class=\"card image-align-$align$\" style=\"width:$width$;\">\n <div class=\"card-body\">\n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__title__>> >\n <div class=\"h5 card-title\">$title$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__text__>> >\n <div class=\"card-text\">$text$</div>\n </$reveal> \n <$reveal tag=\"div\" type=\"nomatch\" default=\"Empty\" text=<<__footer__>> >\n <p class=\"card-text\"><small class=\"text-muted\">$footer$</small></p>\n </$reveal>\n </div> \n <$image class=\"card-img-bottom\" source=<<__img__>> alt=<<__alt__>> />\n</div>\n\\end"},"$:/plugins/kookma/shiraz/macros/image-overlay-utility":{"title":"$:/plugins/kookma/shiraz/macros/image-overlay-utility","created":"20191209114338849","modified":"20200323093719804","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define _cls-content-details() image-overlay-content-details $(fdcls)$"},"$:/plugins/kookma/shiraz/macros/image-overlay":{"title":"$:/plugins/kookma/shiraz/macros/image-overlay","created":"20181117203737197","modified":"20200323093719798","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-overlay(img, width:\"30%\", align:\"none\", caption:\"\", title:\"\", text:\"\", fadein:\"left\", alt:\"\")\n\\import $:/plugins/kookma/shiraz/macros/image-overlay-utility\n<div class=\"image-overlay-container image-align-$align$\" style=\"width:$width$;\">\n <h3 class=\"image-overlay-title\">$caption$</h3>\n <div class=\"image-overlay-content\">\n <div class=\"image-overlay-content-overlay\"></div>\n <$image class=\"image-overlay-content-image\" source=<<__img__>> alt=<<__alt__>>/>\n <$set name=\"fdcls\" filter=\"$fadein$ +[splitbefore[ ]] +[addprefix[image-overlay-fadeIn-]]\">\n <div class=<<_cls-content-details>> >\n <h3 class=\"image-overlay-content-title\">$title$</h3>\n <p class=\"image-overlay-content-text\">$text$</p>\n </div>\n </$set>\n </div>\n</div>\n\\end"},"$:/plugins/kookma/shiraz/macros/image-polaroid":{"title":"$:/plugins/kookma/shiraz/macros/image-polaroid","created":"20181117203654803","modified":"20200323093719811","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-polaroid(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-polaroid image-align-$align$\" style=\"width:$width$;\">\n <$image source=\"\"\"$img$\"\"\" tooltip=\"\"\"$tooltip$\"\"\"/>\n <figcaption class=\"image-polaroid-caption\">$caption$</figcaption>\n</figure> \n\\end"},"$:/plugins/kookma/shiraz/macros/image-pretty":{"title":"$:/plugins/kookma/shiraz/macros/image-pretty","created":"20181117203541398","modified":"20200323093719817","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-pretty(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", alt:\"\")\n<figure class=\"image-pretty image-align-$align$\" style=\"width:$width$;\">\n <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>> /> \n <figcaption class=\"image-pretty-caption\">$caption$</figcaption>\n</figure> \n\\end"},"$:/plugins/kookma/shiraz/macros/image-slidein":{"title":"$:/plugins/kookma/shiraz/macros/image-slidein","created":"20181117040544570","modified":"20200323093719824","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-slidein(img, width:\"30%\", align:\"none\", caption:\"\", tooltip:\"\", slidein:\"left\", alt:\"\")\n<figure class=\"image-slidein mr-cap-$slidein$ image-align-$align$\" style=\"width:$width$;\">\n <$image source=<<__img__>> tooltip=<<__tooltip__>> alt=<<__alt__>>/>\n <figcaption>$caption$</figcaption>\n</figure> \n\\end"},"$:/plugins/kookma/shiraz/macros/list-search":{"title":"$:/plugins/kookma/shiraz/macros/list-search","author":"Jeremy Ruston","created":"20191209101857832","creator":"Mohammad","description":"creates few paragraphs of dumy text","modified":"20200323093719831","modifier":"Mohammad","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define list-search( filter:\"[!is[system]]\", search:\"search:title\", template:\"$:/core/ui/ListItemTemplate\",\n class:\"\", stateTiddler:\"\", placeholder:\"keywords\")\n<$set name=\"state\" filter=\"[[$:/temp/list-search]addsuffix[/$stateTiddler$]addsuffix<qualify>]\">\n<div class=<<__class__>> >\n<$edit-text tiddler=<<state>> type=\"search\" tag=\"input\" default=\"\" placeholder=\"$placeholder$\"/>\n</div>\n<$reveal state=<<state>> type=\"match\" text=\"\" class=<<__class__>> tag=div>\n<$list filter=\"$filter$\" template=<<__template__>>/>\n</$reveal>\n<$reveal state=<<state>> type=\"nomatch\" text=\"\" class=<<__class__>> tag=div>\n<$set name=term tiddler=<<state>> field=\"text\">\n<$list filter=\"$filter$+[$search$<term>]\" template=<<__template__>>/>\n</$set>\n</$reveal>\n</$set>\n\\end\n<!-- from Tobias Beer list-search with modification-->"},"$:/plugins/kookma/shiraz/macros/multicol":{"title":"$:/plugins/kookma/shiraz/macros/multicol","created":"20191018063242993","modified":"20200323093719835","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define multicol(src, ncol:\"\", class:\"\")\n<div class=\"sh-multicol$ncol$ $class$\">\n\n$src$\n</div>\n\\end"},"$:/plugins/kookma/shiraz/macros/slider":{"title":"$:/plugins/kookma/shiraz/macros/slider","created":"20190322161929431","description":"Slider macro shows (hides) its content.","modified":"20201113161937207","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define slider(label, src, labelClass, srcClass, status:\"closed\")\n<$set name=\"revealState\" value=\"\"\"$:/state/shiraz/slider-macro/$(currentTiddler)$/$label$\"\"\">\n\n<h2 class=\"$labelClass$\">\n <$reveal type=\"nomatch\" state=<<revealState>> text=\"open\" default=\"$status$\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"open\">\n <span class=\"kk-sh-slider\"><$transclude tiddler=\"$:/core/images/right-arrow\" /></span>\n </$button>\n </$reveal>\n <$reveal type=\"match\" state=<<revealState>> text=\"open\" default=\"$status$\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\" set=<<revealState>> setTo=\"closed\">\n <span class=\"kk-sh-slider\"><$transclude tiddler=\"$:/core/images/down-arrow\" /></span>\n </$button>\n </$reveal>\n $label$\n</h2>\n\n<$reveal type=\"match\" state=<<revealState>> text=\"open\" default=\"$status$\" class=\"$srcClass$\">\n\n$src$\n</$reveal>\n</$set>\n\\end"},"$:/plugins/kookma/shiraz/macros/space":{"title":"$:/plugins/kookma/shiraz/macros/space","created":"20170629183034888","modified":"20200323093719849","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define vspace(height:\"25px\")\n<p style=\"margin-bottom: $height$;\"></p>\n\\end\n\n\\define hspace(width:\"25px\")\n<span style=\"margin-left: $width$;\"></span>\n\\end\n"},"$:/plugins/kookma/shiraz/macros/text-utility":{"title":"$:/plugins/kookma/shiraz/macros/text-utility","created":"20181101154956345","modified":"20200323093719853","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define tc(src:\"\", color:\"red\") <span style=\"color:$color$;\">$src$</span>\n\\define bc(src:\"\", color:\"yellow\") <span style=\"background-color:$color$;\">$src$</span>\n\\define mono(src:\"\", class:\"\") <code class=\"mono $class$\">$src$</code>\n\\define transform(case:\"\", src:\"\", class:\"\") <span class=\"text-$case$ $class$\">$src$</span>"},"$:/plugins/kookma/shiraz/readme":{"title":"$:/plugins/kookma/shiraz/readme","created":"20200323092614037","modified":"20200323134846163","tags":"","type":"text/vnd.tiddlywiki","text":"; Shiraz\nShiraz is a small framework including stylesheets, templates and macros to create stylish contents in Tiddlywiki. It uses modified CSS classes from [[Bootstrap|https://getbootstrap.com/]] 4.3.1. Shiraz has customized elements like alerts, cards, panels, images, static tables, dynamic tables, badges, texts, ...\n\n;Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Shiraz/\n* Code: https://github.com/kookma/TW-Shiraz\n"},"$:/plugins/kookma/shiraz/styles/alerts-leftbar":{"title":"$:/plugins/kookma/shiraz/styles/alerts-leftbar","text":".leftbar{\n border-width:0px !important;\n border-radius:0px !important;\n border-left-width: 5px !important;\n}","created":"20181208184228896","modified":"20200323093719861","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/alerts":{"title":"$:/plugins/kookma/shiraz/styles/bs/alerts","text":"/*Was taken from bootstrap 4.1.3*/\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n","created":"20180820171551129","modified":"20200323093719869","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/background-colors":{"title":"$:/plugins/kookma/shiraz/styles/bs/background-colors","text":".bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}","created":"20180820170518161","modified":"20200323093719877","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/badge":{"title":"$:/plugins/kookma/shiraz/styles/bs/badge","text":"/* Extracted from bootstrap 4.1.3 */\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n","created":"20181122140031075","modified":"20200323093719884","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/borders":{"title":"$:/plugins/kookma/shiraz/styles/bs/borders","text":".border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","created":"20180820174710383","modified":"20200323093719893","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/btn":{"title":"$:/plugins/kookma/shiraz/styles/bs/btn","text":"/* Button and btn classes Mohammad*/\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n/* button size */\n\n.btn-lg{\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm{\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}","created":"20180822044340070","modified":"20200323093719900","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/card-column":{"title":"$:/plugins/kookma/shiraz/styles/bs/card-column","text":"/* Extracted from bootstrap 4.3.1 */\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}","created":"20181122175345419","modified":"20200323093719915","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/card-deck":{"title":"$:/plugins/kookma/shiraz/styles/bs/card-deck","text":"/* Extracted from bootstrap 4.1.3 */\n\n.card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n -ms-flex-direction: column;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}","created":"20180822174847352","modified":"20200323093719923","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/card-group":{"title":"$:/plugins/kookma/shiraz/styles/bs/card-group","text":"/* Extracted from bootstrap 4.1.3 */\n.card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n","created":"20181122175111676","modified":"20200323093719932","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/card":{"title":"$:/plugins/kookma/shiraz/styles/bs/card","text":"/* Extracted from bootstrap 4.1.3 */\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n","created":"20180822174608965","modified":"20200323093719907","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/clearfix":{"title":"$:/plugins/kookma/shiraz/styles/bs/clearfix","text":".clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}","created":"20190919042042391","modified":"20200323093719936","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/float":{"title":"$:/plugins/kookma/shiraz/styles/bs/float","text":".float-left {\n float: left;\n}\n\n.float-right {\n float: right;\n}\n\n.float-none {\n float: none;\n}\n","created":"20180823142040855","modified":"20200323093719944","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/my-adjustment":{"title":"$:/plugins/kookma/shiraz/styles/bs/my-adjustment","text":"/* My adjustments to bootstrap 4.1.3 css classes */\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n/* Link is hacked to be compatible with bootstrap \nclasses remove it if the TW core objects break\n*/\n\n","created":"20180822044831813","modified":"20200323093719950","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/shadow":{"title":"$:/plugins/kookma/shiraz/styles/bs/shadow","text":".shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}","created":"20180823114259911","modified":"20200323093719957","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/sizing-spacing":{"title":"$:/plugins/kookma/shiraz/styles/bs/sizing-spacing","text":"/* Extracted from bootstrap 4.3.1 */\n/*Defines margins, paddings, width and height*/\n.w-25 {\n width: 25% !important;\n}\n.w-50 {\n width: 50% !important;\n}\n.w-75 {\n width: 75% !important;\n}\n.w-100 {\n width: 100% !important;\n}\n.w-auto {\n width: auto !important;\n}\n.h-25 {\n height: 25% !important;\n}\n.h-50 {\n height: 50% !important;\n}\n.h-75 {\n height: 75% !important;\n}\n.h-100 {\n height: 100% !important;\n}\n.h-auto {\n height: auto !important;\n}\n.mw-100 {\n max-width: 100% !important;\n}\n.mh-100 {\n max-height: 100% !important;\n}\n.m-0 {\n margin: 0 !important;\n}\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n.m-1 {\n margin: 0.25rem !important;\n}\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n.m-2 {\n margin: 0.5rem !important;\n}\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n","created":"20180822191952379","modified":"20200323093719964","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/text-alignment":{"title":"$:/plugins/kookma/shiraz/styles/bs/text-alignment","text":".text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}","created":"20180822051223866","modified":"20200323093719971","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/text-colors":{"title":"$:/plugins/kookma/shiraz/styles/bs/text-colors","text":"/* from bootstrap 4.1.3 */\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n","created":"20180820173351023","modified":"20200323093719978","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/bs/text-utility":{"title":"$:/plugins/kookma/shiraz/styles/bs/text-utility","text":"/* Can be removed latter. This is used for illustration of bootstrap cards */\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\n.h1 {\n font-size: 2.5rem;\n}\n\n.h2 {\n font-size: 2rem;\n}\n\n.h3 {\n font-size: 1.75rem;\n}\n\n.h4 {\n font-size: 1.5rem;\n}\n\n.h5 {\n font-size: 1.25rem;\n}\n\n.h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.hr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n","created":"20180822130528002","modified":"20200323093719985","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/clear-float":{"title":"$:/plugins/kookma/shiraz/styles/clear-float","text":"/* Resolve issue for floating objects which cross the tiddler frame!\nThe below code should force the tiddler to always wrap around floating elements, so that they are always inside\nRef: https://groups.google.com/d/msg/tiddlywiki/5bZwwj6cyac/2LzFeA7AAwAJ\n*/\n\n.tc-tiddler-body:before, .tc-tiddler-body:after {\n content: \"\";\n display: table;\n}\n.tc-tiddler-body:after {\n clear: both;\n}\n.tc-tiddler-body {\n zoom: 1;\n}","created":"20190902043605186","modified":"20200323093719992","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab":{"title":"$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab","text":".tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n background: none;\n border: none;\n border-bottom: solid 1px #737373 !important;\n font-weight: bold;\n color: #DB4C3F !important;\n}","created":"20191209105546612","modified":"20200323093719997","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/dbadge":{"title":"$:/plugins/kookma/shiraz/styles/dbadge","text":"/*Credits: \nNishant Srivastava https://codepen.io/nisrulz/pen/bpQWLW\nMohammad Rahmani: https://github.com/kookma\n*/\n.dbadge {\n display: inline-block;\n margin: 0.0em;\n}\n.dbadge > span {\n color: #ffffff;\n font-size: 0.8em;\n font-weight: 400;\n line-height: 1;\n padding: .2em .6em;\n text-align: center;\n vertical-align: baseline;\n white-space: nowrap;}\n\n.dbadge-subject{\n background-color: #656565;\n border-bottom-left-radius: 0.25em;\n border-top-left-radius: 0.25em;}\n.dbadge-status {\n border-bottom-right-radius: 0.25em;\n border-top-right-radius: 0.25em;}\n\n.dbadge-primary {\n background-color: #337ab7;}\n.dbadge-success {\n background-color: #5cb85c;}\n.dbadge-info {\n background-color: #5bc0de;}\n.dbadge-warning {\n background-color: #f0ad4e;}\n.dbadge-danger {\n background-color: #d9534f;}","created":"20181204192835967","modified":"20200323093720003","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/details-slider":{"title":"$:/plugins/kookma/shiraz/styles/details-slider","text":"/*details html5 macro*/\ndetails > summary {\n padding: 2px 6px;\n font-weight:500;\n outline:none;\n}\ndetails > div {\n padding: 2px 6px;\n margin: 0;\n}\n\nbutton .kk-sh-slider svg{\nwidth: 0.8em;\nheight: 0.8em;\nvertical-align: middle;}","created":"20181101185908941","modified":"20200325083406128","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/dynamic-tables":{"title":"$:/plugins/kookma/shiraz/styles/dynamic-tables","text":"/* edit-text box for dynamic table */\n.shiraz-dtable-textbox {\n width:100%;\n padding-left: 5px;\n border: none;\n}\n\n.shiraz-dtable-textbox:focus {\n outline: none;\n border: 1px solid #5778d8;\n background: transparent;\n}\n\n.tbl-inpt-edit { width: 100%; background-color: transparent; border: none; color: #000000;}\n\nbutton.tbl-sort-svg > svg { text-shadow: none; fill:#000000; height:10px; padding:0 0 2px 0; }\n\nth .tc-tiddlylink, th a { text-shadow: none; margin: 0 0 0 0; padding: 0 0 0 0; color:#000000; font-weight: bold; }\n\n\n/* DELETE CONFIRMATION */\ntable thead .tbl-delete-confirm > th {\n color: white;\n background-color:#ff0033;\n padding: 8px;\n margin: 0px;\n text-align:center;\n\tfont-weight:normal;\n}\n\ntable thead .tbl-delete-confirm > th > button {\n color: white;\n fill: white;\n}\n\n/* customize the table footer used for numerical summary*/\n.shiraz-dtable-footer tr td{\n\tbackground:#f0f0f0; \n\tborder:none;\n}","created":"20191128184537594","modified":"20200323093720018","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-alignment":{"title":"$:/plugins/kookma/shiraz/styles/image-alignment","text":"/*Image aligning classes*/\n.image-align-right{\n float:right;\n margin:0.5em 0 1.3em 1.4em;\n}\n.image-align-left{\n float:left;\n margin: 0.5em 1.4em 1.3em 0;\n}\n.image-align-center{\n display:block;\n margin: 0.5em auto 1.3em; \n}\n\n.image-float-none {\n float: none !important;\n}","created":"20190918193736314","modified":"20200323093720025","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-basic":{"title":"$:/plugins/kookma/shiraz/styles/image-basic","text":".image-simple {\n text-align: center;\n font-style: italic;\n font-size: smaller;\n text-indent: 0;\n padding: 0.5em;\n}","created":"20181119182848505","modified":"20200323093720030","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-overlay":{"title":"$:/plugins/kookma/shiraz/styles/image-overlay","text":".image-overlay-container{\n width: 50%; \n box-sizing: border-box;\n}\n\n@media screen and (max-width: 640px){\n .image-overlay-container{\n display: block;\n width: 100%;\n }\n}\n\n@media screen and (min-width: 900px){\n .image-overlay-container{\n width: 33.33%;\n }\n}\n\n.image-overlay-container .image-overlay-title{\n color: #1a1a1a;\n text-align: center;\n margin-bottom:10px;\n}\n\n.image-overlay-content {\n position: relative;\n width: 90%;\n max-width: 400px;\n margin: auto;\n overflow: hidden;\n}\n\n.image-overlay-content .image-overlay-content-overlay {\n background: rgba(0,0,0,0.7);\n position: absolute;\n height: 99%;\n width: 100%;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n opacity: 0;\n -webkit-transition: all 0.4s ease-in-out 0s;\n -moz-transition: all 0.4s ease-in-out 0s;\n transition: all 0.4s ease-in-out 0s;\n}\n\n.image-overlay-content:hover .image-overlay-content-overlay{\n opacity: 1;\n}\n\n.image-overlay-content-image{\n width: 100%;\n}\n\n.image-overlay-content-details {\n position: absolute;\n text-align: center;\n padding-left: 1em;\n padding-right: 1em;\n width: 100%;\n top: 50%;\n left: 50%;\n opacity: 0;\n -webkit-transform: translate(-50%, -50%);\n -moz-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transition: all 0.3s ease-in-out 0s;\n -moz-transition: all 0.3s ease-in-out 0s;\n transition: all 0.3s ease-in-out 0s;\n}\n\n.image-overlay-content:hover .image-overlay-content-details{\n top: 50%;\n left: 50%;\n opacity: 1;\n}\n\n.image-overlay-content-details h3{\n color: #fff;\n font-weight: 500;\n letter-spacing: 0.15em;\n margin-bottom: 0.5em;\n text-transform: uppercase;\n}\n\n.image-overlay-content-details p{\n color: #fff;\n font-size: 0.8em;\n}\n\n.image-overlay-fadeIn-bottom{\n top: 80%;\n}\n\n.image-overlay-fadeIn-top{\n top: 20%;\n}\n\n.image-overlay-fadeIn-left{\n left: 20%;\n}\n\n.image-overlay-fadeIn-right{\n left: 80%;\n}","created":"20181116173704182","modified":"20200323093720035","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-polaroid":{"title":"$:/plugins/kookma/shiraz/styles/image-polaroid","text":".image-polaroid {\n min-width:64px;\n background-color: #f8f9fa;\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\n}\n.image-polaroid img {\n width: 100%;\n padding:10px;\n height: auto;\n}\n.image-polaroid .image-polaroid-caption {\n padding:10px 15px 10px;\n text-align: center; \n line-height: 1.4em;\n font-weight:300;\n font-size: 0.9em; \n}","created":"20181116094450565","modified":"20200323093720041","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-pretty":{"title":"$:/plugins/kookma/shiraz/styles/image-pretty","text":".image-pretty {\n min-width:64px;\n border: 1px solid #c8ccd1;\n background-color:#f8f9fa;\n}\n.image-pretty:hover {\n border: 1px solid #777;\n}\n.image-pretty img {\n padding:2px;\n width: 100%;\n height: auto;\n}\n.image-pretty .image-pretty-caption {\n padding:10px 15px 10px;\n text-align: center; \n line-height: 1.4em;\n font-weight:300;\n font-size: 0.9em; \n}\n\n","created":"20181115182806512","modified":"20200323093720047","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/image-slidein":{"title":"$:/plugins/kookma/shiraz/styles/image-slidein","text":".image-slidein { \n display: block; \n position: relative; \n /*float: left;*/\n overflow: hidden; \n /* margin: 0 20px 20px 0;*/\n}\n\n.image-slidein img {\n width: 100%;\n height: auto;\n}\n\n.image-slidein figcaption { \n position: absolute; \n background: rgba(0,0,0,0.75); \n color: white; \n padding: 10px 20px; \n opacity: 0;\n -webkit-transition: all 0.6s ease;\n -moz-transition: all 0.6s ease;\n -o-transition: all 0.6s ease;\n}\n.image-slidein:hover figcaption {\n opacity: 1;\n}\n.image-slidein:before { \n content: \"?\"; \n position: absolute; \n font-weight: 800; \n background: rgba(255,255,255,0.75); \n text-shadow: 0 0 5px white;\n color: black;\n width: 24px;\n height: 24px;\n -webkit-border-radius: 12px;\n -moz-border-radius: 12px;\n border-radius: 12px;\n text-align: center;\n font-size: 14px;\n line-height: 24px;\n -moz-transition: all 0.6s ease;\n opacity: 0.75;\t\n}\n.image-slidein:hover:before {\n opacity: 0;\n}\n\n.mr-cap-left:before { bottom: 10px; left: 10px; }\n.mr-cap-left figcaption { bottom: 0; left: -30%; }\n.mr-cap-left:hover figcaption { left: 0; }\n\n.mr-cap-right:before { bottom: 10px; right: 10px; }\n.mr-cap-right figcaption { bottom: 0; right: -30%; }\n.mr-cap-right:hover figcaption { right: 0; }\n\n.mr-cap-top:before { top: 10px; left: 10px; }\n.mr-cap-top figcaption { left: 0; top: -30%; }\n.mr-cap-top:hover figcaption { top: 0; }\n\n.mr-cap-bottom:before { bottom: 10px; left: 10px; }\n.mr-cap-bottom figcaption { left: 0; bottom: -30%;}\n.mr-cap-bottom:hover figcaption { bottom: 0; }\n","created":"20181117040213926","modified":"20200323093720054","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/misc/edit-buttons":{"title":"$:/plugins/kookma/shiraz/styles/misc/edit-buttons","text":"/*Edit buttons as traffic lights*/\n.tc-tiddler-controls .tc-image-delete-button {fill:#ebb;}\n.tc-tiddler-controls .tc-image-cancel-button {fill:#ed9;}\n.tc-tiddler-controls .tc-image-done-button {fill:#beb;}","created":"20191029091851469","modified":"20200323093720062","tags":"","type":"text/css"},"$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility":{"title":"$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility","text":"/* Mouseover toolbar visibility: courtesy from Tobias Beer*/\n.tc-tiddler-frame .tc-titlebar button {\n opacity: 0;\n transition: opacity .5s ease-in-out;\n}\n.tc-tiddler-frame:hover .tc-titlebar button {\n zoom: 1;\n filter: alpha(opacity=100);\n opacity: 1;\n}\n","created":"20191029094209435","modified":"20200323093720069","tags":"","type":"text/css"},"$:/plugins/kookma/shiraz/styles/misc/ui-buttons":{"title":"$:/plugins/kookma/shiraz/styles/misc/ui-buttons","created":"20191029092047069","modified":"20200323093720078","tags":"$:/tags/Stylesheet","type":"text/css","text":"/* These css rules makes TW UI buttons in beatiful color */\n\n/*page control buttons*/\n.tc-page-controls .tc-image-new-button { fill: #5EB95E; } /*New tiddler button*/\n.tc-page-controls .tc-image-options-button { fill:#8058A5; } /*Open control pannel*/\n\n/*tiddler buttons in beautiful color*/\n.tc-tiddler-controls .tc-image-edit-button { fill:#F37B1D; }/*edit tiddler*/\n.tc-tiddler-controls .tc-image-info-button { fill: #0e90d2; } /*Info button*/\n"},"$:/plugins/kookma/shiraz/styles/mono":{"title":"$:/plugins/kookma/shiraz/styles/mono","text":".mono {\n\tcolor:unset;\n\tbackground-color: #f7f7f9;\n\tborder: 1px solid #e1e1e8;\n\twhite-space: pre-wrap;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: \"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace;\n}","created":"20181010192406005","modified":"20200323093720084","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/multicols/column":{"title":"$:/plugins/kookma/shiraz/styles/multicols/column","text":"/* multicolumn layouts with fixed column number works on the whole tiddler */\n.multicol .tc-tiddler-body {\n column-width: 14em;\n column-rule: 1px solid #ccc;\n}\n/* two columns responsive*/\n.multicol2 .tc-tiddler-body {\n\tcolumn-count:2; \n\tcolumn-width:15em;\n}\n/* three columns responsive*/\n.multicol3 .tc-tiddler-body {\n\tcolumn-count:3; \n\tcolumn-width:10em;\n}\n\n\n/* remove the extra space from first paragraph */\n.multicol .tc-tiddler-body > :first-child, \n.multicol2 .tc-tiddler-body > :first-child, \n.multicol3 .tc-tiddler-body > :first-child { margin-top: 0;}\n\n/*-------------------------------------------------------------------------------*/\n/* Classes for using with macro and div elements */\n.sh-multicol {\n column-width: 14em;\n column-rule: 1px solid #ccc;\n}\n/* two columns responsive*/\n.sh-multicol2 {\n\tcolumn-count:2; \n\tcolumn-width:15em;\n}\n/* three columns responsive*/\n.sh-multicol3 {\n\tcolumn-count:3; \n\tcolumn-width:10em;\n}\n\n/* remove the extra space from first paragraph */\n.sh-multicol > :first-child,\n.sh-multicol2 > :first-child,\n.sh-multicol3 > :first-child { margin-top: 0;}","created":"20190627204703061","modified":"20200323093720089","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/multicols/flex backup":{"title":"$:/plugins/kookma/shiraz/styles/multicols/flex backup","text":"/* multicolumn layout using flexbox courtesy from Bootstrap 4.3.1*/\n.flex-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n.flex-col-1, \n.flex-col-2, \n.flex-col-3 {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.flex-col-1{flex: 1 1 0;}\n.flex-col-2{flex: 2 1 0;}\n.flex-col-3{flex: 3 1 0;}\n\n.flex-col-1 > :first-child,\n.flex-col-2 > :first-child,\n.flex-col-3 > :first-child {\n\tmargin-top: 0;}","created":"20191030140900552","modified":"20200323093720101","type":"text/css"},"$:/plugins/kookma/shiraz/styles/multicols/flex":{"title":"$:/plugins/kookma/shiraz/styles/multicols/flex","text":"/* multicolumn layout using flexbox courtesy from Bootstrap 4.3.1*/\n.flex-row {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n/* margin-right: -15px;\n margin-left: -15px;*/\n}\n\n.flex-col,\n.flex-col-1, \n.flex-col-2, \n.flex-col-3,\n.flex-col-4 {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n/* for small screen width>=576px\nhttps://getbootstrap.com/docs/4.3/layout/grid/\n*/\n@media (min-width: 576px) {\n.flex-col {flex: 1 1 0; max-width: 100%;}\n.flex-col-1 {flex: 0 0 25%; max-width:25%}\n.flex-col-2 {flex: 0 0 50%; max-width:50%}\n.flex-col-3 {flex: 0 0 75%; max-width:75%}\n.flex-col-4 {flex: 0 0 100%; max-width:100%}\n}\n\n.flex-col > :first-child,\n.flex-col-1 > :first-child,\n.flex-col-2 > :first-child,\n.flex-col-3 > :first-child,\n.flex-col-4 > :first-child {\n margin-top: 0;}\n\n\n/* Alignment */\n.flex-align-items-center {\n align-items: center !important;\n}\n.flex-justify-content-center {\n justify-content: center !important;\n}\n\n.flex-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}","created":"20191014193910006","modified":"20200323093720097","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/multicols/storyriver":{"title":"$:/plugins/kookma/shiraz/styles/multicols/storyriver","text":"/* create story river in two column layout */\n.tc-story-river {\n display: flex;\n flex-wrap: wrap;\n}\n\n.tc-tiddler-frame\n{\n max-width: 49%; margin-right: 1%;\n /*max-width: 32%; margin-right: 1%; */\n}\n","created":"20140523214749659","modified":"20200323093720108","tags":"","type":"text/css"},"$:/plugins/kookma/shiraz/styles/notebook":{"title":"$:/plugins/kookma/shiraz/styles/notebook","text":"@media print{\n .notebook .tc-tiddler-body {\n padding-left:60px;\n margin-top:25px;\n }\n .notebook .tc-tiddler-title,\n .notebook .tc-subtitle,\n\t.notebook .tc-tags-wrapper {\n padding-left:60px;\n }\n}\n\n@media screen{\n .notebook .tc-tiddler-title,\n .notebook .tc-subtitle,\n\t.notebook .tc-tags-wrapper,\n\t.notebook .tc-tiddler-body {\n padding-left:30px;\n }\n\n}\t\n\n@media screen and (max-width:960px) {\n .notebook .tc-tiddler-title,\n .notebook .tc-subtitle,\n .notebook .tc-tags-wrapper,\n .notebook .tc-tiddler-body {\n padding-left:60px;\n }\n\n}\n\n.notebook:before {\n content: '';\n position: absolute;\n top: 0; bottom: 0; left: 0;\n width: 50px;\n background: radial-gradient(#575450 6px, transparent 7px) repeat-y;\n background-size: 30px 30px;\n border-right: 3px solid #D44147;\n\t z-index:1;\n}\n\n.notebook .tc-tiddler-body {\n\t position: relative;\n background: linear-gradient(transparent, transparent 1.95em, #91D1D3 1.95em);\n background-size: 2em 2em;\n\t min-height:90px; \n}\n\n.notebook .tc-tiddler-body{\n\t padding-top:20px;\n font-family: \"Handlee\", cursive;\n font-weight:300;\n line-height:2em;\n color:#696969;\n}\n\n/* Setting font for other elements */\n.notebook .tc-tiddler-body pre,\n.notebook .tc-tiddler-body code,\n.notebook .tc-tiddler-body pre code\n{\n font-family: \"Handlee\", cursive;\n font-weight:300;\n}","created":"20180412105446259","modified":"20200323093720115","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/semantic/bglowtone-colors":{"title":"$:/plugins/kookma/shiraz/styles/semantic/bglowtone-colors","text":"/* Colors taked from [1] https://www.bg-w3schools.bg-com/colors/colors_names.bg-asp \n[2] http://www.bg-workwithcolor.bg-com/color-chart-full-01.bg-htm*/\n/*Low tone background colors*/\n.bg-mistyrose{background-color:#ffe4e1;}\n.bg-lemonchiffon{background-color:#fffacd;}\n.bg-lavenderblush{background-color:#fff0f5;}\n.bg-lavender{background-color:#e6e6fa;}\n.bg-honeydew{background-color:#f0fff0;}\n.bg-lightcyan{background-color:#e0ffff;}\n.bg-aliceblue{background-color:#f0f8ff;}\n.bg-cornsilk{background-color:#fff8dc;}\n.bg-gainsboro{background-color:#dcdcdc;}\n.bg-bisque{background-color:#ffe4c4;}\n.bg-snow{background-color:#fffafa;}","created":"20181029071532524","list":"mistyrose lemonchiffon lavenderblush lavender honeydew lightcyan aliceblue cornsilk gainsboro bisque snow","modified":"20200323093720119","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/sticky-footer":{"title":"$:/plugins/kookma/shiraz/styles/sticky-footer","text":".sticky-footer {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 0.5rem;\n background-color: #efefef;\n text-align: center;\n margin-top: 5px;\n box-sizing: border-box;\n width: 100%;\n}\n","created":"20180907070611557","modified":"20200323093720126","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/tables":{"title":"$:/plugins/kookma/shiraz/styles/tables","text":".table-tight{\n\tfont-size:0.8em;\n}\n\n\n/*\nThis tiddler defines the custom stylesheet for tables \nApril 13, 2018\n*/\n\n/*center aligned table*/\n.table-center {\n margin:0 auto;\n}\n\n/* Table caption at top */\n.table-caption-top caption {\n caption-side:top;\n margin-bottom:0.2rem;\n}\n\n/* Striped row table */\n.table-striped-row tr:nth-child(even) td{\n background-color:#F3F6F6; \n}\n\n/* Striped column table */\n.table-striped-col tbody tr td:nth-child(odd) {\n\tbackground-color: #F3F6F6;\n}\n\n/*Borderless table*/\n.table-borderless, \n.table-borderless thead td, \n.table-borderless th, \n.table-borderless tr, \n.table-borderless td{\n border:0;\n}\n\n/* Table lines should be used with table-borderless for abbreviations and two column layout */\n\n.table-lines thead td, .table-lines th{\n border-bottom: 2px solid #dddddd;\n\t background-color:unset;\n }\n.table-lines td{\n border-bottom: 1px solid #dddddd;\n background-color:unset;\n }\n\n/* Table hover (yellow background on mouse over) */\n.table-hover tbody tr:hover{\n color: #212529;\n background-color: #e6e6e6;\n}\n.table-hover-yellow tbody tr:hover{background-color: #ffffcc;}\n.table-hover-cyan tbody tr:hover{background-color: #e6ffff;}\n\n/* Table with colored header */\n.thead-primary thead td, .thead-primary th{background-color: #007bff; color: #fff;}\n.thead-secondary thead td, .thead-secondary th{background-color: #6c757d; color: #fff;}\n.thead-success thead td, .thead-success th{background-color: #28a745; color: #fff;}\n.thead-warning thead td, .thead-warning th{background-color: #ffc107; color: #fff;}\n.thead-danger thead td, .thead-danger th{background-color: #dc3545; color: #fff;}\n.thead-info thead td, .thead-info th{background-color: #17a2b8; color: #fff;}\n.thead-dark thead td, .thead-dark th{background-color: #343a40; color: #fff;}\n.thead-light thead td, .thead-light th{background-color: #f8f9fa; color: #212529;}\n\n/* Table with colored header correct to fill svgs with white color */\n.thead-primary > thead> tr > td svg, .thead-primary > thead> tr > th svg,\n.thead-secondary > thead> tr > td svg, .thead-secondary > thead> tr > th svg,\n.thead-success > thead> tr > td svg, .thead-success > thead> tr > th svg,\n.thead-warning > thead> tr > td svg, .thead-warning > thead> tr > th svg,\n.thead-danger > thead> tr > td svg, .thead-danger > thead> tr > th svg,\n.thead-info > thead> tr > td svg, .thead-info > thead> tr > th svg,\n.thead-dark > thead> tr > td svg, .thead-dark > thead> tr > th svg\n {fill:#ffffff; padding:0 0 3px 0; }\n\n\n.thead-primary th .tc-tiddlylink, .thead-primary th a,\n.thead-secondary th .tc-tiddlylink, .thead-primary th a,\n.thead-success th .tc-tiddlylink, .thead-primary th a,\n.thead-warning th .tc-tiddlylink, .thead-primary th a,\n.thead-danger th .tc-tiddlylink, .thead-primary th a,\n.thead-info th .tc-tiddlylink, .thead-primary th a,\n.thead-dark th .tc-tiddlylink, .thead-primary th a{color:#ffffff}\n","created":"20180413092232257","modified":"20200323093720133","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/styles/tiddler-title-class":{"title":"$:/plugins/kookma/shiraz/styles/tiddler-title-class","text":".title-primary .tc-title {\n color: #007bff;\n}\n.title-secondary .tc-title {\n color: #6c757d;\n}\n.title-success .tc-title {\n color: #28a745;\n}\n.title-info .tc-title {\n color: #17a2b8;\n}\n.title-warning .tc-title {\n color: #ffc107;\n}\n.title-danger .tc-title {\n color: #dc3545;\n}\n.title-light .tc-title {\n color: #f8f9fa;\n}\n.title-dark .tc-title {\n color: #343a40;\n}\n.title-white .tc-title {\n color: #fff;\n}","created":"20191101112257846","modified":"20200323093720140","tags":"test $:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/shiraz/templates/body/color":{"title":"$:/plugins/kookma/shiraz/templates/body/color","created":"20200210160016959","modified":"20200323093720147","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"color","type":"text/vnd.tiddlywiki","text":"\\define showCell()\n<style>\n.dt:not(:disabled):dt(.disabled) {cursor: pointer;}\na.dt.disabled,fieldset:disabled a.dt {pointer-events: none;}\n</style>\n<$link overrideClass=\"dt disabled\" to=\"\">\n<$edit-text tag=input type=color tiddler=<<currentRecord>> field=color/>\n</$link>\n\\end\n\n\\define edit_color() <$edit-text tag=input type=color tiddler=<<currentRecord>> field=<<currentColumn>>/>\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<edit_color>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"},"$:/plugins/kookma/shiraz/templates/body/date":{"title":"$:/plugins/kookma/shiraz/templates/body/date","created":"20170128100657312","modified":"20200323093720153","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"created modified","type":"text/vnd.tiddlywiki","text":"<td>\n<$view tiddler=<<currentRecord>> field=<<currentColumn>> format=\"date\" template=\"YYYY.0MM.0DD\"/>\n</td>"},"$:/plugins/kookma/shiraz/templates/body/default":{"title":"$:/plugins/kookma/shiraz/templates/body/default","created":"20191125202328213","modified":"20200323093720160","tags":"$:/tags/Table/BodyTemplate","type":"text/vnd.tiddlywiki","text":"<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"},"$:/plugins/kookma/shiraz/templates/body/due-date":{"title":"$:/plugins/kookma/shiraz/templates/body/due-date","created":"20200206191120454","modified":"20200323093720165","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"due-date","type":"text/vnd.tiddlywiki","text":"\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\\define edit_date() <$edit-text tag=input type=date tiddler=<<currentRecord>> field=<<currentColumn>>/>\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<edit_date>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>\n\n<!-- Part of Task Manager\n this template ALWAYS works on fields -->"},"$:/plugins/kookma/shiraz/templates/body/email":{"title":"$:/plugins/kookma/shiraz/templates/body/email","created":"20191202210913762","modified":"20200323093720171","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"email","type":"text/vnd.tiddlywiki","text":"\\define display-email-address()\n<a class=\"tc-tiddlylink-external\" href=\"mailto:$(currentRecord)$!!$(currentColumn)$\" rel=\"noopener noreferrer\" target=\"_blank\">\n<<showCell>>\n</a>\n\\end\n\\define display-email-address_Locked()\n<a class=\"tc-tiddlylink-external\" href=\"mailto:$(currentRecord)$!!$(currentColumn)$\" rel=\"noopener noreferrer\" target=\"_blank\">\n<<showCell_Locked>>\n</a>\n\\end\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<display-email-address>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n<<display-email-address_Locked>>\n</$list>\n</$reveal>\n\n"},"$:/plugins/kookma/shiraz/templates/body/priority":{"title":"$:/plugins/kookma/shiraz/templates/body/priority","created":"20200424102701026","modified":"20200424151646289","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"priority","type":"text/vnd.tiddlywiki","text":"\\define circle(color, fill)\n<svg width=\"12\" height=\"12\" >\n<circle cx=\"6\" cy=\"6\" r=\"5\" stroke=<<__color__>> fill=<<__fill__>> stroke-width=\"1\"/>\n</svg>\n\\end\n\n\\define showCell()\n<$list filter=\"[<currentRecord>get<currentColumn>match[very high]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#dc3545\" fill=\"#f8d7da\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[high]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#ff8c00\" fill=\"#fff3cd\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[normal]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#17a2b8\" fill=\"#d1ecf1\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[low]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#007bff\" fill=\"#cce5ff\"/>\n</$list>\n<$list filter=\"[<currentRecord>get<currentColumn>match[very low]]\" variable=ignore>\n<$macrocall $name=\"circle\" color=\"#6c757d\" fill=\"#e2e3e5\"/>\n</$list>\n <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> />\n\\end\n\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\n\\define select_priority()\n<$select tiddler=<<currentRecord>> field=<<currentColumn>> default=\"\"><option value=''>Select...</option><option value='very high'>very high</option><option value='high'>high</option><option value='normal'>normal</option><option value='low'>low</option><option value='very low'>very low</option><option value=''>no priority</option></$select>\n\\end\n\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<select_priority>> >\n <<showCell_Locked>>\n</$list>\n<$reveal>\n\n<!-- Part of Task Manager\n this template ALWAYS works on fields\n -->"},"$:/plugins/kookma/shiraz/templates/body/status":{"title":"$:/plugins/kookma/shiraz/templates/body/status","created":"20200424100127763","modified":"20200424153213801","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"status","type":"text/vnd.tiddlywiki","text":"\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n\\define showCell_Locked() <span style=\"font-style:oblique;\"><<showCell>></span>\n\\define select_status()\n<$select tiddler=<<currentRecord>> field=<<currentColumn>> default=\"\"><option value=''>Select...</option><option value='open'>open</option><option value='not started'>not started</option><option value='in-work'>in-work</option><option value='on-hold'>on-hold</option><option value='complete'>complete</option><option value='rework'>rework</option><option value='closed'>closed</option></$select>\n\\end\n\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<<showCell>>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<select_status>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>\n\n<!-- Part of Task Manager\n this template ALWAYS works on fields -->"},"$:/plugins/kookma/shiraz/templates/body/tags":{"title":"$:/plugins/kookma/shiraz/templates/body/tags","created":"20191125193831767","modified":"20200323093720193","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"tags","type":"text/vnd.tiddlywiki","text":"<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$list filter=\"[title<currentRecord>tags[]]\">\n<span class=\"tc-tag-list-item\" >\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$macrocall $name=\"tag-pill-body\" tag=<<currentTiddler>> icon={{!!icon}} colour={{!!color}} palette={{$:/palette}} element-tag=\"\"\"$button\"\"\" element-attributes=\"\"\"popup=<<tempTagPopup>> dragFilter='[all[current]tagging[]]' tag='span'\"\"\"/>\n<$reveal state=<<tempTagPopup>> style=\"position:absolute; z-index:9999;\" type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</$set>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n</$reveal>\n</$set>\n</span>\n</$list>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<!--check if the current column is not selected for sorting-->\n<$list filter=\"[<tempTableSort>getindex[sortIndex]match<currentColumn>]\" variable=ignore\nemptyMessage=<<editCell>> >\n <<showCell_Locked>>\n</$list>\n</$reveal>"},"$:/plugins/kookma/shiraz/templates/body/tbl-checkbox":{"title":"$:/plugins/kookma/shiraz/templates/body/tbl-checkbox","created":"20200206150644636","modified":"20200323093720199","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"tbl-checkbox","type":"text/vnd.tiddlywiki","text":"<td style=\"width:28px;text-align:center;\">\n<$checkbox tiddler=<<currentRecord>> tag=\"done\"\ncheckactions=\"\"\"<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"color:#155724;background-color:#d4edda;\" /><$action-setfield $tiddler=<<currentRecord>> status=\"complete\"/>\"\"\"\nuncheckactions=\"\"\"<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> /><$action-setfield $tiddler=<<currentRecord>> status=\"rework\"/>\"\"\" />\n</td>"},"$:/plugins/kookma/shiraz/templates/body/tbl-clone":{"title":"$:/plugins/kookma/shiraz/templates/body/tbl-clone","created":"20201203153613838","modified":"20201203160230143","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"tbl-clone","type":"text/vnd.tiddlywiki","text":"\\define cloneTiddler() <$action-createtiddler $basetitle=<<currentRecord>> $template=<<currentRecord>> />\n\n<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td style=\"width:28px;text-align:center;\">\n <$button actions=<<cloneTiddler>> class=\"tc-btn-invisible\">\n\t {{$:/core/images/clone-button}}\n\t</$button>\n</td>\n</$list>"},"$:/plugins/kookma/shiraz/templates/body/tbl-delete":{"title":"$:/plugins/kookma/shiraz/templates/body/tbl-delete","created":"20170212101814663","modified":"20200323093720205","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"tbl-delete","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td style=\"width:28px;text-align:center;\">\n <$button class=\"tc-btn-invisible\">\n <$action-sendmessage $message=\"tm-delete-tiddler\" $param=<<currentRecord>>/>\n {{$:/core/images/delete-button}}\n </$button>\n</td>\n</$list>"},"$:/plugins/kookma/shiraz/templates/body/tbl-expand":{"title":"$:/plugins/kookma/shiraz/templates/body/tbl-expand","created":"20200209072642825","modified":"20200323093720213","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"tbl-expand","type":"text/vnd.tiddlywiki","text":"<$reveal type=\"nomatch\" state=<<tempPathExpand>> text=\"show\" tag=\"td\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>> $value=\"show\" />\n {{$:/core/images/right-arrow}}\n </$button>\n</$reveal>\n<$reveal type=\"match\" state=<<tempPathExpand>> text=\"show\" tag=\"td\">\n <$button class=\"tc-btn-invisible tc-tiddlylink\">\n <$action-setfield $tiddler=<<tempTableExpand>> $index=<<currentRecord>>/>\n {{$:/core/images/down-arrow}}\n </$button>\n</$reveal>"},"$:/plugins/kookma/shiraz/templates/body/title":{"title":"$:/plugins/kookma/shiraz/templates/body/title","created":"20170128100357203","modified":"20200323093720218","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"title","type":"text/vnd.tiddlywiki","text":"<td>\n<$link to=<<currentRecord>>><$text text=<<currentRecord>> /></$link>\n</td>"},"$:/plugins/kookma/shiraz/templates/body/type":{"title":"$:/plugins/kookma/shiraz/templates/body/type","created":"20200210063953546","modified":"20200323093720227","tags":"$:/tags/Table/BodyTemplate","tbl-column-list":"type","type":"text/vnd.tiddlywiki","text":"\\define showCell() <$transclude tiddler=<<currentRecord>> field=<<currentColumn>> mode=\"inline\" />\n<td>\n<<showCell>>\n</td>\n<!-- Note that the showCell here overrides the global showCell from table-dynamic macro -->"},"$:/plugins/kookma/shiraz/templates/footer/default":{"title":"$:/plugins/kookma/shiraz/templates/footer/default","created":"20200130171717175","modified":"20200323093720234","tags":"$:/tags/Table/FooterTemplate","type":"text/vnd.tiddlywiki","text":"<$vars idx={{{ [<currentColumn>addsuffix[/]addsuffix<footerRow>] }}}>\n<$set name=getFieldOrIndex filter=\"[<fieldOrIndex>]-index\" value=\"get\" emptyValue=\"getindex\">\n<$reveal type=\"nomatch\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$transclude tiddler=<<tempTableFooter>> index=<<idx>> mode=\"inline\" />\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableEdit>> stateIndex=\"mode\" text=\"edit\" tag=\"td\">\n<$edit-text tiddler=<<tempTableFooter>> index=<<idx>> tag=\"input\" class=\"shiraz-dtable-textbox\"/>\n</$reveal>\n</$set>\n</$vars>"},"$:/plugins/kookma/shiraz/templates/footer/tbl-clone":{"title":"$:/plugins/kookma/shiraz/templates/footer/tbl-clone","created":"20201203155343568","modified":"20201203160215983","tags":"$:/tags/Table/FooterTemplate","tbl-column-list":"tbl-clone","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td></td>\n</$list>"},"$:/plugins/kookma/shiraz/templates/footer/tbl-delete":{"title":"$:/plugins/kookma/shiraz/templates/footer/tbl-delete","created":"20200130174835714","modified":"20200323093720243","tags":"$:/tags/Table/FooterTemplate","tbl-column-list":"tbl-delete","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<td></td>\n</$list>"},"$:/plugins/kookma/shiraz/templates/footer/tbl-expand":{"title":"$:/plugins/kookma/shiraz/templates/footer/tbl-expand","created":"20200130173518861","modified":"20200323093720250","tags":"$:/tags/Table/FooterTemplate","tbl-column-list":"tbl-expand","type":"text/vnd.tiddlywiki","text":"<td style=\"width:28px;\"></td>"},"$:/plugins/kookma/shiraz/templates/header/default":{"title":"$:/plugins/kookma/shiraz/templates/header/default","created":"20170205223914688","modified":"20200323093720254","tags":"$:/tags/Table/HeaderTemplate","type":"text/vnd.tiddlywiki","text":"<$reveal type=\"nomatch\" stateTitle=<<tempTableSort>> stateIndex=\"sortIndex\" text=<<currentColumn>> tag=\"th\">\n<$button setTitle=<<tempTableSort>> setIndex=\"sortIndex\" setTo=<<currentColumn>> class=\"tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"hasnegate\" $value=\"false\"/>\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<tempTableSort>> stateIndex=\"sortIndex\" text=<<currentColumn>> tag=\"th\">\n<$list filter=\"[<tempTableSort>getindex[hasnegate]match[false]]\" variable=ignore><!--set negate for sort-->\n<$button setTitle=<<tempTableSort>> setIndex=\"hasnegate\" setTo=\"true\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"!\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span> {{$:/core/images/down-arrow}}\n</$button>\n</$list>\n<$list filter=\"[<tempTableSort>getindex[hasnegate]match[true]]\" variable=ignore><!--remove negate for sort-->\n<$button setTitle=<<tempTableSort>> setIndex=\"hasnegate\" setTo=\"false\" class=\"tbl-sort-svg tc-btn-invisible tc-tiddlylink\" >\n<$action-setfield $tiddler=<<tempTableSort>> $index=\"negate\" $value=\"\"/>\n<span style=\"text-transform: capitalize;\"><<currentColumn>></span> {{$:/core/images/up-arrow}}\n</$button>\n</$list>\n</$reveal>\n"},"$:/plugins/kookma/shiraz/templates/header/tbl-checkbox":{"title":"$:/plugins/kookma/shiraz/templates/header/tbl-checkbox","created":"20200206151157578","modified":"20200424160122428","tags":"$:/tags/Table/HeaderTemplate","tbl-column-list":"tbl-checkbox","type":"text/vnd.tiddlywiki","text":"\\define chk-checkactions()\n<$list filter=\"[subfilter<inputFilter>]\" variable=\"currentRecord\">\n<$action-listops $tiddler=<<currentRecord>> $tags=\"+[append[done]]\" />\n<$action-setfield $tiddler=<<currentRecord>> status=\"complete\"/>\n<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> $value=\"color:#155724;background-color:#d4edda;\" />\n</$list>\n\\end\n\\define chk-uncheckactions()\n<$list filter=\"[subfilter<inputFilter>]\" variable=\"currentRecord\">\n<$action-listops $tiddler=<<currentRecord>> $tags=\"+[remove[done]]\" />\n<$action-setfield $tiddler=<<currentRecord>> status=\"rework\"/>\n<$action-setfield $tiddler=<<tempTableStyle>> $index=<<currentRecord>> />\n</$list>\n\\end\n\n<th style=\"width:28px;\">\n<$checkbox checkactions=<<chk-checkactions>> uncheckactions=<<chk-uncheckactions>> />\n</th>"},"$:/plugins/kookma/shiraz/templates/header/tbl-clone":{"title":"$:/plugins/kookma/shiraz/templates/header/tbl-clone","created":"20201203155440168","modified":"20201203160241400","tags":"$:/tags/Table/HeaderTemplate","tbl-column-list":"tbl-clone","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<th style=\"width:28px;text-align:center;\">\n <span>\n <$button class=\"tc-btn-invisible\" disabled=yes>\n {{$:/core/images/clone-button}}\n </$button>\n </span>\n</th>\n</$list>"},"$:/plugins/kookma/shiraz/templates/header/tbl-delete":{"title":"$:/plugins/kookma/shiraz/templates/header/tbl-delete","created":"20170212102107998","modified":"20200323093720268","tags":"$:/tags/Table/HeaderTemplate","tbl-column-list":"tbl-delete","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[<tempTableEdit>getindex[mode]match[edit]]\" variable=ignore>\n<th style=\"width:28px;text-align:center;\">\n <span>\n <$button class=\"tc-btn-invisible\">\n <$action-setfield $tiddler=\"$:/temp/tables/delete-all\" text=<<currentTable>>/>\n {{$:/core/images/delete-button}}\n </$button>\n </span>\n</th>\n</$list>"},"$:/plugins/kookma/shiraz/templates/header/tbl-expand":{"title":"$:/plugins/kookma/shiraz/templates/header/tbl-expand","created":"20200209072944418","modified":"20200323093720276","tags":"$:/tags/Table/HeaderTemplate","tbl-column-list":"tbl-expand","type":"text/vnd.tiddlywiki","text":"<th style=\"width:28px;\">\n <$list filter=\"[<tempTableExpand>indexes[]limit[1]]\">\n <$button class=\"tc-btn-invisible\">{{$:/core/images/fold-button}}\n <$action-setfield $tiddler=<<tempTableExpand>> text=\"\"/>\n </$button>\n </$list>\n</th>"},"$:/plugins/kookma/shiraz/ui/ControlPanel/Settings":{"title":"$:/plugins/kookma/shiraz/ui/ControlPanel/Settings","caption":"Shiraz","created":"20191018054657077","list-after":"$:/core/ui/ControlPanel/Settings/TiddlyWiki","modified":"20200323093720283","tags":"$:/tags/ControlPanel/SettingsTab $:/tags/MoreSideBar","type":"text/vnd.tiddlywiki","text":"These settings let you customise the behaviour of Shiraz plugin.\n\n---\n\n;Show Shiraz setting in more sidebar\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/ui/ControlPanel/Settings\" tag=\"$:/tags/MoreSideBar\"> Show setting in more sidebar</$checkbox>\n\n;Options\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/multicols/storyriver\" tag=\"$:/tags/Stylesheet\"> Multicolumn story river</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/ui-buttons\" tag=\"$:/tags/Stylesheet\"> Colorful UI buttons</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/tiddler-button-visibility\" tag=\"$:/tags/Stylesheet\"> Tiddler visibility on mouse hover</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/misc/edit-buttons\" tag=\"$:/tags/Stylesheet\"> Traffic lights for edit toolbar buttons</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/shiraz/styles/colorful-sidebar-tab\" tag=\"$:/tags/Stylesheet\"> Colorify sidebar tabs</$checkbox>\n\n\n\n\n"},"$:/plugins/kookma/shiraz/viewtemplates/sticky-footer":{"title":"$:/plugins/kookma/shiraz/viewtemplates/sticky-footer","created":"20180907071314793","modified":"20200323125207226","tags":"$:/tags/ViewTemplate","type":"text/vnd.tiddlywiki","text":"<$list filter=\"[all[current]has[sticky-footer]]\">\n<div class=\"sticky-footer\">\n{{!!sticky-footer}}\n</div>\n</$list>\n"}}}
\define table-dynamic(filter, fields:"", indexes:"", sortOp:"sort", caption:"", class:"", footerRows:"0", stateTiddler:"", editButton:"yes")
\import [all[shadows+tiddlers]tag[$:/tags/Table/Macro]]
<!--above commands import utility macros-->
<$vars
inputFilter="[subfilter<__filter__>!has[draft.of]]"
sortType=<<__sortOp__>>
>
<$set name=currentTable value=<<__stateTiddler__>> emptyValue=<<currentTiddler>> >
<!-- check what type of columns are sent, fileds or indexes (data tiddlers as records) -->
<$set name=fieldOrIndex filter="[<__fields__>!is[blank]]" value="field" emptyValue="index">
<<check_tiddlers_type_for_table_from_indexes isEditable:"$editButton$">>
<$set name=columns filter="[<fieldOrIndex>]-index" value=<<__fields__>> emptyValue=<<__indexes__>> >
<!--check input filter parameter-->
<$list filter="[subfilter<inputFilter>limit[1]]" emptyMessage="—" variable=ignore>
<$set name=sortneg tiddler=<<tempTableSort>> index="negate">
<!--calculate the number of columns in edit and view mode -->
<$set name=ncols filter="[subfilter<columnFilter>] -[[tbl-delete]] [<tempTableEdit>getindex[mode]match[edit]] +[count[]]" >
<div class="tbl-container" style="max-width:100%;">
<table class=<<__class__>> style="caption-side:top">
<!-- reveal caption and edit button -------------------->
<caption style="text-align:left;">
<$list filter="[<__editButton__>match[yes]]" variavle=ignore>
<span style="padding-right:5px;padding-left:3px;"><<toggle-edit-view>></span></$list>
$caption$</caption>
<!-- create header -------------------->
<thead>
<<confirm-delete>>
<tr>
<$list filter=<<columnFilter>> variable=currentColumn>
<$set name="headerLookup" filter="[all[tiddlers+shadows]tag[$:/tags/Table/HeaderTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]" value=<<headerLookup>> emptyValue="$:/plugins/kookma/shiraz/templates/header/default">
<$transclude tiddler=<<headerLookup>> field="text" mode="inline"/>
</$set>
</$list>
</tr>
</thead>
<!-- create footer -------------------->
<$reveal type="gt" default=<<__footerRows__>> text="0" tag="tfoot" class="shiraz-dtable-footer">
<$list filter="[range[1,$footerRows$]addprefix[footer-]]" variable=footerRow>
<tr>
<$list filter=<<columnFilter>> variable=currentColumn>
<$set name="footerLookup" filter="[all[tiddlers+shadows]tag[$:/tags/Table/FooterTemplate]contains:tbl-column-list<currentColumn>limit[1]get[title]]" value=<<footerLookup>> emptyValue="$:/plugins/kookma/shiraz/templates/footer/default">
<$transclude tiddler=<<footerLookup>> field="text" mode="inline"/>
</$set>
</$list>
</tr>
</$list>
</$reveal>
<!-- reveal main body of table (generate records) -------------------->
<tbody>
<$set name=tableBody filter="[<fieldOrIndex>]-index" value="display_body_fields" emptyValue="display_body_indexes" >
<$macrocall $name=<<tableBody>> />
</$set>
</tbody>
</table>
</div><!-- container-->
</$set>
</$set>
</$list><!--check input filter parameter-->
</$set>
</$set>
</$set>
</$vars>
\end
.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {
background: none;
border: none;
font-weight: bold;
color: #DB4C3F !important;
}
/*Edit buttons as traffic lights*/
.tc-tiddler-controls .tc-image-delete-button {fill:#ebb;}
.tc-tiddler-controls .tc-image-cancel-button {fill:#ed9;}
.tc-tiddler-controls .tc-image-done-button {fill:#beb;}
/* Mouseover toolbar visibility: courtesy from Tobias Beer*/
.tc-tiddler-frame .tc-titlebar button {
opacity: 0;
transition: opacity .5s ease-in-out;
}
.tc-tiddler-frame:hover .tc-titlebar button {
zoom: 1;
filter: alpha(opacity=100);
opacity: 1;
}
/* These css rules makes TW UI buttons in beatiful color */
/*page control buttons*/
.tc-page-controls .tc-image-new-button { fill: #5EB95E; } /*New tiddler button*/
.tc-page-controls .tc-image-options-button { fill:#8058A5; } /*Open control pannel*/
/*tiddler buttons in beautiful color*/
.tc-tiddler-controls .tc-image-edit-button { fill:#F37B1D; }/*edit tiddler*/
.tc-tiddler-controls .tc-image-info-button { fill: #0e90d2; } /*Info button*/
/* create story river in two column layout */
.tc-story-river {
display: flex;
flex-wrap: wrap;
}
.tc-tiddler-frame
{
max-width: 49%; margin-right: 1%;
/*max-width: 32%; margin-right: 1%; */
}
{"tiddlers":{"$:/plugins/kookma/utility/author/author-tools":{"title":"$:/plugins/kookma/utility/author/author-tools","created":"20190912082519234","key":"((author-tools))","modified":"20200316130508400","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"<$action-sendmessage $message=\"tm-modal\" $param=\"$:/plugins/kookma/utility/author/modal\" />"},"$:/plugins/kookma/utility/author/exclude-items":{"title":"$:/plugins/kookma/utility/author/exclude-items","caption":"Exclude items","created":"20200313124437263","modified":"20200322115519909","tags":"","type":"text/vnd.tiddlywiki","text":"\\define showItems(label, filter)\n<h2>$label$</h2>\n<$list filter=<<__filter__>> >\n<$checkbox tiddler=<<currentTiddler>> tag=\"excluded\"/> <$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link><br>\n</$list>\n\\end\n<!-- drag and drop -->\n<<showItems label:\"Disable drag and drop\" filter:\"[title[$:/config/DragAndDrop/Enable]]\">>\n<!-- side bar items -->\n<<showItems label:\"Sidebar tabs\" filter:\"[all[shadows+tiddlers]]+[tag[$:/tags/SideBar]]\">>\n<!-- viewtoolbar items -->\n<<showItems label:\"View toolbars\" filter:\"[all[shadows+tiddlers]prefix[$:/config/ViewToolbarButtons/Visibility]]\">>\n<!-- Page controls -->\n<<showItems label:\"Page controls\" filter:\"[all[shadows+tiddlers]prefix[$:/config/PageControlButtons/Visibility]]\">>\n<$list filter=\"\">"},"$:/plugins/kookma/utility/author/individual-items":{"title":"$:/plugins/kookma/utility/author/individual-items","caption":"Hide individual UI element","created":"20200313141533701","modified":"20200322130601872","tags":"","type":"text/vnd.tiddlywiki","text":"Select individual items to hide in reader mode.\n\n! Site options\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/site-title\" tag=\"$:/tags/SideBarSegment\"/> Show site title<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/site-subtitle\" tag=\"$:/tags/SideBarSegment\"/> Show site subtitle<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/page-controls\" tag=\"$:/tags/SideBarSegment\"/> Show page controls<br/>\n\n! Right sidebar elements\n<$checkbox tiddler=\"$:/core/ui/TopBar/menu\" tag=\"$:/tags/TopRightBar\"/> Show right sidebar toggle button<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/search\" tag=\"$:/tags/SideBarSegment\"/> Show search bar<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBarSegments/tabs\" tag=\"$:/tags/SideBarSegment\"/> Show sidebar tabs<br/>\n<!-- reserved\n<$checkbox tiddler=\"$:/config/custom-segment\" tag=\"$:/tags/SideBarSegment\"/> Show custom menu -->\n\n! Sidebar tabs\n<$checkbox tiddler=\"$:/core/ui/SideBar/Open\" tag=\"$:/tags/SideBar\"/> Show Open tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/Recent\" tag=\"$:/tags/SideBar\"/> Show Recent tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/Tools\" tag=\"$:/tags/SideBar\"/> Show Tools tab<br/>\n<$checkbox tiddler=\"$:/core/ui/SideBar/More\" tag=\"$:/tags/SideBar\"/> Show More tab<br/>\n\n! Tiddler options\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/edit\" field=text checked=show unchecked=hide default=show /> Show edit button in the tiddler toolbar<br/>\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close\" field=text checked=show unchecked=hide default=show /> Show close button in the tiddler toolbar<br/>\n<$checkbox tiddler=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions\" field=text checked=show unchecked=hide default=show /> Show more actions button in the tiddler toolbar\n\n! Other items\n<$checkbox tiddler=\"$:/config/DragAndDrop/Enable\" field=text checked=no unchecked=yes default=yes /> Disable page dropzone\n"},"$:/plugins/kookma/utility/author/modal":{"title":"$:/plugins/kookma/utility/author/modal","created":"20190912073245120","modified":"20200316124818329","tags":"","type":"text/vnd.tiddlywiki","text":"<<tabs tabsList:\"$:/plugins/kookma/utility/author/tools $:/plugins/kookma/utility/author/individual-items\" default:\"$:/plugins/kookma/utility/author/tools\">>"},"$:/plugins/kookma/utility/author/switch-author":{"title":"$:/plugins/kookma/utility/author/switch-author","created":"20200315203327216","key":"((switch-author))","modified":"20200316130423198","tags":"$:/tags/KeyboardShortcut","type":"text/vnd.tiddlywiki","text":"\\import $:/plugins/kookma/utility/author/tools\n\n<$reveal type=nomatch state=<<configTid>> text=\"\">\n<<unhide-elements>>\n</$reveal>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<<hide-elements>>\n</$reveal>"},"$:/plugins/kookma/utility/author/tools":{"title":"$:/plugins/kookma/utility/author/tools","caption":"Hide bulk of UI elements","created":"20200313111922410","modified":"20200322160845236","type":"text/vnd.tiddlywiki","text":"\\define configTid() $:/config/utility/author\n\\define add-remove-tag(msg:\"\", tag:\"\")\n<$fieldmangler><!--msg: tm-add-tag tm-remove-tag-->\n<$action-sendmessage $message=\"$msg$\" $param=\"$tag$\"/>\n</$fieldmangler>\n\\end\n\n\\define hide-elements()\n<!-- hide side bar items -->\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!tag[excluded]]\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"$:/tags/SideBar\"/>\n<$macrocall $name=\"add-remove-tag\" msg=\"tm-remove-tag\" tag=\"$:/tags/SideBar\"/>\n</$list>\n<!-- hide view toolbars -->\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/ViewToolbarButtons/Visibility]!tag[excluded]]\">\n<$reveal type=match stateTitle=<<currentTiddler>> stateField=\"text\" text=\"show\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"show\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"hide\"/>\n</$reveal>\n</$list>\n<!-- hide page controls -->\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/PageControlButtons/Visibility]!tag[excluded]]\">\n<$reveal type=match stateTitle=<<currentTiddler>> stateField=\"text\" text=\"show\">\n<$action-setfield $tiddler=<<configTid>> $index=<<currentTiddler>> $value=\"show\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"hide\"/>\n</$reveal>\n</$list>\n<!-- disable dropzone -->\n<$list filter=\"[[$:/config/DragAndDrop/Enable]!tag[excluded]]\" variable=ignore>\n<$action-setfield $tiddler=\"$:/config/DragAndDrop/Enable\" $field=\"text\" $value=\"no\"/>\n</$list>\n\\end\n\n\\define unhide-elements()\n<!-- Revert view toolbar and page controls -->\n<$list filter=\"[<configTid>indexes[]]\">\n<$reveal type=match stateTitle=<<configTid>> stateIndex=<<currentTiddler>> text=\"show\">\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value=\"show\"/>\n</$reveal>\n</$list>\n<!-- Revert sidebar tabs -->\n<$list filter=\"[<configTid>indexes[]]\">\n<$reveal type=match stateTitle=<<configTid>> stateIndex=<<currentTiddler>> text=\"$:/tags/SideBar\">\n<$macrocall $name=\"add-remove-tag\" msg=\"tm-add-tag\" tag=\"$:/tags/SideBar\"/>\n</$reveal>\n</$list>\n<!-- delete the configTid -->\n<$action-deletetiddler $tiddler=<<configTid>>/>\n<!-- enable dropzone -->\n<$list filter=\"[[$:/config/DragAndDrop/Enable]!tag[excluded]]\" variable=ignore>\n<$action-deletetiddler $tiddler=\"$:/config/DragAndDrop/Enable\"/>\n</$list>\n\\end\n\n<$reveal type=nomatch state=<<configTid>> text=\"\">\n<$button actions=<<unhide-elements>> tooltip=\"Unhide UI elements\">Author mode</$button>\n</$reveal>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<$button actions=<<hide-elements>> tooltip=\"Hide UI elements\">Reader mode</$button>\n</$reveal>\n<small><ul>\n<li>Author mode: all UI elements are visible</li>\n<li>Redaer mode: all UI elements are hidden except those excluded</li>\n</ul></small>\n<$reveal type=match state=<<configTid>> text=\"\" default=\"\">\n<details>\n<summary>Select items to be excluded</summary>\n<div style=\"padding-left:30px\">{{$:/plugins/kookma/utility/author/exclude-items}}\n</div>\n</details>\n</$reveal>"},"$:/plugins/kookma/utility/config/reveal-tags":{"title":"$:/plugins/kookma/utility/config/reveal-tags","created":"20200123085623608","modified":"20200123200112351","tags":"","type":"text/vnd.tiddlywiki","text":""},"$:/plugins/kookma/utility/history":{"title":"$:/plugins/kookma/utility/history","created":"20190930044127683","modified":"20200403062039433","tags":"","type":"text/vnd.tiddlywiki","text":"* ''2.1.2'' -- 2020.04.03 -- page control button issue fixed\n* ''2.1.1'' -- 2020.03.25 -- page control button improved and minor issues in css fixed\n* ''2.1.0'' -- 2020.03.23 -- new transclusion output for fields macro and disable drag and drop globally\n* ''2.0.0'' -- 2020.03.16 -- new author-reader mode switch\n* ''1.8.0'' -- 2020.03.13 -- admin panel added\n* ''1.7.0'' -- 2020.02.23 -- show tiddler raw content including the macros on demand\n* ''1.0.0'' -- 2019.10.13 -- stable release\n* ''0.5.0'' -- 2019.10.10 -- first beta release"},"$:/plugins/kookma/utility/images/view-fields.svg":{"title":"$:/plugins/kookma/utility/images/view-fields.svg","created":"20181010193706723","modified":"20200123200937680","tags":"","type":"text/vnd.tiddlywiki","text":"<svg xmlns=\"http://www.w3.org/2000/svg\" class=\"tc-image-button tc-image-view-fields\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 11H1v2h6v-2zm2.17-3.24L7.05 5.64 5.64 7.05l2.12 2.12 1.41-1.41zM13 1h-2v6h2V1zm5.36 6.05l-1.41-1.41-2.12 2.12 1.41 1.41 2.12-2.12zM17 11v2h6v-2h-6zm-5-2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zm2.83 7.24l2.12 2.12 1.41-1.41-2.12-2.12-1.41 1.41zm-9.19.71l1.41 1.41 2.12-2.12-1.41-1.41-2.12 2.12zM11 23h2v-6h-2v6z\"/></svg>"},"$:/plugins/kookma/utility/license":{"title":"$:/plugins/kookma/utility/license","created":"20190930044127683","modified":"20200325141629992","tags":"","type":"text/vnd.tiddlywiki","text":"Distributed under an MIT license.\n\nCopyright (c) 2019-2020 [[Mohammad Rahmani|https://github.com/kookma]]\n\n<<<\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n<<<\n"},"$:/plugins/kookma/utility/macro/doc-svg":{"title":"$:/plugins/kookma/utility/macro/doc-svg","created":"20190722141637145","modified":"20200123200937669","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define doc-svg(tiddler:\"\", color:\"\")\n<span class=\"kk-doc\" style=\"fill:$color$;\"><$transclude tiddler=<<__tiddler__>> /></span>\n\\end"},"$:/plugins/kookma/utility/macro/find":{"title":"$:/plugins/kookma/utility/macro/find","created":"20181213121411187","modified":"20200325124037811","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define find(text, begin, end, output:\"simple\", mode:\"all\")\n<$vars \n fulltext=<<__text__>>\n start=<<__begin__>>\n stop=<<__end__>>\n output-macro=<<__output__>>\n>\n<$list variable=\"p1\" filter=\"[<fulltext>splitbefore<start>]\">\n<$list variable=\"p2\" filter=\"[<fulltext>removeprefix<p1>]\">\n<$list variable=\"p3\" filter=\"[<p2>splitbefore<stop>removesuffix<stop>]\">\n<$macrocall $name=<<output-macro>> p=<<p3>> />\n<$reveal type=\"match\" text=\"all\" default=<<__mode__>> >\n<$macrocall $name=\"find\"\n text={{{[<p2>removeprefix<p3>removeprefix<stop>]}}}\n begin=<<start>>\n end=<<stop>>\n output=<<output-macro>>\n/>\n</$reveal>\n</$list>\n</$list>\n</$list>\n</$vars>\n\\end\n\n\\define simple(p)\n<$text text=<<__p__>> />\n\\end\n\n\\define simple-list(p)\n<li><$text text=<<__p__>>/></li>\n\\end\n\n\n!! Summary\n* `find` is a macro to search a text and find all snippets delimited between values of `begin` and `end` delimiters\n* `simple` is a macro used by `find` to show the output in a simple format\n* `simple-list` is a macro used by `find` to show the output in a simple list format. The ordered and unordered list\ncan be used if the call to `find` macro wrapped in a `div` with suitable type e.g `ol` or `ul`."},"$:/plugins/kookma/utility/macro/lorem":{"title":"$:/plugins/kookma/utility/macro/lorem","author":"Jeremy Ruston","created":"20190316214433792","description":"creates few paragraphs of dumy text","modified":"20200123200937645","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define .lorem(np:1)\n<$list filter=\"[range[1,$np$]]\" variable=null>\nLorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n<$list filter=\"[<__np__>!match[1]]\"><p/></$list>\n</$list>\n\\end"},"$:/plugins/kookma/utility/macro/show-macro":{"title":"$:/plugins/kookma/utility/macro/show-macro","created":"20190317174614898","description":"This is a customized version of `show-macro` used in TW-Yazd. This macro is used to display the macro codes in specified place.","modified":"20200123200937632","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define disp-macro-contents(p)\n<pre>\\define<$text text=<<__p__>> />\\end</pre>\n\\end\n\n\\define show-macro(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$macrocall $name='find'\n text={{{[<selected-tiddler>get[text]]}}}\n begin=\"\\define\"\n end=\"\\end\"\n output=\"disp-macro-contents\"/>\n\\end"},"$:/plugins/kookma/utility/macro/simple-navigation":{"title":"$:/plugins/kookma/utility/macro/simple-navigation","created":"20190823062102008","description":"create a new tiddler tagged with $:/tags/Viewtemplate and call simple-navigation with desired tag","modified":"20200126151115600","tags":"$:/tags/Macro","type":"application/x-tiddler","text":"\\define simple-navigation(tag:\"demo\", class, close:\"no\")\n<$list filter=\"[all[current]tag[$tag$]]\">\n<div class=\"$class$\">\n<$list filter=\"[tag[$tag$]before<currentTiddler>]\" variable=\"prevTiddler\">\n<$button to=<<prevTiddler>> tooltip=<<prevTiddler>> class=\"tc-btn-invisible $class$\">previous\n<$list filter=\"[<__close__>match[yes]]\" variable=ignore><$action-sendmessage $message=\"tm-close-tiddler\" $param=<<currentTiddler>>/></$list>\n</$button>\n</$list>\n<$list filter=\"[tag[$tag$]after<currentTiddler>] [tag[$tag$]before<currentTiddler>] +[count[]] -1\" variable=ignore>|</$list>\n<$list filter=\"[tag[$tag$]after<currentTiddler>]\" variable=\"nextTiddler\">\n<$button to=<<nextTiddler>> tooltip=<<nextTiddler>> class=\"tc-btn-invisible $class$\">next\n<$list filter=\"[<__close__>match[yes]]\" variable=ignore><$action-sendmessage $message=\"tm-close-tiddler\" $param=<<currentTiddler>>/></$list>\n</$button>\n</$list>\n</div>\n</$list>\n\\end"},"$:/plugins/kookma/utility/macro/transclusion":{"title":"$:/plugins/kookma/utility/macro/transclusion","created":"20190930050545887","modified":"20200324201449425","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define code(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$codeblock language={{{[<selected-tiddler>get[type]]}}} code={{{[<selected-tiddler>get[text]]}}}/>\n</$set>\n\\end\n\n\\define code-link(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$codeblock language={{{[<selected-tiddler>get[type]]}}} code={{{[<selected-tiddler>get[text]]}}}/>\n</$set>\n\\end\n\n\\define content(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$transclude tiddler=<<selected-tiddler>> mode=\"block\"/>\n</$set>\n\\end\n\n\\define fields(tiddler)\n<style>\n/*Borderless table*/\n.kk-utility-tbl-borderless, \n.kk-utility-tbl-borderless tr,\n.kk-utility-tbl-borderless td{border:0;}\n</style>\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<$link to=<<selected-tiddler>>/>\n<$list filter='[<selected-tiddler>fields[]] -[enlist[text title created modified tags creator modifier]] +[limit[1]]' variable=\"ignore\"><!--check if there is any user field -->\n<table class=\"kk-utility-tbl-borderless\">\n<$list filter='[<selected-tiddler>fields[]] -[enlist[text title created modified tags creator modifier]]' variable=\"fld\">\n<tr><td style=\"text-align:right\"><<fld>>:</td><td><$text text={{{[<selected-tiddler>get<fld>]}}}/></td></tr>\n</$list>\n</table>\n</$list>\n</$set>\n\\end\n\n\\define description(tiddler)\n<$set name=selected-tiddler value=\"$tiddler$\" emptyValue=<<currentTiddler>> >\n<dl><dt><$link to=<<selected-tiddler>>/></dt><dd><$transclude tiddler=<<selected-tiddler>> field=\"description\"/></dd></dl>\n</$set>\n\\end"},"$:/plugins/kookma/utility/macro/unique-id":{"title":"$:/plugins/kookma/utility/macro/unique-id","author":"Jeremy Ruston","created":"20200210134515855","description":"creates a unique id for permanent state tiddler","modified":"20200210134635362","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define create_id_from_timedata(prefix) $prefix$-<<now [UTC]YYYY0MM0DD0hh0mm0ssXXX>>\n\n\\define unique-id(prefix:id)\n<$wikify name=id text=<<create_id_from_timedata \"\"\"$prefix$\"\"\">> >\n<$button tooltip=\"create unique id\" class=\"tc-btn-invisible\" message=\"tm-copy-to-clipboard\" param=<<id>> >{{$:/core/images/copy-clipboard}} \n</$button> <$text text=<<id>>/>\n</$wikify>\n\\end\n"},"$:/plugins/kookma/utility/macro/wikitext-macros":{"title":"$:/plugins/kookma/utility/macro/wikitext-macros","created":"20150117184156000","modified":"20200123200937571","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define wikitext-example(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nThat renders as:\n\n$src$\n\n... and the underlying HTML is:\n\n$$$text/vnd.tiddlywiki>text/html\n$src$\n$$$\n</div>\n\\end\n\n\\define wikitext-example-without-html(src)\n<div class=\"doc-example\">\n\n<$macrocall $name=\"copy-to-clipboard-above-right\" src=<<__src__>>/>\n\n```\n$src$\n```\n\nThat renders as:\n\n$src$\n</div>\n\\end\n<!--\n; Credit\n:Jeremy Ruston TW 5.1.18\n\nThe wiki-text macros are set of macro for documenting TW codes.\n-->"},"$:/plugins/kookma/utility/pagecontrol/view-fields-button":{"title":"$:/plugins/kookma/utility/pagecontrol/view-fields-button","caption":"{{$:/plugins/kookma/utility/images/view-fields.svg}} {{$:/language/Buttons/Utility/Caption}}","created":"20181010190533135","description":"Show a toggle button for view fields","modified":"20200403115112475","tags":"$:/tags/PageControls","type":"text/vnd.tiddlywiki","text":"\\define viewtemplateTid() $:/plugins/kookma/utility/viewtemplate/view-fields\n\\define fldshowstateTid() $:/keepstate/utility/toggle-view-fields\n\n\\define show-fields-button()\n\\whitespace trim\n\n<$reveal type=\"nomatch\" state=<<fldshowstateTid>> text=\"show\">\n <$button set=<<fldshowstateTid>> setTo=\"show\" \n\t tooltip={{$:/language/Buttons/Utility/Hint}} \n\t\t\t\t\t aria-label={{$:/language/Buttons/Utility/Caption}} \n\t\t\t\t\t class=<<tv-config-toolbar-class>> >\n <<disp-on-pagecontrols>>\n <$action-setfield $tiddler=<<viewtemplateTid>> tags=\"$:/tags/ViewTemplate\"/>\n </$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<fldshowstateTid>> text=\"show\">\n <$button set=<<fldshowstateTid>> setTo=\"hide\" \n tooltip={{$:/language/Buttons/Utility/Hint}} \n\t\t\t\t aria-label={{$:/language/Buttons/Utility/Caption}} \n\t\t\t\t class=\"\"\"$(tv-config-toolbar-class)$ tc-selected\"\"\">\n <<disp-on-pagecontrols>>\n <$action-setfield $tiddler=<<viewtemplateTid>> tags=\"\"/>\n </$button>\n</$reveal>\n\\end\n\n\\define disp-on-pagecontrols() \n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/kookma/utility/images/view-fields.svg}} \n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Utility/Caption}}/></span>\n</$list>\n\\end\n\n\n<<show-fields-button>>"},"$:/plugins/kookma/utility/readme":{"title":"$:/plugins/kookma/utility/readme","created":"20190930044127683","modified":"20200322194049962","tags":"","type":"text/vnd.tiddlywiki","text":"; Utility plugin\nThe utility plugin objective is to provide set of tools for developers and authors. These tools includes simple transclusions, show raw contents of tiddlers, author tools, wikitext macros, show fields in view mode, ...\n\n; Code and demo\nFor learning plugin features, syntax, tutorial and examples see the plugin demo and code pages\n\n* Demo: https://kookma.github.io/TW-Utility/\n* Code: https://github.com/kookma/TW-Utility\n"},"$:/plugins/kookma/utility/snippet/macrocall-wikitext-example":{"title":"$:/plugins/kookma/utility/snippet/macrocall-wikitext-example","caption":"Wikitext-example macrocall","created":"20181023161605661","modified":"20200123200937811","tags":"$:/tags/TextEditor/Snippet","type":"text/vnd.tiddlywiki","text":"<$macrocall $name=\"wikitext-example-without-html\" \nsrc=\"\"\"\n\"\"\"/>"},"$:/plugins/kookma/utility/snippet/wikitext-macro":{"title":"$:/plugins/kookma/utility/snippet/wikitext-macro","caption":"Wikitext-example","created":"20181007154126921","modified":"20200123200937797","tags":"$:/tags/TextEditor/Snippet","type":"text/vnd.tiddlywiki","text":"<<wikitext-example-without-html \nsrc:\"\"\"\n\"\"\">>"},"$:/plugins/kookma/utility/styles/doc-svg":{"title":"$:/plugins/kookma/utility/styles/doc-svg","text":".kk-doc svg{\nwidth: 1.2em;\nheight: 1.2em;\nvertical-align: middle;}\n\n.kk-ut-txt{\nmin-width:50%}","created":"20190722142023425","modified":"20200322091202744","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/utility/styles/tw-version":{"title":"$:/plugins/kookma/utility/styles/tw-version","text":"<pre>/* TW-version added to site title */\n.tc-site-title:before {\n content:\"TW <<version>>\";\n position:absolute;\n margin-top:-1.9em;\n color:silver;\n font-size:13px;\n}\n</pre>","created":"20180906042308596","modified":"20200325164200123","tags":"$:/tags/Stylesheet","type":"text/vnd.tiddlywiki"},"$:/plugins/kookma/utility/styles/wikitext-macro":{"title":"$:/plugins/kookma/utility/styles/wikitext-macro","text":".doc-example { margin: 1em 0; padding: 0.8em 0; } .doc-example:hover { background-color: #f7f7f9; } .doc-example ul { margin-bottom: 0; padding-bottom: 0; margin-top: 0.2em; } .doc-example pre:first-child { margin-top: 0; } .doc-example-result { border-left: 5px solid #bbb; border-right: 5px solid #bbb; margin-left: 0; margin-right: 0; padding: 0 10px; } .doc-example-result ul { margin-left: 0; padding-left: 10px; } .doc-example-result ol { margin-left: 0; padding-left: 20px; }","created":"20180909042646908","modified":"20200325141241379","tags":"$:/tags/Stylesheet","type":"text/css"},"$:/plugins/kookma/utility/ui/ControlPanel/Settings":{"title":"$:/plugins/kookma/utility/ui/ControlPanel/Settings","caption":"Utility","created":"20190930212747824","list-after":"$:/core/ui/ControlPanel/Settings/TiddlyWiki","modified":"20200322091210028","tags":"$:/tags/ControlPanel/SettingsTab $:/tags/MoreSideBar","type":"text/vnd.tiddlywiki","text":"These settings let you customise the behaviour of Utility plugin.\n\n---\n\n;Show Utility setting in more sidebar\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/ui/ControlPanel/Settings\" tag=\"$:/tags/MoreSideBar\"> Show setting in more sidebar</$checkbox>\n\n;Options\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/pagecontrol/view-fields-button\" tag=\"$:/tags/PageControls\"> Enable show fields</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/styles/tw-version\" tag=\"$:/tags/Stylesheet\"> Show the Tiddlywiki version badge</$checkbox>\n:<$checkbox tiddler=\"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content\" tag=\"$:/tags/ViewTemplate\"> Display the tiddler raw content</$checkbox><div style=\"padding-left:18px;\">\n<$list filter=\"[[$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content]tags[]search[$:/tags/ViewTemplate]]\" variable=ignore>\nFilters to reveal tiddlers content <$edit-text tiddler=\"$:/plugins/kookma/utility/config/reveal-tags\" field=\"text\" tag=input defualt=\"\" placeholder=\"enter a filter e.g. [tag[myTag]] \" class=\"kk-ut-txt\"/>\n</$list></div>\n\n"},"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content":{"title":"$:/plugins/kookma/utility/viewtemplate/display-tiddler-raw-content","created":"20181212041419278","description":"this view template displays the content of global macro tiddlers","modified":"20200126142626441","tags":"$:/tags/ViewTemplate","type":"text/vnd.tiddlywiki","text":"<$set name=\"revealFilters\" tiddler=\"$:/plugins/kookma/utility/config/reveal-tags\" field=text>\n<$list filter=\"[all[current]tag[show-content]]\n [all[current]tag[$:/tags/EditTemplate]]\n [all[current]tag[$:/tags/ViewTemplate]] \n [all[current]tag[$:/tags/Macro]]\n [all[current]subfilter<revealFilters>] +[limit[1]]\">\n<$codeblock code={{!!text}} language=\"xml\" />\n</$list>\n</$set>\n\n"},"$:/plugins/kookma/utility/viewtemplate/view-fields":{"title":"$:/plugins/kookma/utility/viewtemplate/view-fields","created":"20181010162537613","description":"Toggle field handling in view mode","list-after":"$:/core/ui/ViewTemplate/tags","modified":"20200403082439483","tags":"","type":"text/vnd.tiddlywiki","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\\define new-field()\n<$vars name={{$:/temp/newfieldname}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n"},"$:/language/Buttons/Utility/Hint":{"title":"$:/language/Buttons/Utility/Hint","created":"20190930171301401","modified":"20191111154125882","tags":"","type":"text/vnd.tiddlywiki","text":"Show fields"},"$:/language/Buttons/Utility/Caption":{"title":"$:/language/Buttons/Utility/Caption","created":"20190930171340202","modified":"20191111154125886","tags":"","type":"text/vnd.tiddlywiki","text":"show fields"},"$:/config/ShortcutInfo/author-tools":{"title":"$:/config/ShortcutInfo/author-tools","created":"20190912083358612","modified":"20200316123519558","tags":"","type":"text/vnd.tiddlywiki","text":"Show Author tools dialog"},"$:/config/shortcuts/author-tools":{"title":"$:/config/shortcuts/author-tools","created":"20191121050813703","modified":"20200316123531677","type":"text/vnd.tiddlywiki","text":"ctrl-alt-A"},"$:/config/ShortcutInfo/switch-author":{"title":"$:/config/ShortcutInfo/switch-author","created":"20200315203528401","modified":"20200316123455880","type":"text/vnd.tiddlywiki","text":"Toggle the author-reader mode"},"$:/config/shortcuts/switch-author":{"title":"$:/config/shortcuts/switch-author","created":"20200315203409995","modified":"20200316123545221","type":"text/vnd.tiddlywiki","text":"ctrl+alt+L"}}}
These settings let you customise the behaviour of Utility plugin.
---
;Show Utility setting in more sidebar
:<$checkbox tiddler="$:/plugins/kookma/utility/ui/ControlPanel/Settings" tag="$:/tags/MoreSideBar"> Show setting in more sidebar</$checkbox>
;Options
:<$checkbox tiddler="$:/plugins/kookma/utility/pagecontrol/view-fields-button" tag="$:/tags/PageControls"> Enable show fields</$checkbox>
:<$checkbox tiddler="$:/plugins/kookma/utility/stylesheet/colorful-sidebar-tab" tag="$:/tags/Stylesheet"> Colorify sidebar tabs</$checkbox>
:<$checkbox tiddler="$:/plugins/kookma/utility/viewtemplate/display-content-global-macro" tag="$:/tags/ViewTemplate"> Display the content of global macro</$checkbox>
:<$checkbox tiddler="$:/plugins/kookma/utility/stylesheet/tw-version" tag="$:/tags/Stylesheet"> Show the Tiddlywiki version badge</$checkbox>
\define lingo-base() $:/language/EditTemplate/
\define config-title()
$:/config/EditTemplateFields/Visibility/$(currentField)$
\end
\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end
\define new-field()
<$vars name={{$:/temp/newfieldname}}>
<$reveal type="nomatch" text="" default=<<name>>>
<$button>
<$action-sendmessage $message="tm-add-field"
$name=<<name>>
$value={{$:/temp/newfieldvalue}}/>
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
<$reveal type="match" text="" default=<<name>>>
<$button>
<<lingo Fields/Add/Button>>
</$button>
</$reveal>
</$vars>
\end
<div class="tc-edit-fields">
<table class="tc-edit-fields">
<tbody>
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField">
<$list filter=<<config-filter>> variable="temp">
<tr class="tc-edit-field">
<td class="tc-edit-field-name">
<$text text=<<currentField>>/>:</td>
<td class="tc-edit-field-value">
<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>
</td>
<td class="tc-edit-field-remove">
<$button class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>
<$action-deletefield $field=<<currentField>>/>
{{$:/core/images/delete-button}}
</$button>
</td>
</tr>
</$list>
</$list>
</tbody>
</table>
</div>
<$fieldmangler>
<div class="tc-edit-field-add">
<em class="tc-edit">
<<lingo Fields/Add/Prompt>>
</em>
<span class="tc-edit-field-add-name">
<$edit-text tiddler="$:/temp/newfieldname" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle"/>
</span>
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
<div class="tc-block-dropdown tc-edit-type-dropdown">
<$linkcatcher to="$:/temp/newfieldname">
<div class="tc-dropdown-item">
<<lingo Fields/Add/Dropdown/User>>
</div>
<$list filter="[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField">
<$link to=<<currentField>>>
<<currentField>>
</$link>
</$list>
<div class="tc-dropdown-item">
<<lingo Fields/Add/Dropdown/System>>
</div>
<$list filter="[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
<$link to=<<currentField>>>
<<currentField>>
</$link>
</$list>
</$linkcatcher>
</div>
</$reveal>
<span class="tc-edit-field-add-value">
<$edit-text tiddler="$:/temp/newfieldvalue" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor"/>
</span>
<span class="tc-edit-field-add-button">
<$macrocall $name="new-field"/>
</span>
</div>
</$fieldmangler>
{
"tiddlers": {
"$:/core/modules/widgets/link.js": {
"title": "$:/core/modules/widgets/link.js",
"created": "20160218191628007",
"modified": "20161018180800361",
"module-type": "widget",
"type": "application/javascript",
"text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink 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 LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\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// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true;\n\t// Render the link if required\n\tif(useWikiLinks) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = wikiLinkTemplate.replace(\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = wikiLinkText.replace(\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragstart\", handlerObject: this, handlerMethod: \"handleDragStartEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tfollowAliases: this.followAliases\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\nLinkWidget.prototype.handleDragStartEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\tif(this.to) {\n\t\t\t$tw.dragInProgress = true;\n\t\t\t// Set the dragging class on the element being dragged\n\t\t\t$tw.utils.addClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t\t// Create the drag image elements\n\t\t\tthis.dragImage = this.document.createElement(\"div\");\n\t\t\tthis.dragImage.className = \"tc-tiddler-dragger\";\n\t\t\tvar inner = this.document.createElement(\"div\");\n\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\tinner.appendChild(this.document.createTextNode(this.to));\n\t\t\tthis.dragImage.appendChild(inner);\n\t\t\tthis.document.body.appendChild(this.dragImage);\n\t\t\t// Astoundingly, we need to cover the dragger up: http://www.kryogenix.org/code/browser/custom-drag-image.html\n\t\t\tvar cover = this.document.createElement(\"div\");\n\t\t\tcover.className = \"tc-tiddler-dragger-cover\";\n\t\t\tcover.style.left = (inner.offsetLeft - 16) + \"px\";\n\t\t\tcover.style.top = (inner.offsetTop - 16) + \"px\";\n\t\t\tcover.style.width = (inner.offsetWidth + 32) + \"px\";\n\t\t\tcover.style.height = (inner.offsetHeight + 32) + \"px\";\n\t\t\tthis.dragImage.appendChild(cover);\n\t\t\t// Set the data transfer properties\n\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t// First the image\n\t\t\tdataTransfer.effectAllowed = \"copy\";\n\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\tdataTransfer.setDragImage(this.dragImage.firstChild,-16,-16);\n\t\t\t}\n\t\t\t// Then the data\n\t\t\tdataTransfer.clearData();\n\t\t\tvar jsonData = this.wiki.getTiddlerAsJson(this.to),\n\t\t\t\ttextData = this.wiki.getTiddlerText(this.to,\"\"),\n\t\t\t\ttitle = (new RegExp(\"^\" + $tw.config.textPrimitives.wikiLink + \"$\",\"mg\")).exec(this.to) ? this.to : \"[[\" + this.to + \"]]\";\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\",title);\n\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t}\n\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\tdataTransfer.setData(\"Text\",title);\n\t\t\tevent.stopPropagation();\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\nLinkWidget.prototype.handleDragEndEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\t$tw.dragInProgress = false;\n\t\t// Remove the dragging class on the element being dragged\n\t\t$tw.utils.removeClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t// Delete the drag image element\n\t\tif(this.dragImage) {\n\t\t\tthis.dragImage.parentNode.removeChild(this.dragImage);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.followAliases = this.getAttribute(\"followAliases\", \"true\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to) && !(this.wiki.filterTiddlers(\"[title[\"+this.to+\"]listed[aliases]]\").length === 1);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\t// Make the 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*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n"
},
"$:/core/modules/widgets/navigator.js": {
"title": "$:/core/modules/widgets/navigator.js",
"created": "20160218190315501",
"modified": "20160218192104537",
"module-type": "widget",
"type": "application/javascript",
"text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\t// Construct the 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*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tthis.wiki.addToStory(title,fromTitle,this.storyTitle,{openLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),openLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")});\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n \tif (!this.wiki.tiddlerExists(event.navigateTo) && event.followAliases == \"true\") {\n var aliases = this.wiki.filterTiddlers(\"[title[\"+event.navigateTo+\"]listed[aliases]]\")\n if (aliases.length === 1) {\n event.navigateTo = aliases[0]\n }\n }\n\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event);\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\nconsole.log(\"Relinking '\" + draftOf + \"' to '\" + draftTitle + \"'\");\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-renaming-tiddler\", event);\n\tvar paramObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n"
},
"$:/core/ui/ViewTemplate/body": {
"title": "$:/core/ui/ViewTemplate/body",
"created": "20160218185029873",
"modified": "20160218192615033",
"tags": "$:/tags/ViewTemplate",
"text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n<$list filter=\"[title{!!title}listed[aliases]first[]]\" variable=\"\">\nYou may have meant one of the following pages\n<$list filter=\"[title{!!title}listed[aliases]]\">\n<li><$link>{{!!title}}</$link></li>\n</$list>\n\n</$list>\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
}
}
}
{
"tiddlers": {
"$:/plugins/mklauber/shuffle/readme": {
"title": "$:/plugins/mklauber/shuffle/readme",
"caption": "Shuffle Operator",
"text": "|!purpose|Randomize the order of the input list|\n|!input|a selection of titles|\n|!parameter|a random string to be used to create consistent random ordering|\n|!output|The input titles, rearranged in a random order|\n\nThis plugin implements a new filter operator called Shuffle. This operator takes the input list and randomizes the order of the list. If no parameter is provided, the list order is random every time.\n\n!!!Example:\n```\n<$list filter=\"1 2 3 4 5 +[shuffle[]]\">\n\n</$list>\n```\n\n<$button popup=\"$:/state/shuffle/reveal1\">Run Demo</$button>\n\n<$reveal type=\"popup\" state=\"$:/state/shuffle/reveal1\">\n<div class=\"tc-drop-down\">\n<$list filter=\"1 2 3 4 5 +[shuffle[]]\">\n\n</$list>\n</div>\n</$reveal>\n\nCombining this operator with the first operator allows you to choose 1 or more titles randomly from a list.\n\n!!!Example:\n```\n<$list filter=\"1 2 3 4 5 +[shuffle[]first[2]]\">\n\n</$list>\n```\n\n<$button popup=\"$:/state/shuffle/reveal2\">Run Demo</$button>\n\n<$reveal type=\"popup\" state=\"$:/state/shuffle/reveal2\">\n<div class=\"tc-drop-down\">\n<$list filter=\"1 2 3 4 5 +[shuffle[]first[2]]\">\n\n</$list>\n</div>\n</$reveal>\n\nIf a parameter is provided the list will be ordered identically every time it is rendered. This can be useful in conjunction a button that updates a state tiddler. Set the parameter of this operator to reference that state tiddler, and create a button that updates that tiddler, and now the ordering of the random operators only changes when the button is pressed.\n\n!!!Example:\n```\n<$button>\n<$action-setfield $tiddler=\"$:/temp/shuffle/example\" $field=\"state\" $value=<<now \"0hh:0mm:0ss\">>/>\nChange Order\n</$button>\n\n<$list filter=\"1 2 3 4 5 +[shuffle{$:/temp/shuffle/example!!state}]\">\n\n</$list>\n```\n\n<$button>\n<$action-setfield $tiddler=\"$:/temp/shuffle/example\" $field=\"state\" $value=<<now \"0hh:0mm:0ss\">>/>\nUpdate\n</$button>\n\n<$list filter=\"1 2 3 4 5 +[shuffle{$:/temp/shuffle/example!!state}]\">\n\n</$list>\n"
},
"$:/plugins/mklauber/shuffle/seedrandom.js": {
"title": "$:/plugins/mklauber/shuffle/seedrandom.js",
"created": "20180220123939614",
"modified": "20180220125617309",
"module-type": "library",
"tags": "",
"type": "application/javascript",
"text": "!function(a,b){function c(c,j,k){var n=[];j=1==j?{entropy:!0}:j||{};var s=g(f(j.entropy?[c,i(a)]:null==c?h():c,3),n),t=new d(n),u=function(){for(var a=t.g(m),b=p,c=0;a<q;)a=(a+c)*l,b*=l,c=t.g(1);for(;a>=r;)a/=2,b/=2,c>>>=1;return(a+c)/b};return u.int32=function(){return 0|t.g(4)},u.quick=function(){return t.g(4)/4294967296},u.double=u,g(i(t.S),a),(j.pass||k||function(a,c,d,f){return f&&(f.S&&e(f,t),a.state=function(){return e(t,{})}),d?(b[o]=a,c):a})(u,s,\"global\"in j?j.global:this==b,j.state)}function d(a){var b,c=a.length,d=this,e=0,f=d.i=d.j=0,g=d.S=[];for(c||(a=[c++]);e<l;)g[e]=e++;for(e=0;e<l;e++)g[e]=g[f=s&f+a[e%c]+(b=g[e])],g[f]=b;(d.g=function(a){for(var b,c=0,e=d.i,f=d.j,g=d.S;a--;)b=g[e=s&e+1],c=c*l+g[s&(g[e]=g[f=s&f+b])+(g[f]=b)];return d.i=e,d.j=f,c})(l)}function e(a,b){return b.i=a.i,b.j=a.j,b.S=a.S.slice(),b}function f(a,b){var c,d=[],e=typeof a;if(b&&\"object\"==e)for(c in a)try{d.push(f(a[c],b-1))}catch(a){}return d.length?d:\"string\"==e?a:a+\"\\0\"}function g(a,b){for(var c,d=a+\"\",e=0;e<d.length;)b[s&e]=s&(c^=19*b[s&e])+d.charCodeAt(e++);return i(b)}function h(){try{var b;return j&&(b=j.randomBytes)?b=b(l):(b=new Uint8Array(l),(k.crypto||k.msCrypto).getRandomValues(b)),i(b)}catch(b){var c=k.navigator,d=c&&c.plugins;return[+new Date,k,d,k.screen,i(a)]}}function i(a){return String.fromCharCode.apply(0,a)}var j,k=this,l=256,m=6,n=52,o=\"random\",p=b.pow(l,m),q=b.pow(2,n),r=2*q,s=l-1;if(b[\"seed\"+o]=c,g(b.random(),a),\"object\"==typeof module&&module.exports){module.exports=c;try{j=require(\"crypto\")}catch(a){}}else\"function\"==typeof define&&define.amd&&define(function(){return c})}([],Math);"
},
"$:/plugins/mklauber/shuffle/shuffle.js": {
"title": "$:/plugins/mklauber/shuffle/shuffle.js",
"caption": "A filter Operator to randomize the order of the list passed to it.",
"created": "20150811171933696",
"modified": "20180220125039203",
"module-type": "filteroperator",
"type": "application/javascript",
"text": "(function(){\n\n \"use strict\";\n\n var hash = function(str) {\n var hash = 0, i, chr, len;\n if (str.length === 0) return hash;\n for (i = 0, len = str.length; i < len; i++) {\n chr = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n return hash;\n }\n\n var shuffle = function(array, seed) {\n var currentIndex = array.length, temporaryValue, randomIndex ;\n Math.seedrandom(seed)\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n }\n\n var prepare_results = function (source) {\n\t var results = [];\n\t source(function(tiddler,title) {\n\t\t results.push(title);\n\t });\n\t return results;\n };\n\n exports.shuffle = function(source, operator, options) {\n var results = prepare_results(source);\n if (operator['operand'] == \"\") {\n shuffle(results);\n } else {\n shuffle(results, hash(operator['operand']));\n }\n return results;\n }\n})();\n"
},
"$:/plugins/mklauber/shuffle/startup.js": {
"title": "$:/plugins/mklauber/shuffle/startup.js",
"created": "20180220133753576",
"modified": "20180220133920300",
"module-type": "startup",
"tags": "",
"type": "application/javascript",
"text": "exports.name = \"shuffle\"\nexports.before = [\"render\"]\nexports.startup = function() {\n $tw.modules.execute('$:/plugins/mklauber/shuffle/seedrandom.js');\n}\n"
}
}
}
{
"tiddlers": {
"$:/core/images/format-fancy": {
"text": "<svg class=\"tc-image-format-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 32 32\">\n<path d=\"M7.031000137329102,14c3.866000175476074,0,7,3.134000778198242,7,7s-3.133999824523926,7,-7,7s-7,-3.134000778198242,-7,-7l-0.03099999949336052,-1c0,-7.732000350952148,6.26800012588501,-14,14,-14v4c-2.670999526977539,0,-5.182000160217285,1.0399999618530273,-7.071000099182129,2.928999900817871c-0.3639998435974121,0.3640003204345703,-0.695000171661377,0.7510004043579102,-0.994999885559082,1.1569995880126953c0.35699987411499023,-0.055999755859375,0.7239999771118164,-0.08600044250488281,1.0970001220703125,-0.08600044250488281ZM25.0310001373291,14c3.865999221801758,0,6.999998092651367,3.134000778198242,6.999998092651367,7s-3.134000778198242,7,-7,7s-7,-3.134000778198242,-7,-7l-0.031000137329101562,-1c0,-7.732000350952148,6.267999649047852,-14,14,-14v4c-2.670999526977539,0,-5.182001113891602,1.0399999618530273,-7.071001052856445,2.928999900817871c-0.3640003204345703,0.3640003204345703,-0.6949996948242188,0.7510004043579102,-0.9950008392333984,1.1569995880126953c0.3579998016357422,-0.055999755859375,0.7240009307861328,-0.08600044250488281,1.0970001220703125,-0.08600044250488281Z\" transform=\"matrix(-0.83362, 0.0159513, -0.0159513, -0.83362, 29.554, 29.6366)\"/>\n</svg>",
"created": "20160314124720819",
"modified": "20160314125000764",
"tags": "$:/tags/Image",
"title": "$:/core/images/format-fancy"
},
"$:/core/modules/editor-operations/text/fancyquotes.js": {
"text": "/*\\\ntitle: $:/core/modules/editor-operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"fancyquotes\"] = function(event,operation) {\nvar listtext=operation.selection;\n\n listtext= listtext.replace(/\\.\\.\\./gm,'…');\n// opening quotes\n listtext= listtext.replace(/([\\\\n \\(\\t])\\\"/gm,'$1“');\n listtext= listtext.replace(/([\\\\n \\(\\t])\\'/gm,'$1‘');\n//substitute prime and double prime if following numbers\n listtext= listtext.replace(/([0-9])'/gm,'$1′');\n listtext= listtext.replace(/([0-9])\"/gm,'$1″');\n//rearrange \". to .\"\n// remove this one because it is only Americans who insist on this.\n// listtext= listtext.replace(/\"([.!?])/gm,'$1”');\n// closing quote\n listtext= listtext.replace(/([?!.,])\"([\\n \\t\\)])/gm,'$1”$2');\n listtext= listtext.replace(/\"([!?., ][\\n \\t\\)])/gm,'”$1');\n listtext= listtext.replace(/'([\\n \\t])/gm,'’$1');\n listtext= listtext.replace(/'([!?.])/gm,'’$1');\n//apostrophes\n listtext= listtext.replace(/([a-zA-Z])'([a-zA-Z])/gm,'$1’$2');\n//convert post sentence double space to single\n listtext= listtext.replace(/([\\.?!] ) /gm,'$1');\n//convert x to × when between numbers\n listtext= listtext.replace(/([0-9])x([0-9])/gm,'$1×$2');\n//convert superscript small o to °\n listtext= listtext.replace(/\\^\\^o\\^\\^/gm,'°');\n//convert ens and ems\n listtext= listtext.replace(/--/gm,'–');\n listtext= listtext.replace(/---/gm,'—');\n\n\noperation.replacement=listtext;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
"created": "20160328022859019",
"modified": "20160328023036499",
"module-type": "texteditoroperation",
"tags": "",
"title": "$:/core/modules/editor-operations/text/fancyquotes.js",
"type": "application/javascript"
},
"$:/core/ui/TextEditorToolbar/fancyquotes": {
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"fancyquotes\"\n/>",
"caption": "{{$:/language/Buttons/FancyQuotes/Caption}}",
"condition": "[all[current]!is[image]]",
"created": "20160315204947548",
"creator": "Stephen",
"description": "{{$:/language/Buttons/FancyQuotes/Hint}}",
"icon": "$:/core/images/format-fancy",
"list-after": "$:/core/ui/TextEditorToolbar/balancecheck",
"modified": "20160505115433049",
"modifier": "Stephen",
"shortcuts": "((fancyquotes))",
"tags": "$:/tags/EditorToolbar",
"title": "$:/core/ui/TextEditorToolbar/fancyquotes"
},
"$:/language/Buttons/FancyQuotes/Caption": {
"text": "Convert fancy quotes",
"created": "20150316114656395",
"creator": "Stephen",
"modified": "20160315205408027",
"modifier": "Stephen",
"title": "$:/language/Buttons/FancyQuotes/Caption"
},
"$:/language/Buttons/FancyQuotes/Hint": {
"text": "Convert quotes, apostrophes, etc to fancy versions",
"created": "20150202172430962",
"creator": "Stephen",
"modified": "20160315205424399",
"modifier": "Stephen",
"title": "$:/language/Buttons/FancyQuotes/Hint"
},
"$:/config/ShortcutInfo/fancyquotes": {
"text": "{{$:/language/Buttons/FancyQuotes/Hint}}",
"created": "20160505024752187",
"creator": "Stephen",
"modified": "20160505024818758",
"modifier": "Stephen",
"tags": "",
"title": "$:/config/ShortcutInfo/fancyquotes"
},
"$:/config/shortcuts/fancyquotes": {
"text": "ctrl-alt-Q",
"created": "20160505024826431",
"creator": "Stephen",
"modified": "20160505121918050",
"modifier": "Stephen",
"tags": "",
"title": "$:/config/shortcuts/fancyquotes"
}
}
}
{
"tiddlers": {
"$:/plugins/snowgoon88/edit-comptext/config": {
"type": "application/json",
"title": "$:/plugins/snowgoon88/edit-comptext/config",
"text": "{\n \"configuration\": {\n \"caseSensitive\" : false,\n \"maxMatch\" : 8,\n \"minPatLength\" : 2,\n \"triggerKeyCombination\" : \"^ \"\n },\n \"template\": [{\n \"pattern\": \"[[\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n },\n {\n \"pattern\": \"||\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[|\",\n \"end\": \"]]\",\n \"startOffset\" : 2\n }\n ]\n}\n"
},
"$:/plugins/snowgoon88/edit-comptext/edit-comptext.js": {
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/edit-comptext.js\ntype: application/javascript\nmodule-type: widget\n\nTaken from original Edit-text widget\nVersion 5.1.13 of TW5\nAdd link-to-tiddler completion in framed.js and simple.js\n\nTODO : CHECK usefull, and particularly save_changes after every input ??\nTODO : where should popupNode be created in the DOM ?\nTODO : check that options are valid (numeric ?)\nvar isNumeric = function(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedCompEngine = require(\"$:/plugins/snowgoon88/edit-comptext/framed.js\").FramedCompEngine,\n\tSimpleCompEngine = require(\"$:/plugins/snowgoon88/edit-comptext/simple.js\").SimpleCompEngine;\n\nexports[\"edit-comptext\"] = editTextWidgetFactory(FramedCompEngine,SimpleCompEngine);\n\n})();\n",
"title": "$:/plugins/snowgoon88/edit-comptext/edit-comptext.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/snowgoon88/edit-comptext/examples": {
"title": "$:/plugins/snowgoon88/edit-comptext/examples",
"text": "The configuration file [[$:/plugins/snowgoon88/edit-comptext/config]] allow you to use the completion plugin for various usages. Here are some examples...\n\n!! Link Completion\nThe basic and default usage. Completion is triggered by `[[`, the search is among all non-system tiddlers. When selected, the `title` of the tiddler is inserted in the text, surrounded by `[[` and `]]`. This gives the following Completion Template.\n\n\n```\n{\n \"pattern\": \"[[\",\n \"title\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n}\t \n```\n\n!! Link Completion and reposition to add Alias\nAnother basic usage. Completion is triggered by `||`, the search is among all non-system tiddlers. When selected, the `title` of the tiddler is inserted in the text, surrounded by `[[|` and `]]`. The cursor is positionned just before the `|`, ready for typing an Alias.\n\n```\n{\n \"pattern\": \"||\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[|\",\n \"end\": \"]]\",\n \"startOffset\" : 2\n }\n\n```\n\n!! Special macro completion\nI have a 'pnjin' macro that is invoked by `<<pnjin \"TiddlerPNJName\">>` where 'TiddlerPNJName is a tiddler that hold data about a PNJ. I use tiddlywiki to organise my Role Playing Games campaigns. So, I want `<p` to trigger the completion. The search is among all non-system tiddlers tagged `PNJ` and, once selected, the title of the tiddler must be inserted surrouned by `<<pnjin \\\"` and `\\\">>`. So...\n\n```\n{\n\t\"pattern\": \"<p\",\n \t\"title\": \"[tag[PNJ]!is[system]]\",\n \t\"start\": \"<<pnjin \\\"\",\n \t\"end\": \"\\\">>\"\n}\n```\n\n!! Insert some templates or stamp or snippets into text.\nI frequently use some text pattern and I want to insert them easily. So, I could create several tiddlers, tagged '$:stamp' and in their body are the piece of texte I want to insert. The titles of these tiddlers always start with `$:/config/stamp/` (i.e. $:/config/stamp/macro, $:/config/stamp/list1, $:/config/stamp/list2). I want to trigger the completion by using `<<`, then I only want to chose among the last part of the titles of tiddlers tagged `$:stamp` so I use a mask (`$:/config/stamp/`) to only display the last part of the tiddlers title. When selectected, the `body` of the tiddler is inserted, with no surrounding strings. As a results, the Completion Template is (notice the `body` field):\n\n```\n{\n \"pattern\": \"<<\",\n \"body\": \"[tag[$:stamp]]\",\n \"mask\" : \"$:/config/stamp/\",\n \"start\": \"\",\n \"end\": \"\"\n}\n```\n\n!! And you ?\nIf you have funny usages of completion, let me know. If you'd like to do something that is not yet possible, let me know...\n\nmail : snowgoon88(AT)gmail(DOT)com"
},
"$:/plugins/snowgoon88/edit-comptext/framed.js": {
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/framed.js",
"module-type": "library",
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/framed.js\ntype: application/javascript\nmodule-type: library\n\nTaken from $:/core/modules/editor/engines/framed.js\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\n// Configuration tiddler\nvar COMPLETION_OPTIONS = \"$:/plugins/snowgoon88/edit-comptext/config\";\nvar Completion = require(\"$:/plugins/snowgoon88/edit-comptext/completion.js\").Completion;\n\t\nfunction FramedCompEngine(options) {\n //DEBUG console.log( \"==FramedCompEngine::creation\" );\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\n\t// Completion\n\t// Load Completion configuration as JSON\n this._configOptions = $tw.wiki.getTiddlerData( COMPLETION_OPTIONS, {} );\n\t\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create dummy popup for reading its styles\n\t//this._dummyCompletion = new Completion( this.widget, this.dummyTextArea, this._configOptions);\n\t//REMOVEthis._dummyCompletion.setAttribute(\"hidden\",\"true\");\n\t\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n\n\t// add Completion popup\n this._completion = new Completion( this.widget, this.domNode, this._configOptions, this.dummyTextArea, this.iframeNode.offsetTop, this.iframeNode.offsetLeft );\n\t// print iframe offset\n\t//DEBUG console.log( \" __iframe.offsetLeft: \"+this.iframeNode.offsetLeft );\n //DEBUG console.log( \" __iframe.offsetTop: \"+this.iframeNode.offsetTop );\n \n\t// Copy all styles from dummyCompletion\n\t//$tw.utils.copyStyles(this._dummyCompletion._popNode, this._completion._popNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\t//this._completion._popNode.style.display = \"block\";\n\t//this._completion._popNode.style.width = \"100%\";\n\t//this._completion._popNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\t//this._completion._popNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n \n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedCompEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedCompEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedCompEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedCompEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedCompEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedCompEngine.prototype.handleInputEvent = function(event) {\n //DEBUG console.log( \"__framed.js::handleInputEvent\");\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedCompEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedCompEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedCompEngine = FramedCompEngine;\n\n})();\n"
},
"$:/plugins/snowgoon88/edit-comptext/simple.js": {
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/simple.js",
"module-type": "library",
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/simple.js\ntype: application/javascript\nmodule-type: library\n\nTaken from $:/core/modules/editor/engines/simple.js\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\n// Configuration tiddler\nvar COMPLETION_OPTIONS = \"$:/plugins/snowgoon88/edit-comptext/config\";\nvar Completion = require(\"$:/plugins/snowgoon88/edit-comptext/completion.js\").Completion;\n\nfunction SimpleCompEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\n // Completion\n\t// Load Completion configuration as JSON\n this._configOptions = $tw.wiki.getTiddlerData( COMPLETION_OPTIONS, {} );\n\t\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n\n\t// add Completion popup\n this._completion = new Completion( this.widget, this.domNode, this._configOptions );\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleCompEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleCompEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleCompEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleCompEngine.prototype.focus = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleCompEngine.prototype.handleInputEvent = function(event) {\n\tconsole.log( \"__simple.js::handleInputEvent\");\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleCompEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleCompEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleCompEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleCompEngine = SimpleCompEngine;\n\n})();\n"
},
"$:/plugins/snowgoon88/edit-comptext/cursor-position.js": {
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/cursor-position.js",
"module-type": "library",
"text": "/*\\\nModule that compute the pixel position of the cursor of a text\nements.\n\nTaken from https://github.com/component/textarea-caret-position\n\n(as https://github.com/kir/js_cursor_position is not updated any more)\n\\*/\n// Fonction anonyme executée immediatement\n( function(){\n \n// The properties that we copy into a mirrored div.\n// Note that some browsers, such as Firefox,\n// do not concatenate properties, i.e. padding-top, bottom etc. -> padding,\n// so we have to do every single property specifically.\nvar properties = [\n 'direction', // RTL support\n 'boxSizing',\n 'width', // on Chrome and IE, exclude the scrollbar, so the mirror div wraps exactly as the textarea does\n 'height',\n 'overflowX',\n 'overflowY', // copy the scrollbar for IE\n\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration', // might not make a difference, but better be safe\n\n 'letterSpacing',\n 'wordSpacing',\n\n 'tabSize',\n 'MozTabSize'\n\n];\nvar isFirefox = false;\nif($tw.browser) {\n isFirefox = window.mozInnerScreenX != null;\n}\n\nfunction getCaretCoordinates(element, position, options) {\n\n var debug = options && options.debug || false;\n if (debug) {\n var el = document.querySelector('#input-textarea-caret-position-mirror-div');\n if ( el ) { el.parentNode.removeChild(el); }\n }\n\n // mirrored div\n var div = document.createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n document.body.appendChild(div);\n\n var style = div.style;\n var computed;\n if($tw.browser) {\n computed = window.getComputedStyle? getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n } \n else {\n computed = element.currentStyle;\n }\n \n\n // default textarea styles\n style.whiteSpace = 'pre-wrap';\n if (element.nodeName !== 'INPUT')\n style.wordWrap = 'break-word'; // only for textarea-s\n\n // position off-screen\n style.position = 'absolute'; // required to return coordinates properly\n if (!debug)\n style.visibility = 'hidden'; // not 'display: none' because we want rendering\n\n // transfer the element's properties to the div\n properties.forEach(function (prop) {\n style[prop] = computed[prop];\n });\n\n if (isFirefox) {\n // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n if (element.scrollHeight > parseInt(computed.height))\n style.overflowY = 'scroll';\n } else {\n style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n }\n\n div.textContent = element.value.substring(0, position);\n // the second special handling for input type=\"text\" vs textarea: spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n if (element.nodeName === 'INPUT')\n div.textContent = div.textContent.replace(/\\s/g, \"\\u00a0\");\n\n var span = document.createElement('span');\n // Wrapping must be replicated *exactly*, including when a long word gets\n // onto the next line, with whitespace at the end of the line before (#7).\n // The *only* reliable way to do that is to copy the *entire* rest of the\n // textarea's content into the <span> created at the caret position.\n // for inputs, just '.' would be enough, but why bother?\n span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n div.appendChild(span);\n\n var coordinates = {\n top: span.offsetTop + parseInt(computed['borderTopWidth']),\n left: span.offsetLeft + parseInt(computed['borderLeftWidth'])\n };\n\n if (debug) {\n span.style.backgroundColor = '#aaa';\n } else {\n document.body.removeChild(div);\n }\n\n return coordinates;\n}\n\n// Exporte as a module of node.js otherwise set as global\nif (typeof module != \"undefined\" && typeof module.exports != \"undefined\") {\n module.exports = getCaretCoordinates;\n} else {\n window.getCaretCoordinates = getCaretCoordinates;\n}\n\n})();\n"
},
"$:/plugins/snowgoon88/edit-comptext/completion.js": {
"type": "application/javascript",
"title": "$:/plugins/snowgoon88/edit-comptext/completion.js",
"module-type": "library",
"text": "/*\\\ntitle: $:/plugins/snowgoon88/edit-comptext/completion.js\ntype: application/javascript\nmodule-type: library\n\nTry to make self-contained completion module.\n\nTo use this 'module', you need a `widget` with a kind of `editarea` node.\nI do not know the exacte prerequisites of this editarea node for the module to\nwork, but mostly one should be able to attach the following `eventHandler` to\nit:\n - input\n - keydown\n - keypress\n - keyup\nThe `widget` is needed because I use:\n - widget.document\n - widget.wiki.filterTiddlers(...)\n\nFrom the Widget, once you have a proper editarea, you just have to call\n - var completion = new Completion( theWidget, theEditAreaNode, configObject);\nwhere `configObject` is expected to have the following fields. if a field is missing, a default value will be given.\nOne can have many `elements' in the template array.\n\n{\n \"configuration\": {\n \"caseSensitive\" : false,\n \"maxMatch\" : 8,\n \"minPatLength\" : 2,\n \"triggerKeyCombination\" : \"^ \"\n },\n \"template\": [{\n \"pattern\": \"[[\",\n \"filter\": \"[all[tiddlers]!is[system]]\",\n \"start\": \"[[\",\n \"end\": \"]]\"\n }\n ]\n}\n\nTODO : CHECK if needed\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// To compute pixel coordinates of cursor\nvar getCaretCoordinates = require(\"$:/plugins/snowgoon88/edit-comptext/cursor-position.js\");\n\n/** Default Completion Attributes */\nvar DEFATT = { maxMatch: 5, minPatLength: 2, caseSensitive: false, triggerKeyCombination: \"^ \" };\n\n/** \n * Struct for generic Completion Templates.\n * <ul>\n * <li>pat : pattern searched for.</li>\n * <li>filter : filter operation used to find the list of completion options</li>\n * <li>mask: replaced by \"\" when presenting completion options</li>\n * </ul>\n */\n var Template = function( pat, filter, mask, field, start, end, startOffset ) {\n this.pat = pat;\n this.filter = filter;\n this.mask = \"^\"+regExpEscape(mask);\n this.field = field;\n this.start = start;\n this.end = end;\n this.pos = 0;\n this.startOffset = startOffset;\n};\n/**\n * Struct for storing completion options, as we need to memorise \n * the titles of the tiddlers when masked and when body must be displayed.\n */\nvar OptCompletion = function( title, str ) {\n this.title = title;\n this.str = str;\n};\n\nvar keyMatchGenerator = function(combination) {\n\tlet singleMatchGenerator = function(character) {\n\t\tif (character === '^') {\n\t\t\treturn event => event.ctrlKey;\n\t\t}\n\t\telse if (character === '+') {\n\t\t\treturn event => event.shiftKey;\n\t\t}\n\t\telse if (character === '!') {\n\t\t\treturn event => event.altKey;\n\t\t}\n\t\telse {\n\t\t\treturn event => (event.keyCode || event.which) === character.charCodeAt(0);\n\t\t}\n\t};\n\n\tlet matchers = [];\n\tfor (let i = 0; i < combination.length; i++) {\n\t\tmatchers.push(singleMatchGenerator(combination[i]));\n\t}\n\n\treturn event => {\n\t\tfor (let i = 0; i < matchers.length; i++) {\n\t\t\tif (!matchers[i](event)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n};\n\n/**\n * Widget is needed in creating popupNode.\n * - widget.document\n * - widget.wiki.filterTiddlers(...)\n * - sibling : where to create the popup in the DOM.\n */\n\tvar Completion = function( editWidget, areaNode, param, sibling, offTop, offLeft ) {\n\tconsole.log( \"==Completion::creation\" );\n\n // About underlying Widget\n this._widget = editWidget;\n\tthis._areaNode = areaNode;\n\tthis._sibling = (typeof sibling !== 'undefined') ? sibling : this._areaNode;\n\tthis._offTop = (typeof offTop !== 'undefined') ? offTop : 0;\n\tthis._offLeft = (typeof offLeft !== 'undefined') ? offLeft : 0;\t\n\t\t\n // Completions attributes\n /** State */\n this._state = \"VOID\";\n this._template = undefined;\n /** Best matches */\n this._bestMatches = []; // An array of OptCompletion\n this._idxChoice = -1;\n /** Param */\n // maximum nb of match displayed\n this._maxMatch = param.configuration.maxMatch || DEFATT.maxMatch; \n this._minPatLength = param.configuration.minPatLength || DEFATT.minPatLength;\n this._caseSensitive= param.configuration.caseSensitive || DEFATT.caseSensitive;\n this._triggerKeyMatcher = keyMatchGenerator(param.configuration.triggerKeyCombination || DEFATT.triggerKeyCombination);\n /** Input information */\n this._lastChar = \"\";\n this._hasInput = false;\n /** List of Completion Templates */\n this._listTemp = [];\n \n // Read templates from Param\n if( param.template ) {\n \tvar idT;\n \tfor( idT=0; idT<param.template.length; idT++ ) {\n \t var temp = param.template[idT];\n\t // field 'body' ou 'title' (default)\n\t if( temp.body ) {\t\t\n \t\tthis._listTemp.push( \n \t\t new Template( temp.pattern, temp.body,\n\t\t\t\t temp.mask ? temp.mask : \"\",\n\t\t\t\t \"body\",\n \t\t\t\t temp.start, temp.end,\n temp.startOffset)\n \t\t);\n\t }\n\t else {\n \t\tthis._listTemp.push( \n \t\t new Template( temp.pattern, \n\t\t\t\t temp.title ? temp.title : temp.filter,\n\t\t\t\t temp.mask ? temp.mask : \"\",\n\t\t\t\t \"title\",\n \t\t\t\t temp.start, temp.end,\n temp.startOffset )\n \t\t);\n\t }\n\t //DEBUG temp = this._listTemp[this._listTemp.length-1];\n\t //DEBUG console.log( \"__CONF : \"+temp.pattern+\":\"+temp.filter+\":\"+temp.mask+\":\"+temp.field+\":\"+temp.start+\":\"+temp.end );\n \t}\n }\n // or defaut template\n else {\n \tthis._listTemp = [\n \t new Template( \"[[\", \"[all[tiddlers]!is[system]]\", \n\t\t\t \"\", \"title\",\n\t\t\t \"[[\", \"]]\" )\n \t];\n }\n // Create Popup\n\t//this._popNode = createPopup(this._widget, this._areaNode );\n\tthis._popNode = createPopup(this._widget, this._sibling );\t\n \n // Listen to the Keyboard\n $tw.utils.addEventListeners( this._areaNode,[\n\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInput\"},\n\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydown\"},\n\t{name: \"keypress\", handlerObject: this, handlerMethod: \"handleKeypress\"},\n \t{name: \"keyup\", handlerObject: this, handlerMethod: \"handleKeyup\"}\n ]);\n \n /** \n * Find the bestMatches among listChoice with given pattern\n * @param listChoice : array of String\n * @change : this._bestMatches => array of OptCompletion\n */\n this._findBestMatches = function( listChoice, pattern, nbMax) {\n\t// regexp search pattern, case sensitive\n\tvar flagSearch = this._caseSensitive ? \"\" : \"i\" ;\n\tvar regpat = RegExp( regExpEscape(pattern), flagSearch );\n\tvar regpat_start = RegExp( \"^\"+regExpEscape(pattern), flagSearch );\n\tvar regMask = RegExp( this._template.mask ? this._template.mask : \"\",\"\");\n\tvar nbMatch = 0;\n\t// nbMax set to _maxMatch if no value given\n\tnbMax = nbMax !== undefined ? nbMax : this._maxMatch;\n\n\t//DEBUG console.log( \"__FIND masked=\"+regMask+\" regPat=\"+regpat);\n\n\tthis._bestMatches= [];\n\tvar otherMatches = [];\n\t// We test every possible choice\n\tfor( var i=0; i< listChoice.length; i++ ) {\n\t // apply mask over potential choice\n\t var maskedChoice = listChoice[i].replace( regMask, \"\");\n\t // Test first if pattern is found at START of the maskedChoice\n\t // THEN added to BestMatches\n \t if( regpat_start.test( maskedChoice )) {\n\t\tif (nbMatch >= nbMax) {\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"...\") );\n\t\t return;\n\t\t} else {\n\t\t this._bestMatches.push( new OptCompletion(listChoice[i],maskedChoice) );\n\t\t nbMatch += 1;\n\t\t}\n\t }\n\t // then if pattern is found WITHIN the maskedChoice\n\t // added AFTER the choices that starts with pattern\n\t else if( regpat.test( maskedChoice ) ) {\n\t\tif (nbMatch >= nbMax) {\n\t\t // add all otherMatches to _bestMatches\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"<hr>\") ) ; //separator\n\t\t this._bestMatches = this._bestMatches.concat( otherMatches );\n\t\t this._bestMatches.push( new OptCompletion(\"\",\"...\") );\n\t\t return;\n\t\t} else {\n\t\t otherMatches.push( new OptCompletion(listChoice[i],maskedChoice) );\n\t\t nbMatch += 1;\n\t\t}\n\t }\n\t}\n\t// Here, must add the otherMatches\n\tthis._bestMatches.push( new OptCompletion(\"\",\"<hr>\") ) ; //separator\n\tthis._bestMatches = this._bestMatches.concat( otherMatches );\n };\n /**\n * Change Selected Status of Items\n */\n this._next = function (node) {\n\tvar count = node.children.length;\n\t//DEBUG console.log( \"__NEXT: co=\"+count+\" nbMatch=\"+this._bestMatches.length);\n\tif( this._bestMatches.length > 0 ) \n\t this._goto( node, this._idxChoice < count - 1 ? this._idxChoice + 1 : -1);\n\t//DEBUG this._logStatus( \"NexT\" );\n };\n this._previous = function (node) {\n\tvar count = node.children.length;\n\tvar selected = this._idxChoice > -1;\n\t//DEBUG console.log( \"__PREV: co=\"+count+\" nbMatch=\"+this._bestMatches.length);\n\tif( this._bestMatches.length > 0 ) \n\t this._goto( node, selected ? this._idxChoice - 1 : count - 1);\n\t//DEBUG this._logStatus( \"PreV\" );\n };\n // Should not be used, highlights specific item without any checks!\n this._goto = function (node, idx) {\n\tvar lis = node.children;\n\tvar selected = this._idxChoice > -1;\n\tif (selected) {\n\t lis[this._idxChoice].setAttribute(\"patt-selected\", \"false\");\n\t}\n\n\tthis._idxChoice = idx;\n \n\tif (idx > -1 && lis.length > 0) {\n\t lis[idx].setAttribute(\"patt-selected\", \"true\");\n\t}\n };\n /**\n * Abort pattern and undisplay.\n */\n this._abortPattern = function (displayNode) {\n\tthis._state = \"VOID\";\n\tthis._bestChoices = [];\n\tthis._idxChoice = -1;\n\tthis._undisplay( displayNode );\n\tthis._template = undefined;\n };\n /**\n * Display popupNode at the cursor position in areaNode.\n */\n this._display = function( areaNode, popupNode ) {\n\tif ( popupNode.style.display == 'none' ) {\n\t // Must get coordinate\n\t // Cursor coordinates within area + area coordinates + scroll\n var coord = getCaretCoordinates(areaNode, areaNode.selectionEnd);\n var styleSize = getComputedStyle(areaNode).getPropertyValue('font-size');\n var fontSize = parseFloat(styleSize); \n\t\t\n\t popupNode.style.left = (this._offLeft+areaNode.offsetLeft-areaNode.scrollLeft+coord.left) + 'px';\n\t popupNode.style.top = (this._offTop+areaNode.offsetTop-areaNode.scrollTop+coord.top+fontSize*2) + 'px';\n\t popupNode.style.display = 'block';\n\t}\n };\n /**\n * Undisplay someNode\n */\n this._undisplay = function( displayNode ) {\n\tif ( displayNode.style.display != 'none' ) {\n\t displayNode.style.display = 'none';\n\t}\n };\n\n /**\n * Used for debug\n */\n this._logStatus = function(msg) {\n\tconsole.log( \"__STATUS: \"+this._state+\":-\"+msg+\"- idx=\"+this._idxChoice );\n };\n\n};\n// **************************************************************************\n// ******************************************************************eventCbk\n// **************************************************************************\n/**\n * Disable the *effects* of ENTER / UP / DOWN / ESC when needed.\n * Set _hasInput to false.\n */\nCompletion.prototype.handleKeydown = function(event) {\n // key \n var key = event.keyCode;\n this._hasInput = false;\n \n //DEBUG console.log( \"__KEYDOWN (\"+key+\") hasI=\"+this._hasInput);\n \n // ENTER while selecting\n if( (this._state === \"PATTERN\" || this._state === \"SELECT\") && key === 13 ) {\n \tevent.preventDefault();\n \tevent.stopPropagation();\n }\n // ESC while selecting\n if( (this._state === \"PATTERN\" || this._state === \"SELECT\") && key === 27 ) {\n \tevent.preventDefault();\n \tevent.stopPropagation();\n }\n // UP/DOWN while a pattern is extracted\n if( (key===38 || key===40) && \n\t(this._state === \"PATTERN\" || this._state === \"SELECT\") ) {\n\tevent.preventDefault();\n }\n};\n/**\n * Means that something has been added/deleted => set _hasInput\n */\nCompletion.prototype.handleInput = function(event) {\n this._hasInput = true;\n //DEBUG console.log( \"__INPUT hasI=\"+this._hasInput );\n};\n\t\n/**\n * Set _lastChar, detects CTRL+SPACE.\n */\nCompletion.prototype.handleKeypress = function(event) {\n var curPos = this._areaNode.selectionStart; // cursor position\n var val = this._areaNode.value; // text in the area\n // key \n var key = event.keyCode || event.which;\n\t\n this._lastChar = String.fromCharCode(key);\n //DEBUG console.log( \"__KEYPRESS (\"+key+\") hasI=\"+this._hasInput+\" char=\"+this._lastChar );\n //DEBUG this._logStatus( \"KEYPRESS\" );\n \n // Detect Ctrl+Space\n if( this._triggerKeyMatcher(event) && this._state === \"VOID\" ) {\n\t//Find a proper Template\n\t// first from which we can extract a pattern\n\tif( this._template === undefined ) {\n\t //DEBUG console.log(\"__SPACE : find a Template\" );\n\t var idT, res;\n\t for( idT=0; idT < this._listTemp.length; idT++ ) {\n\t\tres = extractPattern( val, curPos, this._listTemp[idT] );\n\t\t//DEBUG console.log(\" t=\"+this._listTemp[idT].pat+\" res=\"+res);\n\t\t// res is not undefined => good template candidate\n\t\tif( res ) {\n\t\t this._template = this._listTemp[idT];\n\t\t this._state = \"PATTERN\";\n\t\t break;\n\t\t}\n\t }\n\t}\n\telse {\n\t //DEBUG console.log(\"__SPACE : already a template\" );\n\t this._state = \"PATTERN\";\n\t}\n }\n};\n/**\n * ESC -> abort; \n * Detect [ -> VOID switch to _state=PATTERN\n * PATTERN || SELECT : ENTER -> insertText\n * UP/DOWN -> previous/next\n * pattern.length > _minPatternLength -> display \n */\nCompletion.prototype.handleKeyup = function(event) {\n var curPos = this._areaNode.selectionStart; // cursor position\n var val = this._areaNode.value; // text in the area\n // key a\n var key = event.keyCode;\n \n //DEBUG console.log( \"__KEYUP (\"+key+\") hasI=\"+this._hasInput );\n \n // ESC\n if( key === 27 ) {\n\tthis._abortPattern( this._popNode );\n\t//DEBUG this._logStatus( \"\" );\n }\n // Check for every template\n if( this._hasInput && this._state === \"VOID\" ) {\n\t// check every template's pattern\n\tvar idT, template;\n\tfor( idT=0; idT < this._listTemp.length; idT++ ) {\n\t template = this._listTemp[idT];\n\t if( this._lastChar === template.pat[template.pos] ) {\n\t\ttemplate.pos += 1;\n\t\t//DEBUG console.log( \"__CHECK : pat=\"+template.pat+\" pos=\"+template.pos );\n\t\t// Pattern totaly matched ?\n\t\tif( template.pos === template.pat.length ) {\n\t\t //DEBUG console.log( \"__CHECK => found \"+template.pat );\n\t\t this._state = \"PATTERN\";\n\t\t this._template = template;\n\t\t \n\t\t break; // get out of loop\n\t\t}\n\t }\n\t else {\n\t\ttemplate.pos = 0;\n\t\t//DEBUG console.log( \"__CHECK : pat=\"+template.pat+\" pos=\"+template.pos );\n\t }\n\t}\n }\n // a pattern\n else if( this._state === \"PATTERN\" || this._state === \"SELECT\" ) {\n\t// Pattern below cursor : undefined if no pattern\n\tvar pattern = extractPattern( val, curPos, this._template );\n\tif( key === 13 ) { // ENTER\n\t //DEBUG console.log( \"KEY : Enter\" );\n \t // Choice made in the displayNode ?\n \t var selected = this._idxChoice > -1 && this._idxChoice !== this._maxMatch;\n \t //DEBUG console.log( \" > sel=\"+selected+\" len=\"+this._bestChoices.length );\n \t if( selected ) {\n \t\t//DEBUG console.log( \" > selected\" );\n\t\tvar temp = this._bestMatches[this._idxChoice];\n\t\tvar str = temp.str;\n\t\tif( this._template.field === \"body\" ) {\n\t\t str = $tw.wiki.getTiddlerText( temp.title );\n\t\t}\n \t\tinsertInto( this._areaNode,\n\t\t\t str,\n\t\t\t pattern.start, curPos, this._template );\n\t\t// save this new content\n\t\tthis._widget.saveChanges( this._areaNode.value );\n\t }\n\t // otherwise take the first choice (if exists)\n\t else if( this._bestMatches.length > 0 ) {\n \t\t//DEBUG console.log( \" > take first one\" );\n\t\tvar temp = this._bestMatches[0];\n\t\tvar str = temp.str;\n\t\tif( this._template.field === \"body\" ) {\n\t\t str = $tw.wiki.getTiddlerText( temp.title );\n\t\t}\n \t\tinsertInto( this._areaNode,\n\t\t\t str,\n\t\t\t pattern.start, curPos, this._template );\n\t\t// save this new content\n\t\tthis._widget.saveChanges( this._areaNode.value );\n\t }\n\t this._abortPattern( this._popNode );\n\t\t//DEBUG this._logStatus( \"\" );\n \t }\n\t else if( key === 38 && this._hasInput === false) { // up\n\t\tthis._state = \"SELECT\";\n \t\tevent.preventDefault();\n \t\tthis._previous( this._popNode );\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t//event.stopPropagation();\n \t }\n \t else if( key === 40 && this._hasInput === false) { // down\n\t\tthis._state = \"SELECT\";\n \t\tevent.preventDefault();\n \t\tthis._next( this._popNode );\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t//event.stopPropagation();\n \t }\n \t else if( pattern ) { // pattern changed by keypressed\n\t\tthis._idxChoice = -1;\n \t\t// log\n\t\t//DEBUG this._logStatus( pattern.text );\n \t\t// Popup with choices if pattern at least minPatLength letters long\n\t\tif( pattern.text.length > (this._minPatLength-1) ) {\n\t\t // compute listOptions from templateFilter\n\t\t var allOptions;\n\t\t if( this._template )\n\t\t\tallOptions = this._widget.wiki.filterTiddlers( this._template.filter );\n\t\t else\n\t\t\tallOptions = this._widget.wiki.filterTiddlers(\"[all[tiddlers]]\");\n\t\t this._findBestMatches( allOptions, pattern.text );\n \t\t this._popNode.innerHTML = \"\";\n \t\t //console.log( \"BC \"+ this._pattern + \" => \" + choice );\n \t\t if (this._bestMatches.length > 0) {\n\t\t\tfor( var i=0; i<this._bestMatches.length; i++) {\n \t\t\t this._popNode.appendChild( \n\t\t\t\titemHTML(this._bestMatches[i].str,\n\t\t\t\t\t pattern.text));\n \t\t\t}\n\t\t\tthis._display( this._areaNode, this._popNode );\t\t\t\n \t\t }\n\t\t else { // no matches\n\t\t\tthis._state = \"PATTERN\";\n\t\t\tthis._undisplay( this._popNode );\n\t\t }\n\t\t}\n \t }\n\t else { // no pattern detected\n\t\tthis._abortPattern( this._popNode );\n\t }\n\t}\n\t// to ensure that one MUST add an input (through onInput())\n\tthis._hasInput = false;\n};\n// **************************************************************************\n// ******************************************************** private functions\n// **************************************************************************\n/**\n * Create popup element.\n */\nvar createPopup = function( widget, node ) {\n // Insert a special \"div\" element for poping up\n // Its 'display' property in 'style' control its visibility\n var popupNode = widget.document.createElement(\"div\");\n popupNode.setAttribute( \"style\", \"display:none; position: absolute;\");\n popupNode.className = \"tc-block-dropdown ect-block-dropdown\";\n // Insert the element into the DOM\n node.parentNode.insertBefore(popupNode,node.nextSibling);\n //CHECK the domNodes is a attribute of Widget [widget.js]\n //CHECK this.domNodes.push(popupNode);\n \n return popupNode;\n};\n/**\n * Extract Pattern from text at a given position.\n *\n * Between previous template.pat (or '[[') and pos\n * \n * If no pattern -> undefined\n */\nvar extractPattern = function( text, pos, template ) {\n // Detect previous and next ]]=>STOP or [[=>START\n var sPat = template.pat ? template.pat : '[[';\n var pos_prevOpen = text.lastIndexOf( sPat, pos );\n var ePat = template.end ? template.end : ']]';\n var pos_prevClosed = text.lastIndexOf( ePat, pos );\n var pos_nextClosed = text.indexOf( ePat, pos );\n //DEBUG console.log(\"__CALC st=\"+sPat+\" -> en=\"+ePat );\n //DEBUG console.log(\"__CALC po=\"+pos_prevOpen+\" pc=\"+pos_prevClosed+\" nc=\"+pos_nextClosed+\" pos=\"+pos);\n pos_nextClosed = (pos_nextClosed >= 0) ? pos_nextClosed : pos;\n \n if( (pos_prevOpen >= 0) && // must be opened\n\t((pos_prevOpen > pos_prevClosed ) || // not closed yet\n\t (pos_prevClosed === pos))) { // closed at cursor\n\t//DEBUG console.log(\" pat=\"+text.slice( pos_prevOpen+sPat.length, pos) );\n\treturn { text: text.slice( pos_prevOpen+sPat.length, pos ),\n\t\t start: pos_prevOpen,\n\t\t end: pos_nextClosed\n\t };\n }\n};\n/**\n * Controls how list items are generated.\n * Function that takes two parameters :\n * - text : suggestion text\n * - input : the user’s input\n * Returns : list item. \n * Generates list items with the user’s input highlighted via <mark>.\n */\nvar itemHTML = function (text, input ) {\n // text si input === ''\n // otherwise, build RegExp that is global (g) and case insensitive (i)\n // to replace with <mark>$&</mark> where \"$&\" is the matched pattern\n var html = input === '' ? text : text.replace(RegExp(regExpEscape(input.trim()), \"gi\"), \"<mark>$&</mark>\");\n return create(\"li\", {\n\tinnerHTML: html,\n\t\"patt-selected\": \"false\"\n });\n};\n/**\n * Insert text into a textarea node, \n * enclosing in 'template.start..template.end'\n *\n * - posBefore : where the 'template.pat+pattern' starts\n * - posAfter : where the cursor currently is\n */\nvar insertInto = function(node, text, posBefore, posAfter, template ) {\n //DEBUG console.log( \"__INSERT : \"+template.pattern+\":\"+template.filter+\":\"+template.mask+\":\"+template.field+\":\"+template.start+\":\"+template.end );\n var val = node.value;\n var sStart = template.start !== undefined ? template.start : '[[';\n var sEnd = template.end !== undefined ? template.end : ']]';\n var newVal = val.slice(0, posBefore) + sStart + text + sEnd + val.slice(posAfter);\n //console.log(\"__INSERT s=\"+sStart+\" e=\"+sEnd);\n //console.log (\"__INSERT pb=\"+posBefore+\" pa=\"+posAfter+\" txt=\"+text);\n //console.log( \"NEW VAL = \"+newVal );\n // WARN : Directly modifie domNode.value.\n // Not sure it does not short-circuit other update methods of the domNode....\n // i.e. could use widget.updateEditor(newVal) from edit-comptext widget.\n // but how to be sure that cursor is well positionned ?\n node.value = newVal;\n\n // if startOffset in Template, set cursor at beginning of inserted value,\n // with an Offset (usefull for aliasing links)\n if (template.startOffset) {\n let cursorPos = posBefore+template.startOffset;\n node.setSelectionRange( cursorPos, cursorPos );\n }\n else {\n node.setSelectionRange(posBefore+text.length+sStart.length+sEnd.length, posBefore+text.length+sStart.length+sEnd.length );\n }\n};\n/**\n * Add an '\\' in front of -\\^$*+?.()|[]{}\n */\nvar regExpEscape = function (s) {\n return s.replace(/[-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n/**\n * Add an element in the DOM.\n */\nvar create = function(tag, o) {\n var element = document.createElement(tag);\n \n for (var i in o) {\n\tvar val = o[i];\n\t\n\tif (i === \"inside\") {\n\t $(val).appendChild(element);\n\t}\n\telse if (i === \"around\") {\n\t var ref = $(val);\n\t ref.parentNode.insertBefore(element, ref);\n\t element.appendChild(ref);\n\t}\n\telse if (i in element) {\n\t element[i] = val;\n\t}\n\telse {\n\t element.setAttribute(i, val);\n\t}\n }\n \n return element;\n};\n\n\nexports.Completion = Completion;\n\n})();\n\n \n"
},
"$:/plugins/snowgoon88/edit-comptext/edit-comptext.css": {
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/snowgoon88/edit-comptext/edit-comptext.css",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/* The \\rules pragma at the top of the tiddler restricts the WikiText \n * to just allow macros and transclusion. This avoids mistakenly \n * triggering unwanted WikiText processing.\n * \n * MUST not save as text/css for macro to be processed\n*/\n\n.ect-block-dropdown li {\n display: block;\n padding: 4px 14px 4px 14px;\n text-decoration: none;\n color: <<colour tiddler-link-foreground>>; /*#5778d8;*/ \n background: transparent;\n}\n.ect-block-dropdown li[patt-selected=\"true\"] {\n color: <<colour tiddler-link-background>>; /*#ffffff; */\n background-color: <<colour tiddler-link-foreground>>; /*#5778d8; */\n}\n.ect-block-dropdown li[patt-selected=\"true\"] mark {\n background: hsl(86, 100%, 21%);\n color: inherit;\n}\n\n"
},
"$:/plugins/snowgoon88/edit-comptext/readme": {
"title": "$:/plugins/snowgoon88/edit-comptext/readme",
"text": "!! What ?\nThis plugin adds ''completion'' when editing the body of a tiddler.\n\n* Enter completion-mode by typing `[[` or `CTRL+SPACE`\n* A list of tiddlers with a title that matches the pattern between `[[` and cursor appears\n* `UP/DOWN` keys can select a tiddler, `ENTER` to validate\n* If there is only one match, `ENTER` selects it.\n* you can specify you own trigger pattern and the list of possible completions. See [[$:/plugins/snowgoon88/edit-comptext/usage]] for more details.\n* `NEW` : after completion, the cursor can be set inside the inserted text. This allows for easier creation of \"aliased links\" (try completion with `||` for example).\n\n!! To try it or get the latest news\nSee [[http://snowgoon88.github.io/TW5-extendedit]]\n\n!! Install \n\nTo add the plugin to your own TiddlyWiki5, just drag this link to the browser window:\n\n[[$:/plugins/snowgoon88/edit-comptext]]\n\nSometime, a small configuration step is then needed\n\nin `$:/ControlPanel -> Advanced -> Editor Type -> text/vnd.tiddlywiki` you must chose `comptext` instead of `text`.\n\nReload and « voilà »...\n\nThis plugin is quite mature now :o)\n\n!! Old version\n\n* A version compatible with 5.0.8 to 5.1.11 : [[http://snowgoon88.github.io/TW5-extendedit/index_5.1.11.html]]\n\n!! Source code\nOn github [[https://github.com/snowgoon88/TW5-extendedit]]\n\nGet in touch : snowgoon88(AT)gmail(DOT)com\n"
},
"$:/plugins/snowgoon88/edit-comptext/usage": {
"title": "$:/plugins/snowgoon88/edit-comptext/usage",
"text": "''Important'' : be sure that in `$:/ControlPanel -> Advanced -> Editor Type -> text/vnd.tiddlywiki` you have chosen `comptext` instead of `text`.\n\nConfiguration of the edit-comptext plugin can be done through the tiddler [[$:/plugins/snowgoon88/edit-comptext/config]]. Use a JSON tiddler (do not forget to set the type to `application/json`. See some examples at [[$:/plugins/snowgoon88/edit-comptext/examples]]\n\nIn the `configuration` object you can set :\n\n* `caseSensitive`: `true`/`false` (is search case sensitive ?)\n* `maxMatch` : an `integer` (max number of match displayed)\n* `minPatLength` : an `integer` (minimal length of a pattern to trigger completion search)\n* `triggerKeyCombination ` : a `string` representing the key combination that triggers the autocompletion popup. To use modifier keys in your combination, use following conversions : `ctrl` -> `^`, `alt` -> `!`, `shift` -> `+`. Note: ` ` (literally a whitespace) represents the `space` key.\n\nIn the `template` array you can specify the various completion templates that will be used. Every template can have the following members.\n\n* `pattern` : `string` (pattern that triggers a completion, default \"[[\" )\n* `title` or `body`: `string` (the filter operators that gives the list of valid completions, default \"[all[tiddlers]!is[system]]\"). If you specify `body`, then the body of the tiddler will be inserted on selection.\n* `start` : `string` (when completion is chosen, start is put before the completion, default \"[[\")\n* `end` : `string` (when completion is chosen, end is put after the completion, default \"]]\")\n* `startOffset` : `interger` but OPTIONNAL. If provided, the cursor will be positionned `startOffsetè characters after the beginning of the completed text. This is useful to create aliased links using \"||\" as a trigger.\n\n!! Current body of Config Tiddler\n\n{{$:/plugins/snowgoon88/edit-comptext/config}}\n\n"
}
}
}
Documentation is not as extensive as one could wish at the moment. You can open [[this tiddler|$:/plugins/telmiger/ColorAction/usage]] in edit mode and activate the preview to compare macros and results.
!!! Usage and Examples
!!!! Actions
* No parameters: <<coloraction>>
* Color only (red): <<coloraction red>>
* getFormat: <<coloraction #fff action:getFormat>>
* Brightness of red: <<coloraction red action:getBrightness>>
* Luminance of black: <<coloraction black action:getLuminance>>
* Check input: <$macrocall $name="coloraction" color=<<--white>> alpha=".5" action="getOriginalInput"/>
** Input core colour macro: <$macrocall $name="coloraction" color=<<colour primary>> action="getOriginalInput"/>
* Named colours: #f00 is ''<<coloraction #f00 action:toName>>''
* Filter: <<coloraction #f00 action:toFilter>>
---
!!! Modifications
* darken f00: <<coloraction #f00 darken>>
* lighten the result: <<coloraction "rgb(204, 0, 0)" lighten>>
* lighten black, apply alpha: <<coloraction #000 lighten 95 .5>>
* brighten red: <<coloraction #f00 brighten 50>>
* convert to greyscale: <<coloraction "rgb(204, 102, 102)" greyscale>>
* desaturate to grey:<<coloraction "rgb(204, 102, 102)" desaturate 100>>
* saturate 30/255: <<coloraction "rgb(204, 102, 102)" saturate 30>>
* saturate 100: <<coloraction "rgb(99, 100, 100)" saturate 100>>
!!!! Saturate gray color? It turns redish.
`<<coloraction "rgb(20, 20, 20)" saturate 100>>`
Result: <<coloraction "rgb(20, 20, 20)" saturate 100>>
!!!! Complement
* Page background, complement of <$macrocall $name=coloraction color=<<colour tiddler-title-foreground>> action=getOriginalInput/> is this: <$macrocall $name=coloraction color=<<colour tiddler-title-foreground>> mod=complement/>
* complement for #f00: <<coloraction #f00 complement action:toHex>>
** backwards from #00ffff: <<coloraction #00ffff complement action:toHex>>
* complement with alpha 0.3: <<coloraction "rgba(200, 20, 20, .3)" complement>>
The //complement// modification is implemented as a spin with a value of 180 (the result is the same).
!!!! Invert
Other than complement, this inverts the brightness of a colour too:
* invert #f00: <<coloraction #c78 invert action:toHex>>
* invert #333: <<coloraction #333 invert action:toHex>>
* invert with alpha 0.3: <<coloraction "rgba(200, 20, 20, .3)" invert>>
!!!! Spinning
* spin 360 returns input, e.g. for #c78: <<coloraction #c78 spin 360 1 toHexString>>
* spin 90: <<coloraction #f00 spin 90>>
* spin 180: <<coloraction #f00 spin 180>>
* Spin the variable for page-background: <$macrocall $name=coloraction color=<<colour page-background>> mod="spin" value="180"/>
* negative spin works too: <<coloraction #f00 spin -180>>
---
!!!! Mix and Alphablend
mix: <<coloraction "rgb(100,0,0)" "rgba(0,0,100,.5)" "75" action:"mix">>
mix default (50): <<coloraction "rgb(100,0,0)" "rgb(0,0,100)" action:"mix">>
alphablend: <<coloraction "rgba(0, 0, 0, .5)" "rgba(0, 10, 100, .5)" .5 action:"alphablend">>
alphablend2 – <<coloraction "rgb(200, 100, 50)" "rgba(250,200,100, .5)" .5 action:"alphablend">>
---
!!!! Random colors
<<coloraction random action:toHex>><br>
<<coloraction random action:toHex>>
{
"tiddlers": {
"$:/plugins/telmiger/EditorCounter/counter.js": {
"created": "20170207230719552",
"creator": "Thomas Elmiger",
"text": "/*\\\ntitle: $:/plugins/telmiger/EditorCounter/counter.js\ntype: application/javascript\nmodule-type: widget\n\nversion: 0.6.3\n\nCount the number of words or characters in a tiddler/field/input string – Autosave while editing\n\nUsage: see the plugin’s readme.\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 CounterWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCounterWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM – reset autosave attributes\n*/\nCounterWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// autosave attributes\n\tthis.diffTotal = 0;\n\tthis.saveNow = false;\n\t// calculate state \n\tthis.execute();\n\tif(this.mode == \"autosave\") {\n\t\t// store the number of last saved characters\n\t\tthis.lastSavedCount = this.currentCount;\n\t\tthis.diffLastCount = this.currentCount;\n\t} \n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tvar domNode = this.document.createElement(\"span\");\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCalculate the numbers\n*/\nCounterWidget.prototype.getLength = function(text) {\n\tvar result = 0;\n\tswitch(this.mode) {\n\t\tcase \"character\":\n\t\t\tresult = text.length.toString();\n\t\t\tbreak;\n\t\tcase \"autosave\":\n\t\t\tresult = text.length.toString();\n\t\t\t// sum up difference since last count\n\t\t\tthis.diffTotal += this.checkAutosave(result);\n\t\t\t// check saving limit\n\t\t\tthis.saveNow = (this.diffTotal >= this.saveLimit) ? true : false;\n\t\t\tbreak;\n\t\tcase \"word\":\n\t\t\tif(text.match(/\\w+/g)) {\n\t\t\t\tresult = text.match(/\\w+/g).length.toString();\n\t\t\t} else {\n\t\t\t\tresult = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault: // \"?!\"\n\t\t\tresult = \"mode undefined\";\n\t}\n\treturn result;\n}\n\n/*\nSet autosave \n*/\nCounterWidget.prototype.checkAutosave = function(textlength) {\n\t// calculate difference since last count\n\tthis.diffChars = Math.abs(textlength - this.diffLastCount);\n\t// store text length\n\tthis.diffLastCount = textlength;\n\treturn this.diffChars;\n}\n\n/*\nGet the colors as an array\n*/\nCounterWidget.prototype.getColors = function() {\n\tvar color_array1 = this.colors.split(',');\n\tvar i;\n\tcolor_array1.sort(function sortfunction(a, b){\n\t\treturn a.split(':')[1] - b.split(':')[1];\n\t});\n\tfor(i = 0; i < color_array1.length; i++) {\n\t\tthis.color_array[i] = color_array1[i].split(':')[0];\n\t\tthis.count_array[i] = color_array1[i].split(':')[1];\n\t}\n}\n\n/*\nGet the numbers\n*/\nCounterWidget.prototype.getNumber = function() {\n\t// Count letters or words as appropriate.\n\tvar result = 0;\n\tif(this.countText) {\n\t\t// text supplied as parameter \n\t\tresult = this.getLength(this.countText);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.tiddler);\n\t\tvar fieldContent = tiddler.getFieldString(this.field);\n\t\tif(fieldContent) {\n\t\t\tresult = this.getLength(fieldContent);\n\t\t} else {\n\t\t\tresult = 0;\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nCounterWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.mode = this.getAttribute(\"mode\",\"character\");\n\tthis.saveLimit = this.getAttribute(\"savelimit\",200);\n\tthis.tiddler = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.field = this.getAttribute(\"field\",\"text\");\n\tthis.countText = this.getAttribute(\"text\");\n\tthis.colors = this.getAttribute(\"colors\");\n\tthis.stateTiddler = this.getAttribute(\"colorState\");\n\t// Count letters or words as appropriate.\n\tthis.currentCount = this.getNumber();\n\tthis.diffChars = 0;\n\t//Find the color cut-offs, if any.\n\tif(this.colors) {\n\t\tthis.color_array = [];\n\t\tthis.count_array = [];\n\t\tvar i;\n\t\tthis.getColors();\n\n\t\t// set the color if the counter is high enough. The color with the largest value that is less than this.currentCount wins.\n\t\tfor(i = 0; i < this.color_array.length; i++) {\n\t\t\tif(Number(this.currentCount) >= Number(this.count_array[this.color_array.length - 1 - i])) {\n\t\t\t\tif(this.stateTiddler) {\n\t\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,this.color_array[this.color_array.length -1 - i]);\n\t\t\t\t}\n\t\t\t\tthis.currentCount = '@@color:' + this.color_array[this.color_array.length -1 - i] + ';' \n\t\t\t\t\t+ this.currentCount + '@@';\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(this.stateTiddler && i === this.color_array.length-1) {\n\t\t\t\tthis.wiki.setText(this.stateTiddler,\"text\",undefined,'');\n\t\t\t}\n\t\t}\n\t}\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",this.currentCount,{parseAsInline: true});\n\tvar parseTreeNodes = parser ? parser.tree : [];\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCounterWidget.prototype.refresh = function(changedTiddlers) {\n\tvar refreshed = false;\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount && this.mode !== \"autosave\") {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t}\n\tif(this.saveNow) {\n\t\t// Trigger an autosave and refresh\n\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\tthis.refreshSelf();\n\t\trefreshed = true;\n\t} \n\treturn refreshed;\n};\n\nexports[\"editor-counter\"] = CounterWidget;\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/telmiger/EditorCounter/counter.js",
"tags": "EditorCounter",
"module-type": "widget",
"modifier": "Thomas Elmiger",
"modified": "20170513200904421"
},
"$:/plugins/telmiger/EditorCounter/icon": {
"created": "20170209074404836",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64.003\" height=\"64.003\" viewBox=\"-500.5 395.5 64.003 64.003\"><path fill=\"#ddd\" d=\"M-468.5 396.5l26.426 15.5v31l-26.425 15.5-26.426-15.5v-31l26.427-15.5z\"/><path fill=\"#FFF\" d=\"M-485.996 419.088h34.99v16.824h-34.99z\"/><path fill=\"#E2001A\" d=\"M-468.5 405.5c-12.15 0-22 9.85-22 22s9.85 22 22 22 22-9.85 22-22-9.85-22-22-22zm13.11 21.637c-1.022.682-2.674 1.023-4.954 1.023h-2.838c-1.505 0-2.598.3-3.28.9-.68.6-1.22 1.804-1.622 3.615 0 0-.063.526-.178.526s-.13-.31-.184-.562c-.056-.263-.14-.59-.256-.977-.224-.758-.447-1.332-.67-1.72-.27-.482-.613-.87-1.024-1.165-.412-.294-.883-.47-1.413-.528l-.74-.088h-3.637c-2.178 0-3.796-.343-4.855-1.024-1.764-1.12-2.71-3.24-2.842-6.357-.01-.25 0-.48.047-.772h.208c.142 1.41 1.304 2.502 2.158 3.274.853.77 2.222 1.155 4.104 1.155h3.3c1.896 0 3.28.436 4.158 1.306.79.786 1.31 2.017 1.56 3.69.028.183.012.263.064.263.053 0 .04-.09.06-.278.253-2.173 1.094-3.627 2.522-4.363.88-.46 2.28-.676 4.196-.652l2.257.035c1.527.023 2.814-.278 3.86-.908 1.046-.63 2.285-1.803 2.425-3.52h.21c.065.17.057.56.045.828-.13 3.105-1.023 5.206-2.68 6.3z\"/></svg>",
"type": "image/svg+xml",
"title": "$:/plugins/telmiger/EditorCounter/icon",
"tags": "",
"modified": "20171217232049347"
},
"$:/plugins/telmiger/EditorCounter/readme": {
"created": "20170209064758307",
"creator": "Thomas Elmiger",
"text": "!! Count Your Texts & Autosave\nThe [[EditorCounter plugin|https://tid.li/tw5/plugins.html#EditorCounter]] provides counters for words and characters in the edit view of your tiddlers. And it can save your texts automagically in the background while you work.\n\n!!! The counters\n* In edit mode users can see stats concerning the tiddler’s text and title fields. The numbers are updated whenever they pause typing.\n* Counters for words and characters can be activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]].\n* The colours of the counters change at some predefined numbers.\n** Settings for colors and color limits are not available in the plugin configuration. <br>Workaround: edit [[the template|$:/plugins/telmiger/EditorCounter/EditTemplate]].\n\n!!! Autosave\n* When activated in the [[plugin settings|$:/plugins/telmiger/EditorCounter/settings]], //autosave// will try to save the wiki in the background during editing: whenever a predefined number of characters has been added or removed, a save is triggered.\n** As an option you can show a checkbox in the editor to pause/activate automatic saving.\n\n!!! Parameters\n\n|!Parameter |!Description |\n|colors |Optionally, define an array of color and number pairs to set minimal color limits. |\n|colorState |Optional state tiddler to save the color value. |\n|field |Calculate for the text in this field. |\n|mode |Entity to calculate: //word// or //character// or //autosave//. Defaults to \"character\". |\n|savelimit |A number of character changes after which //autosave// is performed. Default value: 200 |\n|text |Calculate this text. |\n|tiddler |Optional title of a tiddler to take the field from. Defaults to current tiddler. |\n\n!!! Widget usage\nThis plugin is based on a similar [[solution by Jed Carty|$:/plugins/telmiger/EditorCounter/credits]] – many thanks! \n\nThe widget can be used in other contexts than the plugin. The usage would be very similar to [[Jed’s examples on ooktech.com|http://ooktech.com/jed/ExampleWikis/WordCount/#%24%3A%2Fplugins%2Finmysocks%2FWordCount%2FWord%20Count%20Widget]] \n\nKnown differences: instead of `<$word-count` start with `<$editor-counter`. Default mode is //character//.\n\n!!!! Widget examples\n\n```\n<$editor-counter tiddler=SomeTiddler field=some_field mode=word/>\n<$editor-counter tiddler=SomeTiddler mode=character colors=\"blue:10,green:50,red:100\"/>\n<$editor-counter text=\"some text string\" mode=character colorState=\"$:/state/someTextColor\" colors=\"blue:10,green:50\"/>\n<$editor-counter mode=autosave savelimit=300/>\n```\n",
"title": "$:/plugins/telmiger/EditorCounter/readme",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170513193917595"
},
"$:/plugins/telmiger/EditorCounter/settings": {
"text": "!! Counter Settings\nActivate counters here. Your choice will be visible below the text field in edit mode.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/characters\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Character counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/words\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Word counter</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/title\" field=\"text\" checked=\"yes\" unchecked=\"no\"> Title characters counter</$checkbox>\n\n!! Autosave Settings\nAutosave will try to save your wiki in the background after adding or removing 200 characters. You can change this value below.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n every <$edit-text tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"limit\" size=\"4\"/> characters.\n\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Show checkbox to start/pause autosave in editor</$checkbox>\n\n<br>''\n\n<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Hint}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>\n\n''<br>\n\nNote: ''All'' characters are counted as entered in the editor, regardless if they are invisible in the result or if they produce more text based on data or transclusion.",
"title": "$:/plugins/telmiger/EditorCounter/settings",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170513185158209",
"creator": "Thomas Elmiger",
"created": "20170208062643245"
},
"$:/plugins/telmiger/EditorCounter/settings/characters": {
"created": "20170208063042363",
"creator": "Thomas Elmiger",
"text": "yes",
"title": "$:/plugins/telmiger/EditorCounter/settings/characters",
"modifier": "Thomas Elmiger",
"modified": "20170209071527563",
"tags": "EditorCounter"
},
"$:/plugins/telmiger/EditorCounter/settings/title": {
"text": "yes",
"title": "$:/plugins/telmiger/EditorCounter/settings/title",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20171112001656520",
"creator": "Thomas Elmiger",
"created": "20170208211524752"
},
"$:/plugins/telmiger/EditorCounter/settings/words": {
"text": "no",
"title": "$:/plugins/telmiger/EditorCounter/settings/words",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170216003921105",
"creator": "Thomas Elmiger",
"created": "20170208063040756"
},
"$:/plugins/telmiger/EditorCounter/EditTemplate": {
"created": "20170126185919666",
"creator": "Thomas Elmiger",
"text": "<div class=\"te-editor-counter\">\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\">\n<$editor-counter tiddler=<<currentTiddler>> colors='black:0,gray:140,green:300,indianred:800,red:1600'/> characters </$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n<span class=\"tc-muted\"><span class=\"tc-dirty-indicator\">•</span> <$editor-counter mode=autosave savelimit={{$:/plugins/telmiger/EditorCounter/settings/autosave!!limit}}/> saved</span>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/characters\"> \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/words\">\n<$editor-counter mode=word colors='black:0,gray:200,green:300,indianred:1000,red:2000'/> words \n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave-pause\">\n<$checkbox tiddler=\"$:/plugins/telmiger/EditorCounter/settings/autosave\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Autosave</$checkbox>\n<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/autosave\">\n (uncheck to pause)\n</$reveal>\n</$reveal>\n</div>\n<style>\n.te-editor-counter { margin-top: -.25rem; margin-bottom: 0.75rem; }\n</style>\n<!--\n* Show the number of characters and/or words entered in edit mode.\n* Show the number of characters at last autosave (autosave at a character difference as defined in settings).\n-->",
"title": "$:/plugins/telmiger/EditorCounter/EditTemplate",
"tags": "$:/tags/EditTemplate EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20180203144502207",
"list-before": "$:/core/ui/EditTemplate/type"
},
"$:/plugins/telmiger/EditorCounter/TitleTemplate": {
"text": "<$reveal type=\"match\" text=\"yes\" state=\"$:/plugins/telmiger/EditorCounter/settings/title\">\n<div class=\"te-title-counter\" title=\"Title length\">\n<$editor-counter tiddler=<<currentTiddler>> field=\"draft.title\" colors='green:20,indianred:30,red:40'/> chars\n</div>\n<style>\n.te-title-counter { position:absolute; right:1rem; margin-top:-2.25rem; padding-right:0.125rem; opacity:0.6; }\n@media (min-width: 30em) {\n.te-title-counter { right:2rem; }\n}\n@media (min-width: 42em) {\n.te-title-counter { right:4rem; }\n}\n</style>\n</$reveal>\n\n<!--\nShow the number of characters in the title\n-->",
"title": "$:/plugins/telmiger/EditorCounter/TitleTemplate",
"tags": "$:/tags/EditTemplate EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20171122220403967",
"list-before": "$:/core/ui/EditTemplate/tags",
"creator": "Thomas Elmiger",
"created": "20170213190419968"
},
"$:/plugins/telmiger/EditorCounter/settings/autosave": {
"created": "20170303132537685",
"creator": "Thomas Elmiger",
"text": "no",
"title": "$:/plugins/telmiger/EditorCounter/settings/autosave",
"modifier": "Thomas Elmiger",
"modified": "20170304110651863",
"limit": "200",
"tags": "EditorCounter"
},
"$:/plugins/telmiger/EditorCounter/credits": {
"text": "!! Credits\n\nMany thanks to Jed for his blueprint widget and demo site, originally on http://ooktech.com/jed/ExampleWikis/WordCount/ as well as to Skeeve who obviousliy contributed the original macro version Jed based his solution on.\n\n* http://ooktech.com/TiddlyWiki/\n* http://ooktech.com/TiddlyWiki/WordCount/\n\n//Powered by the fantastic TiddlyWiki community.//\n",
"title": "$:/plugins/telmiger/EditorCounter/credits",
"tags": "EditorCounter",
"modifier": "Thomas Elmiger",
"modified": "20170304104718649",
"creator": "Thomas Elmiger",
"created": "20170304102433909"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/HarveyBalls/empty/icon.svg": {
"created": "20171001102215819",
"creator": "Thomas Elmiger",
"text": "<svg class=\"em-icon harvey-ball ball-empty\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/empty/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/empty/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/empty/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171001205727758"
},
"$:/plugins/telmiger/HarveyBalls/full/icon.svg": {
"created": "20171001110625517",
"creator": "Thomas Elmiger",
"text": "<svg class=\"em-icon harvey-ball ball-full\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/full/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/full/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/full/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171001203909143"
},
"$:/plugins/telmiger/HarveyBalls/half/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-half\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/half/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/half/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16V16c-26.51 0-48 21.49-48 48s21.49 48 48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/half/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108194705981",
"creator": "Thomas Elmiger",
"created": "20171001113351829"
},
"$:/plugins/telmiger/HarveyBalls/icons.css": {
"created": "20171001103035127",
"creator": "Thomas Elmiger",
"text": "/* Size and position \n– inspired by https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n*/\n\nsvg.em-icon {\n width: 1em;\n height: 1em;\n margin-bottom: -0.125em;\n}\n\n/* Colours */\n\nsvg.em-icon.ball-empty {\n fill: rgba(255,0,0,0.95);\n}\nsvg.em-icon.ball-full {\n fill: green;\n}\nsvg.em-icon.ball-quarter {\n fill: orange;\n}\nsvg.em-icon.ball-half {\n fill: #000;\n}\nsvg.em-icon.ball-quarter-empty {\n fill: blue;\n}",
"title": "$:/plugins/telmiger/HarveyBalls/icons.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20171001120510304"
},
"$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg": {
"created": "20171001114641516",
"creator": "Thomas Elmiger",
"text": "<svg class=\"em-icon harvey-ball ball-quarter-empty\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/quarter-empty/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/quarter-empty/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zM16 64c0 .19 48 0 48 0V16c-26.51 0-48 21.49-48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171001205536194"
},
"$:/plugins/telmiger/HarveyBalls/quarter/icon.svg": {
"created": "20171001112413825",
"creator": "Thomas Elmiger",
"text": "<svg class=\"em-icon harvey-ball ball-quarter\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/quarter/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/quarter/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48 0-0-48 0-48 0s.25-48 0-48c-26.51 0-48 21.49-48 48s21.49 48 48 48z\"/>\n</svg>",
"title": "$:/plugins/telmiger/HarveyBalls/quarter/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171001205410250"
},
"$:/plugins/telmiger/HarveyBalls/readme": {
"text": "\\define tr(variant,nr:\"\")\n<$vars tit=\"$:/language/HarveyBalls/$variant$/title\" desc=\"$:/language/HarveyBalls/$variant$/desc\" nr=\"\"\"$nr$\"\"\">\n<tr><td>{{$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg}} </td><td><<nr>></td><td><$link to=<<tit>>><$transclude tiddler=<<tit>>/></$link> </td><td><$link to=<<desc>>><$transclude tiddler=<<desc>>/></$link></td></tr>\n</$vars>\n\\end\n\n!! Harvey Balls\n\nHarvey Balls are round ideograms used for visual communication of qualitative information. They are commonly used in comparison tables to indicate the degree to which a particular item meets a particular criterion.\n\n!!! Macros for display\nThe same as `{{$:/plugins/telmiger/HarveyBalls/half/icon.svg}}` – the Harvey ball <<HB2>> – would be displayed for all three of the following macros:\n\n`<<HarveyBall half>>`\n`<<HB2>>`\n`<<HB 2>>`\n\nTitles or numbers of the following tables can be used.\n\n!!! Available ideograms\n\n//1) more colour is better//\n\n<table>\n<tr><th>icon </th><th># </th><th>title </th><th>desc </th></tr>\n<<tr empty 0>>\n<<tr quarter 1>>\n<<tr half 2>>\n<<tr quarter-empty 3>>\n<<tr full 4>>\n</table>\n\n//2) less colour is better//\n\n<table>\n<tr><th>icon </th><th># </th><th>title </th><th>desc </th></tr>\n<<tr chaotic 34>>\n<<tr complex 21>>\n<<tr complicated 13>>\n<<tr obvious 8>>\n<<tr simple 5>>\n</table>\n\n!!! Adapt or translate for better accessibility\nTo convey another meaning with your Harvey Balls, it is possible to adapt or translate titles and descriptions. So it is possible to use them e.g. for a performance ratings or a score like:\n\n* poor\n* fair\n* good\n* very good\n* excellent\n\nJust click the text in the table above and adapt the content to your needs. The warning is just a reminder that you are overwriting the standard text. You can always delete your own version to return to the original.\n\n!!! Control dimensions via font size\n\nInside surrounding text, the Harvey balls adapt themselves in size. Examples:\n\n! Title H1 {{$:/plugins/telmiger/HarveyBalls/empty/icon.svg}}\n\n!! Title H2 {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} more text\n\n!!! Title H3 {{$:/plugins/telmiger/HarveyBalls/quarter/icon.svg}} more text\n\n!!!! Title H4 {{$:/plugins/telmiger/HarveyBalls/half/icon.svg}} more text\n\nNormal text paragraph {{$:/plugins/telmiger/HarveyBalls/quarter-empty/icon.svg}} more text or apply [[styling via Wikitext|http://tiddlywiki.com/#Styles%20and%20Classes%20in%20WikiText]]: \n\n@@font-size:2em; \nYou will need some text {{$:/plugins/telmiger/HarveyBalls/full/icon.svg}} to make this big.\n@@\n\n!!! Adjust colours via CSS\nThe styling of the balls can be changed \n\n# by adapting the style sheet $:/plugins/telmiger/HarveyBalls/icons.css\n# by adapting surrounding text color in case of the //less colour is better// version (it uses fill=\"currentColor\")\n\n\n<style>\nth {\n text-align: left;\n}\n</style>",
"title": "$:/plugins/telmiger/HarveyBalls/readme",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20171108195527207",
"creator": "Thomas Elmiger",
"created": "20171001103302730"
},
"$:/language/HarveyBalls/simple/title": {
"created": "20171004221927784",
"creator": "Thomas Elmiger",
"text": "simple",
"title": "$:/language/HarveyBalls/simple/title",
"tags": "",
"modified": "20171004221945951",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/HarveyBalls/alternatives": {
"created": "20171005185418327",
"creator": "Thomas Elmiger",
"text": "!! Alternatives\n\n!!! SVG from Wikipedia\nOn https://en.wikipedia.org/wiki/Harvey_Balls you will find alternative graphics in one single SVG file. There are neither tiltes nor descriptions in this image.\n\n!!! Fonts\nSome fonts like Arial Unicode MS contain symbols similar to Harvey balls:\n\n@@font-size:2em; \n○●◯◔◑◕◐◒◓◖◗◝◞◟◜◝◡◉◌◍◎☹☺☻\n@@\n\nThese are found starting around U+25CB (white circle). I don’t know if or how a screenreader would announce them. Other dedicated fonts with Harvey balls are available, I found some using the numbers from 0 to 9 and I guess a screenreader would announce them as such. Would numbers from 0 to 9 convey enough meaning to your users? Then you should use numbers instead of Harvey balls if you ask me.\n\n!! Accessibility\n\nIn general font solutions as well as monolithic SVG graphics lack the ability to control or adapt the meaning of the symbols/characters.\n\nThere is no hint popping up from a font if a user hovers over the icon with the pointer of the mouse. \n\nWith my SVG solution, the title is shown as a hint and ~VoiceOver on the Mac announces both title and desc attributes.\n",
"title": "$:/plugins/telmiger/HarveyBalls/alternatives",
"tags": "",
"modified": "20171005202525815",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/simple/desc": {
"created": "20171004222018780",
"creator": "Thomas Elmiger",
"text": "circle (not filled)",
"title": "$:/language/HarveyBalls/simple/desc",
"tags": "",
"modified": "20171004222033585",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/quarter/title": {
"created": "20171001211836428",
"creator": "Thomas Elmiger",
"text": "quarter",
"title": "$:/language/HarveyBalls/quarter/title",
"tags": "",
"modified": "20171001211853501",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/quarter/desc": {
"created": "20171001211324859",
"creator": "Thomas Elmiger",
"text": "circle with upper right quadrant filled",
"title": "$:/language/HarveyBalls/quarter/desc",
"tags": "",
"modified": "20171004215019485",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/quarter-empty/title": {
"created": "20171001212013679",
"creator": "Thomas Elmiger",
"text": "quarter empty",
"title": "$:/language/HarveyBalls/quarter-empty/title",
"tags": "",
"modified": "20171001212350753",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/quarter-empty/desc": {
"created": "20171001212131114",
"creator": "Thomas Elmiger",
"text": "circle filled with colour exempt upper left quadrant",
"title": "$:/language/HarveyBalls/quarter-empty/desc",
"tags": "",
"modified": "20171004215003298",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/obvious/title": {
"created": "20171005183754671",
"creator": "Thomas Elmiger",
"text": "obvious",
"title": "$:/language/HarveyBalls/obvious/title",
"tags": "",
"modified": "20171005183813367",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/obvious/desc": {
"created": "20171005183829060",
"creator": "Thomas Elmiger",
"text": "circle with upper left quadrant filled",
"title": "$:/language/HarveyBalls/obvious/desc",
"tags": "",
"modified": "20171005183844489",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/half/title": {
"created": "20171001213417585",
"creator": "Thomas Elmiger",
"text": "half",
"title": "$:/language/HarveyBalls/half/title",
"tags": "",
"modified": "20171001213430063",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/half/desc": {
"created": "20171001211939192",
"creator": "Thomas Elmiger",
"text": "circle with right half filled",
"title": "$:/language/HarveyBalls/half/desc",
"tags": "",
"modified": "20171001211959853",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/full/title": {
"created": "20171001204350059",
"creator": "Thomas Elmiger",
"text": "full",
"title": "$:/language/HarveyBalls/full/title",
"tags": "",
"modified": "20171001210037845",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/full/desc": {
"created": "20171001201844602",
"creator": "Thomas Elmiger",
"text": "circle filled with colour",
"title": "$:/language/HarveyBalls/full/desc",
"tags": "",
"modified": "20171004214903154",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/empty/title": {
"created": "20171001210047885",
"creator": "Thomas Elmiger",
"text": "empty",
"title": "$:/language/HarveyBalls/empty/title",
"tags": "",
"modified": "20171001210107150",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/empty/desc": {
"created": "20171001210121157",
"creator": "Thomas Elmiger",
"text": "circle (not filled)",
"title": "$:/language/HarveyBalls/empty/desc",
"tags": "",
"modified": "20171001210231109",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/complicated/title": {
"created": "20171005182951452",
"creator": "Thomas Elmiger",
"text": "complicated",
"title": "$:/language/HarveyBalls/complicated/title",
"tags": "",
"modified": "20171005183002581",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/complicated/desc": {
"created": "20171005182907849",
"creator": "Thomas Elmiger",
"text": "circle with left half filled",
"title": "$:/language/HarveyBalls/complicated/desc",
"tags": "",
"modified": "20171005182928468",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/complex/title": {
"created": "20171005182745229",
"creator": "Thomas Elmiger",
"text": "complex",
"title": "$:/language/HarveyBalls/complex/title",
"tags": "",
"modified": "20171005182807204",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/complex/desc": {
"created": "20171005182623257",
"creator": "Thomas Elmiger",
"text": "circle filled with colour exempt upper right quadrant",
"title": "$:/language/HarveyBalls/complex/desc",
"tags": "",
"modified": "20171005182701817",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/chaotic/title": {
"created": "20171004221542587",
"creator": "Thomas Elmiger",
"text": "chaotic",
"title": "$:/language/HarveyBalls/chaotic/title",
"tags": "",
"modified": "20171004221602537",
"modifier": "Thomas Elmiger"
},
"$:/language/HarveyBalls/chaotic/desc": {
"created": "20171004221642521",
"creator": "Thomas Elmiger",
"text": "circle filled with colour",
"title": "$:/language/HarveyBalls/chaotic/desc",
"tags": "",
"modified": "20171004221655515",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-chaotic\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/chaotic/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/chaotic/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/chaotic/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108192118467",
"creator": "Thomas Elmiger",
"created": "20171004221325017"
},
"$:/plugins/telmiger/HarveyBalls/complex/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-complex\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/complex/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/complex/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm48-64c0 .19-48 0-48 0V16c26.51 0 48 21.49 48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/complex/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108192625239",
"creator": "Thomas Elmiger",
"created": "20171005184808610"
},
"$:/plugins/telmiger/HarveyBalls/complicated/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-complicated\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/complicated/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/complicated/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16V16c26.51 0 48 21.49 48 48s-21.49 48-48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/complicated/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108192607117",
"creator": "Thomas Elmiger",
"created": "20171005184612869"
},
"$:/plugins/telmiger/HarveyBalls/credits": {
"created": "20171005185503725",
"creator": "Thomas Elmiger",
"text": "!!! Credits\nInspired by ~RunningUtes in a [[Google Group discussion|https://groups.google.com/d/msg/tiddlywiki/utsLmgHZAhM/bxKkdwT2CAAJ]] and these great articles:\n\n* https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n* https://developer.paciellogroup.com/blog/2013/12/using-aria-enhance-svg-accessibility/",
"title": "$:/plugins/telmiger/HarveyBalls/credits",
"tags": "",
"modified": "20171005185517065",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/HarveyBalls/macros": {
"created": "20171005202753767",
"creator": "Thomas Elmiger",
"text": "\\define HarveyBall(variant:\"empty\")\n<$vars ball=\"\"\"$:/plugins/telmiger/HarveyBalls/$variant$/icon.svg\"\"\"><$transclude tiddler=<<ball>>/></$vars>\n\\end\n\n\\define HB0() <<HarveyBall empty>>\n\\define HB1() <<HarveyBall quarter>>\n\\define HB2() <<HarveyBall half>>\n\\define HB3() <<HarveyBall quarter-empty>>\n\\define HB4() <<HarveyBall full>>\n\n\\define HB5() <<HarveyBall simple>>\n\\define HB8() <<HarveyBall obvious>>\n\\define HB13() <<HarveyBall complicated>>\n\\define HB21() <<HarveyBall complex>>\n\\define HB34() <<HarveyBall chaotic>>\n\n\\define HB(nr:\"0\")\n<$vars macro=\"\"\"HB$nr$\"\"\"><$macrocall $name=<<macro>>/></$vars>\n\\end\n\n<<HB 4>>\n",
"title": "$:/plugins/telmiger/HarveyBalls/macros",
"tags": "$:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20171005204845512"
},
"$:/plugins/telmiger/HarveyBalls/obvious/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-obvious\" xmlns=\"http://www.w3.org/2000/svg\" \nfill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/obvious/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/obvious/desc}}</desc><path d=\"M64 128C28.654 128 0 99.346 0 64 0 28.654 28.654 0 64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64zm0-16c-26.51 0-48-21.49-48-48 0-.026 48 0 48 0s-.25-48 0-48c26.51 0 48 21.49 48 48s-21.49 48-48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/obvious/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108194123156",
"creator": "Thomas Elmiger",
"created": "20171005184306362"
},
"$:/plugins/telmiger/HarveyBalls/simple/icon.svg": {
"text": "<svg class=\"em-icon harvey-ball ball-simple\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" fill=\"currentColor\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title desc\"><title id=\"title\">{{$:/language/HarveyBalls/simple/title}}</title><desc id=\"desc\">{{$:/language/HarveyBalls/simple/desc}}</desc><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/></svg>",
"title": "$:/plugins/telmiger/HarveyBalls/simple/icon.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20171108194551146",
"creator": "Thomas Elmiger",
"created": "20171004221820081"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/PluginSize/styles.css": {
"created": "20190122231405826",
"creator": "Thomas Elmiger",
"text": ".tiddler-size-indicator {\n width: 100%;\n background-color: rgba(125,125,125,0.3);\n padding: 0.25rem;\n margin-bottom: 1rem;\n}\n\n.te-info-panel .tc-plugin-info {\n margin-bottom: 0;\n}\n\n.te-info-panel .tc-plugin-info-dropdown {\n margin-top: -1px;\n}",
"title": "$:/plugins/telmiger/PluginSize/styles.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20190308220246621"
},
"$:/plugins/telmiger/PluginSize/template": {
"text": "\\define harveyBall(size)\n<$reveal type=\"lt\" text=\"500001\" default=$size$>\n<$reveal type=\"gt\" text=\"100000\" default=$size$>\n<<HB21>>\n</$reveal>\n<$reveal type=\"lt\" text=\"100001\" default=$size$>\n<$reveal type=\"gt\" text=\"50000\" default=$size$>\n<<HB13>>\n</$reveal>\n<$reveal type=\"lt\" text=\"50001\" default=$size$>\n<$reveal type=\"gt\" text=\"25000\" default=$size$>\n<<HB8>>\n</$reveal>\n<$reveal type=\"lt\" text=\"25001\" default=$size$>\n<<HB5>>\n</$reveal>\n</$reveal>\n</$reveal>\n</$reveal>\n<$reveal type=\"gt\" text=\"500000\" default=$size$>\n<<HB34>>\n</$reveal>\n\\end\n<div class=\"tiddler-size-indicator\">\n<$wikify name=\"size\" text=\"\"\"<$editor-counter tiddler=<<currentTiddler>> field=\"text\" mode=\"character\"/>\"\"\">\n<$macrocall $name=\"harveyBall\" size=<<size>>/> – plugin size: <$macrocall $name=\"rpn\" a=<<size>> b=\"1000\" operation=\"/\" decimals=\"1\" locale=\"en-GB\"/> k characters (<<size>>)\n</$wikify>\n</div>",
"title": "$:/plugins/telmiger/PluginSize/template",
"modifier": "Thomas Elmiger",
"modified": "20190122231539037",
"list-after": "$:/core/ui/ViewTemplate/plugin",
"creator": "Thomas Elmiger",
"created": "20190122222437252"
},
"$:/plugins/telmiger/PluginSize/ViewTemplate": {
"text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n{{||$:/plugins/telmiger/PluginSize/template}}\n</$list>",
"title": "$:/plugins/telmiger/PluginSize/ViewTemplate",
"tags": "$:/tags/ViewTemplate",
"modifier": "Thomas Elmiger",
"modified": "20190122232104594",
"list-after": "$:/core/ui/ViewTemplate/plugin",
"creator": "Thomas Elmiger",
"created": "20190122065955189"
},
"$:/plugins/telmiger/PluginSize/readme": {
"created": "20190127210600496",
"creator": "Thomas Elmiger",
"text": "!! Plugin Size\n\nThis plugin calculates the size of all installed plugins, including themes and languages.\n\n!!! Categories (character count)\n\n* <<HB34>> more than 500 k\n* <<HB21>> up to 500 k \n* <<HB13>> up to 100 k\n* <<HB8>> up to 50 k\n* <<HB5>> up to 25 k\n\n!!! Dependencies\n\nThis is done using the following other plugins: \n\n* [[Editor Counter|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2FEditorCounter]] to count the characters in the text field of plugin tiddlers\n* [[RPN|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2Frpn]] for number formatting\n* [[Harvey Balls|https://tid.li/tw5/plugins.html#%24%3A%2Fplugins%2Ftelmiger%2FHarveyBalls]] for size indication icons\n\n!!! Information\n\nThe size of installed plugins can be found on \n\n* a tab //{{$:/core/images/info-button}} Plugin Info// in the $:/ControlPanel \n* on $:/plugins/telmiger/PluginSize/lists\n\n!!! Copyright \n\n© 2019, Thomas Elmiger",
"title": "$:/plugins/telmiger/PluginSize/readme",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190310225033635"
},
"$:/plugins/telmiger/PluginSize/icon": {
"created": "20190127213417005",
"creator": "Thomas Elmiger",
"text": "<<HB21>>",
"title": "$:/plugins/telmiger/PluginSize/icon",
"tags": "",
"modified": "20190127213525277",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/PluginSize/lists": {
"created": "20190308213013859",
"creator": "Thomas Elmiger",
"text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">> >\n<div class=\"te-info-panel\">\n{{||$:/core/ui/Components/plugin-info}}\n</div>\n{{||$:/plugins/telmiger/PluginSize/template}}\n</$list>\n</$set>\n</$set>\n\\end\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n",
"title": "$:/plugins/telmiger/PluginSize/lists",
"tags": "$:/tags/ControlPanel",
"modifier": "Thomas Elmiger",
"modified": "20190308220650742",
"caption": "{{$:/core/images/info-button}} Plugin Info",
"list-after": "$:/core/ui/ControlPanel/Plugins"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/ReaderMode/support": {
"created": "20181215220633595",
"text": "{{$:/plugins/telmiger/support}}",
"title": "$:/plugins/telmiger/ReaderMode/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181215220839709",
"creator": "Thomas Elmiger"
},
"$:/language/Buttons/ActivateReaderMode/Caption": {
"created": "20181215164958513",
"creator": "Thomas Elmiger",
"text": "Reader mode",
"title": "$:/language/Buttons/ActivateReaderMode/Caption",
"tags": "",
"modified": "20181215200024390",
"modifier": "Thomas Elmiger"
},
"$:/language/Buttons/ActivateReaderMode/Hint": {
"created": "20181215165252705",
"creator": "Thomas Elmiger",
"text": "Activate reader mode",
"title": "$:/language/Buttons/ActivateReaderMode/Hint",
"tags": "",
"modified": "20181217212618266",
"modifier": "Thomas Elmiger"
},
"$:/language/Buttons/ReaderMode/Caption": {
"created": "20181215165515464",
"creator": "Thomas Elmiger",
"text": "Toggle reader mode",
"title": "$:/language/Buttons/ReaderMode/Caption",
"tags": "",
"modified": "20181215194601904",
"modifier": "Thomas Elmiger"
},
"$:/language/Buttons/ReaderMode/Hint": {
"created": "20181215165354070",
"creator": "Thomas Elmiger",
"text": "Switch off reader mode",
"title": "$:/language/Buttons/ReaderMode/Hint",
"tags": "",
"modified": "20181215194545091",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/ReaderMode/icon": {
"created": "20181215220238671",
"text": "{{$:/plugins/telmiger/ReaderMode/images/reader-button}}",
"title": "$:/plugins/telmiger/ReaderMode/icon",
"tags": "",
"modified": "20181215220350311"
},
"$:/plugins/telmiger/ReaderMode/images/reader-button": {
"created": "20181215155845743",
"creator": "Thomas Elmiger",
"text": "<svg class=\"tc-image-reader-mode-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path d=\"M8 0a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h112a8 8 0 0 0 8-8V8a8 8 0 0 0-8-8H8zm26 16a8 8 0 0 0-8 8v80a8 8 0 0 0 8 8h60a8 8 0 0 0 8-8V24a8 8 0 0 0-8-8H24z\" fill-rule=\"evenodd\"/>\n</svg>",
"title": "$:/plugins/telmiger/ReaderMode/images/reader-button",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20181215205908724"
},
"$:/plugins/telmiger/ReaderMode/license": {
"created": "20181215220419188",
"text": "`Reader Mode is published under the MIT License.`\n\n!!! Reader Mode\nThe content of $:/plugins/telmiger/ReaderMode is<br>\nCopyright (c), Thomas Elmiger, https://thomas-elmiger.ch\n\n!!! The MIT License (MIT)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"title": "$:/plugins/telmiger/ReaderMode/license",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181215220555310",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/ReaderMode/readme": {
"created": "20181215214533889",
"creator": "Thomas Elmiger",
"text": "!! Reader Mode\n\n''Display the story river as a flow of content, without any meta info or functions. A nice, clean document for reading.''\n\nTo support the impression of one single frame, the background of the story is set to the same colour as the tiddler background.\n\nThis plugin provides two buttons:\n\n* The ''Reader mode button'' {{$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle}} to hide elements of your choice (see configuration below) that usually separate tiddlers in the story: \n** tiddler frame, border and shadow\n** title and buttons (tiddler controls)\n** subtitle (date and author/modifier)\n** tags\n* The ''Drag mode button'' {{$:/plugins/telmiger/ReaderMode/ui/Buttons/drag}} to enable and disable dragging of elements within/from the story: \n** drag an element within the story to positions nearby \n** drag from story to sidebar or from sidebar to story to bring elements to distant positions\n** elements are always moved (not duplicated)\n\n!!! Button configuration\n\nWhere to show the Drag Mode button: <br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/drag\" tag=\"$:/tags/TopLeftBar\"> Top left bar</$checkbox><br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/drag\" tag=\"$:/tags/TopRightBar\"> Top right bar</$checkbox><br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/drag\" tag=\"$:/tags/PageControls\"> Page controls</$checkbox>\n\nWhere to show the Reader Mode button: <br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle\" tag=\"$:/tags/TopLeftBar\"> Top left bar</$checkbox><br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle\" tag=\"$:/tags/TopRightBar\"> Top right bar</$checkbox><br>\n<$checkbox tiddler=\"$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle\" tag=\"$:/tags/PageControls\"> Page controls</$checkbox>\n\n\n!!! Story configuration\n\nBy default, the button {{$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle}} hides/shows tiddler titles and subtitles (author and timestamp) via CSS. This way they are still present in the HTML code. Tiddler controls are displayed much smaller.\n\nAdditionally you can exclude elements from being rendered at all in the next section.\n\n!!!! Exclude from rendering\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!title[$:/core/ui/ViewTemplate/body]!list[$:/plugins/telmiger/ReaderMode/blocked]]\">\n<$checkbox tiddler=\"$:/temp/ReaderMode/dummy\" field=<<currentTiddler>> checked=\"YES\" unchecked=\"NO\" default=\"NO\" actions=\"\"\"<$action-listops $tiddler=\"$:/plugins/telmiger/ReaderMode/blocked\" $subfilter=<<currentTiddler>> /><$action-deletetiddler $tiddler=\"$:/temp/ReaderMode/dummy\"/>\"\"\"> <$text text={{!!title}}/></$checkbox><br>\n</$list>\n\n---\n\n<$list filter=\"[all[shadows+tiddlers]list[$:/plugins/telmiger/ReaderMode/blocked]]\">\n<$wikify name=\"unblock\" text=\"-<<currentTiddler>>\">\n<$checkbox tiddler=\"$:/temp/ReaderMode/dummy\" field=<<currentTiddler>> checked=\"YES\" unchecked=\"NO\" default=\"YES\" actions=\"\"\"<$action-listops $tiddler=\"$:/plugins/telmiger/ReaderMode/blocked\" $subfilter=<<unblock>> /><$action-deletetiddler $tiddler=\"$:/temp/ReaderMode/dummy\"/>\"\"\"> <$text text={{!!title}}/></$checkbox><br>\n</$wikify>\n</$list>\n\nExcluding elements from rendering is possible using a modified [[view template|$:/core/ui/ViewTemplate]] and a [[list of blocked elements|$:/plugins/telmiger/ReaderMode/blocked]].",
"title": "$:/plugins/telmiger/ReaderMode/readme",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190202094330750"
},
"$:/plugins/telmiger/ReaderMode/story.css": {
"text": "/*\n** Reader Mode\n** (c) Thomas Elmiger\n** \"\"\" \n*/\n\n\nbody .tc-story-river {\n background-color: <<colour tiddler-background>>;\n}\n\nbody .tc-tiddler-view-frame,\nbody .tc-tiddler-frame .tc-reveal.tc-tiddler-body {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n border: 0;\n box-shadow: none;\n min-height: 1em;\n}\n\nbody .tc-reveal.tc-tiddler-body:first-child {\n margin-top: 2rem;\n}\n\nbody .tc-tiddler-view-frame .tc-tiddler-body > section:first-child,\nbody .tc-tiddler-view-frame .tc-tiddler-body > header:first-child,\nbody .tc-tiddler-view-frame .tc-tiddler-body > h1:first-child,\nbody .tc-tiddler-view-frame .tc-tiddler-body > h2:first-child {\n margin-top: 4rem;\n}\n\n\n/* hide tiddler title */\n\nbody .tc-tiddler-view-frame .tc-title,\nbody .tc-tiddler-view-frame .tc-subtitle {\n display: none;\n}\n\nbody .tc-tiddler-view-frame .tc-tiddler-controls {\n font-size: 1rem;\n position: absolute;\n right: 2rem;\n margin-top: 2.5rem;\n}\n\n\n/* topbar button */\n\n.tc-topbar button.reader-mode {\n background-color: white;\n}\n\n.tc-topbar button.reader-mode svg {\n fill: black;\n}\n\n\n/* End \"\"\" */",
"title": "$:/plugins/telmiger/ReaderMode/story.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20190128214101432",
"creator": "Thomas Elmiger",
"created": "20181215151220476"
},
"$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle": {
"created": "20181215155225793",
"creator": "Thomas Elmiger",
"text": "<$set name=\"qualstate\" value=\"$:/state/ReaderMode\">\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"active\">\n<$button set=<<qualstate>> setTo=\"active\" tooltip={{$:/language/Buttons/ActivateReaderMode/Hint}} aria-label={{$:/language/Buttons/ActivateReaderMode/Caption}} class=\"tc-btn-invisible reader-mode\">\n<$action-listops $tiddler=\"$:/plugins/telmiger/ReaderMode/story.css\" $tags=\"$:/tags/Stylesheet -$:/tagremoved/Stylesheet\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/telmiger/ReaderMode/images/reader-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ActivateReaderMode/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"active\">\n<$button set=<<qualstate>> setTo=\"inactive\" tooltip={{$:/language/Buttons/ReaderMode/Hint}} aria-label={{$:/language/Buttons/ReaderMode/Caption}} class=\"tc-btn-invisible reader-mode tc-selected\">\n<$action-listops $tiddler=\"$:/plugins/telmiger/ReaderMode/story.css\" $tags=\"$:/tagremoved/Stylesheet -$:/tags/Stylesheet\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/telmiger/ReaderMode/images/reader-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ReaderMode/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n</$set>",
"title": "$:/plugins/telmiger/ReaderMode/ui/Buttons/toggle",
"tags": "$:/tags/PageControls",
"modifier": "Thomas Elmiger",
"modified": "20190202100227843",
"description": "{{$:/language/Buttons/ActivateReaderMode/Hint}}",
"caption": "{{$:/plugins/telmiger/ReaderMode/images/reader-button}} {{$:/language/Buttons/ActivateReaderMode/Caption}}"
},
"$:/plugins/telmiger/support": {
"created": "20181103150753927",
"text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
"title": "$:/plugins/telmiger/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181104091650389",
"creator": "Thomas Elmiger"
},
"$:/core/ui/ViewTemplate": {
"created": "20190114200812402",
"creator": "Thomas Elmiger",
"text": "\\define drop-actions()\n<$action-listops $tiddler=\"$:/StoryList\" $subfilter=\"+[insertbefore:currentTiddler<actionTiddler>]\"/>\n\\end\n\\define drop-below-actions()\n<$action-listops $tiddler=\"$:/StoryList\" $subfilter=\"[<actionTiddler>] +[putafter<currentTiddler>]\"/>\n\\end\n\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$ $(userClass)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">> userClass={{!!class}}><$tiddler tiddler=<<currentTiddler>>><div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class=<<frame-classes>>><$set name=\"qualstate\" value=\"$:/state/ReaderMode-Drag\">\n<$reveal type=\"match\" state=<<qualstate>> text=\"active\">\n<div style=\"position: relative;\"><$droppable actions=<<drop-actions>>><div class=\"tc-droppable-placeholder\">\n \n</div>\n<div class=\"my-story-drag-handle\"><$draggable tiddler=<<currentTiddler>>><$set name=\"includeFilter\" filter=\"[[$:/state/ReaderMode]get[text]removeprefix[active]]\" value=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!list[$:/plugins/telmiger/ReaderMode/blocked]!has[draft.of]]\" emptyValue=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\"><$list filter=<<includeFilter>> variable=\"listItem\">\n<div><$transclude tiddler=<<listItem>>/></div></$list></$set></$draggable></div></$droppable></div></$reveal>\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"active\">\n<$set name=\"includeFilter\" filter=\"[[$:/state/ReaderMode]get[text]removeprefix[active]]\" value=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!list[$:/plugins/telmiger/ReaderMode/blocked]!has[draft.of]]\" emptyValue=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\"><$list filter=<<includeFilter>> variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</$set></$reveal></$set>\n</div></$tiddler></$vars>",
"title": "$:/core/ui/ViewTemplate",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190121064658252"
},
"$:/plugins/telmiger/ReaderMode/blocked": {
"created": "20190120220119635",
"creator": "Thomas Elmiger",
"title": "$:/plugins/telmiger/ReaderMode/blocked",
"list": "$:/core/ui/ViewTemplate/title $:/core/ui/ViewTemplate/subtitle",
"modified": "20190121065430957",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/ReaderMode/ui/Buttons/drag": {
"created": "20190116192223885",
"creator": "Thomas Elmiger",
"text": "<$set name=\"qualstate\" value=\"$:/state/ReaderMode-Drag\">\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"active\">\n<$button set=<<qualstate>> setTo=\"active\" tooltip={{$:/language/Buttons/ActivateDragMode/Hint}} aria-label={{$:/language/Buttons/ActivateDragMode/Caption}} class=\"tc-btn-invisible reader-mode\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/telmiger/ReaderMode/images/drag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ActivateDragMode/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"active\">\n<$button set=<<qualstate>> setTo=\"inactive\" tooltip={{$:/language/Buttons/DragMode/Hint}} aria-label={{$:/language/Buttons/DragMode/Caption}} class=\"tc-btn-invisible reader-mode tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/plugins/telmiger/ReaderMode/images/drag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/DragMode/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n</$set>",
"title": "$:/plugins/telmiger/ReaderMode/ui/Buttons/drag",
"tags": "$:/tags/TopRightBar $:/tags/PageControls",
"modifier": "Thomas Elmiger",
"modified": "20190202100313384",
"description": "{{$:/language/Buttons/ActivateDragMode/Hint}}",
"caption": "{{$:/plugins/telmiger/DragMode/images/reader-button}} {{$:/language/Buttons/ActivateReaderMode/Caption}}"
},
"$:/plugins/telmiger/ReaderMode/images/drag-button": {
"text": "<svg class=\"tc-image-reader-mode-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 22 22\">\n<path d=\"M15.3 4c.4.4.4 1.2 0 1.6-.5.5-1.3.5-1.7 0l-1.4-1.3v5.5h5.5l-1.3-1.3c-.5-.5-.5-1.3 0-1.7.4-.5 1.2-.5 1.7 0l3.4 3.4c.4.4.4 1.2 0 1.7L18 15.3c-.5.4-1.3.4-1.7 0-.5-.5-.5-1.3 0-1.7l1.3-1.4h-5.5v5.5l1.3-1.3c.5-.5 1.3-.5 1.7 0 .5.4.5 1.2 0 1.7l-3.4 3.4c-.4.4-1.2.4-1.7 0L6.7 18c-.4-.5-.4-1.3 0-1.7.5-.5 1.3-.5 1.7 0l1.4 1.3v-5.5H4.3l1.3 1.3c.5.5.5 1.3 0 1.7-.4.5-1.2.5-1.7 0L.5 11.8c-.4-.4-.4-1.2 0-1.7L4 6.7c.5-.4 1.3-.4 1.7 0 .5.5.5 1.3 0 1.7L4.3 9.8h5.5V4.3L8.5 5.6c-.5.5-1.3.5-1.7 0-.5-.4-.5-1.2 0-1.7L10.2.5c.4-.4 1.2-.4 1.7 0L15.3 4z\"/>\n</svg>\n",
"title": "$:/plugins/telmiger/ReaderMode/images/drag-button",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20190116200342893",
"creator": "Thomas Elmiger",
"created": "20190116200203022"
},
"$:/language/Buttons/ActivateDragMode/Caption": {
"text": "Drag mode",
"title": "$:/language/Buttons/ActivateDragMode/Caption",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190116201209884",
"creator": "Thomas Elmiger",
"created": "20190116201151553"
},
"$:/language/Buttons/ActivateDragMode/Hint": {
"text": "Activate drag mode",
"title": "$:/language/Buttons/ActivateDragMode/Hint",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190116201135153",
"creator": "Thomas Elmiger",
"created": "20190116201118706"
},
"$:/language/Buttons/DragMode/Caption": {
"text": "Toggle drag mode",
"title": "$:/language/Buttons/DragMode/Caption",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190116201107805",
"creator": "Thomas Elmiger",
"created": "20190116201038233"
},
"$:/language/Buttons/DragMode/Hint": {
"text": "Switch off drag mode",
"title": "$:/language/Buttons/DragMode/Hint",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190116201029632",
"creator": "Thomas Elmiger",
"created": "20190116200942999"
}
}
}
/*
** Reader Mode
** (c) Thomas Elmiger
** """
*/
body .tc-story-river {
background-color: <<colour tiddler-background>>;
}
body .tc-tiddler-view-frame,
body .tc-tiddler-frame .tc-reveal.tc-tiddler-body {
margin-top: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
border: 0;
box-shadow: none;
min-height: 1em;
}
body .tc-reveal.tc-tiddler-body:first-child {
margin-top: 2rem;
}
body .tc-tiddler-view-frame .tc-tiddler-body > section:first-child,
body .tc-tiddler-view-frame .tc-tiddler-body > header:first-child,
body .tc-tiddler-view-frame .tc-tiddler-body > h1:first-child,
body .tc-tiddler-view-frame .tc-tiddler-body > h2:first-child {
margin-top: 4rem;
}
/* hide tiddler title */
body .tc-tiddler-view-frame .tc-title,
body .tc-tiddler-view-frame .tc-subtitle {
display: none;
}
body .tc-tiddler-view-frame .tc-tiddler-controls {
font-size: 1rem;
position: absolute;
right: 2rem;
margin-top: 2.5rem;
}
/* topbar button */
.tc-topbar button.reader-mode {
background-color: white;
}
.tc-topbar button.reader-mode svg {
fill: black;
}
/* End """ */
{
"tiddlers": {
"$:/plugins/telmiger/WMR/plugin-macros": {
"created": "20181124191802720",
"text": "\\define wt(wikitext:\"example\")\n<$wikify name=\"in\" text=\"\"\"$wikitext$\"\"\" type=\"text/plain\">\n<$set name=\"out\" value=\"\"\"\n\n$wikitext$\n\n\"\"\">\n<$macrocall $name=\"renderWT\" input=<<in>> output=<<out>>/>\n</$set>\n</$wikify>\n\\end\n\n\\define renderWT(input,output)\n<div class=\"wmr-input\">\n\n```\n$input$\n```\n</div>\n<div class=\"wmr-output\">$output$</div>\n\\end\n\n\\define revealstate(tiddler,stateID)\n<$set name=\"qualstate\" value=<<qualify \"$:/state/wiki-markup/$stateID$\">> >\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"visible\" animate=\"yes\">\n <$button set=<<qualstate>> setTo=\"visible\" class=\"btnClosed\">Show</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"visible\" animate=\"yes\">\n <$button set=<<qualstate>> setTo=\"hidden\" class=\"btnOpen\">Hide section</$button>\n<article class=\"wikitext-examples\">\n<$transclude tiddler=\"$tiddler$\" mode=\"block\"/>\n<footer>\n<$list filter=\"[{$tiddler$!!wmr-source-link}prefix[https://tiddlywiki.com]]\">\n<a href={{$tiddler$!!wmr-source-link}}>More on tiddlywiki.com</a> | </$list>\n<$link to=\"$tiddler$\">Open separately</$link>\n</footer>\n</article>\n</$reveal>\n</$set>\n\\end\n",
"title": "$:/plugins/telmiger/WMR/plugin-macros",
"tags": "$:/tags/Macro",
"modified": "20181125091902187"
},
"$:/plugins/telmiger/WMR/styles.css": {
"created": "20181124215313762",
"text": ".wikitext-examples .wmr-input {\n margin-top: 2rem;\n max-width: 28rem;\n}\n\n.wikitext-examples footer {\n background-color: #e9e9e9;\n padding: 0.25rem;\n border-bottom: 1px solid #999;\n}\n\n.wmr-output .red {\n color: red;\n fill: red;\n}\n\n\n/* Buttons */\n\n.wikitext-examples .btnClosed,\n.wikitext-examples .btnOpen {\n width: 100%;\n text-align: left;\n background: #e9e9e9;\n border: none;\n padding: 0.25rem;\n}\n\n.wikitext-examples .btnClosed:before {\n content: \"▶\";\n margin-right: 0.5rem;\n}\n\n.wikitext-examples .btnOpen:before {\n content: \"▼\";\n margin-right: 0.5rem;\n}",
"title": "$:/plugins/telmiger/WMR/styles.css",
"tags": "$:/tags/Stylesheet",
"modified": "20181125100726086"
},
"$:/plugins/telmiger/WMR/about": {
"created": "20181125122609022",
"modified": "20181125122609022",
"title": "$:/plugins/telmiger/WMR/about",
"text": "!!! About the Wikitext Markup Reference \n\nExamples are copied from or inspired by\n\n* [[Tobi Beer's Markup Reference|http://tobibeer.github.io/tb5/#Markup%20Reference]]\n** try the [[searchable version|http://tobibeer.github.io/tb5/#Markup]] too!\n\nA great idea found via [[Greg Davis' Begin plugin|http://gdplugins.tiddlyspot.com/#%24%3A%2Fplugins%2Fgdavis%2Ftwbegin]].",
"tags": ""
},
"CircleJack.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"256\" height=\"256\" viewBox=\"0 0 256 256\"><circle cx=\"128\" cy=\"128\" r=\"128\"/><path fill=\"#FFF\" d=\"M181.035 228.486c-9.88 0-14.08-.336-19.035-8.486 0 0-6.002.148-9 0-5.014-.193-6-4.928-6-8 0-8.04 3.104-16.455 3-25-.035-3.04-4.467-14.16-6-18-4.81.906-9.5 2-18 2s-19.914-2.254-31-4c-2.16 8.926-8.31 21.928-3 31 6.442 9.383 10.992 11.436 18 12s8.695 8.174 7 11c-2.125 3.375-4.883 3-9 3s-8.858-1.53-12-3c-5.25-2.932-7.973-6.625-12-11 .938 1.748-.3 4.807-2 6-3.47 2.434-13.328 2.62-17 1-5.358-2.383-19-19.477-21-32 5.325-10.074 13.074-18.03 17-29-8.556-5.46-13.674-16.99-11.993-25.143.89-4.324 1.993-6.84-3.007-9.857-22.066-10.832-18.714-46.676-11-65 6.706-15.934 22.39-23.95 31-16 7.623 7.04 7.375 13 4 13-3.376 0-5.01-6.266-8-8-8.052-4.676-16.65 6.92-20 17-4.586 13.797-8.236 47.324 14 48 4.284-.146 6.647-.51 10-2 5.48-2.434 13.572-3.895 18-4 15.02-.48 33.03 5.746 42 6 8.967.252 21.168-2.508 29-2 5.68.26 11.518 1.54 17 3 3.55-17.297 3.586-30.05 12-33 4.936.78 9.184 7.406 12 11 5.746-.23 10.574 1.387 16 3 9.824-1.395 18.324-6.707 27-11-8.79 7.18-10.004 18.2-9 29 .373 5.605-1.045 12.26-3 18-3.664 9.352-10.79 19.504-19 19-3.105-.1-5.693-2.123-8-4-.447 3.8-2.303 7.637-4 11-3.914 7.453-13.527 10.04-23 18s2.97 36.82 6 42c3.033 5.18 11.195 6.176 9 11-.71 2.1-2.812 3.486-6.965 3.486zm-109.03-23.59c2.187.862 6.98.556 8.995 1.104-3.707-3.51-8.977-8.752-13-12-1.32-3.93-1-12-1-12-1.584 3.215-3.918 6.62-5 10-1.137 3.71 5.34 11.053 10.006 12.895z\"/></svg>",
"type": "image/svg+xml",
"title": "CircleJack.svg",
"tags": "picture",
"modifier": "Thomas Elmiger",
"modified": "20170918220236294",
"creator": "Thomas Elmiger",
"created": "20170918060138058"
},
"$:/plugins/telmiger/WMR/icon": {
"created": "20181125123109958",
"text": "{{CircleJack.svg}}",
"title": "$:/plugins/telmiger/WMR/icon",
"tags": "$:/tags/Macro",
"modified": "20181125123135913"
},
"$:/plugins/telmiger/WMR/bar": {
"created": "20181129205651711",
"creator": "Thomas",
"text": "He ordered another beer.",
"title": "$:/plugins/telmiger/WMR/bar",
"tags": "Bar",
"modifier": "Thomas Elmiger",
"modified": "20181130195238270",
"caption": "Bar"
},
"$:/plugins/telmiger/WMR/code": {
"created": "20181124200421812",
"creator": "Thomas",
"text": "<<wt \"Display `code` via backticks.\">> \n\nUse double backticks ... <<wt \"``for `embedded` backticks`` in code.\">>\n\nFor longer code use a [[code block|https://tiddlywiki.com/#Code%20Blocks%20in%20WikiText]]:\n\n<div class=\"wmr-input\">\n<pre>```\nmonospaced\ncodeblock\n```</pre>\n</div>\n\n```\nmonospaced\ncodeblock\n```",
"title": "$:/plugins/telmiger/WMR/code",
"tags": "ShortReference",
"modifier": "Thomas",
"modified": "20181129172414626"
},
"$:/plugins/telmiger/WMR/filters": {
"created": "20181128065322406",
"creator": "Thomas",
"title": "$:/plugins/telmiger/WMR/filters",
"modified": "20181130200642067",
"modifier": "Thomas Elmiger",
"tags": "ShortReference",
"text": "\n!!! Display the result of a filter expression\n\nUse [[filter operators|https://tiddlywiki.com/#Filter%20Operators]] like `tag` to select tiddlers.\n\nList tiddlers tagged `Foo`:\n\n<<wt \"{{{ [tag[Foo]] }}}\n\">>\n\nList tiddlers tagged `Foo` OR `Bar`:\n\n<<wt \"{{{ [tag[Foo]][tag[Bar]] }}}\n\">>\n\nList tiddlers tagged `Foo` AND `Bar`:\n\n<<wt \"{{{ [tag[Foo]] +[tag[Bar]] }}}\n\">>\n\nList tiddlers tagged `Foo` NOT `Bar`:\n\n<<wt \"{{{ [tag[Foo]] -[tag[Bar]] }}}\n\">>\n\n---\n\n!!! Limit results\n\n<<wt \"{{{ [tag[Foo]limit[1]] }}}\n\">>\n\n---\n\n!!! Sorting\n\nSort titles:\n\n<<wt \"{{{ [tag[Foo]][tag[Bar]] +[sort[]] }}}\n\">>\n\nSort reverse:\n\n<<wt \"{{{ [tag[Foo]][tag[Bar]] +[!sort[]] }}}\n\">>\n\nSort numbers:\n\n<<wt \"{{{ [[1]][[10]][[2]][[3]] +[nsort[]] }}}\n\">>\n\nFirst created:\n\n<<wt \"{{{ [tag[Foo]][tag[Bar]] +[sort[created]] }}}\n\">>\n\nLast modified:\n\n<<wt \"{{{ [tag[Foo]][tag[Bar]] +[!sort[modified]] }}}\n\">>\n\n---\n\n!!! Special effects\n\n!!!! If empty ... aka Else ~\n\nSince TW version 5.1.18\n\n<<wt \"{{{ [tag[foo]] ~[[no foo]] }}}\n\">>\n\n!!!! Range\n\n<<wt \"{{{ [range[3,1,0.5]] }}}\n\">>\n\nSee https://tiddlywiki.com/#range%20Operator",
"wmr-source-link": "https://tiddlywiki.com/#Filter%20Expression"
},
"$:/plugins/telmiger/WMR/font-variants": {
"created": "20181124191306552",
"creator": "Thomas",
"text": "<<wt \"Normal text: We don’t serve their kind here! What? Your droids. They’ll have to wait outside. We don’t want them here. Listen, why don’t you wait out by the speeder. We don’t want any trouble. I heartily agree with you sir. Negola dewaghi wooldugger?!? He doesn’t like you. I’m sorry.\">>\n\n<<wt \"''bold'' \">>\n\n\n<<wt //italics//>>\n\n\n<<wt \"''//bold italics//'' \">>\n\n\n<<wt __underline__>>\n\n\n<<wt ~~strikethrough~~>>\n\n\n<<wt super^^script^^>>\n\n\n<<wt sub,,script,,>>\n\n\n<<wt \"! Heading 1\n\n!! Heading 2\n\n!!! Heading 3\n\n!!!! Heading 4\n\n!!!!! Heading 5\n\n!!!!!! Heading 6\n\">>",
"title": "$:/plugins/telmiger/WMR/font-variants",
"tags": "ShortReference",
"modified": "20181128063401100",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/foo": {
"created": "20181127222534567",
"creator": "Thomas",
"text": "A man went into a ''bar''.\n\nHe ordered a beer.",
"title": "$:/plugins/telmiger/WMR/foo",
"tags": "Foo Dummy",
"modifier": "Thomas Elmiger",
"modified": "20181130210029401",
"caption": "Foo",
"wmr-example": "54rem"
},
"$:/plugins/telmiger/WMR/foo-bar": {
"created": "20181130170447615",
"creator": "Thomas Elmiger",
"text": "Dummy text",
"title": "$:/plugins/telmiger/WMR/foo-bar",
"tags": "Bar Foo Dummy",
"modifier": "Thomas Elmiger",
"modified": "20181130193831647",
"caption": "Foo Bar"
},
"$:/plugins/telmiger/WMR/html": {
"created": "20181124205849430",
"creator": "Thomas",
"text": "<div class=\"wmr-input\">\n\n```\n<article class=\"hello\">\nHTML tags work like that.\n<!-- even comments -->\n</article>\n```\n</div>\n\n<article class=\"hello\">\nHTML tags work like that.\n<!-- even comments -->\n</article>\n\n\n<div class=\"wmr-input\">\n\n```\n<a href={{TiddlerWithURL}}>link</a>\n<b class=<<getClass>>>bold</b>\n```\n</div>\n\n<a href={{TiddlerWithURL}}>link</a>\n<b class=<<version>>>bold</b>\n\nset attributes via transclusion or macro\n\n\n<div class=\"wmr-input\">\n\n```\n<div address=\"\"\"attribute,\n\"quoted\",\nwith,\nlinebreaks.\"\"\">inspect me!</div>\n```\n</div>\n\n<div address=\"\"\"attribute,\n\"quoted\",\nwith,\nlinebreaks.\"\"\">inspect me!</div>\n\n\n<div class=\"wmr-input\">\n\n```\n* nest<div>\n\n; via\n: html\n</div>\n```\n</div>\n\n*nest <div>\n\n;via\n:html\n</div>\n",
"title": "$:/plugins/telmiger/WMR/html",
"tags": "ShortReference",
"modified": "20181128063415521",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/images": {
"created": "20181124203347203",
"creator": "Thomas",
"text": "!!! Internal images\n\nImages saved in the wiki:\n\n<<wt \"\"\"[img width=128 [CircleJack.svg]]\n[img width=64 [title/tooltip|CircleJack.svg]]\n[img width=32 [CircleJack.svg]]\n[img width=32 class=\"red\" [CircleJack.svg]]\n\"\"\">>\n\n\n!!! Images from the web\n\n<<wt \"\"\"[img[https://tiddlywiki.com/favicon.ico]]\n\"\"\">>\n\n\n!!! Images in separate files\n\n<<wt \"\"\"[img[path/image.jpg]]\n\"\"\">>\n\nSolutions can be found in the user group ...\n",
"title": "$:/plugins/telmiger/WMR/images",
"tags": "ShortReference",
"modified": "20181201150622535",
"wmr-source-link": "https://tiddlywiki.com/#Images%20in%20WikiText",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/WMR/links": {
"created": "20181124191601375",
"creator": "Thomas",
"text": "!!! Internal Wiki Links\n\n<<wt \"[[Wikitext Markup Reference]]\n\n[[Missing Tiddler]] – italic\n\n$:/AdvancedSearch\n\n[[shadow tiddler|$:/AdvancedSearch]] – bold\n\">>\n\n\n<<wt \"CamelCaseLink\n\n~SuppressedLink\n\">>\n\n\n!!! External Links\n\n<<wt \"https://tiddlywiki.com\n\n[[web link|https://tiddlywiki.com]]\n\n~https://not.alink.com\n\">>\n\n\n!!! File Links\n\nLinks to local/external files: see [[tiddlywiki.com|https://tiddlywiki.com/#Linking%20in%20WikiText]]\n",
"wmr-source-link": "https://tiddlywiki.com/#Linking%20in%20WikiText",
"title": "$:/plugins/telmiger/WMR/links",
"tags": "ShortReference",
"modifier": "Thomas",
"modified": "20181129172442346"
},
"$:/plugins/telmiger/WMR/lists": {
"created": "20181124191350660",
"creator": "Thomas",
"text": "!! Wikitext lists\n\n!!! Unordered list\n\n<<wt \"* list item\n** list in list\n*** list in list in list\n\">>\n\n!!! Ordered list\n\n<<wt \"# list item\n#* list in list\n#** list in list in list\n# list item\n## numbered list in list\n\">>\n\n!!! [[Definition list|https://tiddlywiki.com/#Definitions%20in%20WikiText]]\n\n<<wt \"; term\n: definition of the term\n\">>\n\n---\n\n!! [[List widget|https://tiddlywiki.com/prerelease/#ListWidget]]\n\n<<wt \"\"\"<$list filter=\"[tag[Foo]sort[title]]\"/>\n\"\"\">>\n\n<<wt \"{{{ [tag[Foo]!sort[title]] }}}\"\n\"\"\">>\n\n\n!!! List format\n\n```\n<ul>\n<$list filter=\"[tag[Foo]sort[title]]\">\n<li><<currentTiddler>></li>\n</$list>\n</ul>\n```\n\n<ul>\n<$list filter=\"[tag[Foo]sort[title]]\">\n<li><<currentTiddler>></li>\n</$list>\n</ul>\n\n!!! Store list item in variable\n\nBy default, the title of the list item is stored in the Current Tiddler variable:\n\n\n```\n<$list filter=\"[tag[Bar]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n```\n\n<$list filter=\"[tag[Bar]]\">\n<<currentTiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n\n\nWhen we store the title in our own variable, the Current Tiddler remains unchanged. In the following example, the tags of the displaying tiddler will be shown:\n\n```\n<$list filter=\"[tag[Bar]]\" variable=\"tiddler\">\n<<tiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n```\n\n<$list filter=\"[tag[Bar]]\" variable=\"tiddler\">\n<<tiddler>>\n{{||$:/core/ui/ViewTemplate/tags}}\n</$list>\n\n!!! Empty message\n\n\n```\n<$list filter=\"[tag[foo]limit[1]]\" emptyMessage=\"No `foo` tagged tiddlers available.\">\n`foo` tagged tiddlers exist\n</$list>\n\n```\n\n<$list filter=\"[tag[foo]limit[1]]\" emptyMessage=\"No `foo` tagged tiddlers available.\">\n`foo` tagged tiddlers exist\n</$list>\n\n```\n<$list filter=\"[tag[Foo]limit[1]]\" emptyMessage=\"no `Foo` tagged tiddlers available\">\n`Foo` tagged tiddlers exist.\n</$list>\n```\n\n<$list filter=\"[tag[Foo]limit[1]]\" emptyMessage=\"no `Foo` tagged tiddlers available\">\n`Foo` tagged tiddlers exist.\n</$list>\n",
"title": "$:/plugins/telmiger/WMR/lists",
"tags": "ShortReference",
"modifier": "Thomas Elmiger",
"modified": "20181129231942492"
},
"$:/plugins/telmiger/WMR/macros": {
"created": "20181124210017691",
"creator": "Thomas",
"text": "<div class=\"wikitext-examples\">\n\n<div class=\"wmr-input\">\n\n```\n\\define run(foo:'bar') [[$foo$]]\n\n<<run \"foo bar\">>\n```\n</div>\n\n» defines macro `run`<br>\n» with parameter `foo`<br>\n» whose value defaults to `bar`<br>\n» outputs a link to value of param:<br>\n [[foo bar]]\n\n<div class=\"wmr-input\">\n\n```\n\\define test()\nI am $(x)$.\n\\end\n\n<$set name=\"x\" value=\"y\nof z\">\n<<test>>\n</$set>\n```\n</div>\n\n» defines macro test which<br>\n» outputs value of variable x<br><br>\n\n» sets variable x to: \"y<br>\n of z\" //(multiline allowed)//<br>\n» runs macro test which outputs:<br>\n \"I am y of z.\"\n\n<div class=\"wmr-input\">\n\n```\n\\define test(x, y, z:'0')\n$x$ $y$ $z$\n\\end\n\n<$macrocall\n$name=\"test\"\nx=<<version>>\ny={{!!title}}/>\n```\n</div>\n\n» defines macro test<br>\n» outputs 3 params<br><br>\n\n» calls test via macrocall widget<br>\n» using macro version as param x<br>\n» and transclusion as param y<br><br>\n\n» output: <<version>> {{!!title}} 0\n\n</div>",
"title": "$:/plugins/telmiger/WMR/macros",
"tags": "ShortReference",
"modified": "20181128065443126",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/new-lines": {
"created": "20181124200219330",
"creator": "Thomas",
"text": "<<wt \"Since\nnew paragraphs\nneed two linebreaks in TW5 ...\n\nYou can also use:\n\">>\n\n<div class=\"wmr-input\">\n\n```\n\"\"\"\ntripple quotes to \nforce hard linebreaks\nlike this.\n\"\"\"\n```\n</div>\n\n\"\"\"\ntripple quotes to \nforce hard linebreaks\nlike this.\n\"\"\"\n\n<<wt \"HTML tags: <br>\nas well as <br/> are accepted\n\">>\n\nBoth result in a `<br>` when rendered.\n",
"title": "$:/plugins/telmiger/WMR/new-lines",
"tags": "ShortReference",
"modifier": "Thomas",
"modified": "20181128063152165"
},
"$:/plugins/telmiger/WMR/quotes": {
"created": "20181129204618410",
"creator": "Thomas",
"text": "!!! [[Quotes and citations|https://tiddlywiki.com/#Block%20Quotes%20in%20WikiText]]\n\n<<wt \"<<<\nWe are the ones we have been waiting for. \n<<< Hopi wisdom\n\">>\n\n<<wt \"<<<.tc-big-quote\nWe are the ones we have been waiting for. \n<<< Hopi wisdom\n\">>\n",
"title": "$:/plugins/telmiger/WMR/quotes",
"tags": "ShortReference",
"modifier": "Thomas",
"modified": "20181129204700838"
},
"$:/plugins/telmiger/WMR/reference": {
"created": "20181125111047842",
"creator": "Thomas",
"text": "<div class=\"wikitext-examples\">\n\n!! Font Variants\n\n<<revealstate \"$:/plugins/telmiger/WMR/font-variants\" \"font-variants\">>\n\n\n!! Lists, Definitions\n\n<<revealstate \"$:/plugins/telmiger/WMR/lists\" \"lists\">>\n\n\n!! Links\n\n<<revealstate \"$:/plugins/telmiger/WMR/links\" \"links\">>\n\n\n!! Special Characters, Lines, Ruler\n\n<<revealstate \"$:/plugins/telmiger/WMR/special-chars\" \"special-chars\">>\n\n\n!! New Lines\n\n<<revealstate \"$:/plugins/telmiger/WMR/new-lines\" \"new-lines\">>\n\n\n!! Quotes\n\n<<revealstate \"$:/plugins/telmiger/WMR/quotes\" \"quotes\">>\n\n\n!! Styles\n\n<<revealstate \"$:/plugins/telmiger/WMR/styles\" \"styles\">>\n\n\n!! Images\n\n<<revealstate \"$:/plugins/telmiger/WMR/images\" \"images\">>\n\n\n!! Tables\n\n<<revealstate \"$:/plugins/telmiger/WMR/tables\" \"tables\">>\n\n\n!! Code\n\n<<revealstate \"$:/plugins/telmiger/WMR/code\" \"code\">>\n\n\n!! Plain HTML\n\n<<revealstate \"$:/plugins/telmiger/WMR/html\" \"html\">>\n\n\n!! Transclusion\n\n<<revealstate \"$:/plugins/telmiger/WMR/transclusion\" \"transclusion\">>\n\n\n!! Tabs\n\n<<revealstate \"$:/plugins/telmiger/WMR/tabs\" \"tabs\">>\n\n\n!! Special Cases\n\n<<revealstate \"$:/plugins/telmiger/WMR/special\" \"special\">>\n\n\n!! Variables\n\n<<revealstate \"$:/plugins/telmiger/WMR/variables\" \"variables\">>\n\n\n!! Macros\n\n<<revealstate \"$:/plugins/telmiger/WMR/macros\" \"macros\">>\n\n\n!! Filters\n\n<<revealstate \"$:/plugins/telmiger/WMR/filters\" \"filters\">>\n\n\n!! Templates\n\n<<revealstate \"$:/plugins/telmiger/WMR/templates\" \"templates\">>\n\n\n!! Typed Elements\n\n<<revealstate \"$:/plugins/telmiger/WMR/typed-elements\" \"typed-elements\">>\n\n</div>\n",
"title": "$:/plugins/telmiger/WMR/reference",
"tags": "ShortReference",
"modified": "20181130210006750",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/WMR/special": {
"created": "20181124200507179",
"creator": "Thomas",
"text": "<div class=\"wmr-input\">\n\n```\n> block\n>> quotes\n>>> are easy\n```\n</div>\n\n> block\n>> quotes\n>>> are <br>easy\n\n\n<<wt \"# mixed\n#* lists\n#; you\n#: know\n#> like so\n\">>\n",
"title": "$:/plugins/telmiger/WMR/special",
"tags": "ShortReference",
"modified": "20181128065512504",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/special-chars": {
"created": "20181124191754197",
"creator": "Thomas",
"text": "<<wt \"Dashes come in two sizes---the longer is the em dash (HTML: —).\n\nThe en dash (HTML: –) is for ranges (2000--2018) and connections (London--New York) \n\">>\n\n<<wt \"---\nhorizontal rules: line with `---` only or HTML:\n<hr>\n\">>\n\n\n<<wt \"2 × 5 m = 10 m\n\næ – å – œ – ø – Æ – Å – Œ – Ø\n\">>\n\n<<wt \"* a non breaking space: entity\n* a narrow no-break space: (no entity available)\n* a en space: entity\n* a em space: entity\n* a 3-per-em space: entity\n* a 4-per-em space: entity\n* a 6-per-em space: (no entity available)\n* a figure space entity\n* a punctuation space: entity\n* a thin space: entity\n* a hair space: entity\n\">>\n\n[[More Unicode characters and HTML entities|https://www.key-shortcut.com/en/character-tables/unicode-2000-2fff/]]",
"title": "$:/plugins/telmiger/WMR/special-chars",
"tags": "ShortReference",
"modified": "20181128065614974",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/styles": {
"created": "20181124200539896",
"creator": "Thomas",
"text": "<<wt \"!.red CSS\n#.red classes can be\n;.red assigned\n:.red like\n>.red this\n\">>\n\n\n<<wt \"@@.myClass.red\nassign classes using double @\n@@\n\">>\n\n\n<<wt \"@@color:darkorange; apply styles directly @@\n\">>\n\n\n<<wt \"@@.red\n@@border:1px solid blue;\ncombine classes and styles \n@@\n\">>\n\n\n<<wt \"@@.purple Use style tags. @@ – Is it purple?\n\n<style>\n.purple{color:purple;}\n</style>\n\">>",
"title": "$:/plugins/telmiger/WMR/styles",
"tags": "ShortReference",
"modified": "20181128065714950",
"wmr-source-link": "https://tiddlywiki.com/#How%20to%20apply%20custom%20styles",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/tables": {
"created": "20181124205512397",
"creator": "Thomas",
"text": "!!! Positioning\n\n<<wt \"\"\"| highClass |k\n|!Left | !Center | !Right|\n|^NW |^ N |^ NE|\n|W | ✦ | E|\n|,SW |, S |, SE|\n\"\"\">>\n\n!!! Cells\n\n<<wt \"\"\"|!merge cells|<|<|\n| 1 | 2 | 3 |\n|to the |< left |<|\n|and|also| vertical <br>~ (up) |\n|>| right >|~|\n\n\"\"\">>\n\n!!! Header, Footer, Caption, Style\n<<wt \"\"\"|!header 1 |!header 2|\n| Footer |<|f\n| cell 1 | cell 2 |\n|This is a caption |c\n| red |k\n\"\"\">>\n\n<style>\n.highClass td {\n height: 2.75rem;\n min-width: 3.75rem; \n}\n</style>",
"title": "$:/plugins/telmiger/WMR/tables",
"tags": "ShortReference",
"modified": "20181128063215976",
"modifier": "Thomas"
},
"$:/plugins/telmiger/WMR/tabs": {
"created": "20181130193703180",
"creator": "Thomas Elmiger",
"text": "!!! Filter tiddlers for tabs\n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<<tabs \"[tag[Foo]][tag[Bar]]\" default:\"$:/plugins/telmiger/WMR/foo\">>\"\"\"/>\n\n\n\n!!! Vertical tabs\n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<<tabs \"[tag[Foo]][tag[Bar]]\" \"$:/plugins/telmiger/WMR/foo\" class:\"tc-vertical\">>\"\"\"/>",
"title": "$:/plugins/telmiger/WMR/tabs",
"modified": "20181130195012073",
"modifier": "Thomas Elmiger",
"tags": "ShortReference",
"wmr-source-link": "https://tiddlywiki.com/#tabs%20Macro"
},
"$:/plugins/telmiger/WMR/templates": {
"created": "20181129173332986",
"creator": "Thomas",
"text": "[[Transclude|https://tiddlywiki.com/#Transclusion%20in%20WikiText]] tiddler `.../foo` applying [[template|https://tiddlywiki.com/#TemplateTiddlers]] `.../tmpl-code`:\n\n<<wt \"{{$:/plugins/telmiger/WMR/foo||$:/plugins/telmiger/WMR/tmpl-code}}\">>\n\nUse template `Bar` for the [[Current Tiddler|https://tiddlywiki.com/#Current%20Tiddler]] (default):\n\n<div class=\"wmr-input\">\n\n```\n{{||Bar}}\n```\n</div>\n\n---\n\nA template can show different fields of a tiddler. While the list of tiddlers tagged `Foo` shows the content of the field `title` ...\n\n<<wt \"{{{ [tag[Foo]] }}}\n\">>\n\n... the same for tag `Bar` displayed through the template $:/core/ui/ViewTemplate/subtitle shows the content of the fields `modifier` and `modified`:\n\n<<wt \"{{{ [tag[Bar]]||$:/core/ui/ViewTemplate/subtitle }}}\n\">>",
"title": "$:/plugins/telmiger/WMR/templates",
"modified": "20181201142137043",
"modifier": "Thomas Elmiger",
"tags": "ShortReference",
"wmr-source-link": "https://tiddlywiki.com/#Transclusion%20with%20Templates"
},
"$:/plugins/telmiger/WMR/tmpl-code": {
"created": "20181130195051148",
"creator": "Thomas Elmiger",
"text": "<pre><code>{{!!text}}</code></pre>",
"title": "$:/plugins/telmiger/WMR/tmpl-code",
"modifier": "Thomas Elmiger",
"modified": "20181130195148774",
"caption": "Bar"
},
"$:/plugins/telmiger/WMR/transclusion": {
"created": "20181124205928499",
"creator": "Thomas",
"text": "!!! Display content from other tiddlers\n\nTransclude [[text|$:/plugins/telmiger/WMR/foo]] and [[images|$:/core/images/home-button]] from the main content (text field): \n\n<<wt \"{{$:/plugins/telmiger/WMR/foo}}\">>\n\n<<wt \"{{$:/core/images/home-button}}\">>\n\n\n!!! Content of tiddler fields\n\n<div class=\"wmr-input\">\n\n```\n{{Foo!!bar}}\n{{!!bar}}\n```\n</div>\n\n* field `bar` of tiddler `Foo`\n* field `bar` of the Current Tiddler\n\n!!! Data tiddler entries\n\n<div class=\"wmr-input\">\n\n```\n{{Foo##index}}\n{{##index}}\n```\n</div>\n\n* `index` of [[datatiddler|https://tiddlywiki.com/#DataTiddlers]] titled `Foo`\n* `index` of `CurrentTiddler`\n\n---\n\n!!! Transclude widget\n\nTry the [[transclude widget|https://tiddlywiki.com/#TranscludeWidget]] if you have to set the parsing mode manually.\n\n<<wt 'Story: <$transclude tiddler=\"$:/plugins/telmiger/WMR/foo\" mode=\"block\"/>'>>\n\n<<wt 'Story: <$transclude tiddler=\"$:/plugins/telmiger/WMR/foo\" mode=\"inline\"/>'>>",
"title": "$:/plugins/telmiger/WMR/transclusion",
"tags": "ShortReference",
"modifier": "Thomas Elmiger",
"modified": "20181130201019473",
"wmr-source-link": "http://tiddlywiki.com/#Transclusion%20in%20WikiText"
},
"$:/plugins/telmiger/WMR/typed-elements": {
"created": "20181124210140010",
"creator": "Thomas",
"text": "<div class=\"wmr-input\">\n\n```\n$$$text/unknown\nplain text, not //formatted//\n$$$\n```\n</div>\n\n$$$text/unknown\nplain text, not //formatted//\n$$$\n\n<br>\nThese are [[Typed Blocks|https://tiddlywiki.com/#Typed%20Blocks%20in%20WikiText]]\n\n<div class=\"wmr-input\">\n\n```\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke-width=\"0\" fill=\"green\" />\n</svg>\n$$$\n```\n</div>\n\n\n$$$image/svg+xml\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke-width=\"0\" fill=\"green\" />\n</svg>\n$$$\n\n<div class=\"wmr-input\">\n\n```\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"blue\" />\n</svg>\n$$$\n```\n</div>\n\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"blue\" />\n</svg>\n$$$\n\n\n<div class=\"wmr-input\">\n\n```\n$$$text/vnd.tiddlywiki>text/html\nThis is ''some'' wikitext\n$$$\n```\n</div>\n\n$$$text/vnd.tiddlywiki>text/html\nThis is ''some'' wikitext\n$$$\n\n<div class=\"wmr-input\">\n\n```\n$$$text/vnd.tiddlywiki>text/plain\nThis is ''some'' wikitext\n$$$\n```\n</div>\n\n$$$text/vnd.tiddlywiki>text/plain\nThis is ''some'' wikitext\n$$$\n",
"title": "$:/plugins/telmiger/WMR/typed-elements",
"tags": "ShortReference",
"modified": "20181201143104715",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/WMR/variables": {
"created": "20181128064053957",
"creator": "Thomas",
"title": "$:/plugins/telmiger/WMR/variables",
"modified": "20181130211541726",
"modifier": "Thomas Elmiger",
"text": "\\define animal1() lion\n\\define animals1()\nseal <br>\npenguin\n\\end\n\n\n!!! Set the value of a variable\n\nTo use a local variable in a single tiddler, insert a definition at the very top of the tiddler:\n\n`\\define animal1() lion`\n\nTo use a variable in a limited part of a tiddler, use the [[set widget|https://tiddlywiki.com/#SetWidget]]: \n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<$set name=\"animal2\" value=\"zebra\">\n<<animal1>> eats <<animal2>>\n</$set>\n\"\"\"/>\n\n!!! Multi-line variables\n\n```\n\\define animals1()\nseal <br>\npenguin\n\\end\n\n<<animals1>>\n```\n\n<<animals1>>\n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<$set name=\"animals2\" value=\"\n* zebra\n* gnu\n* antelope\n\">\n\n<<animals2>>\n</$set>\n\"\"\"/>\n\n\n!!! Variables as parameters\n\n<$tiddler tiddler=\"$:/plugins/telmiger/WMR/foo\">\n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<$set name=\"mywidth\" value={{!!wmr-example}}>\n[img width=<<mywidth>> [CircleJack.svg]]\n</$set>\n\"\"\"/>\n\n</$tiddler>\n\n!!!! Change the value\n\n<$macrocall $name=\"wt\" wikitext=\"\"\"<$edit-text tiddler=\"$:/plugins/telmiger/WMR/foo\" field=\"wmr-example\"/>\n\"\"\"/>\n\nHint: We also use the [[tiddler widget|https://tiddlywiki.com/#TiddlerWidget]] above to set $:/plugins/telmiger/WMR/foo as the current tiddler in the context of the image. This makes sure that the [[text reference|https://tiddlywiki.com/#TextReference]] `!!wmr-example` points to the right field.\n\nThe edit text widget should ''not'' be used to edit a field of the tiddler that contains it to ommit unwanted side effects. ",
"tags": "ShortReference"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/details/details.css": {
"text": "/* details and summary */\n\ndetails {\n transition: height 1s ease;\n padding: 0 0.5em 0 0.66em;\n margin-top: 0.66em;\n margin-bottom: 0.66em;\n}\n\ndetails + details {\n margin-top: -0.46em;\n}\n\ndetails[open] {\n padding-bottom: 1em;\n}\n\ndetails:not([open]) { \n cursor: pointer;\n}\n\ndetails > summary {\n display: list-item;\n margin: 0 -0.5em 0 -0.66em;\n padding: 0.2em 0.5em 0.2em 0.66em;\n padding-left: 1.76em; /* adjust for indentation */\n text-indent: -1.1em;\n cursor: pointer;\n}\n\ndetails[open] > summary {\n margin-bottom: 1em;\n}\n\ndetails[open] > *:first-child:not(summary) {\n margin-top: 1em;\n}\n",
"title": "$:/plugins/telmiger/details/details.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20180929131615369",
"creator": "Thomas Elmiger",
"created": "20170122140815442"
},
"$:/plugins/telmiger/details/details.js": {
"text": "/*\\\ntitle: $:/plugins/telmiger/details/details.js\ntype: application/javascript\nmodule-type: widget\n\nDetails widget v 0.8\n\nWill output an HTML 5 <details> section including a <summary>\n\n```\n\t<details>\n\t\t<summary>This sums it up</summary> \n\t\tAll the details follow here.\n\t</details>\n```\n\n|Parameter |Description |h\n|summary |Optional text to display as summary. Wins over field (see below). |\n|open |Optional initial state, set to \"open\" to show details on load. Defaults to \"\". |\n|state |An optional TextReference containing the state. Wins over open. |\n|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to \"title\". |\n|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. |\n|class |Optional CSS classes to be assigned to the details tag. |\n\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 DetailsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDetailsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDetailsWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute attributes\n\tthis.computeAttributes();\n\t// Execute logic\n\tthis.execute();\n\t// Create elements\n\tthis.detailsDomNode = this.document.createElement(\"details\");\n\tif(this.detailsClass !== \"\") {\n\t\t// this.detailsClass += \" \";\n\t\t// this.detailsClass += \"tc-details\";\n\t\tthis.detailsDomNode.setAttribute(\"class\",this.detailsClass);\n\t}\n\tif(this.detailsOpen == \"open\") {\n\t\tthis.detailsDomNode.setAttribute(\"open\",\"open\");\n\t}\n\tif(this.detailsSummary !== \"\") {\n\t\tthis.summaryDomNode = this.document.createElement(\"summary\");\n\t\t// this.summaryDomNode.setAttribute(\"class\",\"tc-summary\");\n\t\tthis.detailsDomNode.appendChild(this.summaryDomNode);\n\t\tthis.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary));\n\t}\n// register an event listener\n/* Maybe this can be reactivated later, see below.\n\tif(this.detailsStateTitle) {\n\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t{name: \"toggle\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t}\n*/\n// As iOS mobile browsers lack support of toggle events on details \n// we emulate the toggle event using click\n\tif(this.detailsStateTitle && this.summaryDomNode) {\n\t\t$tw.utils.addEventListeners(this.summaryDomNode,[\n\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t]);\n\t} else {\n\t\tif(this.detailsStateTitle) {\n\t\t\t$tw.utils.addEventListeners(this.detailsDomNode,[\n\t\t\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleToggleEvent\"},\n\t\t\t]);\n\t\t}\n\t}\n\t// Insert the details into the DOM and render any children\n\tthis.parentDomNode.insertBefore(this.detailsDomNode,nextSibling);\n\tthis.renderChildren(this.detailsDomNode,null);\n\tthis.domNodes.push(this.detailsDomNode);\n};\n\n/*\nRetrieve the value of the summary\n*/\nDetailsWidget.prototype.getSummary = function() {\n\tvar summary = \"\";\n\tif(this.summaryTitle === \"Tiddler not found\" && this.summaryField === \"\") {\n\t// nothing defined: leave empty \n\t\tsummary = \"\";\n\t} else {\n\t\t// tiddler defined? use defined field or title\n\t\tif(this.myTiddler) {\n\t\t\tif(this.summaryField === \"title\" || this.summaryField === \"\") {\n\t\t\t\tsummary = this.summaryTitle;\n\t\t\t} else {\n\t\t\t\tif(this.summaryField === \"text\") {\n \t\t// getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\t\tsummary = this.wiki.getTiddlerText(this.summaryTitle);\n\t\t\t\t} else {\n\t\t\t\t\tsummary = this.myTiddler.fields[this.summaryField];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.summaryField !== \"\" && this.summaryField !== \"text\") {\n\t\t\t\t// try defined field in current tiddler\n\t\t\t\tvar tiddler = this.wiki.getTiddler(this.getVariable(\"currentTiddler\"));\n\t\t\t\tsummary = tiddler.fields[this.summaryField];\n\t\t\t} else {\n\t\t\t\tsummary = \"\";\n\t\t\t}\n\t\t}\n\t}\n return summary;\n};\n\n/*\nRetrieve the value of the state text reference\n*/\nDetailsWidget.prototype.getStateFromReference = function() {\n var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,\"\",this.getVariable(\"currentTiddler\")) : \"\";\n return state;\n};\n\n/*\nCheck all open signals, state fields/tiddlers get priority\n*/\nDetailsWidget.prototype.getOpenState = function() {\n\tvar result = \"\";\n\tif((this.detailsOpenDefault !== \"\" && this.detailsOpenDefault !== \"no\") \n\t || this.detailsState === \"open\") {\n\t\tresult = \"open\";\n\t } \n\tif(this.detailsStateTitle !==\"\" && this.detailsState !== \"open\") {\n\t\tresult = \"\";\n\t}\n\treturn result;\n};\n\n/*\nUpdate the state text reference after click event\n*/\nDetailsWidget.prototype.updateState = function(openState) {\n\tvar fieldValue = \"false\";\n\tvar currentTiddler = this.getVariable(\"currentTiddler\");\n // get the title for the (existing/new) tiddler\n\tvar tr = $tw.utils.parseTextReference(this.detailsStateTitle);\n\tvar tidTitle = tr.title || currentTiddler;\n // is it an existing state tiddler?\n\tvar isStateTiddler = (tr.title === this.detailsStateTitle);\n\tvar hasStateTiddler = this.wiki.tiddlerExists(tr.title);\n\tvar currentStateTiddler = (tr.title === currentTiddler);\n\tif(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== \"text\")) { \n\t\t// Set the state field (but never overwrite the current tiddler’s text field\n\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t} else {\n\t\tif(!hasStateTiddler && tidTitle !== currentTiddler) {\n\t\t\tthis.createTiddler(tidTitle);\n\t\t\tthis.wiki.setText(tidTitle,tr.field,tr.index,openState);\n\t\t} else {\n\t\t\tconsole.log (\"Something went wrong in updateState\");\n\t\t}\n\t}\n};\n\n/*\nCreate a tiddler with a title only\n*/\nDetailsWidget.prototype.createTiddler = function(tidTitle) {\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: tidTitle,\n\t\t\ttags: []\n\t\t}\n\t));\n};\n\n/*\nSet openState according to click\n*/\nDetailsWidget.prototype.handleToggleEvent = function(event) {\n\t// check if an open attribute is present\n\tvar newState = this.detailsDomNode.open ? \"\" : \"open\";\n\t// update only, if the node has a new state\n\tif(newState !== this.detailsState) {\n\t\tthis.updateState(newState);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDetailsWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes \n\tvar tryTiddler = this.getAttribute(\"tiddler\");\n\tthis.myTiddler = this.wiki.getTiddler(tryTiddler);\n\tthis.summaryTitle = this.myTiddler ? tryTiddler : \"Tiddler not found\";\n\tthis.summaryField = this.getAttribute(\"field\",\"\");\n\tthis.detailsSummary = this.getAttribute(\"summary\") || this.getSummary();\n\tthis.detailsStateTitle = this.getAttribute(\"state\",\"\");\n\tthis.detailsState = this.getStateFromReference();\n\tthis.detailsOpenDefault = this.getAttribute(\"open\",\"\");\n\tthis.detailsOpen = this.getOpenState();\n\tthis.detailsClass = this.getAttribute(\"class\",\"\");\n\t// Construct the 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*/\nDetailsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tvar testState = this.getStateFromReference();\n\t\tif(testState !== this.detailsState) {\n\t\t\t// state change\n\t\t\tthis.refreshSelf();\n\t\t\trefreshed = true;\n\t\t} \n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.details = DetailsWidget;\n\n})();",
"type": "application/javascript",
"title": "$:/plugins/telmiger/details/details.js",
"tags": "Plugins",
"module-type": "widget",
"modifier": "Thomas Elmiger",
"modified": "20180929212032187",
"creator": "Thomas Elmiger",
"created": "20170124173619910"
},
"$:/plugins/telmiger/details/icon": {
"created": "20170205205314072",
"text": "<svg class=\"tc-image-button telmiger-icon\" viewBox=\"0 0 128 128\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" viewBox=\"0 0 128 128\" role=\"img\" aria-labelledby=\"title\"><title id=\"title\">T</title><path class=\"circle\" d=\"M64 2C30 2 2 29.753 2 64c0 34.235 27.753 62 62 62s62-27.752 62-62C126 29.753 98.221 2 64 2z\"/><path class=\"t\" d=\"M100.41 63.254c-2.886 1.92-7.544 2.883-13.979 2.883h-8.008c-4.246 0-7.331.845-9.254 2.536-1.922 1.69-3.449 5.086-4.576 10.19 0 0-.181 1.481-.503 1.481s-.369-.877-.518-1.586a37.897 37.897 0 0 0-.721-2.754c-.631-2.137-1.262-3.753-1.894-4.847-.764-1.359-1.727-2.452-2.889-3.28-1.162-.83-2.49-1.326-3.985-1.492l-2.092-.248H41.73c-6.144 0-10.711-.962-13.7-2.884-4.976-3.159-7.649-9.129-8.02-17.91-.03-.706.003-1.351.132-2.171h.585c.399 3.975 3.679 7.048 6.086 9.219 2.408 2.172 6.269 3.258 11.581 3.258h9.313c5.347 0 9.257 1.226 11.731 3.68 2.231 2.213 3.701 5.68 4.406 10.4.076.511.03.736.178.736.149 0 .11-.256.17-.783.713-6.122 3.085-10.219 7.117-12.294 2.487-1.292 6.434-1.906 11.841-1.839l6.368.1c4.311.066 7.942-.788 10.893-2.56 2.953-1.773 6.447-5.079 6.844-9.917h.595c.183.478.16 1.576.127 2.333-.371 8.752-2.894 14.668-7.567 17.749z\"/></svg>\n<style>\n.telmiger-icon .circle { fill: #e2001a }\n.telmiger-icon .t { fill: #fff }\n</style>",
"title": "$:/plugins/telmiger/details/icon",
"tags": "",
"modified": "20171219183752113"
},
"$:/plugins/telmiger/details/license": {
"text": "!! Plugin license\n!!!The MIT License (MIT)\n\n```\nCopyright © 2017/2018 Thomas Elmiger – thomas-elmiger.ch\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n```",
"title": "$:/plugins/telmiger/details/license",
"tags": "",
"modified": "20170205214435064",
"created": "20170205213335455"
},
"$:/plugins/telmiger/details/readme": {
"created": "20170205212323032",
"text": "! ~DetailsWidget\n\nA plugin for [[TiddlyWiki|http://tiddlywiki.com]] 5 containing a script and some styles to create an HTML 5 `<details>` section including a `<summary>`. Here’s an example:\n\n<$details summary=\"W3C definition\">\n\n<<<\nThe [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.\n<<< W3C\n\n</$details>\n\nDocumentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget\n",
"title": "$:/plugins/telmiger/details/readme",
"tags": "",
"modified": "20171219183752113"
},
"$:/plugins/telmiger/details/colours.css": {
"text": "/* details and summary colours */\n\ndetails {\n background-color: <<colour tiddler-info-tab-background>>;\n color: <<colour foreground>>;\n}\n\ndetails summary {\n background-color: <<colour dropdown-tab-background>>;\n}\n\ndetails.notification summary {\n background-color: <<colour notification-background>>;\n /* TW leaves color undefined/uses foreground */\n}\n\ndetails.warning summary {\n background-color: #ffbbaf;\n color: #000;\n}\n\ndetails.success summary {\n background-color: #88edc5;\n color: #000;\n}\n",
"title": "$:/plugins/telmiger/details/colours.css",
"tags": "$:/tags/Stylesheet",
"modifier": "Thomas Elmiger",
"modified": "20180926204140772",
"creator": "Thomas Elmiger",
"created": "20180925155320737"
},
"$:/plugins/telmiger/details/accordion": {
"text": "\\define accordion(filter:\"_no_\",open:\"no\",class:\"\")\n<$vars accordion-filter=\"\"\"$filter$\"\"\" open=\"\"\"$open$\"\"\" class=\"\"\"$class$\"\"\">\n<$list filter=<<accordion-filter>>>\n<$details summary=<<currentTiddler>> open=<<open>> class=<<class>>>\n\n<$transclude tiddler=<<currentTiddler>>/>\n\n</$details>\n</$list>\n</$vars>\n\\end\n\n<!-- !!! Accordion Macro for Details\n\nList tiddlers and open them in a details-summary structure\n\n!!!! Attributes\n* filter: filter to select tiddlers\n* open: set to \"open\" to display details on load\n* class: set a class for the details tag\n\n-->",
"title": "$:/plugins/telmiger/details/accordion",
"tags": "$:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20180929065014252",
"creator": "Thomas Elmiger",
"created": "20180928194557274"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/lib/language": {
"text": "$:/plugins/telmiger/lib/languages/en-GB",
"todo-done": "20160820234641 20160821004547",
"todo-deadline": "",
"title": "$:/plugins/telmiger/lib/language",
"tags": "ToDoDone ToDoComponents",
"priority": "2",
"modifier": "Thomas Elmiger",
"modified": "20180425210135022",
"creator": "Thomas Elmiger",
"created": "20160820133735127"
},
"$:/plugins/telmiger/lib/languages/en-GB": {
"created": "20160820190056478",
"creator": "Thomas Elmiger",
"text": "ID:English\n<!-- date formats: date formats start here -->\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DDth MMM YYYY at hh12:0mmpm\ndate-deadline-tmpl: YYYY-0MM-0DD\n<!-- titles: titles start here -->\ntitle-Do: Do\ntitle-Waiting: Waiting\ntitle-Done: Done\n<!-- motivation: motivating slogans start here -->\nMotivation-Don’t-do-it: Don’t have to do it? – Say it’s done!\nMotivation-single-task: Do the right ''one'' thing. – Then check & save.\n<!-- strings: strigs start here -->\nAdd-tag: Add tag\nAdd-tags-from-the-list: Add tags from the list\nall: all\nall-projects: all projects\narchive: archive\nAre-you-sure?: Are you sure?\nChange-deadline: Change deadline\nchange-priority: Change priority\nchange-priority-to: set priority to\nClick-to-edit-title: Click the title to edit!\nclose: Close\nClose: Close\ndays-back: days back\nDetails: Show details\nDo-it-again: Do it again\nDo-now: Do now\nDone: Done\nEdit: Edit\nHide-list: Hide list\nlate: late\nManage-tags: Manage tags\nMove-down: Move down\nMove-up: Move up\nNew-ToDo-Item: New ToDo Item\nNext week: Next week\nno.: no.\nOpen-all: Open all\nNothing-to-do-?: Nothing to do? Create a task using this button\nPick-a-task-: Pick a task from the list below using this button\nPrint-window-hint: Open in new window to print\nProject: Project\nRecycle: Recycle\nRelax-Nothing-to-do: Relax. Nothing to do.\nRemove-deadline: Remove deadline\nRemove-tags?: Remove tags?\nReset: Reset\nsearch: search …\nSend-it-down: Send it down\nSet-deadline: Set deadline\nShow-list: Show list\nSort-by-deadline: Sort by deadline\nSort-by-modification: Sort by last modification\nSort-by-priority: Sort all by priority\nSort-by-title: Sort all by title\nsorted-by-deadline: sorted by deadline\nsorted-by-modification: sorted by last modification\nsorted-by-priority: sorted by priority\nsorted-by-title: sorted by title\nSwitch-to-edit-mode: Switch to edit mode\nSwitch-to-safe-mode: Switch to save mode\nTake-it-up: Take it up!\nThis-is-done: This is done\nThis-week: This week\ntoday: today\nToday: Today\nToDo: ToDo\nToDo-template-title: ToDo Item\nToDo-template-text: Motivation: Description * Tests/Acceptance criteria\nTomorrow: Tomorrow\nUuups: Uuups!\n<!-- comments: comments -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121501",
"title": "$:/plugins/telmiger/lib/languages/en-GB",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20180316065039068"
},
"$:/plugins/telmiger/lib/telang": {
"text": "\\define telang(term)\n<$transclude tiddler={{$:/plugins/telmiger/lib/language}} index=\"$term$\"><$transclude tiddler=\"$:/plugins/telmiger/lib/languages/en-GB\" index=\"$term$\"/></$transclude>\n\\end\n",
"created": "20160917153627850",
"creator": "Thomas Elmiger",
"modified": "20160917160018287",
"modifier": "Thomas Elmiger",
"priority": "2",
"tags": "ToDoDone ToDoComponents $:/tags/Macro",
"title": "$:/plugins/telmiger/lib/telang",
"todo-deadline": "",
"todo-done": "20160820234641 20160821004547"
},
"$:/plugins/telmiger/lib/telements/buttons": {
"created": "20160816192735231",
"creator": "Thomas Elmiger",
"text": "\\define teBtnSave(class:\"te-btn-big\")\n<$wikify name=\"myclass\" text=\"te-btn-save $class$ <<tv-config-toolbar-class>>\">\n<span>\n<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<myclass>>>\n<span class=\"tc-dirty-indicator\">\n{{$:/core/images/save-button}}\n</span>\n</$button>\n</span>\n</$wikify>\n\\end\n\n\\define teBtnDelete(class:\"\")\n<$vars btnclass=\"te-btn-action te-btn-delete $class$\">\n<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<btnclass>>>\n{{$:/core/images/delete-button}}\n</$button>\n</$vars>\n\\end\n\n\\define teBtnHint(btntext,message,tooltip,tip,class:\"\")\n<$set name=\"btnclass\" value=\"te-hint $class$\">\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\" message=\"$message$\">\n$btntext$\n<span class=\"te-tip\">$tip$</span>\n</$button>\n</$set>\n\\end\n\n\\define teBtnTagListops(btntext,add-remove,tooltip,tip:\"_false_\",class:\"\")\n<$vars tip=\"\"\"$tip$\"\"\" btnclass=\"te-btn-action te-tag-listops $class$\">\n<$set name=\"mytip\" filter=\"[<tip>removeprefix[_false_]]\" emptyValue=\"\"\"<span class=\"te-tip\">$tip$</span>\"\"\">\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\">\n<<teTimestampPause>>\n<$action-listops $tags=\"$add-remove$\" />\n<<teTimestampResume>>\n$btntext$\n<<mytip>>\n</$button>\n</$set>\n</$vars>\n\\end\n\n\\define teBtnEdit(sendmessage:\"tm-edit-tiddler\",class:\"\")\n<$wikify name=\"tt\" text=<<telang Edit>>>\n <$button tooltip=<<tt>> class=\"te-btn-action te-edit $class$\">\n<$action-sendmessage $message=\"$sendmessage$\" $param=<<currentTiddler>> />\n{{$:/core/images/edit-button}}\n</$button>\n</$wikify>\n\\end\n\n\\define teBtnEditShowModified(sendmessage:\"tm-edit-tiddler\",class:\"\")\n<$wikify name=\"tt\" text=<<telang Edit>>>\n <$button tooltip=<<tt>> class=\"te-btn-action te-edit $class$\">\n<$action-sendmessage $message=\"$sendmessage$\" $param=<<currentTiddler>> />\n{{$:/core/images/edit-button}}<span class=\"te-tip\"><$view tiddler=<<currentTiddler>> field=\"modified\" format=\"date\" template=\"YYYY-0MM-0DD 0hh:0mm\"/></span>\n</$button>\n</$wikify>\n\\end\n\n\\define tePrioBtnContent() <span class=\"te-prionr\">$(priority)$</span>$(btntext)$\n\n\\define teBtnPrio(btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip,class:\"\")\n<$vars btntext=\"\"\"$btntext$\"\"\" priority=\"\"\"$priority$\"\"\">\n<$set name=\"nextprio\" filter=\"\"\"[list[$prioritylist$]nth[$priority$]]\"\"\">\n<$wikify name=\"next\" text=\"$tooltip$ <<nextprio>>\">\n<$button tooltip=<<next>> class=\"te-btn-action te-prio prio$priority$ $class$\">\n<$action-listops $field=\"priority\" $filter=<<nextprio>>/>\n<<tePrioBtnContent>>\n</$button>\n</$wikify>\n</$set>\n</$vars>\n\\end\n\n\\define teBtnPrioPopup(tiddler,btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip:\"change priority\",class:\"\")\n<$vars btntext=\"\"\"$btntext$\"\"\" priority=\"\"\"$priority$\"\"\">\n<$set name=\"qualstate\" value=<<qualify \"\"\"$:/state/reveal_priopop_$tiddler$_\"\"\">> >\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"show\" class=\"te-btn-reveal\">\n<$button tooltip=\"\"\"$tooltip$\"\"\" set=<<qualstate>> setTo=\"show\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n<<tePrioBtnContent>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"show\" class=\"te-btn-reveal\">\n<$button tooltip=\"close popup\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n<$action-deletetiddler $tiddler=<<qualstate>>/>\n<<tePrioBtnContent>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"show\">\n<$wikify name=\"tt\" text=\"set prio\">\n <$macrocall $name=\"tePrioList\" tiddler=\"\"\"$tiddler$\"\"\" icon=\"{{$:/core/images/star-filled}}\" priorityfield=\"priority\" prioritylist=\"\"\"$prioritylist$\"\"\" tooltip=<<tt>> class=\"\" state=<<qualstate>>/>\n</$wikify>\n</$reveal>\n</$set>\n</$vars>\n\\end\n\n\\define tePrioList(tiddler,prioritylist:\"_false_\",priorityfield:\"_false_\",icon:\"{{$:/core/images/star-filled}}\",state)\n<$vars priotid=\"\"\"$prioritylist$\"\"\" tid=\"\"\"$tiddler$\"\"\">\n<$set name=\"prioOld\" filter=\"[<currentTiddler>get[$priorityfield$]]\">\n<div class=\"te-prio-popup\">\n<ul class=\"te-prio-list\">\n<$list filter=\"[list<priotid>sort[]] -[<prioOld>]\" variable=\"prio\" emptyValue=\"error: no priorities in list field of $tiddler$\">\n<li>\n <$macrocall $name=\"teBtnPrioSet\" tiddler=<<tid>> priority=<<prio>> priorityfield=\"\"\"$priorityfield$\"\"\" tooltip=\"set as prio\" icon=\"\"\"$icon$\"\"\" class=\"\" state=\"\"\"$state$\"\"\"/>\n</li>\n</$list>\n</ul>\n</div>\n</$set>\n</$vars>\n\\end\n\n\\define teBtnPrioSet(tiddler,priority,priorityfield,tooltip,icon,class:\"\",state)\n<$vars prio=\"\"\"$priority$\"\"\" qualstate=\"\"\"$state$\"\"\">\n<$button tooltip=\"\"\"$tooltip$\"\"\" class=\"te-btn-action te-prio prio$priority$ $class$\">\n<<teTimestampPause>>\n<$action-listops $tiddler=\"\"\"$tiddler$\"\"\" $field=$priorityfield$ $filter=<<prio>>/>\n<<teTimestampResume>>\n<$action-deletetiddler $tiddler=<<qualstate>>/>\n<span class=\"te-prionr\"><<prio>></span>$icon$\n</$button>\n</$vars>\n\\end\n\n\\define teBtnClone(tiddler,class:\"\")\n<$button message=\"tm-new-tiddler\" param=\"\"\"$tiddler$\"\"\" tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=\"te-btn-action te-clone $class$\">\n{{$:/core/images/clone-button}}\n</$button>\n\\end\n\n\\define teBtnIcons(label,icon,hovericon)\n<span class=\"te-btn-label\">\"\"\"$label$\"\"\"</span>\n<span class=\"te-btn-icon\"><$transclude tiddler=\"\"\"$icon$\"\"\"/></span>\n<span class=\"te-btn-hovericon\"><$transclude tiddler=\"\"\"$hovericon$\"\"\"/></span>\n\\end\n\n\\define teTimestampPause()\n<$action-setfield $tiddler=\"$:/temp/te/TimestampBefore\" $value={{$:/config/TimestampDisable}}/>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n\\end\n\n\\define teTimestampResume()\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value={{$:/temp/te/TimestampBefore}}/>\n\\end\n\n\n<!-- !! Macros to produce nice buttons\n\nOptimize: Rewire field \"priority\" to a variable $saveto$?\n\n* teBtnSave\n* teBtnDelete\n** delete a given tiddler – show a confirmation request first\n* teBtnHint(btntext,message,tooltip,tip,class:\"\")\n** add a message\n* teBtnTagListops(btntext,add-remove,tooltip,tip,class:\"\")\n** add-remove: add and remove tags in one statement \"addthis -removethat\"\n** does not update the modification date as of TW 5.1.14\n* teBtnEdit(sendmessage:\"tm-edit-tiddler\",class:\"\") \n** tiddler is currentTiddler\n* teBtnEditShowModified(sendmessage:\"tm-edit-tiddler\",class:\"\") – used in $:/plugins/telmiger/listreveal/readme \n** shows modified timestamp on hover\n** tiddler is currentTiddler\n* teBtnPrio(btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip,class:\"\")\n** let the user cycle through a list of choices (priorities) from the //list// field of a tiddler \n* teBtnPrioPopup(tiddler,btntext,priority,prioritylist:\"$:/plugins/telmiger/lib/telements/buttons\",tooltip:\"change priority\",class:\"\")\n** let the user select a priority from a list of choices saved in the //list// field of a tiddler \n* tePrioList – a helper macro for teBtnPrioPopup\n* teBtnPrioSet – a helper macro for teBtnPrioPopup\n* teBtnClone(tiddler,class:\"\") – a button to clone a tiddler from the list\n* teBtnIcons(label,icon,hovericon) – create a set of spans for buttons with icons\n* teTimestampPause() and teTimestampResume()\n** put these before and after e.g. tag manipulations to stop/restart timestamp updates\n-->\n",
"title": "$:/plugins/telmiger/lib/telements/buttons",
"tags": "ToDoComponents $:/tags/Macro MyMacros Listreveal",
"prio": "",
"modifier": "Thomas Elmiger",
"modified": "20181014055743234",
"list": "3 1 2"
},
"01 Listreveal List Setup": {
"created": "20170222232934553",
"creator": "Thomas Elmiger",
"text": "Explanations for the code of $:/plugins/telmiger/listreveal/readme – you can clone the linked tiddler and adapt it step by step to create your own listreveal project. The filter statement is a good point to start:\n\n```\n<$set name=\"listfilter\" \n value=\"\"\"[tag[Listreveal]!is[system]sort[title]]\"\"\">\n<ul class=\"te-list\">\n<$list filter=<<listfilter>>>\n```\nAlways use a variable called //listfilter// to create your list. The list-based tag manager (see [[03 Context Tagging]]) is depending on this convention.\n\nIt is recommended to use the CSS classes you see in this example – add your own to change the looks.\n\n```\n<$set name=\"tidTitle\" value={{!!title}}>\n <li class=\"todo-item te-flex-item\">\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-left\">\n <$link to={{!!title}}><$view field=\"title\"/></$link>\n </span>\n </span>\n```\nThe styling relies on [[CSS3 flexbox|https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties]]. These spans help to make your list as mobile friendly as possible.\n\n```\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-right\">\n <<teBtnEditShowModified>>\n```\nThis macro produces an edit button. It shows the tiddler’s modified date when the mouse hovers over it.\n\n```\n<$wikify name=\"cl\" text=<<telang close>> >\n<$wikify name=\"tt\" text=<<telang Details>> >\n <$macrocall $name=\"listrevealButton\" title=<<tidTitle>> tooltip=<<tt>> close=<<cl>>/>\n</$wikify>\n</$wikify>\n```\nThis macrocall produces the button on the right side that opens and closes the tiddlers.\n\nThe variables //cl// and //tt// get predefined translations from the language tiddlers that are part of this plugin. You can replace the tooltip for opening (attribute //tooltip//) and closing (attribute //close//) with your own texts.\n\n```\n </span>\n </span>\n<$wikify name=\"tpl\" text=<<telang date-created-tmpl>> >\n <$macrocall $name=\"listrevealContent\" title=<<tidTitle>> datetime=<<tpl>>/>\n</$wikify>\n```\nThis macrocall produces the text content and some details of your tiddler.\n\nAgain the variable //tpl// gets a predefined translation from the integrated language tiddlers. It is used as a [[date format template|http://tiddlywiki.com/#DateFormat]] when the created and modified timestamps of the tiddler are displayed. This attribute is optional.\n\n//tidTitle// is the variable for the title of your list elements (your tiddlers). It is set at the beginning (see second snippet).\n\n```\n </li>\n</$set>\n</$list>\n</ul>\n</$set>\n```\nThe whole list is presented as an unordered HTML list `<ul>` with tiddlers as list items `<li>`.",
"title": "01 Listreveal List Setup",
"tags": "Listreveal",
"modified": "20170224201650800",
"modifier": "Thomas Elmiger"
},
"02 Edit Button": {
"created": "20170222233632994",
"creator": "Thomas Elmiger",
"text": "Optionally you can add a lock/unlock button to switch your list into edit mode (all listreveal lists in your wiki to be precise). This presents the tiddler content in an editor field where you can change it using wikitext formatting. \n\n```\nUse this button to enable editing: <<listrevealBtnEdit>>\n```\nAdd your own parameter `class:\"your-class\"` for styling and positioning via CSS. The icon has a so called dirty indicator implemented: it turns red if you have unsaved changes.",
"title": "02 Edit Button",
"tags": "Listreveal",
"modified": "20170224192922331",
"modifier": "Thomas Elmiger"
},
"03 Context Tagging": {
"created": "20170224195102124",
"creator": "Thomas Elmiger",
"text": "When you look inside a tiddler in the list using the ellipsis (…) button on the right, you see the tiddler’s tags, text and timestamps. \n\n{{$:/core/images/tag-button}}\n\nThe tags can be changed using the tag label icon. A unique feature called context tagging or list-based tagging appears in a popup. From there you are able to add suggested tags based on the other tiddlers in your list or remove single tags from the tiddler. ",
"title": "03 Context Tagging",
"tags": "Listreveal",
"modified": "20170224195644691",
"modifier": "Thomas Elmiger"
},
"04 Checklists": {
"created": "20170224200058192",
"creator": "Thomas Elmiger",
"text": "This plugin comes with CSS to support checklists generated via a plugin by Tony Grosinger – indentation and the display of user interface elements to add and delete items should be optimized for use inside of listreveal lists.\n\n[ ] Install the plugin from https://grosinger.net/tw5-checklist/\n[ ] Make your first checklist\n[x] Read these hints on checklists",
"todo-done": "20160917214708",
"todo-deadline": "20160912220000000",
"title": "04 Checklists",
"tags": "Listreveal Usability Plugins",
"priority": "2",
"modifier": "Thomas Elmiger",
"modified": "20170224201034767"
},
"05 Translations": {
"text": "The following language tiddlers are shipped with this plugin: \n\n<ul>\n<$list filter=\"\"\"[all[tiddlers+shadows]prefix[$:/plugins/telmiger/lib/languages/]sort[]]\"\"\">\n<li>\n{{##ID}}: <$link to={{!!title}}><$view field=\"title\"/></$link>\n</li>\n</$list>\n</ul>\n\nSet your language in $:/plugins/telmiger/lib/language (I hope I will find a way to use the language from the TW settings in the future).\n\nTo implement a new language you could clone and adapt one of them. They are used for other plugins too, this is why they contain way more text than needed for listreveal.\n",
"title": "05 Translations",
"tags": "Listreveal Translation",
"modifier": "Thomas Elmiger",
"modified": "20170714214826478",
"creator": "Thomas Elmiger",
"created": "20170224202239839"
},
"$:/plugins/telmiger/lib/languages/de-DE": {
"created": "20160823202222125",
"creator": "Thomas Elmiger",
"text": "ID:Deutsch (Deutschland)\n<!-- date formats: Datums-Formatierung startet hier -->\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DD. MMM YYYY, 0hh:0mm Uhr\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- titles: Titel starten hier -->\ntitle-Do: Jetzt\ntitle-Waiting: Später\ntitle-Done: Erledigt\n<!-- motivation: Motivierende slogans starten hier -->\nMotivation-Don’t-do-it: Don’t have to do it? – Say it’s done!\nMotivation-single-task: Do the right ''one'' thing. – Then check & save.\n<!-- strings: Text-Schnippsel starten hier -->\nAdd-tag: Tag hinzufügen\nAdd-tags-from-the-list: Tags aus der Liste hinzufügen\nall: alle\nall-projects: alle Projekte\narchive: archivieren\nAre-you-sure?: Bist du sicher?\nChange-deadline: Fälligkeit ändern\nchange-priority: Priorität ändern\nchange-priority-to: Priorität ändern auf\nClick-to-edit-title: Auf Titel klicken zum Bearbeiten!\nclose: Schließen\nClose: Schließe\ndays-back: Tage\nDetails: Details\nDo-it-again: Mach’s nochmal\nDo-now: Jetzt erledigen\nDone: Erledigt\nEdit: bearbeiten\nHide-list: Liste ausblenden\nlate: später\nManage-tags: Tag-Manager\nMove-down: Nach unten\nMove-up: Nach oben\nNew-ToDo-Item: Neue Aufgabe\nno.: Anz.\nOpen-all: Alle öffnen\nNothing-to-do-?: Nichts zu tun? Erstelle eine Aufgabe mit diesem Knopf\nPick-a-task-: Wähle eine Aufgabe aus der Liste unten mit diesem Knopf\nPrint-window-hint: In neuem Fenster öffnen zum Drucken\nProject: Projekt:\nRecycle: Nochmals verwenden\nRelax-Nothing-to-do: Schön. Es gibt nichts zu tun.\nRemove-deadline: Fälligkeit löschen\nRemove-tags?: Tags entfernen?\nReset: Zurücksetzen\nsearch: Suche\nSend-it-down: doch nicht jetzt\nSet-deadline: Termin festlegen\nShow-list: Liste anzeigen\nSort-by-deadline: Nach Termin sortieren\nSort-by-modification: Nach letzter Änderung sortieren\nSort-by-priority: Alle nach Priorität sortieren\nSort-by-title: Alle nach Titel sortieren\nsorted-by-deadline: sortiert nach Enddatum\nsorted-by-modification: sortiert nach letzter Änderung\nsorted-by-priority: sortiert nach Priorität\nsorted-by-title: sortiert nach Titel\nSwitch-to-edit-mode: Bearbeiten ermöglichen\nSwitch-to-safe-mode: Bearbeiten ausschalten\nTake-it-up: Rauf damit!\nThis-is-done: Das ist erledigt\nThis-week: Diese Woche\ntoday: heute\nToday: Heute\nToDo: ToDo\nToDo-template-title: Neue Aufgabe\nToDo-template-text: Motivation: Beschreibung * Tests/Abnahmekriterien\nTomorrow: Morgen\nUuups: Hoppla!\n<!-- comments: Kommentare -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121525",
"title": "$:/plugins/telmiger/lib/languages/de-DE",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20180316064856476"
},
"$:/plugins/telmiger/lib/languages/de-CH": {
"created": "20160821100821036",
"creator": "Thomas Elmiger",
"text": "ID:Deutsch (Schweiz)\n<!-- date formats: Datums-Formatierung startet hier -->\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl-info: DD. MMM YYYY, 0hh:0mm Uhr\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- titles: Titel starten hier -->\ntitle-Do: Jetzt\ntitle-Waiting: Später\ntitle-Done: Erledigt\n<!-- motivation: Motivationstexte starten hier -->\nMotivation-Don’t-do-it: Don’t have to do it? – Say it’s done!\nMotivation-single-task: Do the right ''one'' thing. – Then check & save.\n<!-- strings: Text-Schnippsel starten hier -->\nAdd-tag: Tag hinzufügen\nAdd-tags-from-the-list: Tags aus der Liste hinzufügen\nall-projects: alle Projekte\narchive: archivieren\nAre-you-sure?: Bist du sicher?\nChange-deadline: Fälligkeit ändern\nchange-priority: Priorität ändern\nchange-priority-to: Priorität ändern auf\nClick-to-edit-title: Auf Titel klicken zum Bearbeiten!\nclose: Schliessen\nClose: Schliesse\ndays-back: Tage zurück\nDetails: Details\nDo-it-again: Mach’s nochmal\nDo-now: Jetzt erledigen\nDone: Erledigt\nEdit: bearbeiten\nHide-list: Liste ausblenden\nlate: später\nManage-tags: Tag-Manager\nMove-down: Nach unten\nMove-up: Nach oben\nNew-ToDo-Item: Neue Aufgabe\nno.: Anz.\nNothing-to-do-?: Nichts zu tun? Erstelle eine Aufgabe mit diesem Knopf\nOpen-all: alle öffnen\nPick-a-task-: Wähle eine Aufgabe aus der Liste unten mit diesem Knopf\nPrint-window-hint: In neuem Fenster öffnen für Druck\nProject: Projekt:\nRecycle: Nochmals verwenden\nRelax-Nothing-to-do: Schön. Es gibt nichts zu tun.\nRemove-deadline: Fälligkeit löschen\nRemove-tags?: Tags entfernen?\nReset: Zurücksetzen\nsearch: Suche …\nSend-it-down: doch nicht jetzt\nSet-deadline: Termin festlegen\nShow-list: Liste anzeigen\nSort-by-deadline: Nach Termin sortieren\nSort-by-modification: Nach letzter Änderung sortieren\nSort-by-priority: Alle nach Priorität sortieren\nSort-by-title: Alle nach Titel sortieren\nsorted-by-deadline: sortiert nach Enddatum\nsorted-by-modification: sortiert nach letzter Änderung\nsorted-by-priority: sortiert nach Priorität\nsorted-by-title: sortiert nach Titel\nSwitch-to-edit-mode: Bearbeiten ermöglichen\nSwitch-to-safe-mode: Bearbeiten ausschalten\nTake-it-up: Rauf damit!\nThis-is-done: Das ist erledigt\ntoday: heute\nToday: Heute\nToDo: ToDo\nToDo-template-title: ToDo Item\nToDo-template-text: Motivation: Description * Tests/Acceptance criteria\nThis-week: Diese Woche\nTomorrow: Morgen\nUuups: Hoppla!\n<!-- comments: Kommentare -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121525",
"title": "$:/plugins/telmiger/lib/languages/de-CH",
"tags": "Translation ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20180316064456612"
},
"$:/plugins/telmiger/listreveal/icon": {
"created": "20170224201850969",
"text": "<svg class=\"tc-image-button telmiger-icon\" viewBox=\"0 0 128 128\" xmlns=\"http://www.w3.org/2000/svg\" fill-rule=\"evenodd\" aria-labelledby=\"title\"><path class=\"circle\" d=\"M64 2C30 2 2 29.753 2 64c0 34.235 27.753 62 62 62s62-27.752 62-62c0-34.247-27.779-62-62-62z\"/><path class=\"t\" d=\"M100.41 63.254c-2.886 1.92-7.544 2.883-13.979 2.883h-8.008c-4.246 0-7.331.845-9.254 2.536-1.922 1.69-3.449 5.086-4.576 10.19 0 0-.181 1.481-.503 1.481s-.369-.877-.518-1.586a37.897 37.897 0 0 0-.721-2.754c-.631-2.137-1.262-3.753-1.894-4.847-.764-1.359-1.727-2.452-2.889-3.28-1.162-.83-2.49-1.326-3.985-1.492l-2.092-.248H41.73c-6.144 0-10.711-.962-13.7-2.884-4.976-3.159-7.649-9.129-8.02-17.91-.03-.706.003-1.351.132-2.171h.585c.399 3.975 3.679 7.048 6.086 9.219 2.408 2.172 6.269 3.258 11.581 3.258h9.313c5.347 0 9.257 1.226 11.731 3.68 2.231 2.213 3.701 5.68 4.406 10.4.076.511.03.736.178.736.149 0 .11-.256.17-.783.713-6.122 3.085-10.219 7.117-12.294 2.487-1.292 6.434-1.906 11.841-1.839l6.368.1c4.311.066 7.942-.788 10.893-2.56 2.953-1.773 6.447-5.079 6.844-9.917h.595c.183.478.16 1.576.127 2.333-.371 8.752-2.894 14.668-7.567 17.749z\"/></svg>\n<style>\n.telmiger-icon .circle { fill: #e2001a }\n.telmiger-icon .t { fill: #fff }\n</style>",
"title": "$:/plugins/telmiger/listreveal/icon",
"tags": "",
"modified": "20180303181038673"
},
"$:/plugins/telmiger/listreveal/readme": {
"created": "20170222172249206",
"creator": "Thomas Elmiger",
"text": "!! Good to Know\n\nA list of things you should know about this plugin. Click the ellipsis button on the right […] to see more.\n\nUse this button to enable editing: <<listrevealBtnEdit>>\n\n<p> </p>\n\n<$set name=\"listfilter\" value=\"\"\"[all[shadows]prefix[0]sort[title]]\"\"\">\n<ul class=\"te-list\">\n<$list filter=<<listfilter>>>\n<$set name=\"tidTitle\" value={{!!title}}>\n <li class=\"todo-item te-flex-item\">\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-left\">\n <$link to={{!!title}}><$view field=\"title\"/></$link>\n </span>\n </span>\n <span class=\"te-flex-item te-flex-half-full\">\n <span class=\"te-flex-item te-flex-content te-flex-right\">\n <<teBtnEditShowModified>>\n<$wikify name=\"cl\" text=<<telang close>> >\n<$wikify name=\"tt\" text=<<telang Details>> >\n <$macrocall $name=\"listrevealButton\" title=<<tidTitle>> tooltip=<<tt>> close=<<cl>>/>\n</$wikify>\n</$wikify>\n </span>\n </span>\n<$wikify name=\"tpl\" text=<<telang date-created-tmpl>> >\n <$macrocall $name=\"listrevealContent\" title=<<tidTitle>> datetime=<<tpl>>/>\n</$wikify>\n </li>\n</$set>\n</$list>\n</ul>\n</$set>\n\n!! Version history\n\n!!! Version 0.3.30\n\n* Fixed a bug on node.js, where ~$:/state tiddlers disappear on reload.\n* Search fields do no longer get automatic focus – configurable via listrevealSearch’s parameter (id:\"search\",focus:''\"yes\"'')\n* Plugin support tab and other minor improvements.",
"title": "$:/plugins/telmiger/listreveal/readme",
"tags": "Listreveal",
"modified": "20190310223502084",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/listreveal/tags": {
"created": "20160915193628399",
"creator": "Thomas Elmiger",
"text": "\\define lrTaglist(tiddler:\"_false_\")\n<$vars target=\"\"\"$tiddler$\"\"\">\n<div class=\"lr-tag-popup\">\n<$set name=\"add-tags-filter\" value=\"\"\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagsinlist]sort[]] -[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]]\"\"\">\n<$set name=\"has-add-tags\" value=\"\"\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagsinlist]sort[]] -[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]] +[limit[1]]\"\"\">\n<$list filter=<<has-add-tags>>>\n<<telang Add-tags-from-the-list>>\n<$wikify name=\"tt\" text=<<telang Add-tag>>>\n<ul class=\"lr-tags-add\">\n<$list filter=<<add-tags-filter>> variable=\"tag\">\n<li>\n <$macrocall $name=\"teBtnTagAddRemove\" btntext=<<tag>> add=<<tag>> tiddler=<<target>> tooltip=<<tt>>/> \n</li>\n</$list>\n</ul>\n</$wikify>\n</$list>\n</$set>\n</$set>\n<$set name=\"remove-tags-filter\" value=\"\"\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]sort[]] -[[$(exclude)$]]\"\"\">\n<$set name=\"has-remove-tags\" value=\"\"\"[list[$:/temp/lr-tags-$tiddler$!!lr-tagstoremove]sort[]] -[[$(exclude)$]] +[limit[1]]\"\"\">\n<$list filter=<<has-remove-tags>>>\n<<telang Remove-tags?>> \n<$wikify name=\"tt\" text=<<telang Are-you-sure?>>>\n<ul class=\"lr-tags-remove\">\n<$list filter=<<remove-tags-filter>> variable=\"tag\">\n<li>\n <$macrocall $name=\"teBtnTagAddRemove\" btntext=<<tag>> remove=<<tag>> tiddler=<<target>> tooltip=<<tt>>/> \n</li>\n</$list>\n</ul>\n</$wikify>\n</$list>\n</$set>\n</$set>\n<hr/>\n<<lrTagPicker \"\"\"$tiddler$\"\"\">>\n</div>\n</$vars>\n\\end\n\n\\define lrTagPicker(target)\n<div class=\"tc-edit-tags\">\n<$vars lr-tag-picker-actions=\"\"\"<$action-listops\n\t$tiddler=<<currentTiddler>>\n\t$field=\"tags\"\n\t$subfilter=\"[<tag>]\"\n/>\n<$action-setfield $tiddler=\"$(popstate)$\" $field=\"text\" $value=\"\"/>\n\"\"\">\n<$tiddler tiddler=\"\"\"$target$\"\"\">\n<$macrocall $name=\"tag-picker\" actions=<<lr-tag-picker-actions>>/>\n</$tiddler>\n</$vars>\n</div>\n\\end\n\n\\define teBtnTagAddRemove(btntext,add:\"_false_\",remove:\"_false_\",tooltip,class:\"\",tiddler:\"_false_\")\n<$vars tip=\"\"\"$tip$\"\"\" tiddler=\"\"\"$tiddler$\"\"\" btnclass=\"te-popup-action $class$\" add=\"\"\"$add$\"\"\" remove=\"\"\"$remove$\"\"\">\n<$set name=\"actiontid\" filter=\"[<tiddler>!prefix[_false_]]\" value=<<tiddler>> emptyValue=<<currentTiddler>>>\n<$set name=\"subfilter\" filter=\"[<add>!prefix[_false_]]\" value=\"[[$add$]]\" emptyValue=\"-[[$remove$]]\">\n<$wikify name=\"at\" text=<<actiontid>>>\n<$button class=<<btnclass>> tooltip=\"\"\"$tooltip$\"\"\">\n<<teTimestampPause>>\n<$action-listops $tiddler=<<at>> $field=\"tags\" $subfilter=<<subfilter>>/>\n<<teTimestampResume>>\n<$action-setfield $tiddler=\"\"\"$(popstate)$\"\"\" $field=\"text\" $value=\"\"/>\n <$text text=\"\"\"$btntext$\"\"\">\n</$button>\n</$wikify>\n</$set>\n</$set>\n</$vars>\n\\end\n\n\\define lrBtnAddTags(tiddler,class:\"\")\n<$vars tiddler=\"\"\"$tiddler$\"\"\" temptags=\"$:/temp/lr-tags-$tiddler$\">\n<$wikify name=\"tt\" text=<<telang Manage-tags>>>\n<$wikify name=\"tagfilter\" text=\"<<listfilter>> +[tags[]sort[]]\">\n<$button popup=<<qualify \"$:/state/popup/lr-tags-$tiddler$\">> class=\"\"\"te-btn-action addtag $class$\"\"\" tooltip=<<tt>> >\n<$action-listops $tiddler=<<temptags>> $field=\"lr-tagsinlist\" $filter=<<tagfilter>>/>\n<$action-listops $tiddler=<<temptags>> $field=\"lr-tagstoremove\" $filter=\"[<tiddler>tags[]]\"/>\n<$action-setfield $tiddler=<<temptags>> text=<<lrTaglist \"\"\"$tiddler$\"\"\">>/>\n{{$:/core/images/tag-button}}\n</$button>\n</$wikify>\n</$wikify>\n\\end\n\n\\define lrTagsPopup(tiddler)\n<$set name=\"popstate\" value=<<qualify \"$:/state/popup/lr-tags-$tiddler$\">>>\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-popup-handle\" state=<<popstate>> type=\"nomatch\" text=\"\" default=\"\">\n{{$:/temp/lr-tags-$tiddler$}}\n</$reveal>\n</$set>\n\\end\n\n\\define lrBtnTags(class:\"\")\n<span class=\"lr-flex-wrapper\">\n<$wikify name=\"tiddler\" text=<<currentTiddler>>>\n <$macrocall $name=\"lrBtnAddTags\" tiddler=<<tiddler>> class=\"\"\"$class$\"\"\"/>\n <$macrocall $name=\"lrTagsPopup\" tiddler=<<tiddler>>/>\n</$wikify>\n</span>\n\\end\n\n\\define listreveal-tags(exclude:\"\")\n<$vars exclude=\"\"\"$exclude$\"\"\">\n<span class=\"listreveal-tags te-flex-item\">\n<<lrBtnTags muted>>\n<span class=\"te-tags\">\n<div class=\"tc-tags-listreveal\"><$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\" template=\"$:/plugins/telmiger/listreveal/templates/tag\"/>\n</div>\n</span>\n</span>\n</$vars>\n\\end\n\n<!-- !! Listreveal Tags\n\n* lrTaglist\n** show a popup where tags can be added or removed\n** exclude one tag (e.g. master tag of your list)\n* lrTagPicker(tiddler)\n** add tags directly to a target tiddler (e.g. from view mode)\n* teBtnTagAddRemove\n** show a button to add/remove a tag from a tiddler \n** does not update the modification date as of TW 5.1.14\n* lrBtnTags\n** lrBtnAddTags: show the button (and save the tags that could be added/removed)\n** lrTagsPopup: reveal or hide the popup\n* listreveal-tags\n** put this in your revealed section to show the button and the existing tags\n** muted tag design\n** open-all button\n\n-->",
"title": "$:/plugins/telmiger/listreveal/tags",
"tags": "$:/tags/Macro ToDoComponents Listreveal",
"modifier": "Thomas Elmiger",
"modified": "20181014062117274",
"datetime": ""
},
"$:/plugins/telmiger/lib/telements.css": {
"text": "/* library of reusable (t)elements */\n\n/* header */\n\nheader {\n\tbackground-color: <<colour notification-background>>;\n\tpadding: 10px;\n\tmargin: 0 0 0 -10px;\n}\n\n/* te-summary as seen in extract macro */\n\n.te-summary {\n\twidth: 100%;\n\tbackground-color: <<colour code-background>>;\n}\n\n/* flexbox layout */\n\n.te-flex-content {\n\twidth: 100%;\n}\n\n.te-flex-item {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\talign-items: flex-start;\n\theight: auto;\n}\n\n.te-flex-half-full {\n\tflex-grow: 1;\n}\n\n.te-flex-left {\n\tjustify-content: flex-start;\n}\n\n.te-flex-right {\n\tjustify-content: flex-end;\n}\n\nh2 .te-flex-right, h2 .te-flex-right, h3 .te-flex-right {\n\tjustify-content: flex-end;\n\twidth: 33%;\n\tmax-width: 66%;\n}\n\n.te-tiddler-info {\n\torder: 90;\n\tmargin-top: 2rem;\n}\n\n\n/* lists */\n\n.te-list {\n\tlist-style: outside none none;\n\tmargin: 0 0 1rem 0;\n\tpadding: 0;\n\twidth: 100%;\n\tmax-width: 100%;\n}\n\n.te-list > li {\n\tline-height: 1.5;\n}\n\n.te-list > li {\n\tborder-top: 1px solid; \n\tborder-color: <<colour tab-border>>;\n}\n\n.te-list > li:last-of-type {\n\tborder-bottom: 1px solid; \n}\n\n\n.te-list .te-flex-item a.tc-tiddlylink-resolves {\n\tflex-grow: 3;\n\tmax-width: 100%;\n}\n\n.te-list-icon {\n\twidth: 1em;\n\theight: 1em;\n\tmargin-right: .5rem;\n}\n\n\n/* buttons */\n/* big buttons */\n\nbutton.te-btn-big, .te-btn-big button {\n\tborder-radius: 0;\n\tmargin: 0;\n\tpadding: 0;\n\tbackground: none;\n\tdisplay: inline-block;\n\tposition: relative;\n vertical-align: middle;\n\ttop: -4px;\n\twidth: 3rem;\n\theight: 2rem;\n\tmargin-left: .5rem;\n\tborder-radius: .25rem;\n\tborder: 1px solid;\n\tborder-color: rgba(0, 0, 0, 0.4);\n\tbackground-color: rgba(0, 0, 0, 0.05);\n\tfont-size: 1.25rem;\n\ttext-align: center;\n}\n\nbutton.te-btn-big:hover,\nspan.te-btn-big button:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n/* standard save button */\n\nbutton.te-btn-save svg {\n\theight: 1.25rem;\n top: -1px;\n position: relative;\n}\n\n/* color overlay hack */\n\nbutton.te-btn-big.te-create::before {\n background-color: <<colour download-background>>;\n content: \"\";\n position: absolute;\n top: 0; \n left: 0;\n width: 100%; \n height: 100%; \n opacity: 0.33; \n}\nbutton:hover.te-btn-big.te-create::before {\n opacity: 0.66; \n}\n\n.te-btn-big.unlocked {\n background-color: rgba(0, 0, 0, 0.1);\n}\n.te-btn-big.unlocked:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.te-btn-big.te-create {\n background-color: unset;\n}\n.te-btn-big .tc-image-locked-padlock, \n.te-btn-big .tc-image-unlocked-padlock {\n margin-bottom: 3px;\n}\n.te-btn-big .tc-image-new-button {\n margin-bottom: 2px;\n margin-top: 1px;\n}\n.te-btn-big .tc-image-unfold, \n.te-btn-big .tc-image-fold {\n margin-top: 3px;\n}\n\n\n/* action buttons */\n\nbutton.te-btn-action {\n\tborder: none;\n\tmargin: 0;\n\tpadding: 0;\n\tbackground: none;\n\tfont-size: 1em;\n\tborder-radius: .25rem;\n\theight: 1.66rem;\n\twidth: 1.66rem;\n\tmargin-right: .25rem;\n}\n.te-btn-action svg {\n fill: <<colour page-controls-foreground>>;\n}\n.te-btn-action.muted svg {\n opacity:0.4;\n}\n.te-list .te-btn-action.muted svg {\n opacity:0.4;\n}\n\n.te-list .te-btn-action:hover svg {\n opacity:0.6;\n}\n\n.te-btn-action.addtag svg {\n height: 1.5em;\n width: 1.5em;\n}\n\n.te-btn-action.te-edit svg {\n height: 1.25em;\n width: 1.25em;\n margin-bottom: -2px;\n}\n\n.te-btn-action.te-filter {\n\tposition: absolute;\n\tleft: calc(50% - 1rem);\n}\n\n.te-btn-action.te-filter:not(.muted) svg {\n\tfill: <<colour dirty-indicator>>;\n}\n\n.te-btn-action.te-prio {\n background-color: #777;\n width: calc(1.66rem - 6px);\n height: calc(1.66rem - 6px);\n border: 3px solid white;\n box-sizing: content-box;\n border-radius: .25rem;\n line-height: 1;\n}\n.te-btn-action.te-prio.prio2 {\n background-color: #999;\n}\n.te-btn-action.te-prio.prio3 {\n background-color: #bbb;\n}\n.te-btn-action.te-prio.prio4 {\n background-color: #ddd;\n}\n\n\n/* action button in te-tip */\n\n.te-tip .te-btn-action {\n margin-left: 0.4em;\n padding-bottom: 25px;\n}\n\n\n/* delete button and delete popup */\n\n.te-btn-delete svg.tc-image-delete-button {\n width: 1.1em;\n height: 1.45em;\n}\n\n\n/* popup action buttons */\n\n.te-popup-action {\n background: none;\n border: none;\n padding: 0;\n}\n\n/* date picker button */\n\n.te-btn-action.todo-deadline {\n\tdisplay: inline-block;\n\ttext-align: center;\n\twidth: 1.66rem;\n\theight: 1.66rem;\n\tmargin-right: .25rem;\n\tborder-radius: .25rem;\n}\n\n.te-btn-action.todo-deadline:hover {\n\tcursor: pointer;\n}\n.te-btn-action.todo-deadline span svg {\n\theight: 1.25rem;\n\twidth: 1.25rem;\n\tmargin-top: 3px;\n\topacity: 0.6;\n}\n\n/* label and icons */\n.te-btn-label {\n font-size: 0;\n height: 1px;\n overflow: hidden;\n display: block;\n}\n.te-btn-icon {\n display: block;\n}\nbutton:hover .te-btn-icon {\n display: none;\n}\n.te-btn-hovericon {\n display: none;\n}\nbutton:hover .te-btn-hovericon {\n display: block;\n}\n\n/* urgent indicators */\n\n.te-btn-action .urgent {\n display: table-cell;\n position: relative;\n margin-left: 0;\n left: 0em;\n top: -10px;\n font-size: 0.75em;\n line-height: 1.25;\n padding: 0 0.1em 0 0.1em;\n max-width: 3.25em;\n}\n\n.urgent.late {\n background-color: red;\n color: white;\n}\n.urgent.today {\n background-color: yellow;\n color: red;\n}\n\n\n/* priority buttons */\n\n.te-btn-action.te-prio svg {\n position: relative;\n height: 1.65rem;\n width: 1.5rem;\n opacity: 0;\n margin-top: -2.25rem;\n}\n.te-btn-action.te-prio:hover svg {\n opacity: 0.1;\n}\n.te-btn-action .te-prionr {\n\tposition: relative;\n\tcolor: #fefefe;\n\tfont-size: 1.25rem;\n\tfont-weight: 600;\n}\n.te-btn-action.te-prio.prio1 .te-prionr, .te-btn-action.te-prio.prio2 .te-prionr,\n.te-btn-action.te-prio.prio3 .te-prionr {\n color: #eee;\n}\n\n.te-prio-list {\n\tlist-style: none;\n\tposition: absolute;\n\tz-index: 25;\n\tborder: 1px solid;\n\tborder-radius: 4px;\n\tborder-color: <<colour tab-border>>;\n\tbackground-color: <<colour tab-background>>;\n}\n.te-list .te-prio-list {\n\twidth: 2.75rem;\n\tmargin: 1.55rem 0 0 -2.5rem;\n\tpadding: .5rem .5rem .25rem .5rem;\n}\n.te-list .te-prio-list li {\n\tline-height: 1;\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.te-btn-reveal.tc-reveal {\n height: 1em;\n}\n\n.te-linkbutton {\n color: <<colour tiddler-link-foreground>>;\n background-color: transparent;\n border: 0;\n}\n\n/* checked icon */\n\n.te-item-checked svg {\n position: relative;\n top: .25rem;\n margin-right: .5rem;\n}\n\n\n/* text */\n\n.te-text {\n margin: 0 0.5rem 0 0.5rem;\n}\n.te-text.right {\n margin-left: 1em;\n margin-right: 0.5em;\n right: 6em;\n}\n\n\n/* popup tip */\n\n.te-tip {\n position: absolute;\n display: none;\n font-size: 0.875rem;\n line-height: 1.5;\n white-space: nowrap;\n padding: 0.1rem 0.5rem 0.2rem 0.5rem;\n border-radius: 3px;\n\tcolor: <<colour notification-border>>;\n\tborder-color: <<colour notification-border>>;\n\tbackground-color: <<colour notification-background>>;\n}\n\n.te-btn-big:hover .te-tip {\n margin-left: -8em;\n margin-top: -1.66em;\n z-index: 500;\n display: unset;\n}\n\n.te-btn-action:hover .te-tip,\n.te-created:hover .te-tip,\n.te-modified:hover .te-tip {\n margin-left: -0.4em;\n margin-top: -1.66rem;\n z-index: 500;\n display: unset;\n}\n\na:hover .te-tip,\n.te-text:hover .te-tip {\n display: inline-grid;\n margin-left: -0.8em;\n margin-top: -0.75em;\n z-index: 100;\n text-align: center;\n}\n\n.te-tip:hover span .te-tip, \n.te-text:hover .te-tip button .te-tip, \n.te-tip:hover button .te-tip {\n display: none;\n}\n.te-tip:hover span:hover .te-tip, \n.te-tip:hover button:hover .te-tip {\n margin-top: -1.25em;\n z-index: 101;\n display: unset;\n}\n.te-tip span span svg {\n margin-top: 0.25em;\n}\n\n/* meta info */\n\n.te-created, .te-modified {\n position: relative;\n}\n\n/* images */\n\n.te-created svg, .te-modified svg {\n max-height: 1.25em;\n opacity: 0.6;\n margin-bottom: -0.2em;\n}\n\n/* very small screens */\n\n@media (max-width: 500px) {\n .te-btn-action {\n margin: 0.3em 0.8em 0 0.5em;\n }\n}",
"title": "$:/plugins/telmiger/lib/telements.css",
"tags": "$:/tags/Stylesheet ToDoComponents Listreveal",
"modifier": "Thomas Elmiger",
"modified": "20181223102146455",
"creator": "Thomas Elmiger",
"created": "20160816210925818"
},
"$:/plugins/telmiger/lib/telements-print.css": {
"text": "/* print optimisation for (t)elements */\n\n@media print {\n\n.te-noprint, \n.te-btn-action, .te-btn-action.muted, \n.te-btn-big,\n.te-edit, .te-to-top { \n display: none;\n}\n\n/* header */\n\nheader {\n background-color: transparent;\n}\n\n/* show buttons? reset display */\n/* big buttons */\n\n/* action buttons */\n\n.te-btn-action.todo-deadline, .te-btn-action.te-prio {\n display: initial;\n}\n\n.te-btn-action.te-prio.prio1 span.te-prionr, \n.te-btn-action.te-prio.prio1 {\n color: #efefef;\n}\n\n.te-btn-action.te-prio span.te-prionr, .te-btn-action.te-prio.prio2 span.te-prionr, \n.te-btn-action.te-prio.prio3 span.te-prionr, .te-btn-action.te-prio.prio4 span.te-prionr {\n color: #ddd;\n}\n\n.te-btn-action.te-prio {\n background-color: #ddd;\n border: 3px solid black;\n}\n.te-btn-action.te-prio.prio2 {\n background-color: #bbb;\n}\n.te-btn-action.te-prio.prio3 {\n background-color: #999;\n}\n.te-btn-action.te-prio.prio4 {\n background-color: #777;\n}\n\n/* date picker button */\n\n.te-btn-action.deadline span svg {\n opacity: 0.66;\n}\n\n/* text */\n\n/* meta info */\n\n/* images */\n\n.te-created svg, .te-modified svg {\n opacity: 0.6;\n}\n\n\n/* **** END of print optimisation **** */\n}\n",
"title": "$:/plugins/telmiger/lib/telements-print.css",
"tags": "$:/tags/Stylesheet Listreveal ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20171105202618688",
"creator": "Thomas Elmiger",
"created": "20170201215840974"
},
"$:/plugins/telmiger/listreveal/lr": {
"text": "\\define listrevealButton(title,tooltip:\"Details\",close:\"Close\",class:\"\")\n<$vars showclass=\"\"\"listreveal-btn-show te-noprint $class$\"\"\" hideclass=\"\"\"listreveal-btn-hide te-noprint $class$\"\"\">\n<$set name=\"qualstate\" value=<<qualify \"\"\"$:/config/listreveal_$title$_\"\"\">> >\n<$reveal type=\"nomatch\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal\">\n <$button set=<<qualstate>> setTo=\"visible\" class=<<showclass>> tooltip=\"$tooltip$\">…</$button></$reveal>\n<$reveal type=\"match\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal\">\n <$button class=<<hideclass>> tooltip=\"$close$\">×<$action-deletetiddler $tiddler=<<qualstate>> />\n </$button></$reveal>\n</$set>\n</$vars>\n\\end\n\n\\define listrevealContent(title,mode:\"block\",datetime:\"YYYY-MM-DD\",state:\"_false_\",tagExclude:\"\")\n<$vars state=\"\"\"$state$\"\"\">\n<$set name=\"qualstate\" filter=\"[<state>!prefix[_false_]]\" value=<<state>> emptyValue=<<qualify \"\"\"$:/config/listreveal_$title$_\"\"\">> >\n<$reveal type=\"match\" state=<<qualstate>> text=\"visible\" animate=\"yes\" class=\"listreveal-open\">\n<<listreveal-tags $tagExclude$>>\n<span class=\"listreveal-content\">\n<$reveal type=\"nomatch\" state=\"$:/config/listreveal-mode\" text=\"edit\">\n <$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\"/>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/listreveal-mode\" text=\"edit\">\n <$edit tiddler=\"\"\"$title$\"\"\" class=\"listreveal-edit-text\"/>\n</$reveal>\n</span>\n <$macrocall $name=\"listreveal-meta\" tiddler=\"\"\"$title$\"\"\" datetime=\"\"\"$datetime$\"\"\"/>\n</$reveal>\n</$set>\n</$vars>\n\\end\n\n\\define listreveal-meta(tiddler,datetime)\n<span class=\"listreveal-meta te-flex-item\">\n <span class=\"te-created\">{{$:/core/images/file}}<span class=\"te-tip\"><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"creator\"/></span><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"created\" format=\"date\" template=\"\"\"$datetime$\"\"\"/></span>\n <span class=\"te-separator\"></span>\n<<listreveal-showmodified \"\"\"$tiddler$\"\"\" \"\"\"$datetime$\"\"\">>\n\\end\n\n\\define listreveal-showmodified(tiddler,datetime)\n<span class=\"te-modified\">{{$:/core/images/edit-button}}<span class=\"te-tip\"><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"modifier\"/></span><$view tiddler=\"\"\"$tiddler$\"\"\" field=\"modified\" format=\"date\" template=\"\"\"$datetime$\"\"\"/></span>\n\\end\n\n\\define listrevealBtnEdit(class:\"\")\n<$reveal type=\"nomatch\" state=\"$:/config/listreveal-mode\" text=\"edit\">\n<$wikify name=\"tt\" text=<<telang Switch-to-edit-mode>>>\n<$button set=\"$:/config/listreveal-mode\" setTo=\"edit\" tooltip=<<tt>> class=\"te-btn-big locked $class$\">{{$:/core/images/locked-padlock}}</$button>\n</$wikify>\n</$reveal><$reveal type=\"match\" state=\"$:/config/listreveal-mode\" text=\"edit\">\n<$wikify name=\"tt\" text=<<telang Switch-to-safe-mode>>>\n<$button set=\"$:/config/listreveal-mode\" setTo=\"locked\" tooltip=<<tt>> class=\"te-btn-big unlocked $class$\"><$action-sendmessage $message=\"tm-auto-save-wiki\"/><span class=\"tc-dirty-indicator\">{{$:/core/images/unlocked-padlock}}</span></$button>\n</$wikify>\n</$reveal>\n\\end\n\n\n<!-- !! Listreveal Plugin Macros\n\n!!! Macros to reveal listed tiddlers\n* listrevealButton(title,tooltip:\"Details\",close:\"Close\",class:\"\")\n** produce a button to show/hide tiddler content\n*** parameters: tooltips for show/hide actions and a CSS-class\n* listrevealContent(title,mode:\"block\",datetime:\"YYYY-MM-DD\",state:\"_false_\")\n** show the content of a listed tiddler\n** use the state parameter if you don’t want tu use the standard button\n*** set the state to //visible// to show tiddler content \n\n!!! Optional macro\n* listrevealBtnEdit(class:\"\")\n** produce a button to \n*** put all listed tiddlers in edit mode (wikitext editor)\n*** lock the tiddlers and auto-save the wiki after editing\n\n!!! Helper macros for listrevealContent\n* listreveal-meta(tiddler,datetime)\n** show meta information of a tiddler: dates for created/modified and creator/modifier (on hover)\n*** datetime: a [[date format|http://tiddlywiki.com/#DateFormat]] string \n* listreveal-showmodified(tiddler,datetime)\n** show modified timestamp and modifier name (on hover)\n*** datetime: a [[date format|http://tiddlywiki.com/#DateFormat]] string \n\n-->",
"title": "$:/plugins/telmiger/listreveal/lr",
"tags": "$:/tags/Macro Listreveal",
"modifier": "Thomas Elmiger",
"modified": "20180429102515960",
"datetime": "",
"creator": "Thomas Elmiger",
"created": "20160811053433681"
},
"$:/plugins/telmiger/listreveal/lr.css": {
"text": "/* listreveal styles */\n/* === optimised for: ul class=\"te-list\" and li class=\"te-flex-item\" === */\n\n/* list RENAME listreveal-list? */\n\nul.te-list > li {\n\tpadding-top: calc(.125rem + 1px);\n\tpadding-left: .5rem;\n\tpadding-right: .25rem;\n\tpadding-bottom: 0;\n\tcolor: <<colour foreground>>;\n\tbackground-color: transparent;\n}\n\nul.te-list > li > * {\n\tpadding-bottom: 1px;\n}\n\nul.te-list > li:hover {\n\tbackground-color: rgba(0, 0, 0, 0.05);\n}\n\n\n/* link hack for Safari Mobile: */\n\n.te-list .te-flex-item a.tc-tiddlylink-resolves { \n\tword-break: break-all;\n}\n\n@media (min-width: 28rem) {\n\t.te-list .te-flex-item a.tc-tiddlylink-resolves { \n\t\tword-break: inherit;\n\t}\n}\n\n\n/* buttons */\n\n.te-list .listreveal-btn-show {\n\tborder: 1px solid;\n\tborder-radius: 0;\n\tborder-color: rgba(0, 0, 0, 0.5);\n\tpadding: 0;\n\tbackground: none;\n\tmargin: 0 0.125rem 0.1rem 0.5rem;\n\theight: 1.5rem;\n\twidth: 2.35rem;\n\tcolor: <<colour foreground>>;\n\tbackground-color: rgba(0, 0, 0, 0.05);\n}\n\n.listreveal-btn-show:hover {\n\tbackground-color: rgba(0, 0, 0, 0.1);\n}\n\n.te-list .listreveal-btn-hide {\n\tborder: 1px solid;\n\tborder-bottom-width: 0;\n\tborder-radius: 0;\n\tborder-color: rgba(0, 0, 0, 0.5);\n\tpadding: 0;\n\tbackground: none;\n\tmargin: 0 0.125rem 0 0.25rem;\n\twidth: 2.60rem;\n\theight: 1.66rem;\n\tcolor: <<colour foreground>>;\n\tbackground-color: rgba(0, 0, 0, 0.03);\n}\n\n.listreveal-btn-hide:hover {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n\n/* tiddler content */\n\n.listreveal-open {\n\tmargin-left: -.5rem;\n\tmargin-right: -.25rem;\n\twidth: calc(100% + .75rem);\n\theight: auto; \n\tmargin-bottom: -1px;\n\ttransition: none 0s ease 0s;\n}\n\n.listreveal-content {\n\tdisplay: block;\n\tcolor: <<colour foreground>>;\n\tborder: none;\n\tline-height: 1.5;\n padding: 1rem;\n\t-webkit-animation: expanditem 1s ease-in-out 0s running;\n\tanimation-name: expanditem;\n\tanimation-duration: 1s;\n\tanimation-timing-function: ease-in-out;\n\tanimation-delay: 0s;\n\tanimation-iteration-count: 1;\n\tanimation-direction: normal;\n}\n\n\n/* edit mode */\n\n.listreveal-edit-text {\n\twidth: 100%;\n\tborder: 1px solid gray;\n\tpadding: 1em;\n}\n\n/* edit caption */\n\n.lr-set-caption input {\n width: 20rem;\n}\n\n/* separate colour for title than caption */\n\na .lr-is-title {\n color: <<colour external-link-foreground>>;\n}\n\n\n/* meta info */\n\n.listreveal-tags, .listreveal-meta {\n font-size: 0.875rem;\n\tborder-top: 0;\n\tborder-bottom: 0;\n\tcolor: <<--black .5>>;\n\tfill: <<--black .5>>;\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n\tpadding: .25rem;\n}\n.listreveal-tags {\n\tborder-top: 1px solid;\n\tborder-bottom: 1px solid;\n\tborder-color: rgba(0, 0, 0, 0.5);\n\tpadding-bottom: 0;\n}\n.listreveal-meta {\n\tborder-top: 1px solid;\n\tborder-bottom: none;\n\tborder-color: rgba(0, 0, 0, 0.5);\n\tpadding-right: 0.5rem;\n}\n.listreveal-meta svg {\n\tmargin-right: 0.25rem;\n}\n\n\n/* tags info */\n\n.listreveal-tags .te-tags span.tc-tag-label:hover {\n\t\n}\n\n.listreveal-tags .te-tags span.tc-tag-label {\n\n}\n\n.listreveal-tags .tc-block-dropdown {\n position: absolute;\n padding: .75rem .5rem 0 .5rem;\n margin-top: -.25rem;\n margin-right: 1rem;\n max-width: 100%;\n}\n\n.lr-tag-popup {\n margin-left: 1em;\n}\n.lr-tag-popup ul {\n margin: 0;\n padding: 0 1em 1em 0;\n line-height: 1.75;\n list-style: none;\n font-weight: 600;\n}\n.lr-tag-popup ul li:hover{\n color: <<colour tiddler-link-foreground>>;\n}\n.lr-tag-popup ul.lr-tags-remove li:hover{\n color: <<colour dirty-indicator>>;\n}\n.lr-tags-add li button::before {\n content: \"+ \";\n font-size: 1.2em;\n color: <<colour tiddler-link-foreground>>;\n}\n.lr-tags-remove li button::before {\n content: \"×  \";\n font-size: 1.2em;\n color: <<colour dirty-indicator>>;\n}\n\n@media (max-width: 960px) {\n}\n\n\n/* listreveal animation */\n\n@keyframes expanditem {\n 0% { \n height: 0;\n opacity: 0;\n }\n 80.0% {\n height: 60%;\n opacity: 0.9;\n }\n 100.0% {\n height: 100%;\n opacity: 1;\n }\n}\n\n@-webkit-keyframes expanditem {\n 0% { \n height: 0;\n opacity: 0;\n }\n 100.0% {\n height: 100%;\n opacity: 1;\n }\n}",
"type": "text/vnd.tiddlywiki",
"title": "$:/plugins/telmiger/listreveal/lr.css",
"tags": "$:/tags/Stylesheet Listreveal ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20181222162830510",
"creator": "Thomas Elmiger",
"created": "20160816052415397"
},
"$:/plugins/telmiger/lib/icons/stopwatch-empty.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" fill=\"currentColor\" class=\"te-stopwatch-button tc-image-button\">\n<path d=\"M64.075 11.522c-32.17 0-58.25 26.082-58.25 58.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S96.25 11.52 64.076 11.52zm0 100.5c-23.336 0-42.25-18.914-42.25-42.25 0-23.33 18.914-42.25 42.25-42.25 23.337 0 42.25 18.92 42.25 42.25 0 23.336-18.913 42.25-42.25 42.25zM55.53 10.022c-2.763 0-5-2.24-5.002-5-.003-2.756 2.24-5 5-5h16.988c2.76 0 5 2.24 5 5 .005 2.757-2.24 5-5 5H55.53z\"/>\n<path fill=\"#000\" d=\"M55 60h18v18H55z\"/>\n</svg>",
"title": "$:/plugins/telmiger/lib/icons/stopwatch-empty.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20180208225232301",
"creator": "Thomas Elmiger",
"created": "20170506112920842"
},
"$:/plugins/telmiger/lib/icons/stopwatch-stop.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" fill=\"currentColor\" class=\"te-stopwatch-button tc-image-button\">\n<path d=\"M64.075 11.522c-32.17 0-58.25 26.082-58.25 58.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S96.25 11.52 64.076 11.52zm0 100.5c-23.336 0-42.25-18.914-42.25-42.25 0-23.33 18.914-42.25 42.25-42.25 23.337 0 42.25 18.92 42.25 42.25 0 23.336-18.913 42.25-42.25 42.25zM55.53 10.022c-2.763 0-5-2.24-5.002-5-.003-2.756 2.24-5 5-5h16.988c2.76 0 5 2.24 5 5 .005 2.757-2.24 5-5 5H55.53z\"/>\n<path d=\"M64.075 35.902c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998z\"/>\n<path fill=\"#FFF\" d=\"M49 54h30v30H49z\"/>\n</svg>",
"title": "$:/plugins/telmiger/lib/icons/stopwatch-stop.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20180209212231631",
"creator": "Thomas Elmiger",
"created": "20170507053913584"
},
"$:/plugins/telmiger/lib/icons/stopwatch.svg": {
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" fill=\"currentColor\" class=\"te-stopwatch-button tc-image-button\">\n<path d=\"M64.075 11.522c-32.17 0-58.25 26.082-58.25 58.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S96.25 11.52 64.076 11.52zm0 100.5c-23.336 0-42.25-18.914-42.25-42.25 0-23.33 18.914-42.25 42.25-42.25 23.337 0 42.25 18.92 42.25 42.25 0 23.336-18.913 42.25-42.25 42.25zM55.53 10.022c-2.763 0-5-2.24-5.002-5-.003-2.756 2.24-5 5-5h16.988c2.76 0 5 2.24 5 5 .005 2.757-2.24 5-5 5H55.53z\"/>\n<path d=\"M19.41 27.178c-2.116 1.775-5.27 1.498-7.045-.613-1.772-2.11-1.498-5.27.616-7.047l9.95-8.348c2.115-1.774 5.27-1.5 7.045.618 1.775 2.108 1.498 5.27-.616 7.043l-9.95 8.348zM108.983 27.178c2.116 1.775 5.27 1.498 7.045-.613 1.772-2.11 1.498-5.27-.616-7.047l-9.95-8.348c-2.114-1.774-5.27-1.5-7.044.618-1.775 2.108-1.498 5.27.616 7.043l9.95 8.348zM71.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/>\n</svg>",
"title": "$:/plugins/telmiger/lib/icons/stopwatch.svg",
"tags": "$:/tags/Image",
"modifier": "Thomas Elmiger",
"modified": "20180209065510293",
"creator": "Thomas Elmiger",
"created": "20180209065020276"
},
"$:/plugins/telmiger/lib/entities": {
"text": "\\define ldsbra() [[\n\\define rdsbra() ]]\n\n<!-- !! Entities as Macro Definitions\n\n!!! Very short macros for use in other macros\n* ldsbra and rdsbra – left double square brackets and right //dsbra//\n\n-->",
"todo-done": "20160819011650",
"title": "$:/plugins/telmiger/lib/entities",
"tags": "$:/tags/Macro ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20170702091256635",
"creator": "Thomas Elmiger",
"created": "20170629183744936"
},
"$:/plugins/telmiger/lib/languages/da-DK": {
"created": "20170530162200369",
"creator": "BC",
"text": "ID:Dansk\n<!-- date formats: dato format starter her -->\ndate-created-tmpl: {{$:/language/Tiddler/DateFormat}}\ndate-created-tmpl: DD. MMM YYYY, kl. 0hh:0mm\ndate-deadline-tmpl: 0DD.0MM.YYYY\n<!-- titles: titler starter her -->\ntitle-Do: Nu\ntitle-Waiting: Senere\ntitle-Done: Udført\n<!-- motivation: motiverende slogans starter her -->\nMotivation-Don’t-do-it: Don’t have to do it? – Say it’s done!\nMotivation-single-task: Do the right ''one'' thing. – Then check & save.\n<!-- strings: texter starter her -->\nAdd-tag: Tilføj tag\nAdd-tags-from-the-list: Tilføj tags fra listen\nall: alle\nall-projects: alle projekter\narchive: arkiv\nAre-you-sure?: Er du sikker?\nChange-deadline: Ændre slutdato\nchange-priority: Ændre prioritet\nchange-priority-to: sæt prioritet til\nClick-to-edit-title: Klik på titlen for at redigere!\nclose: luk\nClose: Luk\ndays-back: dage tilbage\nDetails: Vis detaljer\nDo-it-again: Gør det igen\nDo-now: Udfør nu\nDone: Udført\nEdit: Redigér\nHide-list: Skjul liste\nlate: senere\nManage-tags: Tag-Manager\nMove-down: Flyt ned\nMove-up: Flyt op\nNew-ToDo-Item: Ny opgave\nno.: nr.\nNothing-to-do-?: Intet at lave? Beskriv en ny opgave med denne knap\nOpen-all: Åbn alle\nPick-a-task-: Vælg en opgave fra listen nedenunder med denne knap\nPrint-window-hint: Åbn i nyt vindue for at printe ud\nProject: Projekt\nRecycle: Genbrug\nRelax-Nothing-to-do: Slap af. Der er ikke noget at lave.\nRemove-deadline: Fjern slutdato\nRemove-tags?: Fjern tags?\nReset: Reset\nsearch: søg …\nSend-it-down: ikke endnu\nSet-deadline: Sæt slutdato\nShow-list: Vis liste\nSort-by-deadline: Sortér efter slutdato\nSort-by-modification: Sortér efter sidste ændring\nSort-by-priority: Sortér alle efter prioritet\nSort-by-title: Sortér alle efter titel\nsorted-by-deadline: sorteret efter slutdato\nsorted-by-modification: sorteret efter sidste ændring\nsorted-by-priority: sorteret efter prioritet\nsorted-by-title: sorteret efter titel\nSwitch-to-edit-mode: Slå redigering til\nSwitch-to-safe-mode: Slå redigering fra\nTake-it-up: Tag det op!\nThis-is-done: Dette er udført\nThis-week: I denne uge\ntoday: i dag\nToday: I dag\nToDo: ToDo\nToDo-template-title: Ny opgave\nToDo-template-text: Motivation: Beskrivelse * Tests/Accept kriterier\nTomorrow: I morgen\nUuups: Uuups!\n<!-- comments: Kommentarer -->\n<!-- credits: Tusind tak til Birthe for den oprindelige oversættelse! -->\n<!-- translation requires: $:/plugins/telmiger/lib/telang -->\n<!-- use translated term: <<telang term>> -->\n",
"type": "application/x-tiddler-dictionary",
"todo-done": "20160821121501",
"title": "$:/plugins/telmiger/lib/languages/da-DK",
"tags": "ToDoComponents Translation",
"modifier": "Thomas Elmiger",
"modified": "20180316064737492"
},
"$:/plugins/telmiger/lib/dates": {
"created": "20170627092117795",
"creator": "Thomas Elmiger",
"text": "\\define yearsSince(date-field:\"modified\",tiddler)\n<<yearsDiff \"\"\"$date-field$\"\"\" \"\"\"$tiddler$\"\"\">>\n\\end\n\n\\define monthsSince(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"years\" text=\"\"\"<$macrocall $name=\"yearsDiff\" date-field=<<df>> tiddler=<<tid>>/>\"\"\">\n<$wikify name=\"yearsM\" text='<$macrocall $name=\"rpn\" a=<<years>> b=12 operation=\"*\"/>'>\n<$wikify name=\"months\" text=\"\"\"<$macrocall $name=\"monthsDiff\"date-field=<<df>> tiddler=<<tid>>/>\"\"\">\n<$macrocall $name=\"rpn\" a=<<yearsM>> b=<<months>>/>\n</$wikify></$wikify></$wikify></$vars>\n\\end\n\n\\define daysSince(date-field:\"modified\",tiddler)\n<<daysDiff $date-field$ \"\"\"$tiddler$\"\"\">>\n\\end\n\n\\define hoursSince(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"days\" text=\"\"\"<$macrocall $name=\"daysSince\" date-field=<<df>> tiddler=<<tid>>/>\"\"\">\n<$wikify name=\"daysH\" text='<$macrocall $name=\"rpn\" a=<<days>> b=\"24\" operation=\"*\"/>'>\n<$wikify name=\"hours\" text=\"\"\"<$macrocall $name=\"hoursDiff\" date-field=<<df>> tiddler=<<tid>>/>\"\"\">\n<$macrocall $name=\"rpn\" a=<<daysH>> b=<<hours>>/>\n</$wikify></$wikify></$wikify></$vars>\n\\end\n\n\\define minutesSince(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"hours\" text=\"\"\"<$macrocall $name=\"hoursSince\" date-field=<<df>> tiddler=<<tid>>/>\"\"\"><$wikify name=\"hoursM\" text='<$macrocall $name=\"rpn\" a=<<hours>> b=\"60\" operation=\"*\"/>'><$wikify name=\"minutes\" text=\"\"\"<$macrocall $name=\"minutesDiff\" date-field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<hoursM>> b=<<minutes>>/></$wikify></$wikify></$wikify></$vars>\n\\end\n\n\\define hoursMinutesSince(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"minutes\" text=\"\"\"<$macrocall $name=\"minutesSince\" date-field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<minutes>> b=60 operation=\"/\" precision=\"f\"/> h <$macrocall $name=\"rpn\" a=<<minutes>> b=60 operation=\"%\"/> m</$wikify></$vars>\n\\end\n\n\\define minutesTo(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"minutes\" text=\"\"\"<$macrocall $name=\"minutesSince\" date-field=<<df>> tiddler=<<tid>>/>\"\"\"><$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=<<minutes>> b=\"-1\" operation=\"*\"/>'><<result>></$wikify></$wikify></$vars>\n\\end\n\n\\define hoursTo(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"hours\" text=\"\"\"<$macrocall $name=\"hoursSince\" date-field=<<df>> tiddler=<<tid>>/>\"\"\"><$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=<<hours>> b=\"-1\" operation=\"*\"/>'><<result>></$wikify></$wikify></$vars>\n\\end\n\n\\define yearsDiff(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"a\" text='<<now YYYY>>'><$wikify name=\"b\" text=\"\"\"<$macrocall $name=\"yearValue\" field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$vars>\n\\end\n\n\\define monthsDiff(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"a\" text='<<now MM>>'><$wikify name=\"b\" text=\"\"\"<$macrocall $name=\"monthValue\" field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$vars>\n\\end\n\n\\define daysDiff(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"a\" text='<<now DD>>'><$wikify name=\"b\" text=\"\"\"<$macrocall $name=\"dayValue\" field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$vars>\n\\end\n\n\\define hoursDiff(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$wikify name=\"a\" text='<<now 0hh>>'><$wikify name=\"b\" text=\"\"\"<$macrocall $name=\"hoursValue\" field=<<df>> tiddler=<<tid>>/>\"\"\"><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$vars>\n\\end\n\n\\define minutesDiff(date-field:\"modified\",tiddler)\n<$vars df=\"\"\"$date-field$\"\"\" tid=\"\"\"$tiddler$\"\"\"><$set name=\"update-everything-now\" value=<<now 0mm>>><$wikify name=\"a\" text=\"<<update-everything-now>>\"><$wikify name=\"b\" text=\"<$macrocall $name=minutesValue field=<<df>> tiddler=<<tid>>/>\"><$macrocall $name=\"rpn\" a=<<a>> b=<<b>> operation=\"-\"/></$wikify></$wikify></$set></$vars>\n\\end\n\n<!-- !! Calculations with dates\nTransform dates in TW [[Date Field Format|http://tiddlywiki.com/#Date%20Fields]]\n\nTODO: Jed Carty has better macros for similar things – build a new version based on these http://ooktech.com/jed/ExampleWikis/DateMacros/\n\nWe compare the date string in a given field with the result of the `<<now>>` macro combined with one of the selectors YYYY for years, MM for months, DD for Days, 0hh …, 0mm …, 0ss. Note the 0-prefix for values that could be zero! (They disappear and return nothing when this is missing).\n\nThis was developped for use with due dates. The macros are good enough to check if a deadline was missed or if it will be reached soon.\n\n* time since the given timestamp\n** yearsSince(date-field:\"modified\",tiddler) – tiddler defaults to current\n** monthsSince (counts also the year difference)\n** daysSince – does NOT take the month into account\n*** this would be complicated because of differing number of days in each month\n** hoursSince (counts also the days)\n*** this can result in errors when the days are in different monts\n*** we recommend to filter for days in the same month first\n** minutesSince (counts also the hours and days)\n** hoursMinutesSince – turn minutes from minutesSince back into hours and minutes \n* time to the given datestamp … – time since inverted (* -1)\n** minutesTo\n** hoursTo\n** missing: daysTo, monthsTo, yearsTo\n* Diff macros\n** yearsDiff(date-field:\"modified\",tiddler)\n** … and so on for months, days, hours, minutes\n\n\nSyntax: `<<yearsSince created>>`\n\nResult: <<yearsSince created>>\n\n-->\n",
"title": "$:/plugins/telmiger/lib/dates",
"tags": "[[ToDo Addons]] $:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20170913183802528"
},
"$:/plugins/telmiger/lib/dates-then": {
"created": "20170705203414697",
"creator": "Thomas Elmiger",
"text": "\\define yearValue(field,tiddler) <<dateValue YYYY $field$ \"\"\"$tiddler$\"\"\">>\n\\define monthValue(field,tiddler) <<dateValue MM $field$ \"\"\"$tiddler$\"\"\">>\n\\define dayValue(field,tiddler) <<dateValue DD $field$ \"\"\"$tiddler$\"\"\">>\n\\define hoursValue(field,tiddler) <<dateValue 0hh $field$ \"\"\"$tiddler$\"\"\">>\n\\define minutesValue(field,tiddler) <<dateValue 0mm $field$ \"\"\"$tiddler$\"\"\">>\n\\define secondsValue(field,tiddler) <<dateValue 0ss $field$ \"\"\"$tiddler$\"\"\">>\n\n\\define dateValue(template:\"YYYY-0MM-0DD\",field:\"modified\",tiddler) \n<$set name=\"tid\" filter=\"\"\"[field:title[$tiddler$]]\"\"\" value=\"\"\"$tiddler$\"\"\" emptyValue=<<currentTiddler>>><$view tiddler=<<tid>> field=\"\"\"$field$\"\"\" format=\"date\" template=\"\"\"$template$\"\"\"/></$set>\n\\end\n\n\n<!-- !! Macros for Dates from fields\nOutput dates from fields in TW [[Date Field Format|http://tiddlywiki.com/#Date%20Fields]]\n\n* dateValue(template:\"YYYY-0MM-0DD\",field:\"modified\",tiddler) – return a value from a date string via the view widget\n** field: where the date string is stored\n** tiddler: where the date string is stored, defaults to currentTiddler\n* yearValue(field,tiddler) – return the year\n** monthValue, dayValue, hoursValue, minutesValue, secondsValue – guess what ;–)\n\n-->\n\nSyntax: `<<hoursValue example-1>>`\n\nResult: <<hoursValue example-1>>\n\n",
"title": "$:/plugins/telmiger/lib/dates-then",
"tags": "[[ToDo Addons]] $:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20170913170219153",
"example-1": "20001231230000000"
},
"$:/plugins/telmiger/listreveal/templates/tag": {
"created": "20180315065904040",
"creator": "Thomas Elmiger",
"text": "<span class=\"tc-tag-list-item\">\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n<$wikify name=\"bg-color\" text=\"<<colour sidebar-tab-background-selected>>\">\n<$wikify name=\"fg-color\" text=\"<<colour sidebar-tab-foreground-selected>>\">\n<$macrocall $name=\"tag-pill-inner\" tag=<<currentTiddler>> icon={{!!icon}} colour=<<bg-color>> fallbackTarget={{$palette$##tag-background}} colourA=<<fg-color>> colourB=<<bg-color>> element-tag=\"$button\" element-attributes=\"\"\"popup=<<qualify \"$:/state/popup/tag\">> dragFilter='[all[current]tagging[]]' tag='span'\"\"\" actions=\"\"/>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list>\n<hr>\n<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n<!-- open-all -->\n<hr>\n<div class=\"tc-menu-list-item\">\n<$button class=\"tc-btn-invisible tc-tiddlylink tc-tiddlylink-resolves\"><$list filter=\"[all[current]tagging[]]\"><$action-navigate $to=<<currentTiddler>> /></$list><<telang Open-all>></$button>\n</div>\n<!-- /open-all -->\n</$reveal>\n</$wikify>\n</$wikify>\n</$set>\n</span>\n",
"title": "$:/plugins/telmiger/listreveal/templates/tag",
"tags": "",
"modified": "20180316210120658",
"modifier": "Thomas Elmiger"
},
"$:/plugins/telmiger/listreveal/configuration": {
"created": "20180423195037840",
"creator": "Thomas Elmiger",
"text": "!! Configuration\n\n!!! Language\n\n<table>\n <tr>\n <th align=\"left\">Choose your language</th>\n <td>\n<$select tiddler=\"$:/plugins/telmiger/lib/language\" field=\"text\">\n<$list filter=\"\"\"[all[shadows+tiddlers]removeprefix[$:/plugins/telmiger/lib/languages/]sort[]]\"\"\" variable=\"code\">\n<$wikify name=\"lang\" text=\"$:/plugins/telmiger/lib/languages/<<code>>\">\n<option value=<<lang>>><<code>></option>\n</$wikify>\n</$list>\n</$select>\n </td>\n <td>\n \tISO code (language-country)\n </td>\n </tr>\n</table>\n\nActive: {{$:/plugins/telmiger/lib/language}}\n\n---\n\n!!! Translations, date and time format\n\n# Clone one of the following language tiddlers, set a new ending for the title, e.g. …/de-foo (do not change the rest of the title): <ul>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/plugins/telmiger/lib/languages/]]\">\n<li><<currentTiddler>></li>\n</$list>\n</ul>\n\n# Adapt the [[formatting of dates and time|http://tiddlywiki.com/#DateFormat]], translate terms if desired.\n\n# Select your newly created language in the dropdown above.\n",
"title": "$:/plugins/telmiger/listreveal/configuration",
"tags": "ToDoComponents",
"modifier": "Thomas Elmiger",
"modified": "20180423200822702"
},
"$:/plugins/telmiger/listreveal/lr-search": {
"created": "20180429101307450",
"creator": "Thomas Elmiger",
"text": "\\define listrevealSearch(id:\"search\",focus:\"false\")\n<$vars tagsearchTiddler=\"$:/config/listreveal/Search/$id$\">\n<$wikify name=\"placeholder\" text=<<telang search>> >\n<div class=\"tc-search\">\n<$edit-text tiddler=<<tagsearchTiddler>> type=\"search\" tag=\"input\" focus=$focus$ placeholder=<<placeholder>> default=\"\"/>\n<$reveal state=<<tagsearchTiddler>> type=\"nomatch\" text=\"\">\n<$wikify name=\"reset\" text=<<telang Reset>> >\n<$button tooltip=<<reset>> class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=<<tagsearchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$wikify>\n</$reveal>\n</div>\n</$wikify>\n</$vars>\n\\end\n\n\\define listrevealProjectSelect(mastertag:\"ToDo\")\n<$wikify name=\"tagfilter\" text=\"\"\"<<listfilter>> +[tags[]sort[title]] -[[$mastertag$]]\"\"\">\n<div class=\"lr-project-search\">\n<$select tiddler='$:/config/listreveal/ProjectSelect/$mastertag$'>\n<option value='$mastertag$'><<telang all-projects>></option>\n<$list filter=<<tagfilter>>>\n <option><$view field='title'/></option>\n</$list>\n</$select>\n</div>\n</$wikify>\n\\end\n\n\\define resultCounter(textafter:\"\")\n<$set name=\"resultCount\" value='<$count filter=\"\"\"$(listfilter)$\"\"\"/>'>\n<span class=\"lr-search-counter\">\n{{$:/language/Search/Matches}} <small>$textafter$</small>\n</span>\n</$set>\n\\end\n\n<!-- !! Listreveal Plugin Macros\n\n!!! Helper macros for searching the list\n* listrevealProjectSelect(mastertag:\"ToDo\")\n** show a select with all other tags from all tiddlers tagged with the mastertag\n* listrevealSearch(state:\"search\",id:\"lr\")\n** state: if you generate more than one list, use e.g. \"active\" and \"inactive\" here\n** id: an identifier for the list you want to search in\n* listrevealCounter(textafter:\"\")\n\n-->",
"title": "$:/plugins/telmiger/listreveal/lr-search",
"tags": "$:/tags/Macro Listreveal",
"modifier": "Thomas Elmiger",
"modified": "20190310222711328",
"datetime": ""
},
"$:/plugins/telmiger/lib/telements/story-nav": {
"text": "<div class=\"te-story-controls\">\n<$list filter=\"[all[current]next[$:/StoryList]]\">\n<span class=\"story-next\">\n<$button to={{!!title}} tooltip=\"next\">{{$:/core/images/down-arrow}}</$button>\n</span>\n</$list>\n<$list filter=\"[all[current]previous[$:/StoryList]]\">\n<span class=\"story-prev\">\n<$button to={{!!title}} tooltip=\"previous\">{{$:/core/images/up-arrow}}</$button>\n</span>\n</$list>\n</div>",
"title": "$:/plugins/telmiger/lib/telements/story-nav",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20180505200055700",
"creator": "Thomas Elmiger",
"created": "20180505155058918"
},
"$:/plugins/telmiger/support": {
"created": "20181103150753927",
"text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
"title": "$:/plugins/telmiger/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181104091650389",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/listreveal/support": {
"created": "20190310223248028",
"creator": "Thomas Elmiger",
"text": "{{$:/plugins/telmiger/support}}",
"title": "$:/plugins/telmiger/listreveal/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20190310223315537"
}
}
}
{
"tiddlers": {
"$:/plugins/telmiger/rpn/examples": {
"created": "20170715121619734",
"creator": "Thomas Elmiger",
"text": "!! Examples\n\n`<<rpn pi 2 * 3>>` results in <<rpn pi 2 * 3>>\n\n`<<rpn Pi \" was the name.\" &>>` \n\n<<<\n<<rpn Pi \" was the name.\" &>>\n<<<\n\n\n`<<rpn a:100 b:200 precision:\"r\">>` creates a random number in the range from a to b:\n\n<<<\nYour lucky number is <<rpn a:100 b:200 precision:\"r\">>.\n<<<\n\nCalculate the area of a circle with radius 2:\n\n```\n<$macrocall $name=\"rpn\" a=<<rpn 2 2 *>> b=pi operation=\"*\" decimals=\"4\"/>\n```\n<<<\n<$macrocall $name=\"rpn\" a=<<rpn 2 2 *>> b=pi operation=\"*\" decimals=\"4\"/>\n<<<\n\nA 50% discount price, rounded downwards with Swiss formatting applied: \n\n```\n<$macrocall $name=\"rpn\" a=<<rpn 2123.45 50 * 0 f>> b=100 operation=\"/\" decimals=\"2\" precision=\"p\" locale=\"de-CH\"/>\n```\n<<<\n<$macrocall $name=\"rpn\" a=<<rpn 2123.45 50 * 0 f>> b=100 operation=\"/\" decimals=\"2\" precision=\"p\" locale=\"de-CH\"/>\n<<<\n\nFor more examples see https://tid.li/tw5/hacks.html#rpnTest.",
"title": "$:/plugins/telmiger/rpn/examples",
"tags": "[[ToDo Addons]]",
"modifier": "Thomas Elmiger",
"modified": "20170814063737796"
},
"$:/plugins/telmiger/rpn/icon": {
"created": "20170715123511072",
"text": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64.003\" height=\"64.003\" viewBox=\"-500.5 395.5 64.003 64.003\"><path d=\"M-468.5 396.5l26.426 15.5v31l-26.425 15.5-26.426-15.5v-31l26.427-15.5z\"/><path fill=\"#FFF\" d=\"M-485.996 419.088h34.99v16.824h-34.99z\"/><path fill=\"#E2001A\" d=\"M-468.5 405.5c-12.15 0-22 9.85-22 22s9.85 22 22 22 22-9.85 22-22-9.85-22-22-22zm13.11 21.637c-1.022.682-2.674 1.023-4.954 1.023h-2.838c-1.505 0-2.598.3-3.28.9-.68.6-1.22 1.804-1.622 3.615 0 0-.063.526-.178.526s-.13-.31-.184-.562c-.056-.263-.14-.59-.256-.977-.224-.758-.447-1.332-.67-1.72-.27-.482-.613-.87-1.024-1.165-.412-.294-.883-.47-1.413-.528l-.74-.088h-3.637c-2.178 0-3.796-.343-4.855-1.024-1.764-1.12-2.71-3.24-2.842-6.357-.01-.25 0-.48.047-.772h.208c.142 1.41 1.304 2.502 2.158 3.274.853.77 2.222 1.155 4.104 1.155h3.3c1.896 0 3.28.436 4.158 1.306.79.786 1.31 2.017 1.56 3.69.028.183.012.263.064.263.053 0 .04-.09.06-.278.253-2.173 1.094-3.627 2.522-4.363.88-.46 2.28-.676 4.196-.652l2.257.035c1.527.023 2.814-.278 3.86-.908 1.046-.63 2.285-1.803 2.425-3.52h.21c.065.17.057.56.045.828-.13 3.105-1.023 5.206-2.68 6.3z\"/></svg>",
"type": "image/svg+xml",
"title": "$:/plugins/telmiger/rpn/icon",
"tags": "",
"modified": "20170715123532555"
},
"$:/plugins/telmiger/rpn/readme": {
"created": "20170714205116352",
"creator": "Thomas Elmiger",
"text": "!! Simple calculations\n\n//rpn// is a lightweight Javascript macro for basic math operations in TiddlyWiki. It is inspired by formerly popular calculators using Reverse Polish Notation (see [[Wikipedia|https://en.wikipedia.org/wiki/Reverse_Polish_notation]] for more info).\n\n`<<rpn 50 2.5 * 2 p>>` output: <<rpn 50 2.5 * 2 p>>\n\n* the macro takes two operands (//a// and //b//) as input – this may be macros or transclusions\n** operands are sent through a simplified [[wikify|http://tiddlywiki.com/#WikifyWidget]] function before calculation starts\n** use //pi// to get π (Math.PI)\n* standard operations: +, -, /, * \n** advanced operations: modulus (%) and rounding (optional: Math.floor or Math.ceil)\n* output formatting\n** limit digits after comma (//decimals//), force //precision// display with //precision:\"p\"// (.toPrecision)\n** //locale// formatting (.toLocaleString)\n* string concatenation (&)\n** the resulting string is sent through the internal [[wikify|http://tiddlywiki.com/#WikifyWidget]] function \n* random numbers in a range from a to b with //precision:\"r\"// (including both a and b)\n\n!!! New: Wikitext Macros\n* calculate using filters and tiddler fields, see //fields// tab (since version 0.7.1)\n\n!!! Installation\nThe plugin available on https://tid.li/tw5/plugins.html includes the documentation.<br>\nIf you want the functionality only, you can drag this tiddler to your wiki: $:/plugins/telmiger/rpn/rpn.js – then save and reload. \n\n!!! Alternatives\n* https://evanbalster.com/tiddlywiki/formulas.html – process numbers and other data just like popular spreadsheet software, with the additional flexibility of functional programming for those who need it\n* http://mathcell.tiddlyspot.com/ – tries to replace spreadsheet applications and uses some identical operators as rpn\n* http://tobibeer.github.io/tb5/#calc – does calculations based on tiddler fields\n* eval – calc combined with ''math.js'' – a heavy math library\n** http://mklauber.github.io/tiddly-mathjs/ \n** http://tobibeer.github.io/tw5-plugins/#math.js",
"title": "$:/plugins/telmiger/rpn/readme",
"tags": "[[ToDo Addons]]",
"modifier": "Thomas Elmiger",
"modified": "20181111201353742"
},
"$:/plugins/telmiger/rpn/rpn.js": {
"text": "/*\\\ntitle: $:/plugins/telmiger/lib/rpn.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to execute simple calculations in reverse Polish notation\nDocumentation see https://tid.li/tw5/plugins.html\nVersion 0.6.2\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"rpn\";\n\nexports.params = [\n\t{name: \"a\"},\n\t{name: \"b\"},\n {name: \"operation\", default: \"+\"},\n {name: \"decimals\", default: \"\"},\n {name: \"precision\", default: \"\"},\n {name: \"locale\", default: \"false\"},\n {name: \"sd\", default: \".\"},\n {name: \"st\", default: \"\"}\n];\n\n/*\nWikify\n*/\nfunction wikifyText(t) {\n\tvar Parser = $tw.wiki.parseText(\"text/vnd.tiddlywiki\",t,{\n\t\t\tparseAsInline: true\n\t\t});\n\tvar WidgetNode = $tw.wiki.makeWidget(Parser,{\n\t\t\tdocument: $tw.fakeDocument\n\t\t});\n\tvar Container = $tw.fakeDocument.createElement(\"div\");\n\tWidgetNode.render(Container,null);\n\treturn Container.textContent;\n}\n\n/*\nFormat decimals and (TODO!) thousands\n*/\nfunction formatNumber(value,sd,st) {\n\tlet string = value.toString();\n\t// string = string; // TODO separator for thousands\n\treturn string.replace(\".\",sd); // separator for decimals\n}\n\n/*\nFormatting with locale\n*/\nfunction formatLocale(value,decimals,precision,locale) { \n\tlet result = \"NaN\";\n\tif(decimals == \"\" || decimals >= 0) {\n\t\tlet minFracDig = (precision == \"p\" ? decimals : \"\");\n\t\tresult = value.toLocaleString(locale, { minimumFractionDigits: minFracDig });\n\t}\n\telse {\n\t\tresult = \"invalid decimals\";\n\t}\n\treturn result;\n}\n\n/*\nPrecision for decimals\n*/\nfunction addPrecisionDecimals(result,decimals) { \n let di = parseInt(decimals);\n let rInteger = result.toString().split('.')[0].length;\n let p = rInteger + di;\n if(p > 0 && p < 101) {\n\tresult = result.toPrecision(p);\n }\n else {\n result = \"invalid decimals\";\n }\n return result;\n}\n\n/*\nRandom numbers including a and b\n*/\nfunction randomInteger(a,b) {\n\tlet min = Math.ceil(a);\n\tlet max = Math.floor(b + 1);\n\treturn Math.floor(Math.random() * (max - min)) + min; \n}\n\n/*\nMath\n*/\nfunction calculate(a,b,operation) {\n let result = \"NaN\";\n switch(operation) {\n case \"-\":\n result = a - b;\n break;\n case \"*\":\n result = a * b;\n break;\n case \"/\":\n result = a / b;\n break;\n case \"%\":\n result = a % b;\n break;\n default:\n result = a + b;\n }\n return result;\n}\n\n/*\nRun the macro\n*/\nexports.run = function(a,b,operation,decimals,precision,locale,sd,st) {\n\tlet aw = wikifyText(a);\n\tlet bw = wikifyText(b);\n\tlet result = \"\";\n\tif(operation == \"&\") {\n\t\tresult = wikifyText(a + b);\n\t}\n\telse {\n\t\t// prepare values\n\t\tvar af = aw.replace(\",\",\".\");\n\t\tvar bf = bw.replace(\",\",\".\");\n\t\taf = (af == \"pi\" ? Math.PI : parseFloat(af));\n\t\tbf = (bf == \"pi\" ? Math.PI : parseFloat(bf));\n\t\t// do the math\n\t\tresult = calculate(af,bf,operation);\n\t\t// precision modes\n\t\tif(precision == \"r\") {\n\t\t\tresult = randomInteger(af,bf); \n\t\t}\n\t\telse if(precision == \"p\" && locale == \"false\") {\n\t\t\tresult = addPrecisionDecimals(result,decimals);\n\t\t}\n\t\telse if(precision == \"c\") {\n\t\t\tresult = Math.ceil(result);\n\t\t}\n\t\telse if(precision == \"f\") {\n\t\t\tresult = Math.floor(result);\n\t\t}\n\t\telse if(precision != \"\" && locale == \"false\") {\n\t\t// formatLocale ignores precision values other than p\n\t\t\tresult = \"invalid precision\";\n\t\t}\n\t\t// if precision is not defined, round based on (max.) decimals\n\t\telse if(decimals != \"\") {\n\t\t\tvar di = parseInt(decimals);\n\t\t\tresult = Math.round(result * Math.pow(10, di)) / Math.pow(10, di); \n\t\t}\n\t\t// format output\n\t\tif(locale != \"false\") {\n\t\t\tresult = formatLocale(result,decimals,precision,locale);\n\t\t}\n\t\telse {\n\t\t\tresult = formatNumber(result,sd,st);\n\t\t}\n\t}\n\treturn result;\n};\n\n})();\n",
"type": "application/javascript",
"title": "$:/plugins/telmiger/rpn/rpn.js",
"tags": "[[ToDo Addons]]",
"module-type": "macro",
"modifier": "Thomas Elmiger",
"modified": "20170814062342206",
"creator": "Thomas Elmiger",
"created": "20170626211546891"
},
"$:/plugins/telmiger/rpn/usage": {
"text": "!! Usage\n\n`<<rpn 5000 200 * 2 p en-GB>>` output: <<rpn 5000 200 * 2 p en-US>>\n\nThe following operations can be used with two operands:\n\n|Operation |Description |h\n|+ |Addition |\n|- |Subtraction |\n|* |Multiplication |\n|/ |Division |\n|% |Modulo (remains after division) |\n|& |Concatenation of two strings^^1^^ |\n| |[none] when generating random numbers, any value would be ignored |\n\n<small>1 – The list of operators found at Stephen Kimmel’s Mathcell project (see readme section) inspired me to implement this easter egg – it has nothing to do with math.</small>\n\n|Parameter |Description |h\n|a |first operand |\n|b |second operand |\n|operation |see above |\n|decimals |digits after comma (number) |\n|precision |defaults to \"\"<br>\"p\" to show all digits after comma (precision)<br>\"f\" to round downwards to the next integer (Math.floor)<br>\"c\" to round upwards to the next integer (Math.ceil) <br>\"r\" to get a random integer in the range from a to b, a and b included (Math.random) |\n|locale |Formatting according to language or country specific standards, e.g. \"en\", \"de-DE\" or \"de-CH\" – [[toLocaleString|https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Browser_compatibility]] is used, including minimumFractionDigits option if decimals and precision \"p\" are provided. |\n|sd |separator for decimals if //locale// is not used, defaults to \".\" |\n|st |TODO separator for thousands if //locale// is not used, defaults to \"\" |\n\n!!! Known limitations\n* //st// is not implemented yet",
"title": "$:/plugins/telmiger/rpn/usage",
"tags": "[[ToDo Addons]]",
"modifier": "Thomas Elmiger",
"modified": "20170813210218755",
"creator": "Thomas Elmiger",
"created": "20170715121502832"
},
"$:/plugins/telmiger/rpn/fields": {
"created": "20181111064908459",
"creator": "Thomas Elmiger",
"text": "!! Calculate with Field Values and RPN\n\nThe //rpnFields// macro takes the value of a defined field from filtered tiddlers, applies the same operation to all and saves the result in a given tiddler. It produces a button to start the calculation and calculates using [[RPN|$:/plugins/telmiger/rpn]].\n\n\n!!! Attributes\n\n|!Attribute |!Description |!Default |\n|filter |a filter to select tiddlers – the macro makes sure to use only the ones containinig the specified //field// |all tiddlers except system tiddlers |\n|startvalue |a value to start with, e.g. the result of a preceding calculation |\"0\" |\n|field |the name of the field to take the (numeric) value from |\"text\" |\n|operation |operation to apply to all values |\"+\" |\n|saveTo |the tiddler to store the result in |$:/temp/telmiger/rpn/result |\n|saveField |the field to store the result in |\"text\" |\n|label |the label for the button |\"Calculate\" |\n\n!!! Usage\n\n```\n<<rpnFields \"[prefix[yourCODE]]\">>\n\n<<rpnFields filter:\"[prefix[ZEIT:]]\" field:\"time_used\" saveTo:\"\" saveField:\"time_total\" label:\"Add all\">>\n\n<<rpnFields filter:\"[prefix[ZEIT:]]\" startvalue:\"1000\" field:\"time_used\" operation:\"-\" label:\"Remaining from 1000\">>\n```\n\n{{rpnDemo}}\n",
"title": "$:/plugins/telmiger/rpn/fields",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181111194355026"
},
"$:/plugins/telmiger/rpn/rpnFields": {
"created": "20181111075024851",
"creator": "Thomas Elmiger",
"text": "\\define rpnFields(filter:\"[tags[]!is[system]]\",startvalue:\"0\",field:\"text\",operation:\"+\",\n saveTo:\"$:/temp/telmiger/rpn/result\",saveField:\"text\",label:\"Calculate\")\n<$button>\n<$vars filter=\"\"\"$filter$\"\"\" startvalue=\"\"\"$startvalue$\"\"\" field=\"\"\"$field$\"\"\" operation=\"\"\"$operation$\"\"\" saveTo=\"\"\"$saveTo$\"\"\" saveField=\"\"\"$saveField$\"\"\">\n<$wikify name=\"countfilter\" text=\"\"\"$filter$ +[has[<<field>>]] +[count[]]\"\"\">\n<$set name=\"items\" filter=<<countfilter>> emptyValue=\"0\">\n<$macrocall $name=\"calcAll\" startvalue=<<startvalue>> counter=<<items>>/>\n\"\"\"$label$\"\"\"\n</$set>\n</$wikify>\n</$vars>\n</$button>\n\\end\n\n\\define saveResult(a:\"0\")\n<$action-setfield $tiddler=\"$(saveTo)$\" $field=\"$(saveField)$\" $value=\"\"\"$a$\"\"\"/>\n\\end\n\n\\define calculate(a:\"0\",b:\"0\",counter)\n<$wikify name=\"result\" text='<$macrocall $name=\"rpn\" a=$a$ b=$b$ operation=$(operation)$/>'>\n<$macrocall $name=\"calcAll\" startvalue=<<result>> counter=$counter$/>\n</$wikify>\n\\end\n\n\\define calcAll(startvalue,counter)\n<$wikify name=\"next\" text='<$macrocall $name=\"rpn\" a=$counter$ b=1 operation=\"-\"/>'>\n<$wikify name=\"restfilter\" text=\"\"\"$(filter)$ +[has[$(field)$]] +[rest[<<next>>]limit[1]]\"\"\">\n<$set name=\"proceed\" filter=\"[<next>prefix[-]]\" value=\"saveResult\" emptyValue=\"calculate\">\n<$list filter=<<restfilter>> variable=\"tid\">\n<$vars a=$startvalue$>\n<$wikify name=\"b\" text='<$transclude tiddler=<<tid>> field=$(field)$/>'>\n<$macrocall $name=<<proceed>> a=<<a>> b=<<b>> counter=<<next>>/>\n</$wikify>\n</$vars>\n</$list>\n</$set>\n</$wikify>\n</$wikify>\n\\end\n",
"title": "$:/plugins/telmiger/rpn/rpnFields",
"tags": "$:/tags/Macro",
"modifier": "Thomas Elmiger",
"modified": "20181111192120506"
},
"$:/plugins/telmiger/support": {
"created": "20181111202118157",
"text": "!! Support the Author\n\n''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :)\n\n---\n\n!!! One Time Support\n\nIf using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort:\n\nhttps://www.paypal.me/telmiger\n\n---\n\n!!! Permanent Support\n\nIf my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: \n\nhttps://www.patreon.com/telmiger\n\n---\n\n!!! Thank You\n\nSubstantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community!\n\n//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.//\n\nIf you like my work, I would be very happy to hear from you.\n\n''Thank you very much for your support!''<br>\n//Thomas//\n\nhttps://thomas-elmiger.ch",
"title": "$:/plugins/telmiger/support",
"tags": "",
"modifier": "Thomas Elmiger",
"modified": "20181111202131466",
"creator": "Thomas Elmiger"
},
"$:/plugins/telmiger/rpn/support": {
"created": "20181111202222852",
"text": "{{$:/plugins/telmiger/support}}",
"title": "$:/plugins/telmiger/rpn/support",
"tags": "",
"modified": "20181111202349869"
}
}
}
{
"tiddlers": {
"$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js\ntype: application/javascript\nmodule-type: wikirule\n\\*/\n\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"checkbox\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\n\t// Match on [ ], [x], and [X], to the end of the line\n\tthis.matchRegExp = /^\\[([ xX])\\] .*$/mg;\n};\n\n/*\nRetrieve the configuration state of the clear all button\n*/\n\nexports.shouldShowClearAll = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var showClearAll = configWidgetFields[\"show-clearall\"] || \"true\";\n return (showClearAll === \"true\");\n}\n\n/*\nCreate list items\n*/\n\nexports.parse = function() {\n var listItems = [];\n var listStartPos = this.parser.pos;\n var match = this.match;\n\n // Start the list with a \"New List Item\" placeholder\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem-icon\"},\n for: {type: \"string\", value: \"checklist-new\"}\n }\n },\n {\n type: \"element\",\n tag: \"input\",\n attributes: {\n class: {type: \"string\", value: \"checklist-newitem\"},\n id: {type: \"string\", value: \"checklist-new\"},\n placeholder: {type: \"string\", value: \"New list item (WikiText)\"}\n // impossible? add an aria-label \"Write a new todo item\"\n // attribute aria-label seems to be missing in $:/core/modules/widgets/edit.js \n }\n },\n // label for the input field\n {\n type: \"element\",\n tag: \"label\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"},\n for: {type: \"string\", value: \"checklist-new\"}\n },\n children: [\n {type: \"text\", text: \"Write a new item for the list.\"}\n ]\n },\n // (pseudo) button to add the new item to the list\n {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-add\"},\n title: {type: \"string\", value: \"add to list\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"add list item\"}\n ]\n }\n ]\n }\n // end of button\n ]\n });\n\n // Create items in a loop\n do {\n var startPos = this.parser.pos;\n this.parser.pos = this.matchRegExp.lastIndex;\n var parseResults = this.parser.wiki.parseText(\n \"text/vnd.tiddlywiki\",\n this.parser.source.substring(startPos + 4, this.parser.pos),\n {parseAsInline: true});\n\n // Use the listitem body as a label for the checkbox to get better accessibility\n var itembody = {\n type: \"element\",\n tag: \"label\",\n attributes: {\n for: {type: \"string\", value: match.index}\n },\n children: parseResults.tree\n };\n\n var checkbox = {\n type: \"element\",\n tag: \"input\",\n attributes: {\n type: {type: \"string\", value: \"checkbox\"},\n pos: {type: \"string\", value: match.index},\n id: {type: \"string\", value: match.index}\n }\n };\n if (match[1] === \"x\" || match[1] === \"X\") {\n checkbox.attributes.checked = {type: \"boolean\", value: true};\n }\n\n // Make a button to delete the item\n var removelabel = {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-vh\"}\n },\n children: [\n {type: \"text\", text: \"delete list item\"}\n ]\n };\n\n var removebutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"tc-btn-invisible tc-btn-mini checklist-remove\"},\n title: {type: \"string\", value: \"delete\"}\n },\n children: [\n removelabel\n ]\n };\n\n // add the item to the list\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n checkbox,\n removebutton,\n itembody\n ]\n });\n\n match = this.matchRegExp.exec(this.parser.source);\n } while (match != null && match.index == 1 + this.parser.pos);\n\n if (this.shouldShowClearAll()) {\n // show the clear-all button\n var clearallbutton = {\n type: \"element\",\n tag: \"button\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall\"}\n },\n children: [\n {\n type: \"element\",\n tag: \"span\",\n attributes: {\n class: {type: \"string\", value: \"checklist-clearall-label\"}\n },\n children: [\n {type: \"text\", text: \"Clear all\"}\n ]\n }\n ]\n };\n\n listItems.push({\n type: \"element\",\n tag: \"li\",\n children: [\n clearallbutton\n ]\n });\n }\n\n return [{\n type: \"checklist\",\n attributes: {\n listStartPos: {type: \"string\", value: listStartPos},\n listStopPos: {type: \"string\", value: this.parser.pos}\n },\n children: listItems\n }];\n};\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checkbox-wikirule.js",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/plugins/tgrosinger/tw5-checklist/checklist.js": {
"text": "/*\\\ntitle: $:/plugins/tgrosinger/tw5-checklist/checklist.js\ntype: application/javascript\nmodule-type: 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 CheckListWidget = function(parseTreeNode,options) {\n this.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckListWidget.prototype.render = function(parent,nextSibling) {\n this.tiddlerTitle = this.getVariable(\"currentTiddler\");\n this.startPos = parseInt(this.parseTreeNode.attributes.listStartPos.value);\n this.stopPos = parseInt(this.parseTreeNode.attributes.listStopPos.value);\n\n this.parentDomNode = parent;\n this.nextSibling = nextSibling;\n this.computeAttributes();\n this.execute();\n};\n\n/*\nRetrieve the configuration state indicating if items should be re-arranged\n*/\nCheckListWidget.prototype.shouldMoveChecked = function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var moveChecked = configWidgetFields[\"move-checked\"] || \"true\";\n return (moveChecked === \"true\");\n}\n\n/*\nRetrieve the configuration state indicating if items should be re-sorted\n*/\nCheckListWidget.prototype.shouldSort= function() {\n var configWidgetTitle = \"$:/plugins/tgrosinger/tw5-checklist/Configuration\";\n var configWidgetFields = $tw.wiki.getTiddler(configWidgetTitle).fields;\n\n var sort = configWidgetFields[\"sort-alphabetically\"] || \"true\";\n return (sort === \"true\");\n}\n\n\n\n/*\nCompute the internal state of the widget\n*/\nCheckListWidget.prototype.execute = function() {\n var domNode = this.document.createElement(\"ul\");\n domNode.className = \"checklist\";\n\n this.makeChildWidgets();\n this.renderChildren(domNode);\n\n /* add event listeners */\n $tw.utils.each(domNode.childNodes, function(childNode) {\n if (childNode.childNodes[0].className === \"checklist-clearall\") {\n // ClearAllChecks, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[0],\n [{name: \"click\", handlerObject: this,\n handlerMethod: \"handleClearChecksEvent\"}]);\n } else if (childNode.childNodes[1].className === \"checklist-newitem\") {\n // NewListItem, do not use checkbox listener\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"blur\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"},\n {name: \"keyup\", handlerObject: this, handlerMethod: \"handleBlurNewItemEvent\"}\n ]);\n // If this is a normal checklist item …\n } else {\n if (childNode.childNodes[0].checked) {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleUncheckEvent\"}]);\n } else {\n $tw.utils.addEventListeners(childNode,\n [{name: \"change\", handlerObject: this, handlerMethod: \"handleCheckEvent\"}]);\n }\n $tw.utils.addEventListeners(childNode.childNodes[1], [\n {name: \"click\", handlerObject: this, handlerMethod: \"handleRemoveEvent\"}\n ]);\n }\n }.bind(this));\n\n this.parentDomNode.insertBefore(domNode, this.nextSibling);\n};\n\n// When the user clicks the clear-all button, remove all checks\nCheckListWidget.prototype.handleClearChecksEvent = function(event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n var bodyLen = bodyList.length;\n\n for (var i = 0; i < bodyLen; i++) {\n bodyList[i] = bodyList[i].replace(\"[x]\", \"[ ]\");\n bodyList[i] = bodyList[i].replace(\"[X]\", \"[ ]\");\n }\n\n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\nCheckListWidget.prototype.reorderList = function(event, bodyList) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n \n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n\n // Rearrange items (if configured to do so)\n var shouldMove = this.shouldMoveChecked();\n\n // Sort items (if configured to do so)\n var shouldSort = this.shouldSort();\n\n // These are all combinations\n if (shouldMove) {\n // Find the index of the first checked item\n if (shouldSort){\n // sort by items subject, grouping checked and unchecked\n bodyList.sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); });\n }else{\n // Order only by 3 first chars, so we have order by grouping check and unchecked \n bodyList.sort(function (a, b) { return a.substring(0, 3).toLowerCase().localeCompare(b.substring(0, 3).toLowerCase()); });\n }\n }else if(shouldSort){\n // sort by items subject\n bodyList.sort(function (a, b) { return a.substring(3).toLowerCase().localeCompare(b.substring(3).toLowerCase()); });\n }\n \n // Save the updated body\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n\n}\n\n// On blur or enter, save the new list item\nCheckListWidget.prototype.handleBlurNewItemEvent = function(event) {\n if (event.type == \"keyup\" && event.keyCode != 13) {\n // This function receives both blur and keyup events.\n // Only run on blur or enter key\n return;\n }\n\n if (event.target.value.trim() === \"\") {\n // Don't save an empty list item\n return;\n }\n\n var checklist = event.target.parentNode.parentNode;\n var firstItem = checklist.childNodes[1];\n var pos = firstItem.childNodes[0].attributes.pos.nodeValue;\n\n var newItem = \"[ ] \" + event.target.value.trim() + \"\\n\";\n event.target.value = \"\";\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n tiddlerBody = tiddlerBody.substring(0, pos) + newItem + tiddlerBody.substring(pos);\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos + newItem.length).split(\"\\n\");\n this.reorderList(event, bodyList) \n};\n\n\n\nCheckListWidget.prototype.handleChecksEvents = function(event, oldCheckState, newCheckState) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n \n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Update the tiddler data\n bodyList[itemIndex] = bodyList[itemIndex].replace(oldCheckState, newCheckState);\n this.reorderList(event, bodyList) \n\n}\n\nCheckListWidget.prototype.handleCheckEvent = function(event) {\n this.handleChecksEvents(event, \"[ ]\", \"[x]\");\n};\n\nCheckListWidget.prototype.handleUncheckEvent = function(event) {\n this.handleChecksEvents(event, \"[x]\", \"[ ]\");\n};\n\nCheckListWidget.prototype.handleRemoveEvent = function (event) {\n var domItem = event.target.parentNode;\n var domList = domItem.parentNode;\n var itemIndex = [].indexOf.call(domList.childNodes, domItem) - 1;\n\n var tiddlerBody = $tw.wiki.getTiddler(this.tiddlerTitle).fields.text;\n var bodyList = tiddlerBody.substring(this.startPos, this.stopPos).split(\"\\n\");\n\n // Update the tiddler data\n bodyList.splice(itemIndex, 1);\n var newBody = tiddlerBody.substring(0, this.startPos) +\n bodyList.join(\"\\n\") +\n tiddlerBody.substring(this.stopPos);\n $tw.wiki.setText(this.tiddlerTitle, \"text\", null, newBody);\n};\n\n/*\nSelectively refreshes the widget if needed.\nReturns true if the widget or any of its children needed re-rendering\n*/\nCheckListWidget.prototype.refresh = function(changedTiddlers) {\n var changedAttributes = this.computeAttributes();\n // Refresh if an attribute has changed, or the type associated with\n // the target tiddler has changed\n if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index ||\n (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n this.refreshSelf();\n return true;\n } else {\n return this.refreshChildren(changedTiddlers);\n }\n};\n\nexports.checklist = CheckListWidget;\n\n})();\n",
"title": "$:/plugins/tgrosinger/tw5-checklist/checklist.js",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tgrosinger/tw5-checklist/Configuration": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Configuration",
"move-checked": "true",
"strike-checked": "true",
"show-clearall": "true",
"sort-alphabetically": "false",
"text": "Please see the [[homepage|https://grosinger.net/tw5-checklist/]] for more information on the options.\n\nSave and reload the wiki to activate changes.\n\n<table>\n <tr>\n <th align=\"left\">Rearrange checked items:</th>\n <td>\n <$checkbox field=\"move-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Strike checked items: </th>\n <td>\n <$checkbox field=\"strike-checked\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Sort list alphabetically: </th>\n <td>\n <$checkbox field=\"sort-alphabetically\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"false\"></$checkbox>\n </td>\n </tr>\n <tr>\n <th align=\"left\" class=\"rerendering-required\">Show Clear-All: </th>\n <td>\n <$checkbox field=\"show-clearall\" tiddler=\"$:/plugins/tgrosinger/tw5-checklist/Configuration\"\n checked=\"true\" unchecked=\"false\" default=\"true\"></$checkbox>\n </td>\n </tr>\n</table>\n\n* make a change in a list to see the effect (check/uncheck or add/delete an item).\n\n<style>\n.rerendering-required:after {\n content: ' *';\n color: #e32;\n}\n</style>\n"
},
"$:/plugins/tgrosinger/tw5-checklist/license": {
"title": "$:/plugins/tgrosinger/tw5-checklist/license",
"text": "The MIT License (MIT)\n\nCopyright (c) 2015 Tony Grosinger\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"
},
"$:/plugins/tgrosinger/tw5-checklist/readme": {
"title": "$:/plugins/tgrosinger/tw5-checklist/readme",
"text": "This plugin provides a simple checklist which does not create a new tiddler for\neach task. Features include:\n\n[x] Check and uncheck items\n[x] Simple, no configuration necessary\n[x] Easily editable, and easy to read in edit view\n[x] Add new list items without using edit mode\n[x] Move completed items to bottom of list\n\n[[Source code|https://github.com/tgrosinger/tw5-checklist]]\n"
},
"$:/plugins/tgrosinger/tw5-checklist/stylesheet": {
"title": "$:/plugins/tgrosinger/tw5-checklist/stylesheet",
"tags": "$:/tags/Stylesheet",
"text": "ul.checklist {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\nul.checklist > li {\n position: relative;\n width: calc(100% - 1em);\n}\n\n\n/* input form */\n\n.checklist-newitem-icon::before {\n content: \"✎\";\n}\n\ninput.checklist-newitem {\n margin-left: 1em;\n margin-bottom: 0.75em;\n padding: 2px;\n border: none;\n border-bottom: solid 2px <<colour sidebar-tab-background>>;\n transition: border 0.3s;\n width: calc(100% - 2em - 20px);\n}\n\ninput:focus.checklist-newitem {\n border-bottom: solid 2px <<colour notification-border>>;\n}\n\n\n/* placeholder text */\n\n::-webkit-input-placeholder { \n color: #444;\n font-style: italic;\n}\n::-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n:-ms-input-placeholder { \n color: #444;\n font-style: italic;\n}\n:-moz-placeholder { \n color: #444;\n font-style: italic;\n}\n::placeholder {\n color: #444;\n font-style: italic;\n}\n\n\n/* list items content */\n\n.checklist li input[type=\"checkbox\"] {\n vertical-align: top;\n margin-top: 4px;\n}\n\n.checklist label {\n display: inline-block;\n position: relative;\n margin-left: -1em;\n padding-left: 0.4em;\n left: 1.4em;\n width: calc(100% - 2em - 20px);\n}\n\n.checklist > li:hover label, \n.checklist input[type=\"checkbox\"]:hover + button + label, \n.checklist input[type=\"checkbox\"]:focus + button + label {\n background-color: <<colour sidebar-tab-background>>;\n}\n\ninput:checked + .checklist-remove + label {\n opacity: 0.5;\n}\n\n.checklist li input + .checklist-remove:hover + label,\n.checklist li input + .checklist-remove:focus + label {\n background-color: rgba(255,0,0,0.25);\n opacity: 0.8;\n border-radius: 5px;\n}\n\n/* strike checked items only if set in user configuration */\n<$list filter=\"[[$:/plugins/tgrosinger/tw5-checklist/Configuration]field:strike-checked[true]]\">\ninput:checked + .checklist-remove + label {\n text-decoration: line-through;\n}\n</$list>\n\n\n/* buttons */\n\nbutton.checklist-add {\n position: relative;\n left: 0.75em;\n width: 18px;\n height: 18px;\n border-radius: 5px;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%221%22%20height%3D%227%22%20x%3D%225%22%20y%3D%222%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3Crect%20width%3D%227%22%20height%3D%221%22%20x%3D%222%22%20y%3D%225%22%20fill%3D%22%239B9B9B%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n}\n\nbutton.checklist-add:hover, button.checklist-add:focus {\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-remove {\n display: block;\n position: absolute;\n top: 2px;\n right: -6px;\n width: 18px;\n height: 18px;\n border-radius: 5px;\n color: <<colour sidebar-muted-foreground>>;\nbackground-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%3E%0A%3Crect%20width%3D%225%22%20height%3D%221%22%20x%3D%223%22%20y%3D%225%22%20fill%3D%22%23444%22%2F%3E%0A%3C%2Fsvg%3E');\n background-size: 100%;\n/* background-color: <<colour sidebar-tab-background-selected>>; */\n border: 1px solid <<colour sidebar-tab-background>>;\n}\n\nul.checklist > li:hover button.checklist-remove {\n color: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton.checklist-remove:hover,\nbutton.checklist-remove:focus {\n color: <<colour dirty-indicator>>;\n background-color: <<colour sidebar-tab-background>>;\n}\n\nbutton.checklist-clearall {\n margin-top: 0.75em;\n}\n\nbutton.checklist-clearall::before {\n content: \"↻ \";\n}\n\n\n/* visualliy hidden, accessible for screen reader */\n\n.checklist-vh {\n position: absolute !important;\n clip: rect(1px, 1px, 1px, 1px);\n padding:0 !important;\n border:0 !important;\n height: 1px !important;\n width: 1px !important;\n overflow: hidden;\n}\n"
},
"$:/plugins/tgrosinger/tw5-checklist/Usage": {
"title": "$:/plugins/tgrosinger/tw5-checklist/Usage",
"text": "! Creating a New Checklist\n\nThis plugin provides a wikitext rule for use in normal wikitext tiddlers. A\nchecklist is defined as two brackets with either a <kbd>space</kbd> or an\n<kbd>x</kbd> between them.\n\n```\n! My Shopping List\n\n[ ] Milk\n[ ] Eggs\n[x] Bread\n\n```\n\n!! Multiple Checklists\n\nThere is no need to declare an instance of a checklist, and you can place\nchecklist items throughout a tiddler. Each set of consecutive (single new-line\ndelimited) checklist items will be displayed as a single checklist.\n\n```\n! My first list\n\n[ ] Item 1\n[x] Item 2\n\n! My second list\n\n[x] Item 3\n[x] Item 4\n\n```\n\n!! List Item Formatting\n\nList items support any inline formatting rules. This means you can create links,\nbold, or anything else found on the\n[[Formatting in WikiText|http://tiddlywiki.com/static/Formatting%2520in%2520WikiText.html]] guide.\n\n! Configuration\n\nPlease see [[the configuration|$:/plugins/tgrosinger/tw5-checklist/Configuration]]\npage to learn about and adjust configuration options.\n"
}
}
}
{
"tiddlers": {
"$:/config/Comments/EnableFilter": {
"title": "$:/config/Comments/EnableFilter",
"text": "[all[current]!is[system]]\n"
},
"$:/plugins/tiddlywiki/comments/above-story": {
"title": "$:/plugins/tiddlywiki/comments/above-story",
"tags": "$:/tags/AboveStory",
"text": "<$reveal state=\"$:/config/Comments/EnableWikiComments\" type=\"match\" text=\"yes\" default=\"no\">\n\n<$tiddler tiddler=\"$:/SiteTitle\">\n\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n\n</$tiddler>\n\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/add-comment-button-actions": {
"title": "$:/plugins/tiddlywiki/comments/add-comment-button-actions",
"text": "<$set name=\"username\" value={{$:/status/UserName}} emptyValue=\"(anonymous)\">\n<$set name=\"target\" filter=\"[<currentTiddler>]\">\n<$action-createtiddler $basetitle={{{ [[Comment by ']addsuffix<username>addsuffix[' on ']addsuffix<currentTiddler>addsuffix[']] }}} role=\"comment\" list=<<target>> text=\"\" edit-mode=\"yes\"/>\n</$set>\n</$set>\n"
},
"$:/plugins/tiddlywiki/comments/add-comment-button": {
"title": "$:/plugins/tiddlywiki/comments/add-comment-button",
"text": "<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"div\" class=\"tc-comment-button\">\n<$button class=\"tc-btn-invisible\" actions={{$:/plugins/tiddlywiki/comments/add-comment-button-actions}}>\nadd comment {{$:/core/images/add-comment}}\n</$button>\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/comments-template": {
"title": "$:/plugins/tiddlywiki/comments/comments-template",
"text": "<div class=\"tc-comments\">\n<ol class=\"tc-comment-list\">\n<$list filter=\"[all[tiddlers+shadows]role[comment]contains<currentTiddler>sort[created]!has[draft.of]]\">\n<li>\n<div class=\"tc-comment-entry\">\n<div class=\"tc-comment-entry-heading\">\n<$link>{{!!creator}} at <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DDD DDth MMM YYYY\"/></$link>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/CommentToolbarButton]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$list>\n</div>\n<div class=\"tc-comment-entry-body\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$edit-text tiddler=<<currentTiddler>> tag=\"textarea\" focus=\"true\"/>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"!!edit-mode\" text=\"yes\">\n<$transclude tiddler=<<currentTiddler>> mode=\"block\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n</$reveal>\n</div>\n</div>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n</li>\n</$list>\n</ol>\n</div>\n"
},
"$:/plugins/tiddlywiki/comments/config": {
"title": "$:/plugins/tiddlywiki/comments/config",
"text": "\\define select(description,filter)\n<$button>\n<$action-setfield $tiddler=\"$:/config/Comments/EnableFilter\" $value=<<__filter__>>/>\n$description$\n</$button>\n\\end\n\n! Wiki Comments\n\n<$checkbox tiddler=\"$:/config/Comments/EnableWikiComments\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Comments/EnableWikiComments\">Allow wiki-level comments as well as tiddler comments</$link> </$checkbox>\n\n! Tiddler Comments\n\nThis filter expression determines which tiddlers will have commenting enabled:\n\n<$edit-text tiddler=\"$:/config/Comments/EnableFilter\" tag=\"input\"/>\n\nOr you can choose a preselected filter:\n\n* <<select \"All tiddlers except system tiddlers\" \"[all[current]!is[system]]\">>\n* <<select \"Only tiddlers tagged 'commentable'\" \"[all[current]tag[commentable]]\">>\n* <<select \"Disable all commenting\" \"\">>\n"
},
"$:/plugins/tiddlywiki/comments/filter-all-comments": {
"title": "$:/plugins/tiddlywiki/comments/filter-all-comments",
"tags": "$:/tags/Filter",
"filter": "[role[comment]!sort[modified]]",
"description": "All comments",
"text": ""
},
"$:/plugins/tiddlywiki/comments/footer-view-template-segment": {
"title": "$:/plugins/tiddlywiki/comments/footer-view-template-segment",
"tags": "$:/tags/ViewTemplate",
"list-after": "$:/core/ui/ViewTemplate/body",
"text": "<$list filter={{$:/config/Comments/EnableFilter}} variable=\"ignore\">\n<div class=\"tc-comments-segment\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/comments-template\" mode=\"inline\"/>\n</div>\n</$list>"
},
"$:/plugins/tiddlywiki/comments/header-view-template-segment": {
"title": "$:/plugins/tiddlywiki/comments/header-view-template-segment",
"tags": "$:/tags/ViewTemplate",
"list-before": "$:/core/ui/ViewTemplate/body",
"text": "\\define display-original-comment()\n<$link><$text text=<<currentTiddler>>/></$link>\n\\end\n\n\\define find-original-comment(exclude)\n<$list filter=\"[<currentTiddler>role[comment]]\" emptyMessage=<<display-original-comment>> variable=\"ignore\">\n<$list filter=\"[list<currentTiddler>sort[title]] -[enlist<__exclude__>]\">\n<$set name=\"newExclude\" filter=\"[enlist<__exclude__>] [<currentTiddler>]\">\n<$macrocall $name=\"find-original-comment\" exclude=<<newExclude>>/>\n</$set>\n</$list>\n</$list>\n\\end\n\n<$list filter=\"[all[current]role[comment]]\" variable=\"ignore\">\n<div class=\"tc-is-comment-header\">\n<p>\nThis tiddler is a comment on\n<$list filter=\"[list<currentTiddler>sort[title]]\">\n<<find-original-comment>> \n</$list>\n</p>\n<$list filter=\"[list<currentTiddler>role[comment]sort[title]limit[1]]\" variable=\"ignore\">\n<p>\nParent comments:\n</p>\n<ul>\n<$list filter=\"[list<currentTiddler>role[comment]sort[title]]\">\n<li>\n<$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link>\n</li>\n</$list>\n</ul>\n</$list>\n</div>\n</$list>\n"
},
"$:/plugins/tiddlywiki/comments/readme": {
"title": "$:/plugins/tiddlywiki/comments/readme",
"text": "This plugin provides a simple means for adding threaded comments to tiddlers.\n\n* Click the \"add comment\" button to make a new comment, and then click the \"save\" button to save it\n* You can comment on a tiddler itself, or add a comment to an existing comment\n* The sidebar tab ''Comments'' lists a timeline of all comments\n* Comments are attributed to the username stored in the system tiddler [[$:/status/UserName]]\n* By default, comments are available on all non-system tiddlers. The ''config'' tab lets you customise which tiddlers can accept comments by specifying a filter extension\n* The buttons for adding and editing comments are only available if the system tiddler [[$:/status/IsReadOnly]] is not set to `yes`\n* Use the \"All comments\" option in the $:/AdvancedSearch ''Filter'' tab to see or export all comments\n\n!! Data Model\n\nThe data model employed by the comments plugin is very simple:\n\n* Comment tiddlers are identified by the `role` field being set to `comment`\n* The `list` field of comment tiddlers lists the tiddlers to which this comment applies\n** It is thus possible for a comment to be applied to multiple tiddlers at once\n** The links between comments can be preserved when renaming them by using the relink checkbox in the edit template\n* The `edit-mode` field of comment tiddlers is set to `yes` to display it in edit mode, or `no` to display it in view mode\n* The `saved-text` field is updated when switching to edit mode so that it can be restored if the user cancels\n\n"
},
"$:/plugins/tiddlywiki/comments/sidebar-segment": {
"title": "$:/plugins/tiddlywiki/comments/sidebar-segment",
"tags": "$:/tags/SideBarSegment",
"list-after": "$:/core/ui/SideBarSegments/site-subtitle",
"text": "<$reveal state=\"$:/config/Comments/EnableWikiComments\" type=\"match\" text=\"yes\" default=\"no\">\n<$tiddler tiddler=\"$:/SiteTitle\">\n<$transclude tiddler=\"$:/plugins/tiddlywiki/comments/add-comment-button\" mode=\"inline\"/>\n</$tiddler>\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/sidebar": {
"title": "$:/plugins/tiddlywiki/comments/sidebar",
"tags": "$:/tags/SideBar",
"caption": "Comments",
"text": "<div class=\"tc-timeline\">\n<$list filter=\"[all[tiddlers+shadows]role[comment]has[modified]!sort[modified]eachday[modified]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"modified\" format=\"date\" template=\"DDth MMM YYYY\"/>\n<$list filter=\"[all[tiddlers+shadows]role[comment]sameday:modified{!!modified}!sort[modified]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link>Comment by '<$view field=\"modifier\">(anonymous)</$view>'</$link> on\n<$list filter=\"[list<currentTiddler>sort[title]]\">\n<$link to=<<currentTiddler>>><$text text=<<currentTiddler>>/></$link>\n</$list>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n"
},
"$:/plugins/tiddlywiki/comments/styles": {
"title": "$:/plugins/tiddlywiki/comments/styles",
"tags": "[[$:/tags/Stylesheet]]",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-is-comment-header {\n\tpadding: 0.25em;\n\tborder: 2px solid #c1e1ea;\n\tborder-radius: 4px;\n\tbackground: #f1fcff;\n}\n\n.tc-comments-segment {\n\tborder-top: 2px solid #d7eef4;\n}\n\n.tc-comment-button button {\n\twidth: 100%;\n\ttext-align: right;\n}\n\n.tc-sidebar-scrollable .tc-comment-button button {\n\twidth: auto;\n\ttext-align: right;\n}\n\n.tc-comment-button button svg {\n\tfill: #26cb56;\n\theight: 2em;\n\twidth: 2em;\n}\n\n.tc-comments {\n}\n\n.tc-comment-list {\n\tlist-style: none;\n padding-left: 0;\n}\n\n.tc-comment-list .tc-comments {\n\tpadding-left: 1em;\n}\n\n.tc-comment-entry {\n\tposition: relative;\n\tborder: 2px solid #c1e1ea;\n\tborder-radius: 4px;\n\tmargin: 0.5em 0 0 0;\n\tbackground: #f1fcff;\n}\n\n.tc-comment-entry-heading {\n\tfont-size: 0.7em;\n\tfont-weight: bold;\n\ttext-transform: uppercase;\n\tbackground: #d7eef4;\n\tcolor: #5B6D80;\n\tpadding: 0 0.5em;\n}\n\n.tc-comment-entry-body {\n\tfont-size: 0.8em;\n\tpadding: 0 0.5em;\n}\n\n.tc-comment-entry-body textarea {\n\tfont-size: 1.1em;\n\twidth: 100%\n}\n"
},
"$:/tags/CommentToolbarButton": {
"title": "$:/tags/CommentToolbarButton",
"list": "[[$:/plugins/tiddlywiki/comments/toolbar-button-cancel]] [[$:/plugins/tiddlywiki/comments/toolbar-button-delete]] [[$:/plugins/tiddlywiki/comments/toolbar-button-save]] [[$:/plugins/tiddlywiki/comments/toolbar-button-edit]]"
},
"$:/plugins/tiddlywiki/comments/toolbar-button-cancel": {
"title": "$:/plugins/tiddlywiki/comments/toolbar-button-cancel",
"tags": "$:/tags/CommentToolbarButton",
"text": "<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"no\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"text\" $value={{!!saved-text}}/>\ncancel\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/toolbar-button-delete": {
"title": "$:/plugins/tiddlywiki/comments/toolbar-button-delete",
"tags": "$:/tags/CommentToolbarButton",
"text": "<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-deletetiddler $tiddler=<<currentTiddler>>/>\ndelete\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/toolbar-button-edit": {
"title": "$:/plugins/tiddlywiki/comments/toolbar-button-edit",
"tags": "$:/tags/CommentToolbarButton",
"text": "<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"nomatch\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"yes\"/>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"saved-text\" $value={{!!text}}/>\nedit\n</$button>\n</$reveal>\n</$reveal>\n"
},
"$:/plugins/tiddlywiki/comments/toolbar-button-save": {
"title": "$:/plugins/tiddlywiki/comments/toolbar-button-save",
"tags": "$:/tags/CommentToolbarButton",
"text": "<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"no\" default=\"no\" tag=\"span\">\n<$reveal type=\"match\" state=\"!!edit-mode\" text=\"yes\">\n<$button>\n<$action-setfield $tiddler=<<currentTiddler>> $field=\"edit-mode\" $value=\"no\"/>\nsave\n</$button>\n</$reveal>\n</$reveal>\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tiddlywiki/hammerjs/hammer.js": {
"text": "/*! Hammer.JS - v2.0.8 - 2016-04-23\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n!function(a,b,c,d){\"use strict\";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e=\"DEPRECATED METHOD: \"+c+\"\\n\"+d+\" AT \\n\";return function(){var c=new Error(\"get-stack-trace\"),d=c&&c.stack?c.stack.replace(/^[^\\(]+?[\\n$]/gm,\"\").replace(/^\\s+at\\s+/gm,\"\").replace(/^Object.<anonymous>\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit(\"hammer.input\",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),\"identifier\",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),\"identifier\",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach(function(d){b[d]=c?a.CSS.supports(\"touch-action\",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?\"cancel\":a&qb?\"end\":a&pb?\"move\":a&ob?\"start\":\"\"}function $(a){return a==Ma?\"down\":a==La?\"up\":a==Ja?\"left\":a==Ka?\"right\":\"\"}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||\"\"}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent(\"Event\");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],na=b.createElement(\"div\"),oa=\"function\",pa=Math.round,qa=Math.abs,ra=Date.now;la=\"function\"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError(\"Cannot convert undefined or null to object\");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},\"extend\",\"Use `assign`.\"),ta=h(function(a,b){return sa(a,b,!0)},\"merge\",\"Use `assign`.\"),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa=\"ontouchstart\"in a,xa=u(a,\"PointerEvent\")!==d,ya=wa&&va.test(navigator.userAgent),za=\"touch\",Aa=\"pen\",Ba=\"mouse\",Ca=\"kinect\",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=[\"x\",\"y\"],Ra=[\"clientX\",\"clientY\"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta=\"mousedown\",Ua=\"mousemove mouseup\";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa=\"pointerdown\",Ya=\"pointermove pointerup pointercancel\";a.MSPointerEvent&&!a.PointerEvent&&(Xa=\"MSPointerDown\",Ya=\"MSPointerMove MSPointerUp MSPointerCancel\"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace(\"ms\",\"\"),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,\"pointerId\");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a=\"touchstart\",_a=\"touchstart touchmove touchend touchcancel\";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb=\"touchstart touchmove touchend touchcancel\";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,\"touchAction\"),fb=eb!==d,gb=\"compute\",hb=\"auto\",ib=\"manipulation\",jb=\"none\",kb=\"pan-x\",lb=\"pan-y\",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(\" \"))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,\"recognizeWith\",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,\"dropRecognizeWith\",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,\"requireFailure\",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,\"dropRequireFailure\",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:\"pan\",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?\"in\":\"out\";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+\"up\",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=rb,this.tryEmit()},b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e(function(){this.state=tb},this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION=\"2.0.8\",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},[\"rotate\"]],[fa,{direction:Na}],[ba,{direction:Na},[\"swipe\"]],[ga],[ga,{event:\"doubletap\",taps:2},[\"tap\"]],[da]],cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,\"add\",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,\"remove\",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb=\"undefined\"!=typeof a?a:\"undefined\"!=typeof self?self:{};wb.Hammer=ha,\"function\"==typeof define&&define.amd?define(function(){return ha}):\"undefined\"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,\"Hammer\");\n//# sourceMappingURL=hammer.min.js.map\n",
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/hammerjs/hammer.js",
"module-type": "library"
},
"$:/plugins/tiddlywiki/hammerjs/license": {
"text": "The MIT License (MIT)\n\nCopyright (C) 2011-2017 by Jorik Tangelder (Eight Media)\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\nall copies 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\nTHE SOFTWARE.\n",
"type": "text/plain",
"title": "$:/plugins/tiddlywiki/hammerjs/license"
},
"$:/plugins/tiddlywiki/hammerjs/readme": {
"title": "$:/plugins/tiddlywiki/hammerjs/readme",
"text": "This plugin packages [[HammerJS|https://hammerjs.github.io]] for use by other plugins. It does not provide any end-user visible features.\n"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/appear/widget.js": {
"title": "$:/plugins/tobibeer/appear/widget.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/widget.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nUse the appear widget for popups, sliders, accordion menus\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/widgets/widget.js\").widget,e=function(t,e){this.initialise(t,e)},i={};e.prototype=new t;e.prototype.render=function(t,e){this.parentDomNode=t;this.nextSibling=e;this.computeAttributes();this.execute();var i,s,r,a,h,n,l=[];if(this.handle){this.getHandlerCache(this.handle,1);this.refreshHandler()}else{s={type:\"button\"};s.attributes=this.setAttributes(s,\"button\");i=s.attributes[\"class\"].value.trim();s.attributes[\"class\"].value=i+\" appear-show\"+(this.handler?\" tc-popup-absolute\":\"\");s.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.show,{parseAsInline:true}).tree;h={type:\"reveal\",children:this.parseTreeNode.children};h.attributes=this.setAttributes(h,\"reveal\");h.isBlock=!(this.mode&&this.mode===\"inline\");if(h.attributes.type&&h.attributes.type.value===\"popup\"){s.attributes.popup=h.attributes.state;l.push(s);if(!this.handler){l.push(h)}else{s.attributes.handler=this.handler}}else{h.attributes.type={type:\"string\",value:\"match\"};h.attributes.text={type:\"string\",value:this.currentTiddler};s.attributes.set=h.attributes.state;s.attributes.setTo={type:\"string\",value:this.currentTiddler};a={type:\"reveal\",isBlock:this.block,children:[s],attributes:{type:{type:\"string\",value:\"nomatch\"},state:h.attributes.state,text:{type:\"string\",value:this.currentTiddler}}};if(!this.once){r=$tw.utils.deepCopy(s);r.attributes[\"class\"].value=i+\" appear-hide \"+(this.attr.button.selectedClass?this.attr.button.selectedClass:\"\");r.attributes.setTo={type:\"string\",value:\"\"};r.children=this.wiki.parseText(\"text/vnd.tiddlywiki\",this.hide,{parseAsInline:true}).tree}n=$tw.utils.deepCopy(a);n.children=[];if(!this.once){n.children.push(r)}if(!this.handler){n.children.push(h)}n.attributes.type.value=\"match\";l.push(a,n)}this.makeChildWidgets(l);this.renderChildren(this.parentDomNode,e);if(this.handler){this.addToHandlerCache(h)}}};e.prototype.execute=function(){var t=this;this.attr={map:{reveal:{\"class\":1,position:1,retain:1,state:1,style:1,tag:1,type:1},button:{\"button-class\":1,\"button-style\":1,\"button-tag\":1,tooltip:1,selectedClass:1}},rename:{\"button-class\":\"class\",\"button-style\":\"style\",\"button-tag\":\"tag\"},button:{},reveal:{}};$tw.utils.each(this.attributes,function(e,i){var s;$tw.utils.each(t.attr.map,function(r,a){$tw.utils.each(Object.keys(r),function(r){if(r==i){t.attr[a][i]=e;s=false;return false}});return s})});this.currentTiddler=this.getVariable(\"currentTiddler\");this.show=this.getValue(this.attributes.show,\"show\");this.hide=this.getValue(this.attributes.hide,\"hide\");if(!this.hide){this.hide=this.show}this.once=this.attributes.once&&this.attributes.once!==\"false\";this.$state=this.attributes.$state;this.mode=this.getValue(this.attributes.mode,\"mode\");this.handle=this.attributes.handle;this.handler=this.attributes.handler;this.handlerVariables=(this.attributes.variables||\"\")+\" currentTiddler\";this.keep=[\"yes\",\"true\"].indexOf((this.getValue(this.attributes.keep,\"keep\")||\"\").toLocaleLowerCase())>-1;if(!this.attr.reveal.state){this.attr.reveal.state=this.getValue(undefined,\"default-state\")+this.currentTiddler+this.getStateQualifier()+\"/\"+(this.attr.reveal.type?this.attr.reveal.type+\"/\":\"\")+(this.mode?this.mode+\"/\":\"\")+(this.once?\"once/\":\"\")+(this.$state?\"/\"+this.$state:\"\")}};e.prototype.refresh=function(t){var e=this.computeAttributes();if(Object.keys(e).length){this.refreshSelf();return true}if(this.handle){this.refreshHandler()}return this.refreshChildren(t)};e.prototype.getValue=function(t,e){var i,s,r={show:\"»\",\"default-state\":\"$:/temp/appear/\"};if(t===undefined){i=this.wiki.getTiddler(\"$:/plugins/tobibeer/appear/defaults/\"+e);if(i){s=i.getFieldString(\"undefined\");if(!s||s===\"false\"){t=i.getFieldString(\"text\")}}}if(t===undefined){t=r[e]}return t};e.prototype.setAttributes=function(t,e){var i=this,s={};$tw.utils.each(Object.keys(this.attr.map[e]),function(r){var a,h=i.attr.rename[r];if(!h){h=r}a=i.getValue(i.attr[e][r],r);if(h===\"class\"){a=[\"appear\",\"appear-\"+e,e===\"reveal\"&&i.keep?\"tc-popup-keep\":\"\",i.mode?\"appear-\"+i.mode:\"\",i.once?\"appear-once\":\"\",a||\"\"].join(\" \")}if(a!==undefined){if(h===\"tag\"){t.tag=a}else{s[h]={type:\"string\",value:a}}}});return s};e.prototype.getHandlerCache=function(t,e){var s=i[t];if(!s||e){i[t]={handled:{},handle:{}};s=i[t]}return s};e.prototype.refreshHandler=function(){var t=this,e=this.getHandlerCache(this.handle),s=e.handle;if(Object.keys(s).length){$tw.utils.each(s,function(e,i){t.removeChildNode(i);t.children.push(t.makeChildWidget(e));t.children[t.children.length-1].render(t.parentDomNode,t.nextSibling)});i[this.handle].handle={}}};e.prototype.removeChildNode=function(t){var e=this;$tw.utils.each(this.children,function(i,s){if(i.children[0].state===t){i.removeChildDomNodes();e.children.splice(s);return false}})};e.prototype.addToHandlerCache=function(t){var e=this,i=t.attributes.state.value,s=this.getHandlerCache(this.handler),r=s.handled[i],a={type:\"vars\",children:[t],attributes:{}};$tw.utils.each((this.handlerVariables||\"\").split(\" \"),function(t){t=t.trim();if(t){a.attributes[t]={type:\"string\",value:(e.getVariable(t)||\"\").toString()}}});if(a!==r){s.handle[i]=a;this.wiki.setText(\"$:/temp/appear-handler/\"+this.handler,\"text\",undefined,i)}};exports.appear=e})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tobibeer/appear/defaults/show": {
"title": "$:/plugins/tobibeer/appear/defaults/show",
"text": "»"
},
"$:/plugins/tobibeer/appear/defaults/mode": {
"title": "$:/plugins/tobibeer/appear/defaults/mode",
"text": "block"
},
"$:/plugins/tobibeer/appear/defaults/keep": {
"title": "$:/plugins/tobibeer/appear/defaults/keep",
"text": "yes"
},
"$:/plugins/tobibeer/appear/defaults/button-class": {
"title": "$:/plugins/tobibeer/appear/defaults/button-class",
"text": "tc-btn-invisible tc-tiddlylink"
},
"$:/plugins/tobibeer/appear/defaults/default-state": {
"title": "$:/plugins/tobibeer/appear/defaults/default-state",
"text": "$:/temp/appear/"
},
"$:/plugins/tobibeer/appear/popup.js": {
"title": "$:/plugins/tobibeer/appear/popup.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/appear/popup.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nAn enhanced version of the core Popup to support:\r\n* absolute popups\r\n* preview popups\r\n* popup z-index\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/utils/dom/popup.js\").Popup,e=require(\"$:/core/modules/widgets/reveal.js\").reveal,s=e.prototype.refresh;t.prototype.show=function(t){var e,s=t.domNode,p=$tw.utils.hasClass(s,\"tc-popup-absolute\"),o=this.popupInfo(s),i=function(t){var e=t,s=0,p=0;do{s+=e.offsetLeft||0;p+=e.offsetTop||0;e=e.offsetParent}while(e);return{left:s,top:p}},l={left:s.offsetLeft,top:s.offsetTop};e=o.popupLevel;if(o.isHandle){e++}this.cancel(e);if(this.findPopup(t.title)===-1){this.popups.push({title:t.title,wiki:t.wiki,domNode:s})}l=p?i(s):l;t.wiki.setTextReference(t.title,\"(\"+l.left+\",\"+l.top+\",\"+s.offsetWidth+\",\"+s.offsetHeight+\")\");if(this.popups.length>0){this.rootElement.addEventListener(\"click\",this,true)}};t.prototype.popupInfo=function(t){var e,s=false,p=t;while(p&&e===undefined){if($tw.utils.hasClass(p,\"tc-popup-handle\")||$tw.utils.hasClass(p,\"tc-popup-keep\")){s=true}if($tw.utils.hasClass(p,\"tc-reveal\")&&($tw.utils.hasClass(p,\"tc-popup\")||$tw.utils.hasClass(p,\"tc-popup-handle\"))){e=parseInt(p.style.zIndex)-1e3}p=p.parentNode}var o={popupLevel:e||0,isHandle:s};return o};t.prototype.handleEvent=function(t){if(t.type===\"click\"){var e=this.popupInfo(t.target),s=e.popupLevel-1;if(e.isHandle){if(s<0){s=1}else{s++}}this.cancel(s)}};e.prototype.refresh=function(){var t,e,p=this.isOpen;e=s.apply(this,arguments);t=this.domNodes[0];if(this.isOpen&&(p!==this.isOpen||!t.style.zIndex)&&t&&(this.type===\"popup\"||$tw.utils.hasClass(t,\"tc-block-dropdown\")&&$tw.utils.hasClass(t,\"tc-reveal\"))){t.style.zIndex=1e3+$tw.popup.popups.length}return e}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/appear/readme": {
"title": "$:/plugins/tobibeer/appear/readme",
"text": "This plugin provides the ''$appear'' widget that can render popups and sliders (inline or block) as well as accordion menus.\n\n!! Attributes\r\n; type\r\n: set to `popup` to have the content appear as a popup\r\n; show\r\n: the button label\r\n; hide\r\n: the hide button label\r\n; mode\r\n: either `block` or `inline`, with respect to the inner content\r\n: any other mode is interpreted as block mode, without the default styles applying, e.g. drop-shadows\r\n; once\r\n: allows to click the button once, then hides it (unless the state is deleted)\r\n; $state\r\n: the widget calculates a state for you, use this to append a simple id\r\n; state\r\n: alternatively, specify a fully qualified state\r\n; keep\r\n: make popups sticky when `yes` or `true`\r\n; handle / handler / variables\r\n: allows to take the popup contents out of the flow and render them elsewhere on the page\r\n: required to properly create popups in table cells and other constained elements\r\n: specify variables to take along\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#appear\r\n"
},
"$:/plugins/tobibeer/appear/styles": {
"title": "$:/plugins/tobibeer/appear/styles",
"tags": "$:/tags/Stylesheet",
"text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html\n\n<pre>.tc-reveal.appear-block,\r\n.tc-popup.appear {\r\n\tborder-radius: 5px;\r\n\tpadding: 1px 1em;\r\n\t<<box-shadow \"2px 2px 4px rgba(0,0,0,0.3)\">>;\r\n}\r\n.tc-popup.appear {\r\n\tpadding: 0 1em;\r\n\tbackground: <<colour background>>;\r\n}\r\n.appear-reveal.appear-inline{\r\nmargin-left:5px;\r\n}\r\n.appear-reveal.appear-inline.appear-once{\r\nmargin-left:0;\r\n}</pre>"
}
}
}
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html
<pre>.tc-reveal.appear-block,
.tc-popup.appear {
border-radius: 5px;
padding: 1px 1em;
background: #ffffff;
<<box-shadow "2px 2px 4px rgba(0,0,0,0.3)">>;
}
.tc-popup.appear {
padding: 0 1em;
background: #999999;
}
.appear-reveal.appear-inline{
margin-left:5px;
background: #bbbbff;
}
.appear-reveal.appear-inline.appear-once{
margin-left:0;
}</pre>
{
"tiddlers": {
"$:/plugins/tobibeer/inc/buttons/open": {
"title": "$:/plugins/tobibeer/inc/buttons/open",
"text": "<$button tooltip=\"Open this tiddler\" class=<<tv-config-toolbar-class>>>\r\n<$action-navigate/>\r\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\r\n{{$:/core/images/down-arrow}}\r\n</$list>\r\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\r\n<span class=\"tc-btn-text\">open</span>\r\n</$list>\r\n</$button>"
},
"$:/plugins/tobibeer/inc/macro": {
"title": "$:/plugins/tobibeer/inc/macro",
"tags": "$:/tags/Macro",
"text": "\\define tb-inc(tiddler)\r\n<div class=\"tb-inc\" title=\"\"\"transcluded tiddler '$tiddler$'\"\"\">\r\n<$tiddler tiddler=\"\"\"$tiddler$\"\"\">\r\n<div class=\"tb-inc-controls tc-tiddler-controls\">\r\n<$list filter=\"[list[$:/plugins/tobibeer/inc/toolbar!!text]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\r\n</div>\r\n<div class=\"tb-inc-tiddler\">\r\n<$transclude mode=block/>\r\n</div>\r\n</$tiddler>\r\n</div>\r\n\\end\r\n\\define {(tiddler)\r\n<$reveal type=\"match\" text=\"\"\"$tiddler$\"\"\" default=\"\">\r\n<$macrocall $name=\"tb-inc\" tiddler=<<currentTiddler>>/>\r\n</$reveal>\r\n<$reveal type=\"nomatch\" text=\"\"\"$tiddler$\"\"\" default=\"\">\r\n<$macrocall $name=\"tb-inc\" tiddler=\"\"\"$tiddler$\"\"\"/>\r\n</$reveal>\r\n\\end"
},
"$:/plugins/tobibeer/inc/readme": {
"title": "$:/plugins/tobibeer/inc/readme",
"text": "Provides the macro `<<{>>` that allows to transclude tiddlers with an on-hover toolbar for editing.\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#inc"
},
"$:/plugins/tobibeer/inc/styles": {
"title": "$:/plugins/tobibeer/inc/styles",
"tags": "$:/tags/Stylesheet",
"type": "text/css",
"text": ".tb-inc-controls{\r\nmargin-top:-2em;\r\npadding: 5px;\r\ndisplay:none;\r\n}\r\n.tb-inc-tab-content .tb-inc{\r\nmargin:0;\r\npadding:0;\r\nposition:relative;\r\n}\r\n.tb-inc-tab-content .tb-inc-controls{\r\nposition:absolute;\r\nmargin-top:-5px;\r\nright:0;\r\ntop:0;\r\n}\r\n.tb-inc:hover > .tb-inc-controls{\r\ndisplay:block;\r\nfloat:right;\r\n}"
},
"$:/plugins/tobibeer/inc/templates/tabs": {
"title": "$:/plugins/tobibeer/inc/templates/tabs",
"text": "<div class=\"tb-inc-tab-content\">\n<$macrocall $name=\"{\" tiddler=<<currentTab>>/>\n</div>"
},
"$:/plugins/tobibeer/inc/toolbar": {
"title": "$:/plugins/tobibeer/inc/toolbar",
"text": "$:/plugins/tobibeer/inc/buttons/open\n\n$:/core/ui/Buttons/edit\n\n$:/core/ui/Buttons/delete"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/plantuml/defaults/edit": {
"title": "$:/plugins/tobibeer/plantuml/defaults/edit",
"text": "true"
},
"$:/plugins/tobibeer/plantuml/lingo/edit": {
"title": "$:/plugins/tobibeer/plantuml/lingo/edit",
"text": "globally enable edit links for all output (\"yes\" or \"true\")"
},
"$:/plugins/tobibeer/plantuml/lingo/edit-link": {
"title": "$:/plugins/tobibeer/plantuml/lingo/edit-link",
"text": "» edit:"
},
"$:/plugins/tobibeer/plantuml/readme": {
"title": "$:/plugins/tobibeer/plantuml/readme",
"text": "The plugin $:/plugins/tobibeer/plantuml provides:\n\n; `[[plantuml[<uml>]]]`\r\n: a widget to render [[PlantUML|http://plantuml.org]] diagrams online as either image or text\r\n: allows the same attributes as <<x \"Images in WikiText\">>\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#plantuml"
},
"$:/plugins/tobibeer/plantuml/styles": {
"title": "$:/plugins/tobibeer/plantuml/styles",
"tags": "$:/tags/Stylesheet",
"text": ".tc-plantuml-txt {\r\n\tborder:0;\r\n\twidth:100%;\r\n\theight:400px;\r\n}\r\n.tc-plantuml-edit.tc-tiddlylink-external{\r\n text-decoration:none;\r\n}"
},
"$:/plugins/tobibeer/plantuml/utils.js": {
"title": "$:/plugins/tobibeer/plantuml/utils.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/plantuml/utils.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nUtility functions to handle plantuml...\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var r={encodePlantUML:function(r,e){return e===\"src\"?r:(e===\"edit\"?\"http://www.planttext.com/planttext?text=\":\"http://www.plantuml.com/plantuml/\"+e+\"/\")+this.encode64(this.deflate()(unescape(encodeURIComponent(r))))},encode64:function(r){var e,n=\"\";for(e=0;e<r.length;e+=3){if(e+2==r.length){n+=this.append3bytes(r.charCodeAt(e),r.charCodeAt(e+1),0)}else if(e+1==r.length){n+=this.append3bytes(r.charCodeAt(e),0,0)}else{n+=this.append3bytes(r.charCodeAt(e),r.charCodeAt(e+1),r.charCodeAt(e+2))}}return n},append3bytes:function(r,e,n){var a=\"\",f=r>>2,i=(r&3)<<4|e>>4,t=(e&15)<<2|n>>6,l=n&63;a+=this.encode6bit(f&63);a+=this.encode6bit(i&63);a+=this.encode6bit(t&63);a+=this.encode6bit(l&63);return a},encode6bit:function(r){if(r<10){return String.fromCharCode(48+r)}r-=10;if(r<26){return String.fromCharCode(65+r)}r-=26;if(r<26){return String.fromCharCode(97+r)}r-=26;if(r===0){return\"-\"}if(r===1){return\"_\"}return\"?\"}};r.deflate=function(){var r=32768;var e=0;var n=1;var a=2;var f=6;var i=true;var t=32768;var l=64;var v=1024*8;var o=2*r;var u=3;var c=258;var s=16;var d=8192;var h=13;var w=d;var _=1<<h;var x=_-1;var y=r-1;var m=0;var A=4096;var p=c+u+1;var b=r-p;var g=1;var C=15;var I=7;var k=29;var S=256;var j=256;var z=S+1+k;var U=30;var L=19;var M=16;var P=17;var R=18;var q=2*z+1;var B=parseInt((h+u-1)/u);var D;var E,F;var G;var H=null;var J,K;var N;var O;var Q;var T;var V;var W;var X;var Y;var Z;var $;var rr;var er;var nr;var ar;var fr;var ir;var tr;var lr;var vr;var or;var ur;var cr;var sr;var dr;var hr;var wr;var _r;var xr;var yr;var mr;var Ar;var pr;var br;var gr;var Cr;var Ir;var kr;var Sr;var jr;var zr;var Ur;var Lr;var Mr;var Pr;var Rr;var qr;var Br;var Dr;var Er;var Fr;function Gr(){this.fc=0;this.dl=0}function Hr(){this.dyn_tree=null;this.static_tree=null;this.extra_bits=null;this.extra_base=0;this.elems=0;this.max_length=0;this.max_code=0}function Jr(r,e,n,a){this.good_length=r;this.max_lazy=e;this.nice_length=n;this.max_chain=a}function Kr(){this.next=null;this.len=0;this.ptr=new Array(v);this.off=0}var Nr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var Or=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var Qr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var Tr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var Vr=[new Jr(0,0,0,0),new Jr(4,4,8,4),new Jr(4,5,16,8),new Jr(4,6,32,32),new Jr(4,4,16,16),new Jr(8,16,32,32),new Jr(8,16,128,128),new Jr(8,32,128,256),new Jr(32,128,258,1024),new Jr(32,258,258,4096)];function Wr(r){var e;if(!r)r=f;else if(r<1)r=1;else if(r>9)r=9;ur=r;G=false;tr=false;if(H!=null)return;D=E=F=null;H=new Array(v);O=new Array(o);Q=new Array(w);T=new Array(t+l);V=new Array(1<<s);dr=new Array(q);for(e=0;e<q;e++)dr[e]=new Gr;hr=new Array(2*U+1);for(e=0;e<2*U+1;e++)hr[e]=new Gr;wr=new Array(z+2);for(e=0;e<z+2;e++)wr[e]=new Gr;_r=new Array(U);for(e=0;e<U;e++)_r[e]=new Gr;xr=new Array(2*L+1);for(e=0;e<2*L+1;e++)xr[e]=new Gr;yr=new Hr;mr=new Hr;Ar=new Hr;pr=new Array(C+1);br=new Array(2*z+1);Ir=new Array(2*z+1);kr=new Array(c-u+1);Sr=new Array(512);jr=new Array(k);zr=new Array(U);Ur=new Array(parseInt(d/8))}function Xr(){D=E=F=null;H=null;O=null;Q=null;T=null;V=null;dr=null;hr=null;wr=null;_r=null;xr=null;yr=null;mr=null;Ar=null;pr=null;br=null;Ir=null;kr=null;Sr=null;jr=null;zr=null;Ur=null}function Yr(r){r.next=D;D=r}function Zr(){var r;if(D!=null){r=D;D=D.next}else r=new Kr;r.next=null;r.len=r.off=0;return r}function $r(e){return V[r+e]}function re(e,n){return V[r+e]=n}function ee(r){H[K+J++]=r;if(K+J==v)Pe()}function ne(r){r&=65535;if(K+J<v-2){H[K+J++]=r&255;H[K+J++]=r>>>8}else{ee(r&255);ee(r>>>8)}}function ae(){Z=(Z<<B^O[fr+u-1]&255)&x;$=$r(Z);V[fr&y]=$;re(Z,fr)}function fe(r,e){Ue(e[r].fc,e[r].dl)}function ie(r){return(r<256?Sr[r]:Sr[256+(r>>7)])&255}function te(r,e,n){return r[e].fc<r[n].fc||r[e].fc==r[n].fc&&Ir[e]<=Ir[n]}function le(r,e,n){var a;for(a=0;a<n&&Fr<Er.length;a++)r[e+a]=Er.charCodeAt(Fr++)&255;return a}function ve(){var e;for(e=0;e<_;e++)V[r+e]=0;or=Vr[ur].max_lazy;cr=Vr[ur].good_length;if(!i)sr=Vr[ur].nice_length;vr=Vr[ur].max_chain;fr=0;Y=0;lr=le(O,0,2*r);if(lr<=0){tr=true;lr=0;return}tr=false;while(lr<p&&!tr)ue();Z=0;for(e=0;e<u-1;e++){Z=(Z<<B^O[e]&255)&x}}function oe(r){var e=vr;var n=fr;var a;var f;var t=ar;var l=fr>b?fr-b:m;var v=fr+c;var o=O[n+t-1];var u=O[n+t];if(ar>=cr)e>>=2;do{a=r;if(O[a+t]!=u||O[a+t-1]!=o||O[a]!=O[n]||O[++a]!=O[n+1]){continue}n+=2;a++;do{}while(O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&O[++n]==O[++a]&&n<v);f=c-(v-n);n=v-c;if(f>t){ir=r;t=f;if(i){if(f>=c)break}else{if(f>=sr)break}o=O[n+t-1];u=O[n+t]}}while((r=V[r&y])>l&&--e!=0);return t}function ue(){var e,n;var a=o-lr-fr;if(a==-1){a--}else if(fr>=r+b){for(e=0;e<r;e++)O[e]=O[e+r];ir-=r;fr-=r;Y-=r;for(e=0;e<_;e++){n=$r(e);re(e,n>=r?n-r:m)}for(e=0;e<r;e++){n=V[e];V[e]=n>=r?n-r:m}a+=r}if(!tr){e=le(O,fr+lr,a);if(e<=0)tr=true;else lr+=e}}function ce(){while(lr!=0&&E==null){var r;ae();if($!=m&&fr-$<=b){nr=oe($);if(nr>lr)nr=lr}if(nr>=u){r=Se(fr-ir,nr-u);lr-=nr;if(nr<=or){nr--;do{fr++;ae()}while(--nr!=0);fr++}else{fr+=nr;nr=0;Z=O[fr]&255;Z=(Z<<B^O[fr+1]&255)&x}}else{r=Se(0,O[fr]&255);lr--;fr++}if(r){ke(0);Y=fr}while(lr<p&&!tr)ue()}}function se(){while(lr!=0&&E==null){ae();ar=nr;rr=ir;nr=u-1;if($!=m&&ar<or&&fr-$<=b){nr=oe($);if(nr>lr)nr=lr;if(nr==u&&fr-ir>A){nr--}}if(ar>=u&&nr<=ar){var r;r=Se(fr-1-rr,ar-u);lr-=ar-1;ar-=2;do{fr++;ae()}while(--ar!=0);er=0;nr=u-1;fr++;if(r){ke(0);Y=fr}}else if(er!=0){if(Se(0,O[fr-1]&255)){ke(0);Y=fr}fr++;lr--}else{er=1;fr++;lr--}while(lr<p&&!tr)ue()}}function de(){if(tr)return;W=0;X=0;_e();ve();E=null;J=0;K=0;if(ur<=3){ar=u-1;nr=0}else{nr=u-1;er=0}N=false}function he(r,e,n){var a;if(!G){de();G=true;if(lr==0){N=true;return 0}}if((a=we(r,e,n))==n)return n;if(N)return a;if(ur<=3)ce();else se();if(lr==0){if(er!=0)Se(0,O[fr-1]&255);ke(1);N=true}return a+we(r,a+e,n-a)}function we(r,e,n){var a,f,i;a=0;while(E!=null&&a<n){f=n-a;if(f>E.len)f=E.len;for(i=0;i<f;i++)r[e+a+i]=E.ptr[E.off+i];E.off+=f;E.len-=f;a+=f;if(E.len==0){var t;t=E;E=E.next;Yr(t)}}if(a==n)return a;if(K<J){f=n-a;if(f>J-K)f=J-K;for(i=0;i<f;i++)r[e+a+i]=H[K+i];K+=f;a+=f;if(J==K)J=K=0}return a}function _e(){var r;var e;var n;var a;var f;if(_r[0].dl!=0)return;yr.dyn_tree=dr;yr.static_tree=wr;yr.extra_bits=Nr;yr.extra_base=S+1;yr.elems=z;yr.max_length=C;yr.max_code=0;mr.dyn_tree=hr;mr.static_tree=_r;mr.extra_bits=Or;mr.extra_base=0;mr.elems=U;mr.max_length=C;mr.max_code=0;Ar.dyn_tree=xr;Ar.static_tree=null;Ar.extra_bits=Qr;Ar.extra_base=0;Ar.elems=L;Ar.max_length=I;Ar.max_code=0;n=0;for(a=0;a<k-1;a++){jr[a]=n;for(r=0;r<1<<Nr[a];r++)kr[n++]=a}kr[n-1]=a;f=0;for(a=0;a<16;a++){zr[a]=f;for(r=0;r<1<<Or[a];r++){Sr[f++]=a}}f>>=7;for(;a<U;a++){zr[a]=f<<7;for(r=0;r<1<<Or[a]-7;r++)Sr[256+f++]=a}for(e=0;e<=C;e++)pr[e]=0;r=0;while(r<=143){wr[r++].dl=8;pr[8]++}while(r<=255){wr[r++].dl=9;pr[9]++}while(r<=279){wr[r++].dl=7;pr[7]++}while(r<=287){wr[r++].dl=8;pr[8]++}Ae(wr,z+1);for(r=0;r<U;r++){_r[r].dl=5;_r[r].fc=Le(r,5)}xe()}function xe(){var r;for(r=0;r<z;r++)dr[r].fc=0;for(r=0;r<U;r++)hr[r].fc=0;for(r=0;r<L;r++)xr[r].fc=0;dr[j].fc=1;Br=Dr=0;Lr=Mr=Pr=0;Rr=0;qr=1}function ye(r,e){var n=br[e];var a=e<<1;while(a<=gr){if(a<gr&&te(r,br[a+1],br[a]))a++;if(te(r,n,br[a]))break;br[e]=br[a];e=a;a<<=1}br[e]=n}function me(r){var e=r.dyn_tree;var n=r.extra_bits;var a=r.extra_base;var f=r.max_code;var i=r.max_length;var t=r.static_tree;var l;var v,o;var u;var c;var s;var d=0;for(u=0;u<=C;u++)pr[u]=0;e[br[Cr]].dl=0;for(l=Cr+1;l<q;l++){v=br[l];u=e[e[v].dl].dl+1;if(u>i){u=i;d++}e[v].dl=u;if(v>f)continue;pr[u]++;c=0;if(v>=a)c=n[v-a];s=e[v].fc;Br+=s*(u+c);if(t!=null)Dr+=s*(t[v].dl+c)}if(d==0)return;do{u=i-1;while(pr[u]==0)u--;pr[u]--;pr[u+1]+=2;pr[i]--;d-=2}while(d>0);for(u=i;u!=0;u--){v=pr[u];while(v!=0){o=br[--l];if(o>f)continue;if(e[o].dl!=u){Br+=(u-e[o].dl)*e[o].fc;e[o].fc=u}v--}}}function Ae(r,e){var n=new Array(C+1);var a=0;var f;var i;for(f=1;f<=C;f++){a=a+pr[f-1]<<1;n[f]=a}for(i=0;i<=e;i++){var t=r[i].dl;if(t==0)continue;r[i].fc=Le(n[t]++,t)}}function pe(r){var e=r.dyn_tree;var n=r.static_tree;var a=r.elems;var f,i;var t=-1;var l=a;gr=0;Cr=q;for(f=0;f<a;f++){if(e[f].fc!=0){br[++gr]=t=f;Ir[f]=0}else e[f].dl=0}while(gr<2){var v=br[++gr]=t<2?++t:0;e[v].fc=1;Ir[v]=0;Br--;if(n!=null)Dr-=n[v].dl}r.max_code=t;for(f=gr>>1;f>=1;f--)ye(e,f);do{f=br[g];br[g]=br[gr--];ye(e,g);i=br[g];br[--Cr]=f;br[--Cr]=i;e[l].fc=e[f].fc+e[i].fc;if(Ir[f]>Ir[i]+1)Ir[l]=Ir[f];else Ir[l]=Ir[i]+1;e[f].dl=e[i].dl=l;br[g]=l++;ye(e,g)}while(gr>=2);br[--Cr]=br[g];me(r);Ae(e,t)}function be(r,e){var n;var a=-1;var f;var i=r[0].dl;var t=0;var l=7;var v=4;if(i==0){l=138;v=3}r[e+1].dl=65535;for(n=0;n<=e;n++){f=i;i=r[n+1].dl;if(++t<l&&f==i)continue;else if(t<v)xr[f].fc+=t;else if(f!=0){if(f!=a)xr[f].fc++;xr[M].fc++}else if(t<=10)xr[P].fc++;else xr[R].fc++;t=0;a=f;if(i==0){l=138;v=3}else if(f==i){l=6;v=3}else{l=7;v=4}}}function ge(r,e){var n;var a=-1;var f;var i=r[0].dl;var t=0;var l=7;var v=4;if(i==0){l=138;v=3}for(n=0;n<=e;n++){f=i;i=r[n+1].dl;if(++t<l&&f==i){continue}else if(t<v){do{fe(f,xr)}while(--t!=0)}else if(f!=0){if(f!=a){fe(f,xr);t--}fe(M,xr);Ue(t-3,2)}else if(t<=10){fe(P,xr);Ue(t-3,3)}else{fe(R,xr);Ue(t-11,7)}t=0;a=f;if(i==0){l=138;v=3}else if(f==i){l=6;v=3}else{l=7;v=4}}}function Ce(){var r;be(dr,yr.max_code);be(hr,mr.max_code);pe(Ar);for(r=L-1;r>=3;r--){if(xr[Tr[r]].dl!=0)break}Br+=3*(r+1)+5+5+4;return r}function Ie(r,e,n){var a;Ue(r-257,5);Ue(e-1,5);Ue(n-4,4);for(a=0;a<n;a++){Ue(xr[Tr[a]].dl,3)}ge(dr,r-1);ge(hr,e-1)}function ke(r){var f,i;var t;var l;l=fr-Y;Ur[Pr]=Rr;pe(yr);pe(mr);t=Ce();f=Br+3+7>>3;i=Dr+3+7>>3;if(i<=f)f=i;if(l+4<=f&&Y>=0){var v;Ue((e<<1)+r,3);Me();ne(l);ne(~l);for(v=0;v<l;v++)ee(O[Y+v])}else if(i==f){Ue((n<<1)+r,3);je(wr,_r)}else{Ue((a<<1)+r,3);Ie(yr.max_code+1,mr.max_code+1,t+1);je(dr,hr)}xe();if(r!=0)Me()}function Se(r,e){T[Lr++]=e;if(r==0){dr[e].fc++}else{r--;dr[kr[e]+S+1].fc++;hr[ie(r)].fc++;Q[Mr++]=r;Rr|=qr}qr<<=1;if((Lr&7)==0){Ur[Pr++]=Rr;Rr=0;qr=1}if(ur>2&&(Lr&4095)==0){var n=Lr*8;var a=fr-Y;var f;for(f=0;f<U;f++){n+=hr[f].fc*(5+Or[f])}n>>=3;if(Mr<parseInt(Lr/2)&&n<parseInt(a/2))return true}return Lr==d-1||Mr==w}function je(r,e){var n;var a;var f=0;var i=0;var t=0;var l=0;var v;var o;if(Lr!=0)do{if((f&7)==0)l=Ur[t++];a=T[f++]&255;if((l&1)==0){fe(a,r)}else{v=kr[a];fe(v+S+1,r);o=Nr[v];if(o!=0){a-=jr[v];Ue(a,o)}n=Q[i++];v=ie(n);fe(v,e);o=Or[v];if(o!=0){n-=zr[v];Ue(n,o)}}l>>=1}while(f<Lr);fe(j,r)}var ze=16;function Ue(r,e){if(X>ze-e){W|=r<<X;ne(W);W=r>>ze-X;X+=e-ze}else{W|=r<<X;X+=e}}function Le(r,e){var n=0;do{n|=r&1;r>>=1;n<<=1}while(--e>0);return n>>1}function Me(){if(X>8){ne(W)}else if(X>0){ee(W)}W=0;X=0}function Pe(){if(J!=0){var r,e;r=Zr();if(E==null)E=F=r;else F=F.next=r;r.len=J-K;for(e=0;e<r.len;e++)r.ptr[e]=H[K+e];J=K=0}}return function Re(r,e){var n,a;Er=r;Fr=0;if(typeof e==\"undefined\")e=f;Wr(e);var i=new Array(1024);var t=[];while((n=he(i,0,i.length))>0){var l=new Array(n);for(a=0;a<n;a++){l[a]=String.fromCharCode(i[a])}t[t.length]=l.join(\"\")}Er=null;return t.join(\"\")}};exports.plantuml=r})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/plantuml/widget.js": {
"title": "$:/plugins/tobibeer/plantuml/widget.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/plantuml/widget.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nA widget to render plantuml\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var t=require(\"$:/core/modules/widgets/widget.js\").widget;var e=function(t,e){this.initialise(t,e)};e.prototype=new t;e.prototype.render=function(t,e){this.parentDomNode=t;this.computeAttributes();this.execute();var i,s,u,r,a=this.node,l=[],n=function(t){var e=t;while(e){if(e.nodeName&&(e.nodeName===\"a\"||e.nodeName===\"button\")){return 1}e=e.parentNode}return 0};switch(this.output){case\"src\":a.type=\"element\";a.tag=\"pre\";a.children=[{type:\"text\",text:this.source}];l.push(a);break;case\"txt\":a.type=\"element\";a.tag=\"iframe\";a.attributes.src={type:\"string\",value:$tw.utils.plantuml.encodePlantUML(this.source,this.output)};i=a.attributes[\"class\"]?a.attributes[\"class\"].value+\" \":\"\";a.attributes[\"class\"]={type:\"string\",value:i+\"tc-plantuml-txt\"};s=a.attributes.height?\"height:\"+a.attributes.height.value+\";\":\"\";r=a.attributes.width?\"width:\"+a.attributes.width.value+\";\":\"\";if(s||r){a.attributes.style={type:\"string\",value:s+r}}if(a.attributes.tooltip&&!this.edit){l.push({type:\"element\",tag:\"div\",attributes:{\"class\":{type:\"string\",value:\"tc-plantuml-txt-title\"}},children:[{type:\"text\",text:a.attributes.tooltip.value}]})}l.push(a);break;default:a.attributes.source={type:\"string\",value:$tw.utils.plantuml.encodePlantUML(this.source,this.output)};l.push(a)}if(this.edit&&!n(this.parentDomNode)){u={type:\"element\",tag:\"a\",attributes:{\"class\":{type:\"string\",value:\"tc-plantuml-edit tc-tiddlylink-external\"},target:{type:\"string\",value:\"_blank\"},href:{type:\"string\",value:$tw.utils.plantuml.encodePlantUML(this.source,\"edit\")}}};if(this.output===\"txt\"){u.children=[{type:\"text\",text:this.wiki.getTextReference(\"$:/plugins/tobibeer/plantuml/lingo/edit-link\")+(a.attributes.tooltip?a.attributes.tooltip.value:\"\")}];l.unshift(u)}else{u.children=l;l=[u]}}this.makeChildWidgets(l);this.renderChildren(this.parentDomNode,e)};e.prototype.execute=function(){var t=this;this.source=this.getAttribute(\"source\",\"\");this.output=this.getAttribute(\"output\",\"svg\");this.edit=this.getAttribute(\"edit\");if(this.edit===undefined){this.edit=this.wiki.getTextReference(\"$:/plugins/tobibeer/plantuml/defaults/edit\")}this.edit=[\"yes\",\"true\"].indexOf((this.edit||\"\").toLowerCase())>=0;this.node={type:\"image\",attributes:{}};[\"width\",\"height\",\"class\",\"tooltip\",\"alt\"].map(function(e){var i=t.getAttribute(e);if(i!==undefined){t.node.attributes[e]={type:\"string\",value:i}}})};e.prototype.refresh=function(){var t=this.computeAttributes();if(t.source||t.width||t.height||t[\"class\"]||t.tooltip||t.output||t.edit){this.refreshSelf();return true}else{return false}};exports.plantuml=e})();",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/tobibeer/plantuml/wikirule.js": {
"title": "$:/plugins/tobibeer/plantuml/wikirule.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/plantuml/wikirule.js\r\ntype: application/javascript\r\nmodule-type: wikirule\r\n\r\nWiki text inline rule for embedding plantuml from http://plantuml.org\r\n\r\n[[plantuml[<uml>]]]\r\n[[plantuml width=23 height=24 [<uml>]]]\r\n[[plantuml width={{!!width}} height={{!!height}} tooltip=\"nice stuff\"[<uml>]]]\r\n```\r\n\r\nThis widget is entirely modeled after the core ImageWidget\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";exports.name=\"plantuml\";exports.types={inline:true,block:true};exports.init=function(t){this.parser=t};exports.findNextMatch=function(t){this.nextPlantUML=this.findnextPlantUML(this.parser.source,t);return this.nextPlantUML?this.nextPlantUML.start:undefined};exports.parse=function(){this.parser.pos=this.nextPlantUML.end;return[this.nextPlantUML]};exports.findnextPlantUML=function(t,e){var n=/(\\[\\[plantuml)/g;n.lastIndex=e;var i=n.exec(t);while(i){var r=this.parsePlantUml(t,i.index);if(r){return r}n.lastIndex=i.index+1;i=n.exec(t)}return null};exports.parsePlantUml=function(t,e){var n,i={type:\"plantuml\",start:e,attributes:{}};e=$tw.utils.skipWhiteSpace(t,e);n=$tw.utils.parseTokenString(t,e,\"[[plantuml\");if(!n){return null}e=n.end;e=$tw.utils.skipWhiteSpace(t,e);if(t.charAt(e)!==\"[\"){var r=$tw.utils.parseAttribute(t,e);while(r){i.attributes[r.name]=r;e=r.end;e=$tw.utils.skipWhiteSpace(t,e);if(t.charAt(e)!==\"[\"){r=$tw.utils.parseAttribute(t,e)}else{r=null}}}e=$tw.utils.skipWhiteSpace(t,e);n=$tw.utils.parseTokenString(t,e,\"[\");if(!n){return null}e=n.end;e=$tw.utils.skipWhiteSpace(t,e);n=$tw.utils.parseTokenRegExp(t,e,/([^]+?)\\]\\]\\]/gm);if(!n){return null}e=n.end;i.attributes.source={type:\"string\",value:(n.match[1]||\"\").trim()};i.end=e;return i}})();",
"type": "application/javascript",
"module-type": "wikirule"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/preview/config": {
"title": "$:/plugins/tobibeer/preview/config",
"text": "\\define default()\r\n<dt>$(defaults)$$(option)$</dt>\r\n<dd>\r\n//{{$:/plugins/tobibeer/preview/lingo/$(option)$}}<$list\r\nfilter=\"[[$(option)$]prefix[template]]\">\r\n{{$(defaults)$$(option)$}}</$list>://<br>\r\n<$edit-text tag=input tiddler=\"$(defaults)$$(option)$\"/>\r\n</dd>\r\n\\end\n\n<dl class=\"preview-defaults\">\r\n<$vars defaults=\"$:/plugins/tobibeer/preview/defaults/\">\r\n<$list filter=\"[all[tiddlers+shadows]removeprefix<defaults>sort[title]]\" variable=\"option\">\r\n<<default>>\r\n</$list>\r\n</$vars>\r\n</dl>\r\n<style>.preview-defaults input {width:90%;}</style>"
},
"$:/plugins/tobibeer/preview/lingo/keys": {
"title": "$:/plugins/tobibeer/preview/lingo/keys",
"text": "modifier keys to trigger popup directly on-hover (ctrl, alt+shift, meta, etc...)"
},
"$:/plugins/tobibeer/preview/defaults/keys": {
"title": "$:/plugins/tobibeer/preview/defaults/keys",
"text": "CTRL"
},
"$:/plugins/tobibeer/preview/lingo/delay": {
"title": "$:/plugins/tobibeer/preview/lingo/delay",
"text": "delay popup for this many milliseconds"
},
"$:/plugins/tobibeer/preview/defaults/delay": {
"title": "$:/plugins/tobibeer/preview/defaults/delay",
"text": "1500"
},
"$:/plugins/tobibeer/preview/lingo/class": {
"title": "$:/plugins/tobibeer/preview/lingo/class",
"text": "css classes applied to the popup"
},
"$:/plugins/tobibeer/preview/defaults/class": {
"title": "$:/plugins/tobibeer/preview/defaults/class",
"text": "tc-popup-keep"
},
"$:/plugins/tobibeer/preview/lingo/not": {
"title": "$:/plugins/tobibeer/preview/lingo/not",
"text": "no preview for links inside elements with these classes"
},
"$:/plugins/tobibeer/preview/defaults/not": {
"title": "$:/plugins/tobibeer/preview/defaults/not",
"text": "tc-drop-down tc-sidebar-scrollable tc-topbar tc-tiddler-title"
},
"$:/plugins/tobibeer/preview/lingo/exclude": {
"title": "$:/plugins/tobibeer/preview/lingo/exclude",
"text": "no preview for links to tiddlers matching this filter"
},
"$:/plugins/tobibeer/preview/defaults/exclude": {
"title": "$:/plugins/tobibeer/preview/defaults/exclude",
"text": "[is[system]] [all[shadows]] [!has[text]]"
},
"$:/plugins/tobibeer/preview/lingo/template": {
"title": "$:/plugins/tobibeer/preview/lingo/template",
"text": "the preview template"
},
"$:/plugins/tobibeer/preview/defaults/template": {
"title": "$:/plugins/tobibeer/preview/defaults/template",
"text": "$:/plugins/tobibeer/preview/template"
},
"$:/plugins/tobibeer/preview/lingo/open": {
"title": "$:/plugins/tobibeer/preview/lingo/open",
"text": "view at ''<<WIKI>>''"
},
"$:/plugins/tobibeer/preview/keyboard.js": {
"title": "$:/plugins/tobibeer/preview/keyboard.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/keyboard.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\nFixes $:/core/modules/utils/dom/keyboard.js by providing an alternative.\r\nDo not use as an API, let's fix the core.\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var e={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,PAGEUP:33,PAGEDOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,INSERT:45,DELETE:46};exports.parseKeyDescriptorTB=function(t){var l,r,y,s=t.toUpperCase().split(\"+\"),K={keyCode:null,shiftKey:false,altKey:false,ctrlKey:false};for(y=0;y<s.length;y++){l=false;r=s[y];if(r.substr(0,1)===\"!\"){l=true;r=r.substr(1)}if(r===\"CTRL\"){K.ctrlKey=l?null:true}else if(r===\"SHIFT\"){K.shiftKey=l?null:true}else if(r===\"ALT\"){K.altKey=l?null:true}else if(r===\"META\"){K.metaKey=l?null:true}else if(e[r]){K.keyCode=e[r]}else{K.keyCode=r.charCodeAt(0)}}return K};exports.checkKeyDescriptorTB=function(e,t){var l=!!t.metaKey;return(t.keyCode===null||e.keyCode===t.keyCode)&&(t.shiftKey===null?!e.shiftKey:e.shiftKey===t.shiftKey)&&(t.altKey===null?!e.altKey:e.altKey===t.altKey)&&(t.ctrlKey===null?!e.ctrlKey:e.ctrlKey===t.ctrlKey)&&(t.metaKey===null?!e.metaKey:e.metaKey===l)}})();",
"type": "application/javascript",
"module-type": "utils"
},
"$:/plugins/tobibeer/preview/link.js": {
"title": "$:/plugins/tobibeer/preview/link.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/preview/link.js\r\ntype: application/javascript\r\nmodule-type: startup\r\n\r\nEnhances the link widget for on-hover previews\r\n\r\n@preserve\r\n\\*/\n(function(){var e,t=require(\"$:/core/modules/widgets/link.js\").link,i=t.prototype.render,o=t.prototype.handleClickEvent;t.prototype.render=function(){i.apply(this,arguments);var t=this,o=this.wiki,p=this.domNodes[0],r=o.getTiddler(t.to),n=\"$:/plugins/tobibeer/preview/defaults/\",u=\"$:/temp/tobibeer/preview-\",l=$tw.utils.parseKeyDescriptorTB(o.getTextReference(n+\"keys\",\"\").toUpperCase()),s=o.getTextReference(n+\"delay\").toUpperCase(),a=function(e){var i=$tw.popup.popupInfo(e),p=i.popupLevel;return o.getTextReference(u+p)&&o.getTextReference(u+p+\"-tiddler\")===t.to?null:i},f=function(){var i,r=a(p);if(r){i=r.popupLevel;clearTimeout(t.previewTimeout);$tw.popup.cancel(i);i++;o.setText(u+i+\"-tiddler\",\"text\",null,t.to);if($tw.popup.findPopup(u+i)===-1){setTimeout(function(){$tw.popup.triggerPopup({domNode:p,title:u+i,wiki:o});e=0},50)}}},d=function(){var e,i,r=1,u=o.getTextReference(n+\"not\",\"\");if(u){$tw.utils.each(u.split(\" \"),function(e){var t=p;while(t&&r){if($tw.utils.hasClass(t,e)){r=0;return false}t=t.parentNode}})}if(r){i=o.getTextReference(n+\"exclude\",\"\");e=i?o.filterTiddlers(i):[];if(e.indexOf(t.to)>=0){r=0}}return r};s=s!==undefined?parseInt(s):null;if(s!==null&&isNaN(s)){s=0}if(r){$tw.utils.addClass(p,\"tc-popup-handle\");$tw.utils.addClass(p,\"tc-popup-absolute\");[\"mouseover\",\"mouseout\"].forEach(function(i){p.addEventListener(i,function(o){var p=o||window.event;if(i===\"mouseover\"){if(d()){if(!p.keyCode){p.keyCode=0}if($tw.utils.checkKeyDescriptorTB(p,l)){if(!e){e=1;f()}}else if(s!==null){e=0;t.previewTimeout=setTimeout(f,s)}}}else{e=0;clearTimeout(t.previewTimeout)}})})}};t.prototype.handleClickEvent=function(){o.apply(this,arguments);clearTimeout(this.previewTimeout);$tw.popup.cancel(Math.max(0,$tw.popup.popupInfo(this.domNodes[0]).popupLevel))}})();",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/tobibeer/preview/popups": {
"title": "$:/plugins/tobibeer/preview/popups",
"tags": "$:/tags/PageTemplate",
"text": "\\define state(num)\n$:/temp/tobibeer/preview-$num$\n\\end\n\n\\define classes(num)\ntc-popup appear appear-block appear-reveal tc-preview-tiddler tc-preview-tiddler-$num$ $(default-classes)$\n\\end\n\n\\define level(num)\n<$reveal tag=\"div\" type=\"popup\" state=<<state $num$>> class=<<classes $num$>>>\n<$tiddler tiddler={{$:/temp/tobibeer/preview-$num$-tiddler}}>\n<$transclude tiddler={{$:/plugins/tobibeer/preview/defaults/template}} mode=\"block\"/>\n</$tiddler>\n</$reveal>\n\\end\n\n<$vars default-classes={{$:/plugins/tobibeer/preview/defaults/class}}>\n<$list filter=\"1 2 3 4 5 6 7 8 9\">\n<$macrocall $name=\"level\" num={{!!title}}/>\n</$list>\n</$vars>"
},
"$:/plugins/tobibeer/preview/readme": {
"title": "$:/plugins/tobibeer/preview/readme",
"text": "The plugin $:/plugins/tobibeer/preview enhances the core <<x LinkWidget>> to display a preview of tiddlers when hovering an internal link.\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#preview"
},
"$:/plugins/tobibeer/preview/styles": {
"title": "$:/plugins/tobibeer/preview/styles",
"tags": "$:/tags/Stylesheet",
"text": ".tc-popup.tc-preview-tiddler{\r\n\tmax-width:600px;\r\n\twidth:100%;\r\n\tpadding:1em;\r\n}"
},
"$:/plugins/tobibeer/preview/template": {
"title": "$:/plugins/tobibeer/preview/template",
"text": "{{||$:/core/ui/ViewTemplate/tags}}\n\n<$transclude mode=\"block\"/>"
}
}
}
[is[system]] [all[shadows]] [!has[text]] [!tags[definitions]]
tc-drop-down tc-sidebar-scrollable tc-topbar tc-tiddler-title toc-item toc-item-selected
{
"tiddlers": {
"$:/plugins/tobibeer/random/filter.js": {
"title": "$:/plugins/tobibeer/random/filter.js",
"text": "/*\\\ntitle: $:/plugins/tobibeer/random/filter.js\ntype: application/javascript\nmodule-type: filteroperator\n\na filter to...\n\n@preserve\n\\*/\n(function(){\"use strict\";exports.random=function(n,t,r){var e,o=[],a=[],i=parseInt(t.operand||\"1\");if(isNaN(i)){i=1}n(function(n,t){a.push(t)});while(i&&a.length){e=Math.floor(Math.random()*a.length);o.push(a[e]);a.splice(e,1);i--}return o}})();",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/plugins/tobibeer/random/readme": {
"title": "$:/plugins/tobibeer/random/readme",
"text": "The plugin $:/plugins/tobibeer/random provides:\n\n; random[]\r\n: a filter retrieving one or more random titles from the input set\r\n: `[tag[Plugins]random[3]]` — returns three titles tagged [[Plugins]]\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#random"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/setvars/readme": {
"title": "$:/plugins/tobibeer/setvars/readme",
"text": "Provides the widget `<$setvars>`...\n\n!!Usage\n\n```\r\n<$setvars\r\n_attr1=<<currentTiddler>>\r\n_attr2={{!!title}}\r\n_attr3=\"1 2 3\"\r\n_attr4=\"[all[current]tagging[]]\"\r\nvar1=\"attr1 \\ = literal = \\ attr2\"\r\nvar2=\"attr3[n] \\ \\ [attr4[1,2][when-empty]] \\ \\ [attr3[][][ - ]]\"\r\nvar3=\"if(attr1 ? [attr4]) || attr3 attr2\"\r\nvar4=\"if(attr1 == attr2 ? attr3[1]) || [attr3[2]]\">\n\n* <<var1>>\r\n* <<var2>>\r\n* <<var3>>\r\n* <<var4>>\n\n</$setvars>\r\n```\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#setvars"
},
"$:/plugins/tobibeer/setvars/widgets.js": {
"title": "$:/plugins/tobibeer/setvars/widgets.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/setvars/widgets.js\r\ntype: application/javascript\r\nmodule-type: widget\r\n\r\nAllows to set multiple variables in one go joining widget attributes:\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";var e=require(\"$:/core/modules/widgets/widget.js\").widget;var t=function(t,i){e.call(this);this.initialise(t,i)};t.prototype=Object.create(e.prototype);t.prototype.render=function(e,t){this.parentDomNode=e;this.computeAttributes();this.execute();this.renderChildren(e,t)};t.prototype.execute=function(){var e=this,t=function(t,i,s){var r,n,f=s[3],h=s[4],a=s[5],l=s[6],u=parseInt(f),c=parseInt(h),o=i||f||h;if(i){n=e.wiki.filterTiddlers(t,e)}else{n=f||h?$tw.utils.parseStringArray(t):[t]}r=n.length;if(r&&(f||h)){if(f===\"n\"){u=r}else if(f===\"-n\"){u=1}else if(!f){u=1}if(h===\"n\"){c=r}else if(h===\"-n\"){c=-(u<0?r+u+1:u)}else if(!h){c=1}u=Math.max(1,u<0?r+u+(c<0?c+2:1):c<0?u+c+1:u);c=Math.max(1,Math.abs(c));n=n.splice(u-1,c)}if(!n.length&&a){n.push(a)}return o?l===undefined?$tw.utils.stringifyList(n):n.join(l):n[0]};if(!this.refreshing){this.refreshing=0;this.$={vars:{},attr:{},set:{}};$tw.utils.each(this.attributes,function(t,i){if(i===\"$refresh\"){e.refreshAll=1}else if(i.charAt(0)===\"_\"){e.$.attr[i.substr(1)]=t}else{e.$.vars[i]=t}})}if(this.refreshing<2){$tw.utils.each(e.$.vars,function(i,s){var r,n,f,h,a,l,u=\"\",c=0,o=0,g=\"\",p=i,d=[[/^\\s+/,1,function(){return false}],[/^\\\\([^\\\\]*)\\\\/,2,function(e){return e[1]}],[/^(if\\s*\\(|\\(|\\?|\\|\\||\\)|==|!=)/i,0,function(e){var t=e[1];if(t.charAt(t.length-1)===\"(\"){r=1;if(c){o=1}else{f=c=0;h=\"\";if(t.length===1){f=1}}}else{switch(t){case\"||\":if(u.length){c=1}break;case\"?\":if(r&&!o){f=h.length;c=!f;h=\"\"}break;case\")\":if(r){if(f){g+=h}r=f=c=0;h=\"\"}o=0;break;case\"==\":case\"!=\":if(r){n=t}break}}return false}],[/^(\\[)?(\\w+)(?:\\[(-?\\d*|-?n)(?:,(-?\\d*|-?n))?\\])?(?:\\[([^\\]]*)\\])?(?:\\[([^\\]]*)\\])?(\\])?/,2,function(i){var s=e.$.attr[i[2]];if(s===undefined){s=e.$.set[i[2]]}if(s){if(i[1]&&i[7]){s=t(s,true,i)}else if(!i[1]&&!i[7]){s=t(s,false,i)}else{s=null}}else{s=\"\"}return s}]];while(p.length){l=p;var v=\"\";$tw.utils.each(d,function(e){var t=e[0].exec(p);if(t){if(!c||!e[1]){v=e[2].call(this,t);if(v===null){v=\"error: missing bracket in setvars\"}else if(typeof v===\"string\"){u=v}}a=e[1]===2;p=p.substr(t[0].length);return false}});if(v){if(r){if(n){u=n===\"==\"&&h===v||n===\"!=\"&&h!==v?\"true\":\"\";h=u;n=\"\"}else{h+=v}}else if(!c){g+=v}}if(!r&&a){c=0}if(l===p){g=\"setvars error: invalid syntax\";p=\"\"}}e.$.set[s]=g;e.setVariable(s,g)})}if(!this.refreshing||this.refreshing===2){this.makeChildWidgets()}};t.prototype.refresh=function(e){var t=0,i,s=this,r=this.computeAttributes();if(Object.keys(r).length){this.refreshSelf();return true}else if(this.refreshAll){i=JSON.parse(JSON.stringify(this.$.set));this.refreshing=1;this.execute();$tw.utils.each(i,function(e,i){if(e!==s.$.set[i]){t=1;return false}});if(t){this.refreshing=2;this.refreshSelf();return true}this.refreshing=0}return this.refreshChildren(e)};exports.setvars=t})();",
"type": "application/javascript",
"module-type": "widget"
}
}
}
{
"tiddlers": {
"$:/plugins/tobibeer/split/filter.js": {
"title": "$:/plugins/tobibeer/split/filter.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/split/filter.js\r\ntype: application/javascript\r\nmodule-type: filteroperator\r\n\r\nFilter operator that splits each item at a specified separator.\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";exports.split=function(s,t,e){var i,a,f=e.wiki,r=t.suffix||\"\",n=[],l=[],u=[],o=[],p={negate:t.prefix===\"!\",split:t.operand,prefix:\"\",suffix:\"\",num:1,$num:1},c=[[/^\\s+/,function(){}],[/^(num|pos|\\$num|\\$pos)=(n|-n|\\d+|-\\d+)(?:\\s|$)/i,function(s){p[s[1]]=s[2];if(s[1].charAt(0)===\"$\"){p.mode=\"$pos\"}if(s[1]===\"$num\"&&!p.$pos){p.$pos=1}if(s[1]===\"num\"&&!p.pos){p.pos=1}}],[/^(\\+|at|!at|first|!first|last|!last|list|keep|strict|\\$strict|trim|unique)(?:\\s|$)/i,function(s){var t=s[1];p[t]=1;switch(t){case\"+\":p.suffix=p.split;break;case\"!at\":p.nat=1;case\"at\":i=p.split.match(/(\\d+),(\\d+)/);if(i){p.at=parseInt(i[1]);p.to=parseInt(i[2])}else{p.at=parseInt(p.split)}if(isNaN(p.at)){throw\"suffix 'at' must be numeric: \"+p.at}else{p.at=p.at-1}break;case\"list\":p.list=\"list\";break;case\"first\":p.pos=1;break;case\"!first\":p.pos=2;p.num=\"n\";break;case\"last\":p.pos=\"n\";break;case\"!last\":p.pos=\"-2\";p.num=\"-n\";break}}],[/^(before|after|beforelast|afterlast)(?:\\s|$)/i,function(s){var t=s[1];p.before=(t.toLowerCase().indexOf(\"before\")===0?1:2)+(t.toLowerCase().indexOf(\"last\")===t.length-4?2:0)}],[/^list\\=\\s*([^\\s]+)(?:\\s|$)/i,function(s){p.list=s[1]}],[/^(\\!)?(\\$|\\$all|\\$first|\\$last)(?:\\s|$)/i,function(s){var t=s[2];p.mode=t;p.neg=s[1]?1:0;if(t===\"$first\"){if(p.neg){p.$pos=2;p.$num=\"n\"}else{p.$pos=1}}else if(t===\"$last\"){if(p.neg){p.$pos=\"-2\";p.$num=\"-n\"}else{p.$pos=\"n\"}}}],[/^(?:\\+\\\\([^\\\\]+)\\\\|\\\\([^\\\\]+)\\\\\\+)/,function(s){if(s[1]){p.prefix=s[1]}else{p.suffix=s[2]}}]];try{while(r){a=r;$tw.utils.each(c,function(s){var t=s[0].exec(r);if(t){s[1].call(this,t);r=r.substr(t[0].length);return false}});if(r===a){throw\"invalid suffix(es) '\"+r+\"'\"}}if(p.list&&p.split){o=$tw.utils.parseStringArray(p.split)}else{s(function(s,t){var e,a,r=[];l.push(t);if(p.before){i=1+(p.before<3?t.indexOf(p.split):t.lastIndexOf(p.split));if(i>0){r=[p.before%2===1?t.substr(0,i-1):t.substr(i+p.split.length-1)]}if(p.keep&&i===0){r[0]=t}}else if(p.at){if(p.to){r=p.nat?[t.substr(0,p.at)+t.substr(p.at+p.to)]:[t.substr(p.at,p.to)];if(p.keep&&r[0]===\"\"){r[0]=t}}else{r=[t.substr(0,p.at)];a=t.substr(p.at);if(a){r.push(a)}}}else if(p.list){r=f.getTiddlerList(t,p.list)}else{r=t.split(p.split)}e=r.length>1||p.list||r.length>0&&(p.before||p.to);if(p.pos){r=$tw.utils.getArrayItems(r,p.pos,p.num,p.strict)}if(r.length&&(e||p.keep)){n.push(t);$tw.utils.each(r,function(s){if(p.trim){s=s.trim()}if(s){if(!p.unique||p.unique&&o.indexOf(s)<0){o.push(p.prefix+s+p.suffix)}}})}else{u.push(t)}})}if(t.suffix){switch(p.mode){case\"$\":o=n;break;case\"$all\":if(o.length){if(p.negate){u=[]}else{o=l}}else if(p.negate){u=l}break;case\"$first\":case\"$last\":case\"$pos\":o=$tw.utils.getArrayItems(o,p.$pos,p.$num,p.$strict);break}}}catch($){return[\"split syntax error:\"+$]}return p.negate?u:o}})();",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/plugins/tobibeer/split/readme": {
"title": "$:/plugins/tobibeer/split/readme",
"text": "Provides the filter `split[by]`, splitting input titles `by` a string defined in the operand, allowing you to slice and dice output elements as needed.\n\n; suffixes\r\n: `$` — return input titles that yield split items\r\n: `$all` — return all input titles if any yield split items\r\n: `+` — append operand to split titles\r\n: `+\\x\\` — append x to split titles\r\n: `\\x\\+` — prepend x to split titles\r\n: `unique` — prevents duplicate titles in the output\r\n: `trim` — no leading/trailing blanks in split titles\r\n: `first` — first title of the split => `!first` — all but first\r\n: `last` — last title of the split => `!last` — all but last\r\n: `at[<num>]` — split in two at number in the operand\r\n: `at[<num>,<len>]` — slice out ''len'' characters starting at character ''num''\r\n: `!at[<num>,<len>]` — cutting the above out of the input title\r\n: `before[x]` / `after[x]` — up until / after first match of `x`\r\n: `beforelast[x]` / `afterlast[x]`— up until / after last match of `x`\r\n: `pos=2` — 2nd split item of each input title in turn\r\n: `pos=1 num=3` — first three each\r\n: `pos=2 num=n` — 2nd to last each\r\n: `pos=-2 num=-n` — first to 2nd last each\r\n: `strict` — specified `num` is mandatory\r\n: `$pos`, `$num`, `$strict`, `$first`, `$!first`,`$last`, `$!last` — for final list\r\n: `keep` — return title even if not split\r\n: `list[]` — parse list field of input titles\r\n: `list=tags[]` — parse tags field of input titles\r\n: `list<foo>` — parse (soft) operand as list, e.g. variables or text-references\n\n<br>\n\n; documentation / examples / demos...\r\n: http://tobibeer.github.io/tw5-plugins#split"
},
"$:/plugins/tobibeer/split/utils.js": {
"title": "$:/plugins/tobibeer/split/utils.js",
"text": "/*\\\r\ntitle: $:/plugins/tobibeer/split/utils.js\r\ntype: application/javascript\r\nmodule-type: utils\r\n\r\n@preserve\r\n\\*/\n(function(){\"use strict\";exports.getArrayItems=function(e,t,n,s){var i,a=parseInt(n),f=parseInt(t),r=e.length;if(t===\"n\"){f=r}else if(t===\"-n\"){f=1}else if(!t){f=1}if(n===\"n\"){a=r}else if(n===\"-n\"){a=-(f<0?r+f+1:f)}else if(!n){a=1}f=Math.max(1,f<0?r+f+(a<0?a+2:1):a<0?f+a+1:f);a=Math.max(1,Math.abs(a));i=e.splice(f-1,a);if(i.length<a&&s){i=[]}return i}})();",
"type": "application/javascript",
"module-type": "utils"
}
}
}
<svg xmlns="http://www.w3.org/2000/svg" aria-label="Calendar" role="img" width="64" height="64" viewBox="0 0 512 512">
<path d="M512 455c0 32-25 57-57 57H57c-32 0-57-25-57-57V128c0-31 25-57 57-57h398c32 0 57 26 57 57z" fill="#e0e7ec"/>
<path d="M484 0h-47c2 4 4 9 4 14a28 28 0 1 1-53-14H124c3 4 4 9 4 14A28 28 0 1 1 75 0H28C13 0 0 13 0 28v157h512V28c0-15-13-28-28-28z" fill="#dd2f45"/>
<g fill="#f3aab9">
<circle cx="470" cy="142" r="14"/>
<circle cx="470" cy="100" r="14"/>
<circle cx="427" cy="142" r="14"/>
<circle cx="427" cy="100" r="14"/>
<circle cx="384" cy="142" r="14"/>
<circle cx="384" cy="100" r="14"/>
</g>
<text id="month" x="32" y="164" fill="#fff" font-family="monospace" font-size="140px" style="text-anchor: left; text-transform: uppercase;"><<now mmm>></text>
<text id="day" x="256" y="400" fill="#66757f" font-family="monospace" font-size="256px" style="text-anchor: middle"><<now DD>></text>
<text id="weekday" x="256" y="480" fill="#66757f" font-family="monospace" font-size="64px" style="text-anchor: middle"><<now DDD>></text>
</svg>
{
"tiddlers": {
"$:/core/macros/tabs": {
"title": "$:/core/macros/tabs",
"tags": "$:/tags/Macro",
"text": "\\define link-action()\n<$action-sendmessage $message=\"$(message)$\" $param=<<currentTiddler>> navigateTo=<<currentTiddler>>/>\n\\end\n\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$transclude tiddler={{!!icon}}/>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=\"\"\"$buttonTemplate$\"\"\" mode=\"inline\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$transclude>\n</$set></$tiddler></$button>\n<$set name=message value={{$:/plugins/wikilabs/edit-tabs/config!!link-action}}>\n<$list filter=\"[<currentTiddler>]+[!is[shadow]]\" emptyMessage=\"\"\"<$button tag=span class=\"wltc-edit-tab\" to=<<currentTiddler>> >{{$:/core/images/link}}</$button>\"\"\" ><$button tag=span class=\"wltc-edit-tab\" actions=<<link-action>> ><$reveal type=match text=\"tm-navigate\" state=\"$:/plugins/wikilabs/edit-tabs/config!!link-action\">{{$:/core/images/link}}</$reveal><$reveal type=match text=\"tm-edit-tiddler\" state=\"$:/plugins/wikilabs/edit-tabs/config!!link-action\">{{$:/core/images/edit-button}}</$reveal></$button></$list></$set></$tiddler></$set></$list></div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\" retain=\"\"\"$retain$\"\"\">\n\n<$transclude tiddler=\"\"\"$template$\"\"\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end"
},
"$:/core/ui/ControlPanel/Settings/edit-tabs": {
"title": "$:/core/ui/ControlPanel/Settings/edit-tabs",
"caption": "Edit-Tabs plugin",
"tags": "$:/tags/ControlPanel/Settings",
"text": "<$checkbox tiddler=\"$:/plugins/wikilabs/edit-tabs/config\" field=\"show-all-links\" checked=\"inline\" unchecked=\"none\" default=\"none\"> Show internal tab link for ''all tabs''</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/edit-tabs/config\" field=\"show-single-link\" checked=\"inline\" unchecked=\"none\" default=\"inline\"> Show internal tab link for ''selected tab''</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/edit-tabs/config\" field=\"link-action\" checked=\"tm-edit-tiddler\" unchecked=\"tm-navigate\" default=\"tm-edit-tiddler\"> Clicking a tab-link opens non-system tiddlers in ''edit mode''</$checkbox>\n\n<$checkbox tiddler=\"$:/plugins/wikilabs/edit-tabs/config\" field=\"initial-opacity\" checked=\"0\" unchecked=\"0.7\" default=\"0.7\"> Tab links are initially hidden and need mouse hover to become visible.</$checkbox> The transition time in seconds is: <$edit-text tiddler=\"$:/plugins/wikilabs/edit-tabs/config\" field=\"transition\" default=\"0.3\"/>\n\n<$button message=\"tm-delete-tiddler\" param=\"$:/plugins/wikilabs/edit-tabs/config\">\nReset to Default!"
},
"$:/plugins/wikilabs/edit-tabs/config": {
"title": "$:/plugins/wikilabs/edit-tabs/config",
"show-all-links": "none",
"show-single-link": "inline",
"link-action": "tm-edit-tiddler",
"initial-opacity": "0.7",
"transition": "0.3",
"text": "This tiddler is used to configure the \"Edit-tabs\" plugin behaviour. \n\nThere are 4 fields, which are used by [[$:/plugins/wikilabs/edit-tabs/styles]] enable and disable the internal links. \n\n* show-all-links: {{!!show-all-links}}\n* show-single-link: {{!!show-single-link}}\n* initial-opacity: {{!!initial-opacity}}\n* transition time in seconds: {{!!transition}}\n\nThe next field is used to define the behaviour of the link, if it's clicked.\n\n* link-action: {{!!link-action}}\n"
},
"$:/plugins/wikilabs/edit-tabs/styles": {
"title": "$:/plugins/wikilabs/edit-tabs/styles",
"tags": "$:/tags/Stylesheet",
"text": "<pre>\n\n.wltc-edit-tab {\n display: {{$:/plugins/wikilabs/edit-tabs/config!!show-all-links}};\n position: relative;\n top: -1em;\n left: -1.3em;\n font-size: 0.7em;\n opacity: {{$:/plugins/wikilabs/edit-tabs/config!!initial-opacity}};\n margin-right: -1em;\n}\n\n.wltc-edit-tab svg{\n width: 1.4em;\n height: 1.4em;\n}\n\n.wltc-edit-tab:hover {\n opacity: 1;\n transition:opacity {{$:/plugins/wikilabs/edit-tabs/config!!transition}}s;\n transition-timing-function: cubic-bezier(1,-0.06,.39,.89);\n}\n\n.tc-tab-selected + .wltc-edit-tab {\n display: {{$:/plugins/wikilabs/edit-tabs/config!!show-single-link}};\n}\n\n.tc-vertical > .wltc-edit-tab {\n top: -1.9em;\n left: 0;\n height: 0;\n float: right;\n}\n\n.tc-search-results .wltc-edit-tab a {\n display: contents;\n padding: 0;\n}\n\n</pre>"
},
"$:/plugins/wikilabs/edit-tabs/fix-sendmessage.js": {
"title": "$:/plugins/wikilabs/edit-tabs/fix-sendmessage.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/edit-tabs/fix-sendmessage.js\ntype: application/javascript\nmodule-type: startup\n\nA startup module to fix the <$action-sendmessage widget parameter passing problem\n\neg:\n\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) { <--- expects event.navigateTo, but sendmessage widget gives event.params.navigateTo\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n\nThis hook temporarily fixes the problem.\n\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 = \"fixsendmessage\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.hooks.addHook(\"th-navigating\",function(event) {\n\t\tvar suppressNavigation = (event.event) ? event.event.metaKey || event.event.ctrlKey || (event.event.button === 1) : false;\n\n\t\tif (!event.navigateTo && event.paramObject && event.paramObject.navigateTo) {\n\t\t\tevent.navigateTo = event.paramObject.navigateTo;\n\t\t\tevent.navigateSuppressNavigation = event.navigateSuppressNavigation || suppressNavigation;\n\t\t}\n\t\treturn event;\n\t});\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "startup"
},
"$:/plugins/wikilabs/edit-tabs/history": {
"title": "$:/plugins/wikilabs/edit-tabs/history",
"text": "V1.0.0 - 2019-07-14\n\n* Add new option: Initially hide link\n** Transition time from hidden to visible is adjustable\n* Added: \"Reset to Default\" button\n* Show Edit Button if edit mode is active\n\nThis version has feature parity with link-to-tabs plugin from same date!\n\nV0.2.0 - 2019-01-17\n\n* remove the experimental flag\n\nV0.2.0-experimental - 2018-02-13\n\n* initial release\n* forked from link-to-tabs V0.1.1\n* add new \"auto-edit\" configuration for tab-links\n* auto-edit is only active for non-shadow tiddlers `[!is[shadow]]`\n* contains a temporary fix for a <$action-sendmessage widget parameter passing problem\n** This fix should be deactivated in the future.\n\nalso see: https://wikilabs.github.io/editions/edit-tabs/#History\nalso see: https://wikilabs.github.io/editions/link-to-tabs/#History\n"
},
"$:/plugins/wikilabs/edit-tabs/license": {
"title": "$:/plugins/wikilabs/edit-tabs/license",
"text": "Edit-Tabs-Macro (c) Mario Pietsch - 2018-2019\n\nhttps://opensource.org/licenses/BSD-3-Clause"
},
"$:/plugins/wikilabs/edit-tabs/readme": {
"title": "$:/plugins/wikilabs/edit-tabs/readme",
"text": "This plugin adds a little link icon to every tab.\n\n''Important:'' This plugin changes the core tabs macro.\n\n! Link-to-Tabs Settings\n\n{{$:/core/ui/ControlPanel/Settings/edit-tabs}}"
}
}
}
This tiddler is used to configure the "Edit-tabs" plugin behaviour.
There are 4 fields, which are used by [[$:/plugins/wikilabs/edit-tabs/styles]] enable and disable the internal links.
* show-all-links: {{!!show-all-links}}
* show-single-link: {{!!show-single-link}}
* initial-opacity: {{!!initial-opacity}}
* transition time in seconds: {{!!transition}}
The next field is used to define the behaviour of the link, if it's clicked.
* link-action: {{!!link-action}}
{
"tiddlers": {
"$:/plugins/wikilabs/uni-link/aka-footer/template": {
"title": "$:/plugins/wikilabs/uni-link/aka-footer/template",
"type": "text/vnd.tiddlywiki",
"text": "''Note'': This tiddler has the following aliases || <<showAliases delim:\" ||\">>"
},
"$:/plugins/wikilabs/uni-link/aka-footer": {
"title": "$:/plugins/wikilabs/uni-link/aka-footer",
"tags": "$:/tags/ViewTemplate",
"type": "text/vnd.tiddlywiki",
"text": "<$list filter=\"[all[current]has[aliases]]\">\n<br/>\n<hr>\n\n{{||$:/plugins/wikilabs/uni-link/aka-footer/template}}\n</$list>"
},
"$:/plugins/wikilabs/uni-link/aka-macros": {
"title": "$:/plugins/wikilabs/uni-link/aka-macros",
"tags": "$:/tags/Macro",
"type": "text/vnd.tiddlywiki",
"text": "\\define tooltip() Tiddler -> <<currentTiddler>>\n\\define aka(target, field:X)\n\\whitespace trim\n<$list filter=\"[[$target$]is[alias]]\" variable=ali emptyMessage=\"\"\"<$link tooltip=\"Alias not defined!\" to=\"?\"><span class=\"uni-alias-missing\">$target$</span></$link>\"\"\">\n<$list filter=\"[has[aliases]!has[draft.of]]\">\n <$list filter=\"[enlist{!!aliases}regexp[^$target$$(?i)]]\" variable=\"dummy\">\n <$link tooltip=<<tooltip>> >\n <span class=\"uni-alias\">\n <$set name=\"tv-wikilinks\" value=\"no\">\n <$view field=$field$ mode=text>$target$</$view>\n </$set>\n </span>\n </$link>\n </$list>\n</$list>\n</$list>\n\\end\n\n\\define aka-no-links(target)\n\\whitespace trim\n<$list filter=\"[[$target$]is[alias]]\" variable=ali emptyMessage=\"\"\"<$link tooltip=\"Alias not defined!\" to=\"?\">$target$</$link>\"\"\">\n<$list filter=\"[has[aliases]!has[draft.of]]\">\n <$list filter=\"[enlist{!!aliases}regexp[^$target$$(?i)]]\" variable=\"dummy\">\n <span><<currentTiddler>></span>\n </$list>\n</$list>\n</$list>\n\\end\n\n\\define showAliases(delim:\",\")\n<$list filter=\"[list[!!aliases]butlast[]]\"><$view field=title/>$delim$ </$list><$list filter=\"[list[!!aliases]last[]]\"><$view field=title/></$list>\n\\end\n\n\\define listAliases()\n<$list filter=\"[has[aliases]]\"><$link to=<<currentTiddler>> ><<currentTiddler>></$link> - <<showAliases>><br/></$list>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
},
"$:/plugins/wikilabs/uni-link/alias-list": {
"title": "$:/plugins/wikilabs/uni-link/alias-list",
"type": "text/vnd.tiddlywiki",
"text": "<<listAliases>>"
},
"$:/plugins/wikilabs/uni-link/backlinks-template": {
"title": "$:/plugins/wikilabs/uni-link/backlinks-template",
"text": "!!! Uni-links\n\nUse the following field as link text, if available. It defaults to tiddler ''title''!\n\n<<<\n<$tiddler tiddler=\"$:/config/wikilabs/uni-link/field\">\n<$radio value=\"caption\"> caption</$radio><br>\n<$radio value=\"subtitle\"> subtitle</$radio><br>\n<$radio value=\"\"> title</$radio><br>\n</$tiddler>\n<<<\n\nThis setting can be found at the $:/ControPanel uni-links tab! The configuration tiddler is: [[$:/config/wikilabs/uni-link/field]]\n\n| Link | Result |h\n|`[[default prettylink|tiddler-with-caption]]` |[[default prettylink|tiddler-with-caption]] |\n|`[[tiddler-with-caption]]` |[[tiddler-with-caption]] |\n|`[[tiddler-with-subtitle]]` |[[tiddler-with-subtitle]] |\n|`[[tiddler-with-subtitle-and-caption]]` |[[tiddler-with-subtitle-and-caption]] |\n|`[[tiddler-with-subtitle-and-caption|]]` |[[tiddler-with-subtitle-and-caption|]] ... but don't use them!|\n|`[[tiddler doesn't exist]]` |[[tiddler doesn't exist]] |\n\n!!! Alias Links\n\n| Link | Result |h\n|`[[alias|?]]` |[[alias|?]] |\n|`[[AliaS|?]]` |[[AliaS|?]] |\n|`[[alias|?t]]` |[[alias|?t]] |\n|`[[alias|?c]]` |[[alias|?c]] |\n|`[[alias|?s]]` |[[alias|?s]] |\n|`[[alias|?my-field]]` |[[alias|?my-field]] |\n|`[[doesn't exist|?]]` |[[doesn't exist|?]] |\n"
},
"$:/language/Buttons/Aliasify/Caption": {
"title": "$:/language/Buttons/Aliasify/Caption",
"text": "alias-link"
},
"$:/language/Buttons/Aliasify/Hint": {
"title": "$:/language/Buttons/Aliasify/Hint",
"text": "Wrap selection in square brackets and add alias postfix"
},
"$:/language/Buttons/Make/Alias/Caption": {
"title": "$:/language/Buttons/Make/Alias/Caption",
"text": "make alias"
},
"$:/language/Buttons/Make/Alias/Hint": {
"title": "$:/language/Buttons/Make/Alias/Hint",
"text": "Create a wikitext alias-link"
},
"$:/plugins/wikilabs/uni-link/history": {
"title": "$:/plugins/wikilabs/uni-link/history",
"text": "V 1.1.0 - 2019.08.13\n\n* Fixed problem introduced with TW V 5.1.20 link-widget core changes\n\nV 1.0.0 - 2019.02.09\n\n* Add `[[alias|?t]]`, `[[alias|?c]]` and `[[alias|?s]]`, that show the tiddler ''title'', ''caption'' and ''subtitle'' field as the link text\n* Add `[[alias|?my-field]]` shows the content of the field named: `my-filed` as the link text\n* Add a new editor toolbar button, which opens an alias search menue. \n** Default keyboard shortcut is to Ctrl-Space\n\n``Incompatible changes``\n\n* There is a new $:/ControlPanel setting, that defines the default behaviour of the uni-link macro ''globally''. \n* uni-link now only shows the tiddler title, ''or'' the caption ''or'' the subtitle field. \n* If you need different behaviour, you'll need to use the alias mechanism!\n\nV 0.3.4 - 2018.09.09\n\n* Add \"aliasify\" button to tiddler editor toolbar\n* Add ctrl-k to activate \"aliasify\"\n\nV 0.3.3 - 2018.08.06\n\n* fix [[issue 19|https://github.com/wikilabs/plugins/issues/19]] Alias References behaviour\n\nV 0.3.2 - 2018.02.02\n\n* new Undefined Aliases Sidebar tab under More: Aliases\n* `[[?]aliasbacklinks[]sort[title]]` shows a list of tiddlers that contain undefined alias links\n\nV 0.3.1 - 2018.01.31\n\n* fixed: [[CamelCase]] or [[$:/system]] tiddler \"double linking\"\n* [[NaturaL sElEcTiOn|?]] .. is a valid alias now. Same problem as above!\n\nV 0.3.0 - 2018.01.27\n\n* add: styling possibility for missing aliases\n* improve: history and copyright\n\nV 0.2.1 - 2018.01.27\n\n* fix: uni-link creates an unused a-element\n\nV 0.2.0 - 2017.12.15\n\n* added: [[alias|?]] link syntax\n** using aka-makros for tiddler alias handling\n\n* added: Alias backlinks\n** open the tiddler (i)nfo area: References\n\n* added filter operators:\n** is[alias] ... extends the core is operator see: https://tiddlywiki.com/#is Operator\n** all[aliases] ... extends the core all operator see: https://tiddlywiki.com/#all Operator\n\n* added: Right-Sidebar: More tab: \"Aliases\"\n** Sorted by Alias\n** Sorted by Tiddler Title\n\n* added: uni-link $:/ControlPanel setting\n* added: different colors for title, caption, subtitle and alias links\n\nV0.1.0 - 2017.07.25\n\n* fix \"backlink\" and \"missing\" issue\n\nV0.0.1 - 2017.07.23\n\n* initial release\n\nalso see: https://wikilabs.github.io/editions/uni-link/#History\n"
},
"$:/plugins/wikilabs/uni-link/license": {
"title": "$:/plugins/wikilabs/uni-link/license",
"text": "[[Uni-Link Plugin|https://wikilabs.github.io/#uni-link]] (C) Mario Pietsch - 2017-2019\n\nhttps://opensource.org/licenses/BSD-3-Clause"
},
"$:/plugins/wikilabs/uni-link/readme": {
"title": "$:/plugins/wikilabs/uni-link/readme",
"subtitle": "\"uni-link\" readme",
"text": "\\define createExampleTiddlers()\n<$button>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"tiddler-with-caption\" caption=\"Short Caption\"/>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"tiddler-with-subtitle\" subtitle=\"Tiddler With Subtitle Only Defined\"/>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"tiddler-with-subtitle-and-caption\" subtitle=\"Tiddler With Subtitle And Caption - using subtitle\" caption=\"capt.ion\"/>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"tiddler-with-alias\" aliases=\"alias\" caption=\"alias-caption\" subtitle=\"alias-subtitle\" my-field=\"alias my-field\"/>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=\"test-links\" text={{$:/plugins/wikilabs/uni-link/backlinks-template!!text}}/>\nCreate \"uni-link\" example tiddlers!\n</$button>\n\\end\n\\define deleteExampleTiddlers()\n<$button>\n<$action-deletetiddler $tiddler=\"tiddler-with-caption\"/>\n<$action-deletetiddler $tiddler=\"tiddler-with-subtitle\"/>\n<$action-deletetiddler $tiddler=\"tiddler-with-subtitle-and-caption\"/>\n<$action-deletetiddler $tiddler=\"tiddler-with-alias\"/>\n<$action-deletetiddler $tiddler=\"test-links\"/>\nDelete example tiddlers!\n</$button>\n\\end\n\n!! Important\n\nThis plugin overwrites the core tiddler: $:/core/ui/TiddlerInfo/References\n\n!! Video\n\n* https://youtu.be/IelDdM7iXrA\n\n!! Uni-link\n\n* A new wikitext parsing rule, that calls the global [[\"uni-link\" macro|$:/plugins/wikilabs/uni-link/uni-link-macro]], instead of referencing the tiddler name. \n\n* It substitues the following tiddler fields: ''subtitle'', ''caption'' and ''title''. The $:/ControlPanel contains a new tab, that lets you define the behaviour of the uni-link macro. Default is ''title''. So there is no difference between the default setting of the plugin and the default behaviour in unmodified ~TiddlyWiki.\n\n!! Alias\n\n* Alias Link Syntax\n** `[[anything|?]]` ... link to the tiddler that contains the alias: `anything`\n** `[[anything|?t]]` ... link to alias anything, but display the tiddler ''title''\n** `[[anything|?c]]` ... link to alias anything, but display the tiddler ''caption''\n** `[[anything|?s]]` ... link to alias anything, but display the tiddler ''subtitle''\n** `[[anything|?my-field]]` ... link to alias anything, but display the tiddler-field named ''my-field''\n** If a field doesn't exist, it shows the \"alias-text\" as used with `[[anything|?]]`\n** using [[aka-makros|$:/plugins/wikilabs/uni-link/aka-macros]] for tiddler alias handling\n\n* Alias Backlinks\n** open the tiddler (i)nfo area: References\n\n* Filter Operators:\n** `is[alias]` ... extends the core `is` operator see: [[https://tiddlywiki.com/#is Operator]]\n** `all[aliases]` ... extends the core `all` operator see: [ext[https://tiddlywiki.com/#all Operator]]\n** `[aliasbacklinks[]]` ... shows a list of all tiddlers that contain alias links\n** `[[?]aliasbacklinks[]sort[title]]` ... shows a list of tiddlers that contain undefined alias links\n\n* Right-Sidebar: More tab: [[Aliases|$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases]]\n** [[Sorted by Alias|$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byAlias]]\n** [[Sorted by Tiddler Title|$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byTitle]]\n** [[Undefined Aliases|$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/undefined]]\n\n* uni-link $:/ControlPanel setting\n\n* [[uni-fields|$:/plugins/wikilabs/uni-link/uni-fields.js]] widget, that allows us to assign CSS classes based on tiddler fields existence.\n\n!! Installation\n\n* You can drag & drop import this link: $:/plugins/wikilabs/uni-link<br>\n\n!! Link Styling\n\n* Uni-links are styled like this: $:/plugins/wikilabs/uni-link/styles\n\n!! Examples\n\nYou can use the following buttons to create example tiddlers!\n\n<<createExampleTiddlers>> -- <<deleteExampleTiddlers>>\n\n\n"
},
"$:/plugins/wikilabs/uni-link/filters/aliasbacklinks.js": {
"title": "$:/plugins/wikilabs/uni-link/filters/aliasbacklinks.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/filters/aliasbacklinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.aliasbacklinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerAliasBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n\n\n\n///*\\\n//title: $:/core/modules/filters/aliases.js\n//type: application/javascript\n//module-type: filteroperator\n//\n//Filter operator for returning all the alias-backlinks from a tiddler\n//\n//\\*/\n//(function(){\n//\n///*jslint node: true, browser: true */\n///*global $tw: false */\n//\"use strict\";\n//\n///*\n//Export our filter function\n//*/\n//exports.aliases = function(source,operator,options) {\n//\tvar results = [],\n//\t\tfield = operator.operand || \"aliases\";\n//\n//\t\tsource(function(tiddler,title) {\n//\t\t\tif(tiddler) {\n//\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n//\t\t\t\tif(!$tw.utils.hop(values,value)) {\n//\t\t\t\t\tvalues[value] = true;\n//\t\t\t\t\tresults.push(title);\n//\t\t\t\t}\n//\t\t\t}\n//\t\t});\n//\n//\tsource(function(tiddler,title) {\n//\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerAliases(title));\n//\t});\n//\treturn results;\n//};\n//\n//})();\n//\n//\n\n///*\\\n//title: $:/core/modules/filters/each.js\n//type: application/javascript\n//module-type: filteroperator\n//\n//Filter operator that selects one tiddler for each unique value of the specified field.\n//With suffix \"list\", selects all tiddlers that are values in a specified list field.\n//\n//\\*/\n//(function(){\n//\n///*jslint node: true, browser: true */\n///*global $tw: false */\n//\"use strict\";\n//\n///*\n//Export our filter function\n//*/\n//exports.each = function(source,operator,options) {\n//\tvar results =[] ,\n//\t\tvalue,values = {},\n//\t\tfield = operator.operand || \"title\";\n//\tif(operator.suffix !== \"list-item\") {\n//\t\tsource(function(tiddler,title) {\n//\t\t\tif(tiddler) {\n//\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n//\t\t\t\tif(!$tw.utils.hop(values,value)) {\n//\t\t\t\t\tvalues[value] = true;\n//\t\t\t\t\tresults.push(title);\n//\t\t\t\t}\n//\t\t\t}\n//\t\t});\n//\t} else {\n//\t\tsource(function(tiddler,title) {\n//\t\t\tif(tiddler) {\n//\t\t\t\t$tw.utils.each(\n//\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n//\t\t\t\t\tfunction(value) {\n//\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n//\t\t\t\t\t\t\tvalues[value] = true;\n//\t\t\t\t\t\t\tresults.push(value);\n//\t\t\t\t\t\t}\n//\t\t\t\t\t}\n//\t\t\t\t);\n//\t\t\t}\n//\t\t});\n//\t}\n//\treturn results;\n//};\n//\n//})();\n",
"type": "application/javascript",
"module-type": "filteroperator"
},
"$:/plugins/wikilabs/uni-link/filters/all/aliases.js": {
"title": "$:/plugins/wikilabs/uni-link/filters/all/aliases.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/filters/all/aliases.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[aliases]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.aliases = function(source,prefix,options) {\n\treturn options.wiki.getAllAliases();\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "allfilteroperator"
},
"$:/plugins/wikilabs/uni-link/filters/is/alias.js": {
"title": "$:/plugins/wikilabs/uni-link/filters/is/alias.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/filters/is/alias.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[alias]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.alias = function(source,prefix,options) {\n\tvar results = [],\n\t\taliases = options.wiki.getAllAliases();\n\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = title.toLowerCase();\n\t\t\tif (aliases.indexOf(title) === -1) results.push(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = title.toLowerCase();\n\t\t\tif (aliases.indexOf(title) !== -1) results.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "isfilteroperator"
},
"$:/plugins/wikilabs/uni-link/make-alias-link.js": {
"title": "$:/plugins/wikilabs/uni-link/make-alias-link.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/make-alias-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make an alias-link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-alias-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|?\" + event.paramObject.text + \"]] \";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"|?]] \";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "texteditoroperation"
},
"$:/plugins/wikilabs/uni-link/uni-fields.js": {
"title": "$:/plugins/wikilabs/uni-link/uni-fields.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/uni-fields.js\ntype: application/javascript\nmodule-type: widget\n\nunifields widget, derived from Fields 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 FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar exclude = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// If inclusion is defined, everything else is auto excluded\n\tvar include = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (include) {\n\t\t\tfor(var i=0; i<include.length; i++) {\n\t\t\t\tif(tiddler.fields[include[i]]) {\n\t\t\t\t\tfields.push(include[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n//\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n//\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports[\"uni-fields\"] = FieldsWidget;\n\n})();\n",
"type": "application/javascript",
"module-type": "widget"
},
"$:/plugins/wikilabs/uni-link/uni-link.js": {
"title": "$:/plugins/wikilabs/uni-link/uni-link.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/uni-link.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for uni link macros. For example:\n\n```\n[[Introduction]] ... uni-link\n\n[[Link description|?]] ... alias-link\n[[Link description|?t]] ... alias-link - show title\n[[Link description|?c]] ... alias-link - show caption\n[[Link description|?s]] ... alias-link - show subtitle\n[[Link description|?my-field]] ... alias-link - show any field-name as link text\n\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"unilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n//\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n\tthis.matchRegExp = /\\[\\[(.*?)(?:(\\|)(\\?)?(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[4] || text,\n\t\tcheckAlias = this.match[3] === \"?\",\n\t\tuseUniLink = !(this.match[2] === \"|\");\n\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else if(checkAlias) {\n\t\tvar field = \"X\"; // field names are alwayse lowercase!\n\n\t\tif(link === \"c\") {\n\t\t\tfield = \"caption\"\n\t\t} else if(link === \"s\") {\n\t\t\tfield = \"subtitle\"\n\t\t} else if(link === \"t\") {\n\t\t\tfield = \"title\"\n\t\t} else if (text != link) {\n\t\t\tfield = link;\n\t\t}\n\n\t\treturn [{\n\t\t\ttype: \"macrocall\",\n\t\t\tname: \"aka\",\n\t\t\tparams: [\n\t\t\t\t{name: \"target\", value: text},\n\t\t\t\t{name: \"field\", value: field},\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t} else if((text == link) && useUniLink) {\n\t\t// Since V 1.1.0 new link-backlink detection implemented\n\t\t// Overwrites the core $tw.wiki.getTiddlerLinks() method with own version\n\t\treturn [{\n\t\t\ttype: \"macrocall\",\n\t\t\tname: \"uni-link\",\n\t\t\tparams: [\n\t\t\t\t{name: \"tid\", value: text}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
"type": "application/javascript",
"module-type": "wikirule"
},
"$:/plugins/wikilabs/uni-link/wiki-ext.js": {
"title": "$:/plugins/wikilabs/uni-link/wiki-ext.js",
"text": "/*\\\ntitle: $:/plugins/wikilabs/uni-link/wiki-ext.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\nexports.getTiddlerAliasLinks = function(title) {\nexports.getTiddlerAliasBacklinks = function(targetTitle) {\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n//var widget = require(\"$:/core/modules/widgets/widget.js\");\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (parseTreeNode.type === \"macrocall\" && parseTreeNode.name === \"uni-link\" && parseTreeNode.params && parseTreeNode.params[0].value) {\n\t\t\t\t\t\tvar value = parseTreeNode.params[0].value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} // else if type===\"macrocall\"\n\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nAlias backlink handling\n*/\nfunction aliasInit(title) {\n\t// Parse the tiddler\n\tvar parser = this.parseTiddler(title);\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"macrocall\" && parseTreeNode.name === \"aka\") {\n\t\t\t\t\tvar value = parseTreeNode.params[0].value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tif(parser) {\n\t\tcheckParseTree(parser.tree);\n\t}\n\t/*\n\tFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\n\tsortField: field to sort by\n\texcludeTag: tag to exclude\n\tincludeSystem: whether to include system tiddlers (defaults to false)\n\t*/\n\tvar backlinks = []\n\tthis.forEachTiddler({includeSystem:true}, function(ttl,tiddler) {\n\t\tif (tiddler.fields[\"aliases\"]) {\n\t\t\t// var fields = tiddler.fields[\"aliases\"];\n\t\t\tvar fields = $tw.utils.parseStringArray(tiddler.fields[\"aliases\"]);\n\t\t\tlinks.map( function (el) {\n\t\t\t\tif (fields.indexOf(el) != -1) backlinks.push(ttl);\n\t\t\t})\n\t\t} // if tiddler aliases\n\t});\n\n\tif ((backlinks.length === 0) && (links.length > 0)) {\n\t\tbacklinks[0] = \"?\";\n\t}\n\n\treturn backlinks;\n}\n\nexports.getAllAliases = function() {\n\tvar self = this,\n\t\taliases = \"\";\n\t/*\n\tFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\n\tsortField: field to sort by\n\texcludeTag: tag to exclude\n\tincludeSystem: whether to include system tiddlers (defaults to false)\n\t*/\n\tself.forEachTiddler({includeSystem:true}, function(title,tiddler) {\n\t\tif (tiddler.fields[\"aliases\"]) {\n//\t\t\t$tw.utils.pushTop(aliases, this.getCacheForTiddler(title,\"alias\",aliasInit.bind(this, title)));\n\t\t\taliases = aliases + ` ${tiddler.fields.aliases}`;\n\t\t} // if tiddler aliases\n\t});\n\taliases = aliases.toLowerCase();\n\treturn $tw.utils.parseStringArray(aliases);\n};\n\n\n/*\nReturn an array of tiddler titles that are alias linked from the specified tiddler\n*/\nexports.getTiddlerAliasLinks = function(title) {\n\tvar self = this;\n\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"alias\",aliasInit.bind(this, title));\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerAliasBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerAliasLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n})();\n\n",
"type": "application/javascript",
"module-type": "wikimethod"
},
"$:/config/ShortcutInfo/aliasify": {
"title": "$:/config/ShortcutInfo/aliasify",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/language/Buttons/Aliasify/Hint}}"
},
"$:/config/ShortcutInfo/alias-link": {
"title": "$:/config/ShortcutInfo/alias-link",
"type": "text/vnd.tiddlywiki",
"text": "{{$:/language/Buttons/Make/Alias/Hint}}"
},
"$:/config/shortcuts/alias-link": {
"title": "$:/config/shortcuts/alias-link",
"created": "20190210193620358",
"modified": "20190210193621514",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-? ctrl-Space"
},
"$:/config/shortcuts/aliasify": {
"title": "$:/config/shortcuts/aliasify",
"type": "text/vnd.tiddlywiki",
"text": "ctrl-K"
},
"$:/core/images/aliasify": {
"title": "$:/core/images/aliasify",
"created": "20180909082646243",
"modified": "20180909091537847",
"tags": "$:/tags/Image",
"type": "text/vnd.tiddlywiki",
"text": "<svg class=\"tc-linkify-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path d=\"m17.031 31.919h-7.983v64.931h7.983v6.92h-17.031v-78.77h17.031zm24.66 0h-7.983v64.931h7.983v6.92h-17.031v-78.77h17.03v6.919zm44.619 64.931h7.982v-64.93h-7.982v-6.92h17.031v78.77h-17.031zm24.659 0h7.983v-64.93h-7.983v-6.92h17.031v78.77h-17.031z\" fill-rule=\"evenodd\"/>\n <path d=\"m45.188 34.74v62.668h7.3507c-0.02998-28.03 0.06401-32 0.04791-62.668zm28.464 2.6834c-2.6133 0-5.1484 0.36297-7.6094 1.0734-2.4357 0.7104-4.8412 1.7835-7.2261 3.2297v7.159c2.461-1.6999 4.8147-2.9934 7.0728-3.8814 2.2834-0.88801 4.4263-1.3321 6.4306-1.3321 2.7401 0 4.9348 0.69381 6.584 2.0892 1.6745 1.3954 2.5205 3.2238 2.5205 5.4819 0 1.2432-0.33704 2.4589-0.9967 3.6514-0.63429 1.1925-1.6685 2.46-3.1147 3.8047l-3.431 3.3926c-2.2834 2.182-3.7748 4.0915-4.4852 5.7406-0.71039 1.6491-1.0638 3.7627-1.0638 6.3252v5.8556h7.2644v-4.6768c0-1.3193 0.03891-2.3631 0.115-3.1243 0.07613-0.76115 0.19278-1.4031 0.34501-1.9359 0.20297-0.63429 0.5434-1.2858 1.0255-1.9455 0.50744-0.68504 1.3568-1.6251 2.5493-2.8176l3.3447-3.268c2.2834-2.182 3.888-4.1399 4.8014-5.8652 0.91338-1.7506 1.3705-3.592 1.3705-5.5202 0-4.0341-1.4231-7.276-4.2647-9.737-2.8162-2.461-6.5637-3.6993-11.232-3.6993zm-5.5489 48.187v9.6604h7.7244v-9.6604z\" fill-rule=\"evenodd\" stroke-width=\"1.1245\"/>\n</svg>\n"
},
"$:/core/ui/EditorToolbar/aliasify": {
"title": "$:/core/ui/EditorToolbar/aliasify",
"caption": "{{$:/language/Buttons/Aliasify/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"created": "20180909082308073",
"description": "{{$:/language/Buttons/Aliasify/Hint}}",
"icon": "$:/core/images/aliasify",
"list-before": "$:/core/ui/EditorToolbar/mono-block",
"modified": "20180909091537847",
"shortcuts": "((aliasify))",
"tags": "$:/tags/EditorToolbar",
"type": "text/vnd.tiddlywiki",
"text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"|?]]\"\n/>\n"
},
"$:/core/ui/TiddlerInfo/References": {
"title": "$:/core/ui/TiddlerInfo/References",
"caption": "{{$:/language/TiddlerInfo/References/Caption}}",
"tags": "$:/tags/TiddlerInfo",
"type": "text/vnd.tiddlywiki",
"text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\"></$list>\n<hr>\n<$list filter=\"[all[current]aliasbacklinks[]sort[title]]\" emptyMessage=\"No tiddlers alias to this one\" template=\"$:/core/ui/ListItemTemplate\"></$list>\n"
},
"$:/plugins/wikilabs/uni-link/ui/ControlPanel/settings": {
"title": "$:/plugins/wikilabs/uni-link/ui/ControlPanel/settings",
"caption": "uni-link",
"created": "20171205224905238",
"modified": "20171205230149750",
"tags": "$:/tags/ControlPanel",
"type": "text/vnd.tiddlywiki",
"text": "!! [[Enable Aliases Footer|$:/plugins/wikilabs/uni-link/aka-footer]]\n\n<<<\n<$checkbox tiddler=\"$:/plugins/wikilabs/uni-link/aka-footer\" tag=\"$:/tags/ViewTemplate\"> Enable Aliases Footer</$checkbox>\n<<<\n\n!! [[Uni-link - Default field|$:/config/wikilabs/uni-link/field]]\n\nUse the following field as link text, if available: \n\n<<<\n<$tiddler tiddler=\"$:/config/wikilabs/uni-link/field\">\n<$radio value=\"caption\"> caption</$radio><br>\n<$radio value=\"subtitle\"> subtitle</$radio><br>\n<$radio value=\"\"> title</$radio><br>\n</$tiddler>\n<<<\n\n!! Additional Info\n\nSee: [[$:/plugins/wikilabs/uni-link/readme]]\n"
},
"$:/plugins/wikilabs/uni-link/ui/EditorToolbar/alias-dropdown": {
"title": "$:/plugins/wikilabs/uni-link/ui/EditorToolbar/alias-dropdown",
"created": "20190210145516221",
"modified": "20190210194738308",
"type": "text/vnd.tiddlywiki",
"text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-alias-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $tiddler=<<dropdown-state>> />\n<$action-deletetiddler $tiddler=<<searchTiddler>> />\n<$action-deletetiddler $tiddler=<<linkTiddler>> />\n\\end\n\n\\define external-link()\n<$button class=\"tc-btn-invisible\" style=\"width:auto; display:inline-block; background:none; padding:0;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" >\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"ENTER\" actions=<<add-link-actions>>>\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<<external-link>>\n<$button class=\"tc-btn-invisible\" style=\"width:auto; display:inline-block; background:none; padding:0;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$keyboard>\n</$vars>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n{{$:/plugins/wikilabs/uni-link/ui/EditorToolbar/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>"
},
"$:/plugins/wikilabs/uni-link/ui/EditorToolbar/alias": {
"title": "$:/plugins/wikilabs/uni-link/ui/EditorToolbar/alias",
"button-classes": "tc-text-editor-toolbar-item-start-group",
"caption": "{{$:/language/Buttons/Make/Alias/Caption}}",
"condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
"created": "20190210145538580",
"description": "{{$:/language/Buttons/Make/Alias/Hint}}",
"dropdown": "$:/plugins/wikilabs/uni-link/ui/EditorToolbar/alias-dropdown",
"icon": "$:/core/images/link",
"modified": "20190210194833231",
"shortcuts": "((alias-link))",
"tags": "$:/tags/EditorToolbar",
"type": "text/vnd.tiddlywiki",
"text": ""
},
"$:/plugins/wikilabs/uni-link/ui/EditorToolbar/SearchResults": {
"title": "$:/plugins/wikilabs/uni-link/ui/EditorToolbar/SearchResults",
"created": "20190210164849276",
"modified": "20190210194648558",
"type": "text/vnd.tiddlywiki",
"text": "\\whitespace trim\n<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AliasResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AliasResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/AliasResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n</div>"
},
"$:/plugins/wikilabs/uni-link/ui/EditorToolbar/SearchTemplate": {
"title": "$:/plugins/wikilabs/uni-link/ui/EditorToolbar/SearchTemplate",
"caption": "Aliases",
"created": "20190210153457679",
"modified": "20190210194716605",
"tags": "$:/tags/AliasResults",
"type": "text/vnd.tiddlywiki",
"text": "\\define getRealName()\nTiddler -> <<aka-no-links target:\"\"\"$(alias)$\"\"\">>\n\\end\n\\define searchResultList()\n\\whitespace trim\n<$list filter=\"[all[aliases]search:{$(searchTiddler)$}sort[title]]\" variable=alias>\n <div class=\"tc-menu-list-item\">\n <$link to=<<alias>> tooltip=<<getRealName>> ><<alias>></$link>\n </div>\n</$list>\n\\end\n<<searchResultList>>"
},
"$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases": {
"title": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases",
"caption": "Aliases",
"created": "20171214213808142",
"list-before": "$:/core/ui/MoreSideBar/Recent",
"modified": "20171214215245931",
"tags": "$:/tags/MoreSideBar",
"type": "text/vnd.tiddlywiki",
"text": "<div class=\"uni-link-sidebar tc-sidebar-lists\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases]!has[draft.of]]\" \"$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byAlias\" \"$:/state/tab/Aliases\" >>\n</div>"
},
"$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byAlias": {
"title": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byAlias",
"caption": "Alias",
"created": "20171214203739053",
"list-before": "$:/core/ui/MoreSideBar/Recent",
"modified": "20171214213743140",
"tags": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases",
"type": "text/vnd.tiddlywiki",
"text": "\\whitespace trim\n<$list filter=\"[all[aliases]sort[title]]\" variable=alias>\n <div class=\"tc-menu-list-item\">\n <$macrocall $name=\"aka\" target=<<alias>> />\n <div class=\"tc-menu-list-subitem\">\n <$macrocall $name=\"aka-no-links\" target=<<alias>> />\n </div>\n </div>\n</$list>\n"
},
"$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byTitle": {
"title": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/byTitle",
"caption": "Title",
"created": "20171214201333460",
"list-before": "$:/core/ui/MoreSideBar/Recent",
"modified": "20171214213745643",
"tags": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases",
"type": "text/vnd.tiddlywiki",
"text": "\\whitespace trim\n<$list filter=\"[has[aliases]sort[title]]\">\n <div class=\"tc-menu-list-item\">\n <$link to=<<currentTiddler>> ><<currentTiddler>></$link>\n <$list filter=\"[list[!!aliases]]\">\n <div class=\"tc-menu-list-subitem\">\n <$view field=title/>\n </div>\n </$list>\n </div>\n</$list>\n"
},
"$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/undefined": {
"title": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases/undefined",
"caption": "Undefined",
"created": "20180202150804918",
"list-before": "$:/core/ui/MoreSideBar/Recent",
"modified": "20180202151517364",
"tags": "$:/plugins/wikilabs/uni-link/ui/MoreSideBar/Aliases",
"type": "text/vnd.tiddlywiki",
"text": "<$list filter=\"[[?]aliasbacklinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\" emptyMessage=\"No undefined Aliases\"/>\n\n---\n\nYou'll need to reload the page, to update this list!\n"
},
"$:/plugins/wikilabs/uni-link/uni-link-macro-old": {
"title": "$:/plugins/wikilabs/uni-link/uni-link-macro-old",
"tags": "$:/tags/MacroX",
"text": "\\define getClass()\n<$uni-fields template=\"uni-$name$ \" include=\"subtitle caption\" sort=\"no\"/> uni-link\n\\end\n\n\\define returnText()\n\\whitespace trim\n<$set name=\"tv-wikilinks\" value=\"no\">\n<span class=<<class>> >\n <$transclude field=subtitle><$transclude field=caption><$transclude field=title/></$transclude></$transclude>\n</span>\n</$set>\n\\end\n\n\\define uni-link(tid)\n\\whitespace trim\n<$tiddler tiddler=\"\"\"$tid$\"\"\">\n <$wikify name=class text=<<getClass>> >\n <$link to=\"\"\"$tid$\"\"\" tooltip=\"\"\"uni-link to: $tid$\"\"\"><<returnText>></$link>\n </$wikify>\n</$tiddler>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
},
"$:/plugins/wikilabs/uni-link/uni-link-macro": {
"title": "$:/plugins/wikilabs/uni-link/uni-link-macro",
"tags": "$:/tags/Macro",
"text": "\\define getClass()\n<$uni-fields template=\"uni-$name$\" include=$(field-name)$ sort=\"no\"/> uni-link\n\\end\n\n\\define returnText()\n\\whitespace trim\n<$set name=\"tv-wikilinks\" value=\"no\">\n<span class=<<class>> >\n <$transclude field=$(field-name)$ ><$transclude field=title/></$transclude>\n</span>\n</$set>\n\\end\n\n\\define uni-link(tid)\n\\whitespace trim\n<$tiddler tiddler=\"\"\"$tid$\"\"\">\n <$vars field-name={{$:/config/wikilabs/uni-link/field}} >\n <$wikify name=class text=<<getClass>> >\n <$link to=\"\"\"$tid$\"\"\" tooltip=\"\"\"uni-link -> $tid$\"\"\"><<returnText>></$link>\n </$wikify>\n </$vars>\n</$tiddler>\n\\end\n\n<pre><$view field=\"text\"/></pre>"
},
"$:/plugins/wikilabs/uni-link/styles": {
"title": "$:/plugins/wikilabs/uni-link/styles",
"tags": "$:/tags/Stylesheet",
"text": ".uni-link {\n color: navy;\n}\n\n.uni-caption {\n color: #2a699f;\n}\n\n.uni-subtitle {\n color: #0e8446;\n}\n\n.uni-alias {\n color: #7557d8;\n}\n\n.uni-alias-missing {\n color: red;\n}\n\n.uni-link-sidebar .tc-tab-buttons {\n padding-top: 0;\n}\n"
}
}
}
:team {{!!list}} chose: {{!!responses}}: {{!!result}}
<hr>
<$list filter="[all[current]has[a]]">
(a) note: {{!!a}}
</$list>
<$list filter="[all[current]has[b]]">
(b) note: {{!!b}}
</$list>
<$list filter="[all[current]has[c]]">
(c) note: {{!!c}}
</$list>
<$list filter="[all[current]has[d]]">
(d) note: {{!!d}}
</$list>
<$list filter="[all[current]has[e]]">
(e) note: {{!!e}}
</$list>
<$list filter="[all[current]has[link]]">
:See {{!!link}} for details
</$list>
div.tc-tagged-opening_questions { background-color: #acdfbd; }
div.tc-tagged-opening_questions .tc-titlebar { background-color: #acdfbd; }
[data-tiddler-title="spring 2020 opening questions"] { background-color: #acdfbd;}
[data-tiddler-title="spring 2020 opening questions"] .tc-titlebar { background-color: #acdfbd; }
div.tc-tagged-sessions { background-color: #b3daec; }
div.tc-tagged-sessions .tc-titlebar { background-color: #b3daec; }
div.tc-tagged-_play { background-color: pink; }
div.tc-tagged-_play .tc-titlebar { background-color: pink; }
[data-tiddler-title="appointments"] { background-color: #1da0f5; background-image: "calendly-logo.png"; }
[data-tiddler-title="appointments"] .tc-titlebar { background-color: #1da0f5; }
div.tc-tagged-definitions { border: 1px solid red; background-color: #fdffdd;}
div.tc-tagged-definitions .tc-titlebar { background-color: #fdffdd;}
div.tc-tagged-philosophers { background-color: #eeffcc; }
div.tc-tagged-philosophers .tc-titlebar { background-color: #eeffcc; }
div.tc-tagged-microessays { background-color: #dddaaa;}
div.tc-tagged-microessays .tc-titlebar{ background-color: #dddaaa;}
div.tc-tagged-assignments { background-color: #f9f9f0;}
div.tc-tagged-assignments .tc-titlebar{ background-color: #f9f9f0;}
[data-tags*="handouts"] { background: #eeddff; border: 3px solid blue; }
[data-tags*="handouts"] .tc-titlebar { background: #eeddff; }
[data-tags*="invisible"] .tc-comment-button {display:none;}
[data-tags*="invisible"] .tc-titlebar {display:none;}
[data-tags*="invisible"] .tc-tiddler-body {display:none;}
[data-tags*="Unit A"] { border-left: 5px solid DarkBlue;}
[data-tags*="Unit B"] { border-left: 5px solid DarkGreen;}
[data-tags*="Unit C"] { border-left: 5px solid Olive;}
[data-tags*="Unit D"] { border-left: 5px solid Sienna;}
[data-tags*="Unit E"] { border-left: 5px solid Firebrick;}
[data-tags*="Unit F"] { border-left: 5px solid Purple;}
[data-tiddler-title="definitions"] { border: 6px solid red; background-color: #fdffdd; }
[data-tiddler-title="definitions"] .tc-titlebar { background-color: #fdffdd;}
[data-tiddler-title="stylesheet experimentation"] { border: 6px solid purple;}
[data-tags*="troubleshooting"] { border: 3px dashed yellow;}
.tc-popup.tc-preview-tiddler{
background-color: #ffeeee;
border: 2px solid red;
}
[data-tags*="vennbgi"] {
font-family: "Acme";
border: 2px solid pink;
background-image: url(<<datauri "venn_simple.svg">>);
background-repeat: no-repeat;
}
div.tc-tagged-vennbgi .tc-tiddler-body{
}
div.tc-tagged-vennbgi .tc-titlebar { background-color: rgba(0,0,0,0);}
}
[data-tags*="linebreaks"] .tc-tiddler-body {
word-break: normal;
word-wrap: break-word;
white-space: pre-wrap;
}
<$list filter="[2col[yes]]">
[data-tiddler-title^="<$view field=title/>"] .tc-tiddler-body {
column-count: 2;
}
</$list>
.notebook .tc-tiddler-body{
padding-top:20px;
font-family: "Acme", cursive;
font-weight:300;
line-height:2em;
color:#696969;
}
/* Setting font for other elements */
.notebook .tc-tiddler-body pre,
.notebook .tc-tiddler-body code,
.notebook .tc-tiddler-body pre code
{
font-family: "Ubuntu", sans;
font-weight:300;
}
[data-wrap="no"] .tc-tiddler-body {
word-break: normal;
word-wrap: break-word;
white-space: pre-wrap;
}
.ind {display: block; break-inside: avoid; break-before: avoid; padding-left:1em; font-size: .9em; font-family: "Ubuntu Condensed"; line-height: 1.2; }
.tc-sidebar-scrollable {background: rgb(0,0,0,0.02);}
.h3 {break-before: always; }
.hl { background-color:yellow; }
.hlg { background-color:#ceffce; }
.hly { background-color:#ffffaa; }
.hlb { background-color:#ddddff; }
.hlo { background-color:#ffeecc; }
.hls { background-color:#bbb; }
.hlp { background-color:#ffdddd; }
.hlw { color:#fff; font-family: "Ubuntu Condensed";}
.hlw a {color:#eee; }
.hli { background-color: #999999; color: #ffffff; }
.scap {font-variant: small-caps; }
.tcr { color: #f44; }
.big {font-size: 200%;}
.dl {font-color:green; }
.triangle-right { float: right; position: relative;
padding: 6px; margin: .5em .5em 1em .5em;
-webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px;
color: #fff;
background: #075698;
background: -webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));
background: -moz-linear-gradient(#2e88c4, #075698);
background: -o-linear-gradient(#2e88c4, #075698);
background: linear-gradient(#2e88c4, #075698);
}
.triangle-right:after { content: ""; position: absolute;
display: block; width: 0;
bottom: -20px; right: 40px;
border-width: 20px 0 0 20px; border-style: solid;
border-color: #075698 transparent;
}
.triangle-left { float: left; position: relative;
padding: 6px; margin: .5em .5em 1em .5em;
-webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px;
color: #fff;
background: #075698;
background: -webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));
background: -moz-linear-gradient(#2e88c4, #075698);
background: -o-linear-gradient(#2e88c4, #075698);
background: linear-gradient(#2e88c4, #075698);
}
.triangle-left:after { content: ""; position: absolute;
display: block; width: 0;
bottom: -20px; left: 40px;
border-width: 20px 20px 0 0;
border-style: solid;
border-color: #075698 transparent;
}
\define datauri(title)
<$datauri tiddler="$title$"/>
\end
.img-left {float: left; margin-right: 0.5em;}
.img-right {float: right; margin-left: 0.5em;}
.img-shadow { border: 1px solid #ddd; box-shadow: 4px 6px #bbb; }
body.tc-body { font-family: 'Ubuntu';
background-repeat: no-repeat;
background-position: 0 0; background-opacity: 50%; }
body { font-family: 'Ubuntu';}
html body { font-family: "Ubuntu", "Trebuchet MS";}
/* FOUR COLUMN MODE */
.fourcolumns { display:block;
-moz-column-count:4; -moz-column-gap:1em;
-webkit-column-count: 4; -webkit-column-gap:1em;}
/* TWO COLUMN MODE */
.twocolumns { display:block;
-moz-column-count:2; -moz-column-gap:1em;
-webkit-column-count: 2; -webkit-column-gap:1em;}
/* THREE COLUMN MODE */
.threecolumns { display:block;
-moz-column-count:3; -moz-column-gap:1em;
-webkit-column-count: 3; -webkit-column-gap:1em;}
/* SIDEBAR TABS */
.tc-sidebar-lists .tc-tab-buttons button {
color: #0044BB;
background-color: #FFFFFF;
border: 1px solid #D1DDF3;
border-radius: 0.5em 0.5em 0 0;
}
.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {
font-weight: bold;
color: #0044BB;
background-color: #D1DDF3;
border-bottom: 1px solid #fff; border: 1px solid #A2BBE6;
border-radius: 0.7em 0.7em 0 0 ;
}
/* SIDEBAR 'More' TABS */
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {
background-image: none;
background-color: #FFFFFF;
border: 1px solid #D1DDF3;
}
.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {
background-image: none;
background-color: #D1DDF3;
border: 1px solid #A2BBE6;
}
.tc-toc {
font-family: "Ubuntu Condensed", sans-serif;
}
.tc-subtitle {
opacity: 0;
}
.tc-subtitle {
opacity: 1;
transition:opacity 0.6s;
transition-timing-function: cubic-bezier(1,-0.06,.39,.89);
}
.ol-alpha {list-style-type: lower-alpha;}
blockquote.bubble {
background: url(speech-bubble.svg);
background-position: center;
background-size: 100% 100%;
background-repeat: no-repeat;
width: 25%;
text-align: center;
height: 0;
padding-top: 6%;
padding-bottom: 20%;
box-sizing: content-box;
line-height: 1;
}
.out-red {
outline-style: solid;
outline-color: rgb(201, 76, 76);
}
.out-green {
outline-style: solid;
outline-color: rgb(76, 201, 76);
}
.hang {display: block; break-inside: avoid; break-before: avoid; padding-left:1em; font-size: .9em; line-height: 1.2; text-indent: -1em;}
.objection { display:block; border-left: 3px solid orange; padding: 6px; margin: .5em .5em .5em .5em; color: #fff; background: #941; background: -webkit-gradient(linear, 0 0, 0 100%, from(#d71), to(#941)); background: -moz-linear-gradient(#d71, #941); background: -o-linear-gradient(#d71, #941); background: linear-gradient(#d71, #941); transform: skewX(9deg);}
.reply { display:block; border-left: 3px solid green; padding: 6px; margin: .5em .5em .5em .5em; color: #008; background: #9d3; background: -webkit-gradient(linear, 0 0, 0 100%, from(#bd5), to(#9d3)); background: -moz-linear-gradient(#bd5, #9d3); background: -o-linear-gradient(#bd5, #9d3); background: linear-gradient(#bd5, #9d3); transform: skewX(-9deg);}
a.tc-tiddlylink-external:visited {
color: #8888bb;
background-color: inherit;
}
a.tc-tiddlylink-external {
text-decoration: underline;
color: #6666aa;
background-color: inherit;
}
<<table-dynamic filter:"[tag[$:/tags/Macro]]" fields:"tbl-expand created title" stateTiddler:"macros_overview" sort:created class:"w-100 thead-dark" caption:"''Here are the macros currently installed; use the > toggle at leftmost column to reveal details.''">>
<<tag $:/tags/MoreSideBar/Plugins>>
<<table-dynamic filter:"[tag[$:/tags/Stylesheet]]" fields:"tbl-expand created title" stateTiddler:"stylesheet_overview" sort:created class:"w-100 thead-dark" caption:"''Here are the stylesheet specifications currently in play; use the > toggle at leftmost column to reveal details.''">>
<path id="text-curve" d="
M 00,40 C 64,50 64,30 128,40
" fill="none" stroke="#ccf"/>
<text x="1" Y="10" font-size="8" stroke="none" fill="red">
<textPath href="#text-curve">
* Keyframers really know animation.
</textPath>
</text>
$:/themes/tiddlywiki/snowwhite
Ubuntu, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"
<span title=<<dt 'MMM DD, YYYY'>>>
<$button class='tc-btn-invisible tc-time'><$action-navigate $to='$:/info/timestamp'/><$transclude tiddler='$:/temp/time' mode='block'/></$button></span>
This plugin comes with CSS to support checklists generated via a plugin by Tony Grosinger – indentation and the display of user interface elements to add and delete items should be optimized for use inside of listreveal lists.
[ ] Install the plugin from https://grosinger.net/tw5-checklist/
[x] Make your first checklist
[x] Read these hints on checklists
The midterm exam includes one multi-choices question for each session so far, plus an essay component.
!!!What to cover in your essay:
Choose among these essay options ...
{{essay prompts}}
Regardless of which option you choose, be ready to do the following:
* ''Discuss at least three'' authors (ideally four) in connection with your theme choice.
* With at least one author, it is important to discuss ''multiple possible interpretations'' (mentioning an obvious reading plus a more nuanced reading, for example)…
* Be sure not just to explain the ideas, but also to integrate some ''comparative and evaluative remarks'' (for example, indicating why one particular view may seem more plausible than alternatives, or where we should notice some troubling implications, etc.)
|alternating-rows|k
|!|!date |!unit|!author|!essay/chapter/themes|!text source|!details|
||!@@.small @@|<|<|<|<|<|
|@@display:block;transform: rotate(-90deg); campus @@|Jan 23 (Th)|>|>|[[introduction, group activity|day 1 notes]]|syllabus|<|
|~|Jan 28 (Tu)|![[Unit A]]|![[Plato]]|//[[Crito]]//|!//[[Five Dialogues|Plato, Five Dialogues]]//|[[Stephanus|classic pagination]] 43-54 (45-56)|
|~|Jan 30 (Th)|~|~|//[[Euthyphro]]//|~|[[Stephanus|classic pagination]] 2–16 (3–22)|
|~|Feb 4 (Tu)|~|[[Epictetus]]|//[[Enchiridion|Epictetus, Enchiridion]]//|[[pdf-packet]]|<|
|~|Feb 6 (Th)|~|[[King]]|[[Letter from Birmingham Jail|King, Letter from Birmingham Jail]]|[[pdf-packet]]|<|
|~|!@@.small @@|<|<|<|<|<|
|~|Feb 11 (Tu)|![[Unit B]]|![[Aristotle]]|[[Happiness, Character, and Decision|Aristotle 1 (up to 1115a)]]|!//[[Nicom. Ethics|Nicomachean Ethics|Aristotle, Nicomachean Ethics]]//|–1115a|
|~|Feb 13 (Th)|~|~|[[Virtues, Vices, Justice|Aristotle 2 (1115-1132b)]]|~|–1132b|
|~|Feb 18 (Tu)|~|~|[[Pleasure, Friendship, Government|Aristotle 3 (books 7, 8, 10)]]|~|1145a15–1163a; 1175a30–end|
|~|Feb 20 (Th)|~|[[Nussbaum]]|[[Non-Relative Virtues|Nussbaum, Non-Relative Virtues]]|[[pdf-packet]]|<|
|~|!@@.small @@|<|<|<|<|<|
|~|Feb 25 (Tu)|![[Unit C]]|![[Kant]]|[[Philosophy and morality|Kant1]]|!//[[GMM|Kant, Grounding for the Metaphysics of Morals]]//|§1|
|~|Feb 27 (Th)|~|~|[[The Categorical Imperative|Kant2]]|~|§2|
|~|Mar 3 (Tu)|~|[[Korsgaard]]|[["The Right to Lie"|Korsgaard, The Right to Lie]]|[[pdf-packet]]<br> ||
|~|!@@.small @@|<|<|<|<|<|
|~|Mar 5 (Th)|>|>|! [[MIDTERM|midterm]]|<|<|
|~|!@@.small @@|<|<|<|<|<|
|@@display:block;transform: rotate(-90deg); remote @@|@@.small Mar 6 (Fr)–<br>Mar 22 (Su)@@|>|>| s p r i n g b r e a k |<|<|
|~|!@@.small @@|<|<|<|<|<|
|~|Mar 24 (Tu)|![[Unit D]]|![[J S Mill]]|[[Utilitarianism overview|Mill1]]|![[Utilitarianism|John Stuart Mill, Utilitarianism]]|Ch 1-2|
|~|Mar 26 (Th)|~|~|[[Utilitarian theoretical questions|Mill2]]|~|Ch 3-4|
|~|Mar 31 (Tu)|~|~|[[Utilitarianism and Justice|Mill3]]|~|Ch 5|
|~|Apr 2 (Th)|~|[[Rawles]]|[["Conservation and Animal Welfare"|Rawles, Conservation and Animal Welfare]]|[[pdf-packet]]|<|
|~|Apr 7 (Tu)|~|[[Singer]]|[["Famine Affluence and Morality"|Singer, Famine Affluence and Morality]]|pdf at moodle|<|
|~|Apr 9 (Th)|~|various authors|Articles on [[pandemic ethics]]|pdf at moodle|<|
|~|~|~|~|... or [[food ethics]] or [[climate change ethics]]|pdfs here and at moodle|<|
|~|!@@.small @@|<|<|<|<|<|
|~|Apr 14 (Tu)|![[Unit F]]|[[Beauvoir]] @@.hl *@@|[["The Ethics of Ambiguity"|Beauvoir, Ethics of Ambiguity]] @@.hl *@@|[[pdf-packet]]|@@.hly This week: submit <br> essay previews via moodle @@|
|~|Apr 16 (Th)|~|[[Plumwood]] @@.hl *@@|[["Nature in the Active Voice|Plumwood, Nature in the Active Voice]] @@.hl *@@|[[pdf-packet]]|~|
|~|Apr 21 (Tu)|~|[[Kohlberg]]|[["Child as Moral Philosopher"|Kohlberg, The Child as a Moral Philosopher]]|[[pdf-packet]]|<|
|~|Apr 23 (Th)|~|[[Noddings]]|[["Caring"|Noddings, Caring]]|[[pdf-packet]]|<|
|~|Apr 28 (Tu)|~|[[Dewey]]|[["Theories of Morals"|Dewey, Theories of Morals]]|[[pdf-packet]]|<|
|~|Apr 30 (Th)|~|[[Appiah]]|[["Global Citizenship"|Appiah, Global Citizenship]]|pdf at moodle|<|
|~|May 5 (Tu)|>|>|>| [[review]] |<|<|
|~|May 13 (We)|>|![[FINAL EXAM|final exam spring 2020]] 2–5pm|<|<|<|
@@.hl *@@ marks readings that are usually part of [[Unit E]], which has been collapsed together with [[Unit F]] for [[spring 2020]]
We find at least three formulations of the ''[[categorical imperative]]'' in the //[[Grounding|Kant, Grounding for the Metaphysics of Morals]]//, plus some variants:
|!(1) UNIVERSAL LAW formulation:|“Act only according to that maxim whereby ''you can'' at the same time ''will'' that it should become a ''universal law'' [of nature].” (421 )|
|!(2) END IN ITSELF formulation:|“Act in such a way that you ''treat humanity'', whether in your own person or in the person of another, ''always'' at the same time ''as and end'' and never simply as a means.” (429)|
|!(3) KINGDOM OF ENDS formulation:|“…never to act on any maxim except such as can also be a universal law hence such as the ''will'' can thereby ''regard itself as'' at the same time the ''legislator'' of universal law.” (434)|
|alternating-rows|k
[[Kant]] argues that all three are basically equivalent (that they represent the same thing (1) "form" (2) "material" and then (3) both together). [[Korsgaard]] will argue that the second and third are actually more [[rigorous|rigorism]] than the first.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" viewBox="270 99 522 486" width="522" height="486">
<defs>
<font-face font-family="Trebuchet MS" font-size="20" panose-1="2 11 6 3 2 2 2 2 2 4" units-per-em="1000" underline-position="-127.4414" underline-thickness="62.01172" slope="0" x-height="527.832" cap-height="721.6797" ascent="938.9648" descent="-222.16797" font-weight="400">
<font-face-src>
<font-face-name name="TrebuchetMS"/>
</font-face-src>
</font-face>
<font-face font-family="Helvetica Neue" font-size="18" panose-1="2 0 5 3 0 0 0 2 0 4" units-per-em="1000" underline-position="-100" underline-thickness="50" slope="0" x-height="517" cap-height="714" ascent="951.9958" descent="-212.99744" font-weight="400">
<font-face-src>
<font-face-name name="HelveticaNeue"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.12.1
<dc:date>2019-12-21 03:47:46 +0000</dc:date>
</metadata>
<g id="Canvas_1" stroke="none" stroke-opacity="1" fill-opacity="1" stroke-dasharray="none" fill="none">
<title>Canvas 1</title>
<g id="Canvas_1: Layer 1">
<title>Layer 1</title>
<g id="Graphic_5">
<circle cx="630" cy="423" r="162.000258860107" fill="#d70806" fill-opacity=".25316374"/>
<text transform="translate(505.4 330.992)" fill="black">
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="51.896606" y="109"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="109"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="109">METAPHYSICS:</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="62.02765" y="132.504"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="132.504"> How things are</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="39.556856" y="156.008"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="156.008"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="156.008"> (in ways that go </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="32.56467" y="179.512"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="179.512"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="179.512">beyond science)</tspan>
</text>
</g>
<g id="Graphic_4">
<circle cx="540" cy="261" r="162.000258860107" fill="#074bd7" fill-opacity=".253164"/>
<text transform="translate(415.4 146)" fill="black">
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="54.01406" y="19">EPISTEMOLOGY:</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="76.43594" y="42">Knowledge</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="98.53555" y="65">Belief</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="60.10293" y="88">Understanding</tspan>
</text>
</g>
<g id="Graphic_3">
<circle cx="432" cy="423" r="162.000258860107" fill="#3aab0b" fill-opacity=".23776498"/>
<text transform="translate(307.4 262.24)" fill="black">
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="111">ETHICS: </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="111"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="111"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="134.504">How to choose</tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="134.504">;</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="134.504"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="134.504"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="134.504"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="158.008">What’s worth </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="181.008">doing</tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="181.008">;</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="181.008"> </tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="181.008"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="181.008"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="204.512">The nature of</tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="204.512"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="204.512"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="228.016">good &</tspan>
<tspan font-family="Helvetica Neue" font-size="18" font-weight="400" fill="black" y="228.016"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="228.016">bad, </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="228.016"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" y="228.016"> </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="0" y="251.52">right & wrong</tspan>
</text>
</g>
</g>
</g>
</svg>
!!!(Option A) Can moral conscience and self-interest conflict?
For each thinker you discuss, give an account of what "self-interest" (or happiness or well-being) would involve. Then describe the role for something we might call "conscience" or moral reflection. Given these accounts, should we expect these ideals to come into conflict? When, why, and how so?
Make sure to offer reflections on whether the conflict is genuine and direct, or whether the conflict is only apparent and/or solvable.)
This course encourages students to develop philosophical [[skills]] while exploring [[six major patterns in moral reasoning]] — two ancient, two modern, and two contemporary ones.
In the ancient world, philosophers commonly treated moral life as closely linked to the well-being of our souls; what its two main schools disagreed most about was whether people could achieve significant moral insight even in the absence of wise role models and social teachings.
Modern thinkers tend to doubt that ethics and happiness correlate neatly: corrupt people can be happy, while morally exemplary people can be miserable. Yet modern thinkers again disagree over the role of experience in shaping moral insight.
Recent thinkers take a more cautious view of popular moral ideals, seeing them as products of history, culture, and social hierarchy — perhaps even shaped from the beginning by partisan ideological purposes. Can ideals such as integrity and wisdom be re-envisioned in the wake of these critiques? If moral ideals have developed in the service of human cultural practices, how might we begin to address the moral challenges posed by the needs of non-human beings and more-than-human ecosystems?
Enter a filter and all tiddlers returned by that filter will be listed. Enter a tag and the checkboxes will indicate if each tiddler has that tag or not. Checking a box adds the tag, unchecking a box removes it. The buttons do exactly what they say.
Filter:
<$edit-text tiddler='$:/temp/BatchAddTags' field='filter' class='tc-edit-texteditor'/>
Tag: <$edit-text tiddler='$:/temp/BatchAddTags' field='add_tag' class='tc-edit-texteditor'/>
<table>
<tr><th>Tiddler Name</th><th>Has Tag?</th></tr>
<$list filter={{$:/temp/BatchAddTags!!filter}}>
<$fieldmangler tiddler=<<currentTiddler>>>
<tr><td><$link to=<<currentTiddler>>><$view field='title'/></$link></td><td><$checkbox tiddler=<<currentTiddler>> tag={{$:/temp/BatchAddTags!!add_tag}}/></td></tr>
</$fieldmangler>
</$list>
</table>
<$button class=<<tv-config-toolbar-class>> tooltip="Add new microessay tiddler">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<span class="chunk">{{$:/core/images/list}}</span>
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text="New Study"/></span>
</$list>
<$action-sendmessage $message="tm-new-tiddler" tags="microessay" xf={{hb}} xa={{hb}} xc={{hb}} xe={{hb}} xt={{hb}} text={{AddMicroessayTemplate}} ya="Claims about the text should be @@.hlo accurate, and supported by excerpts@@ set out at the top of post." yf="Frame your microessay around @@.hlg one main issue@@, then focus on one main critical concern." yc="Choose a @@.hly critical concern, or potential objection@@ that represents a reasonable challenge to the text." ye="Be sure to @@.hlb engage in a dialogical effort to reconstruct the best reply@@ that we can imagine on behalf of the author's line of thought." yt="Clarity of writing, and other technical details..."/>
</$button>
>
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
!!!Crito discussion question
!!!Philosophical Reasoning: argument
The //Crito// builds toward one central [[conclusion]]. What is the main conclusion? (Note: there may be some reasonable disagreement about exactly how to articulate the main conclusion...)
//Method tip:// nominate potential conclusions, and check to see which one is most dependent on the other claims of the text.
!!!Mapping the Crito
See [[handout|Crito outline]].
Two distinctive [[premises|premise]] play prominent roles in the [[argument]]:
# that life is worth living only if the soul is healthy -- i.e., if it is just
# that escaping his death sentence would constitute a significant injustice
!!!Reading for next session: [[Euthyphro]]
# Attend to [[hypothesis]] and [[elenchus]] structure
# Write a passage commentary if it's your turn. Post it //by 9pm// the night before class.
# Take a look at other students' commentaries, if it's not your turn.
!!!Groups
Add/Drop is still underway for this course. There will be a couple further shifts, and then we should be settled.
Make sure to coordinate scheduling of commentaries within your groups!
!Please find your name on one of the GROUP posters, and sit together as a group.
!!!Name Cards
Please write out:
## full name and nickname (preferred name for discussion purposes)
## campus/cell phone (indicate if you prefer it to be confidential)
## a potentially-philosophical question that you (or someone you know) have reflected on.
## one moral priority that matters to you
!!!Groups:
# Meet
# Discuss the [[Introductory Group Question|01/24 Discussion Question]]
# Negotiate commentary schedule: one student per class session
!!!Course Overview
# Syllabus
# Assignments
# moodle
# Philosophical Reasoning
!!!Reading for next session: [[Euthyphro]]
# Scan [[argument vocabulary|Definitions list]]; attend especially to:
## dialogue
## hypothesis
## elenchus
## premise
## reductio ad absurdum
## dilemma
## aporia
# Write a passage commentary if it's your turn. Post it at moodle //by midnight//
# Take a look at other students' commentaries, if it's not your turn.
: [img width=20% class=img-right [Ahmed|https://socialpolicyandthedorisdayfan.files.wordpress.com/2015/03/sara.jpg]]Sara Ahmed (1969–) is an interdisciplinary scholar who has contributed to [[phenomenology]], post-colonial and critical race theory, and feminist and queer theory.
<hr>
Ahmed has been maintaining a [[feministkilljoys blog|https://feministkilljoys.com/]]
<<tabs "[tag[Ahmed]]" template:"tabtemplate">>
!!!Key concepts:
;Existentialism (Marx, Beauvoir)
:There are subjects who existence runs ahead of their values; values //come into being//.
;Phenomenology
:study of the features of phenomena as they are experienced (often drawing on detailed, paradoxical description).
;Transvaluation
:Recasting of concepts so that their evaluative charge is shifted (from positive to negative, or from negative to positive).
;Affect
:"What creates the impression that objects have affective value" (p. 32)
;Affect aliens
:a gap, or lack of alignment, between social expectations for affect and actual experience of affect.
;False consciousness (from Marx)
:Inherited patterns of perception that cover over or obscure, even while pretending to illuminate reality.
\define showalias(tid, alias)
<$set name="alias" value="""content: '$alias$'""">
<$set name="uri" value=<<makedatauri """$tid$""" "text/plain">> >
<$list variable="urititle" filter="""[<uri>removeprefix[data:text/plain,]]""">
<style>
a[href='#<<urititle>>'] {
visibility: hidden;
position: relative;
}
a[href="#<<urititle>>"]:before {
visibility: visible;
<<alias>>;
}
</style>
</$list>
</$set>
</$set>
\end
<$list filter="""[all[current]has[alias]]""">
<$macrocall $name="showalias" tid={{!!title}} alias={{!!alias}} />
</$list>
!!!Consider the wartime [[dilemma]] faced by the student who sought Sartre’s advice. Based on [[Beauvoir]]’s [[Ethics of Ambiguity|Beauvoir, Ethics of Ambiguity]], we would expect her to comment that…
<$details state="!!accord1" summary="(a) The choice to fight against the Germans can be ruled out, because taking up arms involves failing to treat enemy solders as ends in themselves." mode="custom" $state="aaa3">@@color:red;No... Clearly, Sartre doesn’t worry about treating German soldiers as means; his worry is about treating the Free French forces that way if the young man does *not* join the effort.@@</$details>
<$details state="!!accord2" summary="(b) The defense of freedom is a perfect duty, while caring for a specific person, such as one’s mother, is an imperfect duty; hence respect for freedom requires recognizing that the universal trumps the particular." mode="custom" $state="aaa2">@@color:red;No... No. Granted, lots of Beauvoir-ish rhetoric is here, but reason does NOT say HOW to exercise freedom, according to the existentialist; reason does not resolve dilemmas for us. Kant’s ethics, on her view, commits the vice of “seriousness.”@@</$details>
<$details state="!!accord3" summary="(c) the only authentic way of making such a choice is to look inwards, discover what we truly feel, and follow our hearts." mode="custom" $state="aaa1">@@color:red;No... This reflects the vice of “passionate” thinking: treating emotions as if they are a “given” that happens to us, beyond our responsibility.@@</$details>
<$details state="!!accord4" summary="(d) The problem with this young man’s thinking lies in his preoccupation with outcomes, as if success in the external world mattered to the value of his choice. He should instead transcend such concerns and focus on what is within his control." mode="custom" $state="aaa4">@@color:red;No... This is, of course, the stoic view; yet Beauvoir argues against the stoic project, which tries to “eliminate the ambiguity” of our condition by retreating into the pure and inner realm of “formal freedom,” denying that we are vulnerable to the world of things.@@</$details>
<$details state="!!accord5" summary="(e) The search for a moral theory that would establish the correct choice, in such a case, illustrates a kind of bad faith; ultimately, only the individual can be responsible for the priorities demonstrated in his action." mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
This [[Socratic|Socrates]] [[dialogue]] is recommended reading in connection with both the [[Euthyphro]] and the [[Crito]].
<<<.dark
Let us observe that incontinence about spirit is less shameful than incontinence about appetites…Now spirit and irritability are more natural than the excessive and unnecessary appetites.
<<< Aristotle, //NE// 1149a
<<<.moo
@@.hlg Aristotle claims that it is less shameful to have less restraint with spirits than with appetites. In justifying this, he claims that spirit is more natural than excessive appetite.@@ @@.hly However, if a person is left to his own in a feast-filled room, would not his instincts tell him to eat more than in a normal sitting, lest there be worse times ahead? How can something be more natural than an instinct? Instincts are the uncontrollable core of the natural.@@ @@.hlb Aristotle may responds to this issue by saying that while appetite is natural and necessary, excessive appetite means that a person has exceeded the limit for which the body has called and a person is simply acting with incontinence.@@(119 words)
<<<
<$details class="eval" summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
[img width=25% class=img-right [Appiah|https://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Kwame_Anthony_Appiah_by_David_Shankbone.jpg/330px-Kwame_Anthony_Appiah_by_David_Shankbone.jpg]]
[[Kwame Akroma-Ampim Kusi Anthony Appiah (/ˈæpiɑː/ AP-ee-ah; born 8 May 1954) is a British-Ghanaian philosopher, cultural theorist, and novelist whose interests include political and moral theory, the philosophy of language and mind, and African intellectual history. Appiah was the Laurance S. Rockefeller University Professor of Philosophy at Princeton University,[3] before moving to New York University (NYU) in 2014.[4] He currently holds an appointment at the NYU Department of Philosophy and NYU's School of Law.|https://en.wikipedia.org/wiki/Kwame_Anthony_Appiah]]
[[personal homepage|http://appiah.net/]]
Appiah's "Global Citizenship" is our second ''TA choice" reading for [[spring 2020]].
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Appiah/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
<svg viewBox="0 0 295 235" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="190" cy="155" r="80" fill="red" opacity="52%"/>
<circle cx="110" cy="155" r="80" fill="blue" opacity="40%"/>
<circle cx="150" cy="85" r="80" fill="green" opacity="38%"/>
<foreignObject x="40" y="160" width="150" height="180"><body>@@.hlw {{!!left_label}} @@</body></foreignObject>
<foreignObject x="192" y="160" width="150" height="180"><body>@@.hlw {{!!right_label}} @@</body></foreignObject>
<foreignObject x="135" y="40" width="150" height="180"><body>@@.hlw {{!!top_label}} @@</body></foreignObject>
</svg>
!!!!!//Note: wording on these passages is from T Irwin's translation//
<$details class="fm" summary="1094: End of political science">
<<<.fm
Suppose, then, that (a) there is some end of the things we pursue in our actions which we wish for because of itself, and because of which we wish for the other things; and (b) we do not choose everything because of something else, since (c) if we do, it will go on without limit... then clearly (d) this end will be the good, i.e., the best good.<br>Then surely knowledge of this good is also of great importance. ...<br>[The end of political science] will include the ends of the other sciences, and so will be the human good. For though admittedly the good is the same for a city as for an individual, still the good of the city is apparently a greater and more complete good to acquire and preserve.
<<< 1094a18
</$details>
<$details class="fm" summary="1095: youth and political science">
<<<.fm
Now each man judges well the things he knows, and of these he is a good judge. And so the man who has been educated in a subject is a good judge of that subject, and the man who has received an all-round education is a good judge in general . Hence a young man is not a proper hearer of lectures on political science; for he is inexperienced in the actions that occur in life, but its discussions start from these and are about these; and, further, since he tends to follow his passions, his study will be vain and unprofitable, because the end aimed at is not knowledge but action.
<<< 1095a02
</$details>
<$details class="fm" summary="1095: need for fine habits">
<<<.fm
This is why we need to have been brought up in fine habits if we are to be adequate students of what is fine and just, and of political questions generally. For the origin we begin from is the belief that something is true, and if this is apparent enough to us, we will not, at this stage, need to reason why it is true in addition; and if we have this good upbringing, we have the origins to begin from, or can easily acquire them.
<<< 1095b05
</$details>
<$details class="fm" summary="1095: Three lives">
<<<.fm
... there are roughly three most favoured lives — the lives of gratification, of political activity, and third, of study.<br>The many, and the most vulgar, would seem to conceive the good and happiness as pleasure; and hence they also like the life of gratification. Here they appear completely slavish, since the life they decide on is a life for grazing animals; and yet they have some argument in their defence, since many in positions of power fell the same way...<br>
<<< 1095b15
</$details>
<$details class="fm" summary="1095: Honor, or goodness?">
<<<.fm
The cultivated people, those active [in politics], conceive the good as honour, since this is more or less the end [normally pursued] in the political life. This, however, appears to be too superficial to be what we are seeking, since it seems to depend more on those who honour than on the one honoured, whereas we intuitively believe that the good is something of our own and hard to take from us.<br>Further, it would seem, they pursue honor to convince themselves that they are good; at any rate, they seek to be honoured by intelligent people, among people who know them, and for virtue. It is clear, then, that in the view of active people at least, virtue is superior [to honour].<br>Perhaps, indeed, one might conceive virtue more than honour to be the end of the political life. However, this also is apparently too incomplete [to be the good]. For, it seems, someone might possess virtue but be asleep or inactive throughout his life; or, further, he might suffer the worst evils and misfortunes; and if this is the sort of life he leads, no one would count him happy, except to defend a philosopher’s paradox. ...
<<< 1095b23
</$details>
<$details class="fm" summary="1096: Money only as means">
<<<.fm
The money-maker’s life is in a way forced on him [not chosen for itself]; and clearly wealth is not the good we are seeking, since it is [merely] useful, for some other end. Hence one would be more inclined to suppose that [any of] the goods mentioned earlier is the end, since they are liked for themselves.
<<< 1096a6
</$details>
<$details class="fm" summary="1097: ends for their own sake">
<<<.fm
An end pursued in itself, we say, is more complete than an end pursued because of something else; and an end that is never choiceworthy because of something else is more complete than ends that are choiceworthy both in themselves and because of this end; and hence an end that is always [choiceworth, and also] choiceworthy in itself, never because of something else, is unconditionally complete.
<<< 1097a30
</$details>
<$details class="fm" summary="1097: happiness as chief good">
<<<.fm
Now happiness more than anything else seems unconditionally complete, since we always [choose it, and also] choose it because of itself, never because of something else.<br>Honour, pleasure, understanding and every virtue we certainly choose because of themselves, since we would choose each of them even if it had no further result, but we also choose them for the sake of happiness, supposing that through them we shall be happy. Happiness, by contrast, no one ever choose for their sake, or for the sake of anything else at all.
<<< 1097b01
</$details>
<$details class="fm" summary="1098: a) We have found, then, that the human function">
<<<.fm
(a) We have found, then, that the human function is the soul’s activity that expresses reason or requires reason. (b) Now the function of F, e.g. of a harpist, is the same in kind, so we say, as the function of an excellent F, e.g. an excellent harpist. (c) The same is true unconditionally in every case, when we add to the function the superior achievement that expresses the virtue... (d) Now we take the human function to be a certain kind of life, and take this life to be the soul’s activity and actions that express reason. (e) [Hence by (c) and (d)] the excellent man’s function is to do this finely and well. (f) Each function is completed well when its completion expresses the proper virtue. (g) Therefore [by (d), (e) and (f) the human good turns out to be the soul’s activity that expresses virtue.
<<< 1098a7
</$details>
<$details class="fm" summary="1098: the human function">
<<<.fm
may we likewise ascribe to a human being some function...?<br>What, then, could this be? For living is apparently shared with plants, but what we are looking for is the special function of a human being; hence we should set aside the life of nutrition and growth. The life next in order is some sort of life of sense-perception; but this too is apparently shared, with horse, ox and every animal. The remaining possibility, then is some sort of life of action of the [part of the soul] that has reason.
<<< 1098b33
</$details>
<$details class="fm" summary="1099: we took the goal of political science to be">
<<<.fm
... we took the goal of political science to be the best good; and most of its attention is devoted to the character of the citizens, to make them good people who do fine actions, [which is reasonable if happiness depends on virtue, not on fortune].
<<< 109929
</$details>
<$details class="fm" summary="1100: fortunes, even after death">
<<<.fm
... life includes many reversals of fortune, good and bad, and the most prosperous person may fall into a terrible disaster in old age, as the Trojan stories tell us about Priam; but if someone has suffered these sort of misfsortunes and comes to a miserable end, no one counts him happy.<br>... if a living person has good or evil of which he is not aware, then a dead person also, it seems, has good or evil when, e.g., he receives honours or dishonours, and his children, and descendants in general, do well or suffer misfortune. [Hence, apparently, what happens after his death can affect whether or not he was happy before his death.]
<<< 1100a06
</$details>
<$details class="fm" summary="1100: virtuous activities control happiness.">
<<<.fm
[We hesitate] out of reluctance to call him happy during his lifetime, because of the variations, and because we suppose happiness is enduring and definitely not prone to fluctuate, whereas the same person’s fortunes often turn to and fro. ...<br>...surely it is quite wrong to be guided by someone’s fortunes. For his doing well or badly does not rest on them; though a human life, as we said, needs these added, it is the activities expressing virtue that control happiness, and the contrary activities that control its contrary.<br>... since it is activities that control life, as we said, no blessed person could ever become miserable, since he will never do hateful and base actions. For truly good and intelligent person, we suppose, will bear strokes of fortune suitably, and from his resources at any time will do the finest actions, just as a good general will mke the best use of his forces in war, and a good shoemaker will produce the finest shoe from the hides given him, and similarly for all other craftsmen.<br>If this is so, then the happy person could never become miserable. Still, he will not be blessed either, if he falls into misfortunes as bad as Priam’s.
<<< 1100a33
</$details>
<$details class="fm" summary="1106: many ways of being bad">
<<<.fm
Virtue, then, is a mean, insofar is it aims at what is intermediate.<br>Moreover, there are many ways to be in error, — for badness is proper to the indeterminate, as the Pythagoreans pictured it, and good to the determinate. But there is only one way to be correct. That is why error is easy and correctness is difficult, since it is easy to miss the target and difficult to hit it. And so for his reason also excess and deficiency are proper to vice, the mean to virtue; ‘for we are noble in only one way, but bad in all sorts of ways.”
<<< 1106b29
</$details>
<$details class="fm" summary="1107: Virtue defined">
<<<.fm
Virtue, then, is a state that decides, consisting in a mean, the mean relative to us, which is defined by reference to reason, that is to say, to the reason by reference to which the prudent person would define it. It is a mean between two vices, one of excess and one of deficiency.
<<< 1107a01
</$details>
<$details class="fm" summary="1109: One extreme more opposed to mean">
<<<.fm
§6 In some cases the deficiency, in others the excess, is more opposed to the intermediate condition. For instance, cowardice, the deficiency, not rashness, the excess, is more opposed to bravery, whereas intemperance, the excess, not insensibility, the deficiency, is more opposed to temperance.
<<< 1109a01
</$details>
<$details class="fm" summary="1109: avoid the more contrary extreme">
<<<.fm
[I]n each case it is hard work to find the intermediate; for instance, not everyone, but only one who knows, finds the midpoint in a circle. So also getting angry, or giving and spending money, is easy and everyone can do it; but doing it to the right person, in the right amount, at the right time, for the right end, and in the right way is no longer easy, nor can everyone do it. ... <br>That is why anyone who aims at the intermediate condition must first of al steer clear of the more contrary extreme, following the advice that Calypso also gives: ‘Hold the ship outside the spray and surge.’ For one extreme is more in error, the other less. Since, therefore, it is hard to hit the intermediate extremely accurately, the second-best tack, as they say, is to take the lesser of the evils... different people have different natural tendencies toward different goals, and we all come to know our own tendencies from the pleasure or pain that arises in us. We must drag ourselves off in the contrary direction; for we pull far away from error, as they do in straightening bent wood, we shall reach the intermediate condition.
<<< 1109a25
</$details>
<$details class="fm" summary="1109: hard to find mean">
<<<.fm
§2 hard work to be excellent... For in each case it is hard work to find the intermediate; for istance, not everyone, but only one who knows, finds the midpoint in a circle. So also getting angry, or giving and spending money, is easy and everyone can do it; but doing it to the right person, in the right amount, at the right time, for the right end, and in the right way is no longer easy, nor can everyone do it. Hence doing these things well is rare, praiseworthy, and fine.<br>§3... anyone who aims at the intermediate condition must first of all steer clear of the more contrary extreme... to take the lesslr of the evils.
<<< 1109a25
</$details>
<$details class="fm" summary="1109: voluntary vs. involuntary">
<<<.fm
Virtue, then, is about feelings and actions. These receive praise and blame if they are voluntary, but pardon, sometimes even pity, if they are involuntary. Hence, presumably, in examining virtue we must define the voluntary and the involuntary. <br>Now it seems that things coming about by force or because of ignorance are involuntary. <br>What is forced has an external principle, the sort of principle in which the agent, or [rather] the victim, contributes nothing — if, for instance, a wind or people who have him in their control were to carry him off.<br>But what about actions done because of fear of greater evils, or because of something fine? Suppose, for instance, a tyrant tells you to do something shameful, when he has control over the parents and children and if you do it, they will live, but if not, they will die. These cases raise a dispute about whether they are voluntary or involuntary. <br>... These sorts of actions, then, are mixed, but they are more like voluntary actions... if the prinicple of the actions is in him, it is also up to him to do them or not to do them.
<<< 1109b30
</$details>
[img width=50% class=img-right [Schoolofathens|http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Sanzio_01_Plato_Aristotle.jpg/458px-Sanzio_01_Plato_Aristotle.jpg]]
Here's a detail from Raphael Sanzio's symbolist painting [[The School of Athens|http://upload.wikimedia.org/wikipedia/commons/c/c3/Raphael_School_of_Athens.jpg]] (1509), showing Plato (as an elder) and Aristotle (as a young man, Plato's student).
The Symbolist Contrast:
* Plato points //upward//, toward the ideal of transcendent Forms and "Nous" (soul/mind).
* Aristotle pulls back //down// to nature, culture, ordinary experience.
//Yet// Aristotle does retain much interest in abstract ideals).
Tempting FALSE Contrast:
* Plato's dialogues are lively
* Aristotle's reasoning is dull
//But// this contrast is an artifact of which texts were preserved through history.
<$details class="fm" summary="1145: vice, incontincence, and bestiality.">
<<<.fm
Let us now make new start, and say that there are three conditions of character to be avoided—vice, incontincence, and bestiality.
<<< 114515
</$details>
<$details class="fm" summary="1145: common beliefs about continence & temperance">
<<<.fm
People think the temperate person is continent and resistant. Some think that every continent and resistant person is temperate, while others do not. Some people say the incontinent persons is intemperate and the intemperate incontinent, with no distinction; others say they are different.<br>Sometimes it is said that a prudent person cannot be incontinent; but sometimes it is said that some people are prudent and clever, but still incontinent.
<<< 114515
</$details>
<$details class="fm" summary="1145: beasts and gods">
<<<.fm
The contrary to bestiality is most suitably called virtue superior to us, a heroic, indeed divine, sort of virtue... For indeed, just as a beast has neither virtue nor vice, no neither does a god, but the god’s state is more honorable than virue, and the beast’s belongs to some kind different from vice.<br>...the bestial person is also rare among human beings. He is most often found in foreigners; but some bestial features also result from diseases and deformities.
<<< 114520
</$details>
<$details class="fm" summary="1145: Puzzles about incontinence">
<<<.fm
... no one, in Socrates’ view, supposes while he acts that his action conflicts with what is best; our action conflicts with what is best only because we are ignorant [of the conflict].
<<< 114525
</$details>
<$details class="fm" summary="1146: Continence requires base appetites, sometimes goes wrong">
<<<.fm
... if the continent person must have strong and base appetities, the tepmerate person will not be continent nor the continent person temperate. For the temperate person is not the sort to have either excessive or base appetites; but [the continent person] must have both. <br>.... if continence makes someone prone to abide by every belief, it is bad, if, for instance, it makes him abide by a false... belief.<br>...A certain argument, then, concludes that foolishness combined with incontinence is virtue.<br>[note puzzle here about the goodness of not sticking to one’s “conscience” -- compare to Huck Finn]
<<< 114610
</$details>
<$details class="fm" summary="1146: Incontinence less curable?">
<<<.fm
Further, someone who acts to pursue what is pelasant because this is what he ispersuaded and decides to do seems to be better tan someone who acts not because of rational caculation, but because of incontinence. For the first person is easier to cure... [the incontinent one], though already persuaded to act otherwise,... still acts [wrongly].
<<< 114632
</$details>
<$details class="fm" summary="1149: incontinence about spirit, about appetites">
<<<.fm
Moreover, let us observe that incontinence about spirit is less shameful than incontinence about appetites. For spirit would seem to hear a reason a bit, but to mishear it. It is like overhasty servants who run out before they have heard al their instructions, and then carry them out wrongly, or dogs who bark at any noise at all, before looking to see if it is a friend. ... reason or appearance has shown that we are being slighted or wantonly insulted; and spirit, as though it had inferred that it is right to fight this sort of thing, is irritated at once. Appetite, however, only needs reason or preception to say that this is pleasant, and it rushes off for gratification.<br>[spirit = ‘thumos’, honor-drive]<br>Note: preserving reputation seems more like duty than gratification!
<<< 114925
</$details>
<$details class="fm" summary="1150: Incontinence more curable">
<<<.fm
The intemperate person, as we said, is not prone to regret, since he abides by his decision [when he acts]. But every incontinent is prone to regret. That is why the truth is not what we said in raising the puzzles, but in fact the intemperate person is incurable, and the incontinent curable. For vice resembles diseases such as dropsy or consumption, while incontinence is more like epilepsy; vice is a continuous bad condition, but incontinence is not. For the incontenent is similar to those who get drunk quickly from a little wine, and from less than it takes fro most people. And in general incontinence and vice are of different kinds. For the vicious person does not recognize taht he is vicious, whereas the incontinent person recognizes that he is incontinent.
<<< 115030
</$details>
<$details class="fm" summary="1151: stubbornness distinguished from continence">
<<<.fm
Now there are some others people who tend to abide by their belief. These are te people called stubborn, who are hard to persuade into something and not easy to persuade out of it. These have s ome similarity to continent people, just as the wasteful person has to the generous, and the rash to the confident. But they are different on many points. For the continent person is not swayed because of feeling and appetite;... But stubborn people are not swayed by reason; for they acquire appetites, and many of them are led on by pleasures..<br>The stubborn include the opinionated, the ignorant, and the boorish. The opinionated are as they are because of pleasure and pain. For they find enjoyment in winning... and they feel paint if their opinions are voided... Hencce they are more like incontinent than like continent people.
<<< 115105
</$details>
<$details class="fm" summary="1152: imagine an incontinent city">
<<<.fm
In fact the incontinent person is like a city that votes for all the right decrees and has excellent laws, but does not apply them, as in Anaxandrides’ tount... The base person, by contrast, is like a city that applies its laws, but applies bad ones.<br>
<<< 115202
</$details>
<$details class="fm" summary="1152: Incontinence & intemperance summary">
<<<.fm
The incontinent and the intemperate person... both pursue bodily sources of pleasure. But the intemperate person ... also thinks it is right, while the incontinent person does not think so.
<<< 115207
</$details>
<$details class="fm" summary="1152: cleverness & prudence">
<<<.fm
Nor can the same person be at once both prudent and incontinent. For we have shown that a prudent person must also at the same time be excellent in character... However, a clever person may well be incontinent. Indeed, the reason people sometimes seem to be prudent but incontinent is that [really they are only clever and] cleverness differs from prudence in the way we described in our first discussion; though they are closely related in definitoin, they differ in 0so far as prudence requires the correct] decision.
<<< 115207
</$details>
<$details class="fm" summary="1152: no pleasure is a good?">
<<<.fm
The reasons for thinking [pleasure] is not a good at all are these: Every pleasure is a perceived becoming toward [the fulfillment of something’s] nature; but no becoming is of teh same kind as its end—for instance, no [process of] building is of the same kind as a house. Further, the temperate person avoids pleasures. Further, the prudentt person pursues what is painless, not what is pleasant. Further, pleasures impede prudent thinking, and impede it more the more we enjoy them; no one, for instance, can think about anything during sexual intercourse. Further, every good is the product of a craft, but there is no craft of pleasure. Further, children and animals pursue pleasure. <br>... <br>These arguments, however, do not show that pleasure is not a good, or even that it is not the best good.
<<< 115212
</$details>
<$details class="fm" summary="1152: habit as ‘second nature’">
<<<.fm
The [impetuous] type of incontinence found in volatile people is more easily cured than the [weak] type of incontinence found in those who deliberate but do not abide by it. And incontinents through habituation are more easily cured than the natural incontinens; for habit is easier than nature to change. Indeed the reason why habit is also difficult to change is that it is like naturee; as Eunenus says, ‘Habit, I say, is longtime training, my friend, and in the end training is nature for human beings.’
<<< 115227
</$details>
<$details class="fm" summary="1154: Some enjoy only bodily pleasures.">
<<<.fm
...bodily pleasures are pursued because they are intense, by people who are incapable of enjoying other pleasures. ... What they do is not a matter for reproach, whenever [the pleasures] are harmless, but it is base whenever they are harmful. These people do this because they enjoy nothing else, and many people’s natural constitution makes the neutral condition painful to them.
<<< 115405
</$details>
<$details class="fm" summary="1154: Things pleasant by nature, variation, constancy">
<<<.fm
Pleasures without pains, however, have no excess. These are pleasant by nature and not coincidentally. ...<br>‘Variation in everything is sweet’ (as the poet says] because of some inferiority; for just as it is the inferior human being who is prone to variation, so also the nature that needs variation is inferior, since it is not simple or decent.
<<< 115417
</$details>
<$details class="fm" summary="1154: explain the false view">
<<<.fm
We must, however, not only state the true view, but also explain the false view; for an explanation of that promotes confidence. For when we have an apparently reasonable explanation of why a false view appears true, that makes us more confident of the true view. Hence we should say why bodily pleasures appear more choiceworthy.
<<< 115423
</$details>
<$details class="fm" summary="1155: Friendship as necessary">
<<<.fm
friendship ... is avirtue, or involves virtue.<br>Further, it is most necessary for our life. For no one would choose to live without friends...<br>But in poverty also, and in the other misfortunes, people think friends are the only refuge. Moreover, the young need friends to keep them from error. The old need friends to care for them and support the actions that fail because of weakness. And those in their prime need friends to do fine actions; ...<br>Further, a parent would seem to have a natural friendship for a child...<br>Moreover, friendship would seem to hold cities together... if people are friends, they have no need of justice, but if they are just they need friendship in addition...
<<< 1155a04
</$details>
<$details class="fm" summary="1156: Three kinds of friendship">
<<<.fm
friendship has three species, corresponding to the thre objects of love...<br>Those who love each other for utility love tho other not in his own right, but insofar as they gain some good for themselves from him. The same is true for those who love for pleasure; for they like a witty person not because of his character, but because he is pleasant to them... these friendships... are conincidental, since the beloved is loved not insofar as he is who he is, but insofar as he provides some good or peasure.<br>As so these sorts of friendships are easily dissolved...
<<< 1156a07
</$details>
<$details class="fm" summary="1156: Complete friendship">
<<<.fm
But complete friendship is the friendship of good people similar in virtue; for they wish goods in the same way t each other insofar as they are good... Now those who wish goods to their friend for the friend’s own sake are friends most of all; ... these people’s frienrdship lasts as long as they are good; and virtue is enduring.
<<< 1156b08
</$details>
<$details class="fm" summary="1165: some friendships dissolve easily">
<<<.fm
With friends for utility or pleasure perhaps there is nothing absurd in dissolving the friendship whenever they are no longer pleasant or useful. For they were friends of pleasure for utility; and if these give out, it is reasonable not to love. We might, however, accuse a friend if he really liked us for utility or pleasure, and pretended to like us for our character. For, as we said at the beginning, friends are most at odds when they are not friends in the way they think they are.
<<< 116502
</$details>
<$details class="fm" summary="1179: moderate resources are enough">
<<<.fm
Moreover, we can do fine actions even if we do not rule earth and sea; for even from moderate resources we can do the actions that accord with virtue. This is evident to see, since many private citizens seem to do decent actions no less than people in power do— even more, in fact.
<<< 117905
</$details>
<$details class="fm" summary="1179: Arguments are not sufficient...">
<<<.fm
Now if arguments were sufficient by themselves to make people decent, the rewards they would command would justifiably have been many and large... If fact, however, arguments seem to have enough influence to stimulate and encourage the civilized ones among the young people, and perhaps to make virtue take possession of a well-born character that truly loves what is fine; but they seem unable to turn the many toward being fine and good.<br>For the many naturally obey fear, not shame; they avoid what is base because of the penalties, not because it is disgraceful. ... <br>What argument, then, could reform people like these? For it is impossible, or not easy, to alter by argument what has long been absorbed as a result of one’s habits. But, presumably, we should be satisfied to achieve some share in virtue if we already have what we seem to need to become decent.
<<< 117905
</$details>
<$details class="fm" summary="1180: Upbringing to be supplemented by laws">
<<<.fm
Presumably, however, it is not enough if they get the correct upbringing and attention when they are young; rather, they must continuen te same practices and be habituated to them when the ybecome men. Hence we need laws concerned with these things also, and in general with all of life. For the many yield to compusion more than to argument, and to sanctions more than to the fine.
<<< 118001
</$details>
<$details class="fm" summary="1180: Further, education adapted to an individual is actually better">
<<<.fm
Further, education adapted to an individual is actually better than a common education for everyone, just as individualized medical treatment is better. For though generally a feverish patient benefits from rest and starvation, presumably some patient does not; nor does the boxing instructor impose the same way of fighting on everyone. Hence it seems that treatment in particular cases is more exactly right when each person gets special attention, since he then more often gets the suitable treatment.
<<< 118008
</$details>
!!!Crucial philosophical connection: ETHICS <—> Account of HUMAN NATURE
Dualism: human ''souls/minds'' are a kind of being //different from// ''physical stuff''
Idealism: The stuff of soul/mind is primary (There's nothing more to matter than the idea of it)
Naturalism: humans are animals; our minds/souls are material developments
!!!!ARISTOTLE is a NATURALIST: human life is a (special) kind of animal life
[img[Aristlevels|http://espringer.web.wesleyan.edu/wescourses/2008s/phil212/01/aristlevels.png]]
life of ''nutrition/growth'', plus life of ''sense perception'', plus life of reason [and politics].
!!!!EUDAIMONIA ("happiness" or "flourishing") is having one's (human) life go well.
Arete ("virtue" or "excellence"): what one contributes to life's going well.
+Fortune (what Stoics call externals): outside events that affect one's well-being.
=Being EU-DAIMON (good in one's spirit/"demon", well-ensouled)
!!!!''VIRTUE ETHICS''...
* is not unique to Aristotle
* Aristotle's virtues require "the mean between extremes"
Dualists and idealists, like Plato and later Christian thinkers, tend to present dichotomous pictures:
virtue as one extreme, vice or sin as its opposite.
Think of King's embrace of "extremism" in the name of love, and Socrates' and Epictetus' attempt to rise above all ordinary appetites.
Aristotle, by contrast, emphasizes the art of finding the mean between the relevant extremes (for each important area of human engagement).
:Aristotle (384–322BCE) was a prolific Greek philosopher and proto-scientist. He was the most famous student of [[Plato]] and the first to develop a thorough [[empiricist|empiricism]] philosophy (albeit one within which reason played a central role). [img width=25% class=img-right [Aristotle bust|https://media1.britannica.com/eb-media/84/87984-004-5ADE9ACA.jpg]]
<hr>
Many of Aristotle's theoretical manuscripts (sometimes in multiple versions drawing on different students' lecture notes) were well-preserved and copied by ancient and medieval scholars. Some argue that Aristotle also wrote eloquent [[dialogues|dialogue]], but if so, these apparently do not survive in any form today.
See [[Aristotle 1 (up to 1115a)]], [[Aristotle 2 (1115-1132b)]], [[Aristotle 3 (books 7, 8, 10)]] for more specific discussion of themes in our text, the //[[Nicomachean Ethics|Aristotle, Nicomachean Ethics]]//.
<$details class="notification" summary="Aristotle">
{{Aristotle}}
</$details>
{{||vocabulary}}
The most overarching kind of inquiry, [[Aristotle]] claims, is what he calls politics. Yet we can tell that "politics" doesn't mean, for Aristotle, what it might mean to us today...
* On [[Aristotle's|Aristotle]] view, how are politics and ethics related?
* Why does Aristotle's focus on political understanding lead to an investigation of [[happiness]] ([[eudaimonia]]), and then to [[virtue]]?
* How does [[Aristotle's|Aristotle]] account of [[happiness]] ("//[[eudaimonia]]//") differ from the account of [[happiness]] ("//[[ataraxia]]//") endorsed by [[Socrates]] and the [[stoics|stoicism]]?
* What are the crucial ingredients of Arisotle's definition of [[virtue]]?
* Can Aristotle claim both that good character depends on good education, and that our characters are our own responsibility?
<$macrocall
$name="toc-tabbed-external-nav"
tag="Aristotle 1 (up to 1115a)"
selectedTiddler="$:/temp/toc/arist1/selectedTiddler"
unselectedText="<p>Select a topic from the list at left. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀back to King|King, Letter from Birmingham Jail]] ... @@float:right; [[forward to Aristotle 2 ▶|Aristotle 2 (1115-1132b)]]@@
<$details open="yes" summary="review key points from first Aristotle session:">
* focus on [[eudaimonia]]: "happiness" is imperfect translation
* close relation of [[virtue]] to [[eudaimonia]]
* how [[virtue]] involves nuanced perception and nuanced judgment
* how [[virtue]] is shaped by upbringing, opportunities, and practice
</$details>
<$details class="notification" summary="Aristotle">
{{Aristotle}}
</$details>
{{||vocabulary}}
Nicomachean Ethics 3 - 5 (-1132b):
For most virtues of character, Aristotle locates the virtue as a mean between two extreme states: one of excess, and one of deficiency.
* What are the most important complications in assessing matters such as bravery, or temperance, or generosity?
* What should be the relation, on his account, between a virtuous person and the emotion of shame?
* In the case of justice, Aristotle does not simply describe two extreme vices and one mean between them. How, then, is it similar in form to other virtues?
<$macrocall
$name="toc-tabbed-external-nav"
tag="Aristotle 2 (1115-1132b)"
selectedTiddler="$:/temp/toc/arist2/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀back to Aristotle 1|Aristotle 1 (up to 1115a)]] ... @@float:right; [[forward to Aristotle 3 ▶|Aristotle 3 (books 7, 8, 10)]]@@
<$details open="yes" summary="review key points from second Aristotle session:">
* [[virtue]] is a mean between extremes
* [[virtue]] is shaped by role models, upbringing, and development of habits
* We can appreciate the basic structure of [[virtue ethics]] even while making a [[friendly amendment]] or [[two|friendly amendments to Aristotle]].
</$details>
<$details class="notification" summary="Aristotle">
{{Aristotle}}
</$details>
{{||vocabulary}}
//[[Nicomachean Ethics|Aristotle, Nicomachean Ethics]]// 7 - 8, recap (1145a15 - 1163a; 1175a30 - end).
!!A. More on character, habit, and behavior
<$details summary="What are the different ways of falling short of virtue, on Aristotle's account?">
* We already noted that on [[Aristotle]]'s view, each [[virtue]] of character is a mean between two [[vices|vice]]:
*# the vice of excess, such as [[intemperance]]
*# the vice of deficiency, such as [[cowardice]]
* [[incontinence]] is the condition of failing to act on what one decides, or what one deliberately prefers.
* “[[brutishness]]” (or "bestial condition") involves suffering from some physical or psychological condition that leads to unchosen behaviors.
</$details>
* What [[puzzles does Aristotle raise|puzzles in Aristotle]] about these differences?
!!B. Friendship and Living together
* What is Aristotle's account of the relationship between [[friendship|philia]] and [[virtue]]?
* How should we understand his distinctions among varieties of friendship?
* How does Aristotle's account of friendship fit into a larger account of political life?
//NOTE: Most prior semesters' study notes on Aristotle were generated with the Ross (Oxford) translation; Bartlett & Collins' (Chicago) translation differs substantially, as does Irwin's (Hackett). Feel free to raise questions about differences in translation!//
<$macrocall
$name="toc-tabbed-external-nav"
tag="Aristotle 3 (books 7, 8, 10)"
selectedTiddler="$:/temp/toc/arist3/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀back to Aristotle 2|Aristotle 2 (1115-1132b)]] ... @@float:right; [[forward to Nussbaum ▶|Nussbaum, Non-Relative Virtues]]@@
[img[Crisp translation|https://www.dropbox.com/s/d6gxur3h81dk5af/Screenshot%202017-09-27%2009.54.58.png?dl=1]]
@@float:right; <$button popup="$:/emojiState">Surprised?... </$button><$reveal type="popup" state="$:/emojiState" height="32pt"><div class="tc-popup">[img class=img-right height=120px [springer_wonders_wh.png]]</div></$reveal>@@
!!![[Aristotle]] says some [[virtues|virtue]] presuppose certain social advantages:
|!✨MAGNIFICENCE✨|depends on ▹▹▹ |💰|WEALTH|
|!✨MAGNANIMITY✨|depends on ▹▹▹ | 💪🏽|POWER & STATUS|
|loudtable|k
<$details class="warning" summary="This is controversial because...">
[img height=20 width=20 [vs.png]] Christian, and democratic idea:
* social status is //irrelevant// to moral worth.
[img height=20 width=20 [vs.png]] [[Socrates]]' and [[stoics'|stoicism]] idea:
* poverty might actually //help// a person achieve [[virtue]].
[img height=20 width=20 [vs.png]] [[Kant]]'s idea (see next unit):
* Morality must be achievable by any person, regardless of factors that are //out of their control//...
** In other words, [[morality]] should never be a matter of [[luck|moral luck]]
</$details>
In this respect [[Aristotle]] seems openly //''elitist''// and unfair...
;Yet one central [[skill|skills]] to develop in philosophy is [[charitable interpretation]].
:Can we recognize opportunities for insight even after being troubled by what seems to be a noxious view?
<$details class="success" summary="Let's try another angle...">
Aristotle's reasons here could easily be marshalled for progressive purposes, too:
* We cannot expect people to be ''virtuosos on the flute'' unless... they've ''practiced'' with a real flute.
* We cannot expect people to have excellence in confronting danger unless... they've learned through such confrontations.
* We cannot expect people to be wise with money unless... they're experienced in handling money.
So, //if// we (democratic folks) want to have high expectations of everyone, then...
* we've got to distribute resources better.
* Even without //blaming// people for lacking the "virtues of privilege"<br> … we might resolve to substantially empowering them.
Meanwhile, it's easy to interpret Aristotle charitably (or amend his view) so that these virtues are all assessed relative to one's situation.
For example, as Aristotle already notes, it is possible for a poor person to be generous, simply by being willing to give in the right proportion to her resources.
... A harder question: is there any way one could be //magnificent// as a poor person?
</$details>
<<tabs "[tag[Aristotle diagram steps]]" template:"tabtemplate">>
https://docs.google.com/presentation/d/1Chb4fePNIxTKw9xrq6oqZ_eRyhXiAhpc4gplqLbSmHU/edit?usp=sharing
!!!About the various kinds of non-ideal friendships, Aristotle says or implies…
<$details state="!!accord1" summary="(a) In the development and improvement of character -- and in correcting someone whose character seems to be taking a wrong turn -- friends play a vital role." mode="custom" $state="aaa3">@@color:green; Yes. It is friends who can help us reflect on our habits, improve them, and become more continent -- and, if we are still young, friendships can help us achieve full virtue.@@</$details>
<$details state="!!accord2" summary="(b) Friendships between people who lack virtue tend not to endure as well as friendships between fully virtuous people." mode="custom" $state="aaa4">@@color:green; Yes. Both because more of their friendships are for pleasure and utility AND because less-than-virtuous friendships are more vulnerable to changes of status and fortune... 1158b10@@</$details>
<$details state="!!accord3" summary="(c) For a young person (too young to be fully virtuous) the most important kind of friendships is friendship with parents." mode="custom" $state="aaa5">@@color:green; Yes. though “friendship” (the word in English) applies only awkwardly to parents (and spouses, etc), Aristotle’s “philia” is a broader concept.@@</$details>
<$details state="!!accord4" summary="(d) A person without fully-developed virtue can participate only in the kinds of friendship that revolve around pleasure and/or practical benefits." mode="custom" $state="aaa1">@@color:red;No... no; friendships for pleasure and utility are less than ideal, but there may be friendships of the right kind (for the sake of the good) between people who are not (or not yet) themselves perfectly good. This is especially clear when Aristotle talks about the love of parents for children (Note the word philia, translated as “friendship,” includes all bonds of love, on his account).@@</$details>
<$details state="!!accord5" summary="(e) In very bad political conditions, people tend to develop less-than-ideal friendships." mode="custom" $state="aaa2">@@color:green; Yes. there can be friendships across different levels of virtue@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
Homosexuality and incontinence
>“Other [states] result from diseased conditions of from habit- for instance…sexual intercourse between males” Nicomachean Ethics, 1148b28-31
In his section on bestiality and disease, Aristotle describes homosexuality as a result of either diseased conditions or from habit. In this case, how would Aristotle respond to the modern view held by some people that homosexuality is a sin, or is immoral? In his explanation, Aristotle explains that homosexuality lies outside the realm of vice and virtue. In that case, it seems that he would believe that a person could not be both virtuous and a homosexual. However, he would also say that homosexuality is not inherently wrong, but can be practiced with continence or incontinence within the context of a diseased incontinence (1149a19). Furthermore, it cannot be considered incontinent if its cause is natural.(116 words)
<<<.dark
“This raises a puzzle: Do friends really wish their friend to have the greatest good…If, then, we have been right to say that one friend wishes good things to the other for the sake of the other himself, the other must remain whatever sort of being he is”
<<<Aristotle //NE// Book VIII, Chapter 7, 1159a10.
<<<.moo
Aristotle argues that @@.hlg true friendship is one of the most important things in a person’s life. Without friends, one would not have anyone to share their pleasures or pains with@@ and thus would lead a lonely and unfulfilling life even if they were a virtuous person. We wish for our true friends “good things”, @@.hly but with these wishes, we do not want them to become different people. If a friend does not stick with you when you achieve the “greatest good”, are they really your friend? If you receive the good thing that you want, and it manages to change you for the better, is it not your friends’ duty to appreciate your growth and development as a person?@@
(119 words)
<<<
<$details class="eval" summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
!!!Aristotle distinguish three different ways that a character can fall short of virtue. Specifically,…
(a) <$appear show="blahblah" $state="aaa3">@@color:green; Yes. Reasoning with them is futile in the sense that it can’t change anything; they’re already convinced, and yet fail to act on the thing that their reason accepts.@@</$appear>
(b) <$appear show="Aristotle ..." $state="aaa4">@@color:green; Yes. indeed, that is the point of much careful argument on Aristotle’s part.@@</$appear>
(c) <$appear show="Where human beings are raised in bad political conditions ...." $state="aaa5">@@color:red;No... Though external factors initially shape our character, Aristotle insists vice is a matter of making wrong choices, and is open to blame. III:5@@</$appear>
(d) <$appear show="Licentious or intemperate people fall short of being fully human; they are 'bestial' (like a beast)." mode="custom" $state="aaa1">@@color:red;No... Aristotle speaks of bestiality as distinct from *both* incontinence and intemperance; it is the absence of reasoned or deliberate choice altogether (as, say, a kleptomaniac or sleepwalker for whom there is “nobody home” with respect to the decision). The intemperate person chooses based on reasons, but they are skewed.@@</$appear>
(e) <$appear show="Continence is better than incontinence, but is still not a virtue; it is required only insofar as a person is not fully virtuous." mode="custom" $state="aaa2">@@color:green; Yes. Continence is not a virtue, but is “second-best” when virtuous disposition is absent. @@</$appear>
----
!!!Aristotle distinguish three different ways that a character can fall short of virtue. Specifically,…
(a) The most blameworthy condition is vice; the most pitiable is the brutish (or bestial) situation; people with moral incontinence (lack of self-restraint) are in the middle.<$appear $state="aaa3">@@color:green; Yes. Reasoning with them is futile in the sense that it can’t change anything; they’re already convinced, and yet fail to act on the thing that their reason accepts.@@</$appear>
(b) Aristotle disagrees with Socrates’ suggestion that all people who act wrongly are really “ignorant” of what is good.<$appear $state="aaa4">@@color:green; Yes. indeed, that is the point of much careful argument on Aristotle’s part.@@</$appear>
(c) Where human beings are raised in bad political conditions and without good role models, their lack of virtue is not blameworthy.<$appear $state="aaa5">@@color:red;No... Though external factors initially shape our character, Aristotle insists vice is a matter of making wrong choices, and is open to blame. III:5@@</$appear>
(d) Licentious or intemperate people fall short of being fully human; they are “bestial” (like a beast).<$appear $state="aaa1">@@color:red;No... Aristotle speaks of bestiality as distinct from *both* incontinence and intemperance; it is the absence of reasoned or deliberate choice altogether (as, say, a kleptomaniac or sleepwalker for whom there is “nobody home” with respect to the decision). The intemperate person chooses based on reasons, but they are skewed.@@</$appear>
(e) Continence is better than incontinence, but is still not a virtue; it is required only insofar as a person is not fully virtuous.<$appear $state="aaa2">@@color:green; Yes. Continence is not a virtue, but is “second-best” when virtuous disposition is absent. @@</$appear>
!!!Aristotle de-emphasizes Judeo-Christian ideals, such as humility and equality. For example, Aristotle claims or implies:…
<$details state="!!accord1" summary="(a) that we should generally be ready to pay more attention to the opinions of those who are considered fortunate and worthy." mode="custom" $state="aaa3">@@color:green; Yes. Fortune & status don’t guarantee good judgment, but A’s starting-point gives more weight to opinions of those who are admired.@@</$details>
<$details state="!!accord2" summary="(b) that it is easier to develop a full set of virtues when a person is free from economic hardship and material need." mode="custom" $state="aaa4">@@color:green; Yes. Virtues require practice and resources, and hardship can interfere. (Of course, wealth is no guarantee of virtue!)@@</$details>
<$details state="!!accord3" summary="(c) that once virtue is attained, the virtuous person is not dependent on anyone else." mode="custom" $state="aaa5">@@color:green; Yes. We can’t *become* virtuous without friends, & good people enjoy friends. Yet virtue brings independence & self-sufficiency of a kind.@@</$details>
<$details state="!!accord4" summary="(d) that a good person is entirely free from the feeling of appropriate shame." mode="custom" $state="aaa1">@@color:green; Yes. Book IV, Chapter 9. Aristotle’s claim may surprise us. Note it doesn’t imply virtuous people lack understanding of when shame *would* be appropriate. @@</$details>
<$details state="!!accord5" summary="(e) we cannot be magnificent unless we have experienced opportunities to practice and refine our habits in managing money and resources." mode="custom" $state="aaa2">@@color:green; Yes. Perhaps we could practice good habits with *little* resources - but not in the absence of resources altogether. (”Large scale... large relative to something...” 1122a24)@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
[img[Aristotle's argument|https://www.dropbox.com/s/p3gcpt4gczoj9qn/AristPlusDiagramBartlett_clouds_rev.png?raw=1]]
''Aristotle, //Nicomachean Ethics//'' translated by R Bartlett and S Collins (U Chicago Press, 2011)
[img width=25% [Aristotle Nicomachean Ethics|https://images-na.ssl-images-amazon.com/images/I/71sSYXkyTXL.jpg]]
!!!Epictetus encourages students to aim for ataraxia, a state of being undisturbed. Ataraxia involves…
<$details state="!!accord1" summary="(a) putting all impressions in perspective, and not being carried away by appearances." mode="custom" $state="aaa3">@@color:green; Yes. This is the core of the suggestion about the discipline of saying to each appearance “You are only an appearance...”@@</$details>
<$details state="!!accord2" summary="(b) steering clear of all activities in which others are acting vulgar or overly emotional." mode="custom" $state="aaa4">@@color:red;No... Avoiding all such activities is not something that is entirely “up to us”. E does encourage students not to seek out such company and to refrain from participating...@@</$details>
<$details state="!!accord3" summary="(c) accepting all that is not “up to us,” as if those elements were set up by the author of a drama in which we have a role." mode="custom" $state="aaa5">@@color:green; Yes. Epictetus asks us to “step back” -- to inhabit a role but without being “attached” to whether that character is the “winner,” or meets with an external obstacle, and so on.@@</$details>
<$details state="!!accord4" summary="(d) focusing on our own faculty of choice, remembering that the only challenge that matters is the challenge of deciding wisely." mode="custom" $state="aaa1">@@color:green; Yes. This is the starting-point of the path he recommends.@@</$details>
<$details state="!!accord5" summary="(e) denying responsibilities toward family and friends in order to live freely." mode="custom" $state="aaa2">@@color:red;No... Nothing about Epictetus’ vision requires stepping back from responsibilities. Epictetus makes frequent reference to the responsibilities we have to siblings, spouses, friends, children, etc.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
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
!!!(Option B) Impact of social arrangements on morality
Can social conditions make it difficult for a person to develop and exercise their moral capacities well? Do human beings have any ability to engage in radical criticism of the cultures and traditions with which they are raised? (If so, how? If not, why?)
In what ways can bad social influences be overcome, and in what ways can they not be overcome?
<$reveal state="$:/status/IsReadOnly" type="match" text="yes" default="yes">
.tc-tagged-BackEnd {
display: none;
}
</$reveal>
!!!! Starting point: the challenge is to bridge:
|!(1) a [[Kantian|Kant]] account of what //ideal moral reasoning// involves |with|!(2) a social-scientific [[empirical]] //explanation of differences// in moral outlook|
|>|>|So we require an account of how it’s possible for individuals to arrive at [[autonomy]] despite beginning life as socially situated learners ([[heteronomy]]).|
Note the importance of the Kantian [[premise]]: that people, as they experience the world, actively construct reality: thus, on Kohlberg’s view, there is not a “blank slate,” but a pattern-seeking and reasoning-building engine of ideas in any learning mind.
Piaget, a developmental psychologist, developed the suggestion that patterns of understanding are universal, but unfold only through meeting the challenges of our environment.
!!! STAGES
[[Kohlberg]]’s account suggests that there are three major levels of thinking about what is good:
|1. Pre-conventional|2. Conventional |3. Post-conventional|
#. children are clearly [[heteronomous|heteronomy]], and they do not yet evaluate their inclinations according to social norms. (~PRE-CONVENTIONAL)
#. Concern for external rules emerges in all children... originally socially-determined (CONVENTIONAL)
#. Can the child’s interest in moral reasons ever become ~POST-CONVENTIONAL?
Certainly, some children and adults learn to “reflect on the fact that customs differ” -- and thus become poised to put familiar conventions into something like a potentially critical perspective...
Is this enough to warrant thinking of those people as reaching a post-conventional level of moral development?
:(in logic) A crucial [[inference patterns]] or [[syllogism]] within Aristotelian or [[categorical logic]], whereby if all members of one class belong to a second, and all members of that second class belong to a third, then all members of the first class belong to the third.
The Barbara [[syllogism]] can be represented abstractly as follows:
|All M is P<br>All S is M|
|∴All S is P|
It is a [[valid|validity]] pattern, as is illustrated by the [[Venn diagram]] at right, in which there is no room for an ''S'' that is //not// ''P'':
A celebrated example — though it treats an individual as a "category of one" — is this one:
|All men are mortal.<br>Socrates is a man.|
|∴Socrates is mortal.|
(Note: //Barbara// is just one of many pattern names generated by medieval logicians, although the other names tend to be recognized only by scholarly specialists.)
[img width=20% class=img-right [https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQD_NkHrUAC6h33AY2oPmSWCzeoEBQaTBnLeTUQc2EMVqonda6X]]Simone de Beauvoir (1908-1986) wrote philosophy (as well as novels and political essays) within the French [[existentialist|existentialism]] tradition, working closely with [[Jean-Paul Sartre]] and developing a feminist and socialist critique of human beings' failure to recognize and respect one another's freedom. Many English-speaking readers are familiar only with //The Second Sex//, and know little of its connection to her systematic philosophy.
In case your PDF is clipped at bottom, here are the lines that might be affected:
263: accept the task of realizing it. He rejoins himself only to the extent that he
264: world is useful, whether life is worth the trouble of being lived. These
265: feel the joy of existing. They then manifest existence as a happiness and
266: mystified. The less economic and social circumstances allow an individual
267: [detached from himself, but as…] a thing disclosed by his subjectivity.
268: against itself. If I were really everything there would be nothing beside me;
269: does not concern me? I concern others and they concern me. There we
!!!In The Ethics of Ambiguity Simone de Beauvoir offers an account of freedom according to which…
<$details state="!!accord1" summary="(a) nihilism is irresponsible because it involves denying the freedom to create meaning in the world." mode="custom" $state="aaa3">@@color:green; Yes. Nihilists start from noticing that values “aren’t out there” and conclude too quickly that values cannot be realized.@@</$details>
<$details state="!!accord2" summary="(b) each person’s freedom is bound up with the freedom of others, so that our freedom is not enhanced by the ability to dominate others." mode="custom" $state="aaa4">@@color:green; Yes. Beauvoir is in this way refusing Nietzsche’s vision of freedom as embodying an indifferent or exploitative will to power.@@</$details>
<$details state="!!accord3" summary="(c) religion necessarily involves a denial of freedom, since it insists on positing a superhuman moral authority that eclipses our own radical responsibility." mode="custom" $state="aaa5">@@color:red;No... Religion may be interpreted in ways that remain compatible with responsibility and freedom: see her positive endorsement of the anti-fascist’s priest’s view of the Christian myth of creation. (269)@@</$details>
<$details state="!!accord4" summary="(d) authentic people are unconcerned with social norms; they are moved by their own passions and inspirations rather than by the pressures of the world around them." mode="custom" $state="aaa1">@@color:red;No... this is a mildly disguised articulation of the passionate ideal: “moved by inspiration” rather than taking responsibility for choice.@@</$details>
<$details state="!!accord5" summary="(e) freedom is a universal that transcends experience, so it can be developed, using reason, into a code of moral values." mode="custom" $state="aaa2">@@color:red;No... this is the Kantian (or Stoic) version of (serious) freedom: invulnerability to worldy circumstance and consequences.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<$details class="fm" summary="262: ambiguity">
<<<.fm
Man.. is still a part of this world of which he is a consciousness. He asserts himself as a pure internality against which no external power can take hold, and he also experiences himself as a thing crushed by the dark weight of other things. ... Between the past which no longer is and the future which is not yet, this moment when he exists is nothing. This privilege, which he alone possesses, of being a sovereign and unique subject amidst a universe of objects, is what he shares with all his fellow-men. <br>As long as there have been men and they have lived, they have all felt this tragic ambiguity of their condition, but as long as there have been philosophers and they have thought, most of them have tried to mask it.
<<< 262
</$details>
<$details class="fm" summary="262: Ethics of ambiguity">
<<<.fm
They have denied death, either by integrating it with life or by promising to man immortality. Or, again they have denied life, considering it as a veil of illusion beneath which is hidden the truth of Nirvana.<br>And the ethics which they have proposed to their disciples has always pursued the same goal. It has been a matter of eliminating the ambiguity by making oneself a pure inwardness or pure externality, by escaping from the sensible world or by being engulfed in it, by yielding to eternity or enclosing oneself in the pure moment.
<<< 262
</$details>
<$details class="fm" summary="263: defined man... Being is not to be">
<<<.fm
it is by ambiguity that... Sartre... fundamentally defined man, that being whose being is not to be, that subjectivity which realizes itself only as a presence in the world.... a being who makes himself a lack of being in order that there might be being.
<<< 263
</$details>
<$details class="fm" summary="264: God as impossible synthesis">
<<<.fm
When a man projects into an ideal heaven that impossible synthesis... that is called God, it is because he wishes the regard of this existing Being to change is existence into being; but if he agrees not to be in order to exist genuinely, he will abandon the dream of an inhuman objectivity. ... it is not a matter of being right in the eyes of a God, but of being right in his own eyes.
<<< 264
</$details>
<$details class="fm" summary="265: everything permited?">
<<<.fm
Dostoievsky asserted, “If God does not exist, everything is permitted.” Today’s believers use this formula for their own advantage. To reestablish man at the heart of his destiny is, they claim, to repudiate all ethics. However, far from God’s absence authorizing all license, the contrary is the case, because man is abandoned on the earth, because his acts are definitive, absolute engagements. He bears the responsibility for a world which is not the work of a strange power, but of himself, where his defeats are inscribed, and his victories as well.
<<< 265
</$details>
<$details class="fm" summary="266: The serious">
<<<.fm
The serious man gets rid of his freedom by claiming to subordinate it to values which would be unconditioned... must mask the movement by which he gives [values] to himself.
<<< 266
</$details>
<$details class="fm" summary="267: Nihilism is disappointed seriousness which has turned back upon">
<<<.fm
Nihilism is disappointed seriousness which has turned back upon itself.... right in thinking that the world possesses no justification and that he himself is nothing. But he forgets that it is up to him to justify the world and to make himself exist validly.
<<< 267
</$details>
;EXISTENTIALISM
:the thesis that human subjectivity exists antecedent to essence (that which gives direction and prescribes values)
;AMBIGUITY
: tension between our physical and historically-shaped circumstances (“facticity’) and our transcendent subjectivity, which is responsible for affirming possibilities and taking on purposes.
;AUTHENTICITY
: acknowledgement of one’s own responsibility to live without pretending to be fully determined from outside
;BAD FAITH
:self-deception: an attempt to avoid difficult truths by masking their implications... The temptation to relinquish one’s subjective indeterminacy, thereby failing to affirm one’s responsibility for making values, constitutes the principle vice of human beings.
;FACTICITY (“thrownness”)
: the encounter with unchosen circumstances: the situation of coming to terms with the given world.
One challenge in reading [[Beauvoir's work|Beauvoir, Ethics of Ambiguity]] is digesting phrases that seem intentionally [[self-contradictory|contradiction]], and yet which Beauvoir clearly intends for us to try to make sense of. Why might Beauvoir have chosen to write in this [[paradoxical|paradox]] way?
<<<.fm
Sartre, in //Being and Nothingness//... defined man [as] ''that being whose being is not to be''...
<<<(263)
<<<.fm
... by taking the world away from me, others also give it to me, since a ''thing is given'' to me only ''by the movement which snatches'' it from me.
<<<(269)
<<<.fm
... if it is true that every project emanates from subjectivity, it is also true that this ''subjective movement establishes'' by itself a ''surpassing of subjectivity''.
<<<(269)
<<<.fm
"To will oneself free is to will others free"
<<< (270)
<$details class="notification" summary="Beauvoir">
{{Beauvoir}}
{{clear-both}}
</$details>
{{||vocabulary}}
In this text, Simone de [[Beauvoir]] often provokes perplexity intentionally by making [[paradoxical|paradox]] or apparently [[contradictory|contradiction]] claims.
!!!One effective reading strategy here:
;When faced with what seems to be a ''[[contradiction]]'':
:Make a ''distinction'' — see whether there are two somewhat different ways of understanding the same word or phrase.
<$macrocall
$name="toc-tabbed-external-nav"
tag="Beauvoir, Ethics of Ambiguity"
selectedTiddler="$:/temp/toc/Beauvoir,EA/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
[img width=25% class=img-right [Bentham|https://upload.wikimedia.org/wikipedia/commons/c/c8/Jeremy_Bentham_by_Henry_William_Pickersgill_detail.jpg]]
Jeremy Bentham (1748-1832) was a British legal reformer who offered a quantitative and systematized account of [[utilitarian|utilitarianism]] ideals, and who advocated influentially for legal changes aimed at minimizing cruelty and social stratification, and maximizing access to resources, education, and political voice.
<$details summary="Bentham's reforms:">
On the basis of utility calculations, Jeremy Bentham advocated many reforms:
* annual elections
* equal districts
* universal suffrage
* secret ballot
* improvement of the status of women
* abolition of trade restrictions
* international law
* establishment of a world court
* humane and effective penal system
</$details>
<$details summary="Mill's view of Bentham">
<<<.dark
Bentham... was not a great philosopher, but he was a ''great reformer'' in philosophy. ... He introduced into morals and politics those ''[methods] which are essential to the idea of science''; and the absence of which made those departments of inquiry, as physics had been before Bacon, a field of interminable discussion, leading to no result...<br>
Bentham's method may be shortly described as the method of detail... Hence his interminable classifications. Hence his elaborate demonstrations of the most acknowledged truths. That murder, incendiarism, robbery, are mischievous actions, he will not take for granted without proof; ... he will distinguish all the different mischiefs of a crime, whether of the first, the second or the third order, namely, 1. the evil to the sufferer, and to his personal connexions; 2. the danger from example, and the alarm or painful feeling of insecurity; and 3. the discouragement to industry and useful pursuits arising from the alarm, and the trouble and resources which must be expended in warding off the danger. <br> After this enumeration, he will prove from the laws of human feeling, that even the first of these evils, the sufferings of the immediate victim, will on the average greatly outweigh the pleasure reaped by the offender; much more when all the other evils are taken into account. Unless this could be proved, he would account the infliction of punishment unwarrantable; and for taking the trouble to prove it formally, his defence is, 'there are truths which it is necessary to prove, not for their own sakes, because they are acknowledged, but that an opening may be made for the reception of other truths which depend upon them. It is in this manner we provide for the reception of first principles, which, once received, prepare the way for admission of all other truths.' To which may be added, that in this manner also we discipline the mind for practising the same sort of dissection upon questions more complicated and of more doubtful issue.
<<<
</$details>
[img[fallacy list|https://www.dropbox.com/s/razz9ouqfu1j5to/bentham_calculus.png?raw=1]]
<<<.triangle-left
@@.big … //''Thanks to the Spring 2020 group in Intro Ethics <br> for staying the course over our difficult semester. <br><br> Wishing you good health and many meaningful <br> projects in the months ahead. <br><br> Please stay in touch!''//<br>@@{{waving_springer.png}}
<<<
<<<.tc-big-quote
A dramatic quote
<<< Somebody Important
!!Classic blockquote
<blockquote class="style05">
<p>Ut nonummy habent soluta claritas veniam. Typi nunc soluta hendrerit mutationem sollemnes. Quis lius dolore et insitam vel. Aliquip consequat futurum claram ut mazim. Facilisi accumsan dolore ii imperdiet consequat. Claritatem aliquip quod putamus vulputate iusto. Doming minim typi zzril lius usus. In clari mutationem autem non sit. Qui augue mirum dynamicus gothica ut. Demonstraverunt processus soluta sequitur autem demonstraverunt.</p>
<cite> --- Wise Man </cite>
</blockquote>
<hr>
!!Rounded corners
<blockquote class="style06">
<p>Ut nonummy habent soluta claritas veniam. Typi nunc soluta hendrerit mutationem sollemnes. Quis lius dolore et insitam vel. Aliquip consequat futurum claram ut mazim. Facilisi accumsan dolore ii imperdiet consequat. Claritatem aliquip quod putamus vulputate iusto. Doming minim typi zzril lius usus. In clari mutationem autem non sit. Qui augue mirum dynamicus gothica ut. Demonstraverunt processus soluta sequitur autem demonstraverunt.</p>
<cite> --- Wise Man </cite>
</blockquote>
<hr>
I also heard somebody say <q>This is terrible!</q>
!!!(Option C) Humanity
For most of our authors so far, morality has been tied (explicitly or implicitly) to some account of how to understanding what a human being (or person, or self) really //is//; what matters in ethics is then explained by reference to that account of what it is about a person that most matters.
Discuss how different accounts (of the core or essential aspects of a person or human) make a difference to the ethical theories associated with them. Along the way, consider whether (or how much) these accounts depend on understanding human beings as dramatically different from the rest of the natural world.
<<<.dark
“Would that the majority could inflict the greatest evils, for they would then be capable of the greatest good, and that would be fine, but now they cannot do either. They cannot make a man either wise or foolish, but they inflict things haphazardly”
<<< [Crito 44d]
<<<.dark
“In my investigation in the service of the god I found that those who had the highest reputation were nearly the most deficient, while those who were thought to be inferior were more knowledgable”.
<<< [Apology 22a]
<<<.dark
“Is [it] true, one individual is able to improve [horses], or very few, namely the horse breeders, whereas the majority, if they have horses and use them, corrupt them? Is that not the case, Meletus, both with horses and all other animals? Of course it is… It would be a very happy state of affairs if only one person corrupted our youth, while the others improved them”.
<<<[Apology 25b]
<<<.moo
@@.hlg Socrates claims that the majority cannot make one foolish, but if they could, then the majority could also make him wise.@@ @@.hlo However, Socrates says reputation makes a man think he knows information he does not know which makes him less wise. Therefore, the majority could make a man foolish by conferring reputation on him.@@ @@.hlg At the same time, Socrates still holds that the majority cannot make the youth wise.@@ @@.hlb Socrates’ response to this critique might be that if a man believes he knows information he does not, he is simply less wise, but not foolish, for doing so. He is still wise about the information he does know. Therefore, the majority does not have the power to make him foolish.@@
<<<
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
[img width=25% class=img-right [Mills|https://aalbc.com/author-photos/Charles-W-Mills.jpg]]Charles Mills (contemporary) is a philosopher, born in Jamaica and appointed to graduate faculty at CUNY, who focuses on [[non-ideal theory]] in politics and ethics, and critical philosophy of race and gender.
How radically must we revise moral theory, if its priority shifts to critique of actual non-ideal situations? Must all criticism of the non-ideal proceed by means of contrast against an idealized state?
<table class="sortable wikitable jquery-tablesorter" cellspacing="8">
<thead><tr>
<th class="headerSort" tabindex="0" role="columnheader button" title="Sort ascending"><a href="/wiki/Virtue" title="Virtue">Virtue</a>
</th>
<th class="headerSort" tabindex="0" role="columnheader button" title="Sort ascending"><a href="/wiki/Latin" title="Latin">Latin</a>
</th>
<th class="headerSort" tabindex="0" role="columnheader button" title="Sort ascending"><a href="/wiki/Interlinear_gloss" title="Interlinear gloss">Gloss</a>
</th>
<th class="headerSort" tabindex="0" role="columnheader button" title="Sort ascending">Sin
</th>
<th class="headerSort" tabindex="0" role="columnheader button" title="Sort ascending">Latin
</th></tr></thead><tbody>
<tr>
<td><a href="/wiki/Chastity" title="Chastity">Chastity</a>
</td>
<td><i>Castitas</i>
</td>
<td><a href="https://en.wiktionary.org/wiki/pure" class="extiw" title="wikt:pure">Purity</a>, <a href="/wiki/Abstinence" title="Abstinence">abstinence</a>
</td>
<td><a href="/wiki/Lust" title="Lust">Lust</a>
</td>
<td><i>Luxuria</i>
</td></tr>
<tr>
<td><a href="/wiki/Temperance_(virtue)" title="Temperance (virtue)">Temperance</a>
</td>
<td><i>Temperantia</i>
</td>
<td><a href="/wiki/Humanity_(virtue)" title="Humanity (virtue)">Humanity</a>, <a href="/wiki/Equanimity" title="Equanimity">equanimity</a>
</td>
<td><a href="/wiki/Gluttony" title="Gluttony">Gluttony</a>
</td>
<td><i>Gula</i>
</td></tr>
<tr>
<td><a href="/wiki/Charity_(virtue)" title="Charity (virtue)">Charity</a>
</td>
<td><i>Caritas</i>
</td>
<td><a href="/wiki/Will_(philosophy)" title="Will (philosophy)">Will</a>, <a href="https://en.wiktionary.org/wiki/benevolence" class="extiw" title="wikt:benevolence">benevolence</a>, <a href="/wiki/Generosity" title="Generosity">generosity</a>, <a href="/wiki/Sacrifice" title="Sacrifice">sacrifice</a>
</td>
<td><a href="/wiki/Greed" title="Greed">Greed</a>
</td>
<td><i>Avaritia</i>
</td></tr>
<tr>
<td><a href="/wiki/Diligence" title="Diligence">Diligence</a>
</td>
<td><i>Industria</i>
</td>
<td><a href="/wiki/Persistence_(psychology)" title="Persistence (psychology)">Persistence</a>, <a href="/wiki/Effortfulness" title="Effortfulness">effortfulness</a>, <a href="/wiki/Ethics" title="Ethics">ethics</a>
</td>
<td><a href="/wiki/Sloth_(deadly_sin)" title="Sloth (deadly sin)">Sloth</a>
</td>
<td><i>Acedia</i>
</td></tr>
<tr>
<td><a href="/wiki/Patience" title="Patience">Patience</a>
</td>
<td><i>Patientia</i>
</td>
<td><a href="/wiki/Forgiveness" title="Forgiveness">Forgiveness</a>, <a href="/wiki/Mercy" title="Mercy">mercy</a>
</td>
<td><a href="/wiki/Anger" title="Anger">Wrath</a>
</td>
<td><i>Ira</i>
</td></tr>
<tr>
<td><a href="/wiki/Kindness" title="Kindness">Kindness</a>
</td>
<td><i>Humanitas</i>
</td>
<td><a href="/wiki/Contentment" title="Contentment">Satisfaction</a>, <a href="/wiki/Compassion" title="Compassion">compassion</a>
</td>
<td><a href="/wiki/Envy" title="Envy">Envy</a>
</td>
<td><i>Invidia</i>
</td></tr>
<tr>
<td><a href="/wiki/Humility" title="Humility">Humility</a>
</td>
<td><i>Humilitas</i>
</td>
<td><a href="/wiki/Bravery" class="mw-redirect" title="Bravery">Bravery</a>, <a href="/wiki/Modesty" title="Modesty">modesty</a>, <a href="/wiki/Reverence_(attitude)" class="mw-redirect" title="Reverence (attitude)">reverence</a>
</td>
<td><a href="/wiki/Hubris" title="Hubris">Pride</a>
</td>
<td><i>Superbia</i>
</td></tr></tbody><tfoot></tfoot></table>
@@.hl New!@@ With gratitude to Jeremy Ruston, the programmer behind the engine behind all my teaching pages (since 2005!), I'm happy to introduce a modified version of our site that allows student comments and questions. For example, you may want to:
* Follow up with clarifications in response to our [[opening questions|opening_questions]]
* Point out where you see anything that looks like an error or outdated aspect of the site
* Respond to any questions that I post here for the sake of discussion.
In addition to learning about various systems of moral reflection, students will improve their ability to think and write [[dialogically|dialogue]]. Group discussions and [[frequent written work|microessays]] are designed to make sure that everyone remains involved, even though enrollment is high. Because students bring a range of experiences and backgrounds to the course, none of us should assume that our own questions are trivial or irrelevant to others. Please read and reflect in advance of [[each session|sessions]], and help foster a well-rounded discussion.
In this course, [[central concepts of philosophical reasoning|definitions]] will be discussed and used frequently. Each participant will write one [[microessay|microessays]] per unit. (See description and details on separate pages.) While [[midterm and final exams|exams]] are designed to promote thorough study and synthesis across all of our materials, the final paper project should serve as an opportunity to apply [[philosophical skills|Philosophical skills for ethics]] to an ethical theme of your own choice. Students are highly encouraged to take advantage of [[office hours]] and other resources to design this inquiry in an individually meaningful way.
This [[dialogue]] shows [[Socrates]]' response to his friend Crito's offer to help him escape from the death sentence pronounced by the Athenian jury. (It's highly recommended to read Plato's //Apology// for background concerning the trial and Socrates' self-understanding.)
Socrates begins by addressing the question of whether one should attend to the opinion of the majority (as Crito claims he should do), then turns toward the basis for his own commitment to abiding by the verdict.
Questions to bear in mind while reading include:
* What are the key steps in [[Socrates'|Socrates]] [[argument]] against being swayed by majority opinion?
* In the course of the [[dialogue]], many different kinds of reasons for moral [[conclusions|conclusion]] are invoked by one or the other of [[Plato's|Plato]] two central characters. How many distinct kinds of moral grounds do you find?
* When Socrates rests his case against escape, how much has his reasoning relied on particular [[premises|premise]] about himself as an individual, and to what extent does he aim to reach general [[conclusions|conclusion]] about anyone’s obligation to obey authority?
* Is there a tension between Socrates' lack of interest in the majority's opinion and his obedience to the laws of the Athenian democracy?
{{||vocabulary-here}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Crito"
selectedTiddler="$:/temp/toc/euth/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing.</p>"
/>
@@float:right; [[forward to Euthyphro ▶|Euthyphro]]@@
<$details class="fm" summary="44: many people... will think that I could have saved you if...">
<<<.fm.dialog
//''CRITO:''//... listen to me even now and be saved. If you die, it will not be a single misfortune for me. Not only will I be deprived of a friend, the like of whom I shall never find again, but many people who do not know you or me very well will think that I could have saved you if I were willing to spend money, but that I did not care to do so. Surely there can be no worse reputation than to be thought to value money more highly than one’s friends, for the majority will no believe that you yourself were not willing to leave...
//''SOCRATES:''// My good Crito, why should we care so much for what the majority think?...
//''CRITO:''// ...Your present situation makes clear that the majority can inflict not the least but pretty well the greatest evils if one is slandered among them.
//''SOCRATES:''// Would that the majority could inflict the greatest evils, for they would then be capable of the greatest good, and that would be fine, but now they cannot do either. They cannot make a man either wise or foolish, but they inflict things haphazardly.
<<< 44c
</$details>
<$details class="fm" summary="44: majority can inflict greatest evil?">
<<<.fm.dialog
//''CRITO:''// You see, Socrates, that one must also pay attention to the opinion of the majority. Your present situation makes clear that the majority can inflict not the least but pretty well the greatest evils if one is slandered among them.
//''SOCRATES:''// Would that the majority could inflict the greatest evils, for they would then be capable of the greatest good, and that would be fine, but now they cannot do either. They cannot make a man either wise or foolish, but they inflict things haphazardly.<br>
<<< 44d
</$details>
<$details class="fm" summary="48: the most important thing is not life, but the good life">
<<<.fm.dialog
//''SOCRATES:''// Examine the following... that the most important thing is not life, but the good life. ... And that the good life, the beautiful life, and the just life are the same; does that still hold, or not?
//''CRITO:''// It does hold.
//''SOCRATES:''// ... we must examine next whether it is right for me to try to get out of here when the Athenians have no acquitted me. ... As for those questions you raise about money, reputation, the upbringing of children, Crito, those considerations in truth belong to those people who easily put men to death and would bring them to life again if they could, without thinking; I mean the majority of men.
<<< 48b
</$details>
<$details class="fm" summary="49: Nor must one, when wronged, inflict wrong in return ...?">
<<<.fm.dialog
//''SOCRATES:''// whether the majority agree or not... whether we must still suffer worse things... nonetheless, wrongdoing is in every way harmful and shameful to the wrongdoer? Do we say so or not?
//''CRITO:''// We do.
//''SOCRATES:''// So one must never do wrong? ... Nor must one, when wronged, inflict wrong in return, as the majority believe, since one must never do wrong?
//''CRITO:''// That seems to be the case.<br>...
//''SOCRATES:''// Well then, if one is oneself injured, is it right, as the majority say, to inflict injury in return, or is it not?
//''CRITO:''// It is never right.
//''SOCRATES:''// Injuring people is no different from wrongdoing.
//''CRITO:''// That is true.
//''SOCRATES:''// One should never do wrong in return, nor injure any man, whatever injury one has suffered... And Crito, see that you do not agree to this, contrary to your belief. For I know that only a few people hold this view or will hold it, and there is no common ground between those who hold this view and those who do not, ... that neither to do wrong or to return a wrong is ever right, not even to injure in return for an injury received....
//''CRITO:''// I stick to it and agree with you.
<<< 49b
</$details>
<$details class="fm" summary="49: when one has come to an agreement,... should one fulfill it?">
<<<.fm.dialog
//''SOCRATES:''// ...when one has come to an agreement that is just with someone, should one fulfill it or cheat on it?
//''CRITO:''// One should fulfill it.
//''SOCRATES:''// See what follows... if we leave here without the city’s permission, are we injuring people whom we should least injure? And are we sticking to a just agreement, or not?
//''CRITO:''// I cannot answer...
//''SOCRATES:''// If... the laws and the state came and confronted us... What shall we answer? ... Shall we say in answer, “The city wronged me, and its decision was not right.” Shall we say that, or what?
//''CRITO:''// Yes, by Zeus, Socrates, that is our answer.
<<< 49e
</$details>
<$details class="fm" summary="50: Soc: [laws:] “Tell me, Socrates, what are you intending">
<<<.fm
//''SOCRATES:''// [laws:] “Tell me, Socrates, what are you intending to do? Do you not by this action you are attempting intend to destroy us, the laws, and indeed the whole city, as far as you are concerned? Or do you think it possible for a city not to be destroyed if the verdicts of its courts have no force but are nullified and set at naught by private individuals?”
<<< 50
</$details>
<$details class="fm" summary="51: [laws:] whoever of you remains... has in fact come to an agreement with us">
<<<.fm
//''SOCRATES:''// ... [the laws say] “... Is your wisdom such as not to realize that your country is to be honoured more than your mother, your father, and all your ancestors, ... you must worship it, yield to it and placate its anger more than your father’s? You must either persuade it or obey its orders, and endure in silence whatever it instructs you to endure... one must not give way or retreat or leave one’s post, but both in war and in courts and everywhere else, one must obey the commands of one’s city and country, or persuade it as to the nature of justice. ...”<br>“We have given you birth, nurtured you, educated you, we have given you and all other citizens a share of all the good things we could. even so, by giving every Athenian the opportunity, after he has reached manhood and observed the affairs of the city and us the laws, we proclaim that if we do not please him, he can take his possessions and go wherever he pleases. ... We say, however, that whoever of you remains, when he sees how we conduct our trials and manage the city in other ways, has in fact come to an agreement with us to obey our instructions. ... we do not issue savage commands... we give two alternatives, either to persuade us or to do what we say.”
<<< 51
</$details>
<$details class="fm" summary="52: we and the city were congenial to you. ... you agreed...">
<<<.fm
//''SOCRATES:''// [laws:] “... Socrates [if you escape], you would be among, not the least, but the most guilty of the Athenians.... we have convincing proofs that we and the city were congenial to you. You would not have dwelt here most consistently of all the Athenians if the city had not been exceedingly pleasing to you. You have never left the city, even to see a festival, nor for any other reason except military service...<br>“... Also you have had children in this city... at your trial you could have assessed your penalty at exile if you wished, and you are now attempting to do against the city’s wishes what you could then have done with her consent. ... answer us on this very point, whether ... you agreed, not only in words but by your deeds, to live in accordance with us.”
<<< 52
</$details>
<$details class="fm" summary="53: consider what good you will do yourself or your friends by breaking our agreements...">
<<<.fm
//''SOCRATES:''// [laws:] “For consider what good you will do yourself or your friends by breaking our agreements and committing such a wrong? It is pretty obvious that your friends will themselves be in danger of exile, disfranchisement and loss of property. As for yourself... the nearby cities... will look on you with suspicion... You will also strengthen the conviction of the jury... Many disgraceful things will be said about you.”
<<< 53
</$details>
<$details class="fm" summary="54: Soc: [laws:] “Do not value either your children or">
<<<.fm
//''SOCRATES:''// [laws:] “Do not value either your children or your life or anything else more than goodness... As it is, you depart, if you depart, after being wronged not by us, the laws, but by men; but if you depart after s hamefully returning wrong for wrong and injury for injury, after breaking your agreement and contractm with us... we shall be angry... and our brothers, the laws of the underworld, will not receive you kindly...”
<<< 54
</$details>
<<tabs "[tag[Crito microessay set]]" template:"tabtemplate">>
|>|"But he who has the experience of the manner in which we order justice and administer the state, and still remains, has entered into an implied contract that he will do as we command him. And he who disobeys us is, as we maintain, thrice wrong: first, because in disobeying us he is disobeying his parents; secondly, because we are the authors of his education; thirdly, because he has made an agreement with us that he will duly obey our commands; and he neither obeys them nor convinces us that our commands are unjust." ({{es{//[[Crito 51e|CITE]]//}}} pg. 4 {{es{col B}}} line 28)|
|It doesn’t seem that living in a state, thriving off that which it offers, is a reason to consistently follow its laws. If that were to be the case would we not frown upon the civil rights movement? Or even the American Revolution? I believe that [[stage five of Kholberg’s [sp] stages of development finds]] that, in order to act in a manner we would consider ‘just,’ at least ethically so, we must at times view the laws as being flexible and be willing to break them should they stand in the way of that which we perceive as being truly ‘right.’ It seems that if all laws were followed all the time there would be no room for moral improvement. (120)|{{es{//This commentary persuasively registers a ''objection'' to the text. The next step would be to frame the objection very compactly, leaving room to consider and evaluate a likely reply from a Socratic perspective.//}}}|
<<<.dark
"My good Crito, why should we care what the majority think... but [rather] what he will say who understands justice and injustice... and the truth itself."
<<< [citation location needed]
<<<.moo
@@.hlg Here Socrates challenges the negative normative value Crito assigns to incurring unfavorable public opinion and advances a counter-argument. Their arguments share a common premise but diverge on whose opinions matter.@@ @@.hly Following are objections to Socrates' argument, also available to Crito as follows:<br>1) The laws reflected the will of the majority <br> 2) "Reasonable people" would not have supported laws that restricted personal liberties and , ultimately sanctioned Socrates' execution; <br>3) Nor would they have assigned greater value to man-made law over moral law, rather, they would have opposed the imposition of government realizing that wisdom is often a proxy for power.@@ <br>@@.hlb Socrates might have concluded this but because representative government was in its infancy, he might have lacked the experience to understand the distinction.@@
<<<
<$details class="eval" summary="Evaluation notes...">
|!Focus|<<HB2>>|Notice attention is somewhat divided, with no clear critical focus.|
|!Accuracy|<<HB3>>||
|!Critique|<<HB2>>||
|!Engagement|<<HB2>>|If the best thing we can say for Socrates is that he didn't understand something <br>(that we now understand), then we have set ourselves up for a relatively shallow discussion.|
|!Technical details|<<HB3>>|The second-to-last sentence has a phrase ("wisdom is often a proxy for power") <br>whose meaning and role is unclear.|
|!Further comments| … |Might Socrates already agree that reasonable people would not have prosecuted him? We still need to confront his argument that evading the law cannot be the correct response to errors on the part of the state...|
</$details>
<!--
CW
-->
[img[Kant's four examples|https://www.dropbox.com/s/oq3mrxkkfhxhm5p/crito%20outline%20handout.png?raw=1]]
<<<.dark
S: And is life worth living for us with the part of us corrupted that unjust action harms and just action benefits? Or do we think that part of us … is inferior to the body?<br>C: Not at all.<br>S: Is it more valuable?<br>C: Much more. [...] <br>S: Above all, is the truth such … wrongdoing is in every way harmful and shameful to the wrongdoer? Do we say so or not?<br>C: We do.
<<< //Crito// 48a; 49b
<<<.moo
Socrates establishes that the moral person should never do wrong, even if wronged. But what if wrongdoing allows for previously inaccessible good deeds in the future? What if Crito had attempted to argue that Socrates may do more good with the rest of his life if he escaped to some other city? Socrates may respond that Crito forgets the original assertion that never should one do wrong, lest ze harm hirself and render hir life meaningless. Socrates may even say that if Crito's proposition of goodness after exile was a certainty and not possibility, he would be forever harmed by having done wrong, even in response to wrongdoing. The ends, as we might say today, would never justify the means.
<<< (AB)
!!!! Hypotheses for explaining cultural disparity in Kohlberg's results:
"""
(a) Subordination retards moral development
(b) Researchers do not (or cannot) score subordinated populations fairly.
(c) Subordinated groups face greater danger when they violate conventions.
(d) Transcending convention happens at similar rates everywhere, but takes different forms in different places.
(e) There might be multiple paradigms of post-conventional reasoning
(f) There isn’t really any post-conventional reasoning
"""
!!!!Caution:
It certainly seems that *if* moral development is influenced by culture at all, then it has to be at least possible for there to be cultures that do better at cultivating it, and cultures that do worse.
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfZzdTVS2E8-vgyXhdxv7IR-YftkjDl3u_RYVmv0hKRQel2MQ/viewform?embedded=true" width="800" height="1200" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>
<<<.dark
“I value and respect the same principles as before, and if we have no better arguments to bring up at this moment, be sure that I shall not agree with you”
<<<(Crito 46c)
<<<.dark
“we must examine next whether it is right for me to try to get out of here when the Athenians have not acquitted me. If it is seen to be right, we will try to do so; if it is not, we will abandon the idea.”
<<< (Crito 48c)
<<<.dark
“if you can make any objection while I am speaking, make it and I will listen to you, but if you have no objection to make, my dear Crito, then stop now from saying the same thing so often, that I must leave here against the will of the Athenians”
<<<(Crito 49e)
<<<.moo
@@.hlg When explaining to Crito his reason for staying, Socrates successfully argues that the rational choice is staying.@@ @@.hly Yet the argument of obeying only reason is dangerous, this is because as humans we can only take in a limited number of facts on a topic and are incapable of accurately predicting what will happen as a result of our actions. I would argue that in some scenarios, humans are woefully unequipped to solve problems with reason and that it is better to trust our feelings and intuitions on matters, perhaps such as these.@@ @@.hlb Supporters of rationality above all else may respond that to disregard rationality in some instances could lead to a complete disregard of it and its merits.@@ (118 words)
<<< —WH
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
<$details field="caption" open="yes" class="success" >
* Summary = field "caption" from this tiddler (Test new stuff)
* class="success" => summary with green background
* State is not saved.
** When you close and reopen this tiddler, it will allways be closed.
</$details>
<$details tiddler="opening_questions" class="warning" field="caption" open="no" mode="block">
{{opening_questions}}
</$details>
<$details class="notification" >
{{troubleshooting}}
</$details>
!!!!Most [[relativists|relativism]] focus on HORIZONTAL diversity
>At any one time, different people have different ideas about the same problem.
!!!!Developmental psychologists notice “VERTICAL” diversity
>Given any one person, at different stages of life, that person has different conceptual approaches to the same problem.
# There’s an asymmetry of stages: higher stages “comprehend” all lower stages, but not vice-versa.
# Those at a higher stage can explain their transition, but these explanations don't make sense to lower-stage thinkers until they are ready for the transition.
Challenges:
* Can we distinguish “progression” (improvement) from “succession” (merely coming after)?
* Is “postconventionality” illusory? <br> Consider Anthony Cortese’s Ethnic Ethics arguments
* Do Kohlberg’s methods & interpretation illustrate biases? <br>
Next week, we’ll read a piece on CARE, which has emerged as a contrasting paradigm of development and complexity in moral thought.
<$details class="" summary="KOHLBERG'S SCALE of STAGES">
*preconventional level (4-10)
** 1: Punishment & Obedience Orientation
** 2: Instrumental Relativist Orientation
*conventional level
** 3: Interpersonal Concordance<br>^^(or “Good Boy - Nice Girl” approach)^^
** 4: Society Maintaining Orientation
*postconventional or autonomous
** 5: Social Contract Orientation
** 6: Universal Ethical Principle Orientation
</$details>
<$details class="" summary="GILLIGAN'S ALTERNATIVE SCALE">
*preconventional level
** 1: Individual Survival
** 2: transition: selfishness to responsibility
*conventional level
** 3: Goodness as self-sacrifice, responsibilities
** 4: transition from goodness to truth
*postconventional or autonomous
** 5: morality of non-violence
</$details>
!!!! Gilligan's worry:
<<<
Kohlberg (1971) identifies a strong interpersonal bias in the moral judgments of women, which leads them to be considered as typically at the third of his six-stage developmental sequence. ... the very traits that have have traditionally defined the “goodness” of women, their care for and sensitivity to the needs of others, are those that mark them as deficient in moral development.
Turiel... reported that while girls reached Stage Three sooner than did boys, their judgments tended to remain at that stage while the boys’ development continued further along...
<<< Carol Gilligan, from “In a Different Voice: Women’s Conceptions of Self and Morality”
Among the phenomena that play a central role on Gilligan's account is a tendency toward self-sacrifice during a certain stage of development, followed by a kind of "corrective epiphany":
@@.triangle-right
I //can’t// care well for others if I'm neglecting my own needs.
@@
[img width=25% class=img-right [Dewey|https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/John_Dewey_cph.3a51565.jpg/330px-John_Dewey_cph.3a51565.jpg]]
John Dewey (1859-1952) was an American philosopher and public intellectual. His orientation toward intellectual problems required recognizing thought as a phase of practical activity -- an approach often called [[pragmatism]], though Dewey himself did not emphasize the term. Beyond academic philosophy, he was especially well known for progressive and democratic models of education, and for advocating a deliberative model of democracy.
!!!!What perspective does Dewey offer us on the following thinkers and/or movements... ?
* [[stoicism]] - [[Kantianism|Kant]] - [[dualism]]
* Marxism
* [[utilitarianism]]
* Dialectic (thesis - antithesis - synthesis)
* evolution
* [[existentialism]]
* moral education
Dewey's philosophical approach belongs to the pragmatist tradition.
;Pragmatism
:<<tiddler [[Pragmatism]]>>
Taking a pragmatist approach to ethics means thinking of moral cognition as emerging out of human activity (in all its organic, historical and social specificity), rather than being a set of ideals apprehended //a priori//.
Note subtle differences from Marxist [[materialism]] (though Marx has a closely related concept of praxis) and [[existentialism]] (which also warns of false extremes of internal and external ways of looking at action).
<$details summary="347: inner vs outer">
The first obstruction which meets us is the currency of moral ideas which split the course of activity into two opposed factors, ... the inner and outer, or the spiritual and the physical. This division is a culmination of the dualism of mind and the world, soul and body, end and means, which we have so frequently noted. In morals it takes the form of a sharp demarcation of the motive of action from its consequences, and of character from conduct. ... Different schools identify morality with either the inner state of mind or the outer act and results, each in separation from the other.
>Compare to Beauvoir’s complaint in “Ethics of Ambiguity”.
</$details>
<$details summary="347: doubt and hesitation (thought and consciousness) as practical">
A person who does not have his mind made up, does not know what to do. Consequently he postpones definite action so far as possible. His position may be compared to that of a man considering jumping across a ditch... he is in doubt; he hesitates. During the time in which a single overt line of action is in suspense, his activities are confined to such redistributions of energy within the organism as will prepare a determinate course of action. He measures the ditch with his eyes; he brings himself taut to get a feel of the energy at his disposal he looks about for other ways across, he reflects upon the importance of getting across. All this means an accentuation of consciousness it means a turning in upon the individual’s own attitudes, powers, wishes, etc. ¶ Obviously, however, this surging up of personal factors into conscious recognition is part of the whole activity in its temporal development. There is not first a purely psychical process, followed abruptly by a radically different physical one...</$details>
<$details summary="348: problematic situation (pragmatism)">
We may distinguish, of course, the more explicitly conscious phase of the continuous activity as mental or phychical. But that only identifies the mental of psychical to mean the indeterminate, formative state of an activity which in its fullness involves putting forth of overt energy to modify the environment. ¶ Our conscious thoughts, observations, wishes, aversions are important, because they represent inchoate, nascent activities. They fulfill their destiny in issuing, later on, into specific and perceptible acts. And these inchoate, budding organic readjustments are important because they are our sole escape from the dominion of routine habits and blind impulse. They are activities having a new meaning in process of development. Hence, normally, there is an accentuation of personal consciousness whenever our instincts and ready formed habits find themselves blocked by novel conditions.
>Note EVOLUTION, and also denial of Marxist materialism (and behaviorism) on which the mental phase does NOT have a real importance.
</$details>
<$details summary="348: castles in the air">
This role of mind in continuous activity is not always maintained, however... When we find the successful display of our energies checked by uncongenial surroundings, natural and social, the easiest way out is to build castles in the air and let them be a substitute for an actual achievement which involves the pains of thought.
</$details>
<$details summary="349: social situation and refuge">
the split may be more than an incident of a particular individual’s experience. The social situation may be such as to throw the class given to articulate reflection back into their own thoughts and desires without providing the means by which these ideas and aspirations can be used to reorganize the environment. Under such conditions, men take revenge, as it were, upon the alien and hostile environment by cultivating contempt for it... In the early centuries of the Christian era, the influential moral systems of Stoicism, of monastic and popular Christianity and other religious movements of the day, took shape under the influence of such conditions.... The external world... was thought of as morally indifferent. Everything lay in having the right motive... Much the same sort of situation recurred in Germany [in late 18th, early 19th C]; it led to the Kantian insistence upon the good will as the sole moral good, the will being regarded... apart from ... consequences...
>Compare against Marxist explanation for “false consciousness”.
</$details>
<$details summary="349: reaction">
The purely internal morality... naturally led to a reaction... utilitarianism... that the important thing morally is not what a man is... but what he does... Inner morality was attacked as sentimental... dogmatic, subjective... Results... are what counts...
>Note the rhetoric of pendulum-swing hints that Dewey will not endorse this view either.
</$details>
<$details summary="349: The social situation may be such as to throw">
The social situation may be such as to throw th class given to articulate reflection back into their own thoughts and desires without providing the means by which these ideas and aspirations can be used to reorganize the environment. Under such conditions, men take revenge, as it were, ... by cultivating contempt for [the environment].
</$details>
<$details summary="350: 2. Opposition of Duty and Interest">
... to act according to interest is, so the allegation runs, to act selfishly, with one’s own personal profit in view... <br>the supporters of the “interest” side of the controversy habitually use the term “self-interest”. Starting from the premisses that unless there is interest in an object or idea, there is no motive force, they end with the conclusion that even when a person claims to be acting from principle or from a sense of duty, he really acts as he does because there “is something in it” for himself. The premiss is sound; the conclusion false. In reply the other school argues that since man in capable of generous self-forgetting and even self-sacrificing action, he is capable of acting without interest. Again the premiss is sound, and the conclusion false....<br>Both sides assume that the self is a fixed and hence isolated quantity.
</$details>
<$details summary="355: remote information vs. first-hand knowledge">
a devitalized remote information ... does not guarantee conduct, ... But if knowledge means something of the same sort as our conviction gained by trying and testing that sugar is sweet and quinine bitter, the case stands otherwise. ... it is knowledge gained at first hand through the exigencies of experience which affects conduct in significant ways.
</$details>
<$details summary="358: virtue: to be fully what one is capable of becoming">
To possess virtue does not signify to have cultivated a few nameable and exclusive traits; it means to be fully and adequately what one is capable of becoming through association with others in all the offices of life.
</$details>
<$details summary="358: recommendations">
(i) In the first place, the school must itself be a community life in all which that implies.<br>(ii) The learning in school should be continuous with that out of school.
</$details>
"Theories of Morals" is the last chapter of Dewey's famous work of civic philosophy, //Democracy and Education//.
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/DeweyToM/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
[[Diogenes|https://en.wikipedia.org/wiki/Diogenes]] was an early proponent of [[cosmopolitanism]]
# It is this ethical ideal, this realistic picture of ourselves as one-caring, that guides us as we strive to meet the other morally.
# Everything depends upon the nature and strength of this ideal, for …
# we shall not have absolute principles to guide us. Indeed,
# [The] ethics of principle [is] ambiguous and unstable.
# Wherever there is a principle, there is implied its exception and, …
# too often, principles function to separate us from each other.
# We may become dangerously self-righteous when we perceive ourselves a holding a precious principle not held by the other.
# The other may then be devalued and treated "differently" [and …
# … Such] treatment is never conducted ethically. Hence,
# When we must use violence or strategies on the other, we are already diminished ethically.
# Our efforts must, then, be directed to the maintenance of conditions that will permit caring to flourish.
;An analysis of the reasoning here would affirm...
: (2) gains support from (1) and (3) as premises, but the argument is enthymematic.
: There is a chain of inference building from (4) to (5) to (6).
:(5) is a premise for which further support is not offered within this passage.
: A reasonable objection to this passage is that (10) is an unsupported assumption.
: (2) is the overall conclusion of the passage.
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/317421/&share=1"></iframe>
[img width=40% [rapa-nui|https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Moais%2C_Isla_de_Pascua._-_panoramio.jpg/500px-Moais%2C_Isla_de_Pascua._-_panoramio.jpg]]
Plumwood's "Easter Island" story is loosely based on Jared Diamond's speculative account.
First, note that this island is called Rapa Nui by its indigenous people.
Secend: [[the archaeological evidence now looks very different from Plumwood's account|https://www.sapiens.org/archaeology/easter-island-collapse/]]. [[Research has taken a radically different direction recently|https://theconversation.com/the-truth-about-easter-island-a-sustainable-society-has-been-falsely-blamed-for-its-own-demise-85563]], based on [[rethinking the technology and clues about social relations|https://www.scientificamerican.com/article/easter-island-statues-might-have-been-walked-out-of-quarry/]].
[img width=30% class=img-right [elise_camping.jpg]] Associate Professor of Philosophy, [[Wesleyan University|http://www.wesleyan.edu]]
|!Office|Russell House Room 216|
|!Office Hours <br> (Spring 2020, subject to change)|Tuesdays 1–3; <br>Fridays 10-noon|
|loudtable|k
Things I do beyond the classroom:
Aikido, shakuhachi, kayaking, spending time among trees.
[img width=25% class=img-right [https://373819-1169963-raikfcquaxqncofqfm.stackpathdns.com/wp-content/uploads/2016/07/epictetus.jpg]]Epictetus (c 55-135 CE) was a [[stoic|stoicism]] philosopher who taught that tranquility and self-control are the most important goals. Among the stoics, his experience is distinctive, since he was born into slavery, and later secured his freedom. Apparently he became a student of stoicism even as a youth, listening to [[Musonius Rufus|https://immoderatestoic.com/blog/2019/3/6/stoicism-and-feminism#:~:text=Stoicism%20is%20often%20viewed%20historically,Stoicism%20is%20at%20it's%20best).]] Epictetus himself did not put his ideas into writing, though his follower Arrian compiled many notes on his teachings, which have become the //Discourses// and the //[[Enchiridion|Epictetus, Enchiridion]]//.
<$details class="fm" summary="53: 1. up to us, not up to us">
<<<.fm
1. Some things are up to us and some are not up to us. Our opinions are up to us, and our impulses, desires, aversions,—in short, whatever is our own doing. Our bodies are not up to us, nor are our possessions, our reputations, or our public offices, or,that is, whatever is not our own doing. The things that are up to us are by nature free, unhindered, and unimpeded; the things that are not up to us are weak, enslaved, hindered, not our own.
<<< 53
</$details>
<$details class="fm" summary="56: 8. want events to happen as they do happen">
<<<.fm
8. Do not seek to have events happen as you want them to, but instead want them to happen as they do happen, and your life will go well.
<<< 56
</$details>
<$details class="fm" summary="56: 9. interferes... not with the faculty of choice">
<<<.fm
9. Illness interferes with the body, not with one’s faculty of choice, unless that faculty of choices wishes it to. Lameness interferes with the limb, not with one’s faculty of choice. Say this at each thing that happens to you, since you will find that it interferes with something else, not with you.
<<< 56
</$details>
<$details class="fm" summary="57: 13. they think you a mindless fool [but] be in accord with nature">
<<<.fm
13. If you want to make progress, let people think you are a mindless fool about externals, and do not desire a reputation for knowing about them. If people think you amount to something, distrust yourself. Certainly it is not easy to be on guard both for one’s choices to be in accord with nature and also for externals, and a person who concerns himself with the one will be bound to neglect the other.
<<< 57
</$details>
<$details class="fm" summary="58: 16. what weighs down... is not what happened... but his judgment">
<<<.fm
16. When you see someone weeping in grief at the departure of his child or the loss of his property, take care not to be carried away by the appearance that the externals he is involved in are bad, and be ready to say immediately, “What weighs down on this man is not what has happened (since it does not weigh down on someone else), but his judgment about it.” Do not hesitate, however, to sympathize with him verbally, and even to moan with him if the occasion arises; but be careful not to moan inwardly.
<<< 58
</$details>
<$details class="fm" summary="59: 17. Remember that you are an actor in a">
<<<.fm
17. Remember that you are an actor in a play, which is as the playwright wants it to be: short if he wants it short, long if he wants it long. If he wants you to play a beggar, play even this part skillfully, or a cripple, or a public official, or a private citizen. What is yours is to play the assigned part well. But to choose it belongs to someone else.
<<< 59
</$details>
<$details class="fm" summary="59: 19. invincible, if you do not enter where victory is not up to you.">
<<<.fm
19. You can be invincible, if you do not enter any contest in which victory is not up to you. See that you are not carried away by the appearance, in thinking that someone is happy when you see him honored ahead of you or very powerful or otherwise having a good reputation. For if the really good things are up to us, neither envy nor jealousy has a place, and you yourself will want neither to be a general or a magistrate or a consul, but to be free. And there is one road to this: despising what is not up to us.
<<< 59
</$details>
<$details class="fm" summary="61: 26. the will of nature where we do not differ from each other">
<<<.fm
26. It is possible to learn the will of nature from the things in which we do not differ from each other. For example, when someone else’s little slave boy breaks his cup we are ready to say, “It’s one of those things that just happen.” Certainly, then, when your own cup is broken you should be just the way you were when the other person’s ways broken. Transfer the same idea to larger matters. Someone else’s child is dead, or his wife. There is no one would not say, “It’s the lot of a human being.” But when one’s own dies, immediately it is, “Alas! Poor me!” But we should have remembered how we feel when we hear of the same thing about others.
<<< 61
</$details>
<$details class="fm" summary="61: 28. not ashamed that you turn over your faculty of judgment?">
<<<.fm
28. If someone turned your body over to just any person who happened to meet you, you would be angry, But are you not ashamed that you turn over your own faculty of judgment to whoever happens along, so that if he abuses you it is upset and confused?
<<< 61
</$details>
<$details class="fm" summary="61: 26. the will of nature where we do not differ from each other">
<<<.fm
26. It is possible to learn the will of nature from the things in which we do not differ from each other. For example, when someone else’s little slave boy breaks his cup we are ready to say, “It’s one of those things that just happen.” Certainly, then, when your own cup is broken you should be just the way you were when the other person’s ways broken. Transfer the same idea to larger matters. Someone else’s child is dead, or his wife. There is no one would not say, “It’s the lot of a human being.” But when one’s own dies, immediately it is, “Alas! Poor me!” But we should have remembered how we feel when we hear of the same thing about others.
<<< 61
</$details>
<$details class="fm" summary="66: 42. If thing appear badly to him, he is harmed ... as deceived.">
<<<.fm
42. When someone acts badly toward you or speaks badly of you, remember that he does or says it in the belief that it is appropriate for him to do so. Accordingly he cannot follow what appears to you but only what appears to him, so that if things appear badly to him, he is harmed in as much as he has been deceived. For if someone thinks that a true conjunctive proposition is false, the conjunction is not harmed but rather the one who is deceived. Starting from these considerations you will be gentle with the person who abuses you. For you must say on each occasion, “That’s how it seemed to him.”
<<< 66
</$details>
<$details class="fm" summary="67: Everything has two handles, one by which it may">
<<<.fm
Everything has two handles, one by which it may be carried and the other not. If your brother acts unjustly toward you, do not take hold of it by this side, that he has acted unjustly (since this is the handle by which it may not be carried), but instead by this side, that he is your brother and was brought up with you, and you will be taking hold of it in the way that it can be carried.
<<< 67
</$details>
<$details class="fm" summary="67: 44. These statements are not valid inferences: “I am">
<<<.fm
44. These statements are not valid inferences: “I am richer than you; therefore I am superior to you,” or “I am more eloquent than you; therefore I am superior to you. “ But rather these are valid: “I am richer than you; therefore my property is superior to yours,” or “I am more eloquent than you; therefore my speaking is superior to yours.” But you are identical neither with your property nor with your speaking.
<<< 67
</$details>
<$details class="fm" summary="67: 45. Someone takes a bath quickly; do not say">
<<<.fm
45. Someone takes a bath quickly; do not say that he does it badly but that he does it quickly. Someone drinks a great deal of wine; do not say that he does it badly but that he does a great deal of it. For until you have discerned what his judgment was, how do you know whether he did it badly? In this way it will not turn out that you receive convincing appearances of some things but give assent to quite different ones.
<<< 67
</$details>
<$details class="fm" summary="69: 51. How long do you put off thinking yourself">
<<<.fm
51. How long do you put off thinking yourself worthy of the best things, and never going against the definitive capacity of reason? You have received the philosophical propositions that you ought to agree to and you have agreed to them. Then what sort of teacher are you still waiting for, that you put off improving yourself until he comes? You are not a boy any more, but already a full-grown man. If you now neglect things and are lazy and are always making delay after delay and set one day after another as the day for paying attention to yourself, then without realizing it you will make no progress but will end up a non-philosopher all through life and death. So decide now that you are worthy of living as a full-grown man who is making progress, and make everything that seems best be a law that you cannot go against. And if you meet with any hardship or anything pleasant or reputable or disreputable, then remember that the contest is now and the Olympic games are now and you cannot put things off any more and that your progress is made or destroyed by a single day and a single action. Socrates became fully perfect in this way, by not paying attention to anything but his reason in everything that he met with. You, even if you are not yet Socrates, ought to live as someone wanting to be Socrates.
<<< 69
</$details>
<$details class="fm" summary="70: 52. The first and most necessary aspect of philosophy">
<<<.fm
52. The first and most necessary aspect of philosophy is that of dealing with philosophical propositions, such as “not to hold to falsehood.” The second is that of demonstrations, for example, “How come one must not hold to falsehood? “ The third is that of the confirmation and articulation of these, for example, “How come this is a demonstration? What is entailment? What is conflict? What is truth? What is falsity?” Therefore the third is necessary because of the second, and the second because of the first. We, however, do it backwards, since we spend time in the third and all of our effort goes into it, and we neglect the first completely. Therefore we hold to falsehood, but we are ready to explain how it is demonstrated that one must not hold to falsehood.
<<< 70
</$details>
| [[philosophy]] |<|
| = |<|
|//philo//-|//sophia//|
For ancients, the ''sophia'' (wisdom) embodied ''knowledge'' and ''//[[eudaimonia]]//'' (living well, happiness), inseparably.
The [[Stoics|stoicism]], including [[Epictetus]], conclude that both ''knowledge'' and ''happiness'' are enhanced by a disciplined practice of:
* getting //perspective//
* correcting for bias in appearances.
Stoic terms:
* [[prohairesis]] (choice is both physical and mental)
* [[ataraxia]]
* [[apathy]] (freedom from passion, but not from motivation)
See [[Biography of Epictetus|http://www.iep.utm.edu/e/epictetu.htm]]
[[Epictetus]]' central ''[[distinction]]'':
|!in your control|!not in your control|
|prohairesis|"externals"|
Central ''claim'': we should not become concerned over matters that are beyond our control.
Consider the traditional prayer:
>God grant me the serenity... <br>to accept the things I cannot change,<br>the courage to change the things I can, <br>and the wisdom to tell the difference."
>For this reason goodness has priority over every relationship. Even my father is of no concern to me but only goodness.
>//Are you so hard?//
>Yes; that is my nature. This is the currency God has given me. Accordingly, if goodness is different from honourableness and justice, that is goodbye to father, brother, country, and all such things. Am I to pass up my own good, in order for you to get yours, and give way to you? In exchange for what?
>//I am your father!//
>But you are not my good.
>//I am your brother!//
>But you are not my good. Yet, if we locate goodness in correct volition, the actual maintenance of such relationships becomes a good, and also, one who gives way over certain externals acquires the good.
>//My father is seizing my property. //
>But he is not injuring you.
>//My brother will get the main part of the land.//
>As much as he wants. He won't be getting any of your integrity or your fraternal attitude. Who can rob you of this property? Not even Zeus. For he did not wish to, but he made it up to me, and gave it as he has it himself, unhindered, unconstrained, unimpeded. (3.3.5-10)
AA Long comments:
>To take the measure of this startling passage, we need to combine it with Epictetus' earlier comments on the role of being a [end p.237] son. There he claimed that there should be no limits to filial respect. Here, contrary to first appearances, he is actually making the same point. We do not choose our parents (1.12.28), and some parents do not deserve that title (3.18.5), but //''what matters about parents''//, so far as their children are concerned, should be not how they treat us but //''how we treat them''//. We are not accountable for how our parents and other relatives behave (1.12.33). In that respect they are of no concern to us and to our own integrity. If, however, we allow their treatment of us to become a matter of concern, we are liable to jeopardize the integrity that is one of our most valuable possessions.
In order to challenge Epictetus' view, consider ...
* [[objecting|objection]] to the ''central claim''<br> (that we should not worry about things beyond our control):<br>
<<<.triangle-right
But perhaps we //should// be concerned over things beyond our control. For example…
<<<
{{clear-both}}
* [[objecting|objection]] to the ''details'' of the distinction as Epictetus applies it.<br>(that such-and-such is beyond our control, so...):<br>
<<<.triangle-right
Perhaps some things that Epictetus treats as "not up to us" actually //are// in our control, at least in some important sense. For example…
<<<
!!!Critical questions:
# Is Epictetus right that ''reputation'' is out of our control?
# Can Epictetus make ''commitments'' to other people? (See [[Epictetus on family]]...)
# What about our ''beliefs'' and ''attitudes''? Aren't some tendencies simply “human nature”?
## “That makes me mad” <— is this involuntary?
## “I can’t help but believe that...” Stoicism introduces VOLUNTARISM about belief
# Does Epictetus encourage a hermit-like ''isolation'' from social bonds and public roles?
# Does Epictetus encourage a stance of ''denial'' toward important human emotions?
These sayings, distributed among Epictetus' students, are referred to as the "Enchiridion" or "Encheiridion" (ˌɛn kaɪˈrɪd i ən,) meaning "handbook" or "manual."
<$details summary="Note on text and translation">
This //Enchiridion// or "Handbook" attributed to [[Epictetus]], like the longer (yet only partially preserved) //Discourses// from which they are extracted, were written down not by Epictetus but by one of his followers, Arrian. Our English translation, by Higginson, is a 19th-century revision of the celebrated 1759 translation by Elizabeth Carter. Side-by-side translations, along with the Greek original, are [[available at Perseus Project|http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.01.0237:text=enc]]
Additional translation links:
* [[Elizabeth Carter translation via MIT Classics Archive|http://classics.mit.edu/Epictetus/epicench.html]] (with at least one substantive error)
* [[Higginson translation via Gutenburg|https://www.gutenberg.org/files/45109/45109-h/45109-h.htm#c4]]
* [[Long translation via Wikisource|https://en.wikisource.org/wiki/Encheiridion_of_Epictetus_(George_Long)#cite_ref-1]]
</$details>
In the //Enchiridion// ([[Epictetus]]' best-known work), unlike in the Platonic dialogues, we find that reasoned [[argument]] has a role, but makes up only some of the text. Epictetus also employs [[aphorisms|aphorism]] and [[metaphors|metaphor]] to stimulate reflection. Critical examination of this text can thus focus either on explicit [[arguments|argument]], or on the effects of its important [[distinctions|distinction]], [[metaphors|metaphor]], and stylistic approaches.
How is tranquility (//[[ataraxia]]//) different from passivity? Does Epictetus’ emotional coolness suggest lack of concern for others? Which aspects of the //Enchiridion// are most likely to account for its popularity, even today, among people who face adversity, such as prisoners of war? In what ways does this text echo [[Plato]], and in what ways does it diverge?
<$details summary="Vocabulary for this reading…">
{{!!vocabulary}}
</$details>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Epictetus, Enchiridion"
selectedTiddler="$:/temp/toc/epict_ench/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀back to Euthyphro|Euthyphro]] ... @@float:right; [[forward to King's Letter ▶|King, Letter from Birmingham Jail]]@@
<$list filter="[tag[definition]sort[title]]">
<$link>''<$text text=<<currentTiddler>>/>''</$link><br>
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
@@color:green; <<firstline>>@@<br>
</$wikify>
</$list>
The [[irony]] in this [[Socratic|Socrates]] [[dialogue]] (one of [[Plato]]'s [[early dialogues|early dialogues of Plato]]) emerges in response to Euthyphro's confidence that he is an expert who can easily answer Socrates' question about τὸ ὅσιον (roughly translatable as piety or righteousness); his arrogance prevents him from recognizing that Socrates' questions represent deep problems.
In taking notes on the [[dialogue]], it is useful to recognize the sequence of [[hypotheses|hypothesis]] (proposals) made by Euthyphro, and why each one fails. How many distinct attempts to define piety ([[τὸ ὅσιον|piety]]) does Euthyphro make? What is the fate of each of those ideas when subjected to [[elenchus]] (cross-examination)? Look especially for places where Socrates subjects Euthyhro's claims to a [[reductio ad absurdum]] strategy.
The high point of the dialogue, 10a-11b, shows Euthyphro confronted with a [[dilemma]] about the grounds for his moral confidence. What is the point of Socrates' questions about whether something is loved by the gods because it is god-beloved? How might this “Euthyphro dilemma” present analogies to difficult questions in other contexts, concerning things other than piety?
Finally, note that this dialogue is @@[[aporetic|aporia]]@@. Have we found any clues as to what kind of account Socrates himself might accept about piety (or, perhaps, what [[Plato]] wished us to consider, using Socrates' voice)? Do you suppose that one of Euthyphro's suggestions could have been developed in some better way? Is there some //other// hypothesis that would have helped Euthyphro avoid the difficulties of the dialogue?
<$details summary="Vocabulary for this reading…">
{{!!vocabulary}}
</$details>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Euthyphro"
selectedTiddler="$:/temp/toc/euth/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
[[◀back to Crito|Crito]] ... @@float:right; [[forward to Epictetus ▶|Epictetus, Enchiridion]]@@
<blockquote class="style05">Soc: But if the god-beloved and the pious were the same, my dear Euthyphro, and the pious were loved because it was pious, then the god-beloved would be loved because it was god-beloved, and if the god-beloved was god-beloved because it was loved by the gods, then the pious would also be pious because it was loved by the gods; but now you see that they are in opposite cases as being altogether different from each other: the one is of a nature to be loved because it is loved, the other is loved because it is of a nature to be loved.</blockquote>
<$details summary="highlight for analysis:">
<blockquote class="style05">@@color:grey; Soc: But@@ //''if''// @@.hlb the god-beloved@@ and @@.hlp the pious@@ were the same, @@color:grey; my dear Euthyphro@@, and [if] @@.hlp the pious@@ were loved //because it was pious//, //''then''// @@.hlb the god-beloved@@ would be loved //because it was god-beloved//, and //''if''// @@.hlb the god-beloved was god-beloved@@ because @@.hlg it was loved by the gods@@, //''then''// @@.hlp the pious would also be pious@@ because @@.hlg it was loved by the gods@@; but now you see that they are in opposite cases as being altogether different from each other: @@.hlb the one@@ is of a nature to be loved because it is loved, @@.hlp the other@@ is loved because it is of a nature to be loved.</blockquote>
</$details>
<$details summary="more structure:">
@@.list-tree
* //''if''// @@.hlb the god-beloved@@ = @@.hlp the pious@@,
** and [if] @@.hlp the pious@@ were loved //because it was pious// <span style="font-size: 1em; color: PaleGreen;"><i class="fas fa-thumbs-up"></i></span>
***//''then''// @@.hlb the god-beloved@@ would be loved //because it was god-beloved// <span style="font-size: 1em; color: orange;"><i class="fas fa-thumbs-down"></i></span>
** and //''if''// @@.hlb the god-beloved was god-beloved@@ @@.hly because it was loved by the gods@@ <span style="font-size: 1em; color: PaleGreen;"><i class="fas fa-thumbs-up"></i></span>
*** //''then''// @@.hlp the pious would also be pious@@ @@.hly because it was loved by the gods@@ <span style="font-size: 1em; color: orange;"><i class="fas fa-thumbs-down"></i></span>
but now you see that they (@@.hlb the god-beloved@@, @@.hlp the pious@@ )<br> are … __different__ from each other: <br>@@.hlb the one@@ is of a nature to be loved @@.hly because it is loved@@, <br>@@.hlp the other@@ is loved because it is of a nature to be loved.
<hr>
The [[inference pattern|inference patterns]] is [[modus tollens]], and this [[elenchus]] serves, in context, as [[reductio ad absurdum]] of [[Euthyphro]]'s [[hypothesis]] that [[piety]] means "the god-beloved".
: (inspired by a passage in Plato's [[Euthyphro]]) the choice, for any religious thinker, between two apparently opposed options: either religious norms and claims are independent of other values and stand above human scrutiny, or religious norms and claims are subject to evaluation according to other ideals that humans understand (such as reasonableness, or moral decency).
The first "horn" of the [[dilemma]] (often called "divine command theory") implies that religious authorities (revealed texts, divine voices, prophets) establish religious values in ways that followers should not scrutinize, or do not have the capacity to scrutinize. (This horn is associated with fundamentalism and other forms of dogmatism; it is worrisome insofar as it suggests a potentially arbitrary kind of authority for religion, requiring unquestioning faith on the part of followers, so that absurd or cruel demands on the part of a religious leader or text would never be called into doubt.)
The second "horn" of the [[dilemma]] implies that there are some values or norms that are higher than religious authority, and that followers can understand enough to scrutinize religious authorities (or putative authority) by checking whether it is genuinely reasonable, or morally good, etc. (This horn is associated with more secular approaches to religious texts, and is worrisome to many religious thinkers insofar as it suggests that religious authority may not be really important in its own right; if people already have the capacity to appreciate goodness, reasonableness, or integrity //independently// of religion, is the vital role of religious revelation undermined?)
<$details class="fm" summary="6: Enmity among the gods?">
<<<.fm
Euth: These people themselves believe that Zeus is the best and most just of the gods,yet they agree that he bound his father because he unjustly swallowed his sons, and that he in turn castrated his father... But they are angry with tme because I am prosecuting my father...<br>Soc: ... I find it hard to accept things like that being said about the gods... Now, however, if you, who have full knowledge... share their opinions, then we must agree with them too, it would seem... do you believe that there really is war among the gods, and terrible enmities and battles, and other such things...?<br>Euth: Not only these, Socrates, but... many other things... I know will amaze you.
<<< 6
</$details>
<$details class="fm" summary="8: Items both loved and hated by gods">
<<<.fm
Soc: But you say that the same things are considered just by some gods and unjust by others, and as they dispute about these things they are at odds and at war with each other. Is that not so?<br>Euth: It is.<br>Soc: The same things are loved by the gods and hated by the gods... the same things would be both pious and impious, according to this argument?<br>Euth: I’m afraid so.
<<< 8
</$details>
<$details class="fm" summary="9: Hypoth: Pious = what all gods love">
<<<.fm
Soc: ...let us assume, if you wish, that all the gods consider this unjust and that they all hate it. However, is this the correction we are making in our discussion, that what all the gods hate is impious, and what they all love is pious, and that wht some gods love and others hate is neither or both? Is that how you now wish us to define piety and impiety?<br>...<br>Euth: I would certainly say that the pious is what all the gods love, and the opposite, what all the gods hate, is the impious.
<<< 9
</$details>
<$details class="fm" summary="10: E: Gods love the pious because it is pious?">
<<<.fm
Soc: Consider this: Is the pious loved by the gods because it is pious, or is it pious because it is loved by the gods?<br>Euth: I don’t know what you mean...<br>...<br>Soc: ...that which is being carried is being carried because someone carries it...?<br>Euth: That is the reason.<br>Soc: ... So it is in the same case as the things just mentioned; it is not loved by those who love it because it is being loved, but it is being loved because they love it?<br>...<br>Soc: What then do we say about the pious, Euthyphro? Surely that it is loved by all the gods, according to what you say?<br>Euth: Yes.<br>Soc: Is it loved because it is pious, or for some other reason?<br>Euth: For no other reason.
<<< 10
</$details>
<$details class="fm" summary="11: S: If piety means god-beloved and...">
<<<.fm
Soc: But if the god-beloved and the pious were the same, my dear Euthyphro, and the pious were loved because it was pious, then the god-beloved would be loved because it was god-beloved, and if the god-beloved was god-beloved because it was loved by the gods, then the pious would also be pious because it was loved by the gods; but now you see that they are in opposite cases as being altogether different from each other: the one is of a nature to be loved because it is loved, the other is loved because it is of a nature to be loved.
<<< 11
</$details>
[img[flowchart for Euthyphro|https://www.dropbox.com/s/nqobsqt03ntlioc/euthyphrohypothesesverticalcorrected2015c.png?raw=1]]
[img[euthyphro_map|https://www.dropbox.com/s/ns5qorosa44aify/euth_footnotes%2000001.png?raw=1]]
<<tabs "[tag[Euthyphro microessay set]]" template:"tabtemplate">>
!!!Plato portrays [[Euthyphro]] as making various kinds of mistakes about how to offer a definition (or account of the concept) of what is [[pious|piety]] @@color:gray; (Greek: τὸ ὅσιον (//to hosion//))@@. <br> These mistakes include…
<$details animate="yes" summary="( a ) Giving a mere attribute of the concept rather than its definition." state="!!accordion1">
@@color:green; Yes. At 11b, this is the complaint about the hypothesis from 9e@@
</$details>
<$details summary="( b ) Attempting to give an objective definition of something that is essentially subjective in nature." state="!!accordion2">
@@color:red; No... This is a frequent complaint about definitions, and one of the early discussions (about divine disagreement) may *look* like this is Socrates' complaint.@@ But [[Socrates]] is not making this point (and he actually hints that he himself is skeptical about all these accounts of divine disagreement). Even if the gods //disagree// about what things are X (what's pious, what's lovable, what's just, etc.), they (and we) must have some notion of what "X" means in the first place in order to begin to make sense of that claim that //there is something// about which they disagree! (And giving an account of that notion is exactly what the Greeks are trying to do when they seek the thing’s //logos//, which we translate as meaning/definition/account.)
</$details>
<$details summary="( c ) Giving a definition that leads, according to Euthyphro’s own beliefs, to contradictory claims." state="!!accordion3">
@@color:green; Yes. At 8a, this is the end of the cross-examination of the hypothesis from 7a@@
</$details>
<$details summary="( d ) Giving a definition that is different from Socrates’ definition." state="!!accordion4">
@@color:red; No... No; as frustrated as Euthyphro (and readers) may be, Socrates does not allow his elenchus to focus on whether he disagrees, and Plato does not portray “disagreeing with Socrates” as the problem with any of what Euthyphro claims. The problem is, in each case, that Euthyphro’s own claims are not coherent with each other, and that Euthyphro himself recognizes the incoherencies. We do see a hint, late in the dialogue, about how Socrates might define piety, however.@@
</$details>
<$details summary="( e ) Offering an example rather than an account of the concept itself." state="!!accordion5">
@@color:green;Yes. At 6d, this is the complaint about what Euthyphro said at 5e (that piety means “doing what I am doing now”)@@
</$details>
@@float:right; <$button><$action-setfield accordion1="open" accordion2="open" accordion3="open" accordion4="open" accordion5="open"/>Open all</$button> <$button>
<$action-setfield accordion1="" accordion2="" accordion3="" accordion4="" accordion5=""/>Close all</$button>@@
>>
<<<
''Euth:'' These people themselves believe that Zeus is the best and most just of the gods, yet they agree that he bound his father because he unjustly swallowed his sons, and that he in turn castrated his father... But they are angry with me because I am prosecuting my father...
''Soc:'' ... I find it hard to accept things like that being said about the gods... Now, however, if you, who have full knowledge... share their opinions, then we must agree with them too, it would seem... do you believe that there really is war among the gods, and terrible enmities and battles, and other such things...?
''Euth'': Not only these, Socrates, but... many other things... I know will amaze you.
...
''Soc:'' But you say that the same things are considered just by some gods and unjust by others, and as they dispute about these things they are at odds and at war with each other. Is that not so?
''Euth:'' It is.
''Soc:'' The same things are loved by the gods and hated by the gods... the same things would be both pious and impious, according to this argument?
''Euth:'' I’m afraid so.
...
''Soc:'' ...let us assume, if you wish, that all the gods consider this unjust and that they all hate it. However, is this the correction we are making in our discussion, that what all the gods hate is impious, and what they all love is pious, and that wht some gods love and others hate is neither or both? Is that how you now wish us to define piety and impiety?
...
''Euth:'' I would certainly say that the pious is what all the gods love, and the opposite, what all the gods hate, is the impious.
<<<
Virtuous Feelings
>“If continence makes someone prone to abide by every belief, it is bad, if, for instance, it makes him abide a false as well [as true] belief. If incontinence makes someone prone to abandon every belief there will be an excellent type of incontinence. ” (1146a, 17)
|Aristotle puts forth that incontinence can have value because “false” beliefs sometimes prevent us from seeing the greater truth. However, if incontinence represents the abandonment of “correct reason” in favor of one's "feelings" (1151a, 21), is Aristotle suggesting that sometimes truth lies outside of the bounds of rational thinking? Is there virtue in trusting one’s emotions rather than one’s reason? Aristotle condemns persons unmoved by reason as “boorish and ignorant” (1151b, 13), but praises Neoptolemus whose feeling of pain when lying triumphs his rational duty to tell the lies. Aristotle resolves this contradiction by saying that it is only incontinent to abide by “shameful pleasures” (1151b, 24), so perhaps virtuous feelings, like wanting to tell the truth, can serve as justifiable reason.(122 words)|@@.hly Note that this is in the section "Puzzles about Continence" and that Aristotle is following up on implications of Socrates' view... which he ends up rejecting!@@|
<<<.dark
“He acquires the concept of himself not a priori but empirically”.
<<< (Kant, 451)
<<<.moo
The final part of Kant’s writing transitions to the concepts of freedom, will and autonomy. The idea of freedom is presented as a priori, not resulting from experience. However, it also seems that those with free will are those who understand morality and acknowledge that they have this freedom. Rational beings think of themselves as free. How do we reconcile these two ideas? Doesn’t it take experience to recognize our own free will, making it empirical rather than a priori? I think that Kant might argue that freedom as a concept is always in existence, regardless of experience, but that a rational person must recognize the free will in order for it to be utilized. (115 words)
<<<
How well do EXISTING moral theories address our interaction with non-human beings and our environment?
|>|!Moral theory <br>(click to show its standard position on animals):|!Can it be adapted? |
|>|deontology ([[Kant]]'s theory): <<strex "Only deliberate reasoners have moral status" "…" "">>|Moral status COULD extend to wider range of "agents"<br>if moral dignity and respect were not <br>restricted to rationally deliberate beings. (Regan)|
|>|utilitarianism ([[J S Mill]]'s theory):<<strex "All sentient beings matter, at least in theory, though we have not yet fully associated their interests with our own.">>|We would need to engage actively in revealing the plight of animals, <br> especially those exploited for human consumption and industry. (Singer)|
|>|virtue ethics ([[Aristotle]]'s theory):<<strex "Other animals each have proper //telos// (function / end), but there is no reason for humans to concern themselves with helping non-human beings achieve their version of //eudaimonia//">>|A virtue-oriented theory COULD emphasize conditions <br>that promote or inhibit ecological flourishing<br> and theorize about the human "virtues" <br> related to proper interaction with non-humans...<br>(Leopold, Sandler, Carson)|
Sinéad O'Connor, from "I do not want what I haven't got" album
"""
God grant me the serenity to accept the things I can not change
Courage to change the things I can
And the wisdom to know the difference...
I am not like I was before
I thought that nothing would change me
I was not listening anymore
Still you continued to affect me
I was not thinking anymore
Although I said I still was
I'd said "I don't want any more"
Because of bad experience
But now I feel so different
I feel so different
I feel so different
I have not seen freedom before
And I did not expect to
Don't let me forget now I'm here
Help me to help you to behold you
I started off with many friends
And we spent a long time talking
I thought they meant every word they said
But like everyone else they were stalling
And now they seem so different
They seem so different…
They seem so different
I should have hatred for you
But I do not have any
And I have always loved you
Oh you have taught me plenty
The whole time I'd never seen
All you had spread before me
The whole time I'd never seen
All I'd need was inside me
Now I feel so different
I feel so different
I feel so different
I feel so different
I feel so different
""
[img width=20% class="img-right"[|https://www.dropbox.com/s/3suk7mrgr76ab73/filemaker_on_old_mac.jpg?raw=1]] ''[[I|Elise Springer]] am a data nerd'', raised under the same roof as FileMaker ([[in the early 80s|http://www.philosophyoffilemaker.com/filemaker-history-64]] starting when GUI-oriented computers themselves were in their infancy, and FileMaker was called Nutshell, by Nashoba Systems, Inc).
Even in a field like philosophy, a great deal of what we need to keep track of has data structure. My library of books, plus excerpted passages and associated comments from all those books, motivated my first forays into database design.
In 2003, I came up with a rather convoluted pedagogical innovation: to encourage close reading and reflection prior to class, I set up challenge questions for each reading (to be worked-through in groups at the beginning of class). I announced that at exam time, each student would receive a customized exam, based on how well that student participated in each in-class challenge.
This scheme required a database to track the student's in-class work, and to zip together customized exams tailored to each student's details. (That first year, I had 42 students, 12 sessions per exam, one "bullseye" and one "default" question for each session, depending on in-class results... These exams were not going to be made on a word processor!)
The <<tag opening_questions>> shown on this site are all selected from the FileMaker database of hundreds of similarly-formatted questions (and answers, and answer explanations) developed over the intervening years.
A FileMaker Pro calculation churns these question-answer sets out with exactly the formatting needed to display properly with Shiraz's details widget. (The widget syntax isn't difficult! But since the questions were already in a database, using the database to dress the content up properly results in flexibility if and when I decide to make adjustments to the presentation layer.)
Please choose among the following options. Any of these may be completed as take-home prompts (see details below) or as in-class written essays (in which case there is no word limit).
|''A. Non-human concerns:''<br>Illustrate how two influential moral theories center on human concerns. To what degree might those theories be extended or interpreted so as to apply significantly to our treatment of certain non-human beings? If there are limits to their ability to illuminate non-human concerns, do these limits also reflect limitations in how the theory handles certain human concerns? Which author(s) come closest to an adequate moral stance toward non-human beings, and why? Discuss at least four authors, including at least one from prior to the midterm. Integrate evaluative remarks along the way.|
|''B. Development:''<br>Several of our authors are interested in how moral ideas develop over time — either over the lifetime of an individual and/or over historical time. Discuss several accounts of moral change, including critical discussion of when and how to portray change with positive terms such as "progress," "growth," "learning," or "creativity". Under what conditions should these authors see change as not progress? Along the way comment on what is most valuable about these accounts, and which aspects we ought to challenge. Discuss at least four authors, including at least one from prior to the midterm. |
|''C. Re-interpretations:''<br>What looks admirable from one perspective may look dangerous or foolish from another. Several of our authors encourage us to look differently at a familiar moral claim or ideal, suspecting that it came about for dubious reasons or serves questionable functions in practice. (Alternately, there may be negatively-charged notions that we ought to reconsider in a more positive light.) Consider several such accounts — why they matter, what we can learn from them, and their limitations. Discuss at least four authors, referencing at least one from prior to the midterm. |
~TAKE-HOME OPTION: You may use a word-processor to type your essay, and then print and bring to our midterm session. Time available to complete the non-essay portion of the exam will be reduced to 90 minutes if you choose this option. More details:
# Set aside up to ''90 minutes''. Note your start time and end time.
# ''Clear your desktop''. Ensure that texts, notes, conversation and online resources (etc.) are not available to you while you write. Your writing should be entirely based on what you have learned through study, and should be comparable to what someone might write out by hand in a classroom exam session. (You may use spell-check functions and cut/paste editing features, but no further electronic functions such as dictionary or thesaurus.)
# Stick to a limit of ''800 words'', trimming your essay, if needed, before the end of your 90-minute time interval. (Make sure to structure your essay and include some big-picture perspective, rather than hurrying to fill the page.)
# ''Print'' your document (on a single sheet if at all possible, using back/front printing if needed), including your start-time and end-time, date of work completed, and ''~WesID'' at the top, but NOT your name. (I grade these anonymously.) Bring your printed essay to the final exam session.
# During the exam, on a separate ''Honor Pledge'' sheet, I'll ask you to sign ("No Aid, No Violation") with your name and ~WesID. (I'll have index cards at the exam for this purpose, so you won't need to worry about bringing this.)
!Welcome!
!! Please grab a syllabus packet (4 sheets) at front table.
!! Please find your 4-5 person discussion group (see name lists), and introduce yourselves to each other.
(If you're not officially enrolled, find other non-enrolled students, and meet as a group.)
"""
¶1 Some ascribe everything to self-love, regretting that human nature is too weak to follow something more noble.
¶2 No matter how we flatter ourselves about our moral value, some secret impulse of self-love may explain our actions.
¶3 Even if it is never actualized, we must emphasize that it's clear what reason commands (just as we may lament not finding true friends, but know what they must be like).
¶4 Moral law holds for all rational beings, so it cannot be derived from experiences unique to human nature.
¶5 Every supposed example of morality held up for imitation must first be examined by the light of reason's ideals.
¶6 It should be obviously worthwhile to set out the pure a priori principles (though popular morality seems more attractive to many).
¶7 Returning to popular-level discussion is good -- but only after getting principles clear (otherwise one gets a mish-mash)
¶8 Popular accounts of morality mix human nature, perfection, happines, feeling, fear of God, etc.; but we must attempt pure practical philosophy (metaphysic of morals).
¶9 Reflection on such a pure morality can have positive influence more powerful than other incentives (while mixed moral philosophy causes wavering).
¶10 Tho' morals require anthropology to be applied, they must first be understood as pure philosophy.
¶11 Here we switch from popular moral philosophy (which gropes about) to metaphysics; we must start with the practical faculty of reason, finding where duty emerges.
"""
"""
¶1. The Will is a kind of causality… Freedom is independence from alien causes.
Natural necessity is property of the rest of nature; each thing is liable to outside causes.
¶2. The foregoing explanation of freedom is negative…
Freedom is certainly not lawlessness. (causality requires lawlikeness, otherwise it’s not cause, but randomness)
Freedom, then, is autonomy. (The will is a law to itself.) [Or, freedom=rational necessity, we’ll see]
¶3. Therefore if freedom of the will is presupposed, morality… follows…
The principle of morality is still synthetic, though. (cannot be proved by mere analysis)
Here’s the principle: The maxim of a good will… can have itself as content when extended universally.
To make it follow, we need to add the assumption of freedom.
¶4.Freedom must be Presupposed as a Property of the Will of All Rational Beings
Trying to get an empirical proof that humans are free is impossible, and not enough anyway.
(If humans are moral for some other reason than being rational, then there could be multiple “species” of rational beings, some of which could get out of it…)
PREMISE: We must necessarily attribute freedom to any will (any application of reason to practice)
The idea of applying reasoning to practice implies that the will is able to do something by its own power, rather than just being manipulated from outside. “Reason MUST regard itself as the author of its principles…”
[Note: Kant can’t prove that any of us are free, but that’s because he can’t prove we think of ourselves as causing our own actions. But he appeals to your intuitions here: don’t you determine your actions? Or, don’t you find that’s impossible for you to think of yourself as doing anything other than deciding and choosing?]
¶5. Concerning the Interest Attached to the Ideas of Morality [this paragraph is mostly summary]
¶6. But why should I subject myself to this principle…?
The “ought” of the categorical imperative is properly a would… what we would do insofar as we are (or were?) rational. But there are other forces acting on us, other inclinations.
¶7. Freedom, moral law, autonomy then seem to come to the same thing.
But why suppose that these concepts actually apply?
How do we come to believe that our worth lies in acting this way?
¶8. Indeed, we are capable of being motivated by worthiness (rather than just happiness). [450]
We do divorce ourselves from empirical interest, but don’t yet discern how that’s possible.
¶9. One must frankly admit… a sort of circle… among concepts of freedom, self-legislation, and autonomy.
¶10. However, one recourse still remains open…
Notice the difference between seeing self as a priori efficient cause
and coming to think of self as the cause in virtue of what we perceive through our senses.
¶11. No subtle reflection is required… to see that what we grasp in experience are always appearances,
that the REALITY of a think is something that remains unknown, but that we must assume exists.
There is a distinction between a world of sense and a world of understanding:
We have sensations and perceptions about ourselves (including “inner perceptions,”
yet we must also posit a substantial self “in there,” the “me (mind/cause)” behind all the perceptions.
¶12. Sometimes understanding tends to want to think of this deeper reality as also perceivable, but no.
¶13. While all understanding does is to organize our sense-perceptions by means of rules,
What REASON does, beyond that, is also to grasp the very difference between understanding & sense.
¶14. Reason recognizes itself as belonging to world of understanding, despite perceiving 2 kinds of causality.
¶15. If reason insists on its own causality, that will be DIFFERENT from the natural causes other things obey.
¶16. The appearance of circular reasoning has been removed; to see self as free is to see it as able to transcend physical causality, insofar as we understand ourselves as intelligible at all, we see ourselves as autonomous.
"""
Acme, Antic, Athiti, Barlow, Barlow Condensed, Barlow Semi Condensed, Belleza, Bentham, Cabin, Cabin Condensed, Cagliostro, Cantarell, DM Sans, DM Serif Text, Dosis, Encode Sans [plus variants]
Farsan, Fira Sans, Forum, Gafata, Homenaje, Imprima, KoHo, Martel Sans, Molengo, Noto Sans. Ramabhadra, Ruluko, Ubuntu
Philosopher
Hand-ish:
Dekko, Delius, Didact Gothic, Handlee, Kalam
<link href='https://fonts.googleapis.com/css?family=ACTIVE FONT' rel='stylesheet'>
<style>
body {
font-family: 'Kalam';font-size: 22px;
}
</style>
<body>
<hr>
<h1>Kalam</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<p>123456790… ABCDEFGHIJKLMNOPQRSTUVWXYZ… abcdefghijklmnopqrstuvwxyz</p>
</body>
<hr>
<style>
.st2 {font-family: 'Encode Sans';}
.st3 {font-family: 'Acme';}
.st4 {font-family: 'Belleza';}
.st5 {font-family: 'Barlow';}
.st6 {font-family: 'Cabin';}
.st7 {font-family: 'Cagliostro';}
.st8 {font-family: 'Kalam';}
.st9 {font-family: 'Dosis';}
.st0 {font-family: 'Ubuntu';}
</style>
<h1 class="st2">'Encode Sans' 1234567890 ABC abc</h1><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<p>123456790</p>
<p>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p>
<p>abcdefghijklmnopqrstuvwxyz</p>
<hr>
<h1 class="st3">'Acme' 1234567890 ABC abc</h1>
<p class="st3">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<hr>
<h2 class="st4">'Belleza' 1234567890 ABC abc</h2>
<h2 class="st5">'Barlow' 1234567890 ABC abc</h2>
<h2 class="st6">'Cabin' 1234567890 ABC abc</h2>
<h2 class="st7">'Cagliostro' 1234567890 ABC abc</h2>
<h2 class="st8">'Kalam' 1234567890 ABC abc</h2>
<h2 class="st9">'Dosis' 1234567890 ABC abc</h2>
<link href='https://fonts.googleapis.com/css?family='Dekko' rel='stylesheet'><link href='https://fonts.googleapis.com/css?family=Delius' rel='stylesheet'><link href='https://fonts.googleapis.com/css?family=Didact Gothic' rel='stylesheet'><link href='https://fonts.googleapis.com/css?family=Handlee' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Kalam' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Encode Sans' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Acme' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Belleza' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Barlow' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cabin' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cagliostro' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=DM Sans' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Dosis' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Barlow' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cabin' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Philosopher' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Ubuntu' rel='stylesheet'>
<pre>.graph .graph-pie { /* center graph as default */
position:relative;
margin: 3em 0 2em 50%;
transform: translateX(-50%);
}
.pie {
height:inherit;
position:absolute;
<<vendors "-origin" center center>>
/* background:rgba(200, 200, 200, .1); faint indication for empty area */
}
.slice {
position:inherit;
width:inherit;
height:inherit;
<<vendors "-origin" left center>>
overflow:hidden;
}
.slice:before {
position:inherit;
height:inherit;
content:""; /* required. But also possible to insert something here */
<<vendors "-origin" right center>>
/* opacity:.8; fainter colours */
}
.label {
position:absolute;
white-space: nowrap;
text-align:center;
background:white; padding: 0px 3px; line-height:1.1;
border-radius:2px; border:1px solid lightgray;
right:75%;
top:-20%; /* magic numbers to position the labels. */
}
p .pie:before { /* extra comment via css "content" attribute */
color:red; position:absolute;
z-index:2;
background:white;
line-height:1em;
padding:2px 5px;
border-radius:5px
}
/* useful for testing stuff
.slice { overflow:visible; }
.slice:before { outline:2px solid red; margin-top:-1em;
}
*/
</pre>
\define lineheight() {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}}
\define graph-field(field) {{$(sourcetid)$!!$(template)$$(-variant)$-$field$}}
\define graph-accessory(field)
<div class="graph-$field$ $(template)$-$field$ $(template)$$(-variant)$-$field$">
<<graph-field $field$>>
</div>
\end
\define =(a, hundred, b, op:"/", dec) <<rpn "$($a$)$$hundred$" "$($b$)$" "$op$" "$dec$">>
\define calc-x-step() <<rpn 100 $(amount)$ / >>
\define calc-total(valuefield:"y") <<totalsum """$(list)$""" $valuefield$ >>
\define calc-accsum() <<totalsum """$(accumulated)$""" y>>
\define accsum0() <<rpn $(accsum)$ $(y)$ - >>
\define calc-accshare() <$macrocall $name=rpn a=<<rpn $(accsum)$ 100 *>> b=$(total)$ operation="/" />
\define accshare0() <<rpn $(accshare)$ $(y-of-total)$ - >>
\define theitem()
<div class="$(tid)$ $(template)$ $(variant)$ $(template)$-$(index)$
$(template)$$(-variant)$ $(template)$$(-variant)$-$(index)$">
<$set name=template-to-use
filter=<<$(template)$$(-variant)$>>
value=<<$(template)$$(-variant)$>>
emptyValue=<<$(template)$>>
>
<<template-to-use>>
</$set>
</div>
<style>
<<$(template)$-varstyles>>
<<$(template)$$(-variant)$-varstyles>>
</style>
\end
\define itm() item
\define items(currentlist, accumulated)
<$set name=name value={{{ $currentlist$ +[first[]] }}} >
<$set name=index0 value={{{ [enlist<accumulated>count[]] }}} >
<$set name=accumulated filter="[enlist[$accumulated$]] [<name>]" >
<$wikify name=index text={{{ [enlist<accumulated>count[]] }}} >
<$wikify name=-index text={{{ [<index>] +[addprefix[-]] }}} >
<$set name=item filter=" $(variant)$"
value="$(tid)$.$(template)$-$(variant)$<<-index>>"
emptyValue="$(tid)$.$(template)$<<-index>>" >
<$wikify name=acclist text="{{{ [enlist[$accumulated$]] [<name>]}}}" >
<$wikify name=y text={{{ $currentlist$ +[nth[1]get[y]] }}} >
<$set name=x filter={{{ $currentlist$ +[nth[1]get[x]] }}}
emptyValue="""<<= x-step "" index *>>""" >
<$wikify name=x text=<<x>>>
<$wikify name=y2 text={{{ $currentlist$ +[nth[2]get[y]] }}} >
<$wikify name=x2 text={{{ $currentlist$ +[nth[2]get[x]] }}} >
<$wikify name=accsum text="<<calc-accsum>>" >
<$wikify name=accshare text=<<calc-accshare>> >
<$wikify name=y-of-total text="<<= y 00 total>>" >
<$wikify name=y-of-max text="<<= y 00 max>>" >
<$wikify name=x-of-max text="<<= x 00 x-max>>" >
<$set name=responsivelength value=<<csscalc>>>
<<theitem>>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$wikify>
<$set name="rest" filter="$currentlist$ +[rest[]]">
<$list filter="[enlist<rest>first[]]">
<$macrocall $name=items
currentlist=<<rest>> accumulated=<<accumulated>> template="$template$" />
</$list>
</$set>
</$set>
</$set>
</$set>
\end
\define thegraph()
<$set name=graph filter=" $(variant)$"
value="$(tid)$.graph-$(template)$-$(variant)$"
emptyValue="$(tid)$.graph-$(template)$" >
<div class="graph" >
<div class="graph-inner graph-$(template)$ graph-$(template)$$(-variant)$ $(tid)$">
<<graph-accessory header>>
<<items "$(list)$">>
<<graph-accessory footer>>
</div>
</div>
<style>
.<<graph>> {
max-width:calc(100% - $(indent)$);
margin-left:$(indent)$;
}
</style>
</$set>
\end
\define graph(list, template, variant)
<$wikify name=sourcetid text={{!!title}} >
<$wikify name=template text="$template$" >
<$wikify name=tid text="tid<<qualify>>" >
<$wikify name=variant text="$variant$" >
<$set name=-variant filter=" $variant$" value="-$variant$" emptyValue="" >
<$set name=.variant filter=" $variant$" value=".$variant$" emptyValue="" >
<$wikify name=defaultheight text={{Graph/_Core/Stylesheet!!defaultheight}} >
<$set name=list filter="""$list$""" >
<$wikify name=total text=<<calc-total>> >
<$wikify name=x-total text=<<calc-total x>> >
<$wikify name=amount text={{{ $list$ +[count[]] }}} >
<$wikify name=amount- text={{{ $list$ +[rest[]count[]] }}} >
<$set name=max value={{{ $list$ +[get[y]] +[nsort[]last[]] }}} >
<$set name=min value={{{ $list$ +[get[y]] +[nsort[]first[]] }}} >
<$set name=x-max value={{{ $list$ +[get[x]] +[nsort[]last[]] }}} >
<$wikify name=x-step text=<<calc-x-step>> >
<$wikify name=indent text=<<graph-field indent>> >
<$wikify name=lineheight text=<<lineheight>> >
<<thegraph>>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$set>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
</$set>
</$wikify>
</$set>
</$set>
</$wikify>
</$wikify>
</$wikify>
</$wikify>
\end
\define csscalc(value:"y") calc($($value$)$ / $(total)$ * 100%)
<pre>.graph {
position:relative;
}
.graph-inner {
position:absolute;
width:100%;
height:{{Graph/_Core/Stylesheet!!defaultheight}}; /* default height for most graphs */
display:flex;
flex-direction: column;
justify-content: space-between;
}
p > .graph { /* remove margin added by p (!?) */
margin-bottom:-1em;
}
/* Header and footer */
.graph-header {
position:absolute;
margin-top:-2em;
width:100%;
text-align:center;
font-size:1.5rem;
}
.graph-footer {
position:absolute;
bottom:0;
margin-bottom:-2rem;
width:100%;
text-align:center;
}
.graph-accessory { position:absolute;
}
td .graph-inner {
position:relative;
display:table-cell;
width:100vw;
}
/* Graphs in tables */
.graphtable { width:100%;
}
.graphtable, .graphtable tr, .graphtable td { border:0; padding:0;
}
.graphtable td {
/* width:0px; prevent table cells from autowidening */
vertical-align:bottom;
}
/* experimental
.xgraphtable td:nth-child(2) {
width:100%;
}
*/
</pre>
\define elementlabels(content, bottom:"1em")
/******
Common style defs for labels in graphs.
When called, in a template, this is already surrounded by "style" html tags.
Note units.
*******/
background:lightgreen;
padding:5px;
content:"$content$";
position:absolute;
bottom:$bottom$;
z-index:2;
border-radius:.9rem;
text-align:center;
min-width:1rem; height:1rem;
display:inline-block;
line-height:1rem;
border:1px solid;
\end
\define avg(dec:"1") <<rpn $(total)$ $(amount)$ / $dec$>>
\define accumulate() <<rpn $(value)$ $(tempsum)$ +>>
\define totalsum(list, valuefield:"title", tempsum:"0")
<$wikify name=tempsum text=$tempsum$ >
<$list filter="$list$ +[first[]]" >
<$set name=value filter={{!!$valuefield$}} emptyValue="0">
<$wikify name=value text=<<value>>>
<$set name=rest filter="$list$ +[rest[]]" >
<$macrocall $name=totalsum list=<<rest>>
valuefield="$valuefield$" tempsum=<<accumulate>>
/>
</$set>
</$wikify>
</$set>
</$list>
<$list filter="$list$ +[count[]prefix[0]]">$tempsum$</$list>
</$wikify>
\end
\define vendors(prop, arg1, arg2)
-moz-transform$prop$:$arg1$ $arg2$;
-ms-transform$prop$:$arg1$ $arg2$;
-webkit-transform$prop$:$arg1$ $arg2$;
-o-transform$prop$:$arg1$ $arg2$;
transform:$arg1$ $arg2$;
\end
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Greek/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>
<div class="tc-menu-list-item">
<$view field="type"/>
<$list filter="[type{!!type}!is[system]sort[title]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}><$view field="title"/></$link>
</div>
</$list>
</div>
</$list>
[img[gruen|https://wesfiles.wesleyan.edu/home/espringer/web/images/GruenDiagram2.png]]
;TWO broad strategies for bringing moral theory to bear on environmental problems:
:*Apply familiar theoretical tools in novel ways.
:*Argue for the development of new (or neglected) moral concepts.
;"tragedy of the commons":
:a conceptual tool of modeling and diagnosis that belongs to the broad tradition of game theory.
;Lessons brought home by "prisoners' dilemma" tradition:
:Under certain circumstances, it is rational for //each// person to make their individual choices in ways that //add up// to poor collective outcomes.
:If there is a solution to "how best to act" in such scenarios, it involves changing the background conditions that cause the dilemma.
Callicott's addition:
If what you're personally interested in is something like "environmental moral status", then you're in another kind of prisoners' dilemma. If all environmentally-aware individuals act to minimize their *individual* environmental impact, the overall environmental outcome is worse.
So again, with Hardin: Environmental problems require solutions at the level of policy.
From [[Wesleyan Student Handbook:|http://www.wesleyan.edu/studenthandbook/StudentHandbook09-10.pdf]]
A university is an elaborate and in some ways fragile institution that exists to provide a ''free and favorable environment for teaching and learning.'' The university community, therefore, has a need to be able to hold its members accountable for actions that damage the environment, infringe upon the rights of other individuals, or otherwise hinder the community in achieving its purpose.
RESPONSIBILITY OF THE UNIVERSITY TO ITS MEMBERS
Protection from discrimination and abuse:
# Wesleyan University prohibits discrimination against any person on the basis of race, color, religion, sexual orientation, gender, age, disability, national or ethnic origin, veteran status, or any other basis protected by local, state or federal law in any activity administered by the University.
# Also ''prohibited'' is any form of ''discriminatory harassment'' performed by a member or members of the University against any other individual or groups. Discriminatory harassment may include any action or statement ''intended to insult, stigmatize, or degrade an individual or group'' on the basis of the categories of discrimination listed in 2a.
# Sexual misconduct, including, but not limited to, sexual harassment, coercion, and threats or use of force, is prohibited.
...
7. The right to abstain from performing acts and the ''right to be protected against actions that may be harmful to the health or emotional stability of the individual'' or that degrade the individual or infringe upon his/her personal dignity.
THE CODE OF NON-ACADEMIC CONDUCT
Harassment and abuse, intentionally directed toward individuals or groups, may include at least the following forms: the intentional use or threat of physical violence, coercion, intimidation, and verbal harassment and abuse. Wesleyan University’s commitment to nondiscrimination means that intentional discriminatory harassment may be punished more severely than nondiscriminatory or unintentional forms of harassment.
Students and student organizations should be free to examine and discuss all questions of interest to them and to express opinions publicly and privately. They should always be free to support causes by orderly means that do not disrupt the regular and essential operation of the institution. At the same time, it should be made clear to the academic and the larger community that in their public expressions or demonstrations, students or student organizations speak only for themselves.<br>—
[[Student Handbook Appendix A, IV(B)|http://www.wesleyan.edu/studenthandbook/3_joint_statement.html]]
!!!!*[Bennett on chalking at Wes]
<<<
But regulating the language of chalking would constitute a ''speech code,'' Mr. Bennett said in an e-mail message to students. That would put the university in the position of acting as a de facto censor of communal speech.
<<<
: German Idealist philosopher (1770-1831) who developed a systematic account of the world as a systematic and dialectical progression of ideas.
<<<
Marx was convinced that, with adjustments and reinterpretations, the structure and organizing concepts of Hegelian philosophy could withstand this [Feuerbach's] radical shift from a form of idealism to a form of materialism.
<<< (editor's intro., "Morality as Ideology")
; [[Hegel]]...
: took Kant's "Copernican" philosophy of understanding as a point of departure, and added [[historicism]].
; Kant's "categories of understanding"
|!Quantity |(unity, plurality, and totality)|
|!Quality|(reality, negation, limitation)|
|!Relation|(substance - accident, cause - effect, reciprocity)|
|!Modality|(possibility, existence, necessity)|
Hegel claims, in his critical response to Kant, that the concepts that structure our thought evolve over time, and through a process of dialectic (dialogue, development of voices from one another).
When we read Marx in the context of moral theory, this is the central point: that the concepts that structure our //moral// thought might be seen as contingent, as emerging because of historical developments, and as likely to be replaced through further change.
>In Europe, a woman was near death from a special kind of cancer. There was one drug that the doctors thought might save her. It was a form of radium that a druggist in the same town had recently discovered. The drug was expensive to make, but the druggist was charging ten times what the drug cost him to make. He paid $400 for the radium and charged $4,000 for a small dose of the drug. The sick woman's husband, Heinz, went to everyone he knew to borrow the money and tried every legal means, but he could only get together about $2,000, which is half of what it cost. He told the druggist that his wife was dying, and asked him to sell it cheaper or let him pay later. But the druggist said, "No, I discovered the drug and I'm going to make money from it." So, having tried every legal means, Heinz gets desperate and considers breaking into the man's store to steal the drug for his wife.
!!INTERVIEWER asks a series of questions, often referred to as the "Heinz [[dilemma]]":
;1. Should Heinz steal the drug?
: 1a. Why or why not?
;2. Is it actually right or wrong for him to steal the drug?
: 2a. Why is it right or wrong?
;3. Does Heinz have a duty or obligation to steal the drug?
: 3a. Why or why not?
;4. If Heinz doesn't love his wife, should he steal the drug for her? Does it make a difference in what Heinz should do whether or not he loves his wife?
: 4a. Why or why not?
;5. Suppose the person dying is not his wife but a stranger. Should Heinz steal the drug for the stranger?
: 5a. Why or why not?
;6. Suppose it's a pet animal he loves. should Heinz steal to save the pet animal?
: 6a. Why or why not?
;7. Is it important for people to do everything they can to save another's life?
: 7a. Why or why not?
;8. It is against the law for Heinz to steal. Does that make it morally wrong?
: 8a. Why or why not?
;9. In general, should people try to do everything they can to obey the law?
: 9a. Why or why not?
: 9b. How does this apply to what Heinz should do?
;10. In thinking back over the dilemma, what would you say is the most responsible thing for Heinz to do?
: 10a. Why?
Here's some text.
Abstract: This is the summary.
Also, there's other stuff...
[img[expanding circles|https://miro.medium.com/max/1242/1*Mb4VH_5Nfni72Z3VgGIODQ.png]]
Key elements of this site:
"""
<<tag welcome>>
<<tag syllabus>>
<<tag units>>
<<tag sessions>>
<<tag textbooks>>
<<tag pdf-packet>>
<<tag handouts>>
<<tag 'opening_questions'>>
<<tag 'team-results'>>
<<tag assignments>>
<<tag microessays>>
<<tag definitions>>
<<tag philosophers>>
Wesleyan’s Honor Code:
!!''I. INTRODUCTION''
:In an academic community, learning and evaluation require explicit and shared agreements on intellectual honesty and academic integrity. At Wesleyan, these values and the standards of academic conduct they imply constitute the Honor Code, the affirmation of which is a condition of enrollment. Adjudication of alleged violations of the honor code issue from an Honor Board, comprised of students. The board ensures consistent interpretation and sanctions for violations while serving as a constant reminder of communal principles. Violations against the code are violations against the community, the ultimate source of the principles articulated below. Accordingly, upon witnessing or otherwise becoming aware of an apparent violation, members of the community have an obligation to report the violation or to discuss it with the appropriate faculty member, a member of the Honor Board, or the Vice President for Student Affairs.
!!''II. THE HONOR CODE''
!!!''A. The Pledge''
:The pledge is an affirmation of each student's agreement to adhere to the standards of academic integrity set by Wesleyan's Honor Code. In order to promote constant awareness of the Honor Code, faculty are encouraged to ask students to sign the pledge when submitting any academic exercise for evaluation. The pledges read as follows:
!!!''For papers and similar written work:''
:In accordance with the Honor Code, I affirm that this work is my own and all content taken from other sources has been properly acknowledged.
!!!''For tests and other academic exercises:''
:In accordance with the Honor Code, I affirm that this work has been completed without improper assistance.
<<<.dark
A certain argument, then, concludes that foolishness combined with incontinence is virtue. For incontinence makes someone act contrary to what he supposes [is right]; but since he supposes that good things are bad and that it is wrong to do them, he will do the good actions, not the bad.”
<<<Aristotle Book VII, 1146a 25
<<<.moo
@@.hly Aristotle seems to undermine much of his argument with this statement. By saying this, he is supposing that adding two wrongs together, incontinence and foolishness, the byproduct is virtue. The end result may be the opposite of the wrong the person intended, but that person is still incontinent, and cannot be virtuous no matter how crazy. Aristotle’s argument seems to create a world where one can be virtuous no matter how heinous, as long as one tacks on craziness to reverse good and bad. Isn’t one of the main reasons incontinence is better than intemperance because of the intrinsic knowledge of good reason?@@ @@.hlb Aristotle may respond the result is not virtue, but it is better than normal incontinence.@@
<<<
Aristotle does indeed recognize that this result would be [[paradoxical|paradox]]. Let's look at context, though! Aristotle is discussing an [[argument]] that he does not endorse.
Which of the following claims (circle any number) prompts agreement among your group?
//Note, for most purposes, "ethics" and "morality" will count as synonymous terms in this course.//
@@.ind
(a) Morality ultimately (consciously or unconsciously) depends on religion or faith for its motivation.
(b) Attitudes about what is right and wrong are based in emotions and feelings, and people cannot convince one another to share these feelings.
(c) A person cannot recognize good moral principles in the complete absence of good role models or teachers.
(d) Morality demands that we attend to those in greatest need, who may not be those we know and love.
(e) Morality sometimes conflicts pretty directly with human nature.
(f) Moral ideas are always reflections of a culture's power-structure.
@@
In the space below, please ''comment'' briefly on the questions about which there was ''greatest controversy'' among your group, and why.
<<<.fm
A famous version of the suggestion that genuine [[akrasia]] cannot exist is found in [[Socrates]], as portrayed by [[Plato]] in the //Protagoras//. Socrates argues that it is impossible for a person’s knowledge of what is best to be overcome by such things as the desire for pleasure – that one cannot choose a course of action which one knows full well to be less good than some alternative known to be available. Anyone who chooses to do something which is in fact worse than something they know they could have done instead, must, according to Socrates, have wrongly judged the relative values of the actions.
<<< [[Routledge Encyclopedia|https://www.rep.routledge.com/articles/thematic/akrasia/v-1]]
[img width=25% class=img-right [Mill|https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/John_Stuart_Mill_by_London_Stereoscopic_Company%2C_c1870.jpg/1200px-John_Stuart_Mill_by_London_Stereoscopic_Company%2C_c1870.jpg]]
John Stuart Mill (1806-1873) was a British [[empiricist|empiricism]] philosopher, political economist, and reformer. His philosophical work included not only ethics, but also psychology, scientific method, and political theory.
Having inherited an ambitious vision and agenda from his father (James Mill) and from Jeremy [[Bentham]], J. S. Mill represents the public and philosophical pinnacle of the [[utilitarian|utilitarianism]] reformist movement. Though he wrote in many areas, including scientific method, his two most widely-read philosophical works are //[[Utilitarianism|Mill, Utilitarianism]]// in moral philosophy and //On Liberty// in political theory.
{
"title": "First Dramatic Tiddler",
"text": "Text of first tiddler",
"tags": "one two [[t h r e e]]"
},{
"title": "Second Dramatic Tiddler",
"text": "Text of second tiddler",
"modified": "20150216171751154"
}
:[img width=30% class=img-right [Kant|http://www.philosophers.co.uk/immanuel-kant.jpg]]Immanuel Kant (1724-1804) was a German-speaking Prussian thinker, and the first philosopher appointed to a professional academic position //as// a philosopher (rather than as, say, a theologian or scientist). His overall body of work focuses on the nature and importance of reason. Hence, he can be considered a [[rationalist|rationalism]], yet he was systematically interested in recognizing the limits of what can be known. For this particular emphasis on recognizing the limits of what can be known or understood, [[Kant]] used the terms "critique" and [[critical philosophy]].
<hr>
See also [[Kant1]], [[Kant2]], [[Kant3]], [[Korsgaard]]
!!!for [[Hegel]]:
|!Subject|vs|!Object| contradiction / opposition <br>(Taken from [[Kant]], and historicized) |
|!Thesis|vs| !Antithesis| are eventually resolved (according to [[Hegel]]) into... |
|>|>| !Synthesis | the ''Absolute'' (ideal) perspective<br> within which contradiction is resolved |
|alternating-rows|k
!!!for [[Existentialists|existentialism]]:
The Absolute perspective is not possible;
human subjectivity, despite its tensions, must (always) be embraced.
|!Being|yet|!Not-being|"This tension is not overcome with some further synthesis" (p. 263)|
|alternating-rows|k
[img[Kant outline|https://www.dropbox.com/s/slmznpx152df36w/Kant_%C2%A71%C2%B6revised%20landscape%202019.png?raw=1]]
Kant (unlike [[Aristotle|Aristotle 1 (up to 1115a)]]), argues…
* //only// ''good will'' is "good without qualification"
* [[happiness]], meanwhile is //not// good in that ideal way.
<$details summary="First, what is a good will, on this account?">
@@.ol-alpha
* good will ''≠'' "intending //to be nice//"
* good will ''≠'' "strength in self-assertion"
* good will ...
** = reason properly applied to practical matters.
** = principles in action
** = lawfulness (respect for duty)
@@
</$details>
<$details summary="Kant says some surprisingly stern things about happiness and the role of our inclinations in moral life...">
<<<.fm
Suppose then the mind of this friend of mankind to be clouded over with his own sorrow so that all sympathy with the lot of others is extinguished, and suppose him still to have the power to benefit others in distress, even though he is not touched by their trouble because he is sufficiently absorbed with his own; and now ''suppose'' that, even though no inclination moves him any longer, ''he nevertheless tears himself from this deadly insensibility and performs the action without any inclination at all, but solely from duty—@@.hli then for the first time his action has genuine more worth@@.''
<<<398
</$details>
@@.triangle-left ''Q:'' So, when a person really ''//does not enjoy//'' doing the right thing — but does so anyway just because it's right — is that ''//ideal//'' on Kant's view?@@
[img class=img-left width=35% [https://www.dropbox.com/s/g35bxzxltk9pjgb/grimace.jpg?raw=1]]
@@.triangle-right ''A:'' There are two interpretations...@@
{{clear-both}}
<$details class=warning summary="Anti-happiness interpretation:">
Kant actually thinks that people's moral character is improved by unhappiness.
</$details>
<$details class=success summary="The epistemic interpretation:">
Only these cases — involving contrary inclination — can serve as clear //examples// of acting from [[duty]]; otherwise [[inclination]] offers the better explanation for action.
** Note, this is more of a [[charitable interpretation|principle of charity]]</$details>
@@.triangle-left ''Q:'' Which interpretation is correct?@@
@@.triangle-right ''A:'' Hint: Kant goes on to claim that //promoting// one's happiness is a kind of duty...@@
{{clear-both}}
<<<.fm
“the demands of morality are too easy for me. I
would eagerly do twice as much as they command. They only get
their prestige from the attractiveness of sin” [Maria von Herbert]…
<br><br>[It may look] as though moral credit depends on both the absence of
coinciding inclinations, such as sympathy; and the presence of opposing
inclinations, like misanthropy. If so, [Maria] Herbert is right: morality
depends on there being inclinations to defeat. She has anticipated
Schiller's complaint against Kant. An alternative reading, though,
might be that the issue is epistemological: the presence of opposing
inclinations helps us to //know// that we are acting for duty's sake.
<<< — Rae Langton, “Duty and Desolation” p. 495
Starting [[Unit C]]:
@@.triangle-right "Where are we? <br>Where have we come from? <br>Where are we going?"@@
{{clear-both}}
|                                        |!Ancient ethics|!Modern ethics|<br>⬅️ @@.hl <br>We are here. @@<br> <br><br>|
|<$details summary="rationalism ">[[rationalist|rationalism]] ethics: We should expect some kernel of moral understanding to come ''//directly from reason//'' — regardless of experience, culture, and learning.</$details>| [[Unit A]] <br> [[Plato]], [[Epictetus]] <br> @@.big ⇓@@ | @@.hl [[Unit C]]@@ <br> @@.hl [[Kant]]'s ethics of [[duty]] @@ <br> @@.big ⇓@@ |~|
|<$details summary="empiricism ">[[empiricist|empiricism]] ethics: The point of moral life, and the methods of learning to live well, can be understood by appeal to ''experience'', as [[Aristotle]] claimed...</$details>| [[Unit B]] @@.big ⇗@@ <br>[[Aristotle]]'s [[virtue ethics]] | [[Unit D]] <br> [[J S Mill]]'s [[utilitarianism]] |~|
|alternating-rows|k
|To situate [[Kant]]'s ethics vis-a-vis the other units on major ethical theories:|c
<$details class="fm" summary="393: [Ancient virtues] aren’t good without qualification">
<<<.fm
[Virtues of] Moderation in emotions and passions, self-control, and calm deliberation are not only good in many respects but even seem to constitute part of the intrinsic worth of a person. But they are far from being called good without qualification (however unconditionally they were commended by the ancients). For without the principles of good will, they can become extremely bad; the coolness of a villain makes him not only much more dangerous but also immediately more abominable in our eyes...
<<< 393
</$details>
<$details class="fm" summary="395.02: Organs are well adapted to ends.">
<<<.fm
In the natural constitution of an organized being... there be taken as a principle that in such a being no organ is to be found for any end unless it be the most fit and the best adapted for that end.
<<< 395.02
</$details>
<$details class="fm" summary="395.04: If happiness were the purpose of reason...">
<<<.fm
Now if that being’s preservation, welfare, or in a word its happiness, were the real end of nature in the case of a being having reason and will, then nature would have hit upon a very poor arrangement in having the reason of the creature carry out this purpose. For all the actions which such a creature has to perform with this purpose in view, and the whole rule of his conduct would have been prescribed much more exactly by instinct…
<<< 395.04
</$details>
<$details class="fm" summary="396: Reason has a more worthy purpose">
<<<.fm
There lies at the root of such judgments, rather, the idea that existence has another and much more worthy purpose, for which, and not for happiness, reason is quite properly intended, and which must, therefore, be regarded as the supreme condition to which the private purpose of men must, for the most part, defer.
<<< 396
</$details>
<$details class="fm" summary="397: Actions in accord with inclination, & with duty">
<<<.fm
[1] All actions already recognized as contrary to duty...<br>[2] those actions which are really in accordance with duty, yet to which men have no immediate inclination, but perform them because they are impelled thereto by some other inclination. ... to decide whether [it is] done from duty or from some selfish purpose is easy. <br>[3] where the action accords with duty and the subject has in addition an immediate inclination to do the action. <br>For example, that a dealer should not overcharge an inexperienced purchaser certainly accords with duty; and where there is much commerce, the prudent merchant does not overcharge but keeps to a fixed price for everyone. his own advantage required him to do it. He cannot, however, be assumed to have in addition [as in the third case] an immediate inclination toward his buyers...
<<< 397
</$details>
<$details class="fm" summary="398: Preserving one’s life from duty">
<<<.fm
On the other hand, to preserve one’s life is a duty; and, furthermore, everyone has also an immediate inclination to do so. But on this account the often anxious are taken by most men for it has no intrinsic worth, and the maxim of their action has no moral content. They preserve their lives, to be sure, in accord with duty, but not from duty. On the other hand, if adversity and hopeless sorrow have completely taken away the taste for life, if an unfortunate man, strong in soul and more indignant at his fate than despondent or dejected, wished for death and yet preserves his life without loving it—not from inclination or fear, but from duty—then his maxim indeed has a moral content.
<<< 398
</$details>
<$details class="fm" summary="398: Charity without sympathy">
<<<.fm
Suppose then the mind of this friend of mankind to be clouded over with his own sorrow so that all sympathy with the lot of others is extinguished, and suppose him still to have the power to benefit others in distress, even though he is not touched by their trouble because he is sufficiently absorbed with his own; and now suppose that, even though no inclination moves him any longer, he nevertheless tears himself from this deadly insensibility and performs the action without any inclination at all, but solely from duty—then for the first time his action has genuine more worth.
<<<398
</$details>
<$details class="fm" summary="399: LOVE: What scripture commands is not inclination">
<<<.fm
Undoubtedly in this way also are to be understood those passages of Scripture which command us to love our neighbor and even our enemy. For love as an inclination cannot be commanded; but beneficence from duty, when no inclination impels us and even when a natural an unconquerable aversion opposes such beneficence, is practical, and not pathological, love. Such love resides in the will and not in the propensities of feeling, in principles of action and not in tender sympathy; and only this practical love can be commanded.
<<< 399
</$details>
<$details class="fm" summary="399: To be beneficent where one can is a duty">
<<<.fm
To be beneficent where one can is a duty... not from inclination but from duty.
<<< 399
</$details>
<$details class="fm" summary="400: Third proposition">
<<<.fm
The third proposition...follows... : Duty is the necessity of an action done out of respect for the law. I can indeed have an inclination for an object as the effect of my proposed action; but I can never have respect for such an object, just because it is merely an effect and is not an activity of the will. I can have no respect for inclination as such, whether my own or that of another... Now an action done from duty must altogether exclude the influence of inclination and therewith every object of the will. Hence there is nothing left which can determine the will except objectively the law and subjectively pure respect for this practical law... the will can be subjectively determined by the maxim that I should follow such a law even even if all my inclinations are thereby thwarted.
<<< 400
</$details>
<$details class="fm" summary="401: Moral worth does not depend on effects, but on representing law.">
<<<.fm
Thus the moral worth of an action does not lie in the effect expected from it nor in any principle of action that needs to borrow its motive from this expected effect. For all these effects (agreeableness of one’s condition and even the furtherance of other people’s happiness) could have been brought about also through other causes and would not have required the will of a rational being, in which the highest and unconditioned good can alone be found. Therefore, the pre-eminent good which is called moral can consist in nothing but the representation of the law in itself...
<<< 401
</$details>
<$details class="fm" summary="402: What sort of law... if duty is not vain delusion.">
<<<.fm
But what sort of law can that be the thought of which must determine the will without reference to any expected effect, so that the will can be called absolutely good without qualification? Since I have deprived the will of every impulses that might arise for it from obeying any particular law, there is nothing left to serve the will as principle except the universal conformity of its actions to law as such, i.e., I should never act except in such a way that I can also will that my maxim should become a universal law. Here mere conformity to law as such without having as its basis any law determining particular actions) serves the will as principle and so much so serves it if duty is not to be a vain delusion and a chimerical concept.
<<< 402
</$details>
<$details class="fm" summary="402: Lying promise?">
<<<.fm
When I am in distress, may I make a promise with the intention of not keeping it? ... I clearly see that escape from some present difficulty by means of such a promise is not enough. In addition I must carefully consider whether from this lie there may later arise far greater inconvenience for me than from what I now try to escape. Furthermore, the consequences of my false promise are not easy to foresee, even with all my supposed cunning; loss of confidence in me might prove to be far more disadvantageous than the misfortune which I now try to avoid. The more prudent way might be to act according to a universal maxim and to make it a habit not to promise anything without intending to keep it. But that such a maxim is, nevertheless, always based on nothing but a fear of consequences becomes clear to me at once.
<<< 402.20
</$details>
;Nature as determinate mechanism:
:Newton’s Laws were published in 1687, and educated people by Kant’s time tended to accept the following:
;Material determinism:
*All matter in nature acts in ways that we can expect to explain (in theory) by causal mechanical principles.
*Human bodies are made of natural matter.
*Human bodies act in ways that we can expect to explain by causal mechanical principles.
The application of natural-science patterns of explanation to human action thus has led to a
''crisis for ideas of human moral responsibility.''
!!!Nature seems to be a realm of HETERONOMY
;HETERO-NOMY
:ruled by what's other/different
*What the billiard ball does depends on what things act on it.
*What my arm muscle does depends on what things act on it.
*What a neuron does depends on what things act on it.
!!!!Can human beings resist the causal determination of natural forces?
;AUTO-NOMY
:self-governing, self-ruling
In Kant's sense "autonomy" means FREEDOM, which also means GOOD WILL which also means MORAL PRINCIPLE
Human action = the domain of human CHOICE = Choosing things for REASONS = choosing on principles
!!!On the subject of moral duties, Kant would claim…
<$details state="!!accord1" summary="(a) that duties can never conflict in such a way that a person has no choice but to violate one duty or another." mode="custom" $state="aaa3">@@color:green; Yes. Outright catch-22 moral dilemmas are not possible. perfect duties are absolute prohibitions (to avoid a kind of action), while imperfect duties are positive responsibilities to be exercised according to discretion and good judgment. Perfect duties trump imperfect duties, and perfect duties cannot conflict with one another since they call for refraining from corrupt actions (rather than doing positive things like helping people live longer lives).@@</$details>
<$details state="!!accord2" summary="(b) that there is a duty never to kill." mode="custom" $state="aaa4">@@color:red;No... No, for two reasons: killing is not always intentional (one can accidentally kill); also, not all cases of intentional killing are cases of treating someone as a means -- though most surely are. Retributive capital punishment is acceptable to Kant; it is treating someone in accord with desert.@@</$details>
<$details state="!!accord3" summary="(c) that there is a perfect duty to tell the truth." mode="custom" $state="aaa5">@@color:red;No... Granted, in a loose and popular sense people treat “tell the truth” and “don’t lie” as equivalent. But telling truth cannot be a *perfect* duty for two reasons: (1) one is not in control of whether one tells the truth -- one can only control whether what is *sincere* (saying what one *takes* to be true). (2) One cannot possibly disclose all truths, all the time, to everyone (nor would that be necessarily a good thing). So although we have a perfect duty not to lie, discretion is required in fulfilling the imperfect duty to communicate truths (to the best of our understanding).@@</$details>
<$details state="!!accord4" summary="(d) they are easily summarized by the “golden rule” (do not unto others as you would not have them do unto you)." mode="custom" $state="aaa1">@@color:red;No... Clearly the “golden rule” has a similar spirit to the Categorical imperatave. Yet Kant explicitly warns against the sufficiency of this adage at footnote 23, AK 430 (p. 37). It makes it too easy to justify treating others in a way that you in fact (here and now) happen to be okay with being treated. The universalizability test is more strict.@@</$details>
<$details state="!!accord5" summary="(e) in observing others’ action, we will reach agreement about whether their choices are in accord with duty, provided we reason properly" mode="custom" $state="aaa2">@@color:red;No... Notice the question is about actions we actually observe (in experience). Kant does insist that the universalizability test is a logical test independent of individual preferences and interpretations, so reason should give everyone the same answer about whether a maxim is acceptable. So he expects us to agree about what the duties are (such as not to lie). Still, this does not entail agreement about whether particular cases illustrate that duty, and whether particular cases violate it. (Furthermore, it’s not just that we “disagree”; we should all be skeptical about forming opinions on such matters.)@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Kant claims many other values are easily confused with true moral worth. For example…
<$details state="!!accord1" summary="(a) Sympathetic dispositions, which lead people to act in friendly and helpful ways, are not the basis of moral worth." mode="custom" $state="aaa3">@@color:green; Yes. Sympathy makes the world more pleasant, but not more moral.@@</$details>
<$details state="!!accord2" summary="(b) Talent and skill, no matter how admirable and pleasant, are technical abilities rather than moral qualities." mode="custom" $state="aaa4">@@color:green; Yes. Indeed; talent and skill serve hypothetical imperatives rather than the categorical imperative. Also, skill requires practice and talent requires luck, while morality involves neither. See AK 403: “Inexperienced in the course of the world and incapable of being prepared for all its contingencies, I only ask myself whether I can also will that my maxim should become a universal law”@@</$details>
<$details state="!!accord3" summary="(c) Acting autonomously and freely is psychologically satisfying, but does not have moral worth." mode="custom" $state="aaa5">@@color:red;No... No, full of no. Autonomy IS moral worth, as odd as it sounds to non-Kantians.@@</$details>
<$details state="!!accord4" summary="(d) It may be hard to tell whether someone does the right thing out of duty or out of simple prudence, but only the action done out of duty has moral worth." mode="custom" $state="aaa1">@@color:green; Yes. Whenever inclination (such as those associated with prudence) can account for the action, Kant finds no moral worth.@@</$details>
<$details state="!!accord5" summary="(e) Religious ideas about punishment and reward in the afterlife are beside the point when it comes to moral motivation." mode="custom" $state="aaa2">@@color:green; Yes. Concerns about one’s afterlife are one more form of self-interest, on Kant’s view.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<<<.dark
[T]he expression “to have a right to the truth” is meaningless... for that would [imply] that it is a matter of one’s will ... whether a given statement is to be true or false...
<<< — Kant, “On a Supposed Right to Lie”
<<<.dark
We ''can't expect frankness of people'', since everyone fears that to
reveal himself completely would be to make himself despised by
others. But this lack of frankness, this ''reticence'', is still ''very different
from dishonesty''. What the honest but reticent man says is true [as far as his own understanding is concerned], but
not the whole truth. What the dishonest man says is something he
knows [or at least believes] to be false. Such an assertion is called, in the theory of virtue, a
//lie//. It may be harmless, but it is not on that account innocent. It is a
serious violation of a duty to oneself; it subverts the dignity of
humanity in our own person, and attacks the roots of our thinking.
<<< — Kant's Letter to MVH, quoted in Rae Langton, “Duty and Desolation”
<<<.dark
In cases where he cannot avoid answering Yea or Nay... in statements that cannot be avoided [truthfulness] is the formal duty of man to everyone... That is, as far as in me lies I bring it about that statements (declarations) in general find no credence, and hence also that all rights based on cotracts become void and lose their force, and this is a wrong done to mankind in general.
<<< — Kant, “On a Supposed Right to Lie”
<<<.fm
in the //Doctrine of Virtue// [Kant claims] it can be a duty not to speak the truth. Kant is not so famous for
this duty. But as we have just seen, to speak truly can be to speak
strategically, and Kant says that it can be a duty to remain silent, rather
than to tell the truth in a way that undermines the respect due to
persons. The ''truth-telling vice'' we have a duty to avoid is that of
calumny. ‘By calumny I mean merely the inclination to bring into the
open something prejudicial to respect for others. This is contrary to the
respect due to humanity as such. The wilful spreading of something
that detracts from another person's honour- . . . even if what is said is
true-diminishes respect for humanity as such’. We have a duty to
‘throw the veil of benevolence over [people's] faults, not merely by
softening our judgements but also by keeping these judgements to
ourselves.’
<<< — Rae Langton, “Duty and Desolation”
<<<.fm
Kant thinks we have have a duty of friendship. Friendship is not
‘a union aimed at mutual advantage’ but an ‘intimate union of love and
respect’ As well as sharing their activities, friends want to share their thoughts.
Ordinarily, Kant says — both in the letter to Herbert, and in the
Doctrine of Virtue — we have to ‘lock up’ our thoughts. The man who is
without a friend is the man who ‘must shut himself up in himself, who
must remain ‘completely alone with his thoughts, as in a prison’. But to
a friend, one can — ideally — reveal oneself without anxiety or fear of
betrayal. Friendship liberates, provides release from the prison of the
self, enlarges the scope of the arena of virtue. When one is with a friend
one is no longer ‘completely alone with one's thoughts, as in a prison,
but enjoys a freedom [otherwise] denied.’
<<< — Rae Langton, “Duty and Desolation” p. 492
[img[Kant's four examples|https://www.dropbox.com/s/qje8l2ltv9j0fr6/Kant%27s%204%20examples%20handout%20landscape.png?raw=1]]
[img[Kant's argument about reason's purpose|https://www.dropbox.com/s/c3wk4b322n4zw01/Kant%20purpose%20of%20reason.png?raw=1]]
''Kant, //Grounding of the Metaphysics of Morals// with "On a Supposed Right to Lie because of Philanthropic Concerns"'' translated by James Ellington (Hackett, 1993, Third Edition)
[img width=auto% [Kant Grounding of the Metaphysics of Morals|https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSeyJqRELL5KyxhETUt2sMrHzbxtl7SzJlTBE-PsB2mONKB7sbv&s]]
How does [[Kant]] aim to convince us that only good will, or good intentions, can be good without qualification? What does he mean by "good will"? What drives Kant to seek a "pure" and "philosophical" account of morals to clarify the popular view?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Kant1"
selectedTiddler="$:/temp/toc/kant1/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
<br style="clear:both" />
[[◀ back to Nussbaum|Nussbaum, Non-Relative Virtues]] @@float:right; [[forward to Kant2▶|Kant2]]
Kant interprets each human action as guided by some imperative, or maxim. What distinctions are drawn among kinds of imperative? How would he respond to someone who suggests that all action is motivated just by the goals (ends) a particular agent happens to have (contingently) at the moment?
Today we'll discuss: ... FOUR example duties, THREE formulations, TWO kinds of imperative, ... and ONE universal reason!
{{||vocabulary-here}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Kant2"
selectedTiddler="$:/temp/toc/kant2/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀ back to Kant1|Kant1]] @@float:right; [[forward to Kant3▶|Kant3]]
[[Kant]] claims we can't coherently think of our actions as free from any kind of obedience to law. What kinds of law might apply to action? How does Kant's concept of [[autonomy]] link the ideas of freedom and [[responsibility]]? How does moral obligation illustrate humanity's peculiar relation to Kant's [[two worlds of sense and of intelligence|phenomenal and noumenal]]?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Kant3"
selectedTiddler="$:/temp/toc/kant3/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀ back to Kant2|Kant2]] @@float:right; [[forward to Korsgaard▶|Korsgaard, The Right to Lie]]
TA session for Spring 2021
Under construction!
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Tessman-Luck/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
[img width=25% class=img-right [King|https://media.newyorker.com/photos/59097fc01c7a8e33fb390a18/master/w_727,c_limit/Hedin-MartinLutherKingJrsSearingAnti-WarSpeechFiftyYearsLater-2.jpg]]Martin Luther King, Jr (1929-1968) was an American Baptist minister and Nobel Peace Prize winner who developed his reflections on non-violence, love, and dialogue in the context of the movement for desegregation and African-American civil rights.
[img[euthyphro_map|https://www.dropbox.com/s/7yctv1hebj75srq/malcolm_x_angela_davis.png?raw=1]]
[img[MLK|http://seattletimes.com/art/mlk/index.jpg]]
!!Foundational vs Dialogical reasoning:
Should we criticize a reasoner for relying on premises that are accepted by a local audience, but which are not themselves certain?
King takes religious ideals as common ground premises for his argument.
* Foundationalism: the attempt to establish reasoning on objectively certain grounds
* Dialogical reason: acceptance of actually-shared beliefs as reasonable starting-points, with attention to the [[interlocutors|interlocutor]] in the context of the text.
Arguments by analogy are essentially dialogical: the audience presumably finds one case clear, and the controversial case is shown to bear similarities to it...
King’s arguments by analogy exemplify dialogical reasoning...
(Could King have made his case better with foundational arguments?)
Genuine vs. Spurious objections:
;Genuine objection against a premise:
:offering reasons to believe the premise is false or likely false.
;Spurious objection:
:pointing out that a claim //has not been proven//,
:or that //not everyone believes// it,
:or that some of its //terms have not been defined//. (Note the demand for definition can be infinitely regressive!)
!!!Defiance and Obedience
The Euthyphro raised, in a roundabout way, the question of moral authorities.
Parents, Gods, Majority opinion, Law -- all of these are often taken as “guides” to action.
Tension: (1) We seem to require guides: prophets, role models, parents, laws...
(2) We need to be able to question whether any such guides are really right.
One frequent worry is that King seems to appeal to divine revelation, and thus to stand on shaky ground.
Yet we can distinguish between ''apocryphal'' and ''prophetic'' strands of Christianity.
Socrates, Epictetus, and Martin Luther King, Jr. all held radical non-conformist moral views. So did Malcolm X.
:How do their approaches to justice differ?
;In particular:
:What kinds of ''constraints'' deserve respect when we are convinced of an existing injustice?
Problem: suppose people might sometimes be //incorrectly// convinced that there is injustice.
Is there any kind of response we could recommend which both
:(1) would address and undermine injustice if they are correct, and yet
:(2) would not create new injustices in the event the initial conviction was faulty?
!!Distinguishing Just and Unjust Laws
King offers many criteria in response to the question,
“How does one determine whether a law is just or unjust?”
|!Just Law:|!Unjust Law:|
|squares with moral law or law of God|out of harmony with the moral law|
|rooted in eternal law and natural law|//not// rooted in eternal and natural law|
|//uplifts// human personality|//degrades and distorts// personality|
|with consent of those affected|passed without enfranchisement|
|treats people equally|treats people differently|
|in accord with moral law, natural law, God’s law|not in accord...|
|[order applied justly] |[order applied unjustly]|
!!Natural Law, Conventional Law]
King appeals to ''natural law''... What does he mean?
Distinguish NATURAL from CONVENTIONAL law:
@@.ind Conventional law is made by human powers.
Natural law would be lawfuless and justice as understood apart from particular political powers:
the idea of lawfulness, or the "rule of law" in an abstract sense.@@
The tradition of natural law holds that certain understandings come with human nature.
===
!!!King’s discussion of justice…
<$details state="!!accord1" summary="(a) acknowledges that conscience differs and that some reasonable people believe segregation laws to be just." mode="custom" $state="aaa3">@@color:red;No... The notion that conscience is subjective plays no role in this text; conscience is not the same as individual conviction.@@</$details>
<$details state="!!accord2" summary="(b) if applied to Socrates’ case, would imply that Socrates had a duty to defy his death sentence and escape." mode="custom" $state="aaa4">@@color:red;No... King’s civil disobedience process requires submitting to legal penalties; clearly, King and Socrates do not differ substantially on this point.@@</$details>
<$details state="!!accord3" summary="(c) requires rejecting the Stoic idea that each person’s psychological well-being depends only on her or his own choice of perspective." mode="custom" $state="aaa5">@@color:green; Yes. Yes! King says “injustice anywhere is a threat to justice everywhere,” implying that one can’t just be content to have one’s own “house in order” — one’s ability to thrive is bound up with events beyond one’s own control.@@</$details>
<$details state="!!accord4" summary="(d) implies that the world inevitably becomes less unjust over time." mode="custom" $state="aaa1">@@color:red;No... Clearly, King argues against the “inevitability” of justice; progress is not “unavoidable,” but it comes only through efforts.@@</$details>
<$details state="!!accord5" summary="(e) requires support from Judeo-Christian premises in order to justify civil disobedience." mode="custom" $state="aaa2">@@color:red;No... Although King draws on Judeo-Christian premises for this particular audience, he also provides parallel arguments that appeal to secular public ideals.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<$details class="fm" summary="1: Injustice anywhere is a threat to justice everywhere.">
<<<.fm
But more basically, I am in Birmingham because injustice is here. Just as the prophets of the eighth century B.C. left their villages and carried their "thus saith the Lord" far beyond the boundaries of their home towns, and just as the Apostle Paul left his village of Tarsus and carried the gospel of Jesus Christ to the far corners of the Greco-Roman world, so am I compelled to carry the gospel of freedom beyond my own home town. Like Paul, I must constantly respond to the Macedonian call for aid.<br>Moreover, I am cognizant of the interrelatedness of all communities and states. I cannot sit idly by in Atlanta and not be concerned about what happens in Birmingham. Injustice anywhere is a threat to justice everywhere. We are caught in an inescapable network of mutuality, tied in a single garment of destiny. Whatever affects one directly, affects all indirectly. Never again can we afford to live with the narrow, provincial "outside agitator" idea. Anyone who lives inside the United States can never be considered an outsider anywhere within its bounds.<br>
<<< 1
</$details>
<$details class="fm" summary="1: to create crisis and tension">
<<<.fm
You may well ask: "Why direct action? Why sit-ins, marches and so forth? Isn't negotiation a better path?" You are quite right in calling for negotiation. Indeed, this is the very purpose of direct action. Nonviolent direct action seeks to create such a crisis and foster such a tension that a community which has constantly refused to negotiate is forced to confront the issue. It seeks so to dramatize the issue that it can no longer be ignored. My citing the creation of tension as part of the work of the nonviolent-resister may sound rather shocking. But I must confess that I am not afraid of the word "tension." I have earnestly opposed violent tension, but there is a type of constructive, nonviolent tension which is necessary for growth. Just as Socrates felt that it was necessary to create a tension in the mind so that individuals could rise from the bondage of myths and half-truths to the unfettered realm of creative analysis and objective appraisal, we must we see the need for nonviolent gadflies to create the kind of tension in society that will help men rise from the dark depths of prejudice and racism to the majestic heights of understanding and brotherhood.
<<< 1
</$details>
<$details class="fm" summary="2: privileged groups seldom give up... voluntarily.">
<<<.fm
I have hope that Mr. Boutwell will be reasonable enough to see the futility of massive resistance to desegregation. But he will not see this without pressure from devotees of civil rights. My friends, I must say to you that we have not made a single gain in civil rights without determined legal and nonviolent pressure. Lamentably, it is an historical fact that privileged groups seldom give up their privileges voluntarily. Individuals may see the moral light and voluntarily give up their unjust posture; but, as Reinhold Niebuhr has reminded us, groups tend to be more immoral than individuals.<br>We know through painful experience that freedom is never voluntarily given by the oppressor; it must be demanded by the oppressed. Frankly, I have yet to engage in a direct-action campaign that was "well timed" in the view of those who have not suffered unduly from the disease of segregation. For years now I have heard the word "Wait!" It rings in the ear of every Negro with piercing familiarity. This "Wait" has almost always meant 'Never." We must come to see, with one of our distinguished jurists, that "justice too long delayed is justice denied."<br>
<<< 2
</$details>
<$details class="fm" summary="2: An unjust law is no law at all.">
<<<.fm
One may well ask: "How can you advocate breaking some laws and obeying others?" The answer lies in the fact that there are two types of laws: just and unjust. I would be the first to advocate obeying just laws. One has not only a legal but a moral responsibility to obey just laws. Conversely, one has a moral responsibility to disobey unjust laws. I would agree with St. Augustine that "an unjust law is no law at all"
<<< 2
</$details>
<$details class="fm" summary="2: criteria of justice">
<<<.fm
A just law is a man-made code that squares with the moral law or the law of God. An unjust law is a code that is out of harmony with the moral law. To put it in the terms of St. Thomas Aquinas: An unjust law is a human law that is not rooted in eternal law and natural law. Any law that uplifts human personality is just. Any law that degrades human personality is unjust. ...<br>Let us consider a more concrete example of just and unjust laws. An unjust law is a code that a numerical or power majority group compels a minority group to obey but does not make binding on itself. This is difference made legal. By the same token, a just law is a code that a majority compels a minority to follow and that it is willing to follow itself. This is sameness made legal.<br>Let me give another explanation. A law is unjust if it is inflicted on a minority that, as a result of being denied the right to vote, had no part in enacting or devising the law. ...<br>Sometimes a law is just on its face and unjust in its application. For instance, I have been arrested on a charge of parading without a permit. Now, there is nothing wrong in having an ordinance which requires a permit for a parade. But such an ordinance becomes unjust when it is used to maintain segregation and to deny citizens the First Amendment privilege of peaceful assembly and protest.<br>
<<< 2
</$details>
<$details class="fm" summary="2: Segregation meets criteria">
<<<.fm
...All segregation statutes are unjust because segregation distorts the soul and damages the personality. It gives the segregator a false sense of superiority and the segregated a false sense of inferiority. Segregation, to use the terminology of the Jewish philosopher Martin Buber, substitutes an "I-it" relationship for an "I-thou" relationship and ends up relegating persons to the status of things. Hence segregation is not only politically, economically and sociologically unsound, it is morally wrong and awful. Paul Tillich said that sin is separation. Is not segregation an existential expression 'of man's tragic separation, his awful estrangement, his terrible sinfulness? Thus it is that I can urge men to obey the 1954 decision of the Supreme Court, for it is morally right; and I can urge them to disobey segregation ordinances, for they are morally wrong.<br>Who can say that the legislature of Alabama which set up that state's segregation laws was democratically elected? Throughout Alabama all sorts of devious methods are used to prevent Negroes from becoming registered voters, and there are some counties in which, even though Negroes constitute a majority of the population, not a single Negro is registered. Can any law enacted under such circumstances be considered democratically structured?
<<< 2
</$details>
<$details class="fm" summary="2: not... evading or defying the law">
<<<.fm
I hope you are able to see the distinction I am trying to point out. In no sense do I advocate evading or defying the law, as would the rabid segregationist. That would lead to anarchy. One who breaks an unjust law must do so openly, lovingly, and with a willingness to accept the penalty. I submit that an individual who breaks a law that conscience tells him is unjust and who willingly accepts the penalty of imprisonment in order to arouse the conscience of the community over its injustice, is in reality expressing the highest respect for law.
<<< 2
</$details>
<$details class="fm" summary="3: Extreme? I... stand between these two">
<<<.fm
You speak of our activity in Birmingham as extreme. At fist I was rather disappointed that fellow clergymen would see my nonviolent efforts as those of an extremist. I began thinking about the fact that stand in the middle of two opposing forces in the Negro community. One is a force of complacency, made up in part of Negroes who, as a result of long years of oppression, are so drained of self-respect and a sense of "somebodiness" that they have adjusted to segregation; and in part of a few middle class Negroes who, because of a degree of academic and economic security and because in some ways they profit by segregation, have become insensitive to the problems of the masses. The other force is one of bitterness and hatred, and it comes perilously close to advocating violence. It is expressed in the various black nationalist groups that are springing up across the nation, the largest and best-known being Elijah Muhammad's Muslim movement. Nourished by the Negro's frustration over the continued existence of racial discrimination, this movement is made up of people who have lost faith in America, who have absolutely repudiated Christianity, and who have concluded that the white man is an incorrigible "devil."<br>I have tried to stand between these two forces, saying that we need emulate neither the "do-nothingism" of the complacent nor the hatred and despair of the black nationalist.
<<< 3
</$details>
<$details class="fm" summary="4: an extremist for love">
<<<.fm
But though I was initially disappointed at being categorized as an extremist, as I continued to think about the matter I gradually gained a measure of satisfaction from the label. Was not Jesus an extremist for love: "Love your enemies, bless them that curse you, do good to them that hate you, and pray for them which despitefully use you, and persecute you." Was not Amos an extremist for justice: "Let justice roll down like waters and righteousness like an ever-flowing stream." Was not Paul an extremist for the Christian gospel: "I bear in my body the marks of the Lord Jesus." Was not Martin Luther an extremist: "Here I stand; I cannot do otherwise, so help me God." And John Bunyan: "I will stay in jail to the end of my days before I make a butchery of my conscience." And Abraham Lincoln: "This nation cannot survive half slave and half free." And Thomas Jefferson: "We hold these truths to be self-evident, that an men are created equal ..." So the question is not whether we will be extremists, but what kind of extremists we will be. Will we be extremists for hate or for love? Will we be extremist for the preservation of injustice or for the extension of justice? In that dramatic scene on Calvary's hill three men were crucified. We must never forget that all three were crucified for the same crime---the crime of extremism. Two were extremists for immorality, and thus fell below their environment. The other, Jesus Christ, was an extremist for love, truth and goodness, and thereby rose above his environment. Perhaps the South, the nation and the world are in dire need of creative extremists.
<<< 4
</$details>
<$details class="fm" summary="5: moral means and ends">
<<<.fm
Over the past few years I have consistently preached that nonviolence demands that the means we use must be as pure as the ends we seek. I have tried to make clear that it is wrong to use immoral means to attain moral ends. But now I must affirm that it is just as wrong, or perhaps even more so, to use moral means to preserve immoral ends.
<<< 5
</$details>
How does Martin Luther King resolve the apparent tension of defying some laws while expecting anti-racist laws to be followed? Could King make an argument for non-violent resistance without using religious premises? What are the most basic points that explain the divergence between King and Malcolm X on defiance of the state?
<$macrocall
$name="toc-tabbed-external-nav"
tag="King, Letter from Birmingham Jail"
selectedTiddler="$:/temp/toc/king_lbj/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀back to Epictetus|Epictetus, Enchiridion]] ... @@float:right; [[forward to Aristotle ▶|Aristotle 1 (up to 1115a)]]@@
[img width=25% class=img-right [http://totallyhistory.com/wp-content/uploads/2013/10/Lawrence-Kohlberg.jpg]]
Lawrence Kohlberg (1927-1978) was a psychologist most known for his account of moral development, inspired by Piaget's general model of cognitive stages.
<$details class="fm" summary="499: anxiety about teaching values">
<<<.fm
Most teachers are aware that they are teaching values... and are very concerned as to whether this teaching is unjustified indoctrination... confusion is apparent... I will attempt to demonstrate that moral education can be free form the charge of cultural relativity and arbitrary indoctrination that inhibits [this teacher] when she talks about cheating.
<<< 499
</$details>
<$details class="fm" summary="499: cop-out solutions">
<<<.fm **Cop-out Solutions to the Relativity Problem** <br>''One''... to call moral education socialization...<br>''second''... to rely on vaguely positive and honorific-sounding terms such as “moral values”<br>''third''... defining moral values in terms of … a “bag of virtues”... (”character education”)<br>''last''... to lie back and enjoy it... called value clarification.
<<< 499
</$details>
<$details class="fm" summary="504: lesson: “our values are different”">
<<<.fm As an example, one child might make a moral decision in term of avoiding punishment, another in terms of the welfare of other people, another in terms of certain rules, another in terms of getting the most for himself. The children are them to be encouraged to discuss their values with each other and to recognize that everyone has different values. Whether or not “the welfare of others” is a more adequate value than “avoiding punishment” is not an issue to be raised by the teacher. Rather, the teaching in instructed to teach only that “our values are different.”
<<< 504
</$details>
<$details class="fm" summary="504: values clarification not sufficient">
<<<.fm Now I am not criticizing the value clarification approach itself. It is a basic and valuable component of the new social studies curricula, ... My point is, rather, that value clarification is not a sufficient solution to the relativity problem. Furthermore, the actual teaching of relativism is itself an indoctrination or teaching of a fixed belief, a belief that we are going to show is not true scientifically or philosophically.
<<< 504
</$details>
<$details class="fm" summary="505: Stages typology">
<<<.fm **A Typological Scheme on the Stages of Moral Thought**<br>My colleagues and I were the first... to do detailed cross-cultural studies on the development of moral thinking...<br>1. We often make different decisions and yet have the same basic moral values.<br>2. Our values tend to originate inside ourselves as we process our social experience.<br>3. In every culture and subculture... the same basic moral values and the same steps toward moral maturity are found.<br>4. Basic values [differ due mostly to] different levels of maturity… Exposure to others more mature… helps stimulate maturity…
<<< 505
</$details>
<$details class="fm" summary="505: Heinz dilemma">
<<<.fm In Europe, a woman was near death from a very bad disease, a special kind of cancer. There was one drug that the doctors thought might save her. … The drug as expensive to make, but the druggist was charging ten times what the drug cost him to make. … The sick woman’s husband, Heinz, went to everyone he knew to borrow the money, but he could get together only about $1,000, with was half of what it cost. He told the druggist that his wife was dying and asked him to sell it cheaper or let him pay later. But the druggist said, “No, I discovered the drug and I’m going to make money from it. Heinz got desperate and broke into the man’s store to steal the drug for him wife.<br>Should the husband have done that? Was it right or wrong? Is your decision ... objectively right... morally universal, or ... personal opinion?
<<< 505
</$details>
<$details class="fm" summary="506: Bob’s relativist confusion">
<<<.fm “It’s all relative; what I would do is steal the drug. I can’t say that’s right or wrong or that it’s what everyone should do.” ... Bob’s relativism rests on a confusion. The confusion is that between relativity as a social science fact that different people do have different moral values and relativity as the philosophic claim that people ought to have different moral values, that no moral values are justified for all people.
<<< 506
</$details>
<$details class="fm" summary="508: Piaget’s stages as inspiration">
<<<.fm Piaget started the modern study of child development by recognizing that the child... was puzzled by the basic questions...: the meaning of space, time, causality, life, death, right and wrong,… but answered them in a very different way from the adults. ... a difference in stage or quality of thinking, rather than a difference in amount of knowledge or accuracy of thinking. <br>My own work on morality started from Piaget’s notions of stages and Piaget’s notion that the child was a philosopher. … I have gradually elaborated... a typological scheme describing general stages of moral thought that can be defined independently of the specific content of particular moral decisions or actions. We studied seventy-five American boys from early adolescence on. These youths were continually presented with hypothetical moral dilemmas... on the basis of their reasoning... at a given age, we constructed the typology of definite and universal levels of development in moral thought.<br>
<<< 508
</$details>
<$details class="fm" summary="510: LEVELS & STAGES">
* preconventional level (4-10)<br>Stage 1: Punishment and Obedience Orientation<br>Stage 2: Instrumental Relativist Orientation<br>
* conventional level<br>Stage 3: Interpersonal Concordance or “Good Boy - Nice Girl” Orientation<br>Stage 4: Society Maintaining Orientation<br>
* postconventional or autonomous<br>Stage 5: Social Contract Orientation<br>Stage 6: Universal Ethical Principle Orientation
<br>p. 510
</$details>
<$details class="fm" summary="515: culmination of stage 6">
<<<.fm In a genuine and culturally universal sense, these steps lead toward an increased morality of value judgment, where morality is considered as a form of judging , as it has been in a philosophic tradition running from... Kant to... “ordinary language” philosophers. At Stage 6 people have disentangled judgments of — or language about — human life from status and property values (Stage 1); from its uses to others (Stage 2); from interpersonal affection (Stage 3); and so on; they have a means of moral judgment that is universal and impersonal. Stage 6 people answer in moral words such as duty or morally right and use them in a way implying universality, ideals and impersonality. They think and speak in phrases such as “regardless of who it was” or “I would do it in spite of punishment.”
<<< 515
</$details>
<$details class="fm" summary="515: cultural difference">
<<<.fm Many [Taiwanese] boys said, “He should steal the food for his wife because if she dies he’ll have to pay for her funeral, and that costs a lot.”<br>Figures 1.1 and 1.2 indicate the cultural universality of the sequence of stages we have found. Figure 1.1 presents the age trends for middle-class urban boys in the United States, Taiwan, and Mexico. At age ten in each country, the order of use of each stage is the same as the order of its difficulty or maturity.<br>... stage 5 thinking is much more salient in the United States than in Mexico or Taiwan. Nevertheless, it is present in the other countries, ... Figure 1.2 shows strikingly similar results from tow isolated villages, one in Yucatan, one in Turkey, Although conventional moral thought increases steadily from ages ten to sixteen, it still has not achieved a clear ascendancy over preconventional thought.
<<< 515
</$details>
<$details class="fm" summary="516: class differences">
<<<.fm Trends for lower-class <br>urban groups are intermediate in the rate of development between those for he middle-class and for the village boys. In the three divergent cultures that I studied, middle-class children were ound to be more advanced in moral judgment than matched lower-class children. This was not due to the fact that the middle-class children heavily favored some one type of thought that could be seen as corresponding to the prevailing middle-class pattern. Instead, middle-class and working-class children move through the same sequences, but the middle-class children move faster and farther.<<< 516</$details>
<$details class="fm" summary="520: to stimulate moral growth">
<<<.fm The way to stimulate stage growth is to pose real or hypothetical dilemmas to students ... arouse disagreement and uncertainty as to what is right. The teacher’s primary role is ... to ask Socratic questions that arouse student reasoning and focus student listening on one another’s reasons. <br>... Rest (1973) [showed] that students prefer the highest stage of reasoning they comprehend but that they do not comprehend more than one stage above their own. As a result, assimilation of reasoning occurs primarily when it is the next stage up from the student’s level. Developmental moral discussion thus arouses cognitive-moral conflict and exposes students to reasoning by other students at the next stage above their own. <br>Unlike values clarification, [the developmental approach is] not relativistic but... based on universal goals and principles. It asks the student for reasons, on the assumption that some reasons are more adequate than others.
<<< 520
</$details>
Though Kohlberg posited a fixed and universal sequence of stages, the details of social and cultural experience were taken to affect the content of moral attitudes at each stage, as well as how individuals progressed through developmental "threshold" moments.
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/KohlbergCMP/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
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GjVquE3USpKRkeGeT5061bWMDBgwwF566SUXqHz55ZeWnp7uApKNGzeGvy3PEUAg4AIEHwG/AKh+8ATUvaIS3sXiPffWab2CkaysLCtUqJAVL15ci1zxgo+LFy+61xqqu2XLFtfN0r59exeEeF00TZo0cdscOHDgvzvzLwIIIHBLgJwPLgMEAiQQnlhatWpVO378uKt9tWrV3KNyP44ePWr333+/65ZRd8vBgwdt4cKF1rFjR/vrr79CialVqlRx+2iZN1Jm4MCBbln0P+fOnYtexGsEEAiwAMFHgE8+VQ+egEa0XLlyxVX87bffjgmg1o9evXq5dQpKFHwo6VT5HxrBopaODh06hCYl81o5lGDq7Rf9xs2aNYtexGsEEAiwAMFHgE8+VQ+eQPgolwoVKkQAnDhxwtasWWOrV692QcT58+dN29euXdsaNmzohs8qR0RJp02bNg3tW758edflom4atY4ULVo0tI4nCCCAQCwBgo9YKixDIAkF1D3i5WYMGjTISpQoEVFLr0tGQciOHTusWLFibr2SUzX1ugKQIkWKuCTV8B01akZzhezcudPmzZtnPXv2DF9tmj1VOSMaUUNBAAEEJEDwwXWAQEAE1KqhLhPNvREdeIhALRZq0dAwXHW9PPfcc1avXj3bvn27aeRKeNEImWeeecY0T4hKnz597P3337eZM2ea8kYUjKglZNeuXbZ161YbNWpUqJsm/H14jgACwRQg+AjmeafWARRQq4dKmzZtsq291in40HBctZRoptLChQu7obNq9dDspWoV0XTsX331ldWtW9dSUlJckDJ8+HCbNGmSaVitN7RW+yrfQ10zFAQQQMATcO2g27Zte+9W0+kIfYmkpqZ663hEAIEkElCyqP67U06Gul/UlaI73qolo3fv3tatW7cICc37oQnF9KjumPCi/U+ePOm6aPR9oveiIIAAAp7AqVOnmOHUw+ARgWQX0GRhdwo8ZKBt1GLhjWJRK4haPLyilg/lhSiHwxtu663To/bXck0wRuARLsNzBBDwBOh28SR4RACBCIHWrVvbokWL7FbLqD3//POuVVQBibpjFHj069fPzY4asRMvEEAAgTgECD7iQGITBIIooBEun376qa1YscLlfmjUS8mSJS0tLc3ljWgCMgoCCCCQEwGCj5yosQ8CAREoV66cde3aNSC1pZoIIOCXAJlg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
[img width=25% class=img-right [Korsgaard|http://www.people.fas.harvard.edu/~korsgaar/CMK.2008.jpg]]
Christine M. Korsgaard (1952–) is an academic philosopher who has developed a broadly Kantian account of agency, reasons, and morality, extending and amending it to make it more plausible to today's thinkers.
<hr>
A brief bibliography of some of Korsgaard's recent work:
* //Fellow Creatures: Our obligations to other animals// Oxford: Oxford University Press, 2018
* “On Having a Good.” //Philosophy// 89 (03) (July 2014): 405–429
* “Kantian Ethics, Animals, and the Law” //Oxford Journal of Legal Studies// 33, no. 4 (2013): 629–648.
* “A Kantian Case for Animal Rights.” In //Animal Law - Tier and Rect: Developments and Perspectives in the 21st Century//, ed. Margot Michael, Daniela Kühne, and Julia Hänni (Zurich: Dike Verlag, 2012), 3-27.
* //Fellow Creatures: Kantian Ethics and Our Duties to Animals// (2004 Tanner lectures)
* “Interacting with Animals: A Kantian Account” (in //The Oxford Handbook of Animal Ethics//, ed. Tom L. Beauchamp and R. G. Frey Oxford: Oxford University Press, 2011), 91-118.
* “Creating the kingdom of ends: Reciprocity and responsibility in personal relations.” //Philosophical Perspectives// 6: 305-332. (1992)
!!!Korsgaard’s essay “The Right to Lie” is Kantian in spirit, but it departs from Kant on some key points, including…
<$details state="!!accord1" summary="(a) Kant claims that the three formulations of the categorical imperative yield the same duties, while Korsgaard claims that one formulation permits what another one forbids." mode="custom" $state="aaa1">@@color:green; Yes. Korsgaard, p 143. That Korsgaard sees divergence (while Kant did not) is central to her argument.@@</$details>
<$details state="!!accord2" summary="(b) Korsgaard scrutinizes lies only insofar as they might violate a duty to others, but Kant claims that lying also violates our duties to ourselves." mode="custom" $state="aaa2">@@color:green; Yes. Not really; Korsgaard considers how *not lying* might violate a duty to oneself. But most of her discussion of honesty focuses on how others are entitled to our honesty (or not).@@</$details>
<$details state="!!accord3" summary="(c) Korsgaard invites us to distinguish “evil” circumstances from ordinary interactions, while Kant would discourage us from making this distinction in our moral reasoning." mode="custom" $state="aaa3">@@color:green; Yes. As discussed in class, Kant’s notion of “evil” covers even the most minor corruption of will, and terrible consequences themselves have no moral significance. @@</$details>
<$details state="!!accord4" summary="(d) Korsgaard claims we have a perfect duty not to be tools of evil (“you owe it to humanity in your own person not to allow your honesty to be used as a resource for evil”) but Kant would argue such prevention is not up to us." mode="custom" $state="aaa4">@@color:green; Yes. Korsgaard sees a perfect duty not to be used for evil, but Kant’s description of perfect duties is limited to avoiding hypocritical action (and *responding* to violations).@@</$details>
<$details state="!!accord5" summary="(e) Kant holds us responsible for even the most unexpected consequences of our lies, while Korsgaard argues that so long as our maxim is consistent, we are not responsible for the unexpected results of a lie." mode="custom" $state="aaa5">@@color:red;No... Korsgaard agrees that when we try to manipulate consequences, we become responsible for them. Unlike Kant, she thinks the good person is willing to take that risk in some cases.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<<<.dark
the danger [is] not ... doing harm ... but ... doing ''wrong'' ... And such wrongdoing would occur if I made the duty of truthfulness, which is wholly unconditional... into a conditional duty subordinate to other considerations.
<<<Kant, Ak 429 in "On a Supposed Right to Lie"
<<<.moo
Kant insists that even a “benevolent motive” (saving lives) cannot justify a lie. This rigorism seems implausibly naive wherever one’s honesty would be leveraged for evil purposes. Perhaps we could amend Kant’s ethics: Respect for Humanity (as ends in themselves) is an inspiring ideal, but we can make exceptions in order to thwart corruption and evil (rather than acting “as if” one were in a Kingdom of Ends). Such a two-tiered approach would always retain the Universal Law formulation of the Categorical Imperative, which is arguably less strict. Kant would counter that the benevolent liar embraces an impossible moral project, namely controlling outcomes. The double-level Kantian must indeed be humbled by this worry. [113 words]
<<<
!!!Introduction of the problem:
whether and how to rescue [[Kant]] from his apparently unreasonably rigorous duty not to lie
!!!Universal Law
There //could// be a universal practice [of lying to the murderer at the door [Korsgaard argues], but Kant thinks the Universal Law test is equivalent to the test for treating humanity always as an end...
!!!Humanity
<<<.dark
Lying cannot be a case of treating the other as an end; the other "cannot possibly consent".
<<<(138)
<<<.dark
Any action which depends for its nature and efficacy on the other's ignorance or powerlessness fail this test.
<<<(139)
!!!The Kingdom of Ends
<<<.dark
We are... forbidden to take attitudes toward [another person] which involve regarding her as not in control of herself... as not using her reason.
<<<(141)
!!!Humanity and Universal Law
<<<.dark
Any violation of the Formula of Universal Law is also a violation of the Formula of Humanity ... [which] is stricter.
<<<(143-4)
!!!Two Casuistical Problems
<<<.dark
The philanthropist, like the murderer, has placed himself in a morally unprotected position by his own deception.
<<<(145)
!!!Ideal and Nonideal Theory
As in Rawls...
!!!Kantian Nonideal Theory
<<<.dark
The Formulas of Humanity and the Kingdom of Ends will provide the ideal which governs our daily conduct. When dealing with evil circumstances we may depart from this ideal. .. the Formula of Humanity is inapplicable because it is not designed f or use when dealing with evil. But it can still guide our conduct. It defines the goal toward which we are working.
<<<(151)
!!!Conclusion
<<<.dark
the resources of a double-level theory may be available to the Kantian...<br> [W]here the attemp to live up to [the Kantian ideal] would make you a tool of evil, you should not do so. In evil circumstances, but only then, the Kingdom of Ends can become a goal to seek rather than an ideal to live up to
<<< (153)|
<$details class="fm" summary="133: rigorism: two claims">
<<<.fm
The most well-known example of [Kant’s] “rigorism,” as it is sometimes called, concerns Kant’s views on our duty to tell the truth. [NOTE...]<br>... Kant seems to endorse the following pair of claims... <br>[1] one must never under any circumstances or for any purpose tell a lie; <br>[2] second, if one does tell a lie one is responsible for all the consequences that ensue, even if they were completely unforeseeable.
<<< 133
</$details>
<$details class="fm" summary="134: First, ... Kant’s defenders are right in thinking that... under">
<<<.fm
First, ... Kant’s defenders are right in thinking that... under the Formula of Universal Law, this particular lie can be shown to be permissible.
<<< 134
</$details>
<$details class="fm" summary="134: Second... when the case is treated [with] the Formulas">
<<<.fm
Second... when the case is treated [with] the Formulas of Humanity and the Kingdom of Ends, it becomes clear why Kant is committed to the view that lying is wrong in every case... Kant’s rigorism about lying... comes from an attractive ideal of human relations which is the basis of his ethical system. If Kant is wrong in his conclusion about lying to the murderer at the door, it is for the interesting and important reason that morality itself snometimes allows or been requires us to do something that f rom an ideal perspective is wrong. THe case does not impugn Kant’s ethics as an ideal system. Instead, it shows that we need special principles for dealing with evil.
<<< 134
</$details>
<$details class="fm" summary="135: My third aim is to discuss the structure that">
<<<.fm
My third aim is to discuss the structure that an ethical system must have in order to accommodate such special principles.
<<< 135
</$details>
<$details class="fm" summary="136: in most cases lying falls squarely into the category">
<<<.fm
... in most cases lying falls squarely into the category of the sort of action Kant considers wrong: actions whose efficacy depends upon the fact that most people do not engageg in them, and which therefore can only be performed by someone who makes an exception of himself.
<<< 136
</$details>
<$details class="fm" summary="136: A murderer... must suppose that you do not know">
<<<.fm
A murderer... must suppose that you do not know who he is and what he has in mind.... The lie wil lbe efficacious... because the murderer supposes you do not know what circumstances you are in — that is, that you do not know you are addressing a murderer — and so does not conclude from the fact that people in those cirumstances always lie that you will lie.
<<< 136
</$details>
<$details class="fm" summary="137: When we apply the Formula of Humanity, however, the">
<<<.fm
When we apply the Formula of Humanity, however, the argument against lying... applies to any lie whatever ... The perfect duties — that is, the duties of justice, and, ... the duties of respect — arise from the obligation to make each human being’s capacity for autonomous choice the condition of the value of every other end. ... an action is contrary to perfect duty if it is not possible for the other to assent to it or to hold its end. ... it must not be merely that your victim will not like the way you propose to act... but that something makes it impossible for her to assent to it ... People cannot assent... when they are given no chance to do so. The most obvious instance of this is when coercion is used. But it is also true of deception: the victim of the false promise cannot assent to it because he doesn’t know it is what he is being offered. ... even when the victim of such conduct does h appen to know waht is going on... [that] knowledge makes it impossible... to accept the deceitful promise in the ordinary way.
<<< 137
</$details>
<$details class="fm" summary="140: According the Formula of Humanity, coercion and deception are">
<<<.fm
According the Formula of Humanity, coercion and deception are the most fundamental forms of wrongdoing to others — the roots of all evil. Coercion and deception violate the conditions of possible assent, and all actions which depend for their nature and efficacy on their coercive or deceptive character are ones that others cannot assent to. Coercion and deception also make it impossible for others to choose to contribute to our ends. ... in any cooperative project — whenever you need the decisions and actions of others in order to bring about your end — everyone who is to contribute must be in a position to choose to contribute to the end.
<<< 140
</$details>
<$details class="fm" summary="140: deception: using another’s reason as tool">
<<<.fm
THE KINGDOM OF ENDS ——— <br>On Kant’s view, the will is a kind of causality. A person, an end in itself, is a free cause, which is to say a first cause. By contrast, a thing, a means, is i merely mediate cause, a link in the chain. A first cause is, obviously, the initiator of a causal chain, hence a real determiner of what will happen. The idea of deciding for yourself whether you will contribute to a given end can be represented as a decision whether to initiate that causal chain which constitutes your contribution. Any action which prevents or diverts you from making this initiating decision is one that treats you as a mediate rather than a first cause; hence as a mere means, a thing, a tool. Coercion and deception both do this. And deception treats you as a mediate cause in a specific way: it treats your reason as a mediate cause. The false promiser thinks: if I tell her I will pay her back next week, then she will choose to give me the money. You reason is worked, like a machine. the deceived tries to determine what levers to pull to get the desired results from you. ... it is a direct violation of autonomy.
<<< 140
</$details>
<$details class="fm" summary="143: different results">
<<<.fm
If the foregoing casuistical analyses are correct, the applying the Formula of Universal Law and the Formula of Humanity leads to different answers in the case of lying to the murderer... This result impugns Kant’s belief that the formulas are equivalent. But... the two formulas can be shown to be expressions of the same basic theory... Suppose that your maxim is in violation of the Formula of Universal Law. You are making an exception of yourself, doing something that everyone in your circumstances could not do. What this means is that you are treating the reason you have for the action as if it were stronger, had more justifying force, that anyone else’s exactly similar reason... This argument, of course, only goes in one direction. ... The Formula of Humanity is stricter that the Formula of Universal Law...
<<< 143
</$details>
<$details class="fm" summary="143: responsibility for consequences of lie">
<<<.fm
If you make a straightforward appeal to the reason of another peron, your responsibility ends there and the other’s responsibility begins. But the liar tries to take the consequences out of the hands of others; he, and not they, will determine what form their contribution to destiny will take. By refusing to share with others the determination of events, the liar takes te world into his own hands, and makes the events his own. The results, good or bad, are imputable to him, at least in his own conscience. It does not follow from this, of course, that this is a risk one will never want to take.
<<< 143
</$details>
<$details class="fm" summary="145: reasons to lie">
<<<.fm
There are two reasons to lie... First, we have a duty of mutual aid. This is an imperfect duty... Notice that if the lie were impermissible, this duty would have no force. ... The second reason is one of self-respect. The murderer wants to make you a tool of evil; he regards your integrity as a useful sort of predictability. He is trying to use you, and you good will, as a means to an evil end. You owe it to humanity in your own person not to allow your honesty to be used as a resource for evil. I think this would be a perfect duty of virtue...
<<< 145
</$details>
<$details class="fm" summary="150: The point of a double-level theory is to">
<<<.fm
The point of a double-level theory is to give us both a definite and well-defined sphere of responsibility for everyday life and some guidance, at least, about when we may or must take the responsibility of violating ideal standards. The common-sense approach... uses an intuitive quantitative measure: we depart from our ordinary rules and standards of conduct when the consequences of following them would be “very bad.” [First]... it leaves us on our own about determining how bad. Second... it leads down a familiar consequentialist slippery slope... A double-level theory substitutes something better than this rough quantitative measure. ... the measure of “very bad” is... bade enough to interfere with the reality of liberty.
<<< 150
</$details>
<$details class="fm" summary="151: REGRET & double-level theory">
<<<.fm
Another advantage of a double-level theory is the explanation it offers of the other phenomenon Williams is concerned about: that of regret for doing a certain kind of action even if in the circumstances it was the “right” thing. ... We will regret having to depart from the ideal standard... we identify with this standard and think of our autonomy in terms of it. Regret for an action we would not do under ideal circumstances seems appropriate even if we have done what is clearly the right thing.
<<< 151
</$details>
<$details class="notification" summary="Christine Korsgaard">
{{Korsgaard}}
{{clear-both}}
</$details>
In “The Right to Lie: Kant on Dealing with Evil”, [[Christine Korsgaard|Korsgaard]] gives Kantian reasons to challenge [[Kant]]'s own [[rigorous|rigorism]] claim that lying is never permissible. (Kant defends this claim — that we have a “strict and necessary” or [[perfect duty]] not to lie — in the essay “On a Supposed Right to Lie...” that appears as an appendix to our [[Hackett edition of the |Kant, Grounding for the Metaphysics of Morals]] //[[Grounding|Kant, Grounding for the Metaphysics of Morals]]//)
Korsgaard's suggestion is an example of a [[friendly amendment]]: Korsgaard's arguments attempt to preserve the spirit of Kant's account, making it more flexible in cases where it may seem overly rigid. (Note that Korsgaard’s worry is not the common complaint that Kant's view is “too [[demanding|moral demandingness]]”; rather it’s that lying might actually be //morally better// in some situations!)
To what extent does Korsgaard's view require a substantial deviation from Kant's ideals? Can you imagine ways in which Kant might respond to her suggestions, giving reasons to resist this amendment to his account of moral duty?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Korsgaard, The Right to Lie"
selectedTiddler="$:/temp/toc/korsgaard_rtl/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
{{||navigation}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Latin/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
With details still to be ironed out, I expect that we will revise the [[2020 calendar]] by *extending* the utilitarianism unit into next week. But readings for this week (through Thursday's [[Rawles, Conservation and Animal Welfare]]) remain as scheduled...
This will give everyone a better chance to write a microessay, and may incorporate one or two TA-led sessions on moral problems of current-event significance.
Stay tuned!
<<<.dark
“Do you imagine that a state can subsist and not be overthrown, in which the decisions of law have no power, but are set aside and overthrown by individuals?”
<<<(Crito 50b)
<<<.dark
“But he who has experience of the manner in which we order justice and administer the state, and still remains, has entered into an implied contract that he will do as we command him.”
<<< (Crito 51e)
<<<.dark
“Now you depart in innocence, a sufferer and not a doer of evil; a victim, not of the laws, but of men.”
<<<(Crito 54e)
@@.hlg Socrates argues that he must submit to punishment because he has tacitly consented to obey the rule of law in Athens. For Socrates, a good life, not just life, is most important. While questioning the State is an act of civic virtue, directly disobeying its laws threatens the polis itself. Socrates does not believe he has broken the law; should he die, it is not the laws that have condemned him, but the men who interpret them.@@ This raises the question of whether morality is tied to legality. Is just to break the law to further the greater good? In this context, @@.hlb Socrates would argue that breaking the law threatens the polis, something fundamentally good, and therefore is not justified.@@ [120 Words]
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
1. Offer one or two thoughts about your long-term path, moving through and forward from your time here at Wesleyan.
2. How do you understand the relationship between your experience at Wesleyan and (choose one) that path?
3. What kind of reflective connection or intersection can you articulate between that long-term project/path/narrative and *moral* considerations?
[Next, how our reflections here illuminate (or provide critical angles on) Dewey's article, and also on our semester's work.]
Consider how the stoic idea (of "accepting what is not up to us") contrasts with [[King]]'s ethics:
<<<.dark
Modern psychology has a word that is probably used more than any other word. It is the word 'maladjusted.' Now we all should seek to live a well adjusted life in order to avoid neurotic and schizophrenic personalities. But there are some things within our social order to which I am proud to be [among the] maladjusted and to which I call upon you to be maladjusted. I never intend to adjust myself to segregation and discrimination. I never intend to to adjust myself to mob rule. I never intend to adjust myself to the tragic effects of the methods of physical violence and to tragic militarism. I call upon you to be maladjusted to such things.
<<< MLK speech at SMU on March 17, 1966
[img width=50% class=img-right [mx|https://themuslimtimesdotinfodotcom.files.wordpress.com/2015/02/malcolm-x-quotes-5-e1424520957380.jpg]]
<<slider " 170: It has never been out of ... morality" ">We never made one step forward until world pressure put Uncle Sam on the spot. And it was when he was on the spot that he allowed us to take a couple of steps forward. It has never been out of any internal sense of morality of legality or humanism that we were allowed to advance. You have been as cold as an icicle whenever it came to the rights of the black man in this country. ">>
<<slider " 171: The white person would not remain passive" ">The Supreme Court desegregation decision was handed down over ten years ago. It has been implemented less than ten percent... nowhere in the country... has [the black man] been given an opportunity to function as a human being. Actually, in one sense, it’s our fault... The reason we never received te real thing is that we have not displayed any tendency to do the same for ourselves which other human beings do: to protect our humanity and project our humanity. <br>... Not a single white person in America would sit idly by and let someone do to him what we black men have been letting others do to us. The white person would not remain passive, peaceful, and nonviolent. The day the black man in this country shows others that we are just as human as they in reaction to injustice, that we are willing to die... only then will our people be recognized as human beings. ">>
<<slider " 172: by any means necessary" ">I, for one, think the best way to stop the Ku Klux Klan is to talk to the Ku Klux Klan in the only language it understands, for you can’t talk French to someone who speaks German and communicate. ... Racists know only one language, and... In order to get any kind of point across our people must speak whatever language the racist speaks. The government can’t protect us. The government has not protected us. It is time for us to do whatever is necessary by any means necessary to protect ourselves. <br>[Dec 16, 1964, Harvard Law School]">>
[criminal to teach non-violence]
>Concerning nonviolence, it is criminal to teach a man not to defend himself when he is the constant victim of brutal attacks.
[complementing King's work]
>I want Dr. King to know that I didn’t come to Selma to make his job difficult. I really did come thinking I could make it easier. If the white people realize what the alternative is, perhaps they will be more willing to hear Dr. King.” — reportedly in conversation with Mrs. Coretta Scott King
[on justification of violence]
>If violence is wrong in America, violence is wrong abroad. If it is wrong to be violent defending black women and black children and black babies and black men, then it is wrong for America to draft us, and make us violent abroad in defense of her. And if it is right for America to draft us, and teach us how to be violent in defense of her, then it is right for you and me to do whatever is necessary to defend our own people right here in this country.
[not Americans]
>“We're not Americans, we're Africans who happen to be in America. We were kidnapped and brought here against our will from Africa. We didn't land on Plymouth Rock — that rock landed on us.”
[img width=25% class=img-right [http://2.bp.blogspot.com/-MHfgguU9l_8/T5y_VsSOTiI/AAAAAAAAC-g/OpdPtiqNPnU/s320/KARL-MARX.jpg]]Karl Marx (1818-1883) was a German philosopher, economist, journalist, and revolutionary communist. His philosophical ideas develop a materialist variation on Hegel's historicism.
; historicism
: malleability of nature and/or concepts according to historical forces.
; dialectical
: progressing by dialectic — specifically by a pattern of oppositions and synthesis, as in Hegel
; materialism
: doctrine that reality is material [opposed to idealism and dualism]
;; material basis of ideology
:: correlation between ruling economic classes and “ruling ideas” of a society.
; praxis (“self-activity” in our translation)
: conscious cooperative transformation of the material world to meet human needs
; alienation
: separation of the human being from the activities that define human existence as such.
<$details summary="223: Man can be distinguished from animals by consciousness, by">
<<<.fm
Man can be distinguished from animals by consciousness, by religion or by anything else you like. They themselves begin to distinguish themselves from animals as soon as they begin to produce their means of subsistence, a step which is conditioned by their physical organization.
<<< 223
</$details>
<$details class="fm" summary="223: What people are = how they produce">
<<<.fm
The way in which men produce their means of susbsistence depends first of all on the nature of the actual means of susbsistence they find in existence and have to reproduce. This mode of production must not be considered simply as being the production of the physical existence of the individuals. Rather it is a definite form of activity of these individuals, a definite form of expressing their life, a definite mode of life on their part. As individual express their life, so they are. What they are, therefore, coincides with their production, both with what they produce and with how they produce. The nature of individuals thus depends on the material conditions determining their production.
<<< 223
</$details>
<$details class="fm" summary="224: from real activity to ideology">
<<<.fm
We set out from real, active men, and on the basis of their real life-process we demonstrate the development of the ideological reflexes and echoes of this life-process. The phantoms formed in the human brain are also, necessarily, sublimates of their material life-process, which is empirically verifiable and bound to material premises.
<<< 224
</$details>
<$details class="fm" summary="225: Ruling material force = ruling intellectual force">
<<<.fm
The ideas of the ruling class are in every epoch the ruling ideas, i.e., the class which is the ruling material force of society is at the same time its ruling intellectual force. The class which has the means of material production at its disposal, has control at the same time over the means of mental production... the ideas of those who lack the means of mental production are subject to it.
<<< 225
</$details>
<$details class="fm" summary="49: Humanity: historical animals">
<<<.fm
Men must be in a position to live in order to “make history.” But life involves before everything else eating and drinking, a habitation, clothing and many other things. The first historical act is thus the production of the means to satisfy these needs, the production of material life itself. ... The second point is that the satisfaction of the first need (the action of satisfying and the instrument of satisfactions which have been acquired) leads to new needs; and this producing of new needs is the first historical act.
<<< 49
</$details>
<$details class="fm" summary="272: commodification of the worker">
<<<.fm
we have shown that the worker sinks to the level of a commodity, the most miserable commodity; that the misery of the worker is inversely proportional to the power and volume of his production; that the necessary result of compeition is the accumulation of capital in a few hands and thus ... the whole society must divide into the two classes of proprietors and propertyless workers. <br>The worker becomes poorer the more wealth he produces... Labor not only produces commodities. It also produces itself and the worker as a commodity, and indeed in the same proportion as it produces commodities in general.
<<< 272
</$details>
<$details class="fm" summary="273: Alienation">
<<<.fm
the object which labor produces, its product, stands iopposed to it as an alien thing, as a power independent of the producer. The product of labor is labor embodied and made objective in a thing. ... <br>So much does the realization of labor appear as diminution that the laborer is diminished to the point of starvation. ... Indeed, work itself becomes a thing of which he can take possession only with the greatest effort and with the most unpredictable interruptions. So much does the appropriation of the objet appear as alienation the the more objects the worker produces, the fewer he can own and the more he falls under the domination of his product, of capital.
<<< 273
</$details>
<$details class="fm" summary="275: Externalization of labor">
<<<.fm
What constitutes the externalization of labor? <br>First is the fact that labor is external to the laborer — that is, it is not part of is nature — and that the worker does not affirm himself in his work but denies himself, feels miserable and unhappy, develops no free physical and mental energy but mortifies his flesh and ruins his mind. The worker, therefore feels at ease only outside work, and during work he is outside himself. He is at home when he is not working and when he is working he is not at home. His work, therefore, is not voluntary, but coerced. forced labor. It is not the satisfaction of a need but only a means to satisfy other needs. ... as soon as no physical or other pressure exists, labor is avoided like the plague.
<<< 275
</$details>
<$details class="fm" summary="277: Life activity and essence">
<<<.fm
The animal is immediately one with its life activity, not distinct from it. The animal is its life activity. Man makes his life activity itself into an object of will and consciousness. he has conscious life activity. ... Conscious life activity distinguishes man immediately from the life activity of the animal. ... Alienated labor reverses the relationship in that man since he is a conscious being, makes his life activity, his essence, only a means for his existence.
<<< 277
</$details>
Marx’s relevance to moral philosophy:
* A program for economic revolution
* Roots of skeptical and relativist arguments
;How does Marx justify having a normative point of view that challenges the actual dominant ideology?
:(a) Marx predicts a shift of values.
:(b) Marx claims that there can be a better ideology:
:: The value of the labor is granted entirely to the laborer.
; What did Marx "fail to acknowledge"?
: ...
;If we’re stuck with an industrial economy, how do we eliminate industrial division of labor?
:Ans: reintegration of decision-making and labor
::(means reintegration of ownership and laboring)
;What are the ruling ideologies of our current society?
:That happiness is measured by money.
:That any being should be satisfied with activity insofar as it brings money.
:That “laizzez-faire” economic arrangements (market forces) are just by definition.
<<slider " 12: Capitalist ethic: the right to buy and sell labor is paramount." ">Marx... believed that a society’s ethics is a reflection of the economic structure to which its technology has given rise. Thus a feudal economy in which serfs are tied to their lord’s land gives you the ethic of feudal chivalry based on the loyalty of knights and vassals to their lord, and the obligations of teh lord to pretect them in time of war. A capitalist economy requires a mobile labor force able to meet the needs of the market, so it breaks the tie between lord and vassal, substituting an ethics in which the right to buy and sell labor is paramount. <br>[in Peter Singer, //Practical Ethics//]<br>">>
<<slider " 12: Communications technology and a global ethic" ">Our newly interdependent global society, with its remarkable possibilities for linking people around the planet, gives us the material basis for a new ethic. Marx would have thought that such an ethic would serve the intersts of the ruling class, that is, the rich nations and the transnational corporations they have spawned. But perhaps our ethics is related to our technology in a looser, less deterministic, way than Marx thought. Ethics appears to have developed from the behavior and feelings of social mammals. It became distinct from anything we can observe in our closests nonhuman relatives when we started using our reasoning abilities to justify our behavior to other members of our group. If the group to which we must justify ourselves is the tribe, or the nation, then our morality is likely to be tribal, or nationalistic. If, however, the revolution in communications has created a global audience, then we might feel a need to justify our behavior to the whole world. This change creates the material basis for a new ethics that will serve the interests of all those who live on this planet in a way that, despite much rhetoric, no previous ethic has ever done.<br>[in Peter Singer, //Practical Ethics//]">>
<<slider " 49: Humanity: historical animals" ">Men must be in a position to live in order to “make history.” But life involves before everything else eating and drinking, a habitation, clothing and many other things. The first historical act is thus the production of the means to satisfy these needs, the production of material life itself. ... The second point is that the satisfaction of the first need (the action of satisfying and the instrument of satisfactions which have been acquired) leads to new needs; and this producing of new needs is the first historical act.">>
<<slider " 54: Praxis ... is essentially a social activity... cooperative" ">Praxis ... is essentially a social activity... cooperative in that it invariably involves some division of labor and draws on the knowledge, skills, and experience of earlier workers.<br>[in A Jaggar, //Feminist Politics & Human Nature//] p. 54">>
<<slider " 223: Man can be distinguished from animals by" ">Man can be distinguished from animals by consciousness, by religion or by anything else you like. They themselves begin to distinguish themselves from animals as soon as they begin to produce their means of subsistence, a step which is conditioned by their physical organization.">>
<<slider " 223: What people are = how they produce" ">The way in which men produce their means of susbsistence depends first of all on the nature of the actual means of susbsistence they find in existence and have to reproduce. This mode of production must not be considered simply as being the production of the physical existence of the individuals. Rather it is a definite form of activity of these individuals, a definite form of expressing their life, a definite mode of life on their part. As individual express their life, so they are. What they are, therefore, coincides with their production, both with what they produce and with how they produce. The nature of individuals thus depends on the material conditions determining their production.">>
<<slider " 224: from real activity to ideology" ">We set out from real, active men, and on the basis of their real life-process we demonstrate the development of the ideological reflexes and echoes of this life-process. The phantoms formed in the human brain are also, necessarily, sublimates of their material life-process, which is empirically verifiable and bound to material premises.">>
<<slider " 225: Ruling material force = ruling intellectual force" ">The ideas of the ruling class are in every epoch the ruling ideas, i.e., the class which is the ruling material force of society is at the same time its ruling intellectual force. The class which has the means of material production at its disposal, has control at the same time over the means of mental production... the ideas of those who lack the means of mental production are subject to it.">>
<<slider " 272: commodification of the worker" ">we have shown that the worker sinks to the level of a commodity, the most miserable commodity; that the misery of the worker is inversely proportional to the power and volume of his production; that the necessary result of compeition is the accumulation of capital in a few hands and thus ... the whole society must divide into the two classes of proprietors and propertyless workers. <br>The worker becomes poorer the more wealth he produces... Labor not only produces commodities. It also produces itself and the worker as a commodity, and indeed in the same proportion as it produces commodities in general.">>
<<slider " 273: Alienation" ">the object which labor produces, its product, stands iopposed to it as an alien thing, as a power independent of the producer. The product of labor is labor embodied and made objective in a thing. ... <br>So much does the realization of labor appear as diminution that the laborer is diminished to the point of starvation. ... Indeed, work itself becomes a thing of which he can take possession only with the greatest effort and with the most unpredictable interruptions. So much does the appropriation of the objet appear as alienation the the more objects the worker produces, the fewer he can own and the more he falls under the domination of his product, of capital.">>
<<slider " 275: Externalization of labor" ">What constitutes the externalization of labor? <br>First is the fact that labor is external to the laborer — that is, it is not part of is nature — and that the worker does not affirm himself in his work but denies himself, feels miserable and unhappy, develops no free physical and mental energy but mortifies his flesh and ruins his mind. The worker, therefore feels at ease only outside work, and during work he is outside himself. He is at home when he is not working and when he is working he is not at home. His work, therefore, is not voluntary, but coerced. forced labor. It is not the satisfaction of a need but only a means to satisfy other needs. ... as soon as no physical or other pressure exists, labor is avoided like the plague.">>
<<slider " 277: Life activity and essence" ">The animal is immediately one with its life activity, not distinct from it. The animal is its life activity. Man makes his life activity itself into an object of will and consciousness. he has conscious life activity. ... Conscious life activity distinguishes man immediately from the life activity of the animal. ... Alienated labor reverses the relationship in that man since he is a conscious being, makes his life activity, his essence, only a means for his existence.">>
It is difficult to isolate a single piece of [[Marx]]'s writing that shows its philosophical dimensions; indeed, Marx's philosophy is inextricable from his understanding of history and human practice. In other words, he is a profoundly [[empiricist|empiricism]] thinker, denying that there are ideas that can be understood independently of the form of life from which they emerge.
<$details summary="Marx">
{{Marx}}
</$details>
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Marx, Morality as Ideology"
selectedTiddler="$:/temp/toc/Marx_MI/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
to [[Beauvoir, Ethics of Ambiguity]]
Choose one of these options:
;(A) Can conscience and self-interest conflict?
:Offer a discussion that includes, for each thinker you discuss, some account of what "conscience" might mean, what "self-interest" might mean, and how/when/why these motives conflict. (And: Do they truly conflict, or do they just seem to conflict?) Consider at least four authors, and remember that for some authors, you might want to discuss MULTIPLE possible interpretations… Integrate some comparative and evaluative remarks.
;(B) Talk about moral disagreement
:What do our texts suggest or illustrate about how I should (or shouldn't) treat those who do NOT act according to the moral ideals I myself may cherish? (How should we approach disagreement? What attitudes or strategies do we use when we confront what seems wrong to us? What kinds of ideals or standards can we be most morally confident about, and which ones should we think of as open to debate?) Mention and compare at least four authors, and remember to consider multiple interpretive variations on an author where appropriate, and include critical evaluative commentary.
;(C) What does reason have to do with it?
:How much — and in what ways — can reason provide moral guidance, according to our texts? What can it do (or show), and what is it powerless to do (or show)? Might our authors have somewhat different notions of what reason is (hence explaining differences in how they see its role in moral life)? Consider at least four authors; compare, contrast, and evaluate along the way.
<$details class="fm" summary="130: the practical question, where to place the limit how">
<<<.fm
the practical question, where to place the limit how to make the fitting adjustment between individual independence and social control—is a subject on which nearly everthing remains to be done.
<<< 130
</$details>
<$details class="fm" summary="132: The likings and disikings of society, or of some">
<<<.fm
The likings and disikings of society, or of some powerful portion of it, are thus the main thing which has practically determined the rules laid down for general observance, under the penalties of law or opinion.
<<< 132
</$details>
<$details class="fm" summary="135: interfere only to prevent harm to others">
<<<.fm
The object of this Essay is to assert one very simple principle, as entitled to govern ... That principle is, that the sole end for which mankind are warranted, individually or collectively, in interfering with the liberty of action of any of their number, is self-protection. That the only purpose for which power can be rightfully exercised over any member of a civilized community, against his will, is to prevent harm to others. His own good, either physical or moral, is not a sufficient warrant. ... Over himself, over his own body and mind, the individual is sovereign.
<<< 135
</$details>
<$details class="fm" summary="303: We do not call anything wrong, unless we mean">
<<<.fm
We do not call anything wrong, unless we mean to imply that a person ought to be punished in some way or other for doing it; if not by law, by the opinion of his fellow-creatures; if not by opinion, by the reproaches of his own conscience.
<<< 303
</$details>
>Happiness has made out its title as one of the ends of conduct... But... ''to [prove happiness is the sole criterion of morality]'' it would seem, by the same rule, ''necessary to show'', not only that people desire happiness, but that ''they never desire anything else''. Now it is palpable that they do desire things which, in common language, are decidedly distinguished from happiness. They desire, for example, virtue, and the absence of vice, no less really than pleasure and the absence of pain. The desire of virtue is not as universal, but it is as authentic a fact, as the desire of happiness. And hence the ''opponents of the utilitarian standard'' deem that they have a right to ''infer that there are other ends of human action'' besides happiness, and that happiness is not the standard of approbation and disapprobation.
!!!Mill insists that utilitarianism can respect the unique importance of justice, claiming or implying that…
<$details state="!!accord1" summary="(a) the sentiment of justice is rooted in natural “animal” feelings, but such feelings are moral only when they are appropriately constrained by reflections on utility." mode="custom" $state="aaa2">@@color:green; Yes. @@</$details>
<$details state="!!accord2" summary="(b) wrong actions are not necessarily unjust — but that is only because laws prohibiting them might not themselves serve the general good." mode="custom" $state="aaa5">@@color:red;No... The first part is true, and the second part brings up a question that does matter to Mill... but the line between wrongness and injustice involves more than whether laws would serve the general good. It involves, for example, whether there is a “victim” whose basic expectations are violated.@@</$details>
<$details state="!!accord3" summary="(c) only a minority of bad actions have enough of a negative impact on utility to be worth some kind of punishment, and those are the actions we call unjust." mode="custom" $state="aaa3">@@color:red;No... Mill does seem to recommend weighing the costs & benefits of punishment, but his claim is that those “worth punishing (formally or informally)” are *wrong*... but not all wrongs are unjust. Injustice happens only when a right/entitlement is violated.@@</$details>
<$details state="!!accord4" summary="(d) the essence of justice is the protection of individual rights, which can be understood a priori." mode="custom" $state="aaa4">@@color:red;No... Rights cannot be understood a priori for Mill (nothing can)@@</$details>
<$details state="!!accord5" summary="(e) justice is not more certain or clear than utility; where there is a controversy over utility, there may also be controversy over justice." mode="custom" $state="aaa1">@@color:green; Yes. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<<<.dark
The great @@.hls majority of good actions@@ are intended not for the benefit of the world, but for that of individuals, of which the good of the world is made up; and the thoughts of the most virtuous man need not on these occasions travel beyond the particular persons concerned, except so far as is necessary to assure himself that in benefiting them he is not violating the rights, that is, the legitimate and authorised expectations, of any one else. The multiplication of happiness is, according to the utilitarian ethics, the object of virtue: the occasions on which any person (except one in a thousand) has it in his power to do this on an extended scale, in other words to be a public benefactor, are but exceptional; and on these occasions alone is he called on to consider public utility; in every other case, private utility, the interest or happiness of some few persons, is all he has to attend to. Those alone the influence of whose actions extends to society in general, need concern themselves habitually about large an object. @@.hls In the case of abstinences @@ indeed — of things which people forbear to do from moral considerations, though the consequences in the particular case might be beneficial — it would be unworthy of @@.hls an intelligent agent @@ not to be consciously @@.hls aware that the action is @@ of a class which, if practised generally, would be generally @@.hls injurious @@, and that this is the ground of the obligation to abstain from it. The amount of regard for the public interest implied in this recognition, is no greater than is demanded by every system of morals, for they all enjoin to abstain from whatever is manifestly pernicious to society.
<<<
<$details class="fm" summary="35: Proof of desirability">
<<<.fm
The only proof capable of being given that an object is visible, is that people actually see it. The only proof that a sound is audible, is that people hear it: and so of the other sources of our experience. In like manner, I apprehend, the sole evidence it is possible to produce that anything is desirable, is that people do actually desire it. If the end which the utilitarian doctrine proposes to itself were not, in theory and in practice, acknowledged to be an end, nothing could ever convince any person that it was so. No reason can be given why the general happiness is desirable, except that each person, so far as he believes it to be attainable, desires his own happiness. This, however, being a fact, we have not only all the proof which the case admits of, but all which it is possible to require, that happiness is a good: that each person's happiness is a good to that person, and the general happiness, therefore, a good to the aggregate of all persons.
<<< 35
</$details>
<$details class="fm" summary="36: The challenge: is it sole criterion?">
<<<.fm
Happiness has made out its title as one of the ends of conduct, and consequently one of the criteria of morality. ¶ But it has not, by this alone, proved itself to be the sole criterion. To do that, it would seem, by the same rule, necessary to show, not only that people desire happiness, but that they never desire anything else. Now it is palpable that they do desire things which, in common language, are decidedly distinguished from happiness. They desire, for example, virtue, and the absence of vice, no less really than pleasure and the absence of pain. The desire of virtue is not as universal, but it is as authentic a fact, as the desire of happiness. And hence the opponents of the utilitarian standard deem that they have a right to infer that there are other ends of human action besides happiness, and that happiness is not the standard of approbation and disapprobation. <br>
<<< 36
</$details>
<$details class="fm" summary="36: Virtue for its own sake">
<<<.fm
But does the utilitarian doctrine deny that people desire virtue, or maintain that virtue is not a thing to be desired? The very reverse. It maintains not only that virtue is to be desired, but that it is to be desired disinterestedly, for itself. Whatever may be the opinion of utilitarian moralists as to the original conditions by which virtue is made virtue; however they may believe (as they do) that actions and dispositions are only virtuous because they promote another end than virtue; yet this being granted, and it having been decided, from considerations of this description, what is virtuous, they not only place virtue at the very head of the things which are good as means to the ultimate end, but they also recognise as a psychological fact the possibility of its being, to the individual, a good in itself, without looking to any end beyond it; and hold, that the mind is not in a right state, not in a state conformable to Utility, not in the state most conducive to the general happiness, unless it does love virtue in this manner- as a thing desirable in itself, even although, in the individual instance, it should not produce those other desirable consequences which it tends to produce, and on account of which it is held to be virtue.
<<< 36
</$details>
<$details class="fm" summary="37: Things originally means which become part of happiness">
<<<.fm
To illustrate this farther, we may remember that virtue is not the only thing, originally a means, and which if it were not a means to anything else, would be and remain indifferent, but which by association with what it is a means to, comes to be desired for itself, and that too with the utmost intensity. What, for example, shall we say of the love of money? There is nothing originally more desirable about money than about any heap of glittering pebbles. Its worth is solely that of the things which it will buy; the desires for other things than itself, which it is a means of gratifying. Yet the love of money is not only one of the strongest moving forces of human life, but money is, in many cases, desired in and for itself; .. From being a means to happiness, it has come to be itself a principal ingredient of the individual's conception of happiness. <br>...The desire of it is not a different thing from the desire of happiness, any more than the love of music, or the desire of health. They are included in happiness. They are some of the elements of which the desire of happiness is made up. Happiness is not an abstract idea, but a concrete whole; and these are some of its parts.
<<< 37
</$details>
<$details class="fm" summary="39: psychology: aiming for happiness">
<<<.fm
If the opinion which I have now stated is psychologically true- if human nature is so constituted as to desire nothing which is not either a part of happiness or a means of happiness, we can have no other proof, and we require no other, that these are the only things desirable. If so, happiness is the sole end of human action, and the promotion of it the test by which to judge of all human conduct; from whence it necessarily follows that it must be the criterion of morality, since a part is included in the whole.
<<< 39
</$details>
<<<.fm
The'' __only proof__'' capable of being given that an object is __visible__, is that people actually see it. The only proof that a sound is __audible__, is that people hear it: and so of the other sources of our experience. In like manner, I apprehend, the sole evidence it is possible to produce that anything is __desirable__, is that people do actually desire it. If the end which the utilitarian doctrine proposes to itself were not, in theory and in practice, acknowledged to be an end, nothing could ever convince any person that it was so. No reason can be given why __the general happiness is desirable__, except that each person, so far as he believes it to be attainable, desires his own happiness. This, however, being a fact, we have not only all the proof which the case admits of, but all which it is possible to require, that happiness is a good: that each person's happiness is a good to that person, and the general happiness, therefore, a good to the aggregate of all persons.
<<<
<$details open="yes" summary="How can this argument be analyzed?">
|examples showing a pattern|The //only proof// capable of being given that an object is __''visible''__, is… <br><<hspace 8em>>that people actually ''see'' it. <br>The //only proof// that a sound is __''audible''__, is… <br><<hspace 8em>> that people ''hear'' it <br>… and so of the other sources of our experience. |
|implicit generalization as quiet [[subconclusion]]:|For any __ __: <br>The only proof that something is __ __able … <br> <<hspace 6em>>… is that people __ __ it.|
|[[conclusion]] (fill in the blanks above):|The only proof that something is ___''desir'' __able is <br><<hspace 8em>> that people __''desire''__ it. |
</$details>
<$details summary="How might this argument be criticized?">
Consider this general rule for the evaluation of reasoning:
Every objection must tackle either:
* the plausibility of one or more [[premises|premise]]
* the structural strength ([[validity]]) of the [[inference]] from [[premises|premise]] to [[conclusion]].
<$details summary="Is there any other kind of objection?">
Fallacy of [[equivocation]]: using the same word ("desirable") in two senses, exploiting the ambiguity of the word:
|"desirable"|as in "capable of being desired"|.. is what Mill's premises are about.|
|~|as in "worthy of desire"|...is what Mill's conclusion needs to refer to.|
|loudtable|k
Might Mill have a [[reply]] to this [[objection]]? Of course! ;)
</$details>
''John Stuart Mill, //Utilitarianism//, and the 1868 Speech on Capital Punishment'' (Hackett, 1993, Third Edition)|
[img width=auto% [Mill Utilitarianism|https://images-na.ssl-images-amazon.com/images/I/31PGIRBWWZL._SX322_BO1,204,203,200_.jpg]]
The first two chapters of //[[Utilitarianism|Mill, Utilitarianism]]// seem like straightforward reading (especially after Kant), but they contain some detailed [[objection]]-[[reply|anticipated objection]] sequences and many careful [[distinctions|distinction]] which will require philosophical discussion.
What [[distinctions|distinction]] do you notice [[Mill|J S Mill]] making, and what is at stake for him in making them as he does? Unlike [[Kant]], Mill is an [[empiricist|empiricism]], and as such he grounds his [[argument]] in many [[empirical]] claims about psychology — how human beings actually experience things, and how they are influenced by their surroundings. Which of these [[empirical]] claims stand out as significant, and why?
<$macrocall
$name="toc-tabbed-external-nav"
tag="Mill1"
selectedTiddler="$:/temp/toc/Mill1/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
[[◀ back to Korsgaard|Korsgaard, The Right to Lie]] @@float:right; [[forward to Mill2▶|Mill2]]
In the core chapters of //Utilitarianism//, [[J S Mill]] offers an [[argument]] for treating [[happiness]] as the goal of morality, and also considers how people might become motivated to care about something that is not identical to their own happiness.
Mill's arguments (like many other philosophers') have sometimes been accused of various [[fallacies|fallacy]] of reasoning. Do you notice patterns of reasoning that seem suspicious or misleading? How might Mill respond to those charges?
{{||vocabulary-here}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Mill2"
selectedTiddler="$:/temp/toc/Mill2/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
[[◀ back to Mill Ch 1-2|Mill1]] @@float:right; [[forward to Mill Ch 5▶|Mill3]]
In Chapter 5, [[J S Mill]] offers a [[reply]] to the most widespread [[objection]] to [[utilitarianism]] — namely, that it lacks a satisfying account of ''justice'' or ''rightness'' (an account that must begin by recognizing that justice doesn't //seem// to be about maximizing [[happiness]] at all)...
What are the core points that [[J S Mill]] makes in attempting to address this [[objection]]?
What [[distinctions|distinction]] does Mill make, in offering a [[utilitarian|utilitarianism]] account of justice?
{{||vocabulary-here}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Mill3"
selectedTiddler="$:/temp/toc/Mill3/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
[[◀ back to Mill Ch 3-4|Mill2]] @@float:right; [[forward to Rawles▶|Rawles, Conservation and Animal Welfare]]
<svg xmlns="http://www.w3.org/2000/svg" height="14pt" width="14pt" viewBox="0 -20 128 128"><radialGradient id="a" cx="532.855" cy="-537.557" r="209.76" gradientTransform="matrix(1 0 0 -1 -297.6 -460.9)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FAAF40"/><stop offset=".043" stop-color="#F9A538"/><stop offset=".112" stop-color="#F89D31"/><stop offset=".227" stop-color="#F89A2F"/><stop offset=".528" stop-color="#F7922D"/><stop offset="1" stop-color="#F37B28"/></radialGradient><path fill="url(#a)" d="M106.259 105.754v-38.779c0-8.164-3.397-12.244-10.034-12.244-6.629 0-10.034 4.08-10.034 12.244v38.779h-19.897v-38.779c0-8.164-3.228-12.244-9.862-12.244-6.633 0-10.036 4.08-10.036 12.244v38.779h-19.729v-40.986c0-8.504 2.891-14.801 8.844-19.223 5.102-3.91 12.246-5.777 20.92-5.777 9.015 0 15.478 2.207 19.727 6.801 3.57-4.594 10.207-6.801 19.897-6.801 8.844 0 15.819 1.867 20.922 5.777 5.951 4.422 8.843 10.719 8.843 19.223v41.152h-19.563v-.166z"/><path fill="#58595B" d="M28.539 49.627l-2.041 10.207c18.708 6.291 36.395.166 45.751-16.158-13.778-9.522-26.535.17-43.71 5.951"/><linearGradient id="b" x1="324.268" x2="368.932" y1="-509.952" y2="-509.952" gradientTransform="matrix(1 0 0 -1 -297.6 -460.9)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#929497"/><stop offset=".124" stop-color="#757578"/><stop offset=".279" stop-color="#575658"/><stop offset=".44" stop-color="#403E3F"/><stop offset=".609" stop-color="#302D2E"/><stop offset=".788" stop-color="#262223"/><stop offset="1" stop-color="#231F20"/></linearGradient><path fill="url(#b)" d="M28.539 47.08c-.681 3.91-1.192 7.65-1.872 11.563 17.857 6.125 35.375.85 44.73-15.137-11.909-13.776-25.17-2.383-42.858 3.574"/><linearGradient id="c" x1="332.834" x2="351.377" y1="-495.051" y2="-521.534" gradientTransform="matrix(1 0 0 -1 -297.6 -460.9)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#231F20"/><stop offset="1" stop-color="#231F20" stop-opacity="0"/></linearGradient><path fill="url(#c)" d="M49.799 51.668c-8.164-1.701-17.009 2.555-23.131 6.975-3.912-28.57 13.777-27.893 36.903-20.75-1.529 6.975-4.083 16.33-8.502 21.941-.169-3.744-1.869-6.293-5.27-8.166"/><linearGradient id="d" x1="299.778" x2="381.412" y1="-495.802" y2="-495.802" gradientTransform="matrix(1 0 0 -1 -297.6 -460.9)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#929497"/><stop offset=".124" stop-color="#757578"/><stop offset=".279" stop-color="#575658"/><stop offset=".44" stop-color="#403E3F"/><stop offset=".609" stop-color="#302D2E"/><stop offset=".788" stop-color="#262223"/><stop offset="1" stop-color="#231F20"/></linearGradient><path fill="url(#d)" d="M2.178 47.08c29.932-18.031 46.77-21.43 81.634-25-40.478 31.969-41.499 25-81.634 25"/><path fill="none" stroke="#4A4A4C" stroke-width=".5" d="M83.812 22.246l-32.145 23.299"/><path fill="#231F20" d="M45.545 34.66c.34 3.744-.511-3.572 0 0" enable-background="new" opacity=".23"/><path fill="none" stroke="#A8ABAD" stroke-width=".5" d="M2.178 47.08l49.489-1.535"/><path fill="none" stroke="#F16922" stroke-width=".5" d="M42.484 35.002c-8.504 2.381-36.394 8.504-36.737 12.078-.849 6.631-.167 17.176-.167 17.176"/><path fill="#F16922" d="M8.131 89.596c-3.063-7.652-6.804-16.158-2.384-26.703 2.893 9.863 2.384 17.347 2.384 26.703"/><path fill="#6D6E70" d="M41.076 33.844c.708-.25 1.384-.17 1.509.184.126.355-.344.846-1.052 1.096-.709.256-1.384.172-1.51-.184-.127-.352.344-.844 1.053-1.096z"/></svg>
Here's an efficient cartoon-board video overview of debates around [[moral status|https://www.khanacademy.org/partner-content/wi-phi/wiphi-value-theory/wiphi-ethics/v/moral-status]]
One comment worth extracting from that overview is Kenneth Goodpaster's radical challenge:
>Sentience, or the capacity to have conscious experiences, is only a tool that evolution gave us in order to survive and reproduce. So why should morality privilege those of us who happen to survive by feeling pleasures and pains over other living organisms who happen to survive and reproduce in other ways?
[img[outline|http://d.pr/i/Qb5o+]]
[img width=20% class=img-right [Nietzsche|https://www.biography.com/.image/t_share/MTE5NTU2MzE2MzMwMTAwMjM1/friedrich-nietzsche-9423452-1-402.jpg]] Friedrich Nietzsche (1844-1900) was a German [[philologist|philology]], Classicist, and philosopher who is best known for provocative and aphoristic essays that disturb conventional values. His work is known for perspectivalist and existentialist themes, emphasizing the historical evolution of meanings and ideals.
<$details class="fm" summary="45: no doer behind the deed">
<<<.fm
For just as the popular mind separates the lightning from its flash and takes the latter for an action, for the operation of a subject called lightning, so popular morality also separates strength from expressions of strength, as if there were a neutral substratum behind the strong man, which was free to express strength or not to do so. But there is no such substratum; there is no “being” behind doing, effecting, becoming; “the doer” is merely a fiction added to the deed — the deed is everything.
<<< 45
</$details>
<$details class="fm" summary="125: I seek God... We have killed him!">
<<<.fm
Haven’t you heard of that madman who lit a lantern in the bright morning, ran to the marketplace , and shouted unceasingly, “I seek God! I seek God!”? ... The madman sprang into their midst and transfixed them with his gaze. “Where has God gone?” he cried, “I’ll tell you where! We’ve killed him—you and I! ... Is there still an above and a below? Aren’t we wandering as if through an endless nothing? ... Don’t we yet hear the noise of the gravediggers who are burying God? Don’t we yet smell the divine rot? — For gods rot too! God is dead! God remains dead! And we have killed him!...
<<< 125
</$details>
<$details class="fm" summary="244: etymology of “good”">
<<<.fm
what is the true etymological significance of the various symbols for the idea “good” which have been coined in the various languages? ... they all led back to the same evolution of the same idea — that everywhere “aristocrat,” “noble” (in the social sense), is the root idea, out of which have necessarily developed “good” in the sense of “with aristocratic soul,” “noble,” in the sense of “with a soul of high calibre,” “with a privileged soul”—a development which invariably runs parallel with that other evolution by which “vulgar,” “plebeian,” “low,” are made to change finally into “bad.” ...
<<< 244
</$details>
<$details class="fm" summary="244: resentment and slave morality">
<<<.fm
The revolt of the slaves in morals begins in the very principle of resentment becoming creative and giving birth to values — a resentment experienced by creatures who, deprived as they are of the proper outlet of action, are forced to find their compensation in an imaginary revenge. While every aristocratic morality springs from a triumphant affirmation of its own demands, the slave morality says “no” from the very outset to what is “outside itself,” “different from itself,” and “not itself”: and this “no” is its creative deed. . . .
<<< 244
</$details>
<$details class="fm" summary="246: self-consolation for lack of power: finding someone responsible">
<<<.fm
The interpretation by means of which the Christian sinner tries to understand himself, is an attempt at justifying his lack of power and of self-confidence: he prefers to feel himself a sinner rather than feel bad for nothing: it is in itself a symptom of decay when interpretations of this sort are used at all. ... when... the Socialist, the Anarchist, and the Nihilist are conscious that their existence is something for which someone must be guilty, they are very closely related to the Christian, who also believes that he can more easily endure this ill ease and his wretched constitution when he has found someone whom he can hold responsible for it.
<<< 246
</$details>
<$details class="fm" summary="247: Altruism as egoism">
<<<.fm
The instinct of revenge and resentment as a means of enduring life, as a self-preservative measure... At bottom... the discharge of resentment which takes place in the act of judging, rejecting, and punishing egoism (one’s own or that of others) is still a self-preservative measure on the part of the bungled and the botched. In short: the cult of altruism is merely a particular form of egoism...
<<< 247
</$details>
<$details class="fm" summary="248: Exploitation as essential to life">
<<<.fm
On no point, however, is the ordinary consciousness of Europeans more unwilling to be corrected than on this mater; people now rave everywhere, even under the guise of science, about coming conditions of society in which ”the exploiting character”is to be absent: — that sounds to my ears as if they promised to invent a mode of life which should refrain from all organic functions. “Exploitation” does not belong to a depraved, or imperfect and primitive society: it belongs to the nature of the living being as a primary organic function; it is a consequence of the intrinsic Will to Power, which is precisely the Will to Life.
<<< 248
</$details>
<$details class="fm" summary="251: man does not desire ‘happiness’.">
<<<.fm
Rudimentary psychology... which sought a will behind every action... could only answer “happiness” to the question: “What does man desire?” (it was impossible to answer “Power,” because that would have been immoral); —...<br>As a matter of fact, man does not desire “happiness.” Pleasure is a sensation of power: if the passions are excluded, those states of the mind are also excluded which afford the greatest sensation of power and therefore of pleasure. The highest rationalism is a state of cool clearness, which is very far from being able to bring about that feeling of power which every kind of exaltation involves...
<<< 251
</$details>
<$details class="fm" summary="256: transvaluation of values">
<<<.fm
Transvalue values— what does this mean? ... we ought o have the courage to become conscious, and to affirm all that which has been attained... A transvaluation of values can only be accomplished when there is a tension of new needs, and a new set of needy people who fell all old values as painful — although they are not conscious of what is wrong.
<<< 256
</$details>
<$details class="fm" summary="270: Become who you are">
<<<.fm
What does your conscience say? — “You shall become who you are”
<<< 270
</$details>
<$details class="fm" summary="276: amor fati">
<<<.fm
I want to learn more and more to see as beautiful what is necessary in things — In this way I will be one of those who make things beautiful. Amor fati [love of fate]: let that be my love from now on! I do not want to wage any war against what is ugly. I do not want to accuse; I do not even want to accuse the accusers. Let looking away be my only negation! And all in all, to sum it up: some day I want to be only a Yes-sayer!
<<< 276
</$details>
<$details class="fm" summary="341: eternal return">
<<<.fm
What if one day or one night a demon slinked after you into your loneliest loneliness and said to you: “This life, as you live it now and as you have lived it, you will have to live once more and countless times more. And there will be nothing new about it, but every pain and every pleasure, and every thought and sigh, and everything unspeakably small and great in your life must come back to you, and all in the same series and sequence —and likewise this spider and this moonlight... The eternal hourglass of existence is turned over again and again—and you with it, you mote of dust!”<br>... The question in each and every thing, “Do you will this once more and countless times more?” would lie as the heaviest weight upon your acts! Or how benevolent would you have to become toward yourself and toward life in order to long for nothing more ardently than for this ultimate eternal sanction and seal?
<<< 341
</$details>
<$details class="fm" summary="349: Will to power">
<<<.fm
Wanting to preserve oneself expresses a situation of emergency, a constriction of the real, fundamental drive of life, which aims at extending its power, and in this willing, often enough puts self-preservation into question and sacrifices it. <br>... Darwinism, with its unbelievably one-sided doctrine of the “struggle for existence”... a result of the ancestry of most natural scientists... poor and humble folks... But... in nature what rules is not emergency situations, but overflow, superfluity, even to the point of absurdity. The struggle for existence is only an exception, a temporary restriction of the will to live; everywhere the struggle, both great and small revolves around supremacy, around growth and expansion, around power, in accordance with the will to power, which is precisely the will of life.
<<< 349
</$details>
<$details class="fm" summary="370: Backward inference.. to the need... behind it">
<<<.fm
Thus I gradually learned... My sight grew ever sharper for that most difficult and dangerous form of backward inference in which the most mistakes are made: the backward inference from the work to the author, from the deed to the doer, from the ideal to the one who finds it necessary, from every way of thinking and valuing to the need that is in command behind it.<br>With regard to all aesthetic values, I now make use of this main distinction: I as in every individual case: “Is it hunger or overflow that has become creative here?”
<<< 370
</$details>
<$details class="fm" summary="374: necessarily perspectival character of human existence">
<<<.fm
How far the perspectival character of existence reaches, or even whether existence has any other character; whether an existence without interpretation, without “sense,” becomes precisely “nonsense”; whether, on the other hand, all existence is not essentially an interpreting existence—this cannot be figured out, and rightfully so... the human intellect cannot help seeing itself under its own perspectival forms, and only in them. We cannot see around our own corner...<br>But I think that today we are at least far from the laughable presumption of decreeing from our corner that one is allowed to have perspectives only from this corner.
<<< 374
</$details>
In this set of excerpts, watch for irony, allegory, and aphorisms...
<$details class="notification" summary="Nietzsche">
{{Nietzsche}}
</$details>
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Nietzsche, Transvaluation, Gay Science excerpts"
selectedTiddler="$:/temp/toc/Nietzsche-tgs/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSehM-nIwi2kEfS2itRZl_GY6F3OfqIhX3MmRAR9x-BcMnWd9g/viewform?embedded=true" width="640" height="1569" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>
[img width=25% class=img-right [Noddings|https://rockethics.psu.edu/images/rock-guest-photo/nel-noddings/image]]
Nel Noddings (1929– ) is an educator and philosopher of education.
# It is this ethical ideal, this realistic picture of ourselves as one-caring, that guides us as we strive to meet the other morally.
# Everything depends upon the nature and strength of this ideal, for
# we shall not have absolute principles to guide us. Indeed,
# [The] ethics of principle [is] ambiguous and unstable.
# Wherever there is a principle, there is implied its exception and,
# too often, principles function to separate us from each other.
# We may become dangerously self-righteous when we perceive ourselves a holding a precious principle not held by the other.
# The other may then be devalued and treated "differently" [and …
# … Such] treatment is never conducted ethically. Hence,
# When we must use violence or strategies on the other, we are already diminished ethically.
# Our efforts must, then, be directed to the maintenance of conditions that will permit caring to flourish.
;An analysis of the reasoning here would affirm...
: (2) gains support from (1) and (3) as premises, but the argument is enthymematic.
: There is a chain of inference building from (4) to (5) to (6).
:(5) is a premise for which further support is not offered within this passage.
: A reasonable objection to this passage is that (10) is an unsupported assumption.
: (2) is the overall conclusion of the passage.
[img[Noddings|https://www.dropbox.com/s/dogn4jh26n216j9/Noddings_on_judgment_diagram_ordered.png?raw=1]]
<$details class="fm" summary="1: Language of Father vs. Mother"><<<.fm Ethics, the philosophical study of morality, has concentrated for the most part on moral reasoning… This emphasis gives ethics a contemporary, mathematical appearance, but it also moves discussion beyond the sphere of actual human activity and the feeling that pervades such activity. … as if it were governed by the logical necessity characteristic of geometry. It is concentrated on the establishment of principles and that which can be logically derived from them. One might say that ethics has been discussed largely in the language of the father: in principles and propositions, in terms such as justification, fairness, justice. The mother’s voice has been silent. Human caring and the memory of caring and being cared for, which I shall argue form the foundation of ethical response, have not received attention except as outcomes of ethical behavior. … <<< 1</$details>
<$details class="fm" summary="2: chasm... masculine vs. feminine in each of us"><<<.fm I shall strike many contrasts between masculine and feminine approached to ethics and education and, indeed, to living. These are not intended to divide men and women into opposing camps. They are meant, rather, to show how great the chasm is that already divides the masculine and feminine in each of us and to suggest that we enter a dialogue of genuine dialectical nature in order to achieve an ultimate transcendence of the masculine and feminine in moral matters. The reader must keep in mind, then, that I shall use the language of both father and mother; I shall have to argue for the positions I set out expressively. <<< 2</$details>
<$details class="fm" summary="6: recognition and longing for relatedness"><<<.fm It is the recognition of and longing for relatedness that form the foundation of our ethic, and the joy that accompanies fulfillment of our caring enhances our commitment to the ethical ideal that sustains us as one-caring. <<< 6</$details>
<$details class="fm" summary="42: feminine alternative to Kohlberg’s stage 6"><<<.fm This commitment to care and to define oneself in terms of the capacity to care represent a feminine alternative to Kohlberg’s “stage six” morality. At stage six, the moral thinker transcends particular moral principles by appealing to a highest principle—one that allows a rearrangement of the hierarchy in order to give proper place-value to human love, loyalty, and the relief of suffering. But women, as one-caring, are not so much concerned with the rearrangement of priorities among principles; they are concerned, rather, with maintaining and enhancing caring. <<< 42</$details>
<$details class="fm" summary="43: Abraham’s sacrifice ... from maternal perspective"><<<.fm “In obedience to God, Abraham traveled with his son, Isaac... as a sacrifice: “And they came to the place which God had told him of; and Abraham built an altar there, and laid the wood in order, and bound Isaac his son, and laid him on the altar upon the wood. And Abraham stretched forth his hand, and took the knife to slay his son.”<br> for the mother... this is horrendous. Our relation to our children is not governed first by the ethical but by natural caring. We love not because we are required to love but because our natural relatedness gives natural birth to love. It is this love, this natural caring, that makes the ethical possible. For us then Abraham’s decision is not only ethically unjustified, but it is in basest violation of the supra-ethical—of caring. … Abraham’s obedience fled for protection under the skirts of an unseeable God. Under the gaze of an abstract and untouchable God, he would destroy this touchable child whose real eyes were turned upon him in trust, and love, and fear. I suspect no woman could have written either Genesis or Fear and Trembling, but perhaps I should speak only for myself on that. The one-caring, male or female, does not seek security in abstractions cast either as principles or entities. She remains responsible here and now for this cared-for and this situation and for the forseeable futures projected by herself and the cared-for.<br><<< 43</$details>
<$details class="fm" summary="80: Ethical caring requires effort, but is not superior"><<<.fm Recognizing that ethical caring requires an effort that is not needed in natural caring does not commit us to a position that elevates ethical caring over natural caring. Kant has identified the ethical with that which is done out of duty and not out of love, and that distinction in itself seems right. But an ethic built on caring strives to maintain the caring attitudes and is thus dependent upon, and not superior to, natural caring. The source of ethical behavior is, then, in twin sentiments—one that feels directly for the other and one that feels for and with that best self, who may accept and sustain the initial feeling rather than reject it. <<< 80</$details>
<$details class="fm" summary="316: Ethical caring arises out of natural caring"><<<.fm Ethical caring, the relation in which we do meet the other morally, will be described as arising out of natural caring — that relation in which we respond as one-caring out of love or natural inclination.<<< 316</$details>
<$details class="fm" summary="316: reject ethics of principle"><<<.fm It is this ethical ideal, this realistic picture of ourselves as one-caring, that guides us as we strive to meet the other morally. Everything depends upon the nature and strength of this ideal, for we shall not have absolute principles to guide us. Indeed, I shall reject ethics of principle as ambiguous and unstable. Wherever there is a principle, there is implied its exception and, too often, principles function to separate us from each other. We may become dangerously self-righteous when we perceive ourselves a holding a precious principle not held by the other. ... when we must use violence or strategies on the other, we are already diminished ethically. Our efforts must, then , be directed to the maintenance of conditions that will permit caring to flourish.<<< 316</$details>
<$details class="fm" summary="317: against universalizability"><<<.fm Many... insist that any ethical judgment... must be universalizable; that is, ... if under conditions X you are required to do A, then under sufficiently similar conditions, I too am required to do A. I shall reject this emphatically. First, my attention is not on judgment and not on the particular acts we perform but on how we meet the other morally. Second, in recognition of... our insistence on caring for the other... I shall want to preserve the uniqueness of human encounters. ... conditions are rarely “sufficiently similar” for me to declare that you must do what I must do. There is, however, a fundamental universality in our ethic, as there must be to escape relativism. <<< 317</$details>
<$details class="fm" summary="318: Engrossment"><<<.fm At bottom, all caring involves engrossment. The engrossment need not be intense nor need it be pervasive in the life of teh one-caring, but it must occur... as Martin Buber says of love, “it endures, but only in the alternation of actuality and latency.”<<< 318</$details>
<$details class="fm" summary="318: ethical effort in the absence of natural caring"><<<.fm Another problem arises when we consider situations in which we do not naturally care. Responding to my own child crying in the night may require a physical effort, but it does not usually require what might be called an ethical effort. I naturally want to relieve my child’s distress. But receiving the other as he feels and trying to do so are qualitatively different modes. In the first, I am already “with” the other. My motivational energies are flowing toward him and, perhaps, toward his ends. In the second, I may dimly or dramatically perceive a reality that is a repugnant possibility for me. ... I do not “care” for this person. ... If I do something in his behalf — defend his legal rights or confirm a statement he makes — it is because I care about my own ethical self. In caring for my ethical self, I grapple with the question: Must I try to care? When and for whom? <<< 318</$details>
<$details class="fm" summary="319: caring for everyone not possible"><<<.fm I shall reject the notion of universal caring — that is, caring for everyone— on the grounds that it is impossible to actualize and leads us to substitute abstract problem solving and mere talk for genuine caring. ... We can... “care about” everyone... an internal state of readiness to try to care for whoever crosses our path. But this is different from the caring-for to which we refer when we use the word “caring.” <<< 319</$details>
<$details class="fm" summary="491: sentimental idealization of “women’s” virtue"><<<.fm A sentimental vision of the subordinate but virtuous and idealized wife and mother, whose specificaly female virtues both defined and underpinned the “private” sphere of domestic life, came to dominate a great deal of eighteenth and nineteenth-century thought. <br>... Rousseau argued that those characteristics which would be faults in men are virtues in women.<br>...Since the time of Wollstonecraft, there has always been an important strand in feminist thinking which has viewed with great suspicion, or rejected entirely, the idea that there are specifically female virtues. ... The idealization of female virtue... has usualy been premised on female subordination.<<< 491</$details>
<$details class="fm" summary="492: destruction and male-dominated activities."><<<.fm A number of concerns underlie the continue interest within feminism in the idea of a “female ethic”.... the violent and destructive consequences to human life and to the planet of those fields of activity which have been largely male-dominated, such as war, politics, and capitalist economic domination. The view that the frequently destructive nature of these things is at least in part due to the fact that hey are male-dominated is not of course new; it was common enough in many arguments for female suffrage at the beginning of the twentieth century. ... [now] linked to a view that many forms of aggression and destruction are closely linked to the nature of “masculinity” and the male psyche.<<< 492</$details>
<$details class="fm" summary="493: non-essentialist versions of female ethic"><<<.fm the question the arises as to whether the idea of a “female ethic” can be spelled out in a way that avoids essentialist assumptions. ... The second sort of approach to the idea of a “female ethic” results, then, both from a critique of essentialism, and from an attempt to see whether an alternative approach to questions about moral reasoning... can be derived from a consideration of those spheres of life and activity which have been regarded as paradigmatically female. Two things... have been suggestied... [1] that there are in fact common or typical differences... [2] social practices [such as] mothering and caring for others... can be seen as generating ethical priorities ... which can also provide a corrective to the more descructive values and priorities of those spheres of activity which have been dominated by men.<<< 493</$details>
<$details class="fm" summary="495: “bare bones” dilemmas and moral judgment"><<<.fm Posing moral issues in the “desert-island dilemma” form, in which only the “bare bones” of a situation are described, usually serves to conceal rather than to reveal the sorts of questions to which only situational and contextual knowledge can provide an answer, and which are essential to moral judgement in the specific context.<<< 495</$details>
<$details class="fm" summary="495: that women do not act on principle... seen as deficient"><<<.fm Even if there were some common or typical differences between women and men... the view that women do not act on principle, that they are intuitive and more influenced by “personal” considerations, has so often been used in contexts where women have been seen as deficient that it is as well to be suspicious of any distinction between women and men which seems to depend on this difference.<<< 495</$details>
<$details class="fm" summary="496: There have been a number of attempts in recent"><<<.fm There have been a number of attempts in recent feminist philosophy to suggest that the practices in which women engage, in particular the practices of childcare and the physical and emotional maintenance of other human benigs, might be seen as generating social priorities and conceptions of virtue which are different from those which inform other aspects of social life. <br>...<br>There are, however, great problems in the idea that female practices can generate an autonomous or coherent set of “alternative” values. Female practices are always socially situated and inflected by things such as class, race, material poverty or well-being, which have divided women and which they do not all share. Furthermore, practices such as childbirth and the education and rearing of children have been the focus of constant ideological concern and struggle; they have not just been developed by women in isolation from other aspects of the culture. <<< 496</$details>
<$details class="fm" summary="496: Nevertheless, it is true that a great deal of"><<<.fm Nevertheless, it is true that a great deal of the political theory and philosophy of the last two hundred years has operated with a distinction between the “public” and “private” spheres, and tht the “private” sphere has been seen as the sphere of women. But that which is opposed to the “world” of the home, of domenstic virtue and female self-sacrifice, is not just the “world” of war, or even of politics, it is also that of the “market”. <<< 496</$details>
Consider the following sequence of claims made by Nel Noddings:
1. It is this ethical ideal, this realistic picture of ourselves as one-caring, that guides us as we strive to meet the other morally.
2. Everything depends upon the nature and strength of this ideal, for
3. we shall not have absolute principles to guide us. Indeed,
4. [The] ethics of principle [is] ambiguous and unstable.
5. Wherever there is a principle, there is implied its exception and,
6. too often, principles function to separate us from each other.
7. We may become dangerously self-righteous when we perceive ourselves a holding a precious principle not held by the other.
8. The other may then be devalued and treated "differently" [and
9. Such] treatment is never conducted ethically. Hence,
10. When we must use violence or strategies on the other, we are already diminished ethically.
11. Our efforts must, then, be directed to the maintenance of conditions that will permit caring to flourish.
An analysis of the reasoning here would affirm…
Nel Noddings offers a philosophical ethics focused on how we participate in relationships. What points of commonality can we recognize between her account and other moral theories we have studied? Which differences are most noticeable?
Although gender expectations have shifted in the decades since this piece was written, do you recognize any ways in which different moral priorities take on differently gendered associations?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Noddings-Caring/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
The relationship between moral theory and psychology can go both ways:
|| [[deontology]] | [[care ethics]] |
|!moral psychologist|[[Kohlberg, The Child as a Moral Philosopher]] (1968)|Gilligan, //In a Different Voice// (1982) researched gendered patterns in moral development |
|| ↓ ... gives developmental backstory for… ↓ | ↓ anticipates a philosophical account of mature care-ethics by… ↓ |
|!moral theorist|[[Kant, Grounding for the Metaphysics of Morals]] (1795)|[[Noddings, Caring]] (1984)|
|alternating-rows|k
[img width=20% class=img-right [Nussbaum|https://i2.wp.com/www.brainpickings.org/wp-content/uploads/2014/03/marthanussbaum.jpg?w=480&ssl=1]]Martha Nussbaum (1947–) is an American philosopher with broad expertise in ancient philosophy, participating actively in public intellectual discussions about ethics, quality of life, and social ideals.
<$details class="fm" summary="199: The virtues are attracting interest [as] remoteness is now">
<<<.fm
The virtues are attracting interest [as] remoteness is now being seen ... as a defect in an approach to ethical questions. ... But many current defenders of ... virtues ... turn towards relativism ... the only appropriate criteria of ethical goodness are local ... A MacIntyre, B Williams, and P Foot ...
<<< 199
</$details>
<$details class="fm" summary="200: Supporters of] rational criticism [may assume] ethics of virtue">
<<<.fm
[Supporters of] rational criticism [may assume] ethics of virtue can give them little help ... This is an odd result, as far as Aristotle is concerned. For ... he [defended] a single objective account of the human good, or human flourishing. ... He uses his account... as a basis for ... criticism of local traditions.
<<< 200
</$details>
<$details class="fm" summary="201: Now the fact that Aristotle believed something does not">
<<<.fm
Now the fact that Aristotle believed something does not ake it true ... But it does ... [make it] a plausible candidate for the truth...
<<< 201
</$details>
<$details class="fm" summary="201: The relativist... is impressed by the variety and the">
<<<.fm
The relativist... is impressed by the variety and the apparent non-comparability in the lists of virtues ... megalopsuchos... sounds very .. culture-bound ... ¶ But ... [we should doubt] that he simply described what was admired in his own society.
<<< 201
</$details>
<$details class="fm" summary="202: What [Arist] does, in each case [when introducing a">
<<<.fm
What [Arist] does, in each case [when introducing a virtue], is to isolate a sphere of human experience that figures in more or less any human life, and in which more or less any human being will have to make some choices rather than others ... The “thin account” of each virtue [invokes] being stably disposed to act appropriately in that sphere... There may be ... competing specifications ... [ethical theory seeks] at the end, a full or “thick” definition of the virtue. ¶ Here are the most important spheres... ¶ What I want to insist on... is the care with which Aristotle articulates his general approach...
<<< 202
</$details>
<$details class="fm" summary="204: The thin... “nominal” definition of thunder is “That noise">
<<<.fm
The thin... “nominal” definition of thunder is “That noise in the clouds, whatever it is.” ... So the explanatory story citing Zeus’ activities in the clouds is a false account of the very same thing of which the best scientific explanation is a true account. There is just one debate here, with a single subject. So too, Aristotle suggests, with our ethical terms. ... experiences of limit and finitude ... give a concept such as justice its points. the reference of the virtue terms is fixed by spheres of choice, frequently connected with our finitude and limitation, that we encounter in virtue of shared conditions of human existence.
<<< 204
</$details>
<$details class="fm" summary="205: progress in ethics [is] like progress in scientific understanding">
<<<.fm
... progress in ethics [is] like progress in scientific understanding... the correct fuller specification of a virtue... aided by ... mapping ... the grounding experiences. When we understand ... what problems human beings encounter... we will have away of assessing competing responses... ¶ To hold tradition fixed is .. to prevent ethical progress. What human beings want and seek is not conformity with the past, it is the good.
<<< 205
</$details>
<$details class="fm" summary="206: two stages of inquiry">
<<<.fm
In the Aristotelian approach it is obviously of the first importance to distinguish two stages of the inquiry: the initial demarcation of the sphere of choice, of the ‘grounding experiences’ that fix the referene of the virtue term; and the ensuing more concrete inquiry into what the appropriate choice, in that sphere, is.
<<< 206
</$details>
<$details class="fm" summary="206: two stages of inquiry">
<<<.fm
In the Aristotelian approach it is obviously of the first importance to distinguish two stages of the inquiry: the initial demarcation of the sphere of choice, of the ‘grounding experiences’ that fix the referene of the virtue term; and the ensuing more concrete inquiry into what the appropriate choice, in that sphere, is.
<<< 206
</$details>
<$details class="fm" summary="207: Obj’n #1] concerns the relationship between singleness of problem">
<<<.fm
[Obj’n #1] concerns the relationship between singleness of problem and singleness of solution... Different cultural accounts of good choice within the sphere in question ... are... competing answers to a single general question... Still [this shows only] a single discourse or debate about virtue. ... not ... as Aristotle believes, a single answer. Indeed, it has not even been shown that the discourse we have set up will have the form of a debate at all—rather than a plurality of culturally specific narratives, each giving the thick definition of a virtue that corresponds to the experience and traditions of a particular group.
<<< 207
</$details>
<$details class="fm" summary="207: Obj’n #1] concerns the relationship between singleness of problem">
<<<.fm
[Obj’n #1] concerns the relationship between singleness of problem and singleness of solution... Different cultural accounts of good choice within the sphere in question ... are... competing answers to a single general question... Still [this shows only] a single discourse or debate about virtue. ... not ... as Aristotle believes, a single answer. Indeed, it has not even been shown that the discourse we have set up will have the form of a debate at all—rather than a plurality of culturally specific narratives, each giving the thick definition of a virtue that corresponds to the experience and traditions of a particular group.
<<< 207
</$details>
<$details class="fm" summary="208: Second: Anthopology undermines idea of “grounding experience”">
<<<.fm
[Obj’n #2]... questions the notion of spheres of shared human experience ... anthropological work on the social construction of the emotions [shows] the experience of fear has learned and culturally variant elements. ... death [is] so variously interpreted and understood by humans beings at different times and in different places. [So] the “grounding experience” is an irreducible plurality of experiences, ... deeply infused with cultural interpretation...
<<< 208
</$details>
<$details class="fm" summary="208: Second: Anthopology undermines idea of “grounding experience”">
<<<.fm
[Obj’n #2]... questions the notion of spheres of shared human experience ... anthropological work on the social construction of the emotions [shows] the experience of fear has learned and culturally variant elements. ... death [is] so variously interpreted and understood by humans beings at different times and in different places. [So] the “grounding experience” is an irreducible plurality of experiences, ... deeply infused with cultural interpretation...
<<< 208
</$details>
<$details class="fm" summary="209: Work like Foucault’s... shows very convincingly that the experience">
<<<.fm
Work like Foucault’s... shows very convincingly that the experience of bodily desire, and of the body itself, has elements that vary with cultural and historical change. The names that people call their desires and themselves as subjects of desire, the fabric of belief and discourse into which they integrate their ideas of desiring: all this influences, it is clear, not only their reflection about desire, but also their experience of desire itself. Thus, for example, it is naive to treat our modern debates about homosexuality as continuations of the very same debate about sexual activity that went on in the Greek world. In a very real sense there was no “homosexual experience” in a culture that did not [problematize] certain forms of behaviour.
<<< 209
</$details>
<$details class="fm" summary="209: Work like Foucault’s... shows very convincingly that the experience">
<<<.fm
Work like Foucault’s... shows very convincingly that the experience of bodily desire, and of the body itself, has elements that vary with cultural and historical change. The names that people call their desires and themselves as subjects of desire, the fabric of belief and discourse into which they integrate their ideas of desiring: all this influences, it is clear, not only their reflection about desire, but also their experience of desire itself. Thus, for example, it is naive to treat our modern debates about homosexuality as continuations of the very same debate about sexual activity that went on in the Greek world. In a very real sense there was no “homosexual experience” in a culture that did not [problematize] certain forms of behaviour.
<<< 209
</$details>
<$details class="fm" summary="210: Obj’n #3] ... charges that the Aristotelian [sees universality in">
<<<.fm
[Obj’n #3] ... charges that the Aristotelian [sees universality in] experience that is contingent on ... historical conditions. ... we could imagine a form of human life that does not contain these experiences ... at all, in any form. Thus the virtue that consists in acting well in that sphere need not be included in an account of the human good. ... the experience may even be a sign of bad human life [or] an adaptation to a bad state of affairs. ... the virtue of generosity ... requires having possessions of one’s own ... the objector [says] generosity, if it really rests upon the experience of private possession, is a dubious candidate [for] non-relative account... | Some objectors of the third kind ... support .. relativism. But [others suggest] that some of the experiences are remediable deficiencies [and] Aristotelian virtue ethics .. limits our social aspirations, encouraging us to regard as permanent and necessary what we might in fact improve... that human life contains more possibilities than are dreamed of in her list of virtues.
<<< 210
</$details>
<$details class="fm" summary="211: Each of these objections is profound.... But we can">
<<<.fm
Each of these objections is profound.... But we can still... map out an Aristotelian response...
<<< 211
</$details>
<$details class="fm" summary="211: To] The first objector ... we can make four observations">
<<<.fm
[To] The first objector ... we can make four observations ... First, the Aristotelian ... need not insist, in every case, on a singe answer ... answer might ... be a disjunction. The process of comparative and critical debate will, I imagine, eliminate numerous contenders ... [leaving] a (probably small) plurality of acceptable accounts [which] may or may not be capable of being subsumed under a single account ... If we should succeed in ruling out concepts ... based on a nation of original sin, for example, this would be moral work of enormous significance ... Second ... [given] many concrete specifications ... sets of customs can count as further specifications of a general account ... Sometimes, a particular account gives the only legitimate specification ... for that concrete context... Third, virtuous person ... always ... responsive to ... context ... perception of the particular ... ethical rules should be held open to modification in the light of new circumstances ... Aristotelian particularism is fully compatible with Aristotelian objectivity. ... | | FINALLY, the Aristotelian virtues... remain always open to revision in the light of new circumstances ... flexibility... without sacrificing objectivity. All general accounts are held provisionally as best summaries of correct decisions and as guides to new ones. This flexibility, built into the Aristotelian procedure, will again help the Aristotelian account to answer the questions of the relativist, without relativism.
<<< 211
</$details>
<$details class="fm" summary="216: Certain ways can still be criticized... as stupid, pernicious, and false.">
<<<.fm
The human mind is an active and interpretative instrument... the nature of human world interpretations is holistic and ... the criticism of them must, equally, be holistic. ¶ But these two facts do not imply... that all world interpretations are equally valid and altogether non-comparable, that... “anything goes.” [Rejecting] ethical truths as correspondence to an altogether uninterrupted reality does not imply that the whole idea of searching for the truth is an old-fashioned error. Certain ways in which people see the world can still be criticized exactly as Aristotle criticized them: as stupid, pernicious, and false. The standards used in such criticisms much come from inside human life.
<<< 216
</$details>
<$details class="fm" summary="216: Relativist fails to show why any is equally good">
<<<.fm
[what relativist doesn’t undermine:] certain ways of conceptualizing death are more in keeping with the totality of our evidence and the totality of our wishes for flourishing life than others; ... certain ways of experiencing appetitive desire are ... more promising than others... Relativists tend [also] to understate the amount of attunement, recognition, and overlap that actually obtains... we do recognize the experiences of people in other cultures as similar to our own.
<<< 216
</$details>
<$details class="fm" summary="216: Certain ways can still be criticized... as stupid, pernicious, and false.">
<<<.fm
The human mind is an active and interpretative instrument... the nature of human world interpretations is holistic and ... the criticism of them must, equally, be holistic. ¶ But these two facts do not imply... that all world interpretations are equally valid and altogether non-comparable, that... “anything goes.” [Rejecting] ethical truths as correspondence to an altogether uninterrupted reality does not imply that the whole idea of searching for the truth is an old-fashioned error. Certain ways in which people see the world can still be criticized exactly as Aristotle criticized them: as stupid, pernicious, and false. The standards used in such criticisms much come from inside human life.
<<< 216
</$details>
<$details class="fm" summary="216: Relativist fails to show why any is equally good">
<<<.fm
[what relativist doesn’t undermine:] certain ways of conceptualizing death are more in keeping with the totality of our evidence and the totality of our wishes for flourishing life than others; ... certain ways of experiencing appetitive desire are ... more promising than others... Relativists tend [also] to understate the amount of attunement, recognition, and overlap that actually obtains... we do recognize the experiences of people in other cultures as similar to our own.
<<< 216
</$details>
<$details class="fm" summary="217: A traditional society, confronted with new technologies and sciences">
<<<.fm
A traditional society, confronted with new technologies and sciences, and the conceptions that go with them, does not in fact simply fail to understand them, or regard them as totally alien incursions upon a hermetically sealed way of life. Instead, it assesses the new item as a possible contributor to flourishing life, making it comprehensible to itself, and incorporating elements that promise to solve problems of flourishing…. The parties do in fact search for the good, not the way of their ancestors…
<<< 217
</$details>
<$details class="fm" summary="217: A traditional society, confronted with new technologies and sciences">
<<<.fm
A traditional society, confronted with new technologies and sciences, and the conceptions that go with them, does not in fact simply fail to understand them, or regard them as totally alien incursions upon a hermetically sealed way of life. Instead, it assesses the new item as a possible contributor to flourishing life, making it comprehensible to itself, and incorporating elements that promise to solve problems of flourishing…. The parties do in fact search for the good, not the way of their ancestors…
<<< 217
</$details>
[img[Aristotle's virtues|https://www.dropbox.com/s/tl17728nlotgjfh/Arist_Virt_Vice_List_Bartlett_Nussbaum%2000002.png?raw=1]]
!!!Nussbaum distinguishes between “thin” and “thick” ideas of the virtues, going on to suggest…
<$details state="!!accord1" summary="(a) Once we appreciate Aristotle’s theoretical framework, we will be more likely to embrace the details of Aristotle’s discussion of particular virtues that seem surprising today, such as magnanimity and magnificence." mode="custom" $state="aaa3">@@color:red;No... The particular details (the “thick” description of virtues) does not get any special support this way; Nussbaum’s argument is entirely focused on what’s right about his “thin” account.@@</$details>
<$details state="!!accord2" summary="(b) while Aristotle’s description of the virtues was clearly shaped by elitist Athenian values, Aristotle’s framework provides a tool for reflection and criticism which leads us to avoid relativism." mode="custom" $state="aaa4">@@color:green; Yes. This is Nussbaum’s central point: the theoretical structure of Aristotle can be retained even while resisting many of his substantive claims about what character traits are best.@@</$details>
<$details state="!!accord3" summary="(c) Each virtue, considered in a “thin” sense, corresponds to some challenging sphere of human experience." mode="custom" $state="aaa5">@@color:green; Yes. Key claim.@@</$details>
<$details state="!!accord4" summary="(d) Cultural differences affect people’s “thick” account of virtues much more than they affect people’s “thin” appreciation of virtues." mode="custom" $state="aaa1">@@color:green; Yes. This is a central point.@@</$details>
<$details state="!!accord5" summary="(e) Aristotle’s theory of virtues led him to recognize and discuss virtues for which there was no simple name in his language." mode="custom" $state="aaa2">@@color:green; Yes. This is indeed a point that Nussbaum emphasizes in her argument that Aristotle is not simply trying to capture the existing moral priorities of his culture.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
Nussbaum seeks to answer the concern that Aristotle’s ethics is culturally narrow, and that no universal account of virtue is possible. What [[friendly amendment]] does she make, in addresing that concern? How much does anthropological data support relativism about moral values?
{{||vocabulary-here}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Nussbaum, Non-Relative Virtues"
selectedTiddler="$:/temp/toc/nussb_nrv/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
[[◀ back to Aristotle 3|Aristotle 3 (books 7, 8, 10)]] @@float:right; [[forward to Kant1 ▶|Kant1]]
<<<.dark
…Whoever of you remains, when he sees how we [the law] conduct our trials and manage the city in other ways, has in fact come to an agreement with us to obey our instructions. ...We give two alternatives, either to persuade us or do what we say.”
<<< Crito 51e, 52a (p.54)
<<<.moo
@@.hlg Socrates argues that he should accept his impending execution, yet strikingly absent from his reasoning is the admission of his guilt; he says he owes it to the city he lives in to respect the outcome of the due process of law.@@ @@.hly Is respecting the law even when it comes out against the innocent truly just? When obeying the law leads to the death of innocent people, it is not justice.@@ @@.hlb Socrates says that the freedom to try to change the law or to leave the city is enough to validate it,@@ but @@.hly this won’t necessarily prevent an “unjust” outcome.@@ @@.hlb Socrates might argue that since not everyone can agree on who is innocent, respecting the law is necessary.@@
<<<
<$details summary="Evaluation notes…" class="eval">
This microessay is structurally very strong: it @@.hlg begins by framing an uncontroversial point@@, then @@.hly focuses on raising a critical challenge.@@ @@.hlb Recognizing Socrates' main explicit support for the troubling claim,@@ @@.hly it goes on to press the concern further.@@ @@.hlb Toward the end, it imagines one further potential line of support that would be available to Socrates.@@
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
Much of [[Socrates]]' argument is structured around the premise that one cannot correct something that's wrong by adding another wrong to it. Setting aside the question of whether escaping is itself wrong, isn't he right that whether he escapes or not, the injustice of his conviction remains an injustice? If not, why not?
</$details>
Dear Ethics students,
We have just learned that Wesleyan will transition to online-only coursework for the balance of this semester. I expect to rely heavily on this site, on the [[Zoom|https://wesleyan.zoom.us/meeting/552722168]] virtual classroom platform, and on everyone's efforts to find ways to connect with myself, with TAs, and with other students between classes.
@@.hl Please log in at our moodle site to complete a survey about students' circumstances during the online-only phase of the semester.@@ This will be vital to shaping an effective plan for learning.
I will keep you all posted as directly as possible.
Meanwhile, I wish you all good health and safety.
Drag this into your TW if you want to use it: $:/jd/macros/paragraphs
!! Parameters
;filter
: A [[filter|Filters]] selecting which tiddlers to include
;titleclass
: Custom class added to the generated div, defaulting to no class
: If a tiddler has a <<.field caption>> field, this is shown instead of the tiddler's title
: Use `notitle` to hide the tiddler title
;buttonsetclass
: Custom class added to the generated div, defaulting to no class
: Use `float-left` for the buttons to be positioned to the left of the paragraph, revealing itself upon hovering on the paragraph body
;buttonclass
: Custom class added to each button, defaulting to `tc-btn-invisible`
;textareaclass
: Custom class added to the textarea, defaulting to `tc-edit-texteditor`
<<.macro-examples "paragraphs">>
Discussion: https://groups.google.com/forum/#!topic/tiddlywiki/RNqJR1s6ysk
!!My other TW Things
http://j.d.tiddlyspot.com/
The Value of Friendship
>“[Friendship] is most necessary for our life…” (Book 8, Chapter 1, 1155a5)
|Aristotelian friendship seems paradoxical in that complete friendship is among only those of complete virtue, and so one must ask what more does someone with complete virtue need. Aristotle asserts that friendship is necessary and claims that friends provide a medium through which to display beneficence, but beneficence among friends seems to be in practice the same as charity for those deemed deserving(generosity or magnificence). Friends seem to be validation and indication of virtue, though not a building block of virtue. One could look to magnanimity and say that a completely virtuous individual should already have proper self validation and conclude that complete friendship is practically worthless whereas qualified friendship is the only valuable friendship due to some benefit.(120 words)|
[[Stoic|stoicism]] [[epistemology]] and [[ethics]] involves minimizing the effects of perspective bias. Though we cannot help how things //appear// to us, our faculty of choice ([[prohairesis]]) is functioning well when it counterbalances misleading aspects of those appearances, using both past experiences and reason to "put things into perspective"...
<<tabs "[tag[perspective]]" template:"tabtemplate">>
Wesleyan's Philosophy Department expects introductory courses to familiarize all students with vocabulary and skills that mark philosophy as a methodical discipline. See [[Definitions overview|definitions]]...
PHIL212 introduces various philosophical [[skills]] and methods alongside the subject-matter of ideas about ethics.
|! topic | ! connected class sessions |
|[[mapping the path|Euthyphro flowchart]] of a [[dialogue]]|[[Euthyphro]]|
|recognizing [[dilemmas|dilemma]]|[[Euthyphro]], [[King|King, Letter from Birmingham Jail]], [[Korsgaard|Korsgaard, The Right to Lie]], [[Beauvoir|Beauvoir, Ethics of Ambiguity]]|
|analyzing overall [[argument|reading for argument]] structure|[[Crito]]|
|noticing the rhetorical effect of [[metaphors|metaphor]]|[[Epictetus|Epictetus, Enchiridion]]; [[Nietzsche|Nietzsche, Transvaluation, Gay Science excerpts]]|
|reading a text with attention to its audience|[[Crito]], [[King|King, Letter from Birmingham Jail]]|
|diagramming [[enthymemes|enthymeme]] to analyze [[inferences|inference]]|[[Aristotle 1|Aristotle 1 (up to 1115a)]]|
|making [[friendly amendments|friendly amendment]] within a theory|[[Nussbaum|Nussbaum, Non-Relative Virtues]], [[Korsgaard|Korsgaard, The Right to Lie]]|
|distilling an extended [[argument]], paragraph by paragraph|[[Kant1]], [[Mill1]]|
|diagnosis of [[fallacies|fallacy]]|[[Mill2]]|
|[[reading for objections and replies]]|[[Mill1]]|
|thinking systematically about [[dualisms|dualism]]|[[Crito]], [[Epictetus|Epictetus, Enchiridion]], [[Beauvoir|Beauvoir, Ethics of Ambiguity]], [[Rawles|Rawles, Conservation and Animal Welfare]], [[Plumwood|Plumwood, Nature in the Active Voice]], [[Dewey|Dewey, Theories of Morals]]|
|[[philosophical diplomacy]]|[[King|King, Letter from Birmingham Jail]], [[Nussbaum|Nussbaum, Non-Relative Virtues]], [[Rawles|Rawles, Conservation and Animal Welfare]], [[Dewey|Dewey, Theories of Morals]]|
:[img width=20% class=img-right [Plato|https://media1.britannica.com/eb-media/88/149188-004-E9F3D5B9.jpg]]Plato (ca 428 BCE – 328 BCE) founded the Academy in Athens, having been a student of [[Socrates]]. He was the first philosopher in the European tradition to write extended philosophical texts that have been preserved well into modern times (Socrates himself had practiced philosophy only in conversational interactions, not in writing).
<hr>
Plato's texts usually took the form of [[dialogues|dialogue]], generally revolving around the character of [[Socrates]] in a central role, and often featuring both [[irony]] and eloquence.
Scholars often group Plato's [[dialogues|dialogue]] into three phases:
* ''Early dialogues'' (such as [[Euthyphro]] and [[Crito]]) seem to reflect [[Socrates]]' own commitments in an embellished but fairly accurate portrayal.
*''Middle dialogues'' continue to portray [[Socrates]] as a figure of wisdom, while in fact reflecting arguments and concerns that are more specifically Plato's own developments. (//Meno// and //Phaedo// in the //[[Five Dialogues|Plato, Five Dialogues]]// collection are good examples.)
* ''Late dialogues'' are particularly complex, sometimes portraying the Socratic character in dialogue with other figures who may present important or especially compelling [[arguments|argument]].
<br style="clear:both" />
<<<.dark
[T]he European philosophical tradition ... consists of a series of footnotes to Plato.
<<< Alfred North Whitehead
''Plato, //Five Dialogues: Euthyphro, Apology, Crito, Meno, Phaedo//'' translated by G.M.A. Grube (Hackett, 1981, Second Edition)
[img width=auto [Plato Five Dialogues|https://images-na.ssl-images-amazon.com/images/I/417Z4CIfomL._SX314_BO1,204,203,200_.jpg]]
team {{!!team}} chose: {{!!responses}}
<hr>
{{!!a}}<br>
{{!!b}}<br>
{{!!c}}<br>
{{!!d}}<br>
{{!!e}}<br>
[img width=25% class=img-right [Plumwood|http://www.azquotes.com/public/pictures/authors/35/a5/35a5c58c0673cae8d8d5442921dc05dd/556eccfa58b2c_val_plumwood.jpg]]Val Plumwood (1939-2008) was an Australian philosopher and activist who articulated an ecofeminist and [[animist|animism]] critique of humans' "hyper-separation" from nature.
Plumwood's article works to dismantle various [[dualisms|dualism]] in light of how they undermine our appreciation of interdependence. How profoundly are these dualisms implicated in classical texts of philosophy in the European tradition?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/PlumwoodNAV/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
<<eucaly-plunin-page "$:/plugins/eucaly/quickjump">>
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
To listen to the episode, please [[visit this RadioLab site|https://www.wnycstudios.org/podcasts/radiolab/episodes/317421-blame]] and choose the first story, "Fault Line"...
<$details summary="... or listen here">
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/317421/&share=1"></iframe>
</$details>
The first big fact RadioLab tells us about Kevin and Janet:
* A law enforcement team shows up in July 2006. Janet is bewildered, but Kevin immediately understands why they're there. They find hundreds of illegal pornography files, including graphic images with very young children.
Backstory:
* Janet and "Kevin" met when Kevin lost his license because of epilepsy, and he needed a co-worker to drive him to work. They became friends, eventually dated and married. But Kevin's epilepsy became worse over time.
* Kevin had already had one brain surgery, which had paused the seizures for several years. They decided to try another. The second surgery seemed successful. (Kevin was especially worried about his musical sensibility, and stayed awake, singing, during surgery so that they would be able to avoid removing any parts of his brain that interfered with his singing.)
* However, they gradually noticed that his physical and sensory appetites were dramatically more intense. He'd get stuck on a musical groove for hours, had ravenous hunger, wanted to try all kinds of sexual interactions that had not been part of their previous experience as a couple.
* All this comes to a crisis point when "Kevin" is arrested and convicted on charges of purchasing and possessing child pornography, including very graphic material with very young children. In his own words,
<<<.fm
These sites had the most despicable, disgusting things you can imagine, infants on through preteen and adolescents... I went everywhere that a button came up to push ... I did idiotic things that I couldn't stop myself from doing. ... I didn't want to do it. [Some] nights ... it would be four or five, six hours of going through the same site and downloading one or two files and then deleting them, going back a minuter later, downloading the same files, deleting them. ... I didn't want to be there, knew I shouldn't be there, and couldn't help myself from going back.
<<< RadioLab "Blame" Sept 12, 2013 15:20
* Kevin's neurological condition is called Kluver Bucy Syndrome, a rare disorder that involves failure to control appetites and impulses — especially physical appetites and sexual impulses. In short, he experiences an extreme form of something like [[incontinence]] — perhaps even what [[Aristotle]] (in [[Book VIII|Aristotle 3 (books 7, 8, 10)]]) would call a [[bestial (brutish) state]].
His neurology surgeon recognizes the problem and has evidence that it was caused by the surgery (which removed a golf-ball-sized area of brain tissue), and testifies on his behalf.
But should we accept that Kevin is simply not responsible at all for his actions?
The judge only half-accepted the argument made in Kevin's defense — that he should not be held responsible because his neurological condition undermined the capacity for impulse control.
To reflect more on responsibility, we may want to consider the role of [[friendship in Aristotle]], and how it relates to our moral self-cultivation.
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/317421/&share=1"></iframe>
[img width=25%
class=img-right [Rawles|http://d.pr/i/OPFR+]] Kate Rawles is a philosopher and outdoor educator, founder of the organization [[Outdoor Philosophy|https://www.outdoorphilosophy.co.uk/about-kate/]]
How should we reflect morally on our interactions with — and impact on — ''non-human animals'' and the ''environment''?
[[Rawles]] distinguishes two broad patterns in giving an account of what matters, morally, about non-human beings.
<$details summary="animal welfare approaches">
* [[utilitarian|utilitarianism]] approaches (e.g. Peter Singer)
* ''animal rights''-based approaches (e.g. Tom Regan)
</$details>
<$details summary="conservationist approaches">
* most common: instrumental-value approaches (conservation of long-term "resources" for human wellbeing)
* less common: intrinsic-value approaches (attributing value to species and natural systems, independent of human interests)
</$details>
;Both of these challenge us to consider the impact of our choices on non-human beings
:Yet they are often not aligned in their priorities...
How does Rawles suggest we think about these two patterns of concern?
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag="Rawles, Conservation and Animal Welfare"
selectedTiddler="$:/temp/toc/Rawles/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
[[◀ back to Mill Ch 5|Mill3]] @@float:right; [[forward to Singer▶|Singer, Famine Affluence and Morality]]
{{textbooks}}
{{pdf-packet}}
<$details class="warning" summary= "A young man seeks Sartre out for moral advice (see handout)">
<<<.dark
As an example [consider] the case of a pupil of mine, who sought me out in the following circumstances. His father was quarrelling with his mother and was also inclined to be a “collaborator”; his elder brother had been killed in the German offensive of 1940 and this young man, with a sentiment somewhat primitive but generous, burned to avenge him. His mother was living alone with him, deeply afflicted by the semi-treason of his father and by the death of her eldest son, and her one consolation was in this young man. But he, at this moment, had the choice between going to England to join the Free French Forces or of staying near his mother and helping her to live.
He fully realised that this woman lived only for him and that his disappearance – or perhaps his death – would plunge her into despair. He also realised that, concretely and in fact, every action he performed on his mother’s behalf would be sure of effect in the sense of aiding her to live, whereas anything he did in order to go and fight would be an ambiguous action which might vanish like water into sand and serve no purpose. For instance, to set out for England he would have to wait indefinitely in a Spanish camp on the way through Spain; or, on arriving in England or in Algiers he might be put into an office to fill up forms. Consequently, he found himself confronted by two very different modes of action; the one concrete, immediate, but directed towards only one individual; and the other an action addressed to an end infinitely greater, a national collectivity, but for that very reason ambiguous – and it might be frustrated on the way.
At the same time, he was hesitating between two kinds of morality; on the one side the morality of sympathy, of personal devotion and, on the other side, a morality of wider scope but of more debatable validity. He had to choose between those two. What could help him to choose? Could the Christian doctrine? No. Christian doctrine says: Act with charity, love your neighbour, deny yourself for others, choose the way which is hardest, and so forth. But which is the harder road? To whom does one owe the more brotherly love, the patriot or the mother? Which is the more useful aim, the general one of fighting in and for the whole community, or the precise aim of helping one particular person to live? Who can give an answer to that a priori? No one. Nor is it given in any ethical scripture. The Kantian ethic says, Never regard another [solely] as a means, but always as an end. Very well; if I remain with my mother, I shall be regarding her as the end and not as a means: but by the same token I am in danger of treating as means those who are fighting on my behalf; and the converse is also true, that if I go to the aid of the combatants I shall be treating them as the end at the risk of treating my mother [only] as a means.
<<< From Jean-Paul Sartre “Existentialism is a Humanism” (p. 344-355 in Kaufman, //Existentialism from Dostoevsky to Sartre//)
</$details>
His dilemma involves choosing either:
* to ''stay and support his mother'' (who depends upon him)
* to ''leave to join the Free French Resistance'' (fighting against the Nazi occupation)...
<$details class="notification" summary="Does moral theory point the way?">
* ''Kantian'' theory doesn't illuminate what his real maxim would be, or whether a more important duty lies on the unchosen side.
* ''Utilitarian'' theory can't show how to balance far-ranging but uncertain goods against local and certain ones.
* ''Virtue'' ethics cannot specify whether courage or generous care-taking is more important in this case.
</$details>
<$details class="notification" summary="Can Sartre's advice help?">
Sartre's advice cannot free the young man from the burden of ambiguity:
* If he follows Sartre's advice, he cannot pretend that it is Sartre, and not he himself, who chose the life either of struggle or of caring.
* If he seeks advice from someone who will encourage him to struggle against the occupation, then he must admit that he himself sought //that// kind of advice.
</$details>
<$details class="notification" summary="Does reflection on identity help?">
Could his choice be settled by thoughts such as... ?
* I am a Jew / a Frenchman / my mother's only child.
* I am a soldier / a philosopher / a doctor.
* I am a coward / a patriot / a woman.
These considerations may illustrate ''//facticity//'' (up until now)...
but no normative interpretation (essence) is settled.
</$details>
<$details class="success" summary="Portraying choice as representative">
Choices can only be measured by their ''authenticity'':
* Is this really the way one wills that choices be made?
* Would I bring it about that human beings act //this// way?
Choice does not put an end to freedom, but it gives shape to humanity, //discloses// the being of humanity.
Note that a ''choice'', just like a person, ''exists before its essence'' becomes clear... One chooses without knowing the real //meaning// of the choice. (consider Anna Karenina)
The result: anguish, forlornness.
</$details>
<br> <br>
<$details summary="…">
\define lingo-base() $:/language/TiddlerInfo/
\define config-base() $:/config/ViewToolbarButtons/Visibility/
{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$macrocall $name="list-tagged-draggable" tag="$:/tags/ViewToolbar" itemTemplate="$:/core/ui/ControlPanel/Toolbars/ItemTemplate"/>
</$set>
</$set>
@@float:right; <$radio tiddler="$:/config/AutoSave" value="yes"></$radio>
<br>
<$radio tiddler="$:/config/AutoSave" value="no"></$radio> @@
<$checkbox tiddler=" $:/config/ViewToolbarButtons/Visibility/$:/plugins/danielo/encryptTiddler/crypt-button" checked="show" unchecked="hide">
<<<.dark
If someone's state [of character] would make him feel disgrace if he were to do a disgraceful action, and because of this he thinks he is decent, that is absurd. For shame is concerned with what is voluntary, and the decent person will never willingly do base actions."
<<< Book IV, 1128b, 26
<<<.moo
After outlining intermediate states and deeming them virtuous, Aristotle lays out his concept of shame; he rejects the notion that a virtuous person could take part in action that would cause "a fear of disrepute." With this claim, he implicitly dismisses the possibility that a human at a specific moment could act in a certain way and later -- after significant experience of learning -- come to disapprove of this action. His denial of the occasion for retrospect is troubling to the theorist who values the evolution of habits based on experiences. Aristotle might respond that a truly virtuous person needs only the period of youth (when "shame is suitable") to gather from experiences the morality on which to base future actions. (120 words)
<<< AR
: [img width=20% class=img-right [Singer|https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Peter_Singer_no_Fronteiras_do_Pensamento_Porto_Alegre_%289619604688%29_%28cropped%29.jpg/330px-Peter_Singer_no_Fronteiras_do_Pensamento_Porto_Alegre_%289619604688%29_%28cropped%29.jpg]](1946–present) Australian ethical and political philosopher best known for his work in bioethics and his role as one of the intellectual founders of the modern animal rights movement. [from [[Brittanica|https://www.britannica.com/biography/Peter-Singer]]]
<<<
In addition to //Animal Liberation//, Singer’s many books include //Practical Ethics// (3rd ed. 2011; originally published 1979), //The Life You Can Save: Acting Now to End World Poverty// (2009), //One World: The Ethics of Globalization// (2002), //A Darwinian Left: Politics, Evolution, and Cooperation// (1999), //How Are We to Live?: Ethics in an Age of Self-Interest// (1995), and //Rethinking Life and Death: The Collapse of Our Traditional Ethics// (1994).
<<<
About recent events, Singer has most recently published this reflection on [[viral epidemics and animal treatment|https://www.project-syndicate.org/commentary/wet-markets-breeding-ground-for-new-coronavirus-by-peter-singer-and-paola-cavalieri-2020-03]]
[img class=img-right [Singer diagram|https://www.dropbox.com/s/5g0prmgkedvsw98/singer_argument_summary.png?raw=1]]
This text is ripe for [[reading for objections and replies]]...
For example, [[Singer]] considers this [[objection]] first:
@@.objection //This position is too drastic a revision of our moral scheme.<br> People do not ordinarily judge in the way [Singer has] suggested//@@
<$details summary="How does Singer reply...?">
@@.reply The way people do in fact judge has nothing to do with the validity of my conclusion.@@
<$details summary="Yet objectors like Urmson follow up...">
@@.objection Maybe there are deeper //reasons for not judging this way//…@@
The ''imperatives'' of duty should really be distinguished from what it would be //''good''// to do but not wrong //not// to do... [this is the traditional] distinction between [[duty]] and [[supererogation|supererogatory]]...
[Roughly, Mill's distinction, [[wrong vs inexpedient]], but with an emphasis on the risk that people's commitment to morality will end up being undermined if morality demands too much.]
</$details>
<$details summary="Singer replies…">
@@.reply Where should we draw the line between conduct that is required and conduct that is good although not required, so as to get the best possible result? This would seem to be an empirical question... @@
[Objectors such as Urmson] takes insufficient account of the effect that moral standards can have on the decisions we make ... [which are] greatly influenced by what people around him are doing and expecting... [Meanwhile] ... spreading the idea that we //ought// to be doing very much more... [is really not likely to do something as dire as] bring about a general breakdown of moral behavior. (237-238)
</$details>
</$details>
!!Singer’s “moderate” conclusion:
We ought to give as much money as we can—i.e., time or money which we would otherwise spend on trivial or non-morally significant things—to famine relief organizations and other highly effective efforts which mitigate preventable suffering.
<hr>
Let's try [[reading for objections and replies]]:
<$details summary="I shouldn't have to give more than 'my fair share'">
@@.objection
//Objection #1 – If everyone in similar circumstances to mine gave only a small sum of money to famine relief, then there would be enough money to prevent famines. Therefore, I have no obligation to give more than a small sum of money.//
@@
@@.reply
Response: This argument is based on a hypothetical premise (‘if everyone…’), yet the conclusion has dropped the hypothetical frame (implying bluntly that ‘I [do in fact] have no obligation to give more…’). <br>
A sound conclusion would be: ‘If everyone in similar circumstances were to give small sums of money, then I would have no obligation to give more…’
@@
</$details>
<$details summary="Calling this a moral requirement is too drastic.">
@@.objection
//Objection #2 – (Sidgwick and Urmson) – We need a basic moral code which is not too far beyond our ordinary judgments and capacities, or else there will be a general breakdown of compliance with the moral code. Singer’s conclusion is too drastic a revision of our moral scheme, and will therefore will lead to a breakdown of the most basic aspects of the moral order.//
@@
@@.reply
Response: In the case of advocating the we are obligated to do significantly much more than we currently do to relive famine, this simply seems implausible. Would people really start violating stark prohibitions (on murdering/stealing etc.) if they are told that morality requires them to help alleviate very bad preventable suffering?
@@
Importantly, however, Singer does grant that the question of where we should draw the line between conduct that is required, and conduct that is merely good but not required ([[supererogatory]]), so as to get the best result, does “seem to be an empirical [one]”.
<br>
[NOTE: While this version of the response is attributed to Sidgwick and Urmson, this kind of problem is an interesting one for Utilitarianism at large: what kind of moral principles ought we publicly endorse in order to bring about the best consequences? Consider Mill’s chapter on justice, for example.]
</$details>
<$details summary="It's absurd to claim morality requires full-time work on behalf of others.">
@@.objection
//Objection #3 – Like many different kinds of utilitarianism, Singer’s framework requires that all ought, morally, to be working full-time to increase the happiness of others (i.e., we are all required to be “moral saints”, if you will) and this is unacceptable.//
@@
[NOTE: Unlike the rest of the objections listed here, this one focuses only on the “strong” version of Singer’s argument, and does not address the “moderate” version, as on that account we are not required to be working full-time to increase the happiness of others].
@@.reply
Response: Yes, that is in fact what morality (currently) requires. It is also a very traditional view; it was advocated by Thomas Aquinas! This should not be regarded as a criticism of Singer’s proposed standard of morality, but instead a criticism of our ordinary standards of behavior.
@@
Furthermore, if we all did adopt Singer’s position, there would then be no easily preventable bad occurrences left and a “moral saints” requirement for behavior would no longer apply.
</$details>
<$details summary="This shouldn't be an individual responsibility; it should be a governmental one.">
@@.objection
//Objection #4 – Overseas aid ought to be a government responsibility, and therefore there is no individual obligation to give to privately run charities.//
@@
@@.reply
This argument (seems to) assume that the more people donate to private charities the less likely it is that governments will give more in foreign aid. Singer finds this implausible (and in fact finds the inverse—that more private donations will lead to more government aid—more plausible). <br>
While governments, too, ought to give more money in foreign aid, the lack of their doing so does not lesson the obligation on individuals to give to privately run charities.
@@
</$details>
<$details summary="Famine relief organizations are temporary band-aids; famines will only get worse without population control.">
@@.objection
//Objection #5 – Until there is effective population control, giving more money to famine relief merely postpones starvation.//
@@
@@.reply
Response: This might well be true, but if one accepts this conclusion it doesn’t lessen their obligation to give to famine relief, but merely changes the means by which they ought to pursue this aim. If we grant this claim, then the best means of famine relief—in the long run—is population control, and we are obligated to do all we can to promote it.
@@
[NOTE: This response is particularly interesting in that it entails, under Signer’s own framework, that there could be many competing—and perhaps radically different—accounts of how one ought to spend their extra income in order to bring about an end to preventable suffering.
<br>
Furthermore, the specific issue at hand here, population growth, is revealing of another hurdle which must be overcome if we are to implement the conclusions of Singer’s argument: uncertainty. When this essay was written in 1972, there were widespread concerns about imminent starvation from overpopulation (Stanford professor Paul Ehrlich famously predicted in 1968 that there would be worldwide famine in the 70s and 80s). While population growth may still be a reasonable concern, empirical questions about which measures we should take to mitigate long-term preventable suffering are clearly immensely complex.]
</$details>
<iframe style="border: none" src="//dcs.megaphone.fm/VMP5322724267.mp3?key=e2f5c8bcf0c81d390f71edc6ec0c8329" height="60" width="100%" scrolling="no" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>
Ezra Klein interview (this link includes transcript: https://www.vox.com/future-perfect/2019/12/6/20992100/peter-singer-effective-altruism-lives-you-can-save-animal-liberation)
<hr>
<iframe style="border: none" src="//html5-player.libsyn.com/embed/episode/id/6516078/height/90/theme/custom/thumbnail/no/direction/backward/render-playlist/no/custom-color/000000/" height="90" width="100%" scrolling="no" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>
Peter [[Singer]]'s well-known 1972 article is our 5th reading for Unit D... The article is available at moodle, but you can also find the [[text here|https://www.utilitarian.net/singer/by/1972----.htm]]
[[Singer]] is a contemporary living philosopher who has developed and applied the [[utilitarian|utilitarianism]] theory with attention to a wide range of issues, often defending dramatic — sometimes controversial — conclusions about how to weigh competing interests, and [[what morality demands|moral demandingness]].
Arthur (as Teaching Apprentice) will lead discussion.
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag="Singer, Famine Affluence and Morality"
selectedTiddler="$:/temp/toc/Singer/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
[[◀ back to Rawles|Rawles, Conservation and Animal Welfare]] @@float:right; forward to {{!!list-before}}▶
[img class=img-right width=50% [https://www.dropbox.com/s/20kr8fdb3xyda6n/sally_haslanger_sj_lecture_poster.jpg?raw=1]] Students who attend this lecture may post a [[microessay|microessays]] in response (just "reply" to your existing [[microessay|microessays]] for [[Unit A]]), which will count toward [[participation]] and also serves as a free-floating extra microessay to help offset any unit with a microessay submission that is less strong.
Though you may not be able to reproduce exact accurate quotes from the talk, any paraphrase from your notes can help to orient us to your critical concern and imagined dialogue with the speaker.
[img width=25% class=img-right [Socrates bust|https://upload.wikimedia.org/wikipedia/commons/a/a4/Socrates_Louvre.jpg]]
Socrates (ca 469BCE – 399BCE) was a philosopher in Athens, but his own ideas and concerns are preserved only through others' writings, as he conducted philosophy only through verbal discussion (and indeed was [[suspicious of writtten texts]]). Though most of [[Plato's|Plato]] [[dialogues|dialogue]] involve the character of Socrates, only in the very [[early dialogues of Plato]] do we find anything like a realistic presentation of the historical Socrates, who was Plato's teacher.
In his later work, [[Plato]] took more and more liberty in having Socrates' voice present ideas that were distinctively Plato's own. In addition to Plato himself, the school of [[Stoic|stoicism]] philosophers, including [[Epictetus]], often invoke Socrates as a kind of iconic figure of [[wisdom]].
!!!Socrates (in Plato’s Crito) endorses the following ideas about acting rightly…
<$details state="!!accord1" summary="(a) One must conform to any just agreements one has made." mode="custom" $state="aaa3">@@color:green; Yes. 49e: when one has come to an agreement that is just with someone, ... one should fulfill it.@@</$details>
<$details state="!!accord2" summary="(b) A person benefits more from acting rightly than from acting wrongly." mode="custom" $state="aaa4">@@color:green; Yes. 48b: the most important thing is not life, but the good life... [which is the same ] the beautiful life, and the just life... 49b: wrongdoing is in every way harmful and shameful to the wrongdoer... @@</$details>
<$details state="!!accord3" summary="(c) It is not right for people to cause harm in retaliation for the harms inflicted on them." mode="custom" $state="aaa5">@@color:green; Yes. 49c: One should never do wrong in return, nor injure any man, whatever injury one has suffered at his hands.@@</$details>
<$details state="!!accord4" summary="(d) He must ultimately accept the beliefs that have been officially endorsed by the democratic majority." mode="custom" $state="aaa1">@@color:red;No... 44c: Why should we care so much for what the majority think? and 47a: one must not value all the opinions of men, but some and not others... [only] the good opinions ... of the wise. 50c does speak of “respecting the judgments” of the city, but that need not mean agreeing with the beliefs of the majority.@@</$details>
<$details state="!!accord5" summary="(e) It is always right for a person to follow the laws of the state, regardless of whether one has any say in those laws." mode="custom" $state="aaa2">@@color:red;No... 52a: “Yet we only propose things, we do not issue savage commands to do whatever we order; we give two alternatives, either to persuade us or to do what we say. ...” This matter does seem pivotal to Socrates’ sense that his agreement with the city was a *just* one...@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<<<.dark
“And is life worth living for us with that part of us corrupted that unjust action harms and just action benefits?... the most important thing is not life, but the good life.”
<<< //Crito//, 48 a, 48b
<<<.dark
“Be persuaded by us who have brought you up, Socrates. Do not value either your children or your life or anything else more than goodness, in order that when you arrive in Hades you may have all this as your defense before the rulers there. If you do this deed, you will not think it better or more just or more pious here, nor will any one of your friends… we shall be angry with you while you are still alive, and our brothers, the laws of the underworld, will not receive you kindly, knowing that you tried to destroy us as far as you could.”
<<< //Crito//, 54 c
<<<.moo
@@.hlg Socrates’ definition of goodness appears to deny him the pleasures of day-to-day living, while placing the utmost importance on how he will be judged by the gods in the afterlife.@@ @@.hly Can his perspective be defended from an atheistic point of view, or is it entirely contingent upon the notion of an afterlife?@@ While it is true that @@.hly Socrates argues against making an escape because it will discredit his ‘good’ reputation, both among his fellow men and among the gods,@@ @@.hlb the larger issue is not Socrates’ reputation, but that he does not wish to upset the relationship dynamics which allow the Athenian legal system to function properly. Socrates’ sacrifices contextual justice in order to preserve the justice system itself.@@
<<<
<$details class="eval" summary="Evaluation notes...">
| !Focus <<HB2>>|Notice attention is divided between two critical concerns:<br>one about whether he needs belief in an afterlife, one about the role of reputation.|
| !Accuracy <<HB4>>||
| !Critique <<HB4>>||
| !Engagement <<HB3>>|Only one of the two concerns is addressed.|
| !Technical details <<HB4>>||
</$details>
<!--
spergel
-->
>The position of Lawrence and Matsuda can be clarified and elaborated using ''J. L. Austin’s distinction'' between perlocutionary effects and illocutionary force. The ''perlocutionary effects'' of an utterance consist of its causal effects on the hearer: infuriariting her, persuading her, frightening her, and so on. The ''illocutionary force'' of an utterance consists of the kind of speech act one is performing in making the utterance: ''advising, warning, stating, claiming, arguing,'' and so on. Lawrence and Matsuda are ... are suggesting that hate speech can inflict a wrong in virtue of its illocutionary acts, the very speech acts performed in the utterances of such speech. <br> ... it is the wrong of ''treating a person as having inferior moral standing.'' (Altman, 309)
>It was for too long the assumption of philosophers that the business of a 'statement' can only be to 'describe' some state of affairs, or to 'state some fact', which it must do either truly or falsely. ... [Yet] many traditional philosophical perplexities have arisen through a mistake — the ''mistake of taking //as straightforward statements of fact//'' ''utterances which are'' either (in interesting non-grammatical ways) ''nonsensical or'' else ''intended as something quite different''. (Austin, //How To Do Things With Words//, p. 2)
|!Locutionary act|!Perlocutionary effect|!Illocutionary Force|
|//Saying that...//|//Causing// ... to happen|//Enacting...//|
|... such-and-such people are inferior| ... embarrassment and fear... | ... subordination and contempt|
Leonard Cohen, "Songs from a Room"
https://www.youtube.com/watch?v=L9NKRZUD9lw
"""
The door, it opened slowly
My father, he came in
I was nine years old
And he stood so tall above me
Blue eyes, they were shining
And his voice was very cold
Said, "I've had a vision
And you know I'm strong and holy
I must do what I've been told"
So we started up the mountain
I was running, he was walking
And his axe was made of gold
Well, the trees, they got much smaller
The lake, a lady's mirror
When we stopped to drink some wine
Then he threw the bottle over
Broke a minute later
And he put his hand on mine
Thought I saw an eagle
But it might have been a vulture
I never could decide
Then my father built an altar
He looked once behind his shoulder
He knew I would not hide
You who build these altars now
To sacrifice these children
You must not do it anymore
A scheme is not a vision
And you never have been tempted
By a demon or a god
You, who stand above them now
Your hatchets blunt and bloody
You were not there before
When I lay upon a mountain
And my father's hand was trembling
With the beauty of the word
And if you call me brother now
Forgive me if I inquire
Just according to whose plan?
When it all comes down to dust
I will kill you if I must
I will help you if I can
When it all comes down to dust
I will help you if I must
I will kill you if I can
And mercy on our uniform
Man of peace or man of war
The peacock spreads his fan
"""
<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://www.lucidchart.com/documents/embeddedchart/1bb1946b-5f86-4ab2-b859-1f941b105108" id="NdrQg5P0hmKr"></iframe></div>
Each semester's TAs may choose to lead discussion on a related theme (and reading) of their choice.
For Spring 2019, TA choice readings include:
[[McMahan|Just war case study…]] (chosen by Chris Bryan)
[[Kimmerer|Kimmerer's ethics of reciprocity…]] (chosen by Alea Laidlaw)
<<tabs "[tag[TAchoice]]" template:"tabtemplate">>
Teaching Apprentices are
Arthur Wright '21 (PHIL)
Rama Co '21 (PHIL)
\define TableWizardDisplayTableDummyMacro()
<<DisplayTable """$(ConfigTiddler)$""">>
\end
\define TableWizardColumnSelectCheckbox()
<$checkbox tiddler='$:/state/$(ConfigTiddler)$/Display Columns/$(ThisDisplayColumn)$' field='show' checked='$(ThisDisplayColumn)$' unchecked=''>
<$view tiddler="""$(ThisDisplayColumn)$""" field=caption>
$(ThisDisplayColumn)$
</$view>
</$checkbox>
\end
\define TableWizardSubcolumnSelectCheckbox()
<$checkbox tiddler='$:/state/$(ConfigTiddler)$/Display Subcolumns/$(ThisDisplaySubcolumn)$' field='show' checked='$(ThisDisplaySubcolumn)$' unchecked=''>
<$view tiddler="""$(ThisDisplaySubcolumn)$""" field=caption>
$(ThisDisplaySubcolumn)$
</$view>
</$checkbox>
\end
\define TableWizardRowSelectCheckbox()
<$checkbox tiddler='$:/state/$(ConfigTiddler)$/Display Rows/$(ThisDisplayRow)$' field='show' checked='$(ThisDisplayRow)$' unchecked=''>
<$view tiddler="""$(ThisDisplayRow)$""" field=caption>
$(ThisDisplayRow)$
</$view>
</$checkbox>
\end
\define TableWizardMakeColumnSelectCheckbox()
<$list filter='[tag{$(ConfigTiddler)$!!column_tag}]' variable=ThisDisplayColumn>
<<TableWizardColumnSelectCheckbox>>
</$list>
\end
\define TableWizardMakeSubcolumnSelectCheckbox()
<$list filter='[tag{$(ConfigTiddler)$!!subcolumn_tag}]' variable=ThisDisplaySubcolumn>
<<TableWizardSubcolumnSelectCheckbox>>
</$list>
\end
\define TableWizardMakeRowSelectCheckbox()
<$list filter='[tag{$(ConfigTiddler)$!!row_tag}]' variable=ThisDisplayRow>
<<TableWizardRowSelectCheckbox>>
</$list>
\end
\define TableWizardButtonSubcolumn()
<$reveal type='nomatch' state="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$""" text='edit'>
<div style='height:100%;width:100%;'>
<$button class='tc-btn-invisible' style='height:100%;width:100%;'>
<$view tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$/$(ThisItem)$""" field=subcolumn_data>
<<MissingMessage>>
</$view>
<$action-setfield $tiddler="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$""" $value=edit/>
</$button>
</div>
</$reveal>
<$reveal type='match' state="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$""" text='edit'>
<$button>
{{$:/core/images/done-button}}
<$action-setfield $tiddler="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$""" $value=''/>
</$button>
<$edit-text tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$/$(ThisItem)$""" field=subcolumn_data size=1/>
</$reveal>
\end
\define TableWizardSubcolumnDisplayEntry()
<td>
<$reveal type='nomatch' state="""$(ConfigTiddler)$!!allow_edit""" text='yes'>
<$view tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisSubcolumn)$/$(ThisItem)$""" field=subcolumn_data>
<<MissingMessage>>
</$view>
</$reveal>
<$reveal type='match' state="""$(ConfigTiddler)$!!allow_edit""" text='yes'>
<<TableWizardButtonSubcolumn>>
</$reveal>
</td>
\end
\define TableWizardButtonColumn()
<$reveal type='nomatch' state="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$!!$(ThisColumn)$""" text='edit'>
<div style='height:100%;width:100%;'>
<$button class='tc-btn-invisible' style='height:100%;width:100%;'>
<$view tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisItem)$""" field='column_data'>
<<MissingMessage>>
</$view>
<$action-setfield $tiddler="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$""" $field=$(ThisColumn)$ $value=edit/>
</$button>
</div>
</$reveal>
<$reveal type='match' state="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$!!$(ThisColumn)$""" text='edit'>
<$button>
{{$:/core/images/done-button}}
<$action-setfield $tiddler="""$:/state/$(ConfigTiddler)$/$(ThisRow)$/$(ThisColumn)$""" $field=$(ThisColumn)$ $value=''/>
</$button>
<$edit-text tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisItem)$""" field=column_data size=1/>
</$reveal>
\end
\define TableWizardColumnDisplayEntry()
<td>
<$reveal type='nomatch' state="""$(ConfigTiddler)$!!allow_edit""" text='yes'>
<$view tiddler="""$:/Data/$(ThisRow)$/$(ThisColumn)$/$(ThisItem)$""" field='column_data'>
<<MissingMessage>>
</$view>
</$reveal>
<$reveal type='match' state="""$(ConfigTiddler)$!!allow_edit""" text='yes'>
<<TableWizardButtonColumn>>
</$reveal>
</td>
\end
\define TableWizardDisplayTableWithSubcolumns(DataTag ColumnTag SubcolumnTag RowTag SubcolumnPerColumn EmptyMessage)
@@text-align:center;
<$set name='ColumnList' filter='[prefix[$:/state/$(ConfigTiddler)$/Display Columns]has[show]get[show]tag[$ColumnTag$]sort[title]]-[[text]]-[[title]]-[[modified]]-[[created]]'>
<$set name='SubcolumnList' filter='[prefix[$:/state/$(ConfigTiddler)$/Display Subcolumns]has[show]get[show]tag[$SubcolumnTag$]sort[title]]-[[text]]-[[title]]-[[modified]]-[[created]]'>
<$set name='RowList' filter='[prefix[$:/state/$(ConfigTiddler)$/Display Rows]has[show]get[show]tag[$RowTag$]sort[title]]-[[text]]-[[title]]-[[modified]]-[[created]]'>
<$set name=MissingMessage value='$EmptyMessage$'>
<$set name=ThisItem value={{$(ConfigTiddler)$!!selected_data}}>
<table style='width:100%;border-color:black;'>
<tr>
<td style='background-color:lightgrey;border-color:black;'>
</td>
<$list filter=<<ColumnList>>>
<td colspan="$SubcolumnPerColumn$" style='background-color:lightgrey;border-color:black;'>
<$link to=<<currentTiddler>>>
<$view field='caption'>
<<currentTiddler>>
</$view>
</$link>
</td>
</$list>
</tr>
<tr style='width:100%;bordor-color:black;'>
<td style='border-left-color:black;'>
</td>
<$list filter=<<ColumnList>>>
<$list filter=<<SubcolumnList>> variable=ThisSubcolumn>
<td>
<$link to=<<ThisSubcolumn>>>
<$view tiddler=<<ThisSubcolumn>> field=caption>
<<ThisSubcolumn>>
</$view>
</$link>
</td>
</$list>
</$list>
</tr>
<$list filter=<<RowList>> variable=ThisRow>
<tr>
<td style='border-left:0px;'>
<$link to=<<ThisRow>>>
<$view tiddler=<<ThisRow>> field=caption>
<<ThisRow>>
</$view>
</$link>
</td>
<$list filter=<<ColumnList>> variable=ThisColumn>
<$list filter=<<SubcolumnList>> variable=ThisSubcolumn>
<<TableWizardSubcolumnDisplayEntry>>
</$list>
</$list>
</tr>
</$list>
</table>
</$set>
</$set>
</$set>
</$set>
</$set>
@@
\end
\define TableWizardDisplayTableMacro(DataTag ColumnTag RowTag EmptyMessage)
@@text-align:center;
<$set name='ColumnList' filter='[prefix[$:/state/$(ConfigTiddler)$/Display Columns]has[show]get[show]tag[$ColumnTag$]sort[title]]-[[text]]-[[title]]-[[modified]]-[[created]]'>
<$set name='RowList' filter='[prefix[$:/state/$(ConfigTiddler)$/Display Rows]has[show]get[show]tag[$RowTag$]sort[title]]-[[text]]-[[title]]-[[modified]]-[[created]]'>
<$set name=ThisItem value={{$(ConfigTiddler)$!!selected_data}}>
<$set name=MissingMessage value='$EmptyMessage$'>
<table style='width:100%;border-color:black;'>
<tr>
<td style='background-color:lightgrey;border-color:black;'>
</td>
<$list filter=<<ColumnList>>>
<td style='background-color:lightgrey;border-color:black;'>
<$link to=<<currentTiddler>>>
<$view field='caption'>
<<currentTiddler>>
</$view>
</$link>
</td>
</$list>
</tr>
<$list filter=<<RowList>> variable=ThisRow>
<tr>
<td style='border-left:0px;'>
<$link to=<<ThisRow>>>
<$view tiddler=<<ThisRow>> field=caption>
<<ThisRow>>
</$view>
</$link>
</td>
<$list filter=<<ColumnList>> variable=ThisColumn>
<<TableWizardColumnDisplayEntry>>
</$list>
</tr>
</$list>
</table>
</$set>
</$set>
</$set>
</$set>
@@
\end
\define MakeTableWizard()
Enter the name of the configuration tiddler to create:
<$edit-text tiddler='$:/temp/MakeTableWizard' field='config_tiddler_name' class='tc-edit-texteditor' placeholder='Configuration Tiddler Name'/>
<$reveal type='match' state='$:/temp/MakeTableWizard!!config_tiddler_name' text=''>
You have to enter a configuration tiddler name first.
</$reveal>
<$reveal type='nomatch' state='$:/temp/MakeTableWizard!!config_tiddler_name' text=''>
<$set name=ConfigTiddler value={{$:/temp/MakeTableWizard!!config_tiddler_name}}>
<$checkbox tiddler=<<ConfigTiddler>> field='include_subcolumns' checked='yes' unchecked='no'>Include Subcolumns</$checkbox><br>
<$tiddler tiddler=<<ConfigTiddler>>>
Data tag:
<$edit-text field='dataset_tag' class='tc-edit-texteditor'/>
Select Dataset Name <$reveal type='nomatch' state='!!show_new_dataset' text='true'>(<$button>Create New Datasets<$action-setfield show_new_dataset=true/></$button>):<br><br></$reveal>
<$reveal type='match' state='!!show_new_dataset' text='true'>(<$button>Done Creating Datasets<$action-setfield show_new_dataset=false/></$button>):<br><br>
<$edit-text tiddler='$:/temp/MakeTableWizard' field='new_dataset_name' class='tc-edit-texteditor' placeholder='New Dataset Name'/>
<$button>Create Dataset<$action-setfield $tiddler={{$:/temp/MakeTableWizard!!new_dataset_name}} tags={{!!dataset_tag}}/><$action-setfield $tiddler='$:/temp/MakeTableWizard' new_dataset_name=''/></$button><br><br>
</$reveal>
<$select field='selected_data'><$list filter='[tag{!!dataset_tag}]'><option><<currentTiddler>></option></$list></$select>
<br>
<$set name=SelectedData value={{!!selected_data}}>
Column tag:
<$edit-text field='column_tag' class='tc-edit-texteditor'/><br><br>
Select Columns to display <$reveal type='nomatch' state='!!show_new_column' text='true'>(<$button>Create New Columns<$action-setfield show_new_column=true/></$button>):<br><br></$reveal>
<$reveal type='match' state='!!show_new_column' text='true'>(<$button>Done Creating Columns<$action-setfield show_new_column=false/></$button>):<br><br>
<$edit-text tiddler='$:/temp/MakeTableWizard' field='new_column_name' class='tc-edit-texteditor' placeholder='New Column Name'/>
<$button>Create Column<$action-setfield $tiddler={{$:/temp/MakeTableWizard!!new_column_name}} tags={{!!column_tag}}/><$action-setfield $tiddler='$:/temp/MakeTableWizard' new_column_name=''/></$button><br><br>
</$reveal>
<<TableWizardMakeColumnSelectCheckbox>><br><br>
<$reveal type='match' state='!!include_subcolumns' text='yes'>
Subcolumn tag:
<$edit-text field='subcolumn_tag' class='tc-edit-texteditor'/>
Subcolumns per column:
<$edit-text field='subcolumn_per_column' class='tc-edit-texteditor'/>
Select subcolumns to display <$reveal type='nomatch' state='!!show_new_subcolumn' text='true'>(<$button>Create New Subcolmun<$action-setfield show_new_subcolumn=true/></$button>):<br><br></$reveal>
<$reveal type='match' state='!!show_new_subcolumn' text='true'>(<$button>Done Creating Subcolumns<$action-setfield show_new_subcolumn=false/></$button>):<br><br>
<$edit-text tiddler='$:/temp/MakeTableWizard' field='new_subcolumn_name' class='tc-edit-texteditor' placeholder='New Subcolumn Name'/>
<$button>Create Subcolumn<$action-setfield $tiddler={{$:/temp/MakeTableWizard!!new_subcolumn_name}} tags={{!!subcolumn_tag}}/><$action-setfield $tiddler='$:/temp/MakeTableWizard' new_subcolumn_name=''/></$button><br><br>
</$reveal>
<<TableWizardMakeSubcolumnSelectCheckbox>><br>
</$reveal>
Row tag:
<$edit-text field='row_tag' class='tc-edit-texteditor'/><br><br>
Select rows to display <$reveal type='nomatch' state='!!show_new_row' text='true'>(<$button>Create New Rows<$action-setfield show_new_row=true/></$button>):<br><br></$reveal>
<$reveal type='match' state='!!show_new_row' text='true'>(<$button>Done Creating Rows<$action-setfield show_new_row=false/></$button>):<br><br>
<$edit-text tiddler='$:/temp/MakeTableWizard' field='new_row_name' class='tc-edit-texteditor' placeholder='New Row Name'/>
<$button>Create Row<$action-setfield $tiddler={{$:/temp/MakeTableWizard!!new_row_name}} tags={{!!row_tag}}/><$action-setfield $tiddler='$:/temp/MakeTableWizard' new_row_name=''/></$button><br><br>
</$reveal>
<<TableWizardMakeRowSelectCheckbox>><br><br>
Empty cell message:
<$edit-text field='empty_message' class='tc-edit-texteditor'/>
<$checkbox field='allow_edit' checked='yes' unchecked='no'>Allow Inline Editing</$checkbox><br>
<$reveal type='match' state='!!show_table' text='yes'>
</$reveal>
</$set>
</$tiddler>
<$button>Refresh Table
<$action-setfield dummy=1/>
</$button>
<<TableWizardDisplayTableDummyMacro>>
</$set>
</$reveal>
\end
\define TableWizardDisplayTableInside()
<$reveal type='nomatch' state="""$(ConfigTiddler)$!!include_subcolumns""" text='yes'>
<$macrocall $name=TableWizardDisplayTableMacro DataTag={{$(ConfigTiddler)$!!dataset_tag}} ColumnTag={{$(ConfigTiddler)$!!column_tag}} RowTag={{$(ConfigTiddler)$!!row_tag}} EmptyMessage={{$(ConfigTiddler)$!!empty_message}}/>
</$reveal>
<$reveal type='match' state="""$(ConfigTiddler)$!!include_subcolumns""" text='yes'>
<$macrocall $name=TableWizardDisplayTableWithSubcolumns DataTag={{$(ConfigTiddler)$!!dataset_tag}} ColumnTag={{$(ConfigTiddler)$!!column_tag}} RowTag={{$(ConfigTiddler)$!!row_tag}} EmptyMessage={{$(ConfigTiddler)$!!empty_message}} SubcolumnTag={{$(ConfigTiddler)$!!subcolumn_tag}} SubcolumnPerColumn={{$(ConfigTiddler)$!!subcolumn_per_column}}/>
</$reveal>
\end
\define DisplayTable(ConfigTiddler)
<$set name=ConfigTiddler value="""$ConfigTiddler$""">
<<TableWizardDisplayTableInside>>
</$set>
\end
\define TableMacrosColumnInnerInnerRows()
<tr>
<th>
</th>
<$list filter='$(ColumnList)$+[sort{$(TableMacrosMakeTableSortStateTiddler)$}]'>
<th>
<<currentTiddler>>
</th>
</$list>
</tr>
<$list filter=<<FieldsList>> variable=ThisField>
<tr>
<th>
<$button class='tc-btn-invisible' set=<<TableMacrosMakeTableSortStateTiddler>> setTo=<<ThisField>>><<ThisField>></$button>
</th>
<$list filter='$(ColumnList)$+[sort{$(TableMacrosMakeTableSortStateTiddler)$}]' variable=ThisTiddler>
<td>
<<TableMacrosInlineEditButton>>
</td>
</$list>
</tr>
</$list>
\end
\define TableMacrosInnerColumnTable()
<$set name=FieldsList1 filter='$(ColumnList)$+[fields[]]-[[text]]-[[title]]-[[modified]]-[[created]]-[[tags]]'>
<$set name=FieldsList filter='[is[system]!is[system]]$(FieldsUsed)$' emptyValue=<<FieldsList1>>>
<$set name=RowOrColumn value=Column>
<$set name=TableSortState value=<<TableMacrosMakeTableSortState>>>
<table>
<<TableMacrosColumnInnerInnerRows>>
</table>
</$set>
</$set>
</$set>
</$set>
\end
\define TableMacrosMakeTableSortState()
{{$:/state/tables/Sort/$(RowOrColumn)$/$(FieldsList)$}}
\end
\define TableMacrosMakeTableSortStateTiddler()
$:/state/tables/Sort/$(RowOrColumn)$/$(FieldsList)$
\end
\define TableMacrosRowTableInnerInnerRows()
<$list filter='$(RowList)$+[sort{$(TableMacrosMakeTableSortStateTiddler)$}]' variable=ThisTiddler>
<tr>
<th>
<<ThisTiddler>>
</th>
<$list filter=<<FieldsList>> variable=ThisField>
<td>
<<TableMacrosInlineEditButton>>
</td>
</$list>
</tr>
</$list>
\end
\define TableMacrosInnerRowTable()
<$set name=FieldsList1 filter='$(RowList)$+[fields[]]-[[text]]-[[title]]-[[modified]]-[[created]]-[[tags]]'>
<$set name=FieldsList filter='[is[system]!is[system]]$(FieldsUsed)$' emptyValue=<<FieldsList1>>>
<$set name=RowOrColumn value=Row>
<$set name=TableSortState value=<<TableMacrosMakeTableSortState>>>
<table>
<tr>
<th>
<$button class='tc-btn-invisible' style='width:100%;height:100%' set=<<TableMacrosMakeTableSortStateTiddler>> setTo=title>Title</$button>
</th>
<$list filter=<<FieldsList>>>
<th>
<$button class='tc-btn-invisible' set=<<TableMacrosMakeTableSortStateTiddler>> setTo=<<currentTiddler>>><<currentTiddler>></$button>
</th>
</$list>
</tr>
<<TableMacrosRowTableInnerInnerRows>>
</table>
</$set>
</$set>
</$set>
</$set>
\end
\define ColumnTable(filter fields)
<$set name='ColumnList' value='$filter$'>
<$set name='FieldsUsed' value='$fields$'>
<<TableMacrosInnerColumnTable>>
</$set>
</$set>
\end
\define RowTable(filter fields)
<$set name='RowList' value='$filter$'>
<$set name='FieldsUsed' value='$fields$'>
<<TableMacrosInnerRowTable>>
</$set>
</$set>
\end
\define TableMacrosInlineEditButton()
<$reveal type='nomatch' state="""$:/temp/edit/$(ThisTiddler)$/$(ThisField)$""" text='edit'>
<$button set="""$:/temp/edit/$(ThisTiddler)$/$(ThisField)$""" setTo=edit class='tc-btn-invisible' style='width:100%;hegiht:100%'>
<$view tiddler=<<ThisTiddler>> field=<<ThisField>>>--</$view>
</$button>
</$reveal>
<$reveal type='match' state="""$:/temp/edit/$(ThisTiddler)$/$(ThisField)$""" text='edit'>
<$button set="""$:/temp/edit/$(ThisTiddler)$/$(ThisField)$""" setTo=noedit>{{$:/core/images/done-button}}</$button>
<$edit-text tiddler=<<ThisTiddler>> field=<<ThisField>> size=1/>
</$reveal>
\end
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
{{||vocabulary}}
{{||toc_for_session}}
TA session for Spring 2021
Under construction!
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-external-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/Tessman-Luck/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
@@border:1px solid crimson;padding:7px 15px;float:right;margin:0;
[[Version 0.8.4|TextStretch Versions]]
@@
!! ''Make text short and expandable''
The ''TextStretch'' macro is a great tool <<strex "for you as an author of hypertext">> to keep the message short. Your readers can discover more details easily.
{{TextStretch Tweet}}
!! Features and Syntax
''Compact and powerful.'' Want to hide some content? `<<strex magic>>` will stretch it out when the dots are clicked: <<strex magic>>. Use presets for simplicity or define your own styles and flavors. Tell stories using complex [[nested structures|TextStretch Transclusion Examples]] and transclusion.
!!! Full Syntax
`<<strex "content" "label" "start" "end" "class" "id">>`
Try it: <<strex "content" "label" "start" "end" "class" "id">>
!!! Default Values
The first line of the [[macro|$:/_telmiger/strex]] reads
```
\define strex(content:"TextStretch", label:"…", start:"[", end:"]", class:"", id="_false_")
```
If you prefer other <<strex """''presets:'' you can see the default values above, enclosed in "quotation marks" """ presets>>, I recommend to call strex from your own macro or adapt your copy of the `<<ref>>` shorthand in [[$:/_telmiger/ref]].<<ref "''ref'' could be your within-tiddler-reference standard. If you use this shorthand only, you can change your configuration in one single place anytime. You could even switch the ’motor‘ if you find a better macro than strex in the future.">><<ref "For more information on ''ref'' see [[TextStretch Variant Footnote]].">>
!! Parameters
Use quotation marks, if your parameter contains whitespace <<strex "e.g. "your text" or 'long label'">>. If you want to use the default value, you write "" or nothing.
; content
: Text you want to hide – you can use <<strex {{!!example-1}} transclusion>> and HTML <<strex "~HyperText Markup Language can help you to display <ul><li>characters like "</li><li>lists</li><li>other elements …</li></ul>that otherwise are difficult to transclude." "(?)" "x" "?" "hint">>
; label
: Text on the button that <<strex "disappears after opening" opens>> the element.
; start //and// end
: Texts on the buttons which close the element <<strex "and are placed at the beginning/end of the //content//" … ^ $>>.
; class
: Classes can be appended here. There are [[examples|TextStretch Examples]] for predefined classes.
; id
: Control the activation of TextStretch elements defined in the same tiddler.<<strex "(hidden)" * * "" "nocontent noend" "id_1">> Elements with identical //id// open and close <<strex "at the same time" together "" "" "" "id_2">> which can be useful <<strex "or funny in rare cases." "…" "" "" "" "id_2">> Elements with identical //content// open together too. You can separate them using unique id’s. <<strex "An element that was transcluded or which is displayed in another open tiddler, will ''always'' open and close independently. Even if it has the same id. The reason is TiddlyWiki’s ''state handling:'' we use the standard [[qualify macro|http://tiddlywiki.com/#qualify%20Macro]] here." " * " "*" "close *" "blockinner" "id_1">>
!! Installation
Backup your TiddliWiki <<strex "Version 5.1.9 or higher as it needs the VarsWidget that came with 5.1.9" "(5.1.9 +)" "x" "5.1.9 +" "hint">>. Drag the links from the following list to your Wiki, import, save and ''reload''.
* macro: $:/_telmiger/strex
* shorthand macro: $:/_telmiger/ref
* styling: $:/_telmiger/strex.css
* macro for hashing: $:/_telmiger/utils/HashStr.js
Drag the link TextStretch over too, if you want to keep <<strex "or improve a copy of" (…) ( )>> these explanations. Have fun!
New [[TextStretch Versions]] might be published on: http://tid.li/tw5/hacks.html#TextStretch
!! Inspiration
This [[thread in the TiddliWiki Google Group|https://groups.google.com/d/msg/tiddlywiki/biymRJTDWxY/5Vh-PxYvAQAJ]] was the ignition which made me develop my own version of a tool similar to
* http://stretchtext.tiddlyspot.com/ or
* http://www.telescopictext.com/
<<strex {{!!example-2}}>> My initial goal was to detect [text], show only […] and expand on click. I was not able to master the detection part, but I think the result is much better anyway.
!!! Thank You
I am very greatful for Mat <<strex "from [[twaddle.tiddlyspot.com|http://twaddle.tiddlyspot.com/]], who appears in the Google group as the smiling man with the hat," "<:-)" "(-:>" "<:-)">> – his example [[StretchText|http://stretchtext.tiddlyspot.com/]] showed me how something like TextStretch can be done.
At the same time I would like to thank all other members of the friendly TiddlyWiki community for <<strex "their contributions to not only the aforementioned thread, but also many, many other">>inspiring examples, tips and tricks they share. Thank you all!
{{DWYWBDBM-Licence}}
To create an empty version of the latest tw5 on TiddlySpot, just copy and paste this form into...
http://five.tiddlywiki.com/emty.html
@@width:100%;
| !Your TiddlySpot Name|<$edit tiddler="$:/UploadName" default="" type="input"/>|
| !Your TiddlySpot Password|<$password name="upload"/>|
| !Your TiddlySpot Service URL|<$edit tiddler="$:/UploadURL" default="" type="input"/><br>`http://<wikiname>.tiddlyspot.com/store.cgi`|
@@
@@background:#f6f6f6;padding:20px;
Of course, you need to first create your TiddlySpot!
@@
[img width=15% class=img-right [version|https://www.dropbox.com/s/h6hm0wtjbp2wa2u/tw5-1-22.jpg?raw=1]]
The engine of this site, [[TiddlyWiki 5|http://www.tiddlywiki.com]], is designed to make lots of smaller tidbits ("tiddlers") available within a single-page view, displaying only what a viewer needs to see at any one time.
[[TiddlyWiki|http://www.tiddlywiki.com]] is powerful open-source software, constantly evolving with the help of its inventor, [[Jeremy Ruston|https://tiddlywiki.com/static/JeremyRuston.html]], and a community of programmers.
With thanks to [[Jeremy Ruston|https://tiddlywiki.com/static/JeremyRuston.html]], this site is hosted at xememex to allow comments by registered students.
<$details class="success" summary="Very basic TiddlyWiki introduction">
Like all TiddlyWiki pages, this one is a @@.hly "self-editing" document@@; it includes all the interface elements necessary to add and delete content, organize internal meta-data, and organize the interface layout and style. Although only some elements are in view at any one time, every tiddler available though an internal link is part of @@.hly one complex html document@@. The most basic TiddlyWiki setup involves using a web browser to @@.hly view and edit a local file@@ (an html document housed on the user's device).
This TiddlyWiki, however, is @@.hly hosted on a server on the internet@@ (obviously) so that students can access it. (The easiest online server to try is [[TiddlySpot|http://tobibeer.github.io/tb5/#TiddlySpot]]; this [[xememex|https://xememex.com/]] hosting enables much more complex server features, such as multiple user accounts.) Without the overall site password, online viewers may access the editing interface, and may even have the experience of editing the site, but changes will not actually overwrite any data on the server. (Students with accounts at xememex may post comments, but cannot save changes to the core content of the site.)
</$details>
<$details class="success" summary="Why use TiddlyWiki in the classroom?">
My initial motivation for exploring TiddlyWiki was to enable me to spontaneously project various <<tag definitions>>, <<tag excerpts>>, <<tag images>>, <<tag diagrams>>, etc., to share with students in the classroom, but without the linear sequencing baked into software like PlodderPoint (is that not what it's called?).
Since my approach to teaching involves lots of improvisation, [[dialogue]] and free-range discussion based on students' concerns, being able to surf among responsive internal links was a sufficient inspiration to get me up and running with TiddlyWiki Classic on my personal laptop. That was many years ago! Here's a link to <<stretch "my first web-hosted TiddlyWiki for students, started in 2005: http://reasoningwell.tiddlyspot.com/"
"[img[reasoning well banner|https://www.dropbox.com/s/lj6sjuxu4odkfi8/reasoning_well_banner_preview.png?raw=1]]">>
Much has evolved under the hood since then -- as has my own familiarity with TiddlyWiki's powers. In particular, educators can now enjoy the ability to host the TiddlyWiki online, hide or disable the editing interface, and invite students to browse a whole semester's worth of interconnected resources, including [[self-quizzes|opening_questions]], guided sequences, and -- of course -- the ready access to [[definitions]] that got me started in the first place.
</$details>
<$details class="success" summary="Got the basics already? Here to see TiddlyWiki in action?">
Some distinctive features of this particular TiddlyWiki are described below, for the sake of visitors with some prior exposure to "off-the-shelf" TiddlyWiki, but without much specialized knowledge.
<<table-dynamic filter:"[has[demo_comment]]" fields:"tbl-expand created caption title demo_comment" stateTiddler:"oq20 list" sort:demo_comment class:"w-100 thead-dark" caption:"''Click @@.tcr demo_comment@@ column header to sort by priority for touring site. Use @@.tcr ''﹥'' @@ in left column to preview content. Click any @@.tcr title@@ link for additional details''">>
The table above ⤴️ takes advantage of [[Shiraz dynamic tables|https://kookma.github.io/TW-Shiraz/#Tutorial%20Dynamic%20Tables]]. (To make any tiddler show up in the table above, all I need to do is create a field called ``demo_comment``)
</$details>
One advantage of the ForEachTiddler was the ability to build tables set sort orders and show fields and values in each row, this is now easier because if you create a simple list without a variable, inside the list you can refer to the current tiddlers fields directly.
<$list filter="[is[current]tag[searchtag]]">
{{!!title}} {{!!fieldname}}<br>
</$list>
I am actually working on something that would help here but unfortunately I need to seek work rather than publish tiddly-wiki tools just now. I have found a way to pass a filter to a list tool along with a "column list" tiddler used to tag what I call "Column tiddlers". During the list process the column heading and what to display for each item in the list, in that column is specified in the column tiddler. A nice side effect is using a TagPill you can use drag and drop to reorder the columns. The columns typically refer to fields however they can make buttons available to act on the items in the list.
I suppose my point here is the ForEachTiddler is more than adequatly replaced and you can now go way betond its capabilities even with native TW5
Let is keep the conversation going.
Tony
<$list filter="HelloThere">
<$list filter="[all[current]get[text]splitregexp[\n]prefix[Abstract:]]" variable=abstract>
<$link to=<<currentTiddler>> ><$text text=<<abstract>>/></$link>
</$list>
</$list>
[img width=40% class=img-right [dissent_patriotic|https://www.dropbox.com/s/p0ic6abx4eyod8h/protest_patriotic_scaled.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit A]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
* Recognizing terms for [[dialogue]] analysis: [[hypothesis]], [[elenchus]], [[reductio ad absurdum]], [[irony]], [[charitable interpretation|principle of charity]], [[aporia]], recognizing the structure of a [[dilemma]]
* Identifying the structure of a systematic [[argument]] from [[premises]] to [[conclusion]], patching [[enthymemes]].
* Recognizing persuasive [[metaphors|metaphor]] and [[argument by analogy]].
* Identifying [[deontological|deontology]] and [[consequentialist|consequentialism]] patterns of moral reasoning, [[foundationalist]] vs [[dialogical|dialogue]] ideals of [[argument]].
* Consider the many possible variations on the basic Euthyphro problem, and how to approach them
* Consider not just Socrates' own reasoning in Crito, but critical hints offered by Plato
* How do Stoic ideals work with, or against, other political and moral ideals?
* How are citizenship and humanity not just racialized but also gendered, by MLK, Malcolm X, and others?
* Do norms of civil disobedience implicitly legitimize the state (by seeking its recognition), especially from the perspective of indigenous people and/or those whose presence can be traced to kidnapping and enslavement?
[img width=40% class=img-right [unjust_law|https://www.dropbox.com/s/czuhq5wod88codx/children-drums.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit B]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
[img width=40% class=img-right [unjust_law|https://www.dropbox.com/s/kxjb035s5eyoyga/mn_legislature.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit C]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
[img width=40% class=img-right [unjust_law|https://www.dropbox.com/s/rsb66q3q30itvr6/panda%20freed.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit D]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
[img width=40% class=img-right [unjust_law|https://www.dropbox.com/s/pvqv5159ni12bjf/prisoners.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit E]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
[img width=40% class=img-right [unjust_law|https://www.dropbox.com/s/4o6vbjdtqv2fwdg/mother_baby_back.jpg?raw=1]]
<$transclude tiddler="unit template" mode="block"/>
<$details summary="sessions...">
<<tabs "[tag[Unit F]]+[tag[sessions]]" template:"tabtemplate">>
</$details>
https://fontawesome.com/icons/book-reader?style=solid
https://flyingmeat.com/acorn/docs/venn_diagram0.jpg
http://github.com/tobibeer/tw5-split
;How to reset the field value on multiple tiddlers?
:list them and then use the `action-setfield` to set the new values
!! Example
The below code finds all fileds named `time_total` and `grand_total` and then reset their value to zero.
```
<!-- show tiddlers and values (just so we know it works) -->
<$list filter="[has[time_total]] [has[grand_total]]">
<<currentTiddler>> time_total={{!!time_total}} grand_total={{!!grand_total}}<br>
</$list>
<!-- HERE'S THE BUTTON -->
<$button> reset totals
<$list filter="[has[time_total]] [has[grand_total]]">
<$action-setfield time_total="0" grand_total="0" />
</$list>
</$button>
```
!! Remarks
* The first $list use two filter runs in OR mode and lists all tiddlers with fields `time_total` OR `grand_total`
* The body of $list displays the found tiddler and the values of those fields if any
* The next part create a button for action on the tiddler with `time_total` and `grand_total` fields
* The seconf $list widget again lists all all tiddlers with fields `time_total` OR `grand_total` and in the body sets `time_total`="0" `grand_total`="0"
;Note
: the filter tests for any tiddler that has ''non-blank'' values for `time_total` OR `grand_total`. If you want to test for tiddlers that have either of those fields, even if blank, use:<div>
```
<$list filter="[has:field[time_total]] [has:field[grand_total]]">
```
</div>
:A visual tool for illustrating the logical relations among [[categories|categorical logic]] (generally two or three categories) by representing each category as a circle, and each point in space as falling within one or more circles (or, conceivably, outside all of the circles).
<hr>
If the three circles represent the S-term category, the P-term category, and the M-term category, the various colored spaces at right illustrate the potential overlaps between category memberships (Bars over letters indicate non-membership):
''Conventions'' for marking up a Venn diagram are as follows:
* Hash-marks or shading across a space indicate that the space is empty: nothing "lives" in this category (or intersection of categories).
* An asterisk within a space indicates that at least one item //does// occupy the category-intersection in question.
** When something occupies an incompletely-described space (if, for example, it is both S and M, but may or may not be P), an asterisk is drawn exactly at the border between the spaces it might occupy.
[img[VennSchema|https://i.pinimg.com/originals/92/e6/c3/92e6c30477778e8847ad0276d3273e11.jpg]]
{{childtabs}}
[img[Aristotle's virtues|https://www.dropbox.com/s/c7znyfe4hxw47k1/Arist_Virt_Vice_List_Bartlett_Nussbaum%2000001.png?raw=1]]
!! Elie Wiesel Prize in Ethics
>The Elie Wiesel Prize in Ethics Essay Contest is an annual competition designed to challenge college students to analyze the urgent ethical issues confronting them in today's complex world. Students are encouraged to write thought-provoking personal essays that raise questions, single out issues and are rational arguments for ethical action.
!!!Suggested Topics:
* Articulate with clarity an ethical issue that you have encountered and analyze what it has taught you about ethics and yourself.
* Reflect on the relationship between religion and ethics in today's world, making sure to draw on your own life as a guide.
* What does your own experience tell you about the relationship between politics and ethics and, in particular, what could be done to make politics more ethical?
Deadline for entries: December each year.
[[Elie Wiesel Prize website|http://www.eliewieselfoundation.org/2011information.aspx]]
@@.Q
Having read a lot of philosophy, Socrates is still my favorite, which begs the question is there any progress in philosophy?
@@
@@.A
Having read a lot of philosophy, I still like Socrates the best, and this leads me to wonder, Is there any progress in philosophy?
@@
You may want to consult the [[philosophy guidelines at the writing center|http://www.wesleyan.edu/writing/workshop/departments/philosophy.html]], and the following list of common errors compiled by [[Elise Springer]].
//The following points are from my key to a list of about 200 errors occur commonly enough that I've developed quick explanatory codes. Please be sure to check with a writing tutor, or with me, if any of these are not clear to you. (These aren't the only things that matter, but understanding these may be a good way to remind yourself of things to watch out for.)//
|!Common problems that directly affect philosophical or scholarly value:|<|
|@|Your reader wants to see some indication of a ''citation'' close by. Where can this be found?|
|AE|''Asserting'' vs ''entertaining'' an idea: please make it clearer whether you're actually endorsing this idea, or just presenting it for the sake of discussion.|
|BI|''Bibliography'' [[citation details]] are incomplete/incorrect (lacking sources, lacking complete information, or badly formatted). See [[MLA's online guide|http://www.lib.usm.edu/research/guides/mla.html]].|
|BN|''Backup'' is needed: you have a claim that shouldn't appear without some ''support'' or ''[[argument]]''.|
|CH|''[[Charity|principle of charity]]'': your criticism may be plausible, but you should put effort into seeing whether better sense can be made of the text.|
|CN|''[[Citation|citation details]]'' needed: any direct quote, as well as any paraphrase of a relatively obscure or surprising idea from a text, needs to be accompanied by a citation, as in <tt>(Kant, 424)</tt> or <tt>(Plato, 12a)</tt>|
|CX|''Connection''? It's not clear why you present these ideas as logically related. If you believe they are, please spell out why.|
|FQ|''Frame quotation'': Make sure that you "introduce" any source and orient the reader to their contribution; don't let someone else's words suddenly take over the authorial voice.|
|IQ|''Include quotation'' or clearly referenced paraphrase. Your critical response will achieve better focus by examining specific passages, especially when a claim is less than obvious.|
|LS|What a ''long sentence''! Your reader might be better served by breaking this sentence up into shorter, more focused, claims.|
|OS|''Oversimplification'': While there may be an issue worth engaging with here, you seem to offer too hasty a summary of the position you’re criticizing.|
|PB|''Paragraph break'' is needed: focus each paragraph on a topic sentence and give the reader a breather between topics.|
|PL|Here you settle for leading the reader through the "''plot''" of the text. Where are we going, and why?|
|TT|There's a ''thesis topic'' here, but not a thesis [[problem]] or a thesis claim. YOUR contribution to our thinking through this topic is...?|
|XD|Accusing someone of a ''[[contradiction]]'' is very serious business. Make sure you specify exactly what claim seems to be both affirmed and denied.|
|alternating-rows soft-table|k
|!Surface problems that mar the quality of your work and distract the reader|<|
|BY|Correct use of ''"By"'' at the beginning of a sentence/clause is tricky. See a reference work on participle clauses.|
|DA|''Dangler'': The subordinate clause or modifier should "belong to" the subject of the sentence. [[Learn how to fix|http://owl.english.purdue.edu/handouts/grammar/g_dangmod.html]].|
|DF|A ''differs from'' B, so A is different //from// B; "different than" is common but [[generally clumsy|http://www.straightdope.com/columns/010316.html/]].|
|FE|Don't use "I ''feel''" (or "he/she feels") talk unless you have some reason to talk about gut reactions or emotions here; talk of "feeling that x is true" implies that reasons are beside the point.|
|GM|The "''generic male''" is dying... some older authors did mean "human" by "man" (etc.), but now the male connotation is undeniable. Sometimes [[restructuring a sentence is required|http://www.cjr.org/tools/lc/heshe.asp]].|
|H|''Homophones'' (similar-sounding words) have been confused here. [[Learn the difference|http://www.earlham.edu/~peters/writing/homofone.htm]]! Spell-checkers can't help.|
|JB|"//Just because ... does not mean...//" is OK in informal speech, but ungrammatical in form.|
|PV|The ''passive voice'' gets in the way here: why not say directly WHO does/claims this (avoiding "by")?|
|Q|Your words indicate a ''question'' is being asked, and yet you treat the sentence like an assertion.|
|QB|The proper meaning of the phrase "[[question-begging|begging the question]]" still matters in philosophy. It does //not// mean some situation "invites us to ask a question..." Instead it means someone "fails to provide reasons on the matter, but instead simply begs for acceptance of a claim."|
|QL|If a ''quoted'' passage is ''long'', it needs its own separate double-indented, single-spaced paragraph.|
|RG|''Argue'' [this point]: “Argue” is best used without a direct object. One argues for or against claims, but “argue a point” is unclear.|
|SD|''Spell-check disaster'': the only explanation for this irrelevant word is that you chose a [[spell-checker’s brainless suggestion|http://www.eiu.edu/~kuoeng/spelling.html]]. Oops!|
|WP|The ''wrong pronoun'' is used.|
|YO|If possible, avoid using "''you''" to mean "anyone". (Especially avoid going back and forth among “you” and “one” and “they” in the same context.)|
|alternating-rows soft-table|k
In addition to our own Teaching Apprentices (who are successful graduates of this very course), you can take advantage of The Writing Workshop, as they always have writing tutors available. Some have more philosophical expertise than others, but all of them can help with basic matters of effective communication, grammar, and clarity.
https://www.wesleyan.edu/writing/writingworkshop/index.html
@@.threecolumns <<list-links "[tag[_play]]">>
@@
{{childtabs-v}}
[img[diagram|http://espringer.web.wesleyan.edu/images/dialoguediagram.jpg]]
In this course, we will frequently employ the concepts and skills of philosophical reasoning, and these will need to be handled confidently on exam and essay work. In particular, we will emphasize a [[dialogical|dialogue]] approach to discussion of ideas. For practice in these skills, participants will write one "micro-essay" per unit.
The basic task of a micro-essay involves:
(1) recognize one or more inferences behind the author's conclusion(s),
(2) to develop a critical concern in response to the author's [[reasoning|philosophical reasoning]],
(3) articulate a potential objection to the resulting argument (which need not be "your opinion"), and
(4) anticipate likely replies (taking the author's perspective or a slightly amended version).
(5) if possible, follow up on your concern, revising or redirecting it in response to the imagined reply.
: (in [[epistemology]]) class of knowledge-claims that are asserted and accepted only because of [[empirical]] evidence.
(Antonym: [[a priori]])
----
[[Kant]] is anxious to discourage us from seeking basic moral principles in [[a posteriori]] sources, such as the texts of revealed religion.
: ([[epistemology]], Latin term) a class of knowledge-claims that are logically //prior// to experience: they neither require nor permit confirmation by [[empirical]] evidence.
(Antonym: //a posteriori//)
<hr>
We know, //a priori//, that triangles have three sides. To look in the world of experience for an exception to this rule -- the newly-discovered four-sided triangle found in a remote jungle, say -- is unintelligible.
Many philosophers had treated the [[a priori]] as equivalent to things that are true by definition, or [[analytic]]. [[Kant]] opposes this assumption, arguing that there are also [[synthetic]] [[a priori]] truths.
Note: The phrase //a priori// should generally appear in italics, as it is borrowed from Latin.
The categorical imperative is an ''//a priori// synthetic'' practical proposition (420):
>since discerning the possibility of propositions of this sort involves so much difficulty in theoretic knowledge, there may... be no less difficulty in practical knowledge. (420)
!!!!What does this mean?
Until Kant, ''two kinds of proposition'' were recognized in philosophy:
|>|>|!Kinds of proposition (or knowledge), before and after Kant:|
|a posteriori|!//a priori// synthetic<br>^^(added by Kant)^^<br>necessarily presupposed<br>as a //condition//<br>of understanding the world|a priori|
|dependent on experience|~|dependent only on reason|
|''synthetic'':<br>generated by ''synthesis''—<br>bringing different concepts together|~|''analytic'': <br>generated simply by analysis—<br>dissecting conceptual definitions.|
|example: "Bats eat insects."|!example: "Everything that happens has a cause."<br>"Anything that is colored has some dimension."<br>|example: "Triangles have three sides."|
!!! [[a priori]] vs. [[a posteriori]]
;[[a priori]]
: grasped without recourse to specific experience or experimentation: matters of definition
;[[a posteriori]]
: grasped through specific experiences, subject to experimental evidence
[[Kant]] offers an [[a priori]] approach to understanding the concept of moral goodness.
<$details summary="What are the political implications of suggesting that morality is grounded in reason, rather than in social learning?">
# If morality can be understood [[a priori]] (apart from teaching)...
#* We should expect to find exemplary people from all social and economic backgrounds
#* On the other hand: there’s no “liberal excuse” for moral shortcomings
# If morality does not depend on experience,
#* then we are unlikely to expect social hierarchy to serve a moral role.
</$details>
@@.triangle-left Does Kant’s ''//a priori//'' approach mean that there’s no such thing as moral growth or learning?@@
{{clear-both}}
Like [[Plato]]’s theory of forms, [[Kant]]’s theory of moral concepts does allow for education; yet the process of education is one of attunement to transcendent ideas. Education in ethics would be more like education in //geometry// than education in history: sharpening of perception, plus reflective consistency — so that even people from different backgrounds would generally converge on the same results. Further, our [[judgment|moral judgment]] in practice (what counts as a lie, which beings are persons) can improve through reflection on experience.
!!!Nietzsche's occupation: ''philology''
study of words/symbols, especially their historical development.
!!!Interpreting §58: ''[[nominalism]]:''
philosophical doctrine that our concepts are //imposed// on things, don't just capture their prior nature.
CREATIVE nominalism: words and ideas change the world.
Nietzsche's famous "death of God" follows: nothing has a pre-determined essence; we are the meaning-makers.
Amor fati
Yes-saying, lack of regrets
Consider Nietzsche's myth of eternal return, alluded to at //GS//§341
Why not think that happiness (perhaps not just one's own, but others' as well) is the goal toward which reason is directed?
Kant has a complex argument at 395:
|[In any being] suitable adapted to the purpose of life... no organ is to be found for any end unless it be the most fit and the best adapted for that end.|
|If ... happiness ... were the real end [for beings' having reason]... then nature would have hit upon a very poor arrangement.|
|''Reason has some other end than happiness.''|
:A form of [[consequentialism]] that identifies moral action with whatever choice — //on each occasion// — is likely to have the most positive overall effect on general happiness
Though [[J S Mill]] and other classic utilitarian theorists do not make this distinction, many contemporary thinkers, attempting to refine utilitarian theory, suggest that there are two potential ways of turning utilitarianism into an action-guiding norm:
;''[[act utilitarianism]]''
{{act utilitarianism}}
;''[[rule utilitarianism]]''
{{rule utilitarianism}}
<$details summary="Why does it matter?">
|!act utilitarian|!rule utilitarian|
|"The odds that my own action will spread coronavirus are very small!"|"If the rule of social distancing is the best way to minimize suffering, I should follow that rule without trying to guess about the consequences of each case."|
This might seem to be the obvious contrast: Act utilitarians may be tempted to look at each case individually, and thus to deny the importance of general guidelines.
Can the act utilitarian offer a helpful response to this worry?
</$details>
: (Latin term in [[logic]]) a pattern of [[argument]], sometimes [[fallaciously|fallacy]] strained, whereby a position or [[claim]] is evaluated indirectly, by appealing to negative (or occasionally positive) features of the individuals associated with it.<hr>
//Note//: Strictly speaking, [[ad hominem]] considerations may be reasonable.
For example, we might approach a policy proposal with some suspicion //simply because// it was endorsed by a despotic political regime. Conversely, we may reasonably find an idea plausible simply because it is endorsed by an admirable and relevantly qualified person.
Yet //ad hominem// considerations are rarely //sufficient// [[premises|premise]] in an [[argument]] for or against a view, and an [[argument]] is [[fallacious|fallacy]] to the extent that it assigns more weight than it should to //ad hominem// considerations.
* [[NYT on public discussions of medical triage ethics|https://www.nytimes.com/2016/08/22/us/whose-lives-should-be-saved-to-help-shape-policy-researchers-in-maryland-ask-the-public.html]]
* [[NYT op-ed on psychological impact of managing triage|https://www.nytimes.com/2020/03/29/opinion/coronavirus-ventilators-rationing-triage.html?searchResultPosition=10]]
* [[disability and triage|https://www.vox.com/first-person/2020/4/4/21204261/coronavirus-covid-19-disabled-people-disabilities-triage]]
<link href="https://fonts.googleapis.com/css?family=Fira+Sans+Extra+Condensed" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Encode Sans" rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Acme' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Belleza' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Barlow' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cabin' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cagliostro' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=DM Sans' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Dosis' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Barlow' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Cabin' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Philosopher' rel='stylesheet'>
<link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Ubuntu Condensed" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet">
<<tag advice>>:
<$macrocall
$name="toc-tabbed-external-nav"
tag="advice"
selectedTiddler="$:/temp/toc/advice/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
[img[euthyphro_map|https://www.dropbox.com/s/s9ljfswfu5uj6ak/reading_euthyphro_bubbles.png?raw=1]]
inquiry into the immediate values of experience, including concepts such as beauty, taste, art, and the role of experience and critical judgment and in relation to these.
* Usage example: //Several thinkers in the pragmatist school argued that logic and science ultimately depended upon an ''aesthetic'' appreciation of correctness and fit.//
: a kind of ''fallacy'' (flaw in an argument) that occurs within conditional-based (if-then) reasoning whenever the reasoner speaks as though we can draw a reliable [[conclusion]] by affirming the consequent of the [[conditional]].
//Example://
>Whenever you have eaten all the cookies, then ''the cookies are gone''.<br>''The cookies are gone''.<hr>
>You have eaten all the cookies!
* Note: The [[fallacy]] of [[affirming the consequent]] assumes that a conditional (if-then claim) is being employed in the "material" sense preferred by logicians. In ordinary speech, people often use "if-then" language to express an "if, and ONLY if..." relationship (a biconditional), as in "I said you could come IF you're nice."
Our culture emphasizes the expression of opinion, often inviting people to "vote" even over questions that can't possibly be settled by a poll.
@@.triangle-left I have an opinion!@@ In contrast, the practice of [[philosophy]] //de-emphasizes// opinion. In philosophy, a good conversation or essay may take place without any sign of a speaker or writer being attached to one side or another of a controversial question.
@@.triangle-right I have a different opinion!@@
Of course, it's not as though philosophers fail to care about ideas or to be committed to some [[claims|claim]] rather than others! Indeed, a person's background and individual sensibilities play an important role in what they notice and how they weigh various kinds of evidence.
Yet phrases like "''I firmly believe'' __ __" or "''I agree'' with Socrates that __ __" are extranneous to the activity of philosophy. A philosophical approach emphasizes //practices// rather than convictions:
* //noticing// important [[inference]] relations among ideas
* //weighing// considerations
* //analyzing// [[arguments|argument]]
* //thinking through// the implications of multiple lines of thought.
Only as the result of such a process (in philosophy) does it become reasonable to underscore one's endorsement of a position.
@@.triangle-left These considerations lead me to conclude… @@
<br style="clear:both" />
In short, a philosophy professor might say:
<<<.fm
''"What you think"'' is irrelevant to the assignment.
<br>But your work should show ''what you're //thinking//. ''
<<<
: (Greek term: ''ἀκρασία'', pronounced [əˈkreɪziə]) <br>Lack of self-control or self-restraint, sometimes translated as "incontinence."
<hr>
Greek thinkers disagreed about the possibility of //akrasia//:
* [[Socrates]] argued along conceptual lines: any genuine knowledge of an ideal (such as wisdom or courage) must bring motivation with it; a person who turns away from good things cannot really be said to //know// that they are good.
* [[Aristotle]] argued along [[empirical|empiricism]] lines: people commonly experience situations in which a person fails to act on their own moral awareness, and even on their deliberate resolutions.
\define find_original()
<$list filter="[field:alias/\|$(the_alias)$\|/(i)sort[title]limit[1]]"><$link>{{$(the_alias)$||unwikified}}</$link></$list>
\end
<$set name="the_alias" value={{!!title}}><<find_original>></$set>
<<table-dynamic filter:"[has[result]]" caption:"all the responses" fields:"tbl-expand § link answer-key responses result tags tbl-checkbox tbl-clone tbl-delete" sort: "{{!!calendar_date}}" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark">>
<<table-dynamic filter:"[prefix[@]]" caption:"all the teams" fields:"tbl-expand session § team title list calendar-date tags tbl-checkbox tbl-clone tbl-delete" sort: "{{!!calendar_date}}" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark">>
iVBORw0KGgoAAAANSUhEUgAAALkAAAChCAYAAACbKB6qAAAAAXNSR0IArs4c6QAACSNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4s45Y3AAAACXBIWXMAAC4jAAAuIwF4pT92AAASnUlEQVR4nOycaZBVxRXHKcpKpVIpK5VKpVIpxRhCjKUxmEiMMTGmLGI0pZZLNEZNIpuACAiCbAIRBNnDEEEWWWRV9n0ZZmEWhmGYhdlnmIXZmH0fZp/38v4TLnW59Ol3333TNO/V+fD78l73uaf7ntu3z9K3n9vt7scwwYx2BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoVYBjVaFeAYVSjXQGGUY12BRhGNdoV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
> Here I'd paste in the student's work...
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
[img[https://dl.dropbox.com/s/pdac7q7r1jvk6fr/Screenshot%202014-10-15%2012.36.31.png]]
<$details summary="Below, inference indicators are circled, subclaims are given their own numbers, and edits allow claims to be read independently:">
[img[https://dl.dropbox.com/s/00j5ec7eusk9ufc/Screenshot%202014-10-15%2012.24.54.png]]
</$details>
<$details summary="Below, the main conclusion is double-underlined, and arrows highlight two crucial lines of inference directly supporting the final conclusion:">
[img[https://dl.dropbox.com/s/afcc6r07meqju8u/Screenshot%202014-10-15%2012.32.41.png]]
</$details>
: ([[epistemology]]) true by definition, or true through [[analysis]] of component concepts
(//Contrast against//: [[synthetic]])
<hr>
>It is simply an analytic truth that triangles have three sides; it's incoherent to wonder whether there might be exceptions to that generalization.
The tradition known as [[Analytic philosophy]] begins with a methodological commitment to investigating meanings carefully.
Should evidence of intelligence in animals lead to greater moral respect for them?
<<<.fm
To measure animal intelligence, scientists observe creatures in the wild — watching a dolphin stick a sponge on its beak to avoid getting cuts from sharp rocks and coral, for example. Or they bring animals into the lab and offer them puzzles to solve, such as rewarding crows when they learn to rip paper into strips of just the right size.
Only a few species stand out in these studies, and by comparing them, scientists have identified some shared factors. The animals have big brains relative to their body size, they live for a long time, and they can form long-lasting social bonds.
Another feature that cephalopods share with other smart animals is a relatively big brain. But that’s where the similarities appear to end. Most of the neurons that do the computing, for example, are in the octopus’s arms.
Most strikingly, cephalopods die young. Some may live as long as two years, while others only last a few months. Nor do cephalopods form social bonds.
<<< [[NYT 2018|https://www.nytimes.com/2018/11/30/science/animal-intelligence-octopus-cephalopods.html]]
On [[Marx]]'s view, non-human animals act on instinct to survive; their way of life is determined by their species-nature. Each species is adapted for a particular niche, and responds to their environment in one particular instinctual way.
[img[osprey|http://www.montanaoutdoor.com/wp-content/uploads/2013/04/osprey-catching-trout-scott-linstead-450x300.jpg]]
[img[goats|https://media.npr.org/assets/img/2017/05/31/goat-02_custom-060bac4eeff1a0b290ff201210009e650a2025d0-s700-c85.jpg]]
[img[bees|https://ucanr.edu/blogs/bugsquad/blogfiles/17926.jpg]]
[img[beaver|https://www-tc.pbs.org/wnet/nature/files/2014/11/mezzanine_859.jpg]]
[img[chimps|http://www.stevebloom.com/images/b/001672-SB1.jpg]]
<$macrocall
$name="toc-tabbed-internal-nav"
tag="animals"
selectedTiddler="$:/temp/toc/animals/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
:A stance on which reality is characterized as permeated by agency or life, where beings conventionally treated as inert things or objects are understood as active participants in the world.
<hr>
See also: [[anthropomorphism debate]]
<<tabs "[tag[announcements]]" template:"tabtemplate">>
<$list filter="[tag[definition]sort[title]]">
<$link>''
<$text text=<<currentTiddler>>/>''
</$link> : <br>
@@.ind <$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>@@
</$list>
\define slider-toc(title, content)
<$set name="revealState" value=<<qualify "$:/state-reveal-$title$">>>
<$reveal type="nomatch" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="yes">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="no">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
<$link to=<<__title__>>><$view tiddler="""$title$""" field="caption">
<$view tiddler="""$title$""" field="title"></$view>
</$view></$link><br>
<$reveal type="match" state=<<revealState>> text="yes">
$content$
</$reveal>
</$set>
\end
\define each-other-level(filter)
<$macrocall $name=slider-toc title=<<currentTiddler>>
content="""<ul>
<$list filter="$filter$">
<<each-other-level $filter$>>
</$list>
</ul>"""/>
\end
\define first-level(filter)
<ul>
<$list filter="$filter$">
<<each-other-level $filter$>>
</$list>
</ul>
\end
Start in TableOfContents<br>
<$tiddler tiddler="TableOfContents">
<<first-level "[is[current]tagging[]]">>
</$tiddler>
: (in logic) the proposition serving as the first element in a [[conditional]] ("if … then …") [[claim]]
People commonly attribute various attitudes (beliefs, emotions, intentions, purposes) to a wide variety of beings beyond human beings.
One common and long-accepted claim, in Western scientifically-minded circles, was that quite a range of these attitudes can be //literally// attributed only to human beings, while any other beings could only be //metaphorically// interpreted // as if// they participated in these attitudes; any claim that animals were "contemplating" or "inventing" or "feeling guilty" (etc.) should be taken as nothing more than projection of human categories onto beings who were fundamentally different.
Val [[Plumwood]] argues that this view, the "charge of anthropocentrism" involves drawing a sharp line ("hyperseparation") between human capabilities and the rest of nature. Instead, we ought to be widely open to interpreting other beings as participating in attitudes that are continuous with and related to human attitudes.
Of course, it does not follow from Plumwood's position that any old interpretation of non-human beings is correct!
For one important example, see this discussion of how readily people misinterpret chimpanzee facial expressions as "happy smiles" when those who know the animals well understand the difference between a smile and a grimace of fear:
https://www.savethechimps.org/the-chimps-history/chimpanzees-in-entertainment/
An [[objection]] that a reasoner or [[interlocutor]] forsees or imagines, often with an advance [[reply]].
:the doctrine (often imputed to someone by opponents, rather than claimed directly) that denies the importance of laws. (from //anti-// against + //nomy// law)
Antinomianism occupies one extreme pole in a Christian theological debate about the relative importance, for salvation, of "works" (obedience to commandments and duties) as opposed to "faith" and "grace," both of which represent a more direct and internal relation to God.
Both [[Emerson]] and [[Nietzsche]] took openly antinomian positions.
: rhetorically compelling brief phrase or passage, usually designed for provocation, meditation, or illustration rather than direct [[argument]].
<hr>
[[Nietzsche]] is the modern philosopher who is most known for writing in an [[aphoristic|aphorism]] style, though the late [[Wittgenstein]] also did so, and many ancient thinkers such as [[Epictetus]], [[Confucius]], [[Buddha]], and many others, engaged in aphorism.
: (Greek term: ''ᾰ̓πορῐ́ᾱ'') bewilderment or perplexity, especially following multiple failed attempts to answer a question.
{{{ [all[current]enlist{!!keywords}] || $:/core/ui/TagTemplate }}}
: a [[fallacy]] whereby a [[conclusion]] is supported mainly, and inappropriately, by reference to the fact that some important person believes it.
//Note//: Appeals to authority are only [[fallacious|fallacy]] when the authority is inappropriate for the subject matter, or when the context of [[dialogue]] or persuasion clearly calls for an account of deeper reasons behind the [[claim]] in question.
: a [[fallacy]] whereby a [[conclusion]] is supported mainly, or disproportionately, on the lack of evidence to the contrary.
[img width=5% [calendly-logo.png]]
@@.hlw [[Schedule office hour time with me|https://calendly.com/espringer/15min]]@@
<<tabs "[tag[archive]]" template:"tabtemplate">>
<svg viewBox="0 0 350 250">
<circle cx="225" cy="85" r="80" fill="red" opacity="50%"/>
<circle cx="125" cy="85" r="80" fill="royalblue" opacity="45%"/>
<circle cx="175" cy="170" r="80" fill="forestgreen" opacity="40%"/>
<foreignObject x="64" y="50" width="150" height="180"><body>@@.hlw {{!!left_label}} @@</body></foreignObject>
<foreignObject x="217" y="50" width="150" height="180"><body>@@.hlw {{!!right_label}} @@</body></foreignObject>
<foreignObject x="160" y={{!!m_y-height}} width="150" height="20"><body>@@.hlw {{!!mid_label}} @@</body></foreignObject>
<foreignObject x="195" y="125" width="150" height="50"><body>@@.hlw {{!!mp_label}} @@</body></foreignObject>
</svg>
: a set of [[claims|claim]] designed to lead [[inferentially|inference]] toward one main point. The main point is the [[conclusion]], while [[premises|premise]] are the claims supposed to offer reasons in support of that [[conclusion]].
See also [[argument analysis]]
: detailed consideration of the structure of an [[argument]], often with use of [[diagrams|diagramming tutorial]] and/or formal symbolization, generally with an aim toward enabling troubleshooting and/or formulating critical commentary or [[objections|objection]] to the argument.
<hr>
Steps in argument analysis:
* Individuate separate [[claims|claim]]
* Identify [[inference indicators|inference indicator]]
* Distinguish roles for claims: ([[premises|premise]], [[subconclusions|subconclusion]], [[conclusion]])
* For each [[conclusion]] and [[subconclusion]], find the particular [[premises|premise]] that are serving to support it.
* Recognize [[enthymematic|enthymeme]] aspects of the argument, and fill in missing elements [[charitably|principle of charity]]
* [[Diagram|diagramming tutorial]] the argument if its structure is complex.
* Assess the [[validity]] or strength of each [[inference]], as well as any implausible [[premises|premise]] or other potential [[fallacies|fallacy]] that may affect the reasoning.
The following passage from [[Aristotle]]'s //Nicomachean Ethics// (tr. Ross) contains a network of complex [[inferences|inference]]. Discuss and evaluate the [[argument]] using terms of [[argument analysis]], paying particular attention to [[inference indicator]]s. Then, try reconstructing the argument by...
# paraphrasing and numbering the distinct [[claims|claim]] made
# filling in any likely [[suppressed claims]] that would bring the argument closer to [[deductive|deductive argument]] strength, and
# creating a [[diagrams]] to illustrate the relations of support that Aristotle seems to be invoking.
> Now each man judges well the things he knows, and of these he is a good judge. And so the man who has been educated in a subject is a good judge of that subject, and the man who has received an all-round education is a good judge in general. Hence a young man is not a proper hearer of lectures on political science; for he is inexperienced in the actions that occur in life, but its discussions start from these and are about these; and, further, since he tends to follow his passions, his study will be vain and unprofitable, because the end aimed at is not knowledge but action. [1094e-1095a]
[[See Philosophical Reasoning Skills site...|http://reasoningwell.tiddlyspot.com/#Skills]]
!![1. Micro-essays (30%):]
Micro-essays rotate among members of each discussion team so that one person writes in preparation for each class (assuming four members of a group, and a four-session unit). Each group can decide who writes on which occasion, in any order agreed upon by group members, as long as everyone writes at least once during each 2-week unit, for 6 total. Keep the following guidelines in mind:
!!!!!(a) Find and type a short passage that seems most importantly insightful, interestingly wrong, or centrally puzzling. (Alternately, you might type a couple short excerpts that seem to have a curious relation to each other.)
!!!!!(b) Make sure you can discuss the passage(s) with argument analysis vocabulary (see handout)
!!!!!(c) Compose a concise commentary on it (max 120 words), including argument-analysis, contextually interpretive, and evaluative elements. The idea is to use the passage as a springboard to raise a problem, then consider and evaluate possible lines of response from our author (and, perhaps, others). Seek a balance involving both critical and charitable elements.
!!!!!(d) Edit and proofread carefully. Language errors will significantly affect credit.
!!!!!(e) Post micro-essays to moodle by midnight the night before class.
!!!!!(f) Make sure to offer a very brief and informative title, as in "Euthyphro: Where is the room for faith?" or "Utilitarianism: how does general happiness motivate anyone?"
!!!!!(g) I may illustrate points during class with excerpts from students’ commentaries, but I will be respectful of each student's level of comfort with having work shared in class. Please contact me if you prefer not to allow your writing to be considered in class discussion.
Each commentary will earn up to five points for accuracy of presentation, sustained focus on one issue, strength of challenge or problem raised, room made to anticipate an author’s response, and quality of writing. Please note although the assignment is short, it is not casual, and perfect five-point micro-essays are very rare indeed (a handful in all the years I’ve taught the course). Careful revision, as well as practice with philosophical concepts, is required to frame your key points clearly.
!![2. Opening questions (no direct grade):]
Most class sessions will begin with opening questions to be discussed in small groups. The questions will take “multiple choices” format: one question with multiple potential answers, where the idea is to circle any and all correct answers, and comment. Generally, these questions will not be answerable except by having read the text carefully in advance. Group members should deliberate about the best choices. As a last resort, in cases of unresolved disagreement, any individual may add a short dissenting comment and explanation. The “secretary” role should rotate evenly through the group.
One group response form will be turned in, and signatures on this sheet will serve to mark attendance as well as to show whether the group was able to generate consensus on the answers. The group worksheet will not contribute directly to grades. However, they can bring you a bonus for studying well in advance of class because...
!![3. Exams (midterm and final, 20% each):]
Approximately half of each exam will consist of exactly the same kind of objective “multiple choices” questions as were discussed in class, one for each class session (for a total of eleven or twelve such questions per exam). Exams must be completed individually and will be scored individually, but the set of exam questions will differ according to discussion group. Any questions that a group answered entirely correctly will appear on the exam for members of that group, replacing what would otherwise be a new question. In other words, to the extent your group achieves real accuracy with the questions during the usual class sessions, the exam questions will be familiar questions for which you have already helped decide on correct answers. If your group’s answer for a given week was not entirely correct, a different question (neither more nor less difficult) will appear on your exam for that material.
Exams will each also include one essay seeking big-picture connections among ideas and texts.
!![4. Essay (20%):]
There is only one major essay for the class, and plenty of time to work towards it during the semester. Each student should consider, starting early in the semester, what sort of issue might provide an engaging focus for an essay, and think about the relevance of each text for that issue. Examples might be treatment of animals, religious education, criticism and respect for difference, childhood and responsibility, moral motivation, punishment, group identity and moral perspective. A topic is a good one if you can explore a “live problem” about which reasonable people might try different approaches. One fourth of the grade will be determined by the quality of the initial abstract. Initial abstracts will be submitted and discussed several weeks before the end of the semester, and final drafts are due in the final week. Stay tuned for precise details.
!![5. Participation (10%):]
Philosophy is a skill as much as a body of understanding. So, contributing to dialogue is essential. In addition to attendance, participation scores can benefit from consistent contributions to groupwork (as assessed via anonymous peer feedback), extra moodle posts (beyond once per unit), and substantive responses to others' moodle posts. Students who expect to miss more than one or two classes, or who have other obstacles to participating in class, may want to meet with me to strategize ways to engage in compensatory forms of participation.
<$macrocall
$name="toc-tabbed-internal-nav"
tag="assignments"
selectedTiddler="$:/temp/toc/assign/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<<graph "[tag[assignments]!nsort[title]!y[0]]" pie>>
<br>
<br>
As an [[empiricist|empiricism]], [[J S Mill]] believes that human behavior is basically (in theory) understandable via psychological explanation.
The hedonist psychological theory of core motivation:
* Animal behavior is driven by instinctual aversions (pains) and attractions (pleasures).
* Association allows complex animals to experience pleasure and pain with non-instinctual stimuli.
Associationist school of psychology -- developed by empiricist philosophers (Hume, Mill):
* Learning occurs when experiences of A happen together with experiences of B.
* A and B may become linked in the mind so that an experience of A seems to *mean* B.
The result is a total theory of human action:
@@.triangle-right
Nothing is a good to human beings but in so far as it is either itself pleasurable, or a means of attaining pleasure or averting pain.
@@
All choices grow out of the pursuit of happiness, either:
#as a means to happiness
# as part of happiness itself (that is, desired “for its own sake”)
!!!!Puzzle: How does Mill make sense of “joyless choices”?
|!Desire/Pleasure|.>motivates>|!Choices of Will|>which foster>|!Habit|
|>|>|>|>|So, ''//conditioning//'' can lead us to choose, reliably, some paths of action that we do not particularly experience as pleasant.|
<svg class="svg-inline--fa fa-asterisk fa-w-16" width="12pt" height="12pt" viewBox="0 0 512 512">
<g fill-rule="nonzero">
<path d="M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"></path></g></svg>
:(Greek term: ''ἀταραξία'') <br>tranquility or peace of mind; literally, the state of being not disturbed
<hr>
Ataraxia is the highest good for Epictetus and other Stoics, and is also highly valued by the Epicureans, who argue that freedom from anxiety or worry is a more realistic goal than achieving lasting states of pleasure.
: (in [[existentialism]]) a stance of taking responsibility for one's choices and attitudes, even while admitting that we cannot achieve certainty about what is good or right.
: capacity to govern oneself or to choose one's actions freely
<hr>
[[Kant]] claims that we are most free when we are following universal laws of reason (that is, acting with regard for the [[categorical imperative]].
Why? (Shouldn't "freedom" mean freedom from law, and hence, freedom from moral rules?)
Kantian premise: freedom = autonomy
|!heteronomy|!autonomy|
|rule by outside influences|rule according to internal guidelines|
|objects "push and pull" at one's appetites|practical reason initiates a choice|
: (in [[existentialism]]) a self-deceptive refusal to recognize some pervasive feature of the human condition (usually motivated by the discomfort or responsibility that would follow from such recogniton)
{{clear-both}}
<$details class="success" summary="group work results">
<<table-dynamic filter:"[all[current]tagging[]]" caption:"team responses for: {{!!title}} (See also <<tag team-results>>)" fields:"tbl-expand § list responses result answer-key link tbl-checkbox tbl-clone tbl-delete" sort: "{{!!calendar_date}}" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark">>
[ ] Download relevant [[handouts]]
[ ] Browse through some links here for our [[session|calendar of sessions]], including:
[ ] Try a sample [[opening question|opening_questions]]
[ ] Check out the Perusall version of our reading (enter via moodle)
[ ] Submit a microessay (if it's your turn)
: a [[fallacy]] whereby the demand for supporting [[premises|premise]] is not taken seriously, and instead the writer (or speaker) "begs" or "pleads" directly for the claim to be accepted.
<br>
In a more extended sense, all cases of [[circular reasoning]] can be said to involve [[begging the question]] because they resort to insisting on the very [[claim]] (or a variation on the same claim) for which the audience seeks evidence or logical support.
//Note//: Ordinary language has begun to drift toward using the phrase "beg(s) the question" to mean something like "prompts us to ask the question …" This usage is entirely spurious (even if common), and should be carefully avoided in philosophical writing.
|"Aristotle has often been charged with indecision and sometimes with holding conflicting views about the relative merits of a comprehensive ''practical'' life and one devoted primarily to ''contemplation''." <br>-- Amelie Rorty, "The Place of Contemplation in Aristotle's Nicomachean Ethics" (377)|
|"It is only in a corrupt polity that the contemplative life needs to be otherworldly, and only in a corrupt polity that the policies promoting the development and exercise of contemplative activity would come into conflict with those establishing requirements for the best practical life" (378)|
Chapter VII of the //[[Nicomachean Ethics|Aristotle, Nicomachean Ethics]]// begins by distinguishing three kinds of morally bad state: [[vice]], [[incontinence]], and [[brutishness]].
According to [[Aristotle]], in some cases, human beings' bodies do things as if "nobody is home" -- that is, there is not just a failure to act on decision (as in [[incontinence]]), but a pattern of movement that takes place without room for choice at all. (Whether all "beasts" or "brutes" lack choice is another matter, but Aristotle takes deliberate choice to be distinctively human.)
As "morbid" forms of incontinence, Aristotle mentions epilepsy and acting under the influence of profound intoxication.
A person may still be blamed for decisions //related// to the brutishness (choices leading up to being drunk; failing to take one's medication, etc.), but not for the behaviors //within// the state.
<$details summary="Can we think of other cases of what Aristotle calls 'brutish' or 'bestial' conditions?">
* ''Kleptomania'' involves not even realizing that one is grabbing inappropriately at things.
* ''Post-Traumatic Stress Disorder'' often includes automatic coping behaviors (seeking cover, fleeing) that take place despite lack of decision.
* ''Addictive behaviors'' illustrate a spectrum between [[intemperance]] (unwise yet fully voluntary indulgence in appetites), [[incontinence]] (regretting an action even while giving in to strong urges), and automatic behaviors that simply "take over".
* ''Tourette's syndrome'' involves involuntary movements or vocalizations, occasionally including socially inappropriate gestures or sounds (coprolalia).
* ''Sleepwalking'' can (in [[extreme cases|https://www.npr.org/templates/story/story.php?storyId=130644070]]) involve rather complex and extended behaviors carried out in the absence of anything like deliberate self-consciousness.
</$details>
: embracing an [[implication]] (of a claim or [[doctrine]]) that others take to be absurd — and hence to be a reason to reject the claim in question.
<hr>
Every [[reductio ad absurdum]] [[objection]] tries to employ a [[modus tollens]] [[inference pattern|inference patterns]], but there's always a chance your [[interlocutor]] will stand by a [[modus ponens]] [[argument]] instead.
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book-open" class="svg-inline--fa fa-book-open fa-w-18" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z"></path></svg>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book-reader" width="16pt" height="16pt" class="svg-inline--fa fa-book-reader fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z"></path></svg>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book" class="svg-inline--fa fa-book fa-w-14" width="12pt" height="12pt" viewBox="0 0 448 512">bullseye-solid.svg<path fill="currentColor" d="M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"></path></g></svg>
: ([[virtue ethics]]) inability to exercise voluntary control over some aspect of behavior that is usually subject to deliberation and choice for human beings.
<hr>
[[Aristotle]] (in [[NE book 7|Aristotle 3 (books 7, 8, 10)]]) distinguishes the "bestial" or "brutish" situation both from [[vice]] and from [[incontinence]]. This condition is another way of falling short of [[virtue]] and yet it is not blameworthy, since it involves an inability to exercise voluntary control.
[img[ant-helicopter|https://www.dropbox.com/s/m837vrn4ivfcpkj/Ant-and-Helicopter-Optical-Illusion.jpg?raw=1]]
iVBORw0KGgoAAAANSUhEUgAAAKkAAABxCAYAAACuuINtAAAAAXNSR0IArs4c6QAACSNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4s45Y3AAAACXBIWXMAAC4jAAAuIwF4pT92AAAQ4UlEQVR4nOyd+atWxR/H+x9a1VIyl3LJtNyy0rRyqSyXUtNstw1LS8uoxBXNIsVKuZgZmKlQFpEatAhaRIlRmESKtEAlaIhSRAWdL6/nywPHufP5zMx5zrnn3Mu8YX55mJkzc877mfnMZ5vTkoiIiuO0sgcQEeFCJGlE5RFJGlF5RJJGVB6RpBGVRyRpROURSRpReUSSRlQelSXpX3/9lXz//ffJrl27ki1btiQvvfRS8uKLLyZvvPFG8uGHHyb79+9P/vnnn7KHGdECqAxJv/rqq2T+/PnJyJEjk06dOiVTVlzuVS644ILkxhtvTF544YXk5MmTZU8jogCUStIjR44kTz75ZNK5c2dvUrrK1VdfXVt5I9oOSiHpoUOHkuHDh+dGTGmFfffdd8uYXkTOaFGSnjhxIrn99tsLJadZBgwYkHz33XctOc2InNFiJN2wYUOLktMs69ata6mpRuSMwkn633//JXfccUepBK2XSZMmJf/++2/RU47IGYWS9Jdffkl69epVOjnTZfDgwVF11cpQGEl//PHHpH379rkQC5XUpZdemtxwww3J2LFjk8suu6yh/gYNGhSJ2opQCEl//vnnhgh6/vnnJ48++mhy+PBh8RmIEe+9915mLcHAgQNrfURUH7mTlC3+3HPPzUScqVOnJl9//XXwM/lT3HnnncHPu+222/KefkQByJWkmDKzKOaREzGBNoq///47eeqpp4Ke/corr+Qw84gikStJr7/++iCCsOJu3bo1zyHUgF60Z8+e3uP48ssvcx9DRH7IjaTLli0LIig2ela+IjFnzhyvsbD6R/m0usiFpHv27Aki6GOPPZbHY72AF5XPmB5//PEWG1NEGBomKStQiNfS66+/nse4g/Dxxx97je3gwYMtPrYINxomKStQa5D9PvjgA+f4sPNHVA8NkRQ9pi9BP/vss7zGnBnbt293jpNVN6JaaIikl1/uR9D3338/r/E2jEceeUQdK0r+iGohM0m3bdtWWRlUAzI0vqZVFUsimiMzSS+++GInQefOnZupb+zqe/fuTV599dWaJoDwkH79+iVXXnllzR918eLFyTvvvFPzT80CSKiNG+/+iOogE0k/+eQTJ0EvueSS4H4JJ7nnnnu85VwK7neajV/Cww8/rPZ74MCB4D4jikEmkvrIonhB+QKT6Lhx44LIaRYcTULIiiFB6w/rWUQ1EExSojpdhAnxgidUuRFypsvpp5+efPrpp97Pvuuuu9T+cFyJKB/BJL3uuuvUDztkyBDvvnzNlqFl06ZNXs/HY0vrB2eViPIRRFIfveg333zj1dett97q7Kt///61hBD79u2reVgR+oEek8NUhw4d1LbE4fvgmmuuEfvo3bt3yOuJKAhBJJ04caJKDE7hPtCIQUE+5RDlAtlMunXrJvaDhsAFjAzaWI4ePeo1pwg7yIGAnzAO6lnhTdI///zTufL5yHDPPfec2B795eeffx48idmzZ1v7w8PfJ0xEiyJYunRp8Hgi/s+XMWPGnPIuMU1ngTdJ165dqxJ0+vTpzj5w4JDaczpnS88KaUVEr+oCcVOayBER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eW6B4h6qRMqa0XrJ+LZHhAYTrx2PzZuISZVI2UVb55ZsbKxZpruwhgp3Wq78V6pECt6oBTaMkYy9CDbwBFoTByPWUy1SIJjWfPGv1+jnbMJbnqQ/lYhNk0g5DvKaM7DpKenenwFfcqsXNhU3XmoiiU+TSME7FKcQ8moRMJ5CzpT3bNQ3dz0Ri2aRgjX2/FnM3K9Yp17XVTwOreOmfegSKeRmuN+KM1ZGjWeIlVspctVLnoPyIn5ELLpFClg7lgoEseJQRz9nj2BZRpA1VRvooBn6/RgiUmBmqUYsqUjCIzOTwC9CyRioo2GFzRm9qvg70SzN1/I8z/fIcm4YUVpyxtuTYSIFbHLy6JsIRUwjX26xJ0NFmqABeVTuem/xp4kclSh8pogUEIZlxDu72OX/qO3uEUwTaQKxEv66IrGO4oCe37sj9VjMYbpIP2EMOc+eH1WMkrCxwvBBPIulIk2wa0ewhN72xHczSsIY9F8Bu+I53CLSHK4yWT/iOUqKHQ3U9H9yQI8X6XEc7w0Qvvacc3IlG6nTSswlhEiFsJBIRXgkUhEeiVSERyIV4ZFIRXgkUhGeXwAAAP//AwDoewyzcV15mQAAAABJRU5ErkJggg==
iVBORw0KGgoAAAANSUhEUgAAAHgAAABQCAYAAADSm7GJAAAAAXNSR0IArs4c6QAACSNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNi4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7GudBTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgI0lEQVR4nOxdeVxU173XNGv7kuYlTdK0SV7TNi9N+9q+9mWzMRHZh11cMYrIJrvKOuwwC7MxwzbAMGyyCqKirCoCgggqKALKvi+yzrAzM8xy3j3XzDgwA2KMHUz44/tRzj333MPvd85vP4dNAIBNG/jxQuUT2MAGgzewweANbDD4JwqVT2ADPyIGiyWil0bHRv7R0tZicLPuhkVDU8OegcH+rwSL/FdVTYgfK57q4BOT4+80N7YYxzMTc45Y2N2McUhtirZJG6Kbx0+TzKIF1AOs+Uir5LEEp+xmZ4vjdRGhkXndrT2a3CnO26omzI8FT2XQuy1NW0tPV+Jc9ruNeWmHgBADFsDrMQFRLxaE6LMAyQAi7gGQ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
<svg data-prefix="fas" data-icon="bullseye" class="svg-inline--fa fa-bullseye fa-w-16" width="12pt" height="12pt" viewBox="0 0 496 512"> <g fill-rule="nonzero">
<path d="M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z"></path></svg>
<<RowTable '[tag[sessions]]' "sp20date read_pages" sort="sp20date">>
<svg data-prefix="far" data-icon="calendar-alt" width="12pt" height="12pt" class="svg-inline--fa fa-calendar-alt fa-w-14" role="img" viewBox="0 0 448 512"><g fill-rule="nonzero"><path fill="currentColor" d="M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"></path></g></svg>
<svg data-prefix="far" data-icon="calendar-check" class="svg-inline--fa fa-calendar-check fa-w-14" width="14pt" height="14pt" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z"></path></svg>
[img width=40em [calendly-logo.png]]
@@.hlw [[Schedule office hour time with me|https://calendly.com/espringer/15min]]@@
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
Frans de Waal, who researches the evolution of morality in primates, gives us a glimpse of the research into capuchins' participation in what Mill calls the "sentiment of justice":
<iframe width="560" height="315" src="https://www.youtube.com/embed/lKhAd0Tyny0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
:an approach to moral priorities that foregrounds relationships, attachment, and attention to particularity.
<hr>
While care ethics tends to resonate considerably with [[virtue ethics]] (in the focus on habits, emotion, and nuanced perception), it tends to reject most other [[empiricists’|empiricism]] interest in measurement and narratives of civilizational-historical progress.
: (in [[Kant]]'s ethics) an imperative (command-like call for action on the part of an agent) that is not dependent on any background condition, such as the agent's identity or inclinations.
<hr>
Contrast against [[hypothetical imperative]].
Although the //concept// of the categorical imperative (as defined above) may not seem to have obvious moral content, Kant argues that in fact there is exactly one categorical imperative, and it corresponds to exactly what morality requires. Although this imperative may be expressed in [[multiple ways|3 formulations of the categorical imperative]], they all coincide in highlighting our moral [[duties|duty]].
: a system of [[inferences|inference]] whose [[premises|premise]] and [[conclusion]] are linked in virtue of relations among categories. (//rough syn. [[Aristotelian syllogisms]] and [[predicate logic]]//)
In [[valid|validity]] [[inference patterns]] of categorical logic, the [[conclusion]] asserts a particular quantificational relation between two terms (called the ''minor'' and ''major'' terms). The premises show how the conclusion follows from two claims about how these terms each relate to a third term (called the ''middle term'').
//For example, see [[Barbara]].//
The relevance of [[Beauvoir]]'s [[existentialist|existentialism]] ''ethics of ambiguity'' to writing [[philosophy]]:
|!passivity, indecision|We gain our intellectual challenge and significance by balancing precariously between these two extremes, analogous to not-being and being...|!certainty, confidence|
Even while being ready to notice potential critical [[concerns|concern]] in connection with a text, we need to be able to practice finding ways to recognize the best reasonable interpretation of the text — one that follows the [[principle of charity]].
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-circle" width="12pt" height="12pt" class="svg-inline--fa fa-check-circle fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><g fill-rule="nonzero"><path d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"></path></g></svg>
[ ] Consider better source for Marx
[ ] Generate writing quizlet on TW5
[ ] Clarify Honor Code expectations
[ ] Consider potential new readings for Unit F
[ ] Update TW5 site with Bibliography and other resources
[x] Follow up with potential TAs
[x] Review Syllabus Supplement
[x] email enrolled and waitlist students about textbooks, add/drop, personal introductions
[x] Fix units template
[x] Organize concept cards
[x] Organize course packets
[x] Set up Syllabus for spring 2020 semester
[x] Decide on Epictetus translation
[x] Review new edition of Aristotle for changes that affect handouts
[x] Set up Course Dates for spring 2020 semester
[x] generate FileMaker calculation for opening questions
[x] Fix old slider syntax
[x] Bonnie about moodle: get unit IMAGES to load properly?
[x] Fix Filemaker output for opening questions, using <$details> widget
[x] Set up moodle site with prior contents
[x] Initial TW5 site upgrade
[x] Order books
[img[http://d.pr/i/gsQO+]]
<$set name="target" filter="[<storyTiddler>get[draft.of]] [<storyTiddler>!has[draft.of]]">
<<tabs "[tag<target>]" template:"tabtemplate">>
</$set>
<$set name="target" filter="[<storyTiddler>get[draft.of]] [<storyTiddler>!has[draft.of]]">
<<tabs "[tag<target>]" {{!!title}} "$:/state/tabby" "tc-vertical">>
</$set>
<svg width="260px" height="260px"><circle cx="150" cy="150" r="150" fill="yellow" stoke="green"/><foreignObject x="70" y="110" width="150" height="180"><body>OK, so here's the text and [[philosophy]].</body></foreignObject></svg><svg width="400" height="110"><rect width="300" height="100" fill="blue" stroke="green"/><foreignObject x="0" y="90" width="200" height="90"><body>More text here, including a [[link somewhere|overview]] among other things....</body></foreignObject>
</svg>
: a fallacy of deceptive persuasion whereby a [[conclusion]] is supported by a [[subconclusion]] which in turn is supported by a [[premise]] that is virtually identical to the main [[conclusion]] which is in doubt.
<br>
//See also//: [[begging the question]]
Even when you are citing "obvious" texts (such as those that we all know are on the syllabus), any formal academic writing needs to include full citation details; your essay is an archive of work that should make sense, and acknowledge its sources, in places and times beyond the college classroom. Whether your formatting is MLA, APA, or some other variant isn't so important, but enough details to //track down your source// is essential.
<$details class="" open="yes" summary="Publication details for texts on our syllabus">
@@.hang
Aristotle, //Nicomachean Ethics// translated by R Bartlett and S Collins (U Chicago Press, 2011)
Beauvoir, Simone. 1999. “The Ethics of Ambiguity” in Guignon, ed., //The Good Life// (Indianapolis: Hackett) p. 261-270.
Dewey, John. 1916. “Theories of Morals” in //Democracy and Education// (Macmillan)
Epictetus (tr. Higginson). 1870. “Enchiridion” Available at <tt>~http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3atext%3a1999.01.0237%3atext%3denc</tt>
Kant, 1993. //Grounding of the Metaphysics of Morals// with “On a Supposed Right to Lie because of Philanthropic Concerns” tr. James Ellington (Hackett, Third Edition)
King, Martin Luther, Jr. 1994. “Letter from a Birmingham Jail” (Harper).
Kohlberg, Lawrence. 1989. “The Child as a Moral Philosopher” in Sommers & Sommers, eds., //Vice & Virtue in Everyday Life// (New York: Harcourt Brace Jovanovich) p. 497-522.
Korsgaard, Christine. 1996. “The right to lie: Kant on dealing with evil” in //Creating the Kingdom of Ends// (London: Cambridge University Press) p. 133-158.
Marx, Karl. 1988. “Morality as Ideology” in Albert, ed., //Great Traditions in Ethics// (Belmont, CA: Wadsworth) p. 218-238.
Mill, John Stuart, 1993. //Utilitarianism//, and “1868 Speech on Capital Punishment” (Hackett, Third Edition)
Nietzsche, Friedrich. 1988. “The Transvaluation of Values” in Albert, ed., //Great Traditions in Ethics// (Belmont, CA:
Wadsworth) p. 239-259.
Nussbaum, Martha. 2001. “Non-Relative Virtues” in Moser & Carson, eds., //Moral Relativism: A Reader// (London: Oxford)
p. 199-225.
Plato, 1981. //Five Dialogues: Euthyphro, Apology, Crito, Meno, Phaedo// tr. G.M.A. Grube (Hackett, Second Edition)
Plumwood, Val. 2011. “Nature in the Active Voice” in Irwin, ed., //Climate Change and Philosophy: Transformational
Possibilities// (Continuum Studies in Philosophy) (: Continuum) p. 32-47.
Noddings, Nel. 1999. “Caring: A Feminine Approach to Ethics and Moral Education [selections]” in Guignon, ed., //The
Good Life// (Indianapolis: Hackett) p. 316-325.
Rawles, Kate. 1997. “Conservation and Animal Welfare” in Chappell, ed., //The Philosophy of the Environment// (Edinburgh: Edinburgh Univ Pr) p. 135-155.
Singer, Peter. 1972. “Famine, Affluence and Morality” in //Philosophy and Public Affairs// 1:3 p. 229-243.
@@
"""
</$details>
: a sentence-like unit of writing (or speech or thought) which is actually being asserted or endorsed by the author (or speaker or thinker)
<br>
//Contrast against:// [[proposition]], [[hypothesis]], [[conditional]], [[argument]]
Classic texts require us to use standard pagination (usually printed in the margins) to avoid confusion. Otherwise — given the abundance of translations and editions — scholars would risk being unable to coordinate.
Although our [[textbooks]] include conventional physical page numbers of their own, you would do well to ''@@.tcr ignore them@@'' for [[Plato|Plato, Five Dialogues]], [[Aristotle|Aristotle, Nicomachean Ethics]], and [[Kant|Kant, Grounding for the Metaphysics of Morals]].
[img class=img-shadow [https://www.dropbox.com/s/skxxtsysmhhbsi3/Stephanus%20numbers.jpg?raw=1]]
In the case of [[Plato]]'s work, the classic pagination system is called "Stephanus numbers" (based on an ambitious Greek-Latin bilingual print publication of Plato's corpus of work, 1578). These are the numbers printed in the margin of our text, in formats like 47b (the "a" is implicit if a number appears by itself).
With [[Aristotle]], the standardized numbers in the margin are "Bekker numbers"
With [[Kant]], the standard pagination is "Akademie" pagination.
<br style="clear:both" />
[[Is Climate Change an Ethical Issue? Examining young adults' beliefs about climate and morality|https://www.dropbox.com/s/xeqy20yvosjyf5a/Markowitz2012_Article_IsClimateChangeAnEthicalIssueE.pdf?dl=0]]
[[Broome, Ethics of Climate Change (Scientific American)|https://www.dropbox.com/s/vo8pcaqpcda8llk/Broome%20Climate%20Change%20Sci%20Amer.pdf?dl=0]]
!!!Is something like “bravery” one coherent trait?
Of course, Aristotle //can// admit that someone could act (and feel) bravely in some situtations and cowardly in other situations. Such a person would not really have the //virtue// of bravery, but would merely act bravely sometimes.
But we must then ask questions like these:
* Does acting bravely in one kind of situation help habituate a person to being brave in other situations?
* Is generosity in one kind of situation likely to correlate with generosity in other situations?
;Consider what Gilbert Harman calls The “fundamental attribution error,” based on data from psychology experiments...
<<<.fm
It seems that ''ordinary attributions of character traits'' to people are often //deeply ''misguided''// and it may even be the case that //there is ''no such thing as character''//, no ordinary character ''traits'' of the sort people think there are, ''none of the usual moral virtues and vices''.
<<<
<<<.fm
...Ross & Nisbett (1991, p. 95) report that the "average correlation between different behavioral measures designed to tap the same personality trait (for examples, ''impulsivity, honesty, dependency'', or the like) was typically in the range between .10 and .20, and often was even lower." These are very low correlations...
<<<
<<<.fm
Our ordinary views about character traits can be explained without supposing that there are such traits. In trying to explain why someone has acted in a certain way, we concentrate on the figure and ignore the ground. We look at the agent and ignore the situation. We are naive in our understanding of the way others view a given situation. We suffer from a confirmation bias that leads us to ignore evidence against our attributions of character.
<<<^^Gilbert Harman, "Moral Philosophy Meets Social Psychology: <br>Virtue Ethics and … Attribution Error" //Proc. Arist Society// 1999^^
0:silver
1:red
2:lightgreen
3:yellow
4:blue
5:crimson
6:magenta
7:indigo
8:turquoise
9:orange
10:silver
11:crimson
12:black
>To illustrate this farther, we may remember that virtue is not the only thing, originally a means, and which if it were not a means to anything else, would be and remain indifferent, but which by association with what it is a means to, comes to be desired for itself, and that too with the utmost intensity. What, for example, shall we say of the love of money? There is nothing originally more desirable about money than about any heap of glittering pebbles. Its worth is solely that of the things which it will buy; the desires for other things than itself, which it is a means of gratifying. Yet the love of money is not only one of the strongest moving forces of human life, but money is, in many cases, desired in and for itself; .. From being a means to happiness, it has come to be itself a principal ingredient of the individual's conception of happiness.<br>...The desire of it is not a different thing from the desire of happiness, any more than the love of music, or the desire of health. They are included in happiness. They are some of the elements of which the desire of happiness is made up. Happiness is not an abstract idea, but a concrete whole; and these are some of its parts.
!!!Main points of overlap with Marx:
|(1) ''[[historicism]]'' about values: values have a history of birth and evolution|
|(2) Values serve ''interests''.|
|Thus: (3) We ought to be suspicious of appealing to moral concepts without any awareness of the ''history and function of those values''.|
!!!Key difference from Marx in theoretical approach:
|(1) Human being is understood not primarily in terms of //''praxis''// (cooperative conscious work), but in terms of individual ''will to power''.|
|(2) Therefore, the vision of liberation and full potential is ''individualist'' and ''elitist'' rather than political and egalitarian: <br>Not everyone can realize the ideal of the //Übermensch//.|
|(3) Because individuals are not simply products of the economic superstructure of society, the resulting account is not deterministic. Historical narrative need not be predictable.|
|(4) Nietzsche takes Marx's //activity// of generating ideas one step further: If all ideas emerge in historical perspective, we ought not to pretend that any idea gets entirely beyond perspective to a simple //truth// of how things "just are", independently of our interests and histories.|
!!!Nietzsche's differences from Kant are especially striking:
<<<.dark
All who still judge, "everyone would have to act this way in this case" have not yet progressed five steps in self-knowledge... identical actions neither exist nor can exist... we no longer want to brood over the "moral value of our actions!"
<<< //Gay Science// §335)
!!!But what of the similarities?
<<<.dark
certainly our opinions, valuations, and tables of goods are among the most powerful gears in the clockwork of our actions, but that in every particular case the law of their mechanism is unprovable <br> We, however, want to become... those who give themselves the law...
<<< //Gay Science// §335
<<<.dark
The question in every thing [would be] "Do you will this once more and countless times more?
<<< §341
: the philosophical [[doctrine]], in response to debates around [[determinism]] and [[free will]], according to which actions may be *both* causally determined *and* meaningfully described as free and responsible choices.
<hr>
See [[determinism and freedom doctrines]]
There are six colored sets of concept cards (about 31 per set).
* A random card is placed in the center.
* Remaining cards are dealt out randomly
* Players take turns adding to (or modifying) the value map, rotating clockwise
On each turn, choose any two:
|!description|!instructions|<|!example|
|!Nudge in/nudge out|Move an existing card (or cluster of cards) toward the center or toward the margin of the map, corresponding to its importance as a moral value.| <br> <br> △<br>▭<br>▽ |@@.hli Nobility@@ belongs at the margin; it's not really a moral value.|
|!Build on|Inward from any existing card, place one that captures what's good about the outer card, but adds further value| <br> ⊞<br>▭ |@@.hli Wisdom@@ is more important than @@.hli Knowledge@@|
|!Add satellite|Outward from any existing card, place one whose value depends on or should be constrained by the card above| ▭<br>⊞ |@@.hli Authority@@ is valuable (but only when constrained by @@.hli Love@@)|
|!Turn the table|Rotate board 180°. Opposite from any existing card, place one of your cards upside down to show the two ideas stand in tension with each other.| ▭<br>◠<br>↺<br>◡<br>⊞ |@@.hli Freedom@@ is a different kind of value from @@.hli Connectedness@@|
|!Link|Next to an existing card, add another card that has a very close correlation with it|▭⊞|@@.hli Harmony@@ goes hand in hand with @@.hli Balance@@|
|softtable|k
:the focus of attention on a problem.
In the context of philosophical [[argument]], concerns include explicit [[objection]]s, but also can include worries or considerations that have not been articulated fully as objections.
: a [[claim]] offered as the product of [[inference]] from supporting considerations. The supporting claims are [[premises|premise]]; the premises and conclusion taken together constitute an [[argument]].
: a [[proposition]] that has the complex structure "if A, then B"
In symbolic [[logic]], a conditional may be represented with the help of an arrow (P→Q) or by a sideways horseshoe (P⊃Q). The claim P can be called the [[antecedent]], while Q can be called the [[consequent]] or the [[implication]].
<hr>
Note: in learning how to individuate claims for the sake of [[argument analysis]], a common mistake for beginners is to identify each atomic [[proposition]] (such as P, or Q) within the conditional sentence as a separate [[claim]]. It is essential to recognize that asserting a [[conditional]] does not involve asserting (or denying) //either// of the smaller sentence-units within it; the conditional indicates only that the first possibility would guarantee or entail the second.
|[[Aristotle]] arranged his hierarchy of goods around <br>the overlapping distinction <br>between means and ends:|[[Kant]]'s distinction: <br>unconditionally vs. conditionally good:|
|[img[goodsmeansends|https://www.dropbox.com/s/23nf4snpq9gv8eu/goodsmeansends.jpg?raw=1]]|[img[kantiangoods|https://www.dropbox.com/s/ohwzz9x5s1em61d/kantiangoods.png?raw=1]]|
|[[eudaimonia]] is the highest good insofar as there isn't something else that we want happiness //for//.|[[good will]] is the most respectworthy good, insofar as there's no "ifs, ands, or buts" about its goodness; it's never //not// good.|
: profound moral awareness, especially with respect to fairness or justice. (etymology Latin //conscientia// "a joint knowledge of something, a knowing of a thing together with another person; consciousness, knowledge;"[[*|https://www.etymonline.com/word/conscience]])
[[Martin Luther King Jr|King]] appeals to "conscience" in his [[Letter from Birmingham Jail|King, Letter from Birmingham Jail]]. Yet what he's doing with this word is fairly different from what today's readers may assume. While recent uses of the word have made "conscience" sound subjective and inscrutable — and almost always speak of an //individual's// conscience, King's concept is older, and relies on the kind of enlightened understanding that emerges through mutual recognition and dialogue.
Perhaps because of similar spelling, [[conscience]] and [[conscious|consciousness]] are confused by some readers (along with "conscientiousness" and "consciousness". These represent fully distinct concepts, and are pronounced differently.
: awareness or awakeness, especially with self-awareness or reflective mental activity.
Some moral thinkers recognize [[moral status]] in all beings with consciousness — a more narrow classification than [[sentient beings|sentience]], but less restrictive than [[rational beings|rationality]].
: (in logic) the proposition serving as the second element in a [[conditional]] ("if … then …") [[claim]]
:A broad approach to moral philosophy, in which moral value is assigned according to the effects (likely or actual, general or specific) of an action, intention, or character.
----
Consquentialist approaches to ethics tend to be associated with modern [[empiricism]], and are most starkly contrasted against [[rationalist|rationalism]]-influenced [[deontological|deontology]] approaches.
[[Utilitiarianism|utilitarianism]] is the most well-known species of consequentialism
: (one translation of Greek term ἐγκράτεια / enkrateia) will-power, or the capacity to follow through on one's decisions or judgments, despite temptations to the contrary.
<hr>
On [[Aristotle]]'s view, [[continence]] is distinct from [[virtue]] because [[virtue]] involves a kind of fluency or clarity of motivation that does not require great willpower.
Antonym: [[akrasia]] or [[incontinence]]
Why does [[Aristotle]] devote attention to the distinctions between [[continence]] and [[temperance]], [[incontinence]] and [[intemperance]]?
Consider his question:
;Q: Which is worse, lack of self-restraint (incontinence) or licensciousness (intemperance)?
:A: It Depends...
<$details summary="...on which sense of 'worse' you have in mind...">
[img[choice-relations|https://www.dropbox.com/s/yx4srkkd0w7qtgi/choice-relations.png?raw=1]]
</$details>
: pertaining to facts and developments that might have been different; that which is not [[necessary]].
: the simultaneous endorsement of contrary [[claims|claim]], where the truth of one claimed [[proposition]] is inconsistent with the truth of the other, and vice versa.
: alternately (in thinkers influenced by [[Marx]], the simultaneous manifestation of contrary patterns in material relations, signaling the need for, and the opportunity for, radical change.
If you are tempted to accuse someone of a contradiction (especially if the author or speaker is a [[philosopher|philosophers]] or other careful thinker), it's wise to make sure that you can articulate exactly which statement is being both affirmed and denied!
For example, it's sloppy to say "[[Socrates]] claims in the //[[Crito]]// not to respect the majority, but he contradicts himself when he obeys the democratic verdict." If you write, "Socrates claims that he does not respect the majority, and then claims that he does," then you have successfully spelled out a contradiction (though the text doesn't support this interpretation very well).
: (Kantian ethics) The logical impossibility of a world where one's maxim is consistently followed by everyone at all times (one of two ways to fail Kant's universalizability test for the categorical imperative).
<hr>
If a maxim fails the categorical imperative in this way, then //not// doing such things is what Kant calls a [[perfect duty]].
See also [[contradiction in willing]]
: (Kantian ethics) The logical impossibility of //willing// a world where one's [[maxim]] is consistently followed -- even if such a world is logically coherent (one of two ways to fail Kant's universalizability test for the [[categorical imperative|Kant's categorical imperative]].
<hr>
If a maxim fails the categorical imperative in this way, then acting against that maxim is what Kant calls an [[imperfect duty]].
See also [[contradiction in conception]]
Two articles (both very recent) especially relevant to the disparate impact of this pandemic according to race and class:
[[Charles Blow, Social Distancing is a Privilege|https://www.nytimes.com/2020/04/05/opinion/coronavirus-social-distancing.html]]
[[Johnson and Buford (via ProPublica), Coronavirus and racial impact|https://www.propublica.org/article/early-data-shows-african-americans-have-contracted-and-died-of-coronavirus-at-an-alarming-rate]]
Further ways in which "stay-at-home" protocol interacts with other injustices:
[[Lockdowns and Domestic Violence|https://www.nytimes.com/2020/03/24/us/coronavirus-lockdown-domestic-violence.html?action=click&module=RelatedLinks&pgtype=Article]]
[[Migrants at risk with worldwide shutdown|https://www.nytimes.com/2020/03/29/world/asia/coronavirus-india-migrants.html?searchResultPosition=6]]
: a commitment to framing moral and political concerns with reference to participation in the widest possible sense of citizenship; allegiance to the //kosmos// or world/universe.
<hr>
see [[Appiah, Global Citizenship]]
[img[eco-cosmos|https://www.researchgate.net/publication/324724344/figure/fig1/AS:618925893099526@1524574840509/A-21st-century-adaption-of-Hierocles-model-of-concern-It-is-worth-stating-that-the.png]]
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="crosshairs" class="svg-inline--fa fa-crosshairs fa-w-16" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"></path></svg>
link: [[https://thesolutionsjournal.com/2016/02/22/killing-goats-to-save-tortoises/#main-content]]
[img class=img-right [tortoise|https://sfo2.digitaloceanspaces.com/thesolutionsjournal-com/wp-content/uploads/2016/02/04072720/565480793_b862b2f212.jpg]]
!!Killing Goats to Save Tortoises
!!!!by decubing
!!!!February 22, 2016
A clever, albeit brutal, goat eradication program on the Galápagos Islands is credited for successfully saving a rare population of giant tortoises from extinction.
More than 1,500 giant tortoises (Geochelone hoodensis) are now believed to populate Española, the southernmost island on the archipelago. More may soon be born on nearby Pinta Island, where scientists are also hoping to launch their program to reestablish the giant tortoise.
A Galápagos tortoise can weigh almost 900 pounds, be up to five feet in length, and can live almost 100 years. Spanish explorers who discovered the islands named them Galápagos, which is Spanish for tortoise.
The Galápagos Islands consist of almost 20 volcanic islands hovering on the equator, 600 miles west of Ecuador. They are known for their many endemic species, which British biologist Charles Darwin studied as he developed his theory of evolution by natural selection.
There are believed to have been as many as 250,000 giant tortoises hundreds of years ago, but in the 1970s their numbers dwindled down to a few thousand, with many killed by passing sailors for food or oil. These sailors and other visitors also introduced nonnative species such as goats to the islands.
The introduction of a few goats quickly turned ugly, with their numbers multiplying over the years to tens of thousands. They devastated the islands’ vegetation.
Efforts to eradicate the goats began in the 1970s, as sharpshooters killed them individually. Another effort in the 1990s involved helicopters, radio tracking devices, and dogs, but the herds proved elusive and difficult to eradicate entirely.
Henry Nicholls, ambassador for the Galápagos Conservation Trust, said that the situation changed when they began using the goats against themselves. Certain goats were fitted with electronic collars, allowing hunters to find them—and the herd—easily. Hunters killed the herd but left the one goat with the electronic collar. They waited for the marked goat to locate another herd, and then they repeated the process until only the goat with the collar was left. Then it was shot.
Conservationists admit that this situation is not a pretty picture, but it has been a necessary solution. “There was little public outrage because it was seen that the tortoises were at risk,” Johannah Barry, president of the Galápagos Conservancy, told the Guardian.
Scientists moved 15 giant tortoises—among the last survivors of the species—from their ruined Española habitat to a captive breeding program. As the goats were eradicated, progeny from the breeding program were reintroduced to the island.
“Tortoises have begun to play their role as ecosystem engineers,” Washington Tapia, leader of the survey that recently estimated the total number of tortoises on Española, told the Guardian. “We can say with certainty that the ecological integrity of Española is being re-established.”
A similar project has begun on the island of Pinta, at the northern end of the archipelago, where the population of native tortoises has dwindled to one. Tortoises from Española are being carefully brought to Pinta. They are a close genetic match, and scientists are hoping they will begin to reproduce.
[img class=img-right [goats|https://science.sciencemag.org/content/sci/313/5793/1567/F1.medium.gif]]
[img [tortoise|https://s.abcnews.com/images/International/cb_galapagos_tourists_jc_150526_16x9_992.jpg]]
[img [goats with tortoise|https://s.abcnews.com/images/International/cb_galapagos_goats_jc_150526_16x9_992.jpg]]
;Kant expects reason to lead us to //convergence// about whether something is a moral duty.
:That is, //if// we are considering the same maxim, we should reach the same assessment...
;So, what about cultural variation and other sources of divergence in moral opinion? Doesn't Kant seem to lack appreciation for these?
:There are three kinds of Kantian response to this challenge:
# A single duty (such as showing respect) may take //multiple forms// in practice.
## Consider how "telling the truth" sounds very different in different languages.
## "What we are doing" is always relative to culture, conventions, and other situational factors
# Different cultures may indeed //emphasize// different duties.
## Suppose certain social pressures are absent in your life... <br>— toward industriousness, charity, honesty, or respectful sexual relations — <br> Such cultural variation doesn't show there are //not// moral duties in connection with each of these; it shows only that human communities place more attention on certain moral matters rather than others.
## Morality always requires individual conscience, not mere conformity to others' claims about morality.
###There can be human communities where those in power exemplify and promote a certain kind of hypocrisy.
## Furthermore, some demands can be made //as if// they were //moral// demands ("You must salute the leader!")... <br> when in fact they are merely enforcing social hierarchy or some other non-moral goal. <br>(Kant's ethics helps us to think critically about the line between morality and more parochial interests.)
##The //a priori// nature of moral reasoning, like the //a priori// nature of geometry, never can mean that every person (or culture) takes up every concept and theorem.
###A culture may never pay much attention to measuring the area of right triangles, but the Pythagorean theorem is still something that doesn't depend upon any particular cultural practices. So it is (Kant would say) with theft; even if a culture doesn't focus much on ideas of personal property, they can recognize a contradiction in the effort to make something "mine" by ignoring the very understanding that has heretofore made it "yours."
# If one person insists on judging another person's action as morally //wrong// (perhaps being especially willing to judge people with very different cultural backgrounds)... a Kantian should be skeptical...
## Morality is about the //intention// behind an action, not about how the behavior appears to us.
### We may be too quick to assume that the maxim in question is XYZ (say, subordinating women)...
### when the maxim that is actually at work //could be// PDQ (say, demarcating boundaries to facilitate respect and safety).
## Lives of good will may look very different at the surface, so long as they scrupulously avoid hypocrisy.
Do we tend to prioritize the interests of animals that are "cute" or whose facial and body features seem analogous to human features?
[img[cute animal graphic|https://i.pinimg.com/originals/3e/31/41/3e314148030511b37b2cd24e144f9201.jpg]]
: an approach to ethics and politics that focuses on a [[rational]] approach to [[virtue]], in agreement with nature, rejecting all conventional desires for wealth, power, and fame.
<$macrocall
$name="toc-tabbed-internal-nav"
tag="day 1 notes"
selectedTiddler="$:/temp/toc/day1/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
@@float:right;<<tag "day 1 notes">>@@
: an argument in which the [[premises|premise]] support the conclusion “tightly”—so that no assumptions necessary for establishing the conclusion have been left unarticulated.
<br>
>All animals have functions;
>All human beings are animals. <hr>
>So, all human beings have functions.
<$list filter="[tag[definition]sort[title]]">
''{{!!title}}'' <br>
{{{[<currentTiddler>get[text]splitregexp[\n]first[]]}}}<br>
</$list>
<<list-links "[tag[definition]]">>
<$list filter="[tag[definition]]">
<$button popup="$:/state/mySliderDef">{{!!title}} </$button><br>
<$reveal type="nomatch" text="" default="" state="$:/state/mySliderDef" animate="yes">
{{!!text}}<br> </$reveal>
</$list>
#<$transclude tiddler="philology"/>
<$list filter="[tag[definition]]" variable="foo"><br><<foo>>
</$list>
''//Brief definitions of <$text text={{{[tag[definitions]count[]]}}}/> key terms appear below. Hover on links, or click to open, for more detailed discussion.//''
@@.column-break-after:avoid;
<$list filter="[tag[definitions]sort[title]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>>
</$wikify>
@@
@@
: a kind of ''fallacy'' (flaw in an argument) that occurs within [[conditional]]-based (if-then) reasoning whenever the reasoner speaks as though we can draw a reliable [[conclusion]] by denying the [[antecedent]] of the conditional.
//Example://
>If today's a holiday, then there's no class today'.<br>''Today is //not// a holiday''.<hr>
>There's class today!
* Note: The [[fallacies|fallacy]] of [[denying the antecedent]] and [[affirming the consequent]] presupposed that [[conditionals|conditional]] (if-then claims) are being employed in the "material" sense preferred by logicians. In ordinary speech, people often use "if-then" language to express an "if, and ONLY if..." relationship (a [[biconditional]]), as in "I said you could come IF you're nice."
: An approach to ethics that appeals to the origin of a choice (the quality of the will, the structure of its [[maxim]], or the principle it invokes) as the basis for moral evaluation.
<hr>
Deontological [[ethics]] correlate with broadly rationalist approaches to philosophy, while [[consequentialist|consequentialism]] ethics (at least in the modern European context) correlate with broadly [[empiricist|empiricism]] approaches.
<$details class="" summary="">
</$details>
details > admin {
border-top: 1px solid #eee;
margin-top: 0em;
border-left: 2px solid #eee;
border-bottom: 0.5px solid #eee;
background-color: #fff;
margin-bottom: none;
}
details > summary {
border-top: 1px solid #cca;
margin-top: .25em;
border-left: 2px solid #cca;
border-bottom: 0.5px solid #cca;
background-color: #ffe;
text-indent: -2.75em;
margin-bottom: none;
}
details > eval {
border-top: 1px solid #cca;
margin-top: .25em;
border-left: 2px solid #cca;
border-bottom: 0.5px solid #cca;
background-color: #ffc;
text-indent: -2.75em;
margin-bottom: none;
}
details[open] {
border-left: 2px solid #cca;
margin-bottom: 4px;
font-family: "Ubuntu Condensed";
padding: 0 0 0 0;
}
details[open] > summary {
font-family: "Ubuntu";
border-left: none;
margin-bottom: none;
}
details {
background-color: #ffffff; color: #333333;
}
details[open] > summary { margin-bottom: 0em; }
details[open] > *:first-child:not(summary) { margin-top: 1em; }
details { background-color: #ffffff; color: #333333; border-left: 2px solid #ddd;}
details[open] { border-left: 2px solid #ddd; font-family: "Ubuntu Condensed"; }
details[open] > summary { font-family: "Ubuntu"; }
details.notification summary { background-color: #ffffdd; /* TW leaves color undefined/uses foreground */ }
details.warning summary { background-color: #ffccbb; color: #000; }
details.success summary { background-color: #aaddbe; color: #000; }
details.success[open] { font-family: "Ubuntu"; }
details.eval summary { background-color: #ffd; color: #003; }
details.admin summary
{ opacity: 0.1; background-color: none; }
:the doctrine that events (or events within a certain domain) are all fully determined by prior causes.
<hr>
//contrast against:// [[free will]]
Note: Most references to determinism take place in the context of discussing human action and debating whether it is (in principle) possible to give a causal account that would trace how it has been fully shaped by causes which themselves are not human actions. Deterministic accounts of human action may emphasize any number of causal-explanatory frameworks, ranging from physics, neurobiology and genetics to folk-psychology and social-cultural practices.
{{||vocabulary}}
[img[determinism-freedom-grid|https://www.dropbox.com/s/ndz23cyri0fo04o/determinism_grid.png?raw=1]]
<<dbadge Tiddlywiki 5.1.21+ primary>> <<dbadge License MIT success>> <<dbadge Release "{{$:/plugins/kookma/shiraz!!version}}" warning>> <<dbadge Status "in progress" danger>>
<$checkbox tiddler="$:/core/ui/SideBarSegments/tabs" tag="$:/tags/SideBarSegment">
{{$:/config/AutoSave}}
<$checkbox tiddler="$:/config/AutoSave" value="yes"> ◀︎ WHY does this not work/display/update?
https://tid.li/tw5/hacks.html#TextStretch
<<tag $:/tags/SideBar>> <<tag $:/tags/SideBarSegment>>
<svg><path d="
M 60,60 30,90 C 60,120 90,90 90,90 Z
" fill="red" opacity="50%" />
<path d="
M 60,60 90,30 C 120,60 90,90 90,90 Z
" fill="blue" opacity="50%" />
<path d="
M 60,60 20,60 C 20,25 60,6 90,30 Z
" fill="green" opacity="50%" />
<path d="
M 60,60 20,60 C 21,76 24,79 30,90 Z
" fill="orange" opacity="50%" /></svg>
from
<span style="fill:green;"> {{$:/core/images/star-filled}} </span>
<span style="fill:blue;"> {{bullseye-solid.svg}} </span>
opening questions
https://www.piliapp.com/symbol/
1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟▶️◀️🔼🔽➡️⬅️⬆️⬇️↕️↔️⟺↔︎⇔◆►◀︎◁▷☆★✖︎✔︎🔝🛑🆗ℹ️🔄🕙🕘☁︎☼☂︎☔︎☃︎
⎛⎪⎨⎪⎝
⎞⎟⎬⎪⎠
≝
⇀⇁↛➠➥➪➾⇥⇢↦↝
█
◤◤◥◥◢◢◣◣┉┉┈┈┅┅┄┄━─┏┛┓┗
@@white-space:pre;
⎧
⎨
⎩
⎫
⎬
⎭
@@
ⓐ CIRCLED LATIN SMALL LETTER A U+24D0
ⓑ CIRCLED LATIN SMALL LETTER B U+24D1
ⓒ CIRCLED LATIN SMALL LETTER C U+24D2
ⓓ CIRCLED LATIN SMALL LETTER D U+24D3
ⓔ CIRCLED LATIN SMALL LETTER E U+24D5
HTML decimal: ⓔ
HTML hex: ⓔ
ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ❶❷❸❹❺❻❼❽❾❿
Get FileMaker to build JSON file:
https://app.works/step-by-step-guide-to-building-a-json-object-in-filemaker/
... content goes here
http://thenewcode.com/443/Making-Comic-Book-Speech-Bubbles-with-SVG
http://pptw.tiddlyspot.com/#PreviousNext "PowerPoint" style TW5
http://tw5.scholars.tiddlyspot.com/ (sliders and accordions)
TiddlyMap: http://tiddlymap.org/
https://ooktech.com/iconmenus/
https://tid.li/tw5/test/bricks.html
https://tiddlywiki.com/editions/xlsx-utils/
http://tobibeer.github.io/tw5-plugins/#preview
https://tid.li/tw5/apps/svg.html
http://panflex.tiddlyspot.com/
http://attention.tiddlyspot.com/
http://tiddlersidebar.tiddlyspot.com/
http://openalltagged.tiddlyspot.com/
http://zemox.tiddlyspot.com/#Unicode
https://ooktech.com/jed/ExampleWikis/SnapSVG/
https://stackoverflow.com/questions/28006273/cut-a-35degree-badge-into-a-image-with-css
<$button class="tc-btn-invisible" popup=<<qualify "$:/temp/popup">>>
<$button>
<$reveal type="nomatch" state=<<qualify "$:/temp/popup">> text="">
|section content goes here|
</$reveal></$button>
$:/plugins/kookma/refnotes
https://stackoverflow.com/questions/16056591/font-scaling-based-on-width-of-container
[img[stage illustrations|https://www.verywellmind.com/thmb/KY98cxZPuEiszGNsdFc_6JwYfq0=/700x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/2795457-article-piagets-stages-of-cognitive-development-5a95c43aa9d4f900370bf112.png]]
//Diagram the structure of inference from premises to conclusion among the following claims in Kant://
# ''In'' the natural constitution of ''an organized being'' ... let there be taken as a principle that in such a being ''no organ'' is to be found ''for any end unless'' it be the most fit and the ''best adapted'' for that end.
# Now ''if'' that being’s preservation, welfare, or in a word its ''happiness'', ''were the real end'' of nature in the case of a being having reason and will, ''then'' nature would have hit upon a ''very poor arrangement'' in having the reason of the creature carry out this purpose.
# For all the actions which such a creature has to perform with ''this purpose [happiness]'' in view, and the whole rule of his conduct would have been ''prescribed much more exactly by instinct''…
# And, in fact, we find that the more cultivated reason devotes itself to the aim of enjoying life and happiness, the further does man get away from true contentment.
# [E]xistence has another and much ''more worthy purpose, for which'', and not for happiness, ''reason is quite properly intended'', and which must, therefore, be regarded as the supreme condition to which the private purpose of men must, for the most part, defer.
<$details summary="resulting diagram">
[img[https://www.dropbox.com/s/vh83v5oyetomfbo/Screenshot%202014-10-02%2002.44.14.png?raw=1]]
</$details>
//Diagram the structure of inference from premises to conclusion among the following claims in Kant://
# ''In'' the natural constitution of ''an organized being'' ... let there be taken as a principle that in such a being ''no organ'' is to be found ''for any end unless'' it be the most fit and the ''best adapted'' for that end.
# Now ''if'' that being’s preservation, welfare, or in a word its ''happiness'', ''were the real end'' of nature in the case of a being having reason and will, ''then'' nature would have hit upon a ''very poor arrangement'' in having the reason of the creature carry out this purpose.
# For all the actions which such a creature has to perform with ''this purpose [happiness]'' in view, and the whole rule of his conduct would have been ''prescribed much more exactly by instinct''…
# And, in fact, we find that the more cultivated reason devotes itself to the aim of enjoying life and happiness, the further does man get away from true contentment.
# [E]xistence has another and much ''more worthy purpose, for which'', and not for happiness, ''reason is quite properly intended'', and which must, therefore, be regarded as the supreme condition to which the private purpose of men must, for the most part, defer.
<$details summary="if we highlight this passage looking for premises and conclusion..." class=success>
# ''In'' the natural constitution of ''an organized being'' ... let there be taken as a principle that in such a being @@.hlg ''no organ'' is to be found ''for any end unless'' it be the most fit and the ''best adapted'' for that end.@@
# Now @@.hl __''if''__@@ that being’s preservation, welfare, or in a word its @@.hl ''happiness'', ''were the real end''@@ of nature in the case of a being having reason and will, @@.hl __''then''__ nature would have hit upon a ''very poor arrangement''@@ in having the reason of the creature carry out this purpose.
# @@.out-green For@@ all the actions which such a creature has to perform with ''this purpose [happiness]'' in view, and the whole rule of his conduct would have been ''prescribed much more exactly by instinct''…
# And, in fact, we find that the more cultivated reason devotes itself to the aim of enjoying life and happiness, the further does man get away from true contentment.
# [E]xistence has another and much ''@@.hlo more worthy purpose, for@@ which'', and not for happiness, ''@@.hlo reason@@ is quite properly intended'', and which must, therefore, be regarded as the supreme condition to which the private purpose of men must, for the most part, defer.
</$details>
Filling in the blanks on this argument analysis exercise, we get this result...
[img[draft|http://d.pr/i/p69G+]]
Once we fill in implicit steps and implicit premises, the resulting diagram might look like this...
[img[diagram|http://d.pr/f/gDHn+]]
Argument diagrams are essential for troubleshooting and evaluating complex [[arguments|argument]]. This site follows some conventions for diagramming arguments:
<$details summary="1. Downward arrows show inference">
[img width=25% class=img-right [https://www.dropbox.com/s/xexyij7hmdn414w/informal%20simple.png?raw=1]] The direction of [[inference]] is "downward" and represented by an arrow: Each [[premise]] appears above the [[conclusion]] it helps to support.<br style="clear:both" />
</$details>
<$details summary="2. Joined arrows show deductive support">
[img class=img-right width=30% [https://www.dropbox.com/s/suokvj828mzexo5/simple%20deductive%20allergic.png?raw=1]] When two premises work together in a [[deductive|deductive argument]] way, we show the inference arrows as joining together, or "dovetailed". Deductive arguments are structurally similar to arithmetic problems:
| 2|
| +2|
|!=4|
|argument|k
<br style="clear:both" /></$details>
<$details summary="3. Converging arrows show inductive support">
[img class=img-right width=30% [https://www.dropbox.com/s/z4qhlcc54273tzk/inductive%20wildfire%20argument.png?raw=1]] 3. When there's more than one consideration in favor of a conclusion, and yet they don't function tightly together to provide deductive support, separate arrows connect each [[premise]] to the [[conclusion]].<br style="clear:both" />
</$details><$details summary="4. Subconclusions appear as intermediate links in chain">
[img class=img-right width=30% [https://www.dropbox.com/s/9qsv8h3koj7kpy9/argument%20chain%20cold.png?raw=1]] A [[subconclusion]] (a claim that is supported by at least one [[premise]], but which supports a further [[conclusion]]) has an incoming arrow and and outgoing arrow.<br style="clear:both" /></$details>
<$details summary="5. Enthymemes can be filled in with thought-clouds">
[img class=img-right width=30% [https://www.dropbox.com/s/twb3q6x17fuqinr/simple%20enthymeme.png?raw=1]]An ordinary argument often leaves key [[premises|premise]] silent, treating them as too obvious to spell out. (Such an [[argument]] is called an [[enthymeme]].) A thorough diagram will fill them in. <br style="clear:both" />
</$details>
<$details summary="6. A complex diagram combines points from above...">
{{inference diagram key}}
</$details>
<$details class="" summary="7. A few sentences of philosophy may contain very complex structure!">
{{Aristotle's young man argument (diagram)}}
</$details>
<$macrocall
$name="toc"
tag="diagrams"
selectedTiddler="$:/temp/toc/diagrams/selectedTiddler"
unselectedText="<p>Select a title at left. Click the arrow to expand a category.</p>"
missingText="<p>Missing reference.</p>"
/>
: pertaining to [[dialogue]] or conversation among ideas; more specifically, in [[Hegel]], [[Marx]] and related theories, a particular pattern of interaction or historical development among ideas and [[ideologies|ideology]]
The overall structure of [[Nussbaum's essay|Nussbaum, Non-Relative Virtues]] is a good model for [[microessays]] and other philosophical discussions:
# Highlight potential [[objection]]s (in this case -- objections expressed by others about the cross-cultural relevance of [[Aristotle]]'s ethics)
# [[Charitably|principle of charity]] spell out the [[argument]]s behind those views
# Consider how the author ([[Aristotle]]) — or someone who interprets the author's account charitably — might respond to this objection or concern, perhaps with a [[friendly amendment]] or two.
: (from Greek ''διάλογος'') conversation and mutual interrogation among two or more lines of thought, generally represented by two or more ''interlocutors'', or speakers. In philosophical dialogues, interlocutors may or may not be trying to persuade one another, and may or may not have fixed positions to defend.
>Plato's [[dialogues|dialogue]] often portrayed [[Socrates]] in the role of [[ironic|irony]] interrogator.
* (See also: [[hypothesis]], [[elenchus]], [[persuasion]], [[charity|principle of charity]], [[refutation]], [[aporia]] and [[irony]], [[tips for reading dialogues|advice for reading Plato's dialogues]])
How do moral theories differ?
<$details class="notification" summary="Different answers to a question">
;Q: Is it justifiable to lie to the murderer at the door?
:<mark>Kant's answer:</mark> No
:<mark>Korsgaard's answer:</mark> Yes
</$details>
<$details class="notification" summary="Different reasons for answers to a question">
;Q: What makes it justifiable to lie to the murderer at the door?
:<mark>Korsgaard's reason:</mark> The policy of deceiving evil deceivers passes the universal law test, and helps to fulfil our duty to resist evil.
:<mark>Mill's reason</mark>: The general good is the ultimate standard, and when enough is clearly at stake, people's sense of being entitled to the truth may be less important than the prospect of avoiding great suffering.
</$details>
<$details class="" summary="Different questions">
; <mark>Kantian Concern:</mark> Is behavior X justifiable?
; <mark>Stoic Concern:</mark> Am I keeping attention on what is up to me?
; <mark>Aristotelian Concern:</mark> What kind of habits are virtuous?
; <mark>Noddings Concern:</mark> How can we meet the other morally?
<$details class="notification" summary="But is Noddings' question totally changing the subject?">
No... Kantian theorists also work on this very same question. ...
Recall the discussion of ideals of ''respect'' and the difference between treating someone //only as a means// to your own ends and treating them as valuable in themselves...
Except the emphasis on relations is different from most other moral theorists, with the possible exception of [[Aristotle on friendship]].
</$details>
</$details>
<$details class="notification" summary="Different accounts of what motivates us">
;Q: What inspires us to act morally even when we do not feel like it?
:<mark>Kantian motivation:</mark> We respect the ideal of duty; reason inspires morality.
:<mark>utilitarian account of motivation</mark>: Our sympathies have grown to include many people, and we wish for social harmony.
:<mark>Aristotelian account of motivation</mark>: Reason gives us some orientation to what is right, but if we have virtue we have refined sensibilities that lead us to enjoy acting with good judgment.
:<mark>Noddings' account of motivation</mark>: We cherish the relations of care that we have experienced, and hold ourselves to the moral ideal of one-caring.
</$details>
: (Greek term, from di-lemma, or two-way proposition) a forced choice, especially between options that are each in some way unattractive.
[img[wartime dilemma from Sartre|https://www.dropbox.com/s/8grp7b4t0m9wvot/sartre_wartime_dilemma.png?raw=1]]
Groups of about four students (three or five as needed, if class size is not an exact multiple of four) can serve as a convenient set of contacts for studying or sharing notes, and work together in two formal ways:
* Work together on [[opening questions|opening_questions]] at the beginning of each session.
* Coordinate to rotate responsibility for [[microessays|microessays]]
Personal connections:
* How has moral luck affected your current life?
* Have you ever reflected on moral luck and personal transformation?
<hr>
1. “While moral luck is always outside of the agent’s own control, its source can vary: it could result from a natural event such as a hurricane; it could be caused by another person’s actions, as in the case where a child darts in front of one’s car.” (Pg. 376)
2. “The task of acquiring integrity is necessary for resisting oppression and taking responsibility for – or being able to ‘stand behind’ – whom one becomes, but it is a task that in turn requires discovering which of one’s character traits are constitutive of moral damage and should be forgone in favor of a disposition that consistently supports one’s own – and others’ – flourishing. “ (pg. 383)
3. “An adequate feminist moral theory will have to either address the question of how to undo the moral damage that causes this conflicted state or will have to acknowledge that not all moral damage can be reversed and instead consider what it means to engage ethically in a context in which one assumes that full virtue is unavailable.”
4. “Thus, the politics of personal transformation avoids the problem of an action-centered approach, by recognizing that change in character is necessary for resisting oppression and for becoming a self for which one can unproblematically take moral responsibility.” (pg. 387)
5. “Oppression can be seen as interfering with flourishing… let me suggest that anger, regret, and compassion will be among the ways of responding that may be characterized as virtuous under the bad luck of oppression.” (pg. 393)
: a contrast taken to be significant in virtue of the differing implications of its alternatives.
Note, a [[distinction]] need not amount to a [[dualism]], which is a more polarized and totalizing form of distinction.
<$details summary="some distinctions in our ethics texts:">
<$macrocall
$name="toc-tabbed-internal-nav"
tag="distinction"
selectedTiddler="$:/temp/toc/distinctions/selectedTiddler"
unselectedText="<p>Select a choice at left.</p>"
missingText="<p>Missing tiddler.</p>"
/>
@@.triangle-right
“ kasa ”
@@
If you say "kasa" people around the world will attach different meaning to it:
|Albanian, Armenian, Belarusian, others|cash (or cash register)|
|Igbo, Yoruba, Somali, Ahmaric|land|
|Indonesian, Turkmen, Uyghur, Odia|gauze|
|Mongolian, Catalan, Esperanto|case|
|Finnish|pile|
|Kannada, Telegu|garbage|
|Turkish|safe|
|Sundanese|screen|
|Gujarati|special|
|Hausa|fail|
|Urdu|who|
|(homonym "casa" in Spanish, Greek, many other languages...) |house or home|
Animality versus Divinity
>Q: "Such a life would be superior to the human level. For someone will live it not insofar as he is a human being, but in so far as he has some divine element in him." - Aristotle on a life of theoretical study CIT: Nicomachean Ethics, 1177b, p.164
|Aristotle’s claim that a life of understanding and theoretical study is both a divine quality, and nevertheless a supreme human virtue, seems to be fundamentally discordant with his conception of humanity’s essential animality. Aristotle might say that the inherent tension between these coexisting standards for human behavior is relieved in so far as a human life completely dedicated to theoretical study is an unrealizable ideal that only attains in the divine realm. Even so, the incommensurateness of this, however exceptional, human capacity for divinity, and the base qualities of human behavior that Aristotle struggles with throughout the text, still remains. I believe it’s resolvable if, rather than positing understanding as divine, an ethic is built around this vitally human characteristic.(120 words)|
:a key claim, or system of claims, associated with a particular thinker or school of thought
{{childtabs-v}}
: a pattern of thought invoking an all-encompassing opposition between two categories, such as mind and body or form and substance.
<hr>
Note: philosophical dualisms in the Western tradition, since [[Plato]], have generally understood dualism in a normatively hierarchical way, such that the "higher" element is more associated with value and striving, the "lower" with a neutral, meaningless, or corrupting element. Hence some dualisms come very close to [[idealism]], which denies that the "lower" element fully partakes in reality.
//Contrasts against//: monism //and// pluralism. Monisms include [[idealism]] (focusing on the "upper" element as the only real one) and [[materialism]] (focusing on the material or "lower" element as sufficient to account for reality).
A contrast is [[dualistic|dualism]] when it encourages a pervasive and exclusive structural opposition. It is difficult to distance ourselves from one dualism without challenging others, since dualisms tend to align with and draw on associations with each other…
[img[https://www.dropbox.com/s/ml0ixtqqrxw7nvn/dualisms.png?raw=1]]
: a requirement, especially a requirement with [[moral|morality]] force (but sometimes a role-specific obligation).
<hr>
See [[imperfect duty]] and [[perfect duty]]
!!!Does Kant's ethics yield a duty to tell the truth?
Note Kant regularly distinguishes between two kinds of duty:
|!Perfect duties|!Imperfect duties|
|!"Necessary and strict"|!"Contingent and meritorious"|
| negative | positive |
| "Do not __ __" | "Seek to __ __" |
|fails [[categorical imperative]] in virtue of "[[contradiction in conception]]"|fails [[categorical imperative]] in virtue of "[[contradiction in willing]]"|
|Neat and straightforward application to practical situations|Application in practice is full of judgment calls and wisdom from experience|
|(Of course, there is judgment involved in deciding //whether// something counts as lying, or stealing; but what morality requires follows directly upon those judgments)|~|
Where would "tell the truth" fit?
!!!![Are we in control of whether we tell the truth?]
Maxims specify our intentions...
and so they cannot point directly to things beyond our control.
* ''"Prevent death"'': is not well-formed as a Kantian maxim
* ''"Seek to save (more clearly: extend/preserve) lives"'' is a coherent maxim
** We should notice that a world where all //seek// to save lives is different from a world in which all //succeed// at saving lives.
The most we can do is //attempt// to tell the truth -- to speak ''//sincerely//''...
and this is at most an ''imperfect duty''
because one cannot tell ALL truths in ALL detail ALL the time to ALL people
!!!! In place of "perfect duty to tell the truth"...
We should talk about the ''imperfect duty'' to ''advance truth''
and the ''perfect duty not to lie''
These dialogues, sometimes called the "[[Socratic|Socrates]] dialogues," include works such as [[Euthyphro]], [[Apology]], [[Crito]], [[Gorgias]]. These texts are taken to be Plato's most direct attempt to portray Socrates' own concerns, personality, methods, and style (though few, with the possible exception of the Apology, pretend to serve as a record of actual historical encounters and conversations).
: (Greek term: ''ἔλεγχος'', pronounced [el 'eng-kəs]) the testing, or “cross-examination” of a [[hypothesis]], often (at least in [[Plato]]'s work) resulting in a [[reductio ad absurdum]].
<svg class="tc-image-button te-image" height="180pt" viewBox="0 0 256 256" width="180pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g stroke="#b9dfff" stroke-width="0.2"></g>
<path d="
M 40,20 L 100,120 120,110
M 20,40 C 20,110 120,110 120,40
"></path>
<path d="
M 20,80 C 20,120 120,40 120,80
"></path>
</svg>
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ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6bXdnLXJzPSJodHRwOi8vd3d3Lm1ldGFkYXRhd29ya2luZ2dyb3VwLmNvbS9zY2hlbWFzL3JlZ2lvbnMvIgogICAgICAgICAgICB4bWxuczpzdEFyZWE9Imh0dHA6Ly9ucy5hZG9iZS5jb20veG1wL3NUeXBlL0FyZWEjIgogICAgICAgICAgICB4bWxuczphcHBsZS1maT0iaHR0cDovL25zLmFwcGxlLmNvbS9mYWNlaW5mby8xLjAvIgogICAgICAgICAgICB4bWxuczpzdERpbT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL0RpbWVuc2lvbnMjIj4KICAgICAgICAgPHRpZmY6TWFrZT5BcHBsZTwvdGlmZjpNYWtlPgogICAgICAgICA8dGlmZjpNb2RlbD5pUGhvbmUgODwvdGlmZjpNb2RlbD4KICAgICAgICAgPGV4aWY6RXhwb3N1cmVUaW1lPjEvMTIwPC9leGlmOkV4cG9zdXJlVGltZT4KICAgICAgICAgPGV4aWY6Rk51bWJlcj4xMS81PC9leGlmOkZOdW1iZXI+CiAgICAgICAgIDxleGlmOkV4cG9zdXJlUHJvZ3JhbT4yPC9leGlmOkV4cG9zdXJlUHJvZ3JhbT4KICAgICAgICAgPGV4aWY6RGF0ZVRpbWVPcmlnaW5hbD4yMDE5LTA4LTAyVDEwOjM5OjM1PC9leGlmOkRhdGVUaW1lT3JpZ2luYWw+CiAgICAgICAgIDxleGlmOkJyaWdodG5lc3NWYWx1ZT43MDYxMi8xMzkzNTwvZXhpZjpCcmlnaHRuZXNzVmFsdWU+CiAgICAgICAgIDxleGlmOkV4cG9zdXJlQmlhc1ZhbHVlPjAvMTwvZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT4KICAgICAgICAgPGV4aWY6TWV0ZXJpbmdNb2RlPjU8L2V4aWY6TWV0ZXJpbmdNb2RlPgogICAgICAgICA8ZXhpZjpGb2NhbExlbmd0aD4yODcvMTAwPC9leGlmOkZvY2FsTGVuZ3RoPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj45MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTAyOTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOkV4cG9zdXJlTW9kZT4wPC9leGlmOkV4cG9zdXJlTW9kZT4KICAgICAgICAgPGV4aWY6V2hpdGVCYWxhbmNlPjA8L2V4aWY6V2hpdGVCYWxhbmNlPgogICAgICAgICA8ZXhpZjpGb2NhbExlbmd0aEluMzVtbUZpbG0+MzI8L2V4aWY6Rm9jYWxMZW5ndGhJbjM1bW1GaWxtPgogICAgICAgICA8ZXhpZjpTY2VuZUNhcHR1cmVUeXBlPjA8L2V4aWY6U2NlbmVDYXB0dXJlVHlwZT4KICAgICAgICAgPGV4aWY6R1BTQWx0aXR1ZGU+NTg1LjE0PC9leGlmOkdQU0FsdGl0dWRlPgogICAgICAgICA8ZXhpZjpHUFNBbHRpdHVkZVJlZj4wPC9leGlmOkdQU0FsdGl0dWRlUmVmPgogICAgICAgICA8ZXhpZjpHUFNMYXRpdHVkZT40MS4zMjMzMzMzM048L2V4aWY6R1BTTGF0aXR1ZGU+CiAgICAgICAgIDxleGlmOkdQU0xvbmdpdHVkZT43Ni4yODM0MjUwMFc8L2V4aWY6R1BTTG9uZ2l0dWRlPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxOS0wOC0wMlQxMDozOTozNTwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDxtd2ctcnM6UmVnaW9ucyByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxtd2ctcnM6UmVnaW9uTGlzdD4KICAgICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICAgICA8bXdnLXJzOlR5cGU+RmFjZTwvbXdnLXJzOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDxtd2ctcnM6QXJlYSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6eD4wLjYwMTwvc3RBcmVhOng+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6eT4wLjM2Nzwvc3RBcmVhOnk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6dz4wLjIxMjwvc3RBcmVhOnc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6aD4wLjI4Mjwvc3RBcmVhOmg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6dW5pdD5ub3JtYWxpemVkPC9zdEFyZWE6dW5pdD4KICAgICAgICAgICAgICAgICAgICAgPC9td2ctcnM6QXJlYT4KICAgICAgICAgICAgICAgICAgICAgPG13Zy1yczpFeHRlbnNpb25zIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGFwcGxlLWZpOkFuZ2xlSW5mb1lhdz40NTwvYXBwbGUtZmk6QW5nbGVJbmZvWWF3PgogICAgICAgICAgICAgICAgICAgICAgICA8YXBwbGUtZmk6QW5nbGVJbmZvUm9sbD4yNzA8L2FwcGxlLWZpOkFuZ2xlSW5mb1JvbGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHBsZS1maTpDb25maWRlbmNlTGV2ZWw+MzA2PC9hcHBsZS1maTpDb25maWRlbmNlTGV2ZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHBsZS1maTpUaW1lc3RhbXA+MjE0NzQ4MzY0NzwvYXBwbGUtZmk6VGltZXN0YW1wPgogICAgICAgICAgICAgICAgICAgICAgICA8YXBwbGUtZmk6RmFjZUlEPjg8L2FwcGxlLWZpOkZhY2VJRD4KICAgICAgICAgICAgICAgICAgICAgPC9td2ctcnM6RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICAgICA8bXdnLXJzOlR5cGU+RmFjZTwvbXdnLXJzOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgIDxtd2ctcnM6QXJlYSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6eD4wLjY0Nzwvc3RBcmVhOng+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6eT4wLjY4Njwvc3RBcmVhOnk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6dz4wLjE2OTwvc3RBcmVhOnc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6aD4wLjIyNTwvc3RBcmVhOmg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdEFyZWE6dW5pdD5ub3JtYWxpemVkPC9zdEFyZWE6dW5pdD4KICAgICAgICAgICAgICAgICAgICAgPC9td2ctcnM6QXJlYT4KICAgICAgICAgICAgICAgICAgICAgPG13Zy1yczpFeHRlbnNpb25zIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGFwcGxlLWZpOkFuZ2xlSW5mb1lhdz4wPC9hcHBsZS1maTpBbmdsZUluZm9ZYXc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHBsZS1maTpBbmdsZUluZm9Sb2xsPjI0MDwvYXBwbGUtZmk6QW5nbGVJbmZvUm9sbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFwcGxlLWZpOkNvbmZpZGVuY2VMZXZlbD42MDc8L2FwcGxlLWZpOkNvbmZpZGVuY2VMZXZlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGFwcGxlLWZpOlRpbWVzdGFtcD4yMTQ3NDgzNjQ3PC9hcHBsZS1maTpUaW1lc3RhbXA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHBsZS1maTpGYWNlSUQ+MTE8L2FwcGxlLWZpOkZhY2VJRD4KICAgICAgICAgICAgICAgICAgICAgPC9td2ctcnM6RXh0ZW5zaW9ucz4KICAgICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgICAgPC9td2ctcnM6UmVnaW9uTGlzdD4KICAgICAgICAgICAgPG13Zy1yczpBcHBsaWVkVG9EaW1lbnNpb25zIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgPHN0RGltOnc+OTMyPC9zdERpbTp3PgogICAgICAgICAgICAgICA8c3REaW06aD4xMDI5PC9zdERpbTpoPgogICAgICAgICAgICAgICA8c3REaW06dW5pdD5waXhlbDwvc3REaW06dW5pdD4KICAgICAgICAgICAgPC9td2ctcnM6QXBwbGllZFRvRGltZW5zaW9ucz4KICAgICAgICAgPC9td2ctcnM6UmVnaW9ucz4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pv/bAEMADQkKCwoIDQsKCw4ODQ8TIBUTEhITJxweFyAuKTEwLiktLDM6Sj4zNkY3LC1AV0FGTE5SU1Iy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
Noddings' care ethics clearly allows us to prioritize the needs and interests of those with whom we share daily interactions...
Given that some communities are ''//privileged//'' while others are ''//marginalized and desperate//'', is Noddings inviting us to ignore global disparaties and injustices?
Does Noddings' approach offer any ''//advantages//'' in helping us think about global crises?
She may offer us an [[explanation of moral alienation]]...
: pertaining to experience or that which can be observed in concrete interactions.
synonym: [[a posteriori]]
contrast terms: [[rational]] and [[a priori]]
//see also// [[empiricism]] and [[rationalism]]
:the doctrine that all significant knowledge-claims derive more or less directly from experience, usually understood as sensory phenomena.
----
//compare to:// [[rationalism]]
\define lingo-base() $:/language/TiddlerInfo/
\define config-base() $:/config/ViewToolbarButtons/Visibility/
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$macrocall $name="list-tagged-draggable" tag="$:/tags/ViewToolbar/plus" itemTemplate="$:/core/ui/ControlPanel/Toolbars/ItemTemplate"/>
<$details class="success" summary="Final essays">
{{final essay}}
@@.hang
* 🔲 make [[appointments]] to discuss
* 🔲 contact Springer for extension, if needed
* 🔲 read about [[Writing details]]
* 🔲 post essay at moodle
@@
</$details>
<$details class="success" summary="Final exams">
{{final exam spring 2020}}
@@.hang
* 🔲 Attend TA-led review session Tuesday, 7:30pm (see email)
* 🔲 Review [[spring 2020 opening questions]] for final exam
* 🔲 Review [[final exam essay choices (spring 2020)]], decide which to do
* 🔲 Complete [[final exam essay procedure]] by Wednesday May 13, 5pm
* 🔲 Complete [[final exam moodle assignment]] by Thursday May 14, 2pm
@@
</$details>
!!! Miscellaneous
@@.hang
<$checkbox tiddler="$:/custom/mock-to-do"> Contact Springer about grading mode: each student can set a lowest-letter-grade threshold (so that below that threshold, your transcript will simply show CR)
@@
Many moral theorists distinguish genuine or enlightened self-interest from a narrower notion of selfishness, so as to make sense of the doctrine that morality is compatible with self-interest. The most dramatic examples of this approach can be found in the classical views of [[Socrates]], [[Aristotle]], and [[stoics|stoicism]] such as [[Epictetus]].
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FAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFAQKAgWBgkBBoCBQECgIFARecQj8Py+Ksfbp01YmAAAAAElFTkSuQmCC
: (in [[logic]], from Greek en-thumos, "in-mind") an [[argument]] which is incompletely spelled out, but which seems to give the crucial pieces of a more careful argument. To be analyzed and evaluated, this sort of [[argument]] requires us to articulate its implicit or [[suppressed premise]] (or, more rarely, its implicit [[conclusion]]).
: the study of whether and how any claim to knowledge might be justified, or the broader study of the nature of knowledge and related phenomena (significance, perception, belief, understanding, doubt, awareness, etc.)
<hr>
usage: "I’m not denying your theory. I’m just asking an epistemological question: could we have any reason to believe it?"
contrast against: [[ethics]], [[metaphysics]]
:a [[fallacy]] (flaw in an [[argument]]) that depends on using the same term twice, but in ways that would need to mean different things in different instances in order for all the [[premises|premise]] to be plausible, or in order for the [[conclusion]] to follow with [[validity]].
* //Example://
>''Animals'' cannot inherit legal title to any property.<br>Human beings are ''animals''.<hr>
>Human beings cannot inherit legal title to any property.
* Note: The [[fallacy]] of [[equivocation]] resists being handled by the usual rule for [[objections|objection]], namely: One must (generally) object //either// to the credibility of some particular [[premise(s)|premise]], or to some [[inference patterns]] by which the premises supposedly lead to the conclusion. An equivocal argument has premises which, one by one, //seem// correct, and their [[inference|inference patterns]] may //seem// [[valid|validity]]. Their fault lies in failing to use the same word or phrase consistently to mean the same thing.
* //See also this// [[potential example of equivocation|only happiness is desirable]] //from a philosophical argument//
|>|''Please write an essay on __one__ of the following:''|
|!A. Human nature and ethics|What key features or capacities are central to our authors' account of distinctively human value? How is that account of human nature reflected in the moral priorities? |
|!B. Happiness and well-being|How do our authors conceive of happiness or well-being? Are there ways in which their notion of "happiness" does not correspond to what most readers today associate with the word "happiness"? Do our authors recognize a positive correlation (or even a necessary bond) between happiness and moral life?|
|!C. Law, authority, role models|What kinds of attitudes do our various sources take toward social, legal, and/or religious authorities and models? Are any of them essential to moral development or reasoning, and if so, how? Can we make sense of the idea of an individual taking a stand against the norms and expectations of one's parents, teachers, and society?|
|@@.hlw D. Choice and Blameworthiness@@|@@.hlw How do our authors distinguish between what is voluntary (or "up to us") and what is not within our control? How does that distinction relate to the question of what is blameworthy, or when it is appropriate to hold a person accountable for their actions?@@|
|alternating-rows|k
|Essay options|c
# @@Save@@ your work early and often, and make @@backups@@ in multiple locations in final stages of your work.
# @@Refine your approach@@
## Make sure that you've reflected on a problem, illustrated two or three divergent lines of thought about it, and have offered a helpfully distinctive perspective on some aspect of it.
## Check whether you've slipped into making the problem look too simple, making opposing views look unintelligent, or trying to consider //everything// about a topic.
## Review your paper to see where one more gesture of dialogue may enhance the discussion.
# @@Revise and edit@@
## Work with a [[writing tutor|Writing tutors]] if possible. If not, make sure to share the essay with a reader who has strong critical skills -- someone who is not already familiar with your ideas.
## See my list of [[writing pointers|Writing details]]...
## Look over how you have presented your sources and citations:
### Check to see that you've included direct quotes (with citations) whenever a source says something distinctive, especially colorful, or worthy of careful analysis.
### In the absence of reasons to quote directly, discuss ideas in your own words. Cite text locations except where your claim about a text is general and clear (as in, "Kant's main concern is with principled intentions, rather than with consequences.")
# @@Proofread@@
## Content: Check for paragraph and sentence coherence, clarity of discussion and reasoning.
## Form: Correct usage, syntax, grammar and spelling (including of names).
# @@Organize@@
## Check your @@[[word count|word count tool]]@@ (1200-1500 words, not counting footnotes), and @@include it@@ at the end of the essay text.
## Make sure any excerpts and data in the body of the essay are properly connected to sources.
## Include @@works cited list@@ in complete and proper format (any standard format is fine), and include all bibliographic details even for any syllabus texts you have used.
# @@Format your document@@
## Please use a standard serif @@font@@ (Times, Palatino, or similar), 11pt.
## To save paper, please use @@single-spaced@@ paragraphs, with @@.75" margins@@. (I'll print double-sided.)
## Don't add page breaks or extra returns anywhere (title and works cited do not need their own pieces of paper). Make a simple running one-line header with name, course number, and automatic page number.
# Post on moodle by midnight on the due date.
## Cut and @@paste the body of your essay into a post@@ in the Essays discussion board. That way, other students can browse papers easily without the bother of downloading and opening. Also, if your document is corrupted, I'll still be able to read the basic text of your submission.
## Attach your document in @@.doc format@@, with a @@title like {{{lastname212.doc}}}@@.
### Please retitle any documents you submit electronically; especially avoid titles like {{{philosophy.doc}}} or {{{212paper.doc}}}. Imagine what your professors' downloads folders look like (!), and help us recognize *your* paper when we go to look for it.
### Please make sure to add the file-type extension ({{{.doc}}}) to the title; otherwise it may not survive upload/download properly.
### If you don't use Microsoft Word and can't save into .doc format, Rich Text Format ({{{.rtf}}}) is a good alternative often available as a "Save As..." option in other programs. (Don't assume recipients can read .docx)
### Please consolidate your paper into only one document -- no separate file for Works Cited list. (Why anyone would ever make this a separate file, I'm not sure, but a few always do.)
# Log off of moodle and on again, and make sure your post and attachment appears just as you want it to.
# SUBSCRIBE to your essay's THREAD if you want to get feedback as soon as possible on your paper.
: a [[metaphysical|metaphysics]] [[doctrine]] according to which reality (or some specific aspect of reality) is fundamentally structured in ways that are independent of how they are understood or referenced (by human minds and language, for example), such that a central task of [[epistemology]] is to explain how we can gain understanding of these mind-independent realities.
Example: [[Plato]]'s doctrine of forms is an [[essentialist|essentialism]] approach to philosophy.
//Contrast against:// [[nominalism]]
|"Observe," continued I, "This Moment! From the gateway, This Moment, there runneth a long eternal lane backwards: behind us lieth an eternity. Must not whatever can run its course of all things, have already run along that lane? Must not whatever can happen of all things have already happened, resulted, and gone by? And if everything has already existed, what thinkest thou, dwarf, of This Moment? Must not this gateway also- have already existed? And are not all things closely bound together in such wise that This Moment draweth all coming things after it? Consequently- itself also? For whatever can run its course of all things, also in this long lane outward- must it once more run!- And this slow spider which creepeth in the moonlight, and this moonlight itself, and thou and I in this gateway whispering together, whispering of eternal things- must we not all have already existed? -And must we not return and run in that other lane out before us, that long weird lane- must we not eternally return?"|
|Nietzsche, Thus Spoke Zarathustra|c
:(in philosophy) reflection on, and/or commitment to, to norms or values with respect to choice and behavior. (syn. [[morality]], but also see [[ethics vs morality]])
* [[normative ethics]] (or simply ''ethics'' or ''moral philosophy'') directly inquires into how best to make individual choices and morally sound policies. Common theoretical frameworks for normative ethics include [[deontology]] and [[consequentialism]]. An alternative [[virtue ethics]] approach prioritizes the role of character, habits, and experientially-informed judgment.
* [[metaethics]] asks philosophical questions about ethics and morality, such as whether moral theories are explanatory, how to understand moral language, or how moral life is related to natural and causal processes.
[img width=35% class=img-right [Virus testing|https://s.abcnews.com/images/US/coronavirus-testing-wash-2-rt-rc-200318_hpMain_16x9_992.jpg]] In uncanny fashion, our global predicament now makes it especially urgent to understand, apply, and critique the ideas in [[Unit D]]. In confronting large-scale cause-and-effect problems, [[utilitarianism]] (in some form or other) is the moral tool that promises to be relevant, neutral, and practical.
Unlike [[Kant]]'s ethics, which focuses on individuals and the moral integrity of the principles they choose, [[utilitarianism]] is a moral theory with deep connections to social norms and practical policy-making (Though we will read a book by [[J S Mill]], [[Bentham]] is a good example of an early utilitarian whose leanings were less philosophical and more dramatically political).
Something like [[utilitarianism]] is often invoked in policy-making quarters, from public health and environmental regulation to consumer protection and infrastructure safety standards. It is the basis for cost-benefit analysis and other more or less mathematical models for managing the distribution of burdens and benefits within a population.
When a severe and widespread policy is considered, such as institutional closures, regional quarantines, closing of borders, "social distancing" and "lockdown" (etc.), the individuals suffering the burdens of the policy rarely coincide perfectly with those whose situations or prospects are made better-off. To what degree do we owe one another a willingness to forgo opportunities, resources, or even to risk our lives, in order to promote "the greater good"?
Stay tuned...
: (Greek term ''εὐδαιμονία'' (pronounced [eu̯dai̯moníaː])) well-being, flourishing, or thriving in the distinctive way that realizes the telos or full functioning of the being in question (usually, specific to humanity).
<hr>
Many translators choose 'happiness' to translate the Greek //eudaimonia//. Yet this Greek word refers more holistically to a successful and well-lived life, something that becomes evident only with time, and does not focus on the subjective emotions or satisfactions associated with "happiness" in English.
//Eudaimonia// might better be translated as ''thriving'' or ''flourishing''. [[Aristotle]] links //eudaimonia// to a life that fulfils the distinctive functions of our species (and in theory other species might be seen to have their own version of //eudaimonia//). This concept is thus quite different from the subjectively-assessed notion of happiness central to [[utilitarian|utilitarianism]] ethics. It differs, too, from the Stoic ideal of [[ataraxia]].
: the view that ethics and wellbeing (in a well-rounded sense implied by Aristotle's idea of [[eudaimonia]] are compatible; the well-lived life can combine morality and [[happiness]].
This session involves materials chosen by our TAs, with discussion themes and activities organized by TAs in consultation with Elise Springer. For Fall 2017, the theme is euthanasia. Materials include the "Practical Ethics Bites" podcast (Oxford University) with Nigel Warburton, who hosts Wilkinson; and an article from the //Journal of Medical Ethics// called "Legal physician-assisted Dying in Oregon and the Netherlands: evidence concerning the impact on patients in 'vulnerable' groups"
{{childtabs}}
[[<< back to Noddings|Noddings]] ... [[forward to Dewey>>|Dewey]]
Evaluative commentary does not mean the announcement of [[opinion|agreeing and disagreeing]] (especially not in forms like ''“I, unlike Kant [or Nussbaum or Plumwood], firmly believe X”''). Rather, it raises considerations that seem to count in favor of (or against) some [[claim]] or [[doctrine]].
In [[philosophy]], we often draw attention to a [[concern]] — a potential [[objection]] or challenge or confusion — without yet settling whether it’s a decisive one. If you're drawn to debate-like patterns of thought, think of this as like the difference between an indictment ("case open") and a verdict ("case closed").
;But what if my opinion is already settled?
:On some matters, you may really have your mind made up already. (For example, I am not genuinely undecided about whether non-human lives matter, and I don’t pretend to be uncertain about that.)
: <<hspace 1em>>
:In asking you to write with a stance of curiosity and “sitting down with a problem,” I'm asking you to //find// the questions and texts (or aspects of a text) with which you’re able to engage dialogically, open to some exploratory back-and-forth.
https://notes.andymatuschak.org/About_these_notes?stackedNotes=z3SjnvsB5aR2ddsycyXofbYR7fCxo7RmKW2be&stackedNotes=z7kEFe6NfUSgtaDuUjST1oczKKzQQeQWk4Dbc&stackedNotes=z6cFzJWgj9vZpnrQsjrZ8yCNREzCTgyFeVZTb&stackedNotes=z4SDCZQeRo4xFEQ8H4qrSqd68ucpgE6LU155C&stackedNotes=z5ARNXtS5VxteskEW91S1yYTgAcLABNXsZuJE
There are two exams ([[midterm]] and [[final exam]]), each representing 20% of the overall evaluation for the semester.
Structure:
* ''11 or 12 "multichoices" questions'' corresponding to sessions in first or second half of semester
** These are just like the [[opening questions|opening_questions]] — and you'll see familiar questions for each session when you participated in group-discussion success.
* A single ''exam essay'' for connections and critical reflection across authors and texts — with thematic choices announced in advance.
** Students usually have an option to complete this outside of our classroom exam session, under specific Honor Code conditions.
* ''extra credit'' challenge (optional)
<<table-dynamic filter:"[tag[excerpts]]" fields:"tbl-expand session title" stateTiddler:"oq20 list" sort:demo_comment class:"w-100 thead-dark" caption:"''Use ﹥ in left column to preview content. Follow the title link for additional details''">>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="exclamation-triangle" class="svg-inline--fa fa-exclamation-triangle fa-w-18" height="12pt" width="12pt" role="img" viewBox="0 0 576 512"><g fill-rule="nonzero"><path d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"></g></path></svg>
: careful explanation and interpretation of a text, with attention to critical concerns.
<hr>
The concept of 'exegesis' has developed in connection with religious texts. In philosophy, exegesis does not require endorsing a text in a religious sense, but it does require [[charitable interpretation]].
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whmd7El01taY+0rhR585oynecErRqex5xt/93d9dTr+8CfmUpzzloWfG8OJzPudzFhzsIjyctexdeo9++fi0L/rvZjwPa+DdzIVt7gfjAGMgSC18hsrVGCMqz8BZ4Bwp0a05z3uAYezAMBAMjqDM0PqYpofZpf6qyjMO3mYzxnRgGJGcsL4d540gz/Z4481Y3Q40Dni0csLQiDZBHWNk/MKc27o+eKk2MVz1PynVx9w9I5YBlKpHH15sRvEk7l2snpySWTwmCxsrXfMHyDZgtyQ9qJ989Fvrx8UoufN7m/OugH/iSWFXW+sjngfTGOpbj9XBH885H54FtpbdmvPPB+QmTNsBD6dt4jBW62vpcPyjLvvDScl26aeN3WKH0MQBFGorr1xsDOPvI8ALV/YK/fIuZJuLC9M//dM/XR7C9ybkc57znOXWY+Ozd978RRsemZOgnjOmDg+yOdrMdwsX58Bd64hR3C0cngOMggVtYTOAAllY/OoscinDCdYtH9/RsuC12fQyiPKez3nzm9989NKXvvTone9852IgnXQxxPrApcxIGUNfp22M89/+7d8u5YwiB8035b76q7/66JnPfOZDJxw2XbRqR2uGTZoBlDaP6vbBXXMQGXk04x38WzgMB+hG/JYmW5uaWzycf068PzW2AZMPedXnMFTeOaOYN54JpeUr4895HJDJ+wXh6iceg7MWW4/WOAfkcz/3c5eHzd///vcvJzscC6feHAvjg2cf4MnJaAg4rHt9wE2aXSAmYzDwGU9UhtPtyxwZ+NU1Jnrlz8OD6DlPGs5Js3G9rIC2973vfctdAqe3bBxHFb2ivuxr82x+k0Z11YON/+ehbYM5nQN3rSN2Olu21sviQAvZFaVnnpQZCU6OlMPBcHpw1J/LemDUcTljos3pFSP57ne/++hXf/VXj3791399MaLabIZf8zVfc/SsZz1r6cNYGEeQz9AwhAwvR057Dh2cNtef/dmfPfqjP/qjo+/93u89YrScxjFITtj6sjTjLKhnkKTwhltbhioYZRGM/tWDPSkwpDYPxtIc0S00pvx58IDbws1xIHkmM2XyEH1J/3d+53cW3fn8z//85UH9dJuM5kYVHnK6GwJ+rcOsww9reNbJr8vhiH/S4KwffI7neFt0O039F3/xFy925f77718usFxMkQs81lOOElzKTs7Jle1hCzgu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j/r4rNd1UdfY+tV2WLnSIJOU/sjhOnra1JH78qbGNq77aKz2gmbtn49+/Q6bY23K2qvrPl71UV8fZderHPVVZz5S81jb1HevbO7xVld7dcZI6rMNNsSG3/nOd252bA352q/92s3X2OW+/aAVPXQkvNWhqc5GSKdoqWOXrj086ne1q11tG0cvfEx/19I+7XUOrrvXd/9eXUlb+KmrbzjV3iZPvve///2797znPbu3v/3t2/zveMc77m5xi1v8/+xzlbFrdNHsPvrht94nY6W2dex+vTZp7Ref+OJTe/PepxmdxsZnLdcx9a99/179WrfSVV/bKqM+1Ve2Fqxjol1d4ypbR40tGMPnKDtCTzuckget6MVHv1LyudevVF+0StV1v19qX3l1rR95VvqNTV732vmS+akXjF396lffbJNf2YP4MTt+3etet+3zbPda17rWpesHedu/kje54nkuyy/7/w7SuST4xdAC4AoyEAEqA0buZMKipN2CYGF0GgRIG7PFC8g23re97W2bMQvEbN5ooGdzF7z9+7//++6SSy7ZveQlL9m96lWv2u4tuPrf7GY325RHoT0Nml9PEcmrpCTyyO7xaS7J332KdS+718e1cSk8mus485bCRlDx0pe+dPebv/mbu9/7vd/bDO6mN73pFqSQUz/lvsxoxMf1ZaXk4Mjkk2Dylre8ZfdP//RPu7Nnz27GrJ185M0J4Gi8Pv/4j/+44Qt3eD/3uc/dFvEb3/jG2zgY6EvWMBMsv/71r98973nP27361a/e+KGj3bhrX/val87NWBn/MCOr6/e97327F7zgBRtGv//7v785433ve9/dLW95y21ONhlzwxuN9GG8ZIPcr0NX31LYdF87HZSSS9n12qYOHSWZ8GzxbUx98M7e0FB/WErGdRya7tHXnuz8xnUyoKe97D4+eKuPrlJWt6b6rGPX6+iRpflU554sYRCt2ivR0xbvrrU3H33QS4/ayofR1aae77vma29+85t3f/qnf7p7whOesHvFK16x+6Zv+qbNDlu0oxe+yRMtOiUD/9AWznDXBy/rENr4ebBEW3/t+fI6NhphsJauk8mYrtVL3ZMr268u7FcbtG7ypTe+8Y07fvS7v/u7uw984AM7a4710hqbHte5f5rbp/k1l3RaW/MwLlmTsT5kK7mOR2PCXR/yS/UjF9741M84/brXP1pK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
:philosophical doctrine that human beings' ''existence'' is logically prior to any human ''essence'' -- this doctrine rejects various kinds of [[essentialism]], all of which offer some account of natural or fundamental human [[telos]] (purpose/aim).
<hr>
<<<.dark
If one considers an ''article of manufacture'' -- as, for example, a book or a paper-knife -- one sees that it has been ''made by an artisan who had a conception of it''; and he has paid attention, equally, to the conception of a paper-knife and to the pre-existent technique of production which is a part of that conception and is, at bottom, a formula. Thus the paper-knife is at the same time an article producible in a certain manner and one which, on the other hand, ''serves a definite purpose'', for one cannot suppose that a man would produce a paperknife without knowing what it was for. Let us say, then, of the paper-knife that ''its essence'' -- that is to say the sum of the formulae and the qualities which made its production and its definition possible -- ''precedes its existence''.
<<< Sartre, "Existentialism is a Humanism" p. 25
<$details open="yes" summary="books by Sartre, Beauvoir, and Fanon">
[img width=21% [anti-semite and jew cover|https://www.bauerrarebooks.com/pictures/medium/298.jpeg]] <<hspace 1em>> [img width=19% [second sex cover|https://i.gr-assets.com/images/S/compressed.photo.goodreads.com/books/1338506868l/904300.jpg]] <<hspace 1em>> [img width=21.5% [black skin white masks|http://justseeds.org/wp-content/uploads/old/blog/images/Fanon_BlackSkin_Grove67_pb3rd.jpg]]
</$details>
<<<.fm
But what singularly defines the situation of woman is that being, like all humans, an autonomous
freedom, she discovers and chooses herself in a world where men force her to assume herself as Other:
an attempt is made to freeze her as an object and doom her to immanence, since her transcendence will
be forever transcended by another essential and sovereign consciousness. Woman’s drama lies in this
conflict between the fundamental claim of every subject, which always posits itself as essential, and the
demands of a situation that constitutes her as inessential. How, in the feminine condition, can a human being
accomplish herself? What paths are open to her? Which ones lead to dead ends? How can she find
independence within dependence? What circumstances limit women’s freedom and can she overcome them? These are the fundamental questions we would like to elucidate.
<<< Beauvoir //The Second Sex//
<<<.fm
“If the Jew did not exist, the anti-Semite would invent him.”
<<< Jean-Paul Sartre, Anti-Semite and Jew: An Exploration of the Etiology of Hate
<<<.fm
All forms of exploitation resemble one another. They all seek the source of their necessity in some edict of a Biblical nature. All forms of exploitation are identical because all of them are applied against the same "object": man. When one tries to examine the structure of this or that form of exploitation from an abstract point of view, one simply turns one's back on the major, basic problem, which is that of restoring man to his proper place ...Colonial racism is no different from any other racism. Anti-Semitism hits me head-on: I am enraged, I am bled white by an appalling battle, I am deprived of the possibility of being a man.
<<< Fanon, //Black Skin White Masks// p. 65// ([[link|http://abahlali.org/files/__Black_Skin__White_Masks__Pluto_Classics_.pdf]])
One thing [[Singer]] is known for is the campaign to "expand the circle" of moral concern, based on [[utilitarian|utilitarianism]] principles:
[img width=95% class=img-right [Expanding circle|http://www.ieet.org/images/uploads/lyons20131009a.jpg]]
{{clear-both}}
@@.small credit: Andrea Diem, Mt St Antonio College https://sites.google.com/site/gnosticgolfer/post-ethics-1
@@
[img class=img-right [expanding-circle|https://www.dropbox.com/s/tpvbg6efaf6qbbb/expandingcircle.jpg?raw=1]]
Consequentialist moral theories are a broad family. There are two key questions:
* What kind of consequences matter?
* Consequences for //whom//?
Many consequentialists follow Bentham:
* Happiness and suffering of individuals is what matters
* For whom? For anyone who can suffer:
[img class=img-right [https://www.azquotes.com/picture-quotes/quote-the-question-is-not-can-animals-speak-but-can-they-suffer-jeremy-bentham-133-88-66.jpg]]
Why don't more people drop what they're doing to give to Oxfam, Islamic Relief, Unicef, etc., given that most people know we "should"?
Many action-oriented moral theories (both [[deontological|deontology]] and [[consequentialist|consequentialism]]) face a problem of [[moral alienation]] because of their [[moral demandingness]]. They face fundamental challenges around bringing [[moral motivation]] into connection with psychological realities...
<$details summary="How might the problem of moral alienation be solved?">
!!! How have charities gotten people to feel more connected to their contributions?
Often, some sort of ''//sustained personal connection//'' is fostered -- by exchange of pictures, letters, or by travel.
//Should it// matter to us whether we "know" (more or less) the people for/about whom we care?
On Noddings' view, asking this question shows that we should challenge any account of moral obligation that is so abstract as to create alienation between the [[demands of morality|moral demandingness]] and our capacity to experience our lives as meaningful.
</$details>
: a strategy of addressing a theoretical shortcoming (such as lack of attention to non-human concerns) by means of extending (or making [[friendly amendment|friendly amendments]] to) a theory whose structure or premises seem to preclude such applications.
: value that is grounded in something beyond the being in question, particularly on how it satisfies interests of some being who is taken to have [[intrinsic value]].
<hr>
Compare to [[Kant]]'s idea of //price// (as contrasted against dignity).
>A quoted excerpt, or two, here, to set the stage for your microessay and help show the source of your concerns (with citation location)
The microessay text is one continuous paragraph, a few sentences long, that raises a concern in response to the text, and then considers a potential response on the part of the author. The structure and word limit (120) might seem formulaic, threatening to limit creativity and preclude a careful listing of relevant details and supporting claims. Hence a microessay cannot represent the only kind of important philosphical writing. Yet its tight structure allows us to focus attention on a crucial kind of philosophical skill.
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
: (in [[existentialism]]) factual [[contingencies|contingency]] that shape and partially define our experience, to be [[distinguished|distinctions]] from the possibility of [[transcendence]].
[img[fallacy list|https://www.dropbox.com/s/fypwox7b2lfii5n/fallacies_for_phil212.png?raw=1]]
:An [[argument]] or [[argument form|inference patterns]] that misleads its users or listeners into overestimating the [[strength|strength of argument]] of support being presented for the [[conclusion]].
//Note//: Philosophers may occasionally claim to discover and diagnose a very particular [[fallacy]] in another philosopher's reasoning, sometimes claiming even that an entire philosophical //position// is fallacious (though strictly speaking, only patterns of reasoning exhibit fallacies). Thus, what counts as a [[fallacy]] is contestable.
<$macrocall
$name="toc-tabbed-internal-nav"
tag="fallacy"
selectedTiddler="$:/temp/toc/fallacy/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
//See also// [[fallacies reference sheet]]
|!Formal fallacies:|[[affirming the consequent]] and [[denying the antecedent]]|
|!Informal fallacies:|[[ad hominem]], [[equivocation]], [[post hoc]], [[false dilemma]] (including [[slippery slope]] and [[straw man]]), [[appeal to authority]], [[appeal to emotion]], [[appeal to ignorance]], [[circular reasoning]], [[non-sequitur]], [[begging the question]]...|
<<tabs "[tag[fallacy]]" template:"tabtemplate">>
: recognition of [[epistemic|epistemology]] limitations, a concern not to be overconfident with one's judgments
.family-tree * {margin: 0; padding: 0;
}
.family-tree ul {
padding-top: 20px; position: relative;
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
display: flex;
xxflex-wrap: nowrap;
}
.family-tree li {
float: left; text-align: center;
list-style-type: none;
position: relative;
padding: 20px 5px 0 5px;
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
}
/*We will use ::before and ::after to draw the connectors*/
.family-tree li::before, .family-tree li::after{
content: '';
position: absolute; top: 0; right: 50%;
border-top: 1px solid #ccc;
width: 50%; height: 20px;
}
.family-tree li::after{
right: auto; left: 50%;
border-left: 1px solid #ccc;
}
/*We need to remove left-right connectors from elements without any siblings*/
.family-tree li:only-child::after, .family-tree li:only-child::before {
display: none;
}
/*Remove space from the top of single children*/
.family-tree li:only-child{ padding-top: 0;}
/*Remove left connector from first child and
right connector from last child*/
.family-tree li:first-child::before, .family-tree li:last-child::after{
border: 0 none;
}
/*Adding back the vertical connector to the last nodes*/
.family-tree li:last-child::before{
border-right: 1px solid #ccc;
border-radius: 0 5px 0 0;
-webkit-border-radius: 0 5px 0 0;
-moz-border-radius: 0 5px 0 0;
}
.family-tree li:first-child::after{
border-radius: 5px 0 0 0;
-webkit-border-radius: 5px 0 0 0;
-moz-border-radius: 5px 0 0 0;
}
/*Time to add downward connectors from parents*/
.family-tree ul ul::before{
content: '';
position: absolute; top: 0; left: 50%;
border-left: 1px solid #ccc;
width: 0; height: 20px;
}
.family-tree li a {
border: 1px solid #ccc;
padding: 5px 10px;
xtext-decoration: none;
color: #666;
font-family: arial, verdana, tahoma;
font-size: 11px;
display: inline-block;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
}
/*Time for some hover effects*/
/*We will apply the hover effect the the lineage of the element also*/
.family-tree li a:hover, .family-tree li a:hover+ul li a {
background: #c8e4f8; color: #000; border: 1px solid #94a0b4;
}
/*Connector styles on hover*/
.family-tree li a:hover+ul li::after,
.family-tree li a:hover+ul li::before,
.family-tree li a:hover+ul::before,
.family-tree li a:hover+ul ul::before{
border-color: #94a0b4;
}
Individual essays (1200-1500 words, excluding block quotes and footnotes) are due at or around the last day of classes [unless you've communicated directly with me about an extension] (see [[syllabus]]); ''previews'' should be submitted by end of [[Unit E]] at the same forum.
<$details class="" summary="General overview of assignment">
This longer essay is a chance to [[explore a problem|problem-driven writing]] in ethics or moral philosophy that's especially significant from your own perspective. It's never too early to start exploring possible interests!
Please think of this essay as focused not so much on a [[thesis claim]] but rather on a philosophical [[problem]] or unresolved question. Although a [[thesis claim]] should emerge by the end of your essay-writing process, the most important part of the paper is giving the reader a detailed appreciation of the [[problem]] or difficulty you are considering. (Only in the context of that portrayal do you develop something like a contribution or insight that emerges from your work.)
General notes: For any topic, your project will involve philosophical evaluation in light of relevant theories we have studied. Even if your out-of-class sources do not mention [[utilitarian|utilitarianism]] or [[deontological|deontology]] (or [[virtue|virtue ethics]]) approaches, you should expect to make connections and illustrate how the approaches we’ve studied bear on the issue you’ve chosen.
</$details>
<$details class="" summary="Topic options">
|(a) You may reflect on a [[problem]] related to any of the midterm [[essay prompts]] — making sure to frame your work as [[problem-driven writing]] (rather than summarize-compare-contrast), and broaden your net to include post-midterm authors.|
|(b) You may work on any [[practical ethics]] issue (the ethics of euthanasia, unequal intimate relations, genetic screening, consumption of animal foods, or any other difficult question arising in practice), including at least one essay from beyond the syllabus, and/or any other resources after checking in with me. Please note this is //not// a "research paper" and does not need to include a survey of available work on your theme.|
|(c) If you are particularly interested in some additional problem connected with our class readings, you may pursue it, but should be sure to check in with me to confirm that your project is philosophical in its sources, approach and emphasis.|
|loudtable|k
</$details>
<$details class="" summary="Essay previews">
!!!''Essay Previews''...
are due at moodle's essay topics forum well in advance (by last session of [[Unit E]]).
For the preview, you’ll need:
|(1) A concise statement of the [[problem]] you’re considering, with one paragraph devoted to each of at least two importantly different approaches to the problem.|
|(2) A list of at least two resources (ideally three), including one or two out-of-class texts|
|loudtable|k
</$details>
<$details class="" summary="Writing: polishing and reviewing your work before submitting it">
My expectations for correct and clear [[writing]] are high, and [[citation details]] must be included in the body of your essay (not as a separate document).
The essay is an ideal opportunity to sharpen your writing skills. As always, an academic essay should include full [[citation details]]. (Any standard format is fine, so long as bibliographic information is complete and consistent.)
This would be an ideal time to visit TA [[office hours]], or make an [[appointment|appointments]] with me, if you haven't already!
</$details>
<$details class="" summary="Actually submitting your work">
Please ensure that your [[citation details]] are part of the body of your essay (not on separate document or page), and make sure your document is in MS Word or RTF or other standard editable document format (not PDF).
{{read before uploading or attaching}}
</$details>
AND... here's some further ''FAQ'':
{{final essay faq}}
|!@@color:white;aspect @@|!@@color:white;score (1-4 range) @@|!@@color:white;notes @@|
|Present your perplexity / [[problem]]|<<HB1>> <<HB2>> <<HB3>> <<HB4>>|{{!!yf}}|
|Explanation of existing views / [[exegesis]]|<<HB1>> <<HB2>> <<HB3>> <<HB4>>|{{!!ya}}|
|Develop [[dialogue]], draw out diferences|<<HB1>> <<HB2>> <<HB3>> <<HB4>>|{{!!yc}}|
|Add an insight / alternative / [[amendment|friendly amendment]]|<<HB1>> <<HB2>> <<HB3>> <<HB4>>|{{!!ye}}|
|Look it over: language, linkages, details|<<HB1>> <<HB2>> <<HB3>> <<HB4>>|{{!!yt}}|
|softtable|k
<$details class="success" summary="Q: Can I use the word 'I'?">
A: >facepalm<...<br>
I'm terribly sorry that anyone ever taught you that one of the two shortest words in the language should never appear in academic papers. All of my concerns about first-person language are about the //way// you present first-person thinking... These are addressed below, in the discussion of "what you think"...
</$details>
<$details class="success" summary="Q: Do you want to know what I think?">
A: The paper should share your //thinking// (the process of weighing ideas carefully), but should not focus on asserting your "opinion" (as if to say "and... here's //my// vote").
If your attitude is one that you have had all along, then the [[problem-driven writing]] missed an opportunity to focus on a genuinely difficult and interesting challenge for you. If your insight has emerged in the process of working on the essay, then the //reasons// for that emerging realization are what matter most, and the fact that it's "yours" is not central. See [[agreeing and disagreeing]]
</$details>
<$details class="success" summary="Q: Should I use direct quotes?">
A: Use direct quotes (and cite by page) whenever:
* the author's @@.hly exact words are essential@@ to your discussion (such as a technical definition, detailed argument, or set of criteria), or
* when the author’ phrasing is especially provocative or eloquent or surprising, etc.
For any quote longer than a sentence or so, it's best to @@.hly double-indent the quoted passage@@. For all exact excerpts, specify the page (using [[classic pagination]] for our translated texts) in parentheses.
Except for the conditions above, it's @@.hly usually best to paraphrase@@, in your own words, so that the reader is following your own understanding of the ideas. Still, you should @@.hly specify page citations whenever:
* @@ what you're sharing, from the text, is specific enough or remarkable enough that @@.hly a reader might want to check out the source@@, to confirm the details in the context of the author’s larger work.
In particular, don't ever let someone else's quote "grab the mic" without introduction. Anyone else who speaks, in your paper, needs to have their words properly framed; the reader should always have a sense of what your purpose is in invoking their words.
</$details>
<$details class="success" summary="Q: Should I put my name on the document?">
A: Yes. Although I grade exams anonymously, I've worked too closely with students on these papers to attempt anonymous grading. Meanwhile, an essay file without a name (in the text and on the filename) can be more of a nuisance than you might think! Also see [[read before uploading or attaching]].
</$details>
<$details class="success" summary="Q: Should I add a works cited page?">
A: You absolutely need a ''works cited list'' (or footnotes that include all the bibliographic info), which should include info [[even for the texts on our syllabus|citation details]]. <br>However, the list should appear right at the end of the document itself, ''not as a separate document'', nor even as a separate ''page''.</$details>
<$details class="success" summary="Q: Should I submit a PDF?">
A: Please, no. They create nightmares for efficient printing and commenting. Essays should be submitted in some kind of current word-processing document form. ALSO, the text of your essay should be pasted into the body of your moodle post. That way, there's no worry about whether a corrupt document or other technical glitch will get in the way of having your work get to me.
</$details>
<$details class="success" summary="Q: How will you evaluate my essay?">
A: Take a look at this rubric:
{{final essay evaluation}}
</$details>
For the final exam essay, you may choose ANY of the theme-clusters below.
<$details open="yes" summary="Regardless of your choice, consider:">
* How do our authors talk about these themes? Discuss ''at least four texts'' from our syllabus, mixing pre-midterm and post-midterm authors. (Not all authors need to receive equal attention in your discussion; at least two discussions should include some depth and nuance.)
* Attention to any important differences between the concepts in your cluster, and/or how different authors might interpret / explain the "same" concept differently.
An excellent essay will also incorporate:
* At least one ''surprise'' inclusion beyond the initial four choices (an author who might not come obviously to mind for the theme, but who can be read as relevant in an interesting way)
* Connective insights: Beyond a stack of paragraphs (one per author/text), add depth to your transitions where there are interesting points of comparison or contrast.
* ''Multiple interpretations'' (With at least one author, contrast an "obvious" reading against a different way of reading the author's handling of your theme.)
* ''Evaluative commentary'': Draw attention to strong points and weak points along the way, or make an original suggestion as to how these themes might best be understood. (This is not quite the same as: explain other views and then "express an opinion"; help your reader appreciate the concerns you bring to the issue.)
* Skillful inclusion of ''[[vocabulary|vocabulary overview]]'' from our various sessions. (Please don't "force" a word where it's a stretch or where you are not confident about its meaning; but do consider which concepts are appropriately mentioned along the way.)
</$details>
!!!Spring 2021 final essay theme-clusters:
# Ethics as human and/or beyond-human
# Moral progress; moral growth
# Alienation; hyper-separation; bad faith
# Emotion, relationships, perceptiveness, creativity
# Moral demandingness, difficult duties, rigor
# Moral luck, privilege, systemic injustice
# Happiness, well-being, quality of life
Word-limit: 1000 words
Submit your essay, along with your custom multichoices answers, at this google forms link:
https://forms.gle/mcAjnSarPz4qPByN7
Our final exam time for PHIL/ENVS212 will be posted by the registrar. The final exam will be just like the midterm in structure. The multi-choices section is ''//not// cumulative''; it includes 12 multi-choice questions (one question per post-midterm session). The essay portion, however, will require synthesizing ideas across both halves of the semester.
<$macrocall
$name="toc-tabbed-external-nav"
tag="final exam"
selectedTiddler="$:/temp/toc/finex/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing.</p>"
/>
<$details summary="Please note the details below pertain to Spring 2020 only">
Choose three or four accounts we have read this semester (including at least one from the pre-midterm units). Be sure to consider <mark>[[multiple interpretations]] of our texts </mark> along the way, make connections and illuminating comparisons, and incorporate some [[evaluative commentary]]:
<$details class="success" summary="Extending or amending moral theories">
How might a moral-theoretical framework be [[extended or amended|friendly amendment]] to address some domain or issue that had not been acknowledged (or which had been actively excluded) from the theory's initial formulation? (Ideally, discuss the //same// issue for all of your theories, such as concern for the non-human world, or acknowledging cultural difference). What are the strengths and weaknesses of how this theory might be extended?
</$details>
<$details class="success" summary="Discussing the demandingness of ethics">
Consider the problem of [[moral demandingness]]. How much does each of your chosen texts emphasize the ways in which morality requires efforts that may be uncomfortable, psychologically difficult, or pervasively challenging in everyday life? Do these texts try to give an account of how we can become [[motivated|moral motivation]] to meet these demands? What are the strengths and weaknesses of these ways of handling of moral demandingness?
</$details>
<$details class="success" summary="Acknowledging and interacting across differences">
What stance do our texts take toward how we handle profound differences in moral life? Do they directly address (or even embrace) arguments for moral [[relativism]]? If they resist relativism, how do they engage in [[philosophical diplomacy]] with relativist challenges? What are the strengths and weaknesses of their suggestions about how we recognize and address differences?
</$details>
</$details>
Review the [[final exam essay choices (spring 2020)]], and then complete the essay as follows:
# @@float:right; {{$:/core/images/timestamp-on}}@@Set a timer for __''120 minutes'' with 15-minute warning__. Note your ''start'' time and ''end'' time at top of document, and your theme selection, but @@.tcr //''__not your name__''//.@@ (You need not use the whole time, but may not use more than 120 minutes.)
# @@float:right; {{$:/core/images/locked-padlock}}@@__''Sequester yourself''__ with a word-processing program, but no other open windows, and no active internet access.
#* Ensure that texts, notes, conversation and online resources (etc.) are not available to you while you write. Your writing should be entirely based on what you have learned through study, and the process should be analogous to the hand-written work of generating an exam essay in the classroom exam environment.
#* ''@@color: green; OK@@'': simple ''spell-check'' functions and cut/paste editing features
#* ''@@.tcr NOT OK@@'': ''grammarly''-type software, ''dictionary'', thesaurus, or other reference tools.
# @@float:right; {{$:/core/images/permalink-button}}@@''Limit'' to __''[[1200 words|word count tool]]''__, trimming your essay, as needed, //before// the end of your writing interval (use your 15-minute warning).
# At top of your essay, write out your ''Wes ID'', the ''Honor Pledge'' "No Aid, No Violation", the current date and ''start-time & end-time'', plus your essay ''topic choice'', but @@.tcr ''__NOT your name__''@@ .
# @@float:right; {{$:/core/images/file}}@@''Paste'' your essay (with info at top) to the exam essay area at moodle. __''Save''__ your document as a backup.
# ''Honor Pledge'': See "submission statement" details at moodle (Moodle's version would make the Honor Pledge inside your document redundant, but I'm confirming whether the moodle submission statement version works properly. Please confirm the submission statement if it's available.)
|>|!Tues May _ _ _ X:XX pm - X:XXpm Wes ID #876543 |
|PHIL212 exam essay on TOPIC|//"No Aid, No Violation"//|
| @@.hlw - @@|<|
|[up to 1000 words on the topic, typed out|<|
|without reference to any notes or aids|<|
|using time interval up to 2 hours,|<|
|... or as adjusted through ODS accommodations]|<|
|indexcard|k
<$details summary="Note, information below was for spring 2020 only">
!!Officially, our exam slot is Wednesday May 13, 2-5pm.
If you wish to complete the exam at some other point during final exam week, please contact me to confirm.
!!Components of the final exam for spring 2020:
|!multi-choices|(roughly same question as for each [[post-midterm session|spring 2020 opening questions]], <br>Question will be the same *regardless* of group results.<br>Further logistics still being determined...|
|!essay|Take-home style (of course!)... <br> Each student can choose among three themes, available in advance. <br>(integrate at least one pre-midterm text, make sure to include comparative, interpretive, and evaluative elements)|
|!extra credit|vocabulary / skills / concepts, details TBA |
|alternating-rows|k
</$details>
EXAM INFO OVERVIEW:
|!Exam component:|!Multichoices|!essay|!extra credit|
|how many:|''Ten'' (One question for each of our sessions through Noddings)|''One'' (open to student choice from [[final essay menu spring 2021]])|TBD|
|resources:|open book<br>open ''notes''@@background-color:yellow; *@@<br>no access to communication or ''online resources''@@background-color:yellow; *@@|open book<br>open ''notes''@@background-color:yellow; *@@<br>no access to communication, ''online resources''@@background-color:yellow; *@@, or any drafts prepared in advance<br>1000-word limit|~|
|scoring:|50% of exam score|50% of exam score|~|
|softtable|k
<<hspace 0em>>@@background-color:yellow; *@@__"Notes"__ means //your// notes — what you've written, in your own words (by hand in notebooks, or by typing in a note-taking document), to help you prepare for sessions, absorb ideas from class sessions, and/or review and study prior to the exam. <br>@@background-color:yellow; *@@ __"Online resources"__ must be understood to include ''this website'' (and every other website). Websites, online resources, and copies thereof ''should NOT be accessed during the exam''. <br><br>To be clear: Access, during the exam, to ''downloaded materials'', ''zoom recordings'' from class, and/or ''bulk copy-pasted text'' from other resources besides the readings themselves (even if that downloading and/or copying took place prior to the exam, obviously), ''contravene the honor code''; they would entirely defeat the expectation that the exam reflects your own process of study and review.
(Extra credit option to be determined.)
Thursday May 16, 9am – noon at Fisk208 (our usual classroom)
//Note: Fresh exam question prompts will be posted here by Monday May 13, and will also be available at the TA review session Sunday night (May 12)//
//Note:// this chart is provided for reference only, and all questions are subject to corrections, edits, and other reasonable modifications. (Please do let me know if you notice any errors.)
|date|!in-class question:|!fresh exam question theme:|
|3/25|Mill’s first two chapters often offer a more or less direct contrast against Kantian ideals, claiming…|John Stuart Mill warns readers against certain misunderstandings of utilitarianism, such as…|
|3/27|As an emprically-oriented thinker, Mill confronts the question how people can in practice take the general happiness seriously as a moral standard; and he claims…|In chapters 3 and 4 of Utilitarianism, Mill paints a picture of human progress according to which…|
|4/1|Mill distinguishes so-called “perfect” and “imperfect” duties, about which he claims (or implies) …|Suppose you are a doctor who is in a position to secretly save four lives (those desperately awaiting transplants) by taking the life of one terminally-ill and friendless petty criminal with several healthy organs. Mill would comment that…|
|4/3|In discussing animal welfarist views (such as Singer’s and Regan’s), Rawles points out…|Kate Rawles considers animal-welfare and conservationist stances toward non-human beings. Despite the fact that they come into tension, she points out some important similarities between them…|
|4/8|Marx’s philosophical stance has been called “materialism” — specifically a dialectical and historical materialism. According to this form of materialism…|In making his radical claim that morality is merely a form of ideology, Marx is laying out the groundwork for an argument that also claims that…|
|4/10|Nietzsche distinguishes two archetypes of moral attitudes: “master-morality” and “slave-morality.” His comments on these suggest…|Nietzsche’s account of morality includes some ideas that overlap with premises from various other thinkers, such as…|
|4/15|In The Ethics of Ambiguity Simone de Beauvoir offers an account of freedom according to which…|Beauvoir’s existentialist ethics is critical of many religious claims, but not all. She would argue…|
|4/17|Val Plumwood argues for a position she describes as an “enriched materialism” and as a “philosophical animism,” according to which…|Plumwood reflects on the origins and effects of dualistic philosophies. On this topic, she argues that…|
|4/22|Kohlberg (in “The Child as Moral Philosopher”) offers an account of moral education according to which…|Kohlberg sorted interviewees’ patterns of moral reasoning into three levels of moral development — pre-conventional, conventional, and post-conventional. Regarding the “post-conventional” level, Kohlberg claims…|
|4/24|Noddings develops an account of “meeting the other morally,” suggesting that morality involves cultivating an ideal of ourselves as “one-caring.” In developing this ideal, Noddings claims…|Noddings’ moral ideal differs from Kant’s in many ways. Unlike Kant, …|
|4/29|Dewey warns us against various habitual ways of drawing distinctions in moral philosophy and educational theory. For example, he is critical of how theorists tend to oppose…|Dewey, like Kohlberg, examines morality in the context of education and psychological development. Yet some contrasts between Dewey and Kohlberg include…|
|5/1|Jeff McMahan considers widely accepted accounts of the difference between the rightness or justice of a war (jus ad bellum) and the rightness or justness of particular actions taken in a war (jus in bellum). Considering the story of Frank Hartzell, he would say:…|In response to McMahan’s argument about the ethics of killing in war, other philosophers we have read might comment as follows…|
|5/6|Robin Wall Kimmerer, informed by both indigenous Potawatomi teachings and scientific research findings, offers an account of gratitude and reciprocity in our relation to plants. In comparing her account to other theories we have studied, we might point out…|Kimmerer attributes various attitudes to plants, and to non-human animals, that would meet with skepticism in the context of Western science. About this indigenous perspective from which she writes, Kimmerer would say… |
!!According to Riz, below should be enough (but my google fonts are displaying only as long as tiddler with embed code is active...
<<< https://ibnishak.github.io/Tesseract/UI/index.html#How%20to%20use%20google%20fonts%20in%20TW5
Go to https://fonts.google.com/
Find a font you like and click on the + button on its top
Right now on the bottom of your screen, there will be a "1 Family Selected" Notification. Click on it.
From the box that opens, copy the standard embed code eg: <link href="https://fonts.googleapis.com/css?family=Fira+Sans+Extra+Condensed" rel="stylesheet">
in your TW, create a tiddler and paste that code. Now tag the tiddler "$:/tags/RawMarkup"
Done. Now you can use that font in your stylesheets using font-family property. eg: font-family: 'Fira Sans Extra Condensed', sans-serif;
<<<
!! Stephen Teacher Tests adds this:
<<< http://stephenteachertests.tiddlyspot.com/#Font
Total Font Change
After step 3 above put your chosen font name at the front of the list in the Control Panel/ Appearance tab/ Font family.
<<<
[[Food Sovereignty, Justice, and Indigenous Peoples|https://www.dropbox.com/s/7n7mb5hzbcf0hps/Food_Sovereignty_Justice_and_Indigenous.pdf?dl=0]]
[[Gruen and Jones, Veganism as Aspiration|https://www.dropbox.com/s/5mk00vl373hamhv/Veganism_as_an_Aspiration.pdf?dl=0]]
<<<.dark
The moral ought is, therefore, a necessary would insofar as he is a member of the intelligible world"
<<<Kant, //GMM// Ak 455
<<<.moo
While deliberating choices of actions, what happens when the imperative is not an option. Consider a scenario, in which a known murderer asks you via telephone to confirm your location (adding anything other than a negative is affirmative). Your answer must violate one of the two perfect duties; to give yourself up is passive suicide, whereas to lie goes against your perfect duty to others. Kant seems to sidestep the question of placing an order to duties (self vs. others). Moreover, it seems that Kant thinks we can always act morally. Of course this scenario is quite fabricated but it does not seem too difficult to imagine that there are many examples where no categorical imperative can be applied.(119 words)
<<<
[img class=img-right width=60% [https://www.dropbox.com/s/pu571kce89bjvki/moodle_formatting%20snapshot.jpg?raw=1]] Please make sure you paste *plain text* into the moodle forum (so it doesn't retain irrelevant formatting from programs like MS Word). To indent the excerpt, you can access advanced formatting tools with the button at upper left corner.
[[Beauvoir]] describes <br>three patterns of [[bad faith]]] — <br>
three ways of ''failing to be authentic'':
<$details class="warning" summary="the Serious">
<<<.dark
The serious man gets rid of his freedom by claiming to subordinate it to values which would be unconditioned. He imagines that the accession to these values likewise permanently confers value upon himself. Shielded with "rights," he fulfills himself as a being who is escaping from the stress of existence. The serious is not defined by the nature of the ends pursued. A frivolous lady of fashion can have this mentality of the serious as well as an engineer. There is the Serious from the moment that freedom denies itself to the advantage of ends which one claims are absolute.
<<< Beauvoir, "Ethics of Ambiguity" p. 266 (in Guignon, //The Good Life//)
</$details>
<$details class="warning" summary="the Nihilistic">
<<<.dark
Conscious of being unable to be anything, man then decides to be nothing. We shall call this attitude nihilistic: The nihilist is close to the spirit of seriousness, for instead of realizing his negativity as a living movement, he conceives his annihilation in a substantial way. He wants to be nothing, and this nothing that he dreams of is still another sort of being, the exact Hegelian antithesis of being, a stationary datum. Nihilism is disappointed seriousness which has turned back upon itself. A choice of this kind is not encountered among those who, feeling the joy of existence, assume its gratuity.
The nihilist attitude manifests a certain truth. In this attitude one experiences the ambiguity of the human condition. But the mistake is that it defines man not as the positive existence of a lack, but as a lack at the heart of existence, whereas the truth is that existence is not a lack as such. And if freedom is experienced in this case in the form of rejection, it is not genuinely fulfilled. The nihilist is right in thinking that the world possesses no justification and that he himself is nothing. But he forgets that it is up t_o him to justify the world and to make himself exist validly.
<<<
</$details>
<$details class="warning" summary="the Passionate">
<<<.dark
What characterizes the passionate man is that he sets up the object as an absolute, not, like the serious man, as a thing detached from himself, but as a thing disclosed oy his subjectivity.
Nothing exists outside of his stubborn project; therefore nothing can induce him to modify his choices. And having involved his whole life with an external object which can continually escape him, he tragically feels his dependence. Even if it does not definitely disappear, the object never gives itself. The passionate man makes himself a lack of being not that there might be being, but in order to be. And he remains at a distance; he is never fulfilled. That is why though the passionate man inspires a certain admiration, he also inspires a kind of horror at the same time. One admires the pride of a subjectivity which chooses its end without bending itself to any foreign .law and the precious brilliance of the object revealed by the force of this assertion. But one also considers the solitude in which this subjectivity encloses itself as injurious.
<<<
</$details>
It may help to imagine examples of how these attitudes may affect familiar choices:
<$details class="summary" summary="How might these three appear in relation to PARENTING?">
|!Serious|"Parenting is part of our nature"<br>"Parenting is part of the life God wants for us."|
|!Nihilistic|"There's nothing inherently valuable about parenting -- it's just making another batch of human beings, who have no purpose in the first place."|
|!Passionate|"I could never imagine myself not parenting; every time I see a baby I just want another one!"|
</$details>
<$details class="" summary="How might these three appear around MUSICAL activity?">
|!Serious|"Music is the culmination of human culture"<br>"I was brought up to be a musician."|
|!Nihilistic|"Music might make people feel good, but it's just frequency vibrations and it doesn't really matter; people are deluded if they think it does."|
|!Passionate|"The music just comes through me, and I just do what my inspiration tells me to do."|
</$details>
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
: an account of action (usually reserved for human action) on which a person's choices should not be seen as fully [[determined|determinism]] by causal forces (such as physiological, neurological, and environmental conditions), or by other factors outside of that person's own control; the capacity for an agent to exercise genuine [[autonomy]].
<hr>
//See also// [[determinism and freedom doctrines]]
[img width=90% class=img-right [https://www.dropbox.com/s/ed8ypn5w16kvuj0/Screen%20Shot%202013-10-10%20at%2010.08.15.png?raw=1]]
a suggested modification of an [[argument]], carried out in the spirit of the [[principle of charity]] (or charitable interpretation), whereby one preserves most of the point of the view under discussion, but with some crucial qualification or adjustment designed to make the [[argument]] more acceptable, especially in light of some [[potential objections|objection]] the author might not have [[anticipated|anticipated objection]].
<hr>
Example: [[Korsgaard]]'s essay (on Kant's rigorism about lying) offers a [[friendly amendment]] to [[Kant]]'s extremely rigorous condemnation of lying. Korsgaard offers a softer version of Kant's position, while seeking to preserve both an appreciation for the reasons behind Kant's own strict view, and a way of assessing potential exceptions without giving way to a bluntly [[consequentialist|consequentialism]] view on the potential permissibility of lying.
;Related to the skill of [[charitable interpretation]] is an interest in considering __''[[friendly amendments|friendly amendment]]''__ to a view:
:Keep what's most important...
::Aristotle's ''general account'' of [[virtues|virtue]] (as habituated character traits that guide our actions toward a wise mean between extremes)
:... but tweak the details
::Aristotle's ''particular claims'' about what's virtuous, examples that seem to reflect troubling prejudices.
# Aristotle locates the virtues in certain ways that clearly reflect his culture...
#* To understand, say, courage: should we describe the mean differently
# Aristotle emphasizes the importance of certain kinds of difficult areas of choice ("spheres of life")...
#* Is Aristotle overly concerned with certain domains of life, which are not really so essential?
#* Does Aristotle overlook the importance of certain domains of human choice?
Ways of developing these thoughts amount to [[friendly amendments|friendly amendment]] to Aristotle's ethics.
These are all questions that [[Martha Nussbaum|Nussbaum]] takes up (in [[our reading for next week|Nussbaum, Non-Relative Virtues]])...
[[Aristotle]] is one of the only canonical philosophers who emphasizes the centrality of friendship in a well-lived life.
But what is "friendship" here? As with many concepts in Aristotle's work, our [[translation|translation_notes]] of the Greek //[[philia]]// as "friendship" can be misleading. It implies a bond or relationship, but includes family and lovers as well as what we call "friends" (What all these have in common is something like the overlapping of our lives and some kind of reciprocal attention and appreciation.)
!!!! Kinds of friendship:
Note Aristotle's way of distinguishing something “without qualification” vs. something that is so only //in some way//, or //under some condition//. (e.g. “the good” vs. “the good for us”)
There’s friendship without qualification, and friendship which is limited in some way.
[pleasure] 1156a32: "The cause of friendship between young people seems to be pleasure... But as they grow [what they find] pleasant changes too. Hence they are quick to become friends, and quick to stop."
usefulness:
1156a20: "What is useful does not remain the same, but is different at different times... when the cause of their being friends is removed, the friendship is dissolved too."
true friendship
1155b30: “Friendship demands that we wish a friend good things for his sake”… ''Only the good can be friends'' without qualification. Notice this is an important attraction within the process of becoming virtuous – only a virtuous person can experience a true friendship, which is essential to eudaimonia.
1155a27: “no need for justice when there is friendship…” some communitarians claim a great emphasis on justice suggests lack of concern for particular human relationships.
From the initial observation of tension between “birds of a feather…” and “opposites attract”, we are motivated to ask after what underlies friendship.
It requires trust – hence time. If there’s not yet “so much salt tasted together” it is mere wish for friendship
!!!Puzzles:
One cannot have true friendships without virtue. What are Aristotle’s reasons (immunity to slander 1157a20), and are they convincing?
1159a5: Aristotle raises a puzzle: do you wish for your friend NOT to have the best, since such achievement might dissolve the friendship? What a challenging observation! Many apparent friendships cannot sustain themselves past the great successes of one person. Is this true of the best friendships? Does Aristotle resolve that puzzle?
1159a20: puzzle: Is it suspicious that we honor our friends? Are we hoping for honor in return?
In Book IX, Aristotle claims that the good person is related to his friend //as to himself// (for his friend is //another self//).
What is the ultimate answer to the suggestion that “opposites attract”?
1159b20: contrary does not seek contrary as such, but only incidentally; rather the desire is for the intermediate.
1162b: render what is proportionate, in unequal friendships (this refers back to the justice sections, which we’ve left out…)
1164b25: should one prioritize the friend, or the good person: puzzle about the role of PARTIALITY in ethics…
1165b1: what to do about changes in your friend’s character? Should one pretend to love on the basis of character?
1169a10: the good person should be a self-lover. How does Aristotle square this with common denigration of selfishness?
: a [[distinction]] often presented as central to the evaluation of moral agents, whereby some actions merely happen to resemble what morality requires, while others demonstrate the ideal in a reliable and robust way.
<hr>
[[Aristotle]] argues that the virtuous person embodies wise actions in a continuous and integrated way (where appetites, perception, habits, and pleasures align fully), while others may manage to perform actions that are similar to the virtuous person, but which show either mere [[continence]] (because they involve a struggle with contrary appetites and habits), or something like accident (because despite doing "the right thing," the agent has not actually been recognizing or responding to the right kinds of considerations).
[[Kant]] argues that acting //from// [[duty]] has moral worth, while acting merely //in accord with// [[duty]] — if the motivation is in fact unrelated to morality — lacks moral worth. Since we cannot easily know people's motives, we are rarely in a position to judge someone who does the right thing for the wrong reasons, but we must recognize that what is moral in a good will is a kind of respect for duty that would override other motives such as convenience, pleasure, reputation, etc.
[[Philosophize This Podcast|http://philosophizethis.org/?powerpress_pinw=1798-podcast]] ([[transcript here|http://philosophizethis.org/episode-106-transcript/]])
https://aeon.co/videos/im-against-all-forms-of-oppression-simone-de-beauvoir-in-her-own-words-from-1959
<iframe width="560" height="315" src="https://www.youtube.com/embed/SFRTl_9CbFU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
:a theoretical approach to problems of combined action, where multiple agents' choices combine to affect outcomes, and those outcomes have different relative values for different individuals.
<hr>
The most famous example of a problem in game theory is called the [[prisoner's dilemma]].
[img[microessay_walkthrough|https://www.dropbox.com/s/nbr8qh279zptfip/microessay%20walkthrough.pdf?raw=1]]
: (in [[Kant]]ian ethics) faculty of choice (will) that adheres to genuinely rule-like principles — a commitment to choices governed by [[duty]], along lines made explicit in [[Kant]]'s [[categorical imperative]].
<br>
contrast against: [[hypocrisy and violations of duty]]
<br>see also: [[prohairesis]]
Semester grades are determined by the following components:
<$details summary="visualize as pie chart">
{{grading pie}}
</$details>
|!assignment|!value|!notes|
|[[participation]]|10%|In-class interaction is essential, and one's overall attendance rate limits the maximum score|
|[[microessays]]|30%|Up to 5 points for each unit. Extra micro-essays, and rewrites, are possible.|
|[[midterm]]|20%|multi-choices section, plus essay synthesizing [[Unit A]], [[Unit B]], and [[Unit C]]|
|[[final exam]]|20%|multi-choices section, plus essay synthesizing all [[units]].|
|[[final essay]]|20%|topics to be individually developed and based on student interests.|
<style>
.pie-chart {
background:
radial-gradient(
circle closest-side,
transparent 61%,
white 0
),
conic-gradient(
#ebbf00 0,
#ebbf00 30%,
#00b1ea 0,
#00b1ea 50%,
#0084f3 0,
#0084f3 70%,
#00e400 0,
#00e400 80%,
#ff0073 0,
#ff0073 100%
);
position: relative;
width: 500px;
min-height: 350px;
margin: 0;
outline: 1px solid #ccc;
}
.pie-chart h2 {
position: absolute;
margin: 1rem;
}
.pie-chart cite {
position: absolute;
bottom: 0;
font-size: 80%;
padding: 1rem;
color: gray;
}
.pie-chart figcaption {
position: absolute;
bottom: 1em;
right: 1em;
font-size: smaller;
text-align: right;
}
.pie-chart span:after {
display: inline-block;
content: "";
width: 0.8em;
height: 0.8em;
margin-left: 0.4em;
height: 0.8em;
border-radius: 0.2em;
background: currentColor;
}
</style>
<figure class="pie-chart">
<h2>Components of final grade</h2>
<figcaption>
Microessays 30%<span style="color:#ebbf00"></span><br>
midterm exam 20%<span style="color:#00b1ea"></span><br>
final exam 20%<span style="color:#0084f3"></span><br>
Participation 10%<span style="color:#00e400"></span><br>
final essay 20%<span style="color:#ff0073"></span>
</figcaption>
<cite>PHIL/ENVS 212</cite>
</figure>
: "actions are right in proportion as they tend to promote [[happiness]], wrong as they tend to produce the reverse of [[happiness]]" ([[Mill, Utilitarianism]], Chapter 2)
[img[Hume passage|https://www.dropbox.com/s/1gi2ttrgaxsdtwm/Screenshot%202017-09-26%2006.19.58.png?raw=1]]
[img[Hume passage|https://www.dropbox.com/s/jfjt4eosv48751d/Screenshot%202017-09-26%2006.46.45.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/tqv0s0wx8lzfi2a/Screenshot%202017-09-26%2006.42.48.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/o7ibvv68undkktb/Screenshot%202017-09-26%2006.43.57.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/qcfi48ynbu7xxyl/Screenshot%202017-09-26%2006.44.40.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/dragjm7bl6b0n95/Screenshot%202017-09-26%2006.45.21.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/e2c2p8hr6ppvkxq/Screenshot%202017-09-26%2006.47.45.png?dl=1]]
[img(100%,100%)[Hume passage|https://www.dropbox.com/s/y0xs22ansgyfrg1/Screenshot%202017-09-26%2006.52.19.png?dl=1]]
📎
handouts will generally be available here, ordered roughly according to their place in the semester calendar...
<$macrocall
$name="toc-tabbed-internal-nav"
tag="handouts"
selectedTiddler="$:/temp/toc/handouts/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
: (English term) satisfaction, well-being, or positive subjective experience [but see full discussion below]
<hr>
The term //'happiness'// in English translates various ideas across languages and traditions. (The Middle English word "hap/happe" suggested fortunate or unpredictable events, connotations that still appear more directly in "happenstance" and "happenings".)
Conflations among different ideas that are associated with this word "happiness" may lead to serious misunderstandings and confusions.
In particular, many translators choose 'happiness' to translate [[eudaimonia]], the Greek word that refers more holistically to a successful and well-lived life, as measured against the functional standard for the corresponding (usually human) species. This concept is quite different from the subjectively-assessed notion of happiness central to [[utilitarian|utilitarianism]] ethics. It differs, too, from the Stoic ideal of [[ataraxia]].
[img[happiness|http://espringer.web.wesleyan.edu/images/happiness.jpg]]
: (in Kantian ethics) governed or directed by forces or events outside of oneself; lacking in self-governance or [[autonomy]].
[img width=50% class=img-right [highlight only main parts|https://www.dropbox.com/s/o7kvpyr5oyzmt1m/arist_chapter_two_highlighting.jpg?raw=1]]
<br> @@.hl Highlight only the skeleton@@ of the clear claims you need. <br><br> For example, you may use highlighting to connect the key grammatical "bones" of a long sentence. <br> <br> Make sure highlighting covers no more than 10-20% of your text.
: an account of reality that gives historical time a central role in determining the character of reality, insisting that not only specific [[contingent facts|contingency]] but also kinds of beings and possible forms of reality emerge over time.
: the conviction that human beings must be understood as imbued with some important feature (such as morality, [[rationality|rationalism]], [[free will]], divine purpose, culture, auto-poesis, etc.) that distinguishes humans from the rest of nature, and from other [[animal species|animals]]
!!! Violations of duty have the structure of HYPOCRISY, for Kant:
>If we now attend to ourselves in any transgression of a duty, we find that ''we actually do not will that our maxim should become a universal law'' — because this is impossible for us — but ''rather'' that ''the opposite of this maxim'' should remain a law universally.(424)
I depend upon others' doing X, ''but'' I //don't// intend to do X.
(or: I depend upon others' //not// doing X, ''but'' I intend to do X anyway.)
: (Greek term) a claim that someone presents as plausible, open to being tested by [[cross-examination|elenchus]], experiment, or future experience.
: (in Kantian ethics) an imperative that applies to an agent only in virtue of some contingent background condition. (These imperatives are non-moral.)
<hr>
Contrast against: [[categorical imperative]].
Kinds of [[hypothetical imperative]]: imperatives of skill (technique/know-how), and "counsels of prudence" (norms that tend to promote a person's self-interest over time).
Credit to: https://fontawesome.com/license
https://fontawesome.com/icons?d=gallery&m=free
<hr>
<i class="fas fa-pencil-alt"></i>
<i class="fas fa-exclamation-triangle"></i>
<i class="fas fa-file-image"></i>
<i class="fas fa-flag"></i>
<i class="fas fa-folder-open"></i>
{{thumbs-up}}
<hr>
|@@color:red;<<fa-lbadge glyph:"fas fa-book-open" fam:"fab">>@@|@@color:green;<<fa-lbadge glyph:"far fa-check-circle" fam:"fab">>@@|<<fa-lbadge glyph:"fas fa-bookmark" fam:"fab">>|<<fa-lbadge glyph:"fas fa-binoculars" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-bolt" fam:"fab">>|<<fa-lbadge glyph:"fas fa-book" fam:"fab">>|<<fa-lbadge glyph:"fas fa-bullhorn" fam:"fab">>|<<fa-lbadge glyph:"fas fa-bullseye" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-calendar" fam:"fab">>|<<fa-lbadge glyph:"fas fa-calendar-alt" fam:"fab">>|<<fa-lbadge glyph:"fas fa-check-circle" fam:"fab">>|<<fa-lbadge glyph:"fas fa-check-square" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-calendar-check" fam:"fab">>|<<fa-lbadge glyph:"fas fa-clipboard-list" fam:"fab">>|<<fa-lbadge glyph:"fas fa-comment" fam:"fab">>|<<fa-lbadge glyph:"fas fa-comments" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-dropbox" fam:"fab">>|<<fa-lbadge glyph:"fas fa-exclamation-triangle" fam:"fab">>|<<fa-lbadge glyph:"fas fa-file-image" fam:"fab">>|<<fa-lbadge glyph:"fas fa-flag" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-folder-open" fam:"fab">>|<<fa-lbadge glyph:"fas fa-globe-americas" fam:"fab">>|<<fa-lbadge glyph:"fas fa-hammer" fam:"fab">>|<<fa-lbadge glyph:"fas fa-hand-point-right" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-highlighter" fam:"fab">>|<<fa-lbadge glyph:"fas fa-images" fam:"fab">>|<<fa-lbadge glyph:"fas fa-key" fam:"fab">>|<<fa-lbadge glyph:"fas fa-lightbulb" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-list-alt" fam:"fab">>|<<fa-lbadge glyph:"fas fa-marker" fam:"fab">>|<<fa-lbadge glyph:"fas fa-paw" fam:"fab">>|<<fa-lbadge glyph:"fas fa-pause" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-pencil-alt" fam:"fab">>|<<fa-lbadge glyph:"fas fa-pen" fam:"fab">>|<<fa-lbadge glyph:"fas fa-pen-square" fam:"fab">>|<<fa-lbadge glyph:"fas fa-puzzle-piece" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-question-circle" fam:"fab">>|<<fa-lbadge glyph:"fas fa-quote-left" fam:"fab">>|<<fa-lbadge glyph:"fas fa-quote-right" fam:"fab">>|<<fa-lbadge glyph:"fas fa-recycle" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-reply" fam:"fab">>|<<fa-lbadge glyph:"fas fa-shoe-prints" fam:"fab">>|<<fa-lbadge glyph:"fas fa-snowflake" fam:"fab">>|<<fa-lbadge glyph:"fas fa-square-full" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-sticky-note" fam:"fab">>|<<fa-lbadge glyph:"fas fa-tag" fam:"fab">>|<<fa-lbadge glyph:"fas fa-tags" fam:"fab">>|<<fa-lbadge glyph:"fas fa-th-list" fam:"fab">>|
|<<fa-lbadge glyph:"fas fa-trash-alt" fam:"fab">>|<<fa-lbadge glyph:"fas fa-wrench" fam:"fab">>|<<fa-lbadge glyph:"fas fa-youtube" fam:"fab">>|
: a interpretive framework of ideas and claims that serves to support a particular social, political, or economic order, especially when the political implications of those ideas are downplayed or denied.
<<<.fm
Ideal theory, I would contend, is really an ideology, a distortional complex of ideas, values, norms, and beliefs that reflects the nonrepresentative interests and experiences of a small minority.
<<< Mills, Ideal Theory as Ideology, p. 172
Here is an example of using the ListWidget and the TranscludeWidget to show a grid of all system images (ie, tiddlers tagged [[$:/tags/Image]]).
<style>
.my-gallery svg {
width: 6em;
height: 6em;
margin: 1em;
}
</style>
<div class="my-gallery">
<$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]]">
<span title=<<currentTiddler>>>
<$transclude/>
</span>
</$list>
</div>
[img width=40% class=img-right [motovun]]Try to get floating images: This cat is supposed to float right...:
{{$:/images/fa5/solid/thumbs-up}}
[img width=50% class=img-right [...explanation on hover...|https://www.dropbox.com/s/ml0ixtqqrxw7nvn/dualisms.png?raw=1]]
|!Cell1 |!Cell2 |
|Cell3 |Cell3 |
<$macrocall
$name="toc-tabbed-internal-nav"
tag="images"
selectedTiddler="$:/temp/toc/images/selectedTiddler"
unselectedText="<p>Select a title at left. Click the arrow to expand a category.</p>"
missingText="<p>Missing reference.</p>"
/>
: a state of neutrality, or lack of bias and attachment, with respect to persons or situations that are otherwise of equal merit or significance.
''Impartiality'' is a key aspect of wisdom in [[stoic|stoicism]] philosophy, and plays a central role in [[deontological|deontology]] moral theories, such as [[Kant]]'s. Not all [[utilitarian|utilitarianism]] theories require ordinary everyday decisions to take an impartial point of view ([[J S Mill]], for example, does not). Yet [[utilitarianism]] still implies that moral goodness must be understood from an ''impartial'' perspective. [[Bentham]], for example, is famous for the slogan, "Each to count for one, and none for more than one." [[Singer]] stresses the radical implications of ''impartiality'' for the [[demandingness|moral demandingness]] of morality.
Notice that [[J S Mill]] is famous not only for [[Utilitarianism|Mill, Utilitarianism]] (this work in moral theory) but also //On Liberty//, which is a political treatise defending broad rights and freedoms for individuals.
This endorsement of "liberty" prevents Mill from taking an extremely rigorous stance of [[moral demandingness]]. There must be considerable latitude for choices that are simply //acceptable// -- neither mandatory nor forbidden.
Note that not all [[utilitarians|utilitarianism]] follow Mill on this point; many claim that morality requires a radically [[impartial|impartiality]] dedication to reducing suffering and promoting happiness overall.
: A moral obligation characterized by a positive imperative to make efforts of a certain kind, where details are determined by judgment.
<hr>
Generally, perfect duties require considerable judgment as to when and how to fulfil their demands. [[Kant]] discusses giving to charity and developing one's talents as examples of imperfect duties.
//See also// [[perfect duty]]
(especially in Kantian moral psychology): a psychological "leaning" — appetite, desire, or aversion — that plays an everyday causal role in motivating action.
<hr>
Contrast againts: [[duty]]
: (in [[virtue ethics]]) failure to act on one's deliberate resolution or awareness of what is best; inability to control or govern one's responses to appetites or emotions, especially with respect to physical pleasures and pains.
<hr>
Antonym: [[continence]]<br>
Contrast also against: [[brutishness]]
The Greek term [[akrasia]] lacks a neat translation into English. "Incontinence" is a somewhat literal translation: lack of ability to contain or "hold in" one's impulses.
: (in logic, technical) an argument in which evidence for a general claim is built up based on various examples or particular observations. <br> (in logic, more broadly) an argument may be called "inductive" if the [[premises|premise]] provide some support for the conclusion, yet without [[deductively|deductive argument]] supporting it to the point of full [[validity]].
<br>
//Example//:
>Einstein was not perfect;
>Gandhi was not perfect… <hr>
>Therefore, we can expect all human beings, even the most admirable, to have some imperfections
//Contrast against//: [[deductive argument]]
//Note: Technically, no [[inductive argument]] is [[valid|validity]], but an inductive argument may be more or less [[strong|strength of argument]].
: the movement of thought from an [[argument]]’s [[premise]](s) toward its [[conclusion]] (usually referring to a single step in such movement, or to the process in general).
[img[key|https://www.dropbox.com/s/53cleqaef1jd8vn/Screenshot%202014-10-02%2003.01.56.png?raw=1]]
: words and phrases (such as for, since, because; thus, so, therefore) that serve as cues that an [[argument]] is being presented, and which may help us locate [[premises|premise]] and [[conclusions|conclusion]].
<hr>
|!premise indicators|!conclusion indicators|
|''since'' … <br>''for'' … <br> ''because''…<br> ''as''… <br>''The reason is''...|''Therefore''…<br>''thus,''…<br> ''So,''… <br>''Hence,''…<br> ''For this reason''…|
|//Note//: Many of the above words can also occur //without// signaling inference, so looking at context to confirm function is essential|c
: formal structure of an [[inference]] (step of reasoning) abstracted away from its contents, such that an [[argument]]'s [[conclusion]] might be understood as emerging from some reorganization of elements available with the argument's [[premises|premise]].
//Patterns of inference can be represented with variables (for propositions, or for categories), as in://
|^^premise^^| P|
|^^premise^^| P>Q|
|^^conclusion^^| ''∴ Q''|
* [[valid|validity]] patterns in [[propositional logic]]: [[modus ponens]], [[modus tollens]], [[contraposition]], [[disjunctive syllogism]], [[hypothetical syllogism]]
* [[valid|validity]] patterns in [[categorical logic]]: [[Barbara]] and friends
: (in virtue ethics) the vice involving excess of appetite, immoderate desires, or disproportionate interest in bodily pleasures. (also translated as "moderation")
<hr>
Antonym: [[temperance]]<br>
Contrast also against: [[incontinence]] and [[brutishness]]
:the immediate point of an action; what it is that one sets out to do
<hr>
An intention (such as "to drive below the speed limit") can be distinguished from the motive ("... in order to avoid being noticed by police")
One debate among Aristotle scholars:
How much do the virtues "hang together"? Or, how much to believe in the ''unity of the virtues''?
;Certain virtues apparently can't be realized unless one has the full set.
:Justice (in the general sense) and magnanimity (sometimes translated as "greatness of soul") supposedly require having all the virtues together...
;Other virtues that //seem// more specific and independent, such as courage...
@@.triangle-right Can't I be totally ''brave'' while being not at all generous?@@
@@.triangle-left Can I be totally ''generous'' without being at all witty?@@
{{clear-both}}
;In theory, it seems these things are possible...
* A soldier who would bravely cover a grenade to save friends, but who wouldn't share a sandwich?
* A kind neighbor who contributes to others (in the right way, with the right feelings), but who doesn't ever laugh?
How should we read Aristotle [[charitably|charitable interpretation]] on this point?
a speaker in [[dialogue]], generally a person with whom one attempts to give an acceptable account of one's perspective or reasoning.
: a psychological effect of oppression, whereby people learn to internalize negative stereotypes of their own identities, and/or direct counterproductive attitudes toward people similarly situated.
The attempt to understand the significance of someone's speech, writing, or other gestures. In philosophical work, the ability to raise [[objections|objection]] and critical questions must be balanced together with a responsibility to interpret ideas [[charitably|principle of charity]].
[[Empiricists|empiricism]] — like [[Aristotle]] — are attentive to correlations between moral phenomena and ways in which a human being develops at the bodily and neuro-chemical level.
* Jacob's syndrome (47,XYY chromosome pattern) seems to correlate with aggression and crime. [[link|https://www.sciencedirect.com/science/article/pii/S1359178915000348]]
* A surgical intervention for epilepsy correlates with dramatic loss of impulse control. [[link|Radiolab episode notes]]
* A brain injury can affect personality, even while leaving most cognitive abililties unaffected. [[link|https://www.sciencedirect.com/science/article/pii/S0035378718308208]]
* The neural structures correlated with empathy take shape in early phases of child development; these structures have low plasticity later in life. [[link|https://www.nature.com/articles/s41467-019-09927-y]]
;What should we conclude?
:First a caution: Correlation does not establish any clear line of causation!
:Still, a sobering set of patterns emerges:
* A person's character and moral orientation emerge out of their past experiences as well as out of structural and chemical patterns in their nervous system.
So, How do we think about moral responsibility in cases where a person's psychological capacities make [[virtue]] more difficult?
: value that is taken not to rely on how the being in question serves the interests of some other being; value that is not [[extrinsic|extrinsic value]]
<$list filter="[tag[intrinsic vs extrinsic value]sort[modified]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
: words or gestures that mean one thing at face value, while some insiders (or reflective readers and hearers) are expected to recognize a contrary or more complex implication.
<hr>
In philosophical contexts, irony is...
* not simply "saying the opposite of what one means," but is rather a way of inspiring ambivalence and further reflection.
* //distinguished from// sarcasm, which is a cutting tone intended to wound or deter
* //distinguished from// coincidence, confusion, and paradox, which are not forms of communication (We don't say a //fact// "is ironic).
>In the Euthyphro, Socrates openly asks Euthyphro for advice and edification, but Plato's readers recognize that Socrates suspects that Euthyphro has nothing to teach; hence, Socrates' comments to Euthyphro are highly ironic.
: the difference between [[empirical]] facts (what "is") and [[normative|normativity]] claims (what "ought" to be), especially invoked in [[objections|objection]] to [[empiricist|empiricism]] accounts of morality, and/or in [[reply]] to those who worry that [[rigorism]] or [[moral demandingness]] make morality especially difficult to achieve in practice.
|[[Empiricists|empiricism]]...|Moral theorists...|
|focus on studying the world as it ''//is//'':|focus on what ''//should//'' be true.|
|*What patterns do we find?<br>*How does one part of reality (what we observe) help inform us about parts that we don't observe?<br>|* Which actions should be taken?<br>* How should we weigh our various obligations and moral concerns?|
|~|[[Kant]] would say ^ this entails potentially radical critique of what is //in fact// true: <br> "Is" and "Ought" are entirely different attitudes.|
|[[J S Mill]] thinks it's possible to have an [[empiricist|empiricism]] moral theory... how so?|~|
Puzzle:
1. according to Mill's moral principle (Greatest Happiness Principle):
whether something is MORALLY GOOD is basically determined by the extent to which it promotes the general happiness...
2. Yet according to Mill's associationist psychology (the kind of empiricism Mill develops):
whether people act in any specific way is determined by psychological principles...
then...
How can we expect these two to come together as more than coincidence?
In cases where the moral choice is not backed by desire, how can we expect people to embrace morality? Does Mill //expect// people (from a moral point of view) to do what he //cannot expect// them to do (from an empirical point of view)?
Mill’s moral theory is HISTORICAL: Sympathy + social institutions facilitate the right associations
: an aspect of moral value most directly concerned with rightness (in contrast to goodness) and with the formal (rather than consequential) aspects of action.
<<<
Varieties of 'justice' -- "homonymy is close" -- [are] revealed by "number of ways [we speak of] an unjust person"
<<< (1129a32)
|>|>|!FOUR (or five) SENSES OF JUSTICE|
|>|!Complete / general virtue|! Vice, in general|
|>|"whatever produces and maintains happiness and its parts for a political community"(1129 b19)|"The worst person... exercises his vice toward himself ... as well [as toward others] (1130a7)|
|>|!The specific virtue (fairness)|!Specific vice (unfairness)|
|first species:<br>"the distribution of honors or wealth... that can be divided among members of a community" (1130 b32)|second species:<br>"rectification in transactions" (1131a)|"bad action that "we can refer... to no other vice except injustice" (1130 a32)|
|loudtable|k
A@@background-color:green; <<hspace 180px>>@@@@background-color:red; <<hspace 120px>>@@B
A@@background-color:olive; <<hspace 150px>>@@
@@background-color:brown; <<hspace 150px>>@@B
<<<
The judge restores equality, as though a line [ab] had been cut into unequal parts...
<<< (1132a25)
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PC9leGlmOkV4cG9zdXJlVGltZT4KICAgICAgICAgPGV4aWY6Rk51bWJlcj4xMS81PC9leGlmOkZOdW1iZXI+CiAgICAgICAgIDxleGlmOkV4cG9zdXJlUHJvZ3JhbT4yPC9leGlmOkV4cG9zdXJlUHJvZ3JhbT4KICAgICAgICAgPGV4aWY6RGF0ZVRpbWVPcmlnaW5hbD4yMDE3LTAxLTA3VDEzOjI5OjAxPC9leGlmOkRhdGVUaW1lT3JpZ2luYWw+CiAgICAgICAgIDxleGlmOkJyaWdodG5lc3NWYWx1ZT42MTA3LzEyNTk8L2V4aWY6QnJpZ2h0bmVzc1ZhbHVlPgogICAgICAgICA8ZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT4wLzE8L2V4aWY6RXhwb3N1cmVCaWFzVmFsdWU+CiAgICAgICAgIDxleGlmOk1ldGVyaW5nTW9kZT41PC9leGlmOk1ldGVyaW5nTW9kZT4KICAgICAgICAgPGV4aWY6Rm9jYWxMZW5ndGg+ODMvMjA8L2V4aWY6Rm9jYWxMZW5ndGg+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTQxODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xNDE4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6RXhwb3N1cmVNb2RlPjA8L2V4aWY6RXhwb3N1cmVNb2RlPgogICAgICAgICA8ZXhpZjpXaGl0ZUJhbGFuY2U+MDwvZXhpZjpXaGl0ZUJhbGFuY2U+CiAgICAgICAgIDxleGlmOkZvY2FsTGVuZ3RoSW4zNW1tRmlsbT4yOTwvZXhpZjpGb2NhbExlbmd0aEluMzVtbUZpbG0+CiAgICAgICAgIDxleGlmOlNjZW5lQ2FwdHVyZVR5cGU+MDwvZXhpZjpTY2VuZUNhcHR1cmVUeXBlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAcHAFaAAMbJUccAgAAAgACHAI3AAgyMDE3MDEwN//bAEMABwUFBgUEBwYFBggHBwgKEQsKCQkKFQ8QDBEYFRoZGBUYFxseJyEbHSUdFxgiLiIlKCkrLCsaIC8zLyoyJyorKv/bAEMBBwgICgkKFAsLFCocGBwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKv/AABEIA70DlgMBIQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APKBCqPu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
There are dramatic differences among the accounts of moral life that we read this semester, with authors sometimes taking starkly contrary positions on important questions. Though we can read them as giving [[arguments|argument]] against each other, we can also see them as foregrounding different concepts and [[metaphors|metaphor]], and framing their accounts of moral life around these.
<$details summary="One way to envision a web of relations among these...">
[img[ethics_concepts_map|https://www.dropbox.com/s/mlm6fwssr1i82j5/PHIL%20212%20concepts%20connection%20map.png?raw=1]]
</$details>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="key" class="svg-inline--fa fa-key fa-w-16" width="14pt" height="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"></path></svg>
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8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APsuigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAIbC5jvbKC8iSZI541kVZoWikAIyAyOAyn1DAEdCKmoAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBkDtJAkjwvCzKCY3ILIfQ7SRkexIp9ABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFQpDIt9JcG7maJ4kRbch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QAUUAFFABRQAUUAFcz8Wf+SV+Lf+wJe/+iHoA8w/YRiiT9nHRpEjRXkursuwUAsRO4BJ78AD8K91oAKKACigAooAy/FfiDSPCvh288Qa/epZaZZJ5lxOylgi5AHABJ5IGAO9Z1h478K3fgQeORqn2bw8YvOF7eQSWy+XnAbEqq2CcYOPmyMZyKAPOtK/ad+FGq+LrHw/p+p38y3uEjvzYSJbiZnCLESwDbiTnO3b75r2qgAooAKKACigAooAK8Z+Nv8AyXb4L/8AYS1H/wBJRQB7NRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAMjMpkkDoioCPLIfJYY5yMcc59f6U+gAooAKKAGzCQxOImVJCp2My7gD2JGRke2RSrnaNxBOOSBigBaKACigAooAKKACigAooAKKACigArK8XXOt2nhjUbrw3p9vqOsRW7NZ2txN5UcsgHClscfpnplc5ABQ+Gep+KtX8F2N9418PxaBrzBlu7KKdZUVgSAylSwAYDIGSRnBJrpKACigAooAKKACigArmviqjyfC/wAVxxqzu2i3gVVGSSYH4FAHmH7Cbo37N+iqrKSl1dhgD0PnucH8CD+Ne6UAFFABRQAUUAeZ/tOW1xc/B3VPIsJtQjhlgnuLWJA7TRJKrMu0/e4H3e9eNfFv4qab8b7Sz+EHw1tNVDanPANR1GezaK3soRyyMuNxIIAPAUEDDGgD0Hx74f8ADPw/+A0vw6Gq6YbaXSjZ2Nndxos97dM4Icc4YliDjbkHndxXr/he3urTw1pdregi6hs4Y58tuO8IA3PfkHmgDRooAKKACigAooAK8Z/aA/5Kf8Hf+xkk/wDRBoA9mooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACsbx3/yI+vf9g24/wDRTUAeM/sCf8m82n/YSuv/AEIV7/QAUUAFFABRQB5/+0DrWuaD8Nbm98OaodL1J7mCCK6EKS+V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tvryAD2uigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAK4b9oL/khXjr/sX73/0Q9AHMfsY/8mz+D/8Arnc/+lU1ewUAFFABRQAUUAI7KiF3YKoGSScACvDPiT+0f8E7O2vNCur5PF7NiOWw0+z+1xTAru4dgIXHToxweOoOADzD4X+AvjFp/wAQIvEXw38P33w98FXF0hl0PWNS84SRiQCRzA4LxMyxrn+Lk7XKkY+w6ACigAooAKKACigArwD4/wD/ACcp8E/+vm//AJQ0Ae/0UAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABXDftBf8AJCvHX/Yv3v8A6IegDmP2Mf8Ak2fwf/1zuf8A0qmr2CgAooAKKACigDjfjV4Vu/G3w11XwpZSpDJqflW7zNyIY2lUSSY43FU3MFyNxAGRnNfO3h39l34l/DzUpNR+G/xE8PC7Yx7bnUNFjWZRiUSBHZJmj4KD5CN4dt2Ni7gDufHZ/altfCeotBN8PLyZoGVYdJjulvCDwzQ+YQpdQSwHPTgE4B+gqACigAooAKKACigArwD9oT5f2j/ggw6teX6n8oKAPf6KACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigArifj6Afgb47yM/wDFO3//AKTvQByf7FhJ/Zl8IZOflu//AEsmr2KgAooAKKACigDgvj9Hqtz8NJ9O0TW7rQr7UtR07T01C1J823FxewQsy4IOdrnoQfcdawvHdt49+Hnw80Gx8A69Z6tJFqUFhcXHi1pru4m+13SxxuZo2X7jygEFT8nQ5XDAGd8dvA19qnhLQvG88lzH458PNZs1zpV7NFAqtIi3gRGbAjKNIScByFUEkDbXtdABRQAUUAFFABRQAV4B+0N/ycb8Dv8Ar+v/AOVvQB7/AEUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABWSvhzSTZGxuIrm+tGgnt5IL68muo5o5mDSLIsrMJBxgbs7VJVcKSCAWtE0rS9D0yHS9F02z0ywgz5VraQLDFHkljtRQAMkknA6kmrlABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAVxPx8/wCSG+O/+xdv/wD0negDkv2K/wDk2Xwh/u3f/pZPXsdABRQAUUAFFAHl/wC1Pp2v6t8FNU07wqtwdcnvdPWwNvJ5cizfbYCrB8jZg87sjGM5GK8a8U+Av2v76yntrrx3oGqRWj219AkCW8Znnjm8xFQtbphkeKNjvKqdwGW+YAA5vxlo37VSQWkfjy+Gp+Fhe6fNf+R9jOP30TgYjUSfJJgEgY+UnJXk/bNABRQAUUAFFABRQAV4L8e7ae6/aR+CEdvGZHW61KUgHoqRwMx/AAn8KAPeqKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigArzb9qHW7XQP2fvGt7dxzSRzaXJZKIgCQ9x+4QnJHyhpFJ74BwCeKALv7O+l2Oj/AAK8E2enQeRA+iW1yy7i2ZJoxLI2SSeXdjjoM4GBgV3lABRQAUUAFFAHA/H6PVbn4Z3GnaLrl1oV9qOo6dp6ahbEiW3FxewQsy4IOdrnoQfcda6TwVocfhfwzZ6EutatrAtt4F5qt19oupdzs3zyYG7G7A44AA7UAXdV1bS9Ksze6nqNrZWwdE82eVUTc7BFGScZLEAepIFXaACigAooAKKAER0ddyMrDJGQc8g4I/OloAK+d/iHdSv+3T8M7JmvjFDot7Kqu+bcF4bkEouOH+Qbjk5Aj4GOQD6IooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAIUhkW9luDdzPHJGiLbkL5cZUsSy4XdltwBySPkXAHOZqACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAK8X/bdBP7Mnirjo1n/AOlkNAHcfA8g/BbwMQcg+HNP/wDSaOuwoAKKACigAqG/hkubG4t4ruazkliZEuIQpkhJGA671Zdw6jcpGRyCOKAPPP2l9Hk8Q/CG80GG+fT5dS1XSbNLtF3NbtLqVsgkABGSu7OMjp1FeNQfsj+JYZ0mj+OmvI6MGVkspFZSOhB+08HNAHKfEL9nfxf4I0i38T3PxKvfEFjpms2Ea2U4lG+2eeJd2C7AMJpCdnTaN27cdtfbNABRQAUUAQvcqt9FaGOYtLE8gcRkxqFKggt0DHeMA8kBsfdNTUARLEUlUxsqRANujCD5mJB3Z/76+u6paACvmf4hEj/goV8OVBOP+EbmOP8AtnqH+A/KgD6YooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACvJv2wNKvtY/Zu8ZWmnQedNHbRXTLvC4ignjmlbJIHEcbnHU4wMkgUAbP7N+q2OsfATwPd6dP50MeiW1qzbCuJYEEMq4IB4kjcZ6HGRkEGvQKACigAooAKKAOT+KngWy+IPh2DRb/XNe0aG3vYr0T6ReC3lLxZKAsVb5QxVxxwyIQQRXMeOPjH4I+FfheK18X+MLbWvEFhBDb3VtZiP7bdTmIMZDApxEHA3/ADEKNwGeRkA+e/F37S/jj4hbbHwh4QvtF8Nw6paJqGrK8rzJE91H5GXTasBfaVZSXDbyoPc/a9ABRQAUUAFFABRQAV8zfEP/AJSGfDj/ALFub/0XqNAH0zRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFF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T8LPCM7WH9vDXdW+UR6fo6fapJGL7Nm5f3auDk7WYHA6cjIB4bq3xd+NXj7xN4dt7j4d3vh7wTP4i0xp5zp8znal1F8rzsAm0yAHhVIIAyec/ZtABRQAUUAFFABRQAV81/Eu3uJ/29vhw8EEsqQaBLJMyISI0xeLubHQZZRk9yB3oA+lKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAr5P/bpg0/w948+F/wARZrGWQadqYW+lifLvDDLHMkaqWAzzNg8cnk9KAPq6JxLEkiggOoYZ96dQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFeE/tx+C7nxb8D7m6060+0X+iXKX6KkG+VogCkqqRyBhg59o+elAGl+x9430vxZ8EvD9hBc2g1PRrGOyvLOOYPJCsZaKN3HVd6x7gPfvXslABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAV4n+2zoelax8AdVu9XubyCHSJo76IWqKzSTfNDGp3EAJumBY9QAcZPFAHe/BXVzr3wm8L6v/AGLHoq3WmQyJZRhBHEmwbdgQkBCMFRwQCMgHIHX0AFFABRQAUUAeZftJ/C6b4ufDtfDNtrEelXEF4t7FLJAZEkdI5FVGwQVBL8sM4x0NfO2leF/Fvwyh8L6N4o+BWiXltpGtx3H/AAleiQPdzmGI5aRwu6TJZt2ZNq44WMFVKgH0bcfHL4Zrpthd2XiW11GW/u7a0hs7ZgblZJ3CpviOGjxyTvAxgjrgH0mgAooAKKACigAooAK+ddG1a+uv2/dasbqRZILLwmLe1UKF8tGMEpBI+987Ocn1x2oA+iqKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigArxj9snwHF43+CmpzRQzS6loinULMRzKgO0fvA27gr5e5scHKjB7EAsfsgeNLvxt8DNHvNTv4bzU7LdY3TLIXk/dnahlLMTvZNrEnrnPevX6ACigAooAKQugcIWUMwJAzycdf50ALRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAfH37IWmXHw8/aR+IHw6neYq8XmxPNAUeeOKQ7JB2AKzA++RX2DQ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gB+vaHo+vW8NvrWmWuoQwzJPGlxGHCyKcqwB7g1nWHgjwhYjVls/DmmwJrBU6hGkACXG0bV3L04BPagC14Z8L+HfDMDQeHtEsNKiZFjKWsKxgqpYqOOwLsf+BGtS4hiuIJIJ4klikUq6OMqwPUEelAEGk6dY6TpsGm6ZaQ2dnboEhghQKkajsAOgq1QAUUAFFABRQAUUAFFABRQBDZTSz24kmtJrR9zL5UrIWwGIB+UkYIAYc5wRnByBNQAUUAFFABRQAVQ1vRNG1y3S31vSNP1OGN96R3lskyq2MZAYEA4J5oAs2tpa2lotpa20MFsgIWKOMKgB6gKOO9QalpGl6lpL6Tf6fa3OnugQ20kQMe0dBt6DHb0oAxtM+H/grTIruKw8MaZbJewG3uVjgAEsZ6o3qOBVSP4WfDqORXTwZowZSCD9mXrQBq6X4P8ACul3i3mm+HtMtLhQVWWG3VWAIwRkDuDUmleFfDelXxv9N0PT7O6IIM0MCq5z15FAE+uaFo2uRxx6xpdpfpGdyLcRBwp9Rmsp/h/4HeyurKTwnoz2t2FFxA9mjRyhTldykYODzQBZ8O+DfCXh28lvNA8NaRpdzNGIpJbS0SJnQYwpKgZHyjj2FUdQ+G3w+1DUG1C+8E+Hrm8b708unRM55z94rnqc0AP0/wCHfgLT9Yj1mx8G6BbalE5kju4rCNZUY9SGAyDXR3dvb3dtJbXUEc8EilXjkUMrD0IPBFAHLxfDH4bxXgvIvAPhdLkP5glXSoA4fOd2duc55zXVxokcaxxoqIowqqMACgB1FABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAVC1yovktPLmLNE0m8RnywAQMFugbngdSAfSgCaigAqlrkepTaPdRaPcw22oNERbzTJvRH7Fl7igC7RQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQBmT3U6+KrSyWTFvJYzyumByyvCFOevR2/OtOgAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooA/9k=
: a model of moral [[dilemma]] situations that invokes the image of a lifeboat too small for the number of people who need it
<hr>
The phrase was made famous by Garrett Hardin's provocatively titled "Lifeboat ethics: the case against helping the poor" — For a critique, see (for example) [[Callahan (via Hastings Center), "Doing Well by Doing Good"|https://www.jstor.org/stable/3560586?seq=4#metadata_info_tab_contents]]
<<table-dynamic filter:"[tag[definitions]]" fields:"tbl-expand title see-also tags created modified" stateTiddler:"definitions_table" sort:created class:"w-100 thead-dark" caption:"''Here are the terms currently defined; use the > toggle at leftmost column to reveal details.''">>
[[$:/core/images/chevron-right]]
: The discipline of using and appreciating good [[inference]] methods (making and evaluating [[argument]]s).
* ''Informal logic'' concerns patterns of [[inference]] and [[argument]] in ordinary language and most [[philosophical|philosophy]] inquiry.
* ''Formal logic'' concerns the distillation of [[patterns of inference|inference patterns]] through [[symbolization]] into elements that may be represented in formulae, [[diagrams|diagrams]], and [[proofs|proof]].
Naturally, formal logic becomes generally valuable for philosophy insofar as we can [[translate|translation]] back and forth between informal and formal approaches.
@@.twocolumns
<$list filter="[tag[logic]sort[title]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
\define myMacro(param:defaultvalue)
<<HB$param$>>
\end
Hidden macro at beginning of this tiddler yields results ...
* with value 0: <<myMacro "0">>
* with value 1: <<myMacro "1">>
* with value 2: <<myMacro "2">>
* with value 3: <<myMacro "3">>
* with value 4: <<myMacro "4">>
\define slider-macro(label, text)
<$set name="revealState" value=<<qualify "$:/state/slider-macro/$(currentTiddler)$/$label$">>>
<h2>
<$reveal type="nomatch" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="yes">
{{$:/core/images/right-arrow}}
</$button>
</$reveal>
<$reveal type="match" state=<<revealState>> text="yes">
<$button class="tc-btn-invisible tc-tiddlylink" set=<<revealState>> setTo="no">
{{$:/core/images/down-arrow}}
</$button>
</$reveal>
$label$
</h2>
<$reveal type="match" state=<<revealState>> text="yes">
$text$
</$reveal>
</$set>
\end
!! Purpose
<<<
shows (hides) its content. The content is passed using the //text// parameter.
<<<
!! Syntax
<<<
```
<<slider-macro label:"" text:"">>
```
!! Content and parameters
|Parameter |Type |Description |h
|label |required|a label to be shown for slider |
|text |required|the slider content|
<<<
<$macrocall $name=slider-macro label="Code" text="""
<<<
<<show-macro>>
<<<
!! Revisions
<<<
;Rev 0.1
:2019-03-23, initial release
<<<
!! Reference
<<<
# [ext[Yazd|https://tw-scripts.github.io/Yazd/]]
<<<
"""/>
!! Example
<<<
description
<$macrocall $name="wikitext-example-without-html"
src="""<<slider-macro label:"My Label" text:"This is a simple test!">>
"""/>
<<<
[img[fishing|https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Stilts_fishermen_Sri_Lanka_02.jpg/1200px-Stilts_fishermen_Sri_Lanka_02.jpg]]
[img[gathering|https://whyfiles.org/wp-content/uploads/2012/04/peru_woman.jpg]]
[img[weaving|http://kalingafornia-laga.com/uploads/3/5/2/2/35225043/7942549_orig.jpg]]
[img[rooftop farming|http://media.npr.org/assets/img/2013/09/24/chicago-rooftop-farm_wide-7cbe7ae709a8afc2f75650d26929ff43f82d1c3e-s900-c85.jpg]]
[img[water-carrying|http://www.waterencyclopedia.com/images/wsci_01_img0139.jpg]]
[img[brickwork|http://i.imgur.com/fgb34Gd.jpg]]
[img[construction|http://news.xinhuanet.com/english/2017-07/13/136441066_14999309697271n.jpg]]
[img[assembly line|http://samomatic.com/wordpress/wp-content/uploads/2009/09/factory1.jpg]]
[img[garbage-sifting|https://s.yimg.com/ny/api/res/1.2/OB7xBxrrr2W6JW7r22Rx2g--/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9ODAwO2g9NjAwO2lsPXBsYW5l/http://media.zenfs.com/en_us/News/afp.com/Part-HKG-Hkg10232204-1-1-0.jpg]]
[img[white-collar work|https://spectatorblogs.imgix.net/files/2012/07/17446.jpg]]
: (for transactions involving wealth transfer or resource re-allocation) a threshold marking the level where the ''net benefit'' to overall utility (or the general happiness) ''becomes negligible'': beyond this point, any increase in the wellbeing of beneficiaries is more or less offset by negative effects on those from whom resources are subtracted.
<hr>
<<<.dark
The strong [argument], which required us to prevent bad things from happening unless in doing so we would be sacrificing something of comparable moral sifgnificance, does seem to require reducing ourselves to the level of marginal utility. [This argument] seems to me to be correct.
<<< Singer, "Famine Affluence and Morality" //PPA// 1972, p. 241
:the doctrine that material phenomena account for aspects of reality that are usually //not// understood as material.
----
//Historical materialism// names [[Marx's|Marx]] program of accounting for mental and abstract concepts (ideology) as dependent on and determined by material (economic) relations and interests.
//Philosophical materialism// (or "physicalism," a rough synonym) may also name any stance that rejects mind-body (or spirit-nature or divine-mortal) [[dualism]], in favor of a view on which there is no such division, and all beings partake of material or physical nature.
//Reductionist materialism// maintains, in addition, that nothing has any of the attributes (mind, creativity, intelligence) typically associated with supposedly non-physical (or mental or divine) kinds of being.
: (in ethics) a practical “policy” or guideline (conscious or not) serving [[the will]] as a principle behind action, especially as theorized by [[Kant]].
----
Note: According to [[Kant]], the maxims that account for our actions may be unconscious, and we may be deceived about which maxim really motivates us.
@@.hl Content warning: @@ the Radiolob podcast available here dwells on situations of medical triage, with @@.hl explicit discussions of scenarios involving suffering and death. @@
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/729654/&share=1"></iframe>
: philosophical inquiry concerned with questions //around// or //about-yet-beyond// [[ethics]].
<hr>
Metaethics is often focused on how to interpret the meaning of moral terms and claims, on the possibility of their objective truth, and/or on the relation between moral beliefs and moral motivation.
//contrast-against:// [[normative ethics]], [[practical ethics]].
: suggestive use of language in which a point is conveyed by drawing attention to some characteristic of a familiar concrete domain (the metaphor's "ground") in order to illustrate something about the domain under discussion (the metaphor's "target"), which is framed as analogous.
<hr>
Philosophical [[objections|objection]] to particular uses of metaphor can proceed either by opposing the accuracy or significance of the metaphorical parallel, or by showing that even the metaphor's grounding domain should be understood differently.
:the study of ''features of reality'' insofar as they are open primarily to [[philosophical|philosophy]] reflection, and not settled by other disciplinary methods, such as those of the [[empirical]] sciences.
----
Metaphysical questions include (for example):
Is there any core part of a person that grounds identity over time, even while the person changes radically? Could a person survive physical death? Can one person become two, or vice versa?
Is there any intelligence or purpose that transcends that of humans and other animals?
Is the world firmly governed by causal determinations, or is it in some sense causally loose?
|!@@color:grey;aspect @@|!@@color:grey;sample score @@|!@@color:grey;expectation description @@|
| !Focus| {{!!xf}} |A perfect "focus" score for a microessay means that it is well-framed and centered on a significant single challenge or potential objection to an aspect of the [[argument]] of our reading.|
| !Accuracy| {{!!xa}} |Accuracy can be undermined by hasty interpretations, exaggerations, or claims that something was "overlooked" if it was in fact addressed.|
| !Critique| {{!!xc}} |The critical challenge in a microessay should be well-focused and explicit, yet not overstated. In particular, it should set up room for discussion, rather than treating its worry as an "open and shut case." (Raising a concern doesn't mean you must "[[disagree|agreeing and disagreeing]]" with the text; even when you are sympathetic to a text, you should notice places where a reasonable challenge might be raised.)|
| !Engagement| {{!!xe}} |Reading between the lines of the text to imagine in an interesting possible response to your concern is the peak achievement of a good microessay. Be prepared to animate the author's perspective, or consider a [[friendly amendment]]. (Again, you need not find the response convincing; "[[agreement|agreeing and disagreeing]]" and "[[disagreement|agreeing and disagreeing]]" are not at issue here.) If you have room, you can even follow up with another round of dialogical concern.|
| !Technical details| {{!!xt}} |In addition to being carefully proofread, a microessay needs to be accompanied by one or two excerpts that serve as "exhibits" for your discussion, and the source location of those excerpts should be clearly cited. |
|!Overall| !<<HB3>> <br>(=4) |!The overall microessay score is the average of scores for the rubric elements above.|
|alternating-rows|k
|rubric for microessays|c
[img[microessay_walkthrough|https://www.dropbox.com/s/nbr8qh279zptfip/microessay%20walkthrough.pdf?raw=1]]
<$details class="success" summary="What are microessays?">
Microessays are a one-paragraph writing assignment limited to 120 words in response to some passage(s) from our reading. This is just about the shortest possible length in which to begin approaching a theme philosophically.
<br><br>
In this course, responsibility for writing microessays rotate among members of each [[discussion group]] so that one person produces a passage commentary each class. Each group can decide who writes on which occasion, in any order agreed upon by group members, as long as everyone writes at least once during each 2-week unit, for 6 total. Keep the following guidelines in mind:
</$details>
<$details class="success" summary="Microessay instructions...">
# Find and type a ''short excerpt''' that seems most importantly insightful, interestingly wrong, or centrally puzzling. Make sure to cite the location of your excerpt, using [[classic pagination]] where appropriate. (You might include multiple short excerpts, if they are all essential to your concerns and seem to have a curious relation to each other.)
# Consider how you can discuss the passage(s), using ''argument analysis vocabulary'' (see handout) when appropriate.
# Following the [[microessay walkthrough]] handout, compose a concise critical commentary on your passage (max 120 words), including argument-analysis, contextually interpretive, and evaluative elements. The idea is to use the passage as a springboard to raise a problem and consider possible lines of response. Seek a balance involving both critical and charitable elements.
# Edit and proofread carefully. Language errors will significantly affect credit.
# Post microessays to our unit’s moodle forum area by 12 hours before class. (Note: details for submitting commentaries are subject to change.)
# Make sure to offer a very brief and informative title, as in "Phaedo: Why does knowledge differ?" or "Utilitarianism: how does general happiness motivate anyone?"
# I may illustrate points during class with excerpts from students’ commentaries, but I will be respectful of each student's experience in having work shared in class. Please contact me if you prefer not to have your writing considered in class discussion.
</$details>
<$details class="success" summary="How are microessays evaluated?">
Each commentary will earn up to five points for accuracy, clear writing, relevance, conciseness, and strength of evaluative position. Please note although the assignment is short, it requires much more time than a chatty and informal contribution. Careful revision is required to frame your key points clearly.
{{microessay rubric}}
[img[diagram|http://espringer.web.wesleyan.edu/images/dialoguediagram.jpg]]
</$details>
<$details class="success" summary="Can we see some example microessays?">
<<tabs "[tag[microessays]]" template:"tabtemplate">>
</$details>
The midterm for PHIL/ENVS 212 is the first of two exams, and covers the first three units (<<tag "Unit A">>, <<tag "Unit B">>, <<tag "Unit C">>).
For each of our pre-midterm <<tag sessions>>, there will be one question on the midterm, with the same "multi-choices" format found in our [[opening_questions]]. If you've participated in successful group discussions during the pre-midterm sessions ("Bullseye" or "''OK''"), you will find at least some familiar questions on the exam (though options may be slightly edited, and you can expect options to be shuffled).
In addition to the multi-choices section, there's an essay component of the midterm exam, with themes announced within about a week of the exam date.
<$macrocall
$name="toc-tabbed-internal-nav"
tag="midterm"
selectedTiddler="$:/temp/toc/midterm/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing... Please select.</p>"
/>
<<tabs "[tag[midterm]]" template:"tabtemplate">>
!!!What to cover in your essay:
<$details class="success" open="yes" summary="Choose one of the following quotes to discuss in a short essay (up to 600 words):">
{{quotes}}
(Yes, each one is from one of our authors — but from a source we did not read.)
</$details>
Regardless of which one you choose, be ready to do the following:
* Discuss how this quote relates to the other lines of thought we've read from ''this author'' (the person behind your featured quote).
* Then, ''Discuss at least two'' of our other authors/thinkers (ideally three) in connection with this quote.
* With at least one author (other than the one quoted), it is important to discuss ''multiple possible interpretations'' (mentioning an obvious reading of their response, plus a more nuanced reading, for example)…
* Be sure not just to present a summary for each thinker, but also to integrate some ''comparative and evaluative remarks'' (for example, indicating why one particular view may seem more plausible than alternatives, or where we should notice some troubling implications, etc.)
* Please note that "agreeing" or "disagreeing" with the quote is not part of the assignment; the critical-thinking element is not about voting up or down, but about showing where and how critical discussion is appropriate.
* Reserve time toward the end of your exam period to EDIT & TRIM so that your essay is no longer than 600 words.
FAQ:
<$details open="yes" summary="Q. Are we allowed to refer to authors like Malcom X, for example, who was not a core philosopher we learned about in class but still went over?">
A. You are certainly *allowed* and even encouraged to refer to any thinker whose ideas have been part of our class materials, including handouts and other in-class references. However, you should make sure that at least two syllabus authors (beyond the one behind the featured quote) play some role in your essay.
</$details>
<$details open="yes" summary="Q. When you ask us to ‘discuss multiple possible interpretations,’ does that mean … multiple interpretations of the author's philosophy, or multiple interpretations of the featured quote?">
A. By “multiple interpretations” I meant to refer to different insights about how to understand the various authors we’re studying for the class. For example, we talked about one paragraph in Kant seeming to argue “against happiness” but then considering the same part, on another interpretation, as making an epistemic point (that when doing the right thing aligns with what makes people happy, it’s hard to *know* that they were acting for moral reasons). Of course, if you notice multiple possible interpretations of the featured quote, then it would be ideal to draw attention to that issue in your initial discussion of how the featured quote relates to other ideas from the same person.
</$details>
[img[mill1opener_sheet|https://www.dropbox.com/s/tufcz95qdineall/Mill1_oq.pdf?raw=1]]
[[In Argentina, a Bid to Make Language Gender Neutral Gains Traction|https://www.nytimes.com/2020/04/15/world/americas/argentina-gender-language.html?campaign_id=2&emc=edit_th_200416&instance_id=17680&nl=todaysheadlines®i_id=62754544&segment_id=25284&user_id=a53ebd956cfc15be53ca5f8a64141b19]]
[img[mobility development|https://therapiesforkids.com.au/tfk/wp-content/uploads/2013/09/GM-Milestones-640x416.jpg]]
!!!Two things ''modern moral theories'' have in common, compared to ancient:
<$details class="warning" summary="1. happiness as subjective">
[img class=img-right [happiness|http://espringer.web.wesleyan.edu/images/happiness.jpg]]
We tend now to think of [[happiness]] as something more personal and subjective, less like Aristotle's holistic flourishing ([[eudaimonia]]).
On the modern view, it's possible to be happy but not morally good, or morally good but not happy.
</$details>
<$details class="warning" summary="2. action-guiding moral guidelines">
Modern theories tend to give something like systematic recipes or ''guidelines'' for moral judgment in particular situations.
[[Aristotle]] was systematic, but didn't think it was possible to discern virtue without great training; Aristotle's ethics illuminates the kinds of ethical priorities that play out over the course of a lifetime. The question "What should I do now?" is not primary. Instead, it's "How do people acquire virtuous habits so that they handle such situations well?"
[[Kant]], meanwhile, was willing to engage in [[casuistry]] — justifying a particular response to this or that situation. [[J S Mill]] and other [[consequentialists|consequentialism]], similarly, offer criteria by which to judge particular actions.
</$details>
|alternating-rows|k
|! |!Two broad kinds of philosophical orientation:|<|
|~|![[Rationalist|rationalism]]|![[Empiricist|empiricism]]|
|ANCIENT examples:<br>(<<tag "Unit A">>& <<tag "Unit B">>)| <<tag Plato>> <<tag Epictetus>> | <<tag Aristotle>> <br> |
|!@@.small @@|<|<|
|MODERN examples:<br>(<<tag "Unit C">>& <<tag "Unit D">>) | <<tag Kant>> <br> [[deontology]] | <<tag "J S Mill">> <br> [[consequentialism]] |
|emphasis:|''origins'' of action: <br>principle, integrity, autonomy; <br>timeless ([[a priori]]) ideals of ''rightness''|''effects'' of action: <br>harms, benefits, results;<br>evolving ideas of ''goodness''|
|!@@.small @@|<|<|
|example:|[[categorical imperative]]|[[greatest happiness principle]]|
So, this course is examining one major example of each kind.
Note that each broad category has other variants.
: (Latin term in [[logic]]) an [[inference patterns]] whose two [[premises|premise]] are a [[conditional]] ("if A, then B") claim and the affirmation of its [[antecedent]], and whose [[conclusion]] is the [[consequent]] of the [[conditional]].
//Modus ponens// can be represented in symbolic form thus:
|^^premise^^| P➔Q|
|^^premise^^| P|
|^^conclusion^^| ''∴ Q''|
//Contrast against//: [[modus tollens]]
: (Latin term in [[logic]]) an [[inference pattern|inference patterns]] whose two [[premises|premise]] are a [[conditional]] ("if A, then B") claim and the denial of its [[consequent]], and whose [[conclusion]] is the denial of the [[antecedent]] of the [[conditional]].
//Modus tollens// can be represented in symbolic form thus:
|^^premise^^| P➔Q|
|^^premise^^| //not// Q|
|^^conclusion^^| ''∴//Not// P''|
//Contrast against//: [[modus ponens]]
[img[mill2|https://www.dropbox.com/s/pu571kce89bjvki/moodle_formatting%20snapshot.jpg?raw=1]]
iVBORw0KGgoAAAANSUhEUgAABkAAAAZACAYAAAAhDI6nAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAHNXgABzV4BuHKTWgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7N1bjKRnnd/x//NOVY93UdsWSFws2AMIFHOMSJTYBmwtXCTZ1Sjh1FK04xlX1XSP7WF7ZQZ8wFKimuGKeKQQybJxeaq6Ri1u4pWiSIAT8ByUKCAlHKwIB0cLpvEqis26ew5298zQrnpysRABy8E97umn3+7P53Kmu97v1ftKz09vdQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtZdKBwAAr0lqt9utiPiz0iEAUEc553MppX89Nzf3v0q3AACwvgwgAFBTt99++7urqupFxAdKtwBATfWqqvpcv99fKh0CAMD6M4AAQM20Wq2rqqrq5pwPRUSzdA8A1NBf5ZwPDIfD06VDAAC4cgwgAFAj7Xb7IxHxaES8vXQLANTQKKV09KWXXjr8+OOPXygdAwDAlWUAAYAa2Ldv3xsajca/zTnfFp7fAHA5vp1znhkOh0+VDgEAYGNUpQMAgN+t0+ns27Fjx/dzznvD+AEAa/VyzvnuXbt23Wz8AADYXhyiAMAm1W63r4uIhyNid+kWAKijnPPXq6q6azAYPFu6BQCAjdcoHQAA/Kqpqakdr3vd6/48Io5ExNWlewCghv4m5/yp4XD4eOkQAADK8QYIAGwit99++7urqupFxAdKtwBATfWqqvpcv99fKh0CAEBZBhAA2ARmZ2d3Li8vH845H4qIZukeAKihhZzzXcPh8D+VDgEAYHMwgABAYe12+yMR8WhEvL10CwDU0CildLTRaBzp9XorpWMAANg8DCAAUMj+/ftfn3P+Ys75tvBMBoDL8e2c88xwOHyqdAgAAJtPVToAALajTqezbzweP51z3hvGDwBYq+Wc8927du262fgBAMBv48AFADZQu92+LiIejojdpVsAoI5yzl+vququwWDwbOkWAAA2t0bpAADYDqampna87nWv+/OIOBIRV5fuAYAaejHnfHA4HD5eOgQAgHrwBggAXGG33377u6uq6kXEB0q3AEBN9aqq+ly/318qHQIAQH0YQADgCpmdnd25vLx8OOd8KCKapXsAoIYWUkoHB4PBE6VDAACoHwMIAFwB7Xb7IxHxaES8vXQLANTQKKV0tNFoHOn1eiulYwAAqCcDCACso/37978+5/zFnPNt4TkLAJfj2znnmeFw+FTpEAAA6q0qHQAAW0Wn09k3Ho+fzjnvDeMHAKzVcs757l27dt1s/AAAYD04nAGA16jdbl8XEQ9HxO7SLQBQU99IKd05GAyeLR0CAMDW0SgdAAB11e12q4WFhdmIOBIRV5fuAYAaejHnfHA4HD5eOgQAgK3HGyAAcBluv/32d1dV1YuID5RuAYA6SinNr66ufnZ+fv6npVsAANiaDCAAsAazs7M7l5eXD+ecD0VEs3QPANTQT1JKdw0GgydKhwAAsLUZQADgVWq32x+JiEcj4u2lWwCghkYppaONRuNIr9dbKR0DAMDWZwABgN9j//79r885fzHnfFt4dgLA5fh2znlmOBw+VToEAIDtoyodAACbWavVmhqPx0/nnPeG8QMA1mo553z3rl27bjZ+AACw0RqlAwBgM2q329dFxMMRsbt0CwDU1DdSSnfOzc09WzoEAIDtyQACAL+k2+1WCwsLsxFxOCKuKd0DADX0Ys754HA4fLx0CAAA25uv8gCAn2u32++KiMci4gOlWwCgjlJK86urq5+dn5//aekWAAAwgACw7c3Ozu5cXl4+nHM+FBHN0j0AUEM/SSndNRgMnigdAgAAv2AAAWBb63Q6H8459yLi7aVbAKCGRimlo41G40iv11spHQMAAL/MAALAtrR///7X55y/mHO+LTwPAeByfDvnPDMcDp8qHQIAAL9JVToAADZaq9WaGo/HT+ec94bxAwDWajnnfPeuXbtuNn4AALCZNUoHAMBGabfb10XEwxGxu3QLANTUN1JKd87N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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTPvwB+f+Gqu9GWzQAAAABJRU5ErkJggg==
[img[moodle_logo|https://2tia1r1eo57k2wzfd73py7dy-wpengine.netdna-ssl.com/wp-content/uploads/2019/05/Moodle_RGB.svg]]
[img[moon|http://i.dailymail.co.uk/i/pix/2015/08/01/11/2B032AAA00000578-3179917-image-a-61_1438426481891.jpg]]
: a being capable of morally significant choice; someone whose actions are subject to praise, blame, and other moral evaluations.
<hr>
One might think a "moral agent" means an agent who acts //morally// (in the positive sense of acting correctly on moral norms); however, in order to preserve the possibility of //doing wrong//, most moral theorists think of moral significance, or capacity to recognize morality, as giving moral weight to actions, whether or not they are morally good.
Consider these two concepts:
<$list filter="[tag[moral-status]sort[modified]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
<$details summary="Kant, and many others, claim that these two ideas pick out the same set of beings (namely, rational beings)">
[[Venn diagram]]:
[img width=30% class=img-left [agents|https://www.dropbox.com/s/bpitidvyfrg07w6/kant_and_moral_patient_diagram.png?raw=1]]
@@.triangle-right Isn't that a fancy way of saying there's no real difference between these two? @@
{{clear-both}}
On [[Kant]]'s view, being able to act on moral reasons is the very thing that makes a being worthy of respect, and hence of moral treatment. In other words, belonging to the set of moral agents is the same as belonging to the set of moral patients... (Kantians will add that we rightly treat a toddler (for example) as belonging to this domain of morality, recognizing the potential moral agent who emerges only with time).
<hr>
</$details>
<$details summary="Utilitarians have tended to have a broader view of moral patients">
[img class=img-right [patients|https://www.dropbox.com/s/z42mo83qjjg61m6/moral_patients_not_agents.png?raw=1]]
The utilitarian criterion for moral consideration is broader; some beings are moral patients without being moral agents... Peter Singer calls for us to "expand the circle" of moral concern.
<hr>
</$details>
:the experience of disconnection between moral requirements (as one understands them), and one’s lived experience of interests, relationships, habits, etc.
see als: [[moral demandingness]]
: damage to one's character in virtue of trauma, oppression, or other harms.
: the endorsement of rigorous obligations that are nearly impossible to satisfy, or which require apparently extraordinary sacrifices on the part of ordinary moral agents.
<hr>
Both [[Kant]]'s ethics and certain forms of [[utilitarianism]] have drawn [[objections|objection]] concerning apparently extreme moral demandingness.
<$details summary="from Stanford Encyclopedia of Philosophy">
<<<
The fact that consequentialist impartiality turns out to have such strict and demanding implications is, for the consequentialist, a double-edged sword. On the plausible and popular assumption that a moral theory must be deeply impartial, consequentialism meets this criterion with flying colors. And consequentialists have typically been adept at exploiting this fact with powerful rhetoric (Godwin’s famous query, ‘what magic is there in the pronoun ‘my’?’ being a noteworthy example.) On the other hand, the ''impartial demands'' of consequentialism are so strict and so extreme that many critics have found them unacceptable: consequentialism, they claim, simply demands too much and must therefore be rejected (Scheffler 1982, Slote 1985, Williams 1981).
<<< [[SEP|https://plato.stanford.edu/entries/impartiality/]]
</$details>
Consider Kohlberg's Kantian approach to moral maturity, and compare to Aristotle's way of describing moral maturity...
Does it matter whether one has plenty of ''practice'' or ''skill''?
(Aristotle — thinking of virtue as analogous to musical virtuosity — clearly sees development as requiring perception, emotion, and motor skills, not just cognitive judgment.)
: a difficult moral choice — especially one in which any choice would be wrong, either because each choice seems morally forbidden, or because multiple moral demands cannot be satisfied at once.
<hr>
[[Kant]]'s ethics famously argues that genuine moral dilemmas are ''not possible'': every [[perfect duty]] is absolute, but consists simply of a prohibition against hypocritical action (so circumstances can never force one into violating such duties); meanwhile, one [[imperfect duty]] may be in tension with another, but these duties always require judgment as to when and how to fulfill them, and are effectively violated only in patterns of action (such as sustained failure to give to charity), not in single choices.
: the experience of having made morally troubling decisions, especially in a [[dilemma]], or under conditions of ignorance or stress that made it difficult to act in a justifiable way.
:(in Kantian ethics) the recognition of a particular phenomenon, in experience, //as// falling under some morally important category (such as truthfulness or deceit, generosity or desire for reputation).
<hr>
Even when people agree on a moral principle, they may disagree in their judgments.
For example, if a miserable person says "I'm fine" in response to "How are you?" one person may interpret the comment as merely polite small talk, while another may interpret it as dishonest. For the purposes of moral judgment, various situational details may also be relevant.
: ways in which an agent's moral status may be significantly shaped by matters that are outside of the agent's control, such as the circumstances of one's birth, accidental or chance outcomes, etc., (Alternately, a doctrine that affirms the possibility of such effects).
<hr>
Among major moral theorists, moral luck is most associated with [[empiricists|empiricism]] such as [[Aristotle]], and most opposed by [[rationalists|rationalism]] such as [[Plato]] and [[Kant]].
For further reading: Nagel, Williams, Card, Tessman
<div style="width: 640px; height: 480px; margin: 10px; position: relative;"><iframe allowfullscreen frameborder="0" style="width:640px; height:480px" src="https://www.lucidchart.com/documents/embeddedchart/f4484eba-2e18-4416-9e6d-d6d903b37090" id="GZqQYsJWr1aX"></iframe></div>
; moral correctness
: [a substantive judgment that requires "taking sides" whenever an ethical question becomes difficult]
; moral maturity
: the ability to participate in nuanced moral reasoning, regardless of the judgments reached
: psychological forces that might (at least under some conditions) prompt morally good action
<hr>
Consider models we have seen in units C, D, E, and F:
||>|>|!Models of morality and moral motivation|
||!Kantian|!Utilitarian|!Care|
|!moral value:|principled intentions|greatest happiness, reduction of suffering|sustaining caring relations|
|!motivation:|respect|association with personal happiness|impulses arising from receiving care|
|@@color:green; ''PRO''@@|helps us insist moral obligation applies to everyone|based on empirically compelling phenomenon|[[explanation of moral alienation]]|
|@@color:red; ''CON''@@|little help in explaining differences in moral motivation|makes moral motivation not particularly distinct|[[embraces partiality]]|
: a being who ought to be taken into account as //affected// by others' actions; a potential sufferer or otherwise sentient being whose interests or needs have moral weight.
: method or practical approach to moral education, including the stimulation of [[virtuous character habits|virtue]], ethical sympathies and concerns, and moral reflection and reasoning.
[img[stages in Kohlberg's moral-developmental model|https://www.dropbox.com/s/a7ufjyajraxstna/kohlberg6stages_landscape2.png?raw=1]]
[img[singer|http://espringer.web.wesleyan.edu/images/expandingcircle.jpg]][img[status|http://espringer.web.wesleyan.edu/images/moralstatus.jpg]]
<$button>
<$action-setfield accordion1="open" accordion2="open" accordion3="open" accordion4="open"/>
Open all
</$button>
<$button>
<$action-setfield accordion1="" accordion2="" accordion3="" accordion4=""/>
Close all
</$button>
<$details summary="What the W3C says about details" state="!!accordion1">
<<<
The [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls.
''NOTE:'' //The details element is not appropriate for footnotes. Please see [[§4.13.5 Footnotes|http://w3c.github.io/html/common-idioms-without-dedicated-elements.html#footnotes]] for details on how to mark up footnotes.//
The first [[summary|http://w3c.github.io/html/interactive-elements.html#elementdef-summary]] element child of the element, if any, represents the summary or legend of the details. If there is no child summary element, the user agent should provide its own legend (e.g., "Details").
<<< [[W3C on Github|http://w3c.github.io/html/interactive-elements.html#the-details-element]]
</$details>
<$details summary="Compare the RevealWidget and the DeatilsWidget" state="!!accordion2">
The RevealWidget can be used in similar ways, it hides or shows its content depending upon the value of a [[state tiddler|StateTiddlers]]. It is worth noting that:
* The DetailsWidget in its most simple form is independet from a state tiddler. It’s open or closed state falls back to the original state whenever a tiddler or wiki ist refreshed in the browser.
* Without a state reference, content can be revealed instantaneous because it is the browser alone that shows or hides it. No TiddlyWiki rendering is needed.
* However you can optionally use a //state// reference: a tiddler, field or index that will be updated automagically every time when details is opened or closed. The referenced text must be "open" to show the details. The RevealWidget in contrast can check for any given text.
</$details>
<$details class="notification" summary="Missing Browser Support" state="!!accordion3">
* Microsoft has tried to implement details/summary in their ''Edge'' browser without success. In September 2018 it was listed with “Roadmap Priority: High — We intend to begin development soon.” – see their [[Platform status|https://developer.microsoft.com/en-us/microsoft-edge/platform/status/detailssummary/]].
* ''Internet Explorer'' in general and ''Opera Mini'' do not support details/summary.
* Other browsers might not support animation effects on opening or closing – one Android browser has problems with accessibility.
* Apple iOS mobile browsers lacked support of toggle events on details when this was developped, therefore we emulate it using click events. In mobile Safari this can have the side effect, that users must tap twice to open/close details or to activate links in details.
* See https://caniuse.com/#search=details for other browsers and updated information.
</$details>
<$setvars _r="[enlist[Happiness Good-Will Wisdom Respect Responsibility Love Principle Virtue Compassion Authenticity Integrity Helping Honesty Creativity Character Devotion/Piety Care Honor Harmony Balance Rationality Nobility Humanity Skill Conformity Rightness Justice Self-knowledge Peace Piety Maturity Spontaneity Culture Naturalness Pleasure Conscience Freedom Evolution Connectedness Survival Intelligence Hierarchy Transcendence Sharing Humility Equality Strength Revelation Altruism Education Obedience Belonging Meaning Security Duty Friendship Work/Activity Maturity Welfare Power Perspective Choice Progress Feeling Thriving Humanity Rights Compassion Self-Realization Equality Liberation Solidarity Justice Harmony Respect Safety Revolution Empowerment Perspective Love Healing Creativity Connectedness Autonomy ]random[4]]" random="\{{{\ [r] \}}}\">
<<random>>
</$setvars>
[[more random keywords|random keywords]]
:the interest, drive, or imperative that effectively moves a person to act
<hr>
On Kant's view, there are two very different routes of motivation for human action: a [[hypothetical imperative]] motivates in virtues of some contingent and optional desire or incentive (generally summarized as [[self-interest]]), while the [[categorical imperative]] motivates (if it ever does motivate) in virtue of respect for moral principle as such.
On Mill's view, we evaluate actions based on intentions (what the agent is attempting to do), not on the motive behind the action. Hence Kant's distinction between self-interested and moral action is rejected.
<$list filter="[tag[motive vs intention]sort[modified]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
Mill distinguishes, on p. 17-18:
|!intention|!motive|
|!//what it is// that one sets out to do|!what feeling or interest inspires an act|
|to save a drowning person|wanting to earn admiration|
|to torture someone|in hopes of preventing terrorism|
Note divergence from Kant, for whom intention is always inseparable from motive.
Note suitability of utilitarianism for ''policy-making'':
the question is not how to inspire people to have Kantian integrity, but how to orchestrate social conditions so that people often will be inspired to do things that in fact benefit others (a la Smith's "invisible hand").
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="34 107 510 317" width="510pt" height="317pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-05-10 07:32Z</dc:date><!-- Produced by OmniGraffle Professional 5.3.6 --></metadata><defs></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><g><title>Layer 1</title><path d="M 204.10294 372.67294 L 206.91333 373.50204 C 210.44484 371.92197 217.54364 374.36401 221.30923 375.55795 C 214.37523 367.871 203.92865 356.58286 196.40225 349.4665 C 193.93185 340.85104 194.98593 332.1817 195.51744 323.3866 L 195.62405 322.659 C 192.65733 329.6997 188.89246 336.5437 186.86893 343.95477 C 184.50095 353.95294 197.39323 364.74045 202.39233 370.92294 Z M 419.00293 414.95798 C 399.65295 414.411 391.14194 414.45804 381.28735 398.25296 L 373.60684 398.473 C 364.66696 398.076 368.39264 398.25595 362.42844 397.95901 C 352.45654 397.57098 354.05396 388.09604 352.29965 383.09003 C 349.49335 366.09698 356.01324 349.01611 355.80756 332.01971 C 355.73474 325.98639 347.19724 304.63062 344.14716 296.99548 C 334.58554 298.79572 324.97205 299.13895 315.27176 299.62231 C 292.91254 299.56754 270.70496 296.8295 248.65794 293.35248 C 244.36153 311.10052 231.59093 335.94183 242.14684 353.9793 C 254.95975 372.63696 263.95123 377.80597 277.88824 378.93094 C 291.8251 380.055 294.97214 395.78998 291.60031 401.40997 C 288.61584 405.294 283.37045 405.99902 278.91385 406.94 L 269.99945 407.35898 C 262.98456 407.12299 256.71454 405.229 250.46393 402.30798 C 240.02545 396.48102 229.24443 384.36703 221.23434 375.67001 C 223.09915 379.143 224.21146 385.92294 222.52005 389.07803 C 217.78415 395.78699 197.30133 395.746 187.92093 391.577 C 177.26495 386.84198 151.51596 353.59503 147.53493 328.69455 C 158.12593 308.66583 173.55493 291.2196 181.36093 269.41132 C 164.34593 258.55438 155.23293 240.88019 156.41594 220.8598 L 156.84294 218.5423 C 140.10095 221.67648 148.78296 220.51039 130.772964 221.87279 C 73.41696 221.6973 22.976959 182.80795 51.378967 122.367004 C 53.225952 118.787964 54.982956 115.534 58.113968 117.08801 C 60.626953 118.33496 60.265976 123.33699 59.001953 128.88399 C 42.766968 201.10277 122.11395 201.65552 170.88995 188.29181 C 175.73093 186.96521 185.35893 178.03061 192.02843 175.0687 C 202.93033 170.22757 214.76323 168.2634 226.50644 166.84811 C 255.71411 163.51997 290.81815 178.90649 308.65442 179.4089 C 326.4909 179.91129 351.86395 175.13808 367.43942 176.14308 C 378.74075 176.66016 389.83795 178.70007 400.74194 181.6059 C 407.79996 147.215 408.29895 121.867996 425.03094 116 C 434.85095 117.550995 442.4179 130.93298 448.01895 138.08301 L 448.04193 138.07898 C 459.4489 137.62897 470.30396 140.52301 481.09692 143.73497 C 500.63696 140.962006 517.03394 129.989 534.28992 121.45299 C 534.23596 121.721985 533.95398 121.81297 533.78595 121.99397 C 516.80396 135.72798 514.4319 158.952 516.42993 180.42822 C 517.17297 191.57237 514.02393 203.67166 510.13098 215.08179 C 502.84595 233.67169 488.77692 253.26677 472.44794 252.26176 C 466.27496 252.0665 462.68893 248.57117 458.10095 244.83946 C 457.21094 252.39809 453.71295 259.14267 450.34094 265.82758 C 442.55396 280.64941 422.20496 287.18097 403.36292 303.00763 C 384.52216 318.83453 409.39194 375.35904 415.42194 385.65802 C 421.45096 395.95798 438.28192 399.72598 431.75095 409.02194 C 429.75296 412.09198 426.69794 413.19 423.43292 414.38098 Z" fill="black"/></g></g></svg>
[img[elephants|http://blog.sevenponds.com/wp-content/uploads/2016/05/elephants-with-the-bones-of-the-dead.gif]]
Multiple interpretations might look like this:
|some people might read [philosopher X] as denying the importance of [phenomenon Y], because of [this or that aspect of the text], yet we should see that [philosopher X] could include or address [phenomenon Y] through [some other aspect of the text]|
|indexcard|k
* <kbd>{{$:/config/shortcuts/horizontal-vertical}}</kbd> - change the Layout (horizontal/vertical)
* <kbd>{{$:/config/shortcuts/select-text}}</kbd> - toggle dragging on/off (selecting text ...)
* <kbd>{{$:/config/shortcuts/one-column}}</kbd> - set the layout to 1 column (works for all number keys, 1 to 10 columns)
* <kbd>{{$:/config/shortcuts/toggle-visibility}}</kbd> - cycle through the visibility states for titles, controls, subtitles and tags
@@.ind [img[pencil-alt-solid.svg]] On your index cards:@@
|!Name: |<|
|Call me: |@@.tcr ◀︎//anything I should know about// @@|
| |@@.tcr //pronunciation, pronouns, etc.)//@@|
| |<|
|Familiarity/confidence with Philosophy: <br>|<|
| |<|
|Distinctive thing about me: |@@.tcr ◀︎//the more memorable, the better!//@@<br>|
| |<|
| |<|
| |<|
|indexcard|k
: an endorsement of national identity and political structure (usually with some account of natural-historical coherence of language and customs) as an appropriate unit of governance
<hr>
◀ {{!!list-after}} @@float:right; {{!!list-before}} ▶
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="newspaper" class="svg-inline--fa fa-newspaper fa-w-18" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z"></path></svg>
: a [[doctrine]] according to which words and other linguistic phenomena do not correspond to things or realities that are independent of language; instead, all the ideas we can refer to and think about are inextricably shaped by our habits of naming them.
//Contrast against:// [[essentialism]]
See [[Nietzsche]]
: an approach to normative theorizing that is designed to address conditions that depart significantly from ideal conditions.
: A commitment to respond to provocation in constructive ways that solve problems and build mutual regard without inflicting further harms or encouraging misunderstandings.
<hr>
Non-violence is developed into a philosophical and ethical ideal by a number of thinkers: [[King]], Gandhi, Thoreau, Ikeda. [[Carol Gilligan|Developmental stages]] argues that this ideal epitomizes a trajectory of moral development focused on care rather than rules; Nel [[Noddings]] gives a philosophical articulation of this "care perspective," but resists treating non-violence as a straightforward rule.
: a claim which involves attribution of positive or negative value, as contrasted (though not always sharply) with most “matter of fact” claims.
<hr>
//usage: // "Their normative recommendations about public education clash because they interpret the testing data differently."
: inquiry into the standards or ideals that should govern practical life; discussion of general action-guiding ethical norms.
Introduction to Ethics is largely focused on normative ethics, rather than [[metaethics]] or [[practical ethics]], though discussion may range into both additional areas, and boundary lines between them are not neatly settled.
: the domain of ideas and claims about what is ideal, obligatory, or good (as distinguished from claims about what is actual, morally indifferent, or value-free).
Find here some notes from prior in-class discussions. See also Study Questions and discussion questions.
: a complaint about an [[argument]], usually focused either on the truth of its [[premise]](s), or on its structural [[validity]], and occasionally using the diagnostic language of [[fallacies|fallacy]].
Chapter 2 of //[[Utilitarianism|Mill, Utilitarianism]]// devotes extended attention to [[anticipating|anticipated objection]] and considering various [[objections|objection]] to [[utilitarianism]], and addressing each one in turn. Most of them, Mill claims, are based in misunderstandings about the very nature of the account. What objection-reply sequences did you notice?
Such [[reading for objections and replies]] is an important corollary to the skill of [[reading for argument]].
Three objections are serious enough to merit whole chapters:
* [[Chapter 3|Mill2]] addresses (roughly, in paraphrase) "But what could motivate anyone to act on this kind of morality?"
* [[Chapter 4|Mill2]] addresses "But how can you prove that happiness is what morality is really about?"
* [[Chapter 5|Mill3]] addresses, "But don't utilitarians lack a good account of justice?"
[img width=25% class=img-right [https://www.dropbox.com/s/t8z50cdd2d1wyrj/russell%20house%20room%20216.png?raw=1]]
Please make an appointment via [[calendly]]. Mostly online for 2020-21, but see diagram at right if you need to visit my office at Russell House.
: making oneself at home, considering as part of one's place of dwelling
iVBORw0KGgoAAAANSUhEUgAAALkAAAChCAYAAACbKB6qAAAAAXNSR0IArs4c6QAACSNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4s45Y3AAAACXBIWXMAAC4jAAAuIwF4pT92AAASvElEQVR4nOydW2xUVRSGSWOMMcYYY4gxRmOM8UFjjNEYozEkxhcefJFoTIw+aCQajSY+KKHc5VYoLZS2lAKFQimUSwFLSynXQkspV2svUAotl0JpZ6ZzYWaYS+Y466FJQzrt2ef866xz6jH54ssw+9/r/J2zL2uvPUXTtCkuLpMZcQEuLtyIC3Bx4UZcgIsLN+ICXFy4ERfg4sKNuAAXF27EBbi4cCMuwMWFG3EBLi7ciAtwkSca1aY2NUbyKsoCrfk53ttL53u8uUu994ryfdcP7A3VtLfFfos/1J6V1mkUcQEucsQeas9tLg1cnlZZoumhMM9349L5WHb632ZJa1dBXICLDMO+1Ft6zT0WF89H50r3QS/i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//8acAeM4lFMawwAAAD//wMA5ciutxrVAd4AAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACsAAAAkCAMAAAAn1TMnAAAJI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjPZhWUAAAAJcEhZcwAALiMAAC4jAXilP3YAAAMAUExURQAAAPb5/Nno7/z7/vz7/9/r8UClmv/+//r6/v/+/2Oxr77Z4vr6/tvp8Lza3+Xt9kimoP/+//37/7DV2dDk6vj6/Onw9/j5/UWonEGmm+vy98fg5cfe5uLr9EWmnvv7/lOrpvH1+u7y+djn7lCrpZ3K0P78/97p8u7z+dXm7dvn8crj5azS12+2t/P3+k6so/L1+32/vbXW3JjJzWu2tMTc5JnIzk2po0KlnLTU3UOmnO3z+PT4+m+4tqTO1P79/1euqGu1tZrLzZrIz/78/+fv9V+wrb/c4WavtGWttMXd5VaxpmGvsEion2u0tXq6vuTs9H+8v1StprfV3kOlnrza31GspfH2+qDK0oTAwXi7uobCwnG2uI3Fxs/i6v78/2ezsm22tmuytqrR1kuqoVquqvf4/ZPFyt3t7pXHy5PJyZvLzUyqofD0+mCvr1mrq//8/3G0upzH0dbm7ZDFyczk5lutrFerqqTL1ESmnUepnoG5w6bT0ZPKx63T19Pl68Dd4F+xrOHv8ZPEy0WnnkennnO6uKPM1MLf4YK9wmm0sq/X1oe8xma0sOTz8WOyr1CrpEKnm0mkonW7uEWpm0mooFKtpEmloe/0+bjW3orAxuDq85/Nz+Xv9M7g62m1sprJzmCrsa7P2lStpq7S2ILAwI2/yf///0uoosrb6tXk7leuqFqvqrrV4WWwsVSvpV6zqnO5uFmwqGastYfBw43ByE+ppJ7E1EOmm5vI0GSysHC6tXq9vGSzr0ypovP3+kmqn2evtOrz9o7Fx1+urm63tUOnnFywq4rDxczf6XS8t2+0uESnnLTX2vz7/tvo8Pz6/0CnmT+nmDijlT2mlz+nmTmklT6mmDqllTiklT6nmDymljumljqlljulljejlDymlz6nlzqjlz2lmTykmD6mlzWikzSikjiilTuklzmllT2kmTqkljujlzujmDmjljiklEKlnDmjlTylljijlD2jmjeilT6kmT+jmj2kmD+lmkCjm0Gmm0CkmzullTumly16OAcAAAEAdFJOUwARPQgKNf4DDAHaYgs4ZC36Agl0SA0mDvr+IlRXMPsJ7RogPvGQBzYfQTtOe8cV7xe0b5XMW5bz/HH+HhPIhQTkzpKUBijeX9vdWOPe+NK8Lrfqbfxk7RiMr76py6NLBdXN1H305BCdM5iXjfAb3OYExZVAoErg5Yb697h+lHdEXdksnff5wYlZstNysNQi1en8+sH39+r2HGuqM4oqTs6S4XvpeLCnAfZXQ+fkadfm2sTh3Kul85b8ktjHutf0FvPYIaDhyv7fo1DAzfttCToK//////////////////////////////////////////////////////////////84pRDwAAADgUlEQVR4nIyUZVhUQRSGZ4FlFfQBBEVpVDCxu1sUW7EDu7u7O7G7u7sT64f66Jl77/YuCwoCKohi55m5oHsNdH59M/PuiW/PXEKyX/nc8vyDyFqa+utWLo/M+V9s9TUmqv80OhtC9bDE2KFcOaRToM+m/x3NPS49OXl8MSY3pAE8r6f5rTQ3dQ5ZjXlKARKnMtlaC8bK1RVch2WzyoXNrTZzWi62a/xOAtCWQxXcPg5SWipa81qxOn+8hdLXSfOK4jbnEi3AK09UTZMB0qrao4GLDBKlFj1mjq1QgyEvAAynUZwxAG2+xZ51cAaQold1jtYhvBEz+lw1gsklkPTrawNLTUVnuwVsthYhFefo0CA/bPO2FeM1JF6PAYTeis72GkCqpkZRMh5AfwPd6Ii/TvUjFwSgAZvsUY8TetCVXo/KaakVGVdCur/DgB01F1/D1xYN7FnHU2YQ6+RlMhKb0nftQToEJYD+svq8BMJmRQk5IkQwNeHOqg7bgLZ7SEhnLYiNzj0HqYCDglUdE8EcLk/e9gy0IoSQ3lhw/rPMDScF6x3B2EeyfQUksEaFkkLpEkhGLLq+AiW5TmINO+RZcLzyDaT7anRWBLacfxnHHr3MoFtbSt6EYHLhASGdtAylk2aEKuGyWqDurWTN3DJ0I6RtGo9LH1dw9bZna2GsJ36y9uljBP09DfEPoBwGS6qLZ5mf7FbmfPlMA2/ZwHbXiQS6mHBIeNHmV3Um+GSxZYJ0YI5y5LpBCysktA8m5KYBXTuUama0KJQeWCRzhBZiI86FuNx3yQIJhQviwMcDrXLgyNEXVkbrhICwihxwxZkRZnOp6WmV2Xz7jcxdb9dtyWywgaZ8zs2A4CAR4hhAyKNwE4i7rhFSu64FbM3Q9TwLwt4bWWxhMY/W7SU6FcJUjV06MDVjtddDd74cZGcj2lZhkZM8OVu8HYW4yg1RublTnDTWRwkcdO0eD37fPxYgzt2fa4/J2J2hEz4f3ydIdGFnvh/QNGcvfl90eGxK0vxM24pPNIL0LJKQSuw/LsmORiVi3qdT5PsiZUdWrZ3lcXnMIl73bdUG7f/IPzn+w4SMxCEDyO9LVRfbE+/0wadsa8TfCCkVOWiw+g8o+nk8Fj9ziMLbnX8E7FdM6zcvrWaL4W3LvH9DVD+UJubbBtWA6I/nMv4Zl+Oh2V5/BwAA//8DAE6lyjLNEtxpAAAAAElFTkSuQmCC
>If the opinion which I have now stated is psychologically true — if human nature is so constituted as to desire nothing which is not ''either a part of happiness or a means of happiness'' — we can have no other proof, and we require no other, that ''these are the only things desirable''. If so, happiness is the sole end of human action, and the promotion of it the test by which to judge of all human conduct; from whence it necessarily follows that it must be the criterion of morality, since a part is included in the whole.
\define openalltagged(label)
<$button class="openalltagged">
$label$
<$list filter="[tag[$label$]]" variable="tid">
<$action-navigate $to=<<tid>>/>
</$list>
</$button>
\end
{{$:/core/images/warning}} Results here are tentative and under construction!
<<table-dynamic filter:"[has[responses]]" fields:"tbl-expand team responses result session tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
<$details class="success" summary="What are opening questions?">
Opening questions for small discussion groups, at the beginning of class sessions, are essentially like a five-point true-false question. Given some theme or overarching concept, the challenge is to decide which responses are accurate. There's no process of elimination: the number of correct responses might be zero, or five, or any number in between.
The opening-questions aspect of the class structure has three main objectives:
# To ''incentivize'' attentive reading, including anticipation of good questions, but without creating the anxieties associated with individually graded pop-quizzes.
# To encourage ''each'' student to engage in discussion about the reading,
# To prompt reflection on ''themes'' that we'll want to probe more deeply in the class session
</$details>
<$details class="success" summary="How are opening questions evaluated, and what role do they play?">
For each session, there are three possible results for a group's discussion question sheet:
|[img[bullseye-green.png]]|Wow, your group completely nailed this question! You'll see this very question (perhaps edited a bit) in the place for this session on the exam.|
|[img[ok-teal.png]]|Although another answer would have been optimal, I'm persuaded that your group had good reasons for its answers and studied well. You'll see this very question (perhaps edited a bit) in the place for this session on the exam.|
|[img[almost.png]](or similar note)|At least one facet of this question stumped your group. On the exam, there will be a different (neither harder nor easier) question about this session. Please discuss with me if your group members are still unsure how to understand my feedback, or if you'd like to persuade me to reconsider how I evaluated your answer.|
''Additional clarifications:''
* Exams are generated based on //individual// results. So, group members who are absent when their group scores a "bullseye" or "OK" do not get the bonus result of the familiar exam question.
* If your group has fewer than four people, feel free to seek out another small group with whom to check your responses and/or deliberate further (You'll still turn in separate sheets).
* If discussion does not bring your group to agreement, turn in one sheet marked with the answers that two or more participants support, with a clear note about who dissents from which responses.
* Groups will be re-arranged at midterm and/or when enrollments change. But if your group experience is not positive, please send me an email and/or meet with me in office hours.
</$details>
<$details class="success" summary="Can we see past examples of opening questions?">
<$macrocall
$name="toc-tabbed-external-nav"
tag="opening_questions"
selectedTiddler="$:/temp/toc/oq/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
</$details>
<$details summary="admin details…">
<<table-dynamic filter:"[tag[opening_questions]]" fields:"tbl-expand created title exam_alt § fm" stateTiddler:"oqtable" class:"w-100 thead-dark" caption:"''Opening questions''">></$details>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="oq"
selectedTiddler="$:/temp/toc/sessions/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Not available.</p>"
/>
<<<
Soc: Consider this: Is the pious loved by the gods because it is pious, or is it pious ''because'' it is loved by the gods?<br>
//Euth: I don’t know what you mean...//<br>
...<br>
Soc: ...that which is being carried is being carried ''because'' someone carries it...?<br>
//Euth: That is the reason.//<br>
Soc: ... So it is in the same case as the things just mentioned; it is not loved by those who love it because it is being loved, but it is being loved because they love it?<br>
...<br>
Soc: What then do we say about the pious, Euthyphro? Surely that it is loved by all the gods, according to what you say?<br>
//Euth: Yes.//<br>
Soc: Is it loved ''because'' it is pious, or for some other reason?<br>
//Euth: For no other reason.// (10 a-d)<br>
<<<
: the conviction that moral expectations always must be within reach, or under the control, of the individuals to whom they apply; the denial of [[moral luck]].
[img[Mill ¶ outline for ch 1-2|https://www.dropbox.com/s/bcu316e0yc261sw/mill_firstreading_outline.png?raw=1]]
[img[Mill ¶ outline for ch 3-4|https://www.dropbox.com/s/p4v1uv2g873j4rk/mill2_para.png?raw=1]]
[img[Mill ¶ outline for ch 5|https://www.dropbox.com/s/jzbs9qrdb199nyt/Mill_5_outline.png?raw=1]]
Here's a few of the "slices" of information here that cut across the whole semester:
{{childtabs}}
For Thursday April 9, to finish [[Unit D]], we will read two articles on ethical [[dilemmas|dilemma]] related to medical care under crisis conditions (broadly following up on [[ethics and epidemics]]).
!!Two main readings (not very long):
@@.hang [[Tabery, Mackett et al, "Ethics of triage in the event of an influenza pandemic" |https://www.dropbox.com/s/2nxeah4kib1aeez/ethics_of_triage_in_the_event_of_an_influenza_pandemic%202008%20DMPH.pdf?dl=0]] in //Disaster Medicine and Public Health Preparedness// vol 2 no 2 pp. 114-118@@
@@.hang [[Kraus, Levy, and Kelen (2007) "Lifeboat ethics: considerations in the discharge of inpatients for the creation of hospital surge capacity"|https://www.dropbox.com/s/vgh945ylm9u9p2s/lifeboat_ethics_considerations_in_the_discharge_of_inpatients_for_the_creation_of_hospital_surge_capacity%202007%20DMPH.pdf?dl=0]] in //Disaster Medicine and Public Health Preparedness// vol 1 no 1 pp. 51-56@@
!!OR you may choose one of these alternative reading themes (for which I'll arrange an alternate meeting time):
* [[food ethics]]
* [[climate change ethics]]
<hr>
{{||vocabulary}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/pandemic_ethics/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
{{||navigation}}
: (from Greek para-doxa / contrary opinion) a [[claim]], or set of claims, that seem to be impossible to affirm with consistency, and yet which also are presented as warranted, or as conceivably true.
<hr>
Compare to [[contradiction]]: Every paradox involves (more or less explicitly) a [[contradiction]], but calling something a paradox requires (in addition) an attitude of perplexity or puzzlement, since the paradoxical idea(s) also must be entertained as somehow intuitively right, or deserving (for some reason) of being taken seriously.
Find and concisely paraphrase a pair of phenomena (as described by Ahmed) that stand in tension with each other. See if you can edit this pair of descriptions to highlight their contradiction (logical incompatibility).
Then, for another passage in the text, do this again. (Paraphrase how there’s a double-phenomenon with a tension/contradiction embedded in it.)…
<<paragraphs filter:[tag[logic]sort[title]] "" "float-left">>
<hr>
<<paragraphs "[[aporia]] [[cynicism]]" "" "float-left">>
<<paragraphs filter:[tag[definitions]] "" "float-left">>
<$macrocall $name=".example" n="1" eg="""<<paragraphs "[[aporia]][[Barbara]][[cynicism]]">>"""/>
<$macrocall $name=".example" n="2" eg="""<<paragraphs "[[A]][[B]][[C]]" notitle>>""" />
<$macrocall $name=".example" n="3" eg="""<<paragraphs "[[A]][[B]][[C]]" notitle float-left>>""" />
<$macrocall $name=".example" n="4" eg="""<<paragraphs "[[A]][[B]][[C]]" "" "float-left">>"""/>
<$macrocall $name=".example" n="5" eg="""<<paragraphs filter:"[prefix[J]]">>"""/>
<$macrocall $name=".example" n="6" eg="""<<paragraphs filter:"[tag[Core Macros]]">>"""/>
: devotion of greater attention or resources to some individuals rather than others, based on relationships rather than abstract features or merit.
<br>
contrast against: [[impartiality]]
Participation is essential to the process of learning [[philosophy]]. As with learning a language, practice and interaction are essential to developing confidence and fluency in philosophical [[patterns of reasoning|logic]] and [[dialogue]].
Please be aware of your level of background confidence, and try to compensate accordingly. If you tend to hang back without putting your own questions into words, please make a point of speaking up when you can. If you already tend to feel at home in philosophical exchanges, please consider how class dynamics (and hence your own learning) might benefit from greater attention to listening and [[interpretation|principle of charity]] of others' ideas.
!Exam essay questions:
//Two questions will be offered; choose just one for your essay. Please write concisely and legibly! //
!!!Self-knowledge:
Several authors raise issues about how well people understand the motivations, ideologies, or cultural factors that affect their own choices. Compare and contrast at least four authors on this point, including at least one from prior to the midterm.
!!!The Distinctively Human:
Many of our authors discussed whether and how human beings should be sharply distinguished from other beings, ''and what kind of moral significance this difference does (and does not) have''. Compare and contrast at least four authors' arguments and assumptions, including at least one text from prior to the midterm.
!!!Ought vs Is:
Several authors discuss the tension between ideals of empirical knowledge (of "facts" or what "is") and ideals of normative knowledge (of "values" or what "ought" to be). Compare and contrast at least four approaches to this tension, including at least one from prior to the midterm.
! recent material for review
<<forEachTiddler
where
'tiddler.tags.contains("postmid") && !tiddler.tags.contains("excludeSearch")'
write '" [["+tiddler.title+" ]] \"view ["+tiddler.title+"]\" [["+tiddler.title+"]] "'
begin '"<<tabs txtMyAutoTab "'
end '">"+">"'
none '"//No items tagged with \"postmid\"//"'
>>
Most readings that are not included in the four bound [[textbooks]] (available at the bookstore) are included in the packet of readings available via the Wes Print-shop. It is recommended that all students purchase the pack (even though a PDF is generally available via moodle) so that it's easy to make annotations directly on the printed copy, and so that all the readings remain centrally organized for study purposes. Contents of the packet include:
{{{ [tag[pdf-packet]] || $:/core/ui/TagTemplate }}}
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADmklEQVRYhc2VSWgTURjHgycFPVsEtQdRXE96UFDxZHtRXFDRClrxICoIIl7EhWo9eFDEi+jFBRFxqRUFccEusY11abSKjSa2WZqmbZaZzGRt+/d9r5nxzSSpk9iCD34Mb/Le/P7vmy+Jzfafj6l+vx+Ez+fT0e4FAgH09fUhGAyiv7+fEwqFMDAwgMHBQY7T6VzPnjOl3AAVotzr9eoBSG4OQHIxwNDQELq7u4lzRQ3RShsmAwpEAXp6enhQj8dzpmCAMFssr5g5odAzqVIUgK7xeJxXjVXwdF6A0FwbzGRZWZOtLYgcOzI2D/Yh9dmJcG0Nnw+zMqe+OKE8fpS3V4NOHg6HeYBUKgVJkngl2H1jJYJssZm0x43Q5mok3znG5r88CK5cAvX1yz/zAvtEtABut1vvIbrncrnoeldvTP8cG8xkWRMpTW8QOrCfz0lI19TPH2Ofs9ImqSKXL+bt1SBZJBJBNBpFLBbjUBVkWeYw9XQeoJctNpNiFTDMWQDfupVQP37Q54X2GejtLSqnnmDqWTyAe7YNZhLfvhrmadYDSucneGu28Xmy+3veHjP0lS0mVxSFAlTyAC62eDKgd15MbgjwnS2eDOhrV0iuqipHD8DGbMb8Iqxrbm5GU1OTTktLC6e1tRV2ux1tbW1ob2/nOBwOdHR0oKuri/8iamKzPJFIGAJMY8wowmJqJjP0fjUK/UeQnBpQLLkoTyaThgDjjUp6kBmtuQj51VPED22HfP2SodyFTq3JSwogysSu1ohfqYfs+gZ5d7VBXExOv4qE5QCiTGwq/bQNdxB/cBvyvi3jijV5Op3mWA6QJ8ydUj9tMABp7ULEr14cVyzKM5mM9QAGWe6EIiSU1iyC2vnBkpjIZrPWA5hlIiRTO99D2rAa8uljlsTE8PCw9QBmoQjJ5JNHody8BrXxPpR7t/8qJkZGRqwHMJfVQMCHyPJ5SLx3QLlxDbH9NYju2Aj5Qj2ks6cgn6/LExOjo6PWA5jLqqG+eIZo9WrE9m6D+vwpMqrCT6s2PoR04jiUO7cwsHSBQU5igoblAGJJiZTfC+lgLeIX6hBetQxpWTKUmZ+YQr+1I+PtNYg1eUkBtPeoEavdyUNENlUhaW/Oe7/mUotScVgOIJ6MiB09jOiurUg8aRhXWkxccgBRUkhYirSsAKKokLAUaVkBzLJyhWUHmBDbPwSoYFQx9kwwVbln/3VMzS2snGAqcs+2/QZXZB6MU7ZPlQAAAABJRU5ErkJggg==
Aspects of a final essay that contribute to its overall evaluation are as follows:
|!@@color:white;aspect @@|!@@color:white;score (1-4 range) @@|!@@color:white;notes @@|
| !Present your perplexity / [[problem]]|{{!!xf}}|{{!!yf}}|
| !Explanation of existing views / [[exegesis]]|{{!!xa}}|{{!!ya}}|
| !Develop [[dialogue]], draw out diferences|{{!!xc}}|{{!!yc}}|
| !Add an insight / alternative / [[amendment|friendly amendment]]|{{!!xe}}|{{!!ye}}|
| !Look it over: language, linkages, details|{{!!xt}}|{{!!yt}}|
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="pencil-alt" class="svg-inline--fa fa-pencil-alt fa-w-16" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"></path></svg>
: A moral obligation characterized by a clear line between conformity and violation.
<hr>
Generally, perfect duties involve injunctions //not// to engage in various forbidden forms of action, such as dishonesty and coercion, where some specific person's legitimate expectations (or rights) would be violated thereby. For one account of the difference between perfect and imperfect duties, see [[Kant]]'s GMM, second section. For another discussion, see [[J S Mill]]'s //Utilitiarianism//, Chapter 5
----
//See also:// [[imperfect duty]]
<$list filter="[tag[duties]sort[modified]]">
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
<$details summary="Kantian account of perfect vs imperfect duties">
!!!Three outcomes are possible when a maxim is tested by the categorical imperative (universal law formulation):
|>|!consistency|such action does not conflict with moral duty|
|~|~| ... //but note that we still cannot know whether duty is our actual motive.//|
|!inconsistency| ... in conception|''perfect duties'' prohibit committing such violations.|
|~| ... in willing|''imperfect duties'' require rejecting such maxims and acting positively against them.|
|alternating-rows|k
</$details>
<$details summary="Mill's utilitarian account of perfect vs imperfect duties">
Perfect duties are moral rules that involve:
* a particular person who would be harmed by violation
* an obligation for others to step in and prevent such actions and/or to sanction offenses
</$details>
<<table-dynamic filter:"[all[current]listed[]] -[is[system]]" caption:"individual responses for: {{!!title}}" fields:"tbl-expand § responses link result answer-key tbl-checkbox tbl-clone tbl-delete" sort: "{{!!calendar_date}}" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark">>
: The view that reality cannot be conceived or understood except as something inextricable from perspective.
<hr>
>How far the ''perspectival'' character of existence reaches, or even whether existence has any other character; whether an existence without ''interpretation'', without “sense,” becomes precisely “nonsense”; whether, on the other hand, all existence is not essentially an interpreting existence—this cannot be figured out, and rightfully so... ''the human intellect cannot help seeing itself under its own perspectival forms'', and only in them. We cannot see around our own corner...<br>But I think that today we are at least far from the laughable presumption of decreeing from our corner that one is allowed to have perspectives only from this corner. <br>([[Nietzsche]] §374)
: success in bringing others to ''agree'' with one's [[claim]]s.
//see also// [[rhetoric]] and [[sophistry]]
//contrast with// [[Socratic|Socrates]] [[philosophy]] as disavowing any interest in unearned persuasion
[img width=auto [perusall_logo|https://static.perusall.com/images/logo.png]]
: the study of phenomena, often with special attention to how things are experienced, prior to or without invoking the idea of a reality represented (correctly or not) in those experiences.
: (Greek term φιλία) bonds of friendship, affection, love, or mutual appreciation.
<br>
The Greek concept of //philia// can be distinguished from other concepts related to love: //storge//, //agape//, and //eros//. Although [[Aristotle]]'s references to //philia// (see [[Aristotle 3|Aristotle 3 (books 7, 8, 10)]]) tend to be translated as "friendship" Aristotle clearly has a broader set of relationships in mind, including family relations and relations of partnership (especially insofar as these involve mutual affection and shared activities of life, and not just physical attraction).
: study of the origin, history, and evolution of languages and meanings
<br>
Though philology enjoyed a prominent place in the academy during the 19th Century (especially as developed by [[Nietzsche]]), its role has largely given way to related fields of study including linguistics, classics, literature, and philosophy.
<$list filter="[tag[philosophers]]">
@@.h5 {{!!title}}@@
<br><$transclude mode="block"/><br style="clear:both" />
</$list>
<$list filter="[tag[philosophers]sort[title]]">
{{||$:/core/ui/ViewTemplate/title}}{{||$:/core/ui/ViewTemplate/tags}}
{{||$:/core/ui/ViewTemplate/body}}
</$list>
: approaching an [[objection]] to one's own view, or serving as a mediator between two apparently opposed positions, through [[charitable interpretation|principle of charity]] and an effort to translate or account for each apparently oppositional [[concern]] rather than dismissing or attempting to defeat challenges through [[refutation]]
: Inquiry into profoundly important questions and [[problems|problem]] that lie beyond other academic disciplines' research methods (including questions about virtually any discipline's deepest concepts), and into the [[arguments|argument]] or other reasonable considerations by which people acquire and revise their attitudes, beliefs, and practices.
@@.hang
The Greek word for '' 'philosophy' '' emerges out of two concepts: <br>
''//philo//-'': love (for or of) <br>
+ ''//sophia//'': wisdom @@
See also: [[philosophers]], [[areas of philosophy]]
The Greek concept ''τὸ ὅσιον'' (//to hosion//) is difficult to translate with a single English word; it has religious connotations of holiness, sacredness, devoutness, but also moral rectitude or uprightness.
[[plantuml[
:Focused Critique: -right-> (ENDORSING THE TEXT)
:Focused Critique: -left-> (OPPOSING THE TEXT)
:Focused Critique: -up-> (ASKING MULTIPLE QUESTIONS)
:Focused Critique: -down-> (MERE SUMMARIZING)
]]]
[[plantuml[
{rank=same; prem1 prem2 prem3 prem4;}
{rank=same; subc1 subc2 subc3;}
{rank=same; conclusion;}
prem1 -> subc2;
prem2 -> subc2;
prem3 -> subc3;
prem1 -> subc1;
prem3 -> subc1;
prem4 -> conclusion;
subc1 -> conclusion;
subc2 -> conclusion;
subc3 -> conclusion;
]]]
http://philosophizethis.org/?powerpress_pinw=1798-podcast
Diane Rehm interviews [[medicial ethicist Arthur Caplan about rationing in medicine|https://downloads.wamu.org/mp3/dr/20/04/r1200407.mp3]]
<hr>
Ezra Klein:
Try listening to the second and fourth episode below:
* "What Social Solidarity Demands in a Pandemic"
* "Is the cure worse than the disease?"
<iframe frameBorder="0" height="440" scrolling="no" src="https://playlist.megaphone.fm/?p=VMP7916640155"
width="100%"></iframe>
<hr>
@@.hl Content warning: @@ the Radiolob podcast available below dwells on situations of medical triage, with @@.hl explicit discussions of scenarios involving suffering and death. @@
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/729654/&share=1"></iframe>
: inquiry into the nature of justice and injustice, and other critical norms as they may be realized in organized civil societies.
: inquiry into the moral ideals and constraints appropriate to a specific aspect of practical life (sometimes called "applied ethics").
Contrast against: [[metaethics]], [[normative ethics]]
Practical ethics encompasses discussions of themes such as:
* Ideals and constraints on treatment of non-human animals
* Health care ethics (informed consent, risks, fair policies)
* Norms for end-of-life care and euthanasia
* Reproductive ethics, abortion
* Ethics of family relations, sexuality, and parenting
* Environmental responsibilities
* Moral norms for conduct in war
* Justifications for and limits of fair punishment
:A philosophical approach to mental and abstract concepts that treats them, in a broadly naturalist way, as preparations for and orientations to organic activity.
<hr>
See, for example: John [[Dewey]]
: cooperative activity through which human beings shape their environment and meet their needs — in particular, forms of activity that are culturally and historically shaped, and which undergo evolution through a [[dialectical|dialectic]] interaction between human beings and their circumstances.
: a claim (expressible in a complete sentence) which is taken to provide [[inferential|inference]] support for another claim, a [[conclusion]].
:A central norm governing philosophical [[interpretation]], according to which we read a text (or listen to a speaker) with an eye towards noticing the most [[consistent|consistency]] and reasonable view (by our own lights) it could possibly be trying to express, without ignoring clear differences between the author's [[claims|claim]] and our own.
:A hypothetical situation that presents a problem for collective action because the best //overall// outcome (in some neutral sense) is possible only if each individual makes a choice that is not optimal from their own point of view.
<hr>
It is called "prisoner's [[dilemma]]" because of a classic 1950 article in [[game theory]] that described a situation where two crime suspects from the same gang are separately interrogated in prison. Each is informed that the penalty for being convicted is a 3-year sentence, but that they can reduce it by a year by helping to convict the other. Meanwhile, each one faces one-year imprisonment if they refuse to serve as a witness for the state's prosecution.
So, if each betrays the other (by providing evidence to convict the other), they both serve 2 years in prison. If each refuses to betray the other, they both serve 1 year. The second result is "better" for the pair overall, yet each one reasons that //whatever// the other person does, it's "smarter" (in terms of avoiding prison time) to betray them. (If the other is going to turn against them, they should also turn; if the other is going to refuse to help the prosecution, it's still better to turn against them.)
:(in philosophy) uncertainty or perplexity — especially about how to understand or conceptualize an important issue, or how to reconcile apparently incompatible insights about a difficult phenomenon.
* //related to// [[dilemma]], which is more narrowly focused on a choice between specific alternative claims or choices (where neither option is ideal)
* //related to// [[objection]], which is someone's explicit complaint against a [[claim]] or against some aspect of an [[argument]].
* //related to// [[concern]], which is the experience of perceiving or attending of a problem.
: writing whose central purpose is to illuminate a conceptual difficulty and develop dialogue around a perplexing issue.
<hr>
''[[Problem-driven writing|problem-driven writing]]'' does build toward a [[thesis claim]], but the claim will be more nuanced than in [[thesis-driven writing]], and it will play a less dramatic role. The primary purpose of the problem-driven paper is to engage the reader in appreciating a problem, and only second to present some contribution or progress toward a better perspective on the problem. In the context of a problem-driven essay, a thesis-claim tends to emerge only in the process of writing and revising. In order to articulate your contribution clearly, you are like to rely on some ideas that have been brought into focus over the course of the paper.
//See also// [[thesis-driven writing]]
: (Greek term: ''προαίρεσις'') <br>the core human faculty of making wise ([[rational|reason]]) choices based on how things appear to us, according to [[stoic|stoicism]] philosophy
<hr>
//Prohairesis// is, according to [[Epictetus]], the part of us to which all other parts are subordinate; it is also the only part that is fully under our control.
: (in logic) a sentence-like unit of writing (or speech or thought) considered without direct concern for whether or not anyone is endorsing it as a [[claim]]. Sometimes '[[proposition]]' is used especially to refer to the //simplest// such units that can be evaluated as true or false. <br>
>A [[conditional]] such as "If there's smoke, there's fire" is a complex sentence made of two [[propositions|proposition]] ("there's smoke" and "there's fire") bound together by a relation of entailment.
//Contrast-against//: [[claim]], [[argument]]
: a system of [[inference patterns]] which may be sufficiently represented by [[truth-functional|truth functions]] [[operations|sentential operators]] on propositions, or claim-like units.
See [[modus ponens]], [[modus tollens]] and [[hypothetical syllogism]] for examples.
Aristotle's //phronimos// is a person who judges and decides wisely in practical matters. Irwin's decision to translate this quality as "prudence" may be misleading (see glossary entry in Irwin) if we assume "prudence" involves narrow self-preservation.
<svg data-prefix="fas" data-icon="puzzle-piece" class="svg-inline--fa fa-puzzle-piece fa-w-18" width="14pt" height="14pt" viewBox="0 0 512 512"><g fill-rule="nonzero"><path d="M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"></path></g></svg>
!!!! Aristotle's text is not a dialogue... but it illustrates internalized dialogue, especially in considering puzzles and [[paradoxes|paradox]]:
* the importance of fortunes after death: Solon's puzzle (1100a10)
* whether we act voluntarily when we are under threat (1110a5)
* we become virtuous by acting virtuously — how is that? (1105a, ref. back to 1103b)
* whether a person should be praised when they end up doing the right thing after making a //bad// decision, yet being unable to carry it out due to weakness of will. (1146a25)
!!!! Other puzzles may strike us while reading:
* bootstrapping: to study what is "fine and right" we must already have been brought up right. (1095)
* our education seems "not up to us", and yet our character is supposed to be voluntary. (III.5, 1113b5)
!!!Objective vs. Subjective happiness
[[Utilitarianism|utilitarianism]], like Aristotelianism, emphasizes ''experience'' and ''psychology''.
It differs in its ''subjective'' conception of [[happiness]].
Mill’s happiness is not “[[eudaimonia]]”
Nor is it the (supposedly) objective measurable stuff of [[Bentham]]'s hedonistic calculus.
!!!QUALITY: Are there more and less valuable kinds of pleasure?
Bentham: All pleasures are *commensurable* (like all money)
Note: We must try to understand this claim in light of the successful scientific quantification of many other “intangibles”.
Consider how bizarre it might have seemed, at first, to imagine getting a quantitative measure for other things that seem deeply subjective:
<$details summary="Can you measure warmth?">
Different people can call the same room "warm" or "cold" and the same basin of water can even feel cold to one hand and warm to another. But we can make a great deal of progress in discussing heat and energy if we measure temperature in degrees, and heat-producing potential in calories.
</$details>
<$details summary="Can you measure color?">
We now have research into wavelengths. They may not capture everything about color, but they certainly give science a great deal of information about what we're perceiving when we perceive differences of color!
</$details>
Bentham was hopeful that we could make progress in quantifying HEDONS and DOLORS — the "atomic" units of pleasure and pain.
Mill disagrees: Pleasures differ in quality as well as quantity.
Note: There is controversy over Mill’s arguments about how to tell better pleasures from worse...
<<<.dark
"It is better to be a human being dissatisfied than a pig satisfied".
<<< Mill, //Utilitarianism// p.
What evidence can support such a claim?
Can we make general comparative claims that hold for all or most people?
!!!Whose pleasures count?
[img class=img-right [expandingcircle|https://www.dropbox.com/s/tpvbg6efaf6qbbb/expandingcircle.jpg?raw=1]]
[[Utilitarians|utilitarianism]] differ in the extension of their moral concern:
* human beings?
* sentient beings?
Note, however, that [[Mill's|J S Mill]]'s claim is not that we must be always *thinking* about every being, but that impact of our (kind of) behavior on the aggregate of beings is what affects its moral value. Usually, we need only think about a relatively small circle of beings affected more or less directly by what we do.
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="question-circle" class="svg-inline--fa fa-question-circle fa-w-16" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z"></path></svg>
<$list filter="[all[tiddlers]]">
<$checkbox field="selected" checked="true" unchecked="false">
<$view field=title /><br>
</$checkbox>
</$list>
<$button> delete selected tiddlers
<$list filter="[all[tiddlers]selected[true]]">
<$action-deletetiddler $tiddler=<<currentTiddler>> />
</$list>
<$list filter="[all[tiddlers]selected[false]]">
<$action-deletefield $tiddler=<<currentTiddler>> $field="selected" />
</$list>
</$button>
<<<.fm
You should care about things in a way that makes it a possibility that tragedy will happen to you... you want people to live their lives with a deep seriousness of commitment: not to adjust their desires to the way the world actually goes, but rather to try to wrest from the world the good life that they desire.”
<<<— ''Nussbaum'', //Leading Lives that Matter//
<<<.fm
[You must] discover the element of good in [your] enemy, and every time you begin to hate that person ... , realize that there is some good there and look at those good points which will over-balance the bad points."
<<<— M L ''King'', Jr., "Loving Your Enemies"
<<<.fm
Some people think that humans are just plain more important than other animals. I ask: More important to whom? We may be more important to ourselves, but that doesn’t justify our treating animals as if they’re less important [than] us, any more than the fact that your family is more important to you justifies you treating other people’s families as if they are less important than yours.
<<< — Christine ''Korsgaard'', interview following publication of //Fellow Creatures//
<iframe frameborder="0" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/388850/&share=1" width="100%" height="54"></iframe>
<$setvars _r="[enlist[Happiness Good-Will Wisdom Respect Responsibility Love Principle Virtue Compassion Authenticity Integrity Helping Honesty Creativity Character Devotion/Piety Care Honor Harmony Balance Rationality Nobility Humanity Skill Conformity Rightness Justice Self-knowledge Peace Piety Maturity Spontaneity Culture Naturalness Pleasure Conscience Freedom Evolution Connectedness Survival Intelligence Hierarchy Transcendence Sharing Humility Equality Strength Revelation Altruism Education Obedience Belonging Meaning Security Duty Friendship Work/Activity Maturity Welfare Power Perspective Choice Progress Feeling Thriving Humanity Rights Compassion Self-Realization Equality Liberation Solidarity Justice Harmony Respect Safety Revolution Empowerment Perspective Love Healing Creativity Connectedness Autonomy ]random[8]]" random="\{{{\ [r] \}}}\">
<<random>>
</$setvars>
[[more random keywords]]
: the [[doctrine]] that some important kinds of understanding are afforded to us more or less directly by [[reason]], and not by sensory experience. Typically, some endorsement is made of the possibility of [[a priori]] knowledge.
----
//compare to:// [[empiricism]]
!!!Before your last save, after proofreading and looking over the details of your essay, take one last look for these details:
<$details open="no" summary="What’s at the top?">
:When the document comes out of my printer, will I see whose essay it is, what the title is, etc.?
|too hasty:|!just right: |too fancy:|
|printed document includes no identifying info, just the body of the essay|first two lines include:<br> name, date, title|paper-wasting title page; <br>page break before works cited list; <br>running headers/footers* <br>^^*Running headers/footers are indeed great for long documents; but since I print these in compact front/back form, there won't be multiple sheets to keep together.)^^|
</$details>
<$details open="no" summary="What's the format of the file?">
;Some people may prefer receiving PDFs, but ...
:Please stick with standard word processor files (.docx, .rtf, .pages, etc.) so that I can optimize for printing without wasting paper.
</$details>
<$details open="yes" summary="What's the title of the file?">
;Think about what your recipient’s downloads folder looks like:
[img[unhappy|https://www.dropbox.com/s/ikb1hq7s71veyae/cannot_find.png?raw=1]][img[happy|https://www.dropbox.com/s/o69sc46plbp2vzy/can_find_things.png?raw=1]]
</$details>
Thanks!
There are many [[ways of reading]].
The //[[Crito]]//, for example, certainly has many layers in addition to argument (character, plot, style, cultural insights, political messaging).
The most crucial approach to a text, in [[philosophy]], is reading with attention to [[argument]]. Noticing the structure of [[argumentation|argument]] in a text is a habit and a [[skill|skills]], built through practice. [img class=img-right width=35% max-width: 22em [fractal-tree-alpha.png]]
Like a tree or a river with tributaries, a complex [[argument]] has a core structure (readily recognized from a distance) as well as fine structure, like branches and twigs.
Some parts of the reasoning-structure may be easy to recognize, but other parts may be hidden from view -- perhaps even underground!.
<$details class="success" open="yes" summary="example from Crito">
The //[[Crito]]// builds a single complex [[argument]] for the [[conclusion]] that [[Socrates]] was right to accept his death sentence rather than accept his friend's invitation to escape.
Socrates is reasoning, here, about a philosophical [[problem|reading for problems]]: What attitude should a person take toward the authority of the state and its laws, given that these may unfold in flawed and unfair ways?
For a medium-sized chunk of argument, consider the passage that starts around 47a[[*|classic pagination]], and builds toward 48a[[*|classic pagination]], where [[Socrates]] reaches this [[conclusion]]:<br style="clear:both" />
<<<.triangle-right
We should not ... think so much of what the majority will say about us, but what he will say who understands justice and injustice... and the truth itself.
<<< //Crito// 48a
Here is a place to slow down and review carefully: What were the [[premises|premise]] with which [[Socrates]] convinced [[Crito]] of this claim? (Remarkably, this claim is the very //opposite// of what Crito insisted at the beginning — namely, that "one must pay attention to the majority.")
Next, in the context of the larger [[argument]], we can notice that the claim above functions as a [[subconclusion]]: how does it fit together with other claims to support the overall [[conclusion]]?
Over the course of the //Crito//, we begin to discern the "main branches" of [[the core argument|Crito outline]]. The better we follow the structure of the argument, the better we can evaluate and critique it.
</$details>
;Crucial [[vocabulary|definitions]] concepts for analyzing [[arguments|argument]] include:
:[[premise]], [[conclusion]], [[subconclusion]], [[enthymeme]], [[deductive argument]], and [[inductive argument]].
;Reflecting critically on an [[argument]]:
:Exploring possible critical challenges to an [[argument]] is an essential aspect of constructing [[microessays]] and longer philosophical [[writing]].
:In addition to raising challenges for a text, a strong critical reflection also imagines how an author might reply. (And can you follow up in response? How far can you extend your imaginary [[dialogue]] with an author??)
See also: [[diagramming tutorial]]
@@.triangle-right
Some have argued that...
@@
@@.triangle-right
Against this view, it has been claimed...
@@
@@.triangle-right According to [Other Author]...
@@
While reading philosophical writing, you'll develop a keen eye for phrases that show an author is concerned about potential [[objections|objection]] to the view being presented.
{{clear-both}}
Then you should have an eye out for cues that the current author is about to [[reply]]:
@@.triangle-left Yet this position must assume that …@@
@@.triangle-left Notice however that my position does not entail …@@
{{clear-both}}
In my own style of paragraph-synopsis note-taking, I have a special (backslash / slash) notation for such patterns:
"""
\ [An [[objection]] here]
/ [A [[reply]] here]
"""
It's good not just to notice this pattern while reading, but to practice [[anticipating objections|anticipated objection]] in your own [[writing]].
The best philosophical writers, when they anticipate an objection, try to [[present it in the most reasonable light|principle of charity]] , so that even those who have raised the [[objection]] in question will "recognize themselves" in how the objection is framed, and say, "Yes, that is exactly my worry!"
(The opposite approach, "uncharitable interpretation" formulates the objection in a way that makes it look ridiculous, and shows readers that the author has little interest in engaging in dialogue with critics.)
;Many disciplines and professions engage in [[argument]]:
:Lawyers build evidence for or against a certain judgment.
:Mathematicians offer detailed proofs for theorems.
:Scientists draw conclusions about how best to interpret available data.
Philosophical [[argument]] always engages with a [[problem]] — usually one where //how to think about the issue// is part of what's unsettled. That means that //expressing// a philosophical problem is not always easy!
For example, in the //Crito//, we can try expressing the central problem in many ways:
* Crito want Socrates to do one thing, but Socrates wants to do another. <br> <<hspace 2em>> So far, this is a //social conflict//, not quite a philosophical problem.
* Socrates is committed to doing X, but X seems to be bad for Socrates
* Acting with integrity seems to require following through even when others do not act with integrity.
* Never doing wrong seems to imply not retaliating when others do wrong. So it seems that taking rightness seriously in one's own action requires letting go of concern over whether others act rightly.
* The state serves a vital role in coordinating human life, and it cannot exist unless its authority is taken seriously. Yet if a state is flawed and can be influenced by human errors and corruption (as it tends to be in practice) then its authority seems illegitimate. So, state authority seems both necessary and virtually impossible.
Reading with attention to potential [[fallacies|fallacy]] is one way of focusing critical attention to a text.
<$details summary="Expand here for fallacy definition, plus list of fallacy-types">
{{fallacy}}
</$details>
Each of the following passages has been portrayed by critics as [[fallacious|fallacy]]. //Which// kind of fallacy pattern seems most potentially relevant, in each case?
Before claiming that someone (especially a systematic philosopher) has actually committed a [[fallacy]], we should attempt a [[charitable reading|principle of charity]]...
With each passage, how might the author defend it against the fallacy charge? (Then, how successful is that potential defense?)
<$details summary="Ⓐ Aristotle on what is to be censured">
<<<.dark
Not only are the vices of the soul voluntary, but, for some people, so too are the vices of the body, namely, for those people whom we in fact censure. For nobody censures those who are ugly on account of nature, whereas people do censure those who are ugly through want of exercise and failing to take the appropriate care. Similar too is the case of feebleness or defects, for no one would reproach somebody who is blind by nature or from sickness or suffering a blow; rather, one would pity such a person. But he who is blind from drunken–ness or other licentiousness, everyone would censure. Hence, with respect to the vices of the body, those that are up to us are censured, those not up to us are not censured. If this is so, then in the case of the other vices too, those that are censured would be up to us.
<<< Aristotle, //Nicomachean Ethics// (tr. Bartlett & Collins), p. 53. U Chicago Press.
</$details>
<$details summary="Ⓑ Aristotle on listening to elders">
<<<.dark
… and though nobody is held to be wise by nature, a person is held to have judgment, comprehension, and intellect by nature. A sign of this is that we suppose these accompany the various times of life, and that a given time of life is possessed of intellect and judgment, on the grounds that nature is the cause of them. …. As a result, one ought to pay attention to the undemonstrated assertions and opinions of experienced and older people, or of the prudent, … for because they have an experienced eye, they see correctly.
<<< Aristotle, //Nicomachean Ethics// (tr. Bartlett & Collins), p. 130. U Chicago Press.
</$details>
<$details summary="Ⓒ Kant on freedom and responsibility">
<<<.dark
One must frankly admit that there is here a sort of circle from which, so it seems, there is no way to escape. In the order of efficient causes we assume that we are free so that we may think of ourselves as subject to moral laws in the order of ends. And we then think of ourselves as subject to these laws because we have attributed to ourselves freedom of the will. Freedom and self-legislation of the will are both autonomy and are hence reciprocal concepts. Since they are reciprocal, one of them cannot be used to explain the other or to supply its ground, but can at most be used only for logical purposes to bring seemingly different conceptions of the same object under a single concept (just as different fractions of the same value are reduced to lowest terms).”
<<< Kant, I. (tr. Ellington), //Grounding for the Metaphysics of Morals//, 3rd ed, p. 52. Hackett.
</$details>
<$details summary="Ⓓ Mill on proof of desirability">
<<<.dark
The only proof capable of being given that an object is visible is that people actually see it. The only proof that a sound is audible is that people hear it; and so of the other sources of our experience. In like manner, I apprehend, the sole evidence it is possible to produce that anything is desirable is that people do actually desire it. If the end which the utilitarian doctrine proposes to itself were not, in theory and in practice, acknowledged to be an end, nothing could ever convince any person that it was so. No reason can be given why the general happiness is desirable, except that each person, so far as he believes it to be attainable, desires his own happiness. “
“This, however, being a fact, we have not only all the proof which the case admits of, but all which it is possible to require, that happiness is a good: that each person’s happiness is a good to that person, and the general happiness, therefore, a good to the aggregate of all persons. Happiness has made out its title as one of the ends of conduct and, consequently, one of the criteria of morality.
<<< Mill, //Utilitarianism//, 2nd Edition, p. 55. Hackett.
</$details>
<$details summary="Ⓔ Mill on happiness and morality">
<<<.dark
If the opinion which I have now stated is psychologically true—if human nature is so constituted as to desire nothing which is not either a part of happiness or a means of happiness—we can have no other proof, and we require no other, that these are the only things desirable. If so, happiness is the sole end of human action, and the promotion of it the test by which to judge of all human conduct; from whence it necessarily follows that it must be the criterion of morality, since a part is included in the whole.
<<< Mill, //Utilitarianism//, 2nd Edition, p. 60. Hackett.
</$details>
<$details summary="Ⓕ Nietzsche on two kinds of value">
<<<.dark
The distinctions of moral values have either originated in a ruling caste, pleasantly conscious of being different from the ruled, or among the ruled class, the slaves and dependents of all sorts ....”
The standpoint from which my values are determined ... Is one a mere spectator, or is one's own shoulder at the wheel… Is one acting spontaneously, or is one merely reacting to a goad or to a stimulus? ... Is one a problem one's self or is one a solution already? ... Is one perfect through the smallness of the task, or imperfect owing to the extraordinary character of the aim? ... Is one genuine or only an actor?
<<< Nietzsche, “The Will to Power,” No. 54, No 1007-09
</$details>
: an argument against a [[hypothesis]] (claim or position under consideration), which undermines the position in question by drawing attention to some unacceptable ("absurd") consequence(s) of that position
<hr>
See also [[modus tollens]]
@@.triangle-right That's absurd!@@
[[Kant's|Kant2]] [[categorical imperative]] is often ridiculed by those who think his Universalizability test (checking whether one can will one's maxim to be universal law) yields bizarre results:
!!!Let's try evaluating these maxims:
<$details summary="Maxim: Have lunch promptly at noon">
* This maxim should be morally unproblematic, but...
* it //seems// to fail @@.hlo ...What if everyone did that?!@@
</$details>
<$details summary="Maxim: Lie 1% of the time, and unpredictably" >
* This maxim involves intentional dishonesty, and should fail, but ...
* it //seems// to pass @@.hlg ...everything would go on just fine, right?@@
</$details>
Such examples are used in arguments that take a //[[reductio ad absurdum]]// form:
: If Kant's moral theory has such absurd implications, the theory itself is unacceptable.
<$details summary="How might Kant respond to such concerns about 'absurd' results?">
# Psychological realism: your maxim (principle of action) revolves around what's //doing the work// in your choice. It doesn't depend on particulars <br>any more than laws of science mention //particular// diamonds or planets.
# No free lunch: coming up with a consistent maxim to rationalize your action doesn't guarantee that this is the maxim actually at work in your action.
# Skepticism: It's always possible to come up with a description that makes someone's action look bad or irrational. Whether the bad maxim was operative is another matter.
</$details>
:the process by which a claim, or an [[argument]] for a claim is decisively rejected. An [[objection]] can have the force of a ''refutation'' if no good [[reply]] seems possible within the context of discussion.
: a family of loosely related doctrines (or imputed doctrines), all of which insist that some claim or concept can only be understood or evaluated once a further variable is specified.
<hr>
Clear doctrines of relativism specify what further variable helps determine our grasp of the concept in question. For example: "Cold weather" is a relative concept; in different climate zones, different weather counts as cold." or "Speed is relative; we need to specify a location (on the earth, on the moon, on a moving cruise ship) which is to count as the steady reference point for evaluation of speed." Unclear doctrines (especially when relativism is imputed rather than claimed) tend not to specify: "But if morality is relative, then anything goes." (Relative to what? is a good critical question.)
,,@@float:right; {{!!aliases}}@@,,
This great trick was shown to the tiddlywiki google group by [[Alberto Molina|https://groups.google.com/forum/#!topic/tiddlywiki/OCntQ79DuwM]]. I enhanced it a bit.
|!Search tag: | <$edit-text tiddler="$:/temp/RenameTags/search" tag="input" type="text"/> |
|!Replace by: | <$edit-text tiddler="$:/temp/RenameTags/replace" tag="input" type="text"/> |
---
<$reveal type="nomatch" text="" state="$:/temp/RenameTags/replace">
!First step
!!//Apply the tag <$tiddler tiddler={{$:/temp/RenameTags/replace}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> to the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}!tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/replace}}> <$link to={{!!title}}><$view field="title"/></$link></$checkbox><br/>
</$list>
</$reveal>
<$reveal type="nomatch" text="" state="$:/temp/RenameTags/search">
!Second step
!!//Remove the tag <$tiddler tiddler={{$:/temp/RenameTags/search}}><$transclude tiddler="$:/core/ui/TagTemplate"/></$tiddler> from the following tiddlers//
<$list filter="[!has[draft.of]tag{$:/temp/RenameTags/search}tag{$:/temp/RenameTags/replace}sort[created]]">
<$checkbox tag={{$:/temp/RenameTags/search}}> ~~<$link to={{!!title}}><$view field="title"/></$link>~~</$checkbox><br/>
</$list>
</$reveal>
<$button> Change alias to aliases
<$list filter="[all[tiddlers]has[alias]]">
<$action-setfield aliases={{!!alias}}/>
<$action-deletefield alias/>
</$list>
</$button>
<$button> Change alias to aliases
<$list filter="[all[tiddlers]has[alias]]">
<$action-setfield aliases={{!!alias}}/>
<$action-deletefield alias/>
</$list>
</$button>
:an answer to an [[objection]] (or [[anticipated objection]]), a defense or slight qualification of an [[argument]] intended to satisfy concerns raised by a critic. (Further objections might be called rejoinders, replies to replies, etc.)
[[Nietzsche]]'s writing actually uses the French word //ressentiment//, rather than using a German word. The connotation of being in some way a repetition or echo of an original or more primary affect may be crucial to Nietzsche's framing of resentment as a threat to authenticity.
<$reveal type="nomatch" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="show">Here's the question</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="hide">Question...</$button>
Here's the answer...
</$reveal>
<$button popup="$:/SamplePopupState">Pop me up!</$button>
<$reveal type="popup" state="$:/SamplePopupState">
<div class="tc-drop-down">
! This is the popup
And this is some text
</div>
</$reveal>
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/review/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
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
: insistence upon strict interpretation of an ideal or norm (such as [[perfect duty]]); refusal to consider exceptions as reasonable.
:A form of [[consequentialism]] that identifies moral action with //adherence to a rule or norm// that — as an overall pattern — is likely to have the most positive overall effect on general happiness
/9j/4AAQSkZJRgABAQEASABIAAD/4gI0SUNDX1BST0ZJTEUAAQEAAAIkYXBwbAQAAABtbnRyUkdCIFhZWiAH4QAHAAcADQAWACBhY3NwQVBQTAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGzKGpWCJX8QTTiZE9XR6hWCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApkZXNjAAAA/AAAAGVjcHJ0AAABZAAAACN3dHB0AAABiAAAABRyWFlaAAABnAAAABRnWFlaAAABsAAAABRiWFlaAAABxAAAABRyVFJDAAAB2AAAACBjaGFkAAAB+AAAACxiVFJDAAAB2AAAACBnVFJDAAAB2AAAACBkZXNjAAAAAAAAAAtEaXNwbGF5IFAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMTcAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAIPfAAA9v////7tYWVogAAAAAAAASr8AALE3AAAKuVhZWiAAAAAAAAAoOAAAEQsAAMi5cGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltzZjMyAAAAAAABDEIAAAXe///zJgAAB5MAAP2Q///7ov///aMAAAPcAADAbv/bAEMADAkJCwkIDAsKCw4NDA8THxQTERETJhsdFx8tKDAvLCgsKzI4SD0yNUQ2Kyw+VT9ESkxQUVAwPFheV05eSE9QTf/bAEMBDQ4OExATJRQUJU0zLDNNTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTf/AABEIAtkQQAMBIQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APQaKQBRQAUUAFFABRQAUUAIQGGGAI9DTfJi/wCeaf8AfIoAPJi/55p/3yKPJi/55p/3yKADyYv+eaf98ijyYv8Anmn/AHyKADyYv+eaf98ijyYv+eaf98igBPJi/wCeaf8AfIo8mP8A55p+QoAPKj/uL+VHlp/cX8qADy0/uL+VNMKH+EUAJ5Kf3aPJT+7QAeSn92jyU/u0AHkp6UeSn92gA8lP7tHkp/doAPJT+7R5Kf3aADyV/u0eSv8AdoAb5C+9HkL70AHkL70eQvvQAeQvvR5C+9AB5C+9HkL70AHkL70eQvvQAeQvvR5C+9ADTbik+z0AH2ej7PQAfZ6Ps9AB9no+z0AH2ej7PQAfZ6Ps4oAT7PTGgxQBGYiKYUNACEUmKAEooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgAooAKKACigApKACigBKKACigBKSgBDTTQA00lABRQAUUAFLQAtKKAHCnCgBwpaYCGmNSAiamYoAcBS4oAMUYoASigBwp9AC4p6nFADwM5PekcFsA0wH7SMMvBqCQZNADRnvk0j/ADLg0gIxkGpo2wynPIoAsIfkK1F5YJORTAY33skClikKTK55xQBYEm6QnGQetDNlsk8DpQAgfn0A/LFV5yPM2pnb1x6UgInfL7sknjJN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bYuIkAjjBYKMYQZpWklYfLAw92YCgAAm6EpH7gbjTXg3YLO7gHJBPH5UASgCMAds8YpzAkcAD0pgIUEkbI/IYYIrPhupbUm0aFpZE4Ur3HakBZMM843SymH0RMcfU061dj5iO2542wT6jsaAJc7zUKyfv2BGT7c89KAJllB9c+9TKcigB4FSAUABptACUUAFLmgA3YoLcUANZzjKke9B2sP60AVH2I+xucc07yyJV2NggdcfpQBIZJIypk2n3A4p0cilOG3HuvvQA1TtiByRkk/rT9zMmd3HvQA8SKAO9GSxyRgehoAfmkLc0AJmo94BPpQAiHcvWoJDySMlloAerYA2qee9ROUUgsMYPI9aAIgxVio4D8r9fSptomAbOMjk/wBKAHeWsYG0g/WmqF8zqRx3oAsDGMCmAd+OlAEb7RHmRhtzxVfDydNyRHqDjJoATaFJQAgnpknmnJG6yEgnb0xmgBXVRtxlM/lUUl0kKhZCuH/ixnNABc2qXEAeHHnJyrg5zVSWb7VZBk4eD5iPQg//AK6AM2WVppGdurHNbunw+VZR4GWf5z+NAEpXe3OOeiiqLRtZT+bwsbNtYA42n1oAr36HyomdlJH5kHmqCSMkodDhl5BoAuedLc3CGROxKr0BOKXUSJCkmAA4yNvSgCiK6GwOLGALtJI9enNAFhcbW3DHPXNLGC7nIwx74xn3oAl2AjYxyDwDVYxFmByFbOB70AJtMSvuXI6MO4qnFHHFM8Ks+x/mTa3BHcUAOiiWNgAuw7tpJ5yD61j3DmSUk9uB7UARg4IIOCKtW1pLeSEklV/idqAL5gWyYNjaF685yD3P0NTXV1zHFx84z+HWgC7RSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgAxSYoAaVppjoAjaKo2ioAjMdMKUANK03FABikoAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooASko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BxtPB70AIb+OSVFAeZF5wF6mrX2zJwbe4/74oArS6pCr7UR2b+7t5zTB/aFwTgC2jPr1oAIdMSOXfKTN/vDH/wCutBdqseABxjAoAlUYHNOoAjMQZssxI9OgqKaytp1+aIA+q8EUAYF9a/ZJygJKHlSagdJICPMUrnkH1+lAGlb36yL+/kKygjD9Mj0NOv5mSFQj/M/BxyCPY0ARWyNaztBIOXUHrnB9qp3Sr9rl2dM5HagBkUmyRXIyFIJHrVy+lWRpCpyCygZPYD/69AFECujtGcQqp7KO3NAErDzCFQYB65PUUigxMEkLHng9iKALDFJIsEde1QKwjZVkY7W5Unv/APXoAhutgTer8DgsPSrKgSkFZG6cNn+VAFJrea0eSVTvQHLbRgr7/T1FYlzzMxBB916GgBLcssyFThgePrXQuQ0JMqHzAOw7UAYlzOZSUViYgSVzTLT/AI+E/H+VAHTUUgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAMUmKAGlaYUoAYY6jaKgCMx0wpQA0rTcUAFJQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAJRQAlJQAhppoGJRQIKKAFpRTAcKeKAHinYoACKjagCM02kAmaaaBhRQAYpcUCCloAWpEFMCdBUq0AOIyKrzJQBScYNLEeaANK3PFWw3FACFSajKYoATOKgm5FAGbKOabH1oAuIBtqNxg0AOUVMoP0oAUgCoJfmYD86AAAEfTilc7LcknjAAoAp85BccHkAVLIisSw4B5Hv70gIFPODUikg4Xr0oAkSWQYVQDk/n2q2MiF94TaoxjdTAoQMQH2qSxxg+lStHEydfmA5J65pAQouWCnr7UrKuCDQMRdyD1U8YJpobkr6+tAhM84pfqaAJHEagYVu4JPSmhMvtHHGcnigB6KCOGAUAbmJxz6VGHJY9PTJ5oACPLkwQNp6c5q/BL5bfKyjPQ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AKKACigAooAKKAEooAMUmKAEK0wpQAwx1G0VAEZjphSgBhWkxQAmKSgAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASigBKSgYlJQAUlAC0UALS0xDhThQA4U7NAAaY1AETVGaQDaKBiinCgBwFOAoEOC0uKYDcU9aAJVbFPD0ALuzUcnNAFOQVEOtAF62fFaKPkUAONRucUAQE01jxQBVmGapng0ASx81NigCxEQopzyYFAESrvOal8nigCpMpXp19famR7VXOfmoAexIO1vvHvVVmMcmVPQ5BpAOtvnJ5xlhnNS3DRq2EOcDt/jQBCVyuWP4Uwks6jqTxQBY8vadxAK9abI6ngHIzxQApCrH84IbGOR1NV2G3HXBoAU/OckADsB2qVHCEj27UAN3becZxTwUWIlmO9uwoAZyw5bC5oRQ0oUsBnuKAHlmBUbvuHA47VaNxIi8gc8fLTAcn79T82R155z7VFbE2975brw3Y/pQBptiQ7cnd14GKqGR4pCMlnP3AemKAHNHKwEkxDN1C/wAIqvIxgg+8GB6DPQ0gKO7CHA59aliWNI/MdiZD91QOB9TQAgkIkDkbj6GntPJJ8rSbU7gUAW4beF+TKJfXcSMUskUaxjarAKeobIxTAaEydqyNweMAYqZJnRjlxlvvEjAJ7ZNICz5sRIbGxm6jGf1qcW6PjLBmxkbcUwHxyBWAaPbt6DrVpXGBngntQA+igAoJAGScCgDNutTAGy25bu5HA/xrPO6R9zFmbpycmkBKAsWC3Leg7VFJKWPP4CkBEzf/AKqVYyxyaBlhI8dqmVKYEgFOAoAXFLigAxRigBcUlAC4pjOifeZR9TQBGbqP+AM/0FJvnf7qKg9TyaAEMDMMyykj8hTd1rH3Un86BDWvoE+6CfwxUR1LjiP9aQELX8zdDt+lQvNI/wB5ifxpgM5NG05oAUJnPqBk04xEKG7HFADxB+8C9sZo8sfZySfm/wDr0AP+RZAw5AXHApjCPGT+WOaAITGGY7T2qMoeOO2aAG0ZoAkS4kj+63HpVhb0Hh1/KgB+yOTmJsH0H+FQvEy/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I4+jGnm7uCpUzOQexbNAEaSGNgy4DDocVYbUbl4TE0mUPUYFAECP5bhlAyDkVej1Z0z+7XJ7g4oAbLqJunAuNwh7pHxmrKXunqmEgaM9MhRnFAF5dTsmxmXnH8SmrC39rI3yzR/icUAU9alR7EBJFYlhwpzUXh/7k3XqOKANdgwIK8nqRUgwQMdKAA1Tu4mO2feQY8Eenv8ApQArwTM24zIQOgK1zNyc3khwB8x4zQB0Suk23yzjC/wkYNV0YRX0ahW2xp82AMjPY0AX1nSSRVTIc84K44plyXaSOCAgOTuZiM7RQBLFaImGkJlkH8T8/pWL4hP+kRD/AGf60AaGif8AIPH+8a0aACigArA8Q/6yD6GgC5o6407IJySeBV7c27dsOOlADQBKQw+4Ohx1psshgVcEtuOBxk5+negCpc3qw2hYEEklQuPmz71iRKZb9VmAJZhuANAHUIY9nyoAF4x6fSnRqEJJCh25OKAJc5ooAxPELfJCPrUmiyLHYnc2MvQBfllUxOdmQR/Eev4VXhkKLFDLGOg2ueh4/nQBYSIffyeehB5xVfVHZNPl6MDgZ9KAObaNfIEu/ndt2/1rT0e5EhW2diCuTGw7eooA1pZTER5qncflBA4P+FKwG9VJJY9WNAEU0SrbySZJCgnk9arWilraJmJ2lc8GgCYYQ4DOBjOM5quN63MgO04Kn07UAKSQ+AGHoeDToWdEztXnrg0ASK7quDgD2NEcxEhBRsY4PWgCfzEK5YED3FZOteW0UTIRkMRjNAEelSbRsPdsr9cc1JcTJHq5ZtpHl469OKALUMvnkNBllHUgU+KIeZI29txIyDkZoAbfWqyWjqsYZwMq+OTXNUAT2lwbadZO3QgdxXSApcBlGcOvAIoAQRrdxAF9rrzx1BFOVM5hlJVyPlbPDf59KAJxGrBSBtA7VF5iS4wdsittK55FAGFrKlJ1UnIwWAPbP/6qzaANZrNl0NZdxwTuK545P0rKoAmt7hraUSKAeMYPerK3891cIsjDbjoBjtSA3aKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoA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WzlKhZwvruGKAJI3iuH3rIpVeEAP60WgZjJMSD5jcEeg4FAFnGOa5nTvm1nP+0f60AdPR3oAKKAOb185uo+n3P61r6UP+JfF9D/OgC4VB6801iACoz6UANReck8ms3XVBtFLAFg3BoAxsMbNCGyoY5X0PY0WIzfQAj+MUAdHMVIwoYHOCKqorGWVweN4UfgKAItUZvsbfLxkDI6VHpSj7NuJ6tj3oAvJGVLtkN14NZ17byoTMG5Qq+PagC4i+ZGs8bb0JywyKy9WbMyqF24B4oAvxOqwrGHT7oODUgY7W3R+ZHjJPqfxoADcLChZgSn8JI5U+nvVkSDynO0MCCx54NAHMRyeVMki/wALVbvkAljlx8p7Hn3oAuNII5BGGVskFOeo96sw8KTyw5OaAIXkMl4kOSAFJIB5rO1Z99yh4/1YFAFGt7w+QYZlxyGB6e1AG0FyuMAVTniKESxj97H/AOPDuKAJoJ451DJkoec9afgljwcHoT2oA5LUdhvpvLUKu7GBVcdKADHNa+nqkIZHjP2jksCQCB26/wBKAKuoJiTzldiWPOc8GtRbkXFgCD82BkHk9fWgC1RSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKMUAJikK0ANKUwx0AMMdRmOgCMx0wpQA0rSYoAKSgAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooASkoAKSgYUtMQtFAC0opAOFOoAKaaYDTTDQAlJikAmKMUAAFOAoAeBS4oAQ00igAHWp0oAkzTGNMCFjTKQC0hFADMUooAQjNMxg0ATxgmpWQgUAV34NNoAY1IvWgCVQcVLGSGpgW0cAryOeCKtwRYG3IJIyARnFAFee2At2dmyEJDAHBPpzVRZHju7Z3ZG4IDHBBHvQBLcJOtu80UYSFuGC9B/wDWqpArXVzksFc/dHbI6CgDR07AlkUkqzEkqD0IPP8AMVcnH7sNkNsY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ZoA29Phke6N1PnzD0GOa2O/JzQBJk+goOe1ADcNnP4Vy2soBqUmABwOn0oA0rLR7S4sYZJEYOy5JDYzTn8OWzfclkX8jQBXfw0f4Lgf8CWqz+H7xPumN/o2KAK76VfR9YHP05qqwkjba4ZW9GGKAEEhp3meooAUOPpUsd1LFxHM6j0DUAWU1a9T/AJblv94A1HZ3QtrsTupbGSQDigDbj161b76yJ+Gasx6nZydJ1H+9xQBZWRH5R1b6HNOoA5rXzm+A/wBgVtaX/wAg+H6f1oAtk47ZqNclyT+FAAUOT6E5rM10n7CgIx8/r7UAZ8dsX0gzRj5lJ3e61QBKOGUkEHOR2oA6clfLAJwQOGAqKzUK0qkcrIeexPFAEOrsBYspI3M4PpSaOmLIOTwWIIoA0LfYC+CQu7jNVdTBEEpAx8mD9f8AJoAIopVhQkqjEYDf/WrH1NXSVI5Byi4yOh9xQBrRBAioQAu0Ebh61Eqyu22FjjvkccfXmgBzoU3mXzQ7HORyv6VCFMUDCOTAA5H3lPH5igDGAJRiASBjPtVieSOW1hIyZckHnsKANyCKKeCMEFwQM9sED+lSArGrxS8Oikhj/EP8aAMiB2fVGwdrsSowe9M1iEQzxrznZzz3zQBnitzQFBWcjhgRg/nQBqtcj7bFD0JViwqcqrjnkUAVGja0cyQrujJ5jHUH1H+FTLdRtE8itkKOfUUAcc58yQserHJpCKAJYADICX2beQ2MjPatm4MboI5wIZk+5IBlSfY/40AVridpLVrecBJkXgno468VX09oykqsPnGGU/pigDdopAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFJQAYpMUAIVppSgBhjphioAjMVRmOgBpSmlaAG4ooASigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKKAEooASigApaACloAWlFADhS0wCmmgBpptACUlIBKMUAOAp4F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KACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooAMUmKAGlaYUoAYY6jMVADDHUZSgBpWm4oAKSgAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooAKKACimAUUgCimAUmaADNGaADNGaACikAlJQAUooAkWpBTAWmkUANxSEUgI2FItAEoPFIaACgigBpFFABSZoAaxqJqAG0UAA61agNMCyw44qhKMOR3zQA2QFokb0+U1chjWaHzXk2MBgMTQBA9ydpQAE55Yd6elncSINzKinsSaAFsYkleS3kADN0J7EVDfRiOYJt2uB83ofcUAaOnsn2RUDYYk5q1KxRcLklyABjvQBT1GDdE0mMP1OOc1DNITpifODuOCPp/8AqoAfY3AiLW7tnH3Sozkdaekji6lVYSN+GAyBjsaAMqUs87Hux/rWkqQLHCrq43Aq2VP4H8/50AZrBkcqegNamnhI4AynLHOfrn/61ICtejNwTjGeahgeSOZTEQHPAz70AOkjV5BEjBmHLyMcf5FMEI2s8bFlXqduB9aYAMjoSM9fekxz/OkAwnP0FPVAYj0z35oAaxwpAFNjbBPbPXigCwE8wAEgjsQKfaqJPMRxll6e1MCzCInSIsnzcocD8Qarzx+XebcZDfdY9aAHBTLHFF1O49PSrEU7QwyIcb4hge4oAXzfn2YAVgW4PQ98VnxuUfeG53DigC3cTLOgEg+cDqv6VWkuGkt0jI5U5LZ60AWLZ5AwDMFRgPmPSmzkPb7xgMBtbHQgUAFsxWEZwVyTjuKW4QhEbdkZAIznigCG2kCSuTt2kHr0pfLG5sHHPSkBGB+9KmrenwJNfLvXKqN2PWgDpCQsRPQAH8KxdB5nnP8Asj+dMDQ1ID7OCRkhhisa75gxtI5FICO04jcYzzmq1wN0nC9KAI1jKtk4pWC5y1MBhmVeFGaQiVk34Kp644oAktbJ7rJ3BVBwSadcWqQFQuTkck0gIgKU0AOXpS0wIGPJ4plAFi2/1sX+8P51PeD9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r2kC27MroXAHP3SOfSltblpHXdIVXO7Y2SpP160AS6jcXEjLEFEbDkbWzmqr3STWksckTJKB1GOfrQBJazmONRAEJ2/fY8g+gFZSqWmC9WLY/HNAG+1zsWKKVI2UgBnPRP8A69EamBy0UoMXAdX6EDuPSgDNjmmhuZowwUu+Cx7c9hWhEgguhNLKxHUh/vE9uP6UAaJllfY4QogPQnlj/hXKq5N/5nfzc/rQB1yLFMu5o0J75UVDJZWRkVHt49zZ7YoAjfRLJ+kZX/dY1Wl8PQEHy5ZFPvzQBn32kPZQGbzg4BAxiqdva3N1nyI9+3r7UASvYXkZ+a2k/AZqFo5U+/G6/VTQAwMPWnrO6fckZfoxFAAsjBw4PzA5z3zV5NZvEPLhvqtAE66/KDl4Ub6EipV11GP7yJwvopFAFiPVrA9in1Ss3WLiK5mjaFw4C8kduaAN6ykR7SHa6n5AOD3qcj5hn0oAQjIFMYlTuP6CgDndaULNGO5BJrbt4VNrDnj5B/KgBBIAG8rMrEdEHAPvStHLIqhtqKMce/vQBO0IdcO2QO3QCuZRc60oAA/e9PxoA6WZEdCjrkNxj1rCudFba0kBAOfudvzoAymV4HKSKVYdqC52EZOD1FAGhpt9HawskqkhmzkVTuZRNcSyLnaTxn0oA37d0e3t/LKgjAHPIOKW5uk+yTLvy2wjrTAzdFnjheZpJRHkDGe/WtRdQZyfs9tLMf75G0frSAa326U5aSO3B7AbiPxrE1G3MFxku0m8Z3MOpoApjoaMUABFTRxwG1neRsSjGxc9fWgCW0077XCzpOqOp+6ahmtpoFUuVO7oAck/hQBBuI4IpCc0ASdqntDiYD1BFAHR0UgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKMUAJikK0ANKVG0VAEbRVG0VAEZSmlaAG4oxQAlFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAF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gAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgAxSYoAQrTSlAEbRVG0VAEZiphjoAYVpuKACkoAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKSgBKSgYUlMAopAJmjNAhM0UAFFACinCgB4p2KYBimkUgGmkoAWlFADhS0ANIphFADSKYaAEpVoAnjFWVTNMBTHULpQBCRQBSAXFROKAIyKBxQAE8U2gCxDEZE35PBwKS5VjFGxBwc4Oc55oAbbcrNg4IjJotHRJwznaMHmgCeO5ijDBtzbt2Rj34qF3jkkG3Ma9u+DTAspdrNbtby7mk/hZRnJ7VRclmYsDnv9aANi1uIo7YPvLEDLA+tQXYmuYw3lbAoJyx5NAFqxvFa3/euodeDk9fSqM6+fqEigBi2Rxz2oAv2Ux+zLuPzR/Kw9xWZqM3n3JYDAAAAoAlsQYfJkB5Ytx69P8KuPcSSIxgi8zGcufu/h60AYmRkllzx696sRQKbSSVg+7+HCnGPrSAYq8imFgT0x9KAJEX5C6OQB1U9TSrNLs2uxZOnHamA1jgUwMDnH50gLNrbq0EknRwcg/wB33otAj70dAxOMHOMUwC7iEZXJO49fSmbNihieGGR6fSgCIrk7c8+tOjbCuj8cd+lADSRsxt5z1zUgAaDcc7gccenvQAEq0QUZ3D9KawJOSePagBpKryTihrgFVUnIXp7UAN81j91SaJFmVQzYGegFADxau0YYyckZ21EY1AoAlt1A5BwRnnvVl2X93Goyuc4oAS0AE757jHFWAwky2Bz1FICpcqBKu0YBFXLRJVnIjG4dTg4oAsvcv86SqQxBPSqmlEh5FX7zLwfT3pgas6IluoXJ5HJrOvv+Pb/gQpAR2H+rf60y5HJ+lAFPHNNagCxaYWdCeAD1NW765jkjEcbZOck0AVoLpoIigAPOcmoZbkucswz6CmBCbgnhV596RTLK2F6/lQBKFKDaxyaKBFdx8xPvTDQMnTClG9CDWlPzMD6ikA3FNlH7pvpQMpH5eaMLtUgZ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1TvLhbiAFZVycZjGSc+pNAD7PT7e7szulCXGcLlun1FZ00L20zRSDDLQBJBdSWrb4mIPp61oNqEMtlMhBBZcqDyVOeRn0oAk0KORo5mjZFwQDuXOa00uBK4U4DLnAA4PuD3FAF3IzVLVhu02b2AP60Acl60DpQBLbruuIgcYLDrWlqtkqxm4GxTkDagwDQBXt9JlubQTxuuSD8h74qGC+ubQbY3Kg/wsMigCiTkk0UAS1Nbf69fx/lQB0lFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASjFACYpCtADSlRmOgCNoqjaKgCMx00rQA3FFACUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUlACUUAJSUDEpKACkoEGaSgAooAKKAHCnCgCQU4UwFpppAMNJQMSjNADgaXNAgooAY1RGgBtOXrQBbhGauIvFMBWFVpKAK70wGkA7NRtQA3FNIoAaaTtQBas1DA7jwOtSXZBtYQOuSfzpgURkyBE+83HWpLOD7RdpG33TycelAF6PTRPbuyna+SB74NTHTFWy2FAJcfe96AKM9k9qFMmCD3HY1XPU8596QFiBlwgCFmVssB3H1+tXSZZJNjudhGSF649z1pgZ7AR3HyD5cnbu7iprRk+3qUG1STjPbigC9b4S8nTG1DhwMVkTv5kzt6sTQBaiBc2yTjbCATt7ketWbvUQIDHarlQMM2OB9KAM6G3MyTyE4WNc/jVpZHW3UNygUhSPYjrQBXfAchSCM8EVWJ5NADw3ykfSrk9uyWiS71Ktj5duCDQBUc5wM9aaMZOOlAF2N3nQ7CBsGCAME1FAvVtpODyfQUAS3ylFQYx/wACzmo2WTYsbKCxwU9xQBGAvmAnOO/alkCsc7y3rmgCMsi9T+Gab54AwoNACB3c4UAe5ppDMDliT6UAPSENx1OKWWLABAGDzxQBdMZkkWIsFLHOfQgVBckMEYdxz9aA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puLeRFCnEjdsdPakBWjtnkkaNTyM8GrKQC1IeWUEjIwBk4oArXjrLKXj+50Ax0pbKza8ZkQ4wMk0wC4hW0uFUr5gC5PPWpzekvugSNUVPulRz7GkBT84udrgBSfujoPpUk1sbe5CBxtI+9kdO9AEbq8z5wxAHByT0H/1qjjXecUwJo2ntSzxDAOV3Yyfemgs+wv8ylucHmkBOZZQihCY9w5w/wB6pbW2GPNmYiUn5VJ5PvQBYkupY7P5mUh0Kgeh9azLZ/Kk35IwOMUALuZMvES0bDYd3X6VPmIRmR4WHKkDfgcD070AT6c5e4VY8n/ZY849q6At8o/Lr0pgYmvZ2wHHHPNW9G+WxDcYyaANBTgENxjpShyVyPXAoAeKZcnbbSn0Q/yoA57Q+b/P+ya6WgAo70AFcxf86y3++BQB09FAB3pCaAOa1I51gD0Zf6V0jSKO9AEBl3kheGB5z2qVMAEdqAI5ZQluT32k1z2jZN+TnHyHmgDoRONyKewzUhZiDgDPbJoARXz97rWPr5HlwjOTk0AT2V0kOmwR7WaRhwo6nnrU8cDXA/0ocDgRg8fj60AXEVUUKoAUdAKp6v8A8g2XHt/OgCnpQEmmeQBkyOc+w45qW/09L+Z/Kwkka8nHU+h/CgDnnRonaNxhlOCKjPegBV6U7OaAHpGZ5FjBCk9zwBRcW7wKpYAoxO1gcg4oAl+3t9j8gqPu7QajvphLIgVgyogUEUAVKUdRQBJVqzhZyZQRtQ4I+tAHQUUgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKADFIVoAaUphjoAjaKomioAjMdMKUANxRigBKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgBKSgBKQ0DEpKBCUlMAopAJRQAUtACinA0APBpc0ALmmk0AMNMNAxKWgQtJQAUZoAM00mgBM1Ih5oAtxvUu6gBrNUTGgCFjUZNADSaS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yFAxigDMlmMgCnhR0GMYpnUYzjNMCS1yJwElKMeAVq2q3FvO0QkRi/UOw/PrSAimhuJn819vJwzKc4+tQH5GdWlAAAHHIb6UwFM++3EZfG08ADrTYdufnLhfVOtAGhaLaxHzfOdmHKoOpNV74eXMkiKY2IzjPNAEUTx5LTs7dwAffmp5WLSssYyrLwOvHWkBWeUiMJk4znFOt0R3xISF74GTQBPJallBh8wuT3yDio7aB5ptmBhmwcn9BTA1Y99sAJoeN5VMnk1otITGuRg5GcelIDI1piRDnvkj9KvadlbCFvXI/WmBPklyTwTjHPbFWB8o5oAkU5Gagvzixn/3TQBjaAP9Lk/3P6iuhoAKKACuWlO7WT/12/rQB1NRtJgkUARLLtJBPB70N3CkZ6+xoA5yc7tVY9P3net91+WNx13Z/SgCKVso7A46tQJd1sufTNAEdyNlmeTkLz9SKyNMO24ZvRf/ANVAGwU2oADkjGfemIWCfKeB+poAtwtJ3AHtmsfWxh4fujg8KPegDQ04FbWFAx+dc8dq0VA2AZPA9aAEaM4ypO4cjmsfV5457clWyFIC49e5P8vzoAn0ZFis0lOSWJB9hmtQMCxoAz9cI/s4/wC8K5Y0AKBThQBuaMifZmJQHMn9Kh18YaDjGQeM5oAs3MzWmltG4JO3YjY+8D/hXNGgBKVfvCgCSrNm+HK7sZ7ev+cUAdDRSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAMUhFADSlMMdAEbRVG0VAEZjphSgBpWkxQAYpKACigAooAKKACigAooAKKACigAooAKSgBKSgBKSgYlJQISkpgFFIBKKACigYtKKBCg07NABmkJoGNNNNACUUAFLQIUCjFACGmGgApRQBItSLQBKop+OKAIXqBqBjDSigQ7NOBoAQjioyBQA0nk/Slc4xn0pgIOQKcCA/NAFnme6HVQB19qiA/dOOhJFAD5Z1Doytt29B1qHzDLISAXY8ktQBLFFJOkjbggQE9OtQbNyZYktnp7UATsUNpGoUbl6kUruWt1Tb93GT/KkBXIwaVfvc0APQHy3Yg4xjNP3FYkZDhgCp980ASpIi2LJgb93GfrVbcI8/NjPFMAUgjIzj3qushUnAoAcJXboQPwpCWJAJJoAu2C26yMbgA9MFhkCnXwRrqPylXAxgAcHmgCW6i5LMo5XcSB3qn5TeWWA+QHB4pAIybOCMGpBEdoZmGCODQBEB82KawOQfegBy9cUHGPemA0j04qxJF5Z56AkH60gIFORgUgOFzjmgA9h1pRk9aYDhx93qeKViSOetIBB8vJAI6VMP9UrBRhRg8+tAEcQPzYq4oJQUAQyf8fafhVuM7ZMjHQ0ACoVgnY9cn8Bj/69Q6fgSSEnGF4PpTAtK2ZWwFAPPHWmX5/0Yf7wpAM0/wD1L/71Ol70AU5+i04f6haALtr/AKz8KTVP+PdP97+lADrD/jzX6n+tK/3jQMrXY/cH6io7Efu3P+1QIjux+/P0FQ0wIX+8aaelAE0KBmjz0JwR+NMdDDM8Z/hNACqSrBh1BzVr7RLIGAZenIApARJI0ZLKcH1NSLdOXUeaOSO1AG8KiuP+PeT/AHTSGZVgP9J/4CavqpDsexpiH1RnvJYTyFwenFAynvIcP3BzU39pSZx8uf8AdoEX7GY3EQduu4jpV0UDM7VOkX41Jp3/AB6n/eP9KBFjuaq3e7GVdlwM8GgZlfaZSpJZuP8AaNNLl13NyaBGvpZzC/s39BV+gZHL0FQGgRkoMXUfH8VadACGm4oAidQqNjvzVO3YLJk9MGgC4kiuDyOKcrBs47UANeMNjCjI/Co2gIXIbnvmgCoM7z60gYphhz9aAI2yTnHFKMgjj3oAGOeScmpWVRApHU9aAJREht1P8VQspIJHIyRQBEamih3ws3Tng44oABEYyrsAyZ796SQASNggjPbpQBorcvEu2VVfKjaq1ZZNwGMpnHA7UAMa1L/6yQsB2AxVd7MpKCHJU8EUAPkhiCBNm15CE/CqNwAtw4UAAHoKALGmy7LtE6h+o+lblwiMPMVd57r60wJUCSRhgxx9apzCSG6DQy/L3TNIBkmphMgIQ+cM3Y49Kq3uoCeJkiHylcEmgDK7V0enTi4UKu4BVAyRTAvmLnOTmmsu0fNgn1oAQ/MuMjFQyRsT8gG30z1oAyNUP7uMEENu5qrZHF0hGO/X6UAaryuHBYbVI59AaWNfNbDuM9scUARNG0LOVVWU87j2qFQoj3gndv2EN3FAE6nbhA23aDjn9DVHUiMoqYKAnBHfoTQA7SlRvP38/LwPfmq88vmLGuMbFx9eaAHnbJbIpJLgYwegHr9anhcKxjREIb8aQCKQGlQsNueeevpT1fykwdpYndyOmKAKl25dlywP07VHbttkJ/2TTAnWeSR2CFjntntVh3IjWPG5sYHPGc0gImkR4yWJLnkH0+lU5+Jm5zjvQBF1p5GBQAg96t6eiveR7uVB3GmB0hlVjgMPfmjeC2AaYCk4ppOTx25pAZuuH/R4v9/+lVdFIFxLn+5/WgDXyrOSDken9alG49f5UAYOuR7btG/vJ/KmrercfZIZiVjjI3E0AbrXloYm/fx4x03VypoASigRq6F/x8S/7o/nXQjBHFAxgOGZR1z+VPGc80ALiuf8Q/8AHxD/ALn9aAItGXdekYz8hI+tdHFjadvAzxQA8nkCj6UAV7qHz4jHnB6qfQ9qbbTCeIPg7+jD0I60ALN/qmzg8HP5VyA60AdHZKn9nRcZYjI+uad9nd8GTG4n8vpQAq26WkkWOwxk9+mf61blP3QvXI/GgA80fxVLnp2FAHO68f8ATlA7IP61b8Pf6qf/AHhQBs9Kil+cMm3cp4OaAOWki8i5ljPO04qexmENwuejFR+Of/10gOkdwGAPT1rB1xt3lj0JpgVtKXdcnnGF/OjUHJuyoz8oA+lAFYHnNaOmKvntI3JUAL9TSA12lKjggAdTWfe6gQymP5JB0Y9MelMDLuZxco0jN+8yBj2xTbMQmQ+eSF28YPekA+eY8qPlB4YdutV95AAU8UDE5x161NbuibmkTecYUDt70CGsXLBW+Vl4HtTblXEx8zJYgEk0wLNmHVGYR7xnA55q60ojikidtwcb0PTBJ5zSAuwyDDMjAbsZXr+tZWq2f2d1uIuEc9B2NMBRqUsyDKITwMA8mpRJuuVxBtk75GeDSAypm33MjerE1sW0tlb2xMuXYgZBXvimBlzzmRzgBV7c9KQjbGhKkZ7+uKQDEmeIloyVyMGmZz15z60ANIxSn7opgNxj2p6qrsPMfA7nGaANCK1YoUgkIJ4O7jt25qgyqJHDEkj2796AEaFk4KkEDJHoPWnwQPcNsj64z+AoAfEpgdt7tGSOMd/UU2ScmZcuXVQQpOM4P/66ABXTIGwsBj5SOp/D3qQRSbhJHG0JH8QJ4OP/ANdIBLi3MKROX3NINx9qLS4NsxYAZYYyRnb70Aaf9oCG1iLktKzZHHBH9KzxfMk7yxj52YkAjOKYGjbTyXzqskB4Gd+O9aMi+YgVcBsUAYeqvu8geimtC2JGkxtnGDkfnQBZjcidmPO0BcY9Of61YTJXLDr+lAEgcKQvYVBqbY06Y+39aAMrw/8A8fMp/wBj+tdBQAU0uAcUANZ+OK5YNu1TPrL/AFoA6RZzxnvSMwxkHntQA0EFRu/Wg/u/mycdD7CgDAJ36zz0Mv8AWtw5WNBnPAOfX1oAiZgBMo5A9PpTEAWAb8j5uc+melACz5NnKzcNgisnS8ee5PQL/WgDZ2FpWSMnaPloXl8cH09qAHiUox9uorH1qUS3KEcgL1oA0bP/AI9IiB0UfyrRAG0Dg4HegCK4lKJhSVY8DHNZF9EbbT/LcgsXzn88j/PrQBb0z5dPhxu5J7+5rUwB2GKAM/WF/wCJa/J6g/rXMN0oAB0pw60AdBo6gWuQSCxOcmqmvZ8+DP8Ad/rQA/X7j93Dbrx/Ef5CsGgBKVfvUASVZtYHLLMB8gJB5/z60AdDRSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASjFACEU0pQAwx1G0VAEZjphjoAYUppWgBMUmKAEooAKKACigAooAKKACigAooAKSgBKSgBKQ0DEpKAEpKBBRQAUlABRQAUtAC0uaAFzSE0DGk00mgBM0UAKKcBQIXFBoAYabQAU5aAJVFSqtAEgGKCaAIHNQtQMbS0CDNLmgAJ4pppgJjOcUSjMgHfFACDaMAt+VLvXqFJz60AP3SO5A2j3phBZTuYk/WgB0iKCAowMU6LAJPTikBLazeVHKP7ykVBjjPvQ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nTyHBXPOS5wRnP8AjQBQ1KGGGdRAwII5AOcVFbIjli/RRkZIA/WgCYhJoCm1Vk6pjue/NW9MSKOJZZAC5cqpP9KANdWBUD7uO1MX7vPBHT6UwMDVGBuAo/hzx9TV+Bx9hjQ9MZNAFyFv3MRzlmG5vx/yKtZz8p6e1AC5XIA65qvqxxpsv4D9aAM3w8f30xP93+tb+4UALkYzVZ87m9e1ADlBIB7VzEHzaovvL/WgDoVI2qMY47+tS7FcZyeaAI1Uhgp6dc1IRuXgcjg+9AHNRH/ibAjg+bnB+tb8pJt0K4zz/WgCIDzIpSMHcd/5KKSM79gPJ+8fyAGf1oAivSFsZcnuQOetZWnNtlbjJOAKANePgEA4B4Y9zVmMBQSMZxgmgCFwMseMelYd/wASJ/u/nyaANW3QG3QdAQBx34q/GFSPLDCjvmgCBojcXBOTtTHGe9U9YQ/Z8licS4A9OOaALekjdYRAHkZ49KvgOoOAMUAUdUUmwlO4Y4wPxrmTQAClFIDptMTbYQ4xyCc/jWdrx/0qH/c/rTAzr+4NzeSSZyM4X6CqtACU5etAD6vWpxAP3n3n+5+FAG5RSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoATFIVoAaUphjoAYY6jMdADDHTClADStNxQAYpKACigAooAKKACigAooAKSgBKSgBKSgYlJQAlFAgpKACigAooAKKACloAKQmgY0mmk0AFKKAFFPFAhaQ0ARmm0AFOU0AToalU0APzUbNQBCxqM0AJS0wEpaADNJuA6AmgBCzHvt57UyfmT8BQALwFp+OD9aAHklXPc4puKQDjk4IpQCvOcUANDKoI3flSeYMEqpNMBfMcpwABnpQVfy928/hQBHtBHPJ9c0u0YxigBwwABQBx7UgHpM8cbqpwp4PvSCR0QqrEKeozQAoJIyepqvimAqDrTo28uUMOxoAu2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PGOoPrQBQ1mR0sxDIMsWyGHQj/GsA0AGCTSknvSA6G2ukitUyQCsQY56DiufllaeVpHOWY5NMBsEfnXCJgkE84rT1WN4rWNNxKBhgHtxQBj05OtAElasaf8AEvt2OPvHH60AalFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooAMUmKAEK00rQAwpTDHQAwx0wpQAwpTStACYpuKADFJQAUUAJRQAlJQAUlAwpKACigApMUAFJigQYpKACkoAQ0hoAaaSkMUUtMApaBCg0uaAENNpgJS0ALRQAtNNADaUUALSUAFFIBaKAE7fjTZeZDTATH3acD1FADsk96XtSAQf1pxA3tjJHNADRR3pgJ3o74oAcaTjJpALngDNG7HFADGODUqxBgWYnA44oAXGAQKr0wFXvTjtYc4zmgBG7U5Og+tAEvlLsZjgOvb1HrURGWBzgUgFU5HXjtTARnk0AO7Ug9qYAe1A6mgAP3jTk6GkAw+tOXkY6UAPDAMSTnjHSkxyKYCA4Oev+FKTkggAfSgBJGJxk5A6Cgn5Rx1pAPjHfGce2a1YQRGufShgU5f+QgPqP5VLcP5bRvjOHBx60AWJP3dgVOCwQg/jVTTvvv6YGc0wL8ZJJBHvVfU/wDj3X/e/pSATTv+Pdv97/Cny9TQBRueWX6VMo+RfoKBl22+8ah1b/VR/wC8aBEtl/x5R/jSn7xoGVNQ/wBUv1pbAYgJznLHj0oEV73/AI+D9BUFMRA33jTT0oGSJ90U8kjkAdaTARiDxnnv7VH9x8dqAJDz60m4r2GKAAuuMc5pc5I4x9KAHbtvOM/jTop2HqQTz70AbSPvTOR+Has696LSGU6jIHnHnt/SmI3dMH+hR856/wA6vdqQzL1b78X0NS6b/wAep/3j/SmItDvVa56N9KQzEcLhvm7Dt70R8Jwc80xG5poxa/jm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oxbIYnA9KSMsrrtOD064oAnknykqzJmQg4Ydq0YZLO3gj+eMMBnrk570ARtcrPKqw87GJUkYB4/xp98yLbQhR1YHrz0oAy7n/j4YDoMDirBYShRz1VPwHWgCzFL85wxGOnFSTb4wJEOU7r1x/nFADBIHO8MNrHPp0/xxVW+kLoqnGFY4NADtNcIHzjpxVlvMKH/a4OenSgCrbFkbcOq8getWYmAiVnBLZPPrQA6QfZrV1yN+3k+orLtQTOADg4NAFxdzS7l5U8fj6VYjd4kdG4ZeRjpg0AMS4OTx2wRn9aaZG81txyrIcUAUbP8A144yMHI9quIxkt5WJ/eKxYH8OaAI5HxpyoeuQR9K0WY2untzkhc59zxQBkPIfsgTAAz19ajiJAA6jOcetAGqp/dMzt8+Bj29KBcxJ5bAd9qj1UDA/rSAkeVtrSk/M4wF7/Ssm5BF8ykljuGT+VMDZ2AuE2kso6jt61J5ZblsAEfdHYUgFWREYB256AetZ+uuGeAD+6T+tMDbhb9zGF67RyfpUo9v/wBVIDD19QJYSP7pFYhpgP60YAFIBkjmRsn6ClRDIwRep4FMDTjtbuOAFJkCgjj8qq3zT7UScowBOGXvQBRp6dTQA+rce8vBuCjHA45IxnNAG9RSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKKAExSYoAQrTStADSlMKUAMKU0pQAwpTStACbaTbQAmKTFACYpMUAGKTFABikoAKKBiUUAFJigAxTTQIaaaaAG0UAFFABRTAKXNAC0lACUCgBRS0AFIaAEpRQAUUgCigBaXFAAByKjb7xpgKO1TTIAkbAYyv50AMhOPToetS7x9lReMhqALMjQNfAllCBefTNQLLGomyM7s7aQEIkHk+XtGc5zTT25B9vSmA3FIB8xoAcOtNH3/wAKAH7cLnA5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46ACrt9KPs4j2kZOT+H+RQBmN90VPbK2A6ruwcUAPlEoGGDAsck9qdkNIHYARgYUY9KQF9MPIpG0dyx6D/GsmYq2oE5JXeOe5pgbwkUsEU4B4P0ollVmEanjHJoAasBDDgH61m60f9JjUY4Tt9aAN2HcsS7sE4AzUyjAoAxNfOZIV/2SaxW7UAPpjnjFIBlWLLH2qLJAGeSaYG/MF8o7lBGPlX+tZWrKqrDtx3zzn0oAy6enegB9askZWO1LLzjgj020AalFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKKACkxQAhFIVoAaVppSgBhSmlKAGlKYUoAQrTStACFabigBMUmKAExRigBMUUAJRQAUlAwppoENNNNADaSmAUlIBaKYBRQAtFACUooAWlpAFNNMAxS4oASikAUCgBwpSKAE9KjbrTAcozVickxRA9hjrQBWxwPrU4CGJSWYsHwV7AUASFUjvCsCh1HGG6CqzZMhB9TkUASeR/o4mBzzgj0pjSFgqEAbQcEDk0ANA4/GgDBoAahy1CdT60AS5/d496FbAPekBBIfmqUAk/ex+FAEmNowarUwFWrMSZRueBzQAxQDGc00DnFIBu0q2DTxIR8pPymmAu0qee/OaawGcjoe1IBMYFKQOODQAhGR9KF9xQAjAc460JwDQA0CnjhaAE43HA4NOUbeB60AN2ZbAzz6U5VKk5HI7UAEg4980kZK5x3oAkRlX73Q1sR/cX6ChgUG/5CP4/0qS7OFX6/0NAFd2+V/wAf5imwNt3fSgDTtCXDH0OKi1MEQof9r+lADtO5tT/vH+lOl6mgChdffX6VZH3F+goAt24ZwdvCevc1W1YBFhAHAz0/CgZYtv8AjxhPtT2wASTxn+goAzb873TAx8v9asWIU26kcnkfTmgRVvv+Pg/QVWpgQv8A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QXHOTgCgDMqRO9ADq3pSrafat1PHP4GgC3RSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKMUAJikxQAhWmlaAGlaYUoAaUppWgBpWmlaAGlaQrQA3FJigBMUmKADFJigApKACmmgBpphoAaaSmAUlAC0UAFLQAUUAJSigBwpaQBTaYCgUpFADSKSkAUCmBKq0pWkAwioz1oAmjXg/SppE3BB04pgMEC7mUngDINQAbWzigC/B5c95+7ztMfQ9qrx2pkjll3fcJ4x1oAlGP7NIwc54596p9/egA/hFITk9OlIBqdaE7/WgCTOVxTMlX9jQAx+XxUwGOcZx6UAPzuXOc5qtjigByd6tRHETe+aYEKnA+tH8WfxpAK3zHNRt1pgOXlakMQCowOd1IARQz4IFI6lRg4NACIpbHGaWXGBgc4wfrQBFtwM0Ic7iaAGipVAIHvQBet4BF+8DDpySKgusecMHPyimAxowHGDg+opspccsQMnOQe9IBjK7cgE0vlkD8KAHIu5gCQBnkmtRZ4wBmYf980MCmXU3+/d8ufvY9qlmZW6OG9ttAEUp/dN8uM1Hbg/NhSfoKANO2OxP9ZEueSD1qHVH3QxjejfN/D9KAF05sWpG9B8x4NErcnLKfpQBSuSSwx6VMWxH8wJwPuigZp2xYQKRtGefmNUdXLHytxXv92gRPBIUsYfunjGO+aXIJzIVHPC59hSGUNQVVmBDZ8xQePyqzY4W3RdwJOTj8aYitff68kEHjHBqtTAgb7xpp6UASp9wVKWUxg7SG+ufxpMBknTIB/3jUa7iVHHXr60AWAVH3l3D0ziq7ZztPFACjIO1gQfelHWmA48c0JL83zAEHjB6fWkBIIoQ+AzFRySD1/wrXtWVoSyqFXoPU/WgDMtR/pUR/wBqtwUMByuin5zjPtT/ADIuzCkMyNXKtMm05+X+tT6Y6C0+ZgDuPWmInLjeNpB+lPBpDFrFv/8Aj8kz7fypoRq23/HrF/uipcD3oGIwGOvrUXGMZ60AY8A/0qNs/wAdbGPcd6AEcYQcjtVaL/Up9BQISb/Uv/umqdn/AK/8DQBfxTCMzKD/AHT/AEoAkpQKAMyP/j9H+/Wgw/exj6n9KAJcVXf7s30oAtH7p+lYSjAFAA/QU3O4KP7ox+tAFizAN1H9a11Xb5jEden0oAWJA0EYI/hH8qxroAXMoH96gDQsI2DOzH+FQB+FWx/rD9KAGn/j5X/cP8xVWcjdL9RQA4YDR5/ut/SqN/8A8fj/AIfyoQElq221kP8Atj+VNuCSquOuetAAJwdgcbc/kRTpZAExjHIFIZXmbcy+gpZOIyPyFMCDtVwEMo4OQOT70CIAcdOpJqUHhTnntgUDJDGXUlsIV7dTUEalI1cEYJ5HpQBHLy1JGOQKBFg8sfSmx5804/u0wJgx5+WlWME5PJ9aAJFBXpxWfcHM7k+tAElmSJG/3akgBF4pAXG7saAL7MTNKufuruFN858Q4wfMOOnSkAeZIVlYxg7DgDP3qTcrSrGY1yy7u1AFO/C4iKqACT+PSobcK1wiOMg8YoA0FMUSyBcqqnDdeDUlukazFOCX5O7rQBmTjBI2bcHA96h6dfpQBKBhaZIMBaAEHQ/SgAgA4oAvSyeWioByABiohKx/hFAB5xI4yD7GlMrlsLuxj1oAhuJXdVDMxAPANMi3eYu3Oe2KYE7TOhKsSSPXmjzAc5A46/KKQCh4z1UfkRUg8yVlVBgdPYD1oAcYmh3oxB/r6Gs6mAUUCHxHD9ccGtBLmRUwTkNzzyaBksVyvmDcBtHp60+O7HlCIHDD5QT2HrQBOk8QVVEgA471jak4e/kIII45H0FAFvRCBcyZP8H9a3GdQuSw/OgBgkRujj86jeRVwQwznHWgBWYAZbGO9RkbmBxx2FAFK/cC2lX2A/HNYw70AbMRIVMHIwDmpAW8xSOCx6n0pAXkZs7T1pwJzzTAinfgYzncPxFZ822G4CfPGh5+U9aAMhjl2+pq9Y4Cgs5AyeO1AEk8ew+YhAVhjcOtMa2JjGz5/XHSgBkwAY5jwwBHJ/Kou1IBcAVWkGGoAkjYKOpByD/OnDk5PPegBJPlO0DJNT2Vr5m6Q43KQAp4yaAH3EzonkEqTu+bHNUnwV9+v4UARmnEZGKAG8UY5oAVgA3y9PSgKWBI6Ac0AWrWHfOi5A/Gq0gxM49GNAGna3Zt4YkkUlHzj86ZqEkfmIItnTDbR29KYFL+N89hRGgKZJxn2pASBUB4pZIWdWkHCAdz1oGVlGWAzjNWmMbTqM/IvU+tAglkjyQFJBHWqqZwaALHmSHpncTg59arHOTkUABpT1pgKAMDnBzTSSox2zSAaSc5PJp2aAENP525xxTAbxg5pDSAdjdjA59KQk4A7UAOcscBsZUY6VNbsd20DPtmmAtwInt1kjIVicMmBx9KmRrq1VDFKsiOBkdQPb2oAls57gzzOIlJJAY+g9qmmBfVIgTj5DigDKnH+lSD/bNaWn7W82XoSwGMZwBQBNIFW7ibcNrA8j1FPuwyRtMjnkAN7ehoApMxa1+T7xRt3uM9ai1BgVhwOcEknv0oAt6UENowYZJbp68Co8iORrYkMokUhvagCJYsXFtnOHKnb3q65EL+aY2RSCjcjj0z+OaAKup7VKbW+YqQRntVSyZlnyvXFAGjFEEBAAyTkketSbBjFAB5YqO4QC3k6fdPagCjp4zcH/dNae0egoANopdtAFHUgBHH9TTrHzlt8xOFBPQjNAFhYzuLyNvkPU0OAF6jOOpoAhY5QjkE8e1Z0XzXKZ6b6ANXdh9oXBHJFWbaPed7DgdB70AUJP8ARb0KFO0kH1LVBqBR70GPlSFoA6Ak4+UUmMgkkDHrTEYGp4F4yqchQBVLvSGDHJptAGppcYjDSseWU/hUNmzPqIcDJLE4oA2ycAEtn1x2rJ1vHnRAZHyk8/WgDLp6dDQA6taeXa8duOgbePoV/wAc0AadFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKKADFJigBCKaVoAaVppWgBpWmla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jaOP1pxnwCTux7r/APXoAQXIb7rZHsKiu5c2zjPXHY+tAFWwbbI556dhmrxuQuNxI+q0AKLgHof/AB00faB/eH5GgClqEm94+QcA1JDNstkXcBge+aAG+du68DHOOpoL/vSWQgGPGOnfg0gElkJcgAYH86qR8yA/jTA2LeUvuwu5vfjGcVWmtZPNbzGAOM5xSAnEUZgCRtlz1Kms6RQl4Qp2gNwT2pgK0suWDuVOc46U2SV2JZ5GJPXPekBXJ3HJo7UwFVc804cNSAeWz1pidaAJVK9WUnHocVBN9/8ACmBHUidKAHVNb4+0Lj3/AJUAdHRSAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKACigBKMUAJijFACYpuKAEK0hWgBpWmlaAGlaaVoAYVphWgBhWoytADCtMIoATFJigAxRQAUUAFJQAUtAC0UAFJQAA07NABmigBKSgApaAA0ygBwp1AC0u6gA3UZoATFBHFACOq4GOtRrQBK4UAbTzSsqKBtOT9KAEK/LncOnTFOATy8lvmx0xSAE27OWOfQCljCNH8xIyemKAGvgAhTxVbtTAcnQ1aITYeXJx7YoYDY9u0hiw57U1tvmcElffrQAr+Xt+Xdn3pU2bfmBJ+tIBr7SflBA+ualzER91v8AvqgCNdu89cfWlk2gcZz9aOoDBGGXOSGpApGc07gR1KpBAz+NAEp8rPA/8eqP5fM6fL9aQD8Rkfd/8eqJsb+OlCAkwB2z+NNbHHGKEAoA67c0NjB4waAEUgdRmn7h3QH86AGZG7px6U7Kj+EfrQAjFSvCgfTNKpA/hB980ALv9EWmu27GQB9BQgFSVkXAA/Knee+Oij8KAuNdmc5OKd58g9PyoC4NK7H0+lRs7NyeT70IA+YjGacrsvYE+9AXCRy5GcDF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qAK15E0ckYP9wDIPXFMjyF3YYknrQARBcE85XOeOMUs7+a8cYzkdSeetAEj2G1SwkPAJxiqQ60AWVs5WQMu3B5pVtrhc4jB/GgBrW846xH86b5EveJsU7gMaGQc+U4/CmHPcEUAABIwBk+gpCrD+BvyoAQZzyDUz9QKQDT1puTn0oAT+KnUAL1FMI4FACc5pQNoBBoAUnNI3WmAgpQ3rSAdSYB+lAAevHSnIA77SQPc0ASWwUybWPBHGKmnVQqBOcmgCOXcCobg/So2UiUjqcUAMiUtIFHU8VtwWQRQ0hyxwcelMCzMmYWTd94Y6Viq0j2yIWQIM9+aQEDDDEDn3qM9aAHqSDwBUzg/ZmyozjrQAqKDcwoDwQuRTJgPnCn+LAGfemBb1OBYoY9oAJb+lVLdGKOVONozQBLA8pv8A7OXOASDz7VNM8iXEyB22xpu60ANWaQ27S5bAbbjg1WuJ3cBD0PPQZpAT6bG0gl2tjpV5bdyPmc9KAK6lmaRQzZQZORTGUtH5m8hc46GgCjcKVl5OcgGrMcDvEWRRgDkmmBe0+Eq3zIMEcnNTxx/6bcBVAGF6D2pALcxLHazseW2nmsWyiMszqDg7TzTAhE7IwKEjBz/kVEST1NACU9I2lcIgyx6UAXRpxSMuW3MAD04qtNgSEKQQPQ8UANFIp+bNIB4Oaa/3uKAG9aBTAU8e1Rv940AJUi/dFAEsALToB1zT7Vc3LZ/hzQB0VFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASigAooAKSgAoxQAmKTFACEU0igBpWmlaBiFaaUoAQpTSlADSlNKUAIUppSgBpSmlKAGlKbtoANtGKADFGKBBSYoAMUlACGm0AOFPFABRSAKSgQUUANamjrTGSClNIAo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X5m9hQSaAEkAA4JIPNMHUUxj9uR1pxxx049KQhpApRgjGPoaBhjg8gf1qOmgCimIUZLDBxUmz3pMYbB7UhXjqKQhAvrUa9aaGSDBHNL3496QC4IpdhxnHBPWgBNpz6Uu1c4yaAGS43cdKavUHPSmBL5gz1oyv40gDnPP6U8EmgCRWi2YKZfHXPBNV5BhDyKEBEtTKMqOn402Ao75I/Cl2r/DSEKQO5x9KYdvrQAhZffNQjrTQyTfgYxxRupAITx1peccCgA49DTtuO1AiH+KpkI2dcGmxicDqaX8aQByO9Ie3egBr4wen4U0U0A4H15pxbI5pANyMYxzRn1FAhQQeuKbIQcYpoYsf5UvShgGSB6UZx0pALu65GaGIwaAIR1qYKMcHmmwFMfGcjFJsXHLHJpAG0HgUAAe1AEZxu4qVVGPTPemApxzyKYV4zuFIBPQZH1pQSG60AR/xdak3HHpTAXJxRk0gDkdTyKSQkjmgBidafnuabACcnoKOueKQBx69Kj/AIqaAk7DtScYORzSATGKQdTmmIQ05TwKBi55oyKQBuxTWOaaAVcbaXIPagBOCKNo9aAGd6eDjqM0AHWgA0CEbOOtIB8hoGR0uD6UwDHNBoAOR0pQ7DozfnQAvmOeCxI96QOyfdOPwoAXznz/AAn8KXzz/dX9aVgEaTeMYx+NOWRVGCpJ9c0WAXzYz2YfhUHemAVLQAoqe3/1y/j/ACpMDoaKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKACkoAKSgBKSgApKBhRQAlFAgooASigYUUAFFAC0UAFFABRQAYpMUAGKTbQAbaQpSAaY6YYqAGGOmGOgBNlJtoAaRSYoAaRSYoAdikxQA1xxVVhzTAegqX+Hmg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H402ApyM4zSZY9SKQChuxOKXdgfzoAhJyxNODnHSmA/aepHWkGcZx0pAJnHFKSe9AEQ61LjaTzTYC4zjJ60HpnmkArH5enBqNz8nTFACRDJxT8E5OKbATkHBFL3GQcelIA459qiHWmgJSBjjt3pu09c5pAG0nmnAnoRQBG5yaeuCoBFMAwA2QtICvUrSAX5T0yPaoz1pgOBwBS8nFABk4GBSZJ5pANH3qdn1pgHPal+opCGv0HFIR+7NMZGKkC8ZNAARhaFxigB2RSnGaQCEgqfWmqcA0wF39sUcGgBrDFOHSgAJ4NQUIBR1qWmAo6Hjmpbc/wCkKPr/ACpMDo6KACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKACkoASkoAQ0lACUUDEooAKKACigAooAKKACigAozQAZozQAZpKADNGaADNGaADNGaAFzSZoAM0UAJSYpAIUppjoAYYqTyqAGlDTCtAxhWmGOgQBPal2e1ADhGfSkYFe3NACA5xkYpC2P8KAEIz0/SgDntn2oAcuckdvWhzlu+KAGhvlCk4Xv9aaRnvQArp0wGP1PFNCfvRkYoAsrCpGdpY9MYqsisXYHoOeKAJh5qfdkJH1qFZRuHyqx+mKALCXCryEKNgjI5GD7VEwVnyrAKPUUAWmJlOVKn0AaobhNqqSu0nqcUALGimEN0PNKEBBJHJ460gsQQjMhAHODgVOEJ68epoYiCQ56dAadDjjrn2o6AOZiJMZz3qFyd2elNASJKNgHcU/cKQiFjlvxqwCuecD3psYjEelV5QDI1CBE+FxwOaCgYccc0hEMy4YAZ6U+NAYwTxyeafQZG/Dmm1QiE/fNB6UDHx/1qwDgCpYMUSZ7gUu/3pCIYjiTNWMk9KGNgCQR2prDCsTzxQIijUh+RnIqbYMg9KGAoA9TSMvynvQAyNctTiNqsc9uKfUZVqzEgMYyetNiIpP8AWGp4lBUZ60nsMdhT3JpPLB780hCOQnQHFRdeaaGODDaOtB3HpmkIcC2Tx+NLlhQBW/5aL9atjntTY2GOeAvNBUYPyjHtSENKDaxGM4qFQd6kde1NDLCKScOSMjPSjYQME/8A1qQAVZepBzSBWzgkHigRVcfOfrVn8KbGL7iggfhSEIM8YHPtTLgkqM+tCAIl+Q8VKowORQwEyMncDigbD0U0AB2kZ2VVcgM3HGaaGTxqpjHzYyKdswB82fakACgxjH/16BCeSBkg4qu4y7D3poZJEgwTnGKl2Nj7wNDAcUbPak2n7v3ifSkIZ5YI6DFMlA2cY49KYEORj3qwFB+8Mj6UMYm1MggmnEDpk4HoOtAgIzn94fpSY4+9k0AQuMOOc0qY38mmMmG3PBpCvX5qkQ3b6ig8YwKYAQeoH4VDJndyMGhDHJncMdalG9T8rE+4oYC/M33gaUqyKDhiPTFIQ0O3ZCDUoGThlzQBBcgBlAGOtJEQJBnH40+gyfcuOoJx6UwSEt8rH8qQh5dlOGNKr56DNADX3DPIwKrS5Lc00MRcgjFSb264oAFdyeOMVIzqAOM0CEVx6YzShhkkD8KAI58bOD3qJfvD60xlj6YNGPpSEH45oGTnp+dAAQeMmq5HU00AlFMB0f8ArBVj6GpYAFPPalBfGN7YPakAxvuntxVZetUhk8Y4707Iye9IQ0jn0oyRxigABboRxSbuxFADJCC3FCNtOaYyQSD1NL5o9SKQg80UpkB5NACM6jpznrTJCCnB5z0oGRipgVHUU2BIpTym5IfsKYScdRSANx6ZoBIXOeaBCMTg88YqEDBpoZMH2qKUnjPrSEG72HtSbzQAEkD0ppJ55oGRDrUoJ2gA02AuTyPzNDDA9KQCcHPWjkjAAzQAj52cgUxTTAnyBSF9vQdaQDPMGRxkehpQ3HBx60AKc4pk2Q+Cc00AsWcHBxT2Q8cUMBPUZpDk8UgDAI60SoYwMgjIyPegCHvUzY4x1xTYBk446UAc5akApOew96QgY4oAiPU1JkYAx25psB2fc4FHPBNIBcA4yR15pflOScAigCuOtWGZCCQOnamwG+YDTuXHy9VGcZ5pAMEnrzTZHLD6nmmAkftUoYDnvQwGjHOBzS7geCKQCce9RDrTQEmDwNvJozg8HFIBWPOegpN3f2xQBGakVc80wAsy/wAqQE9jxSAUnApjdRTQCjGKcCBkcfSgBATng5FByBSAYv3qf9aYCYx0NLkkdaQhrHNIT+7xTGMHWpNpIGD2oYCHOKExzmgBwU8HIx60detACMMCliQuDjtzQAYFOJVsfKFIGOO9ICN+1PX7vTtTAQ9D9Kr0IBR1FS0wFX2qeDHnKe/P8qTA6GigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgApKAEpDQA00lAxKKACkoAKKACigAooAKKACigAooAKKACkoAKKACigAopALRQAUUAFFAC0uKAExSbaAEKUwx0AMMVMMdADCtKBQMeuV6EU18k5JBNICMr9Kb5YzkDn1piDY5/gz7k03GSAyH86ABtmMEAikILYwB+dABs28MB60Ajp2HXFAD2kR3UIOCeNxximtjzCR09qADJIB80g56U1VyxJODigB/l/WoFXDg0AOYMOc5BpjBg3B49xQBOIkK53kHtkdaY7ui8liD+NAEkcj+WGC5H0pWkU5yhQ+ooASMKkiuH6How4NWZZfNBCyKSewOAKAKk0ZjHBODmprcKLcmVwFbOOOaOgyOaZQ4VB8uMY71CTnk5zQiRwjLLuDY9aesLH2FK4EbqFfbnOO9PZcDkjnuDxTAYTk9aYxIbJ5zQgRYVz0NO39eM4pCIpiCw9MU6EnyyAc5J4p9BkcpzIc0yqQiFvvmg9KBj4sYP1qyq5UdOlSwARHt1o8o+2KQiMctgcd6kGQTt60MbFywHHagltpyOMdaBDEb5zxmpd2f8KGMTJJwM0hPy9c0CGxkhuKJXDIRnkU+oyvVmLPlrgihgRPy5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ACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKSgBDSGgBppKBiUUAFFIAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAWigAopgLRSAKKAEooAXPtSH6UAMMSntimGDntQAwwsCSBn6VGwPQ9aQxNnHBUH9aQRNycmgBu0Zz/Sk4UkjPToKYC7xnlTS7Qe/FAg2Ic4puF7L+QoACCBkIxqNgPvEbcepoAZ5u044B9qQ/OQG5x0oAm27/wD9dIrheAST7UACt5meCCPWlEqhscbhQMcHzyPwxTcZ6jmgBMgADaSMckdqXaDk7eKAGsozkjFDMM4Az7kUCBIjIS5GFUcknpUJRW5Xp2oGXpJysA2vluAc8YqtLcu7DOMChIGyFwJMH1p8QMYIIBXPfrTEKxBpKBFZ/wDWMR0zTvNVcd/pQMlSYckY/wCBVZS5IGGRW/rQAoe3frGV+lNMMRPyOx9sUhWIfJkb+A0n2dtpLAr6ZFAxA23HtTt4K49KBAjEOCDwRzUgJClieDQDED7mGelOkkUqyjikBErbWznP9KJH3ADGcGn1AZgk8VYTaE75789aGBG33zSqDjgd6AH/ADlskZBpSHz0wBxmkBIHZuGPTiq2eMkn6U0BPHzEoPSlYKRSATYD060CJWGRzQIqj7w+tWBFtOM02NjtgB6UgQkE5FIQx/u+9QqPmH1poaJ/cHHvSBhznnmkIcwJw23API4pinJ57UARk5Yn3qbPQ54psYo5GRQcDGTSENJAHGQaZI2TwuBxxQhgmOfWpSQFoYDScZIB4600bsckUCHZ79cVATlmPvTQE8b7VGDzinMec9aQCAKQSeM9qMqG+7QAFg5yVxx26VA3Ln600MVWK5xTgxAyBntQxDs4IytJuw3AwT0pAPVuOQDmmzEGPIXjOM0AQCpwF9DTYxcDGOlG3PANIQijI60bd2QDk0ARSDEmDSYqhkijOetSAAjHvnNSIQqQ3WmlW64x6UALhhwKhlGHweuKaGNQZcAdanMMi9Bk+1DAFDKvJxTifVuTSEIDjvmnEgeuaAIZiSVz1psZw4qhkrvvAz2pMZqRAOucU55HbAY5I9aAGhi+Oecd6jk4bmmhiR8uKnUYwcihgNDDHFOyKQgZeSM01YRjh+fSmMZKCE59ag70wLZPIGBzSAcZUUgAoCfSl8seooAQx98Zx71XPWmhBSUwHJ94VJkCpYD/AJSny5zSFWJGBmkMR87G+nNQLVICdCQBzinbznrkGkAgx1pxOc0CEUijewz0xQBA5zIT70+I4b8KYybPPWk5A4NIQhwe9KCAeetAB8uDUMoAIxQhjVqcAE9MfWhgKVyM45NNKYHXrQIbs57mjZk4zQAOhCZzxUQpoZIVYDNHlvjK5IHXFIBQznnBA96A+SRjmgBVb5j6YprkAEUARDrxUwYADI7U2AGRtpUNw3OKNwCheOKQDc9MAAig8UCGu2aRRk9cUxjyDilUE8A80gAgikzigAAyCehqNh8xpoBegp+cY5yaADdnrRkH60gDJAPHtSMTgg0AMXrT8+1NgA4+lLu9qQhDzSEUANXrS7TTGOwV5Pahix+g7UgAD2pSnyk+lADF61LgZ6cmmwFGOpB9qQoT3pAKFwfWo5ei00AsXTmngg5JpMAyMnign0oEIx+Q5PaoV+9TGTDPAoxzSAUAhuvFBwDxzmgCBvvGpgBgHFNgKABQQOKQgz2z0qF/v5oQyVc4FO2kigQAHA96HVhnaDjHcUDIIhmQAd6seWcZoYDcHselGB1zQIil+/Q+PKFMZEKsD680MBsv3V9aSMfLR0AdjIzTumKQhknTHvSxnC0xjuBg4oz0pCIpSS/PpUqn15HcUxkl9MJVARQqoMcdKz6EA5etPpgPQ4FTQZMyZPr/ACpAdDRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFJQAUlACGkNADTSUDEooAKKQBRQAUUAFFABRQAUUAFFABRQAUUAFFABSUAFFABRQAtFABRQAUUAFFABRQAUtABRQAUUAFGaACigAooAM0h5GCM0AM8pSPQ+1MMHoc0AMKFevOfWkZDtydtIZEwHU/gDQeF5JYt6UxCFc/dWhlfbgYFAxD5jABmGPbvSnhFAUA55IOc0AN2nsuT70LGT94gewFADTC2dyttPbIphgmHIcHPqaAJNkgA3f40zyNzEknJ96BDxGEGFJFLnaOeTQMYWlkcBOOwx0/GpGaPGNxJ9+1ACEA4x0pVGT90D8aAFwpBUtkelMZOSKAGtGxwdwI+lMCkcFePagQ58YBBzTVAzzQAhHAxRimIruAGI96ZigCZF+Sp1jyAcmgYNgcAktTckHkUgFS5I4V2B9DU63UmOcMKAAvA/34se4qN44gv7liSexpgJHAxwGXvxSNE+7lWC9BxSBkLKVPUUq8nkj8aBCk4P4UdV9hxmgBxGPu56daFYAYNACMSW4p6OACM9TQA8OQMDvS+aHYfXke1IBWlTLY7mq2aaAnBGxQPSjPbtSAN3XHT0oEhBOO9AiufvD61aVuSe465psbD5s53celJ8+Bxk9aQhSe5AxzVdThhxTQ0WPMX+L8qAIyMqMZ9KQDmYY7gYxjGcU3y8cZJFAFZvvN9asAAqBjoKbAehIBAGBn0qMqO3LUhANu057c/So5MbRg5NCAWMg56fjTwMj1AoYCbztK44JzTOcZ9aAFAJqI/eP1poZIOMEUu4Z9KQhRjb97NAbpxz60ALn3qFjl2J9aaGPiQMTkgU8qoGATihiGHI4zUitnOW9+aQCZX/9VNkfMW3dwO1AEParPH402AjED+H8c00tz6UgHY3ZJY5NIEA5BoAikyZBn0pVHNMY7kdjzSKxyetIQ7cN3zHil3ccGgBd7D8f1qCc5kz7U0MSM/vVJNWTIc4B49aGA1ju43dKZjHNIQ7cKMoT3GKAI5gAVx06UkY3OBVDJ3iAOAcg96QqQnynjPNSAhA9OfrSbSB65OKAFAIADAiop12lQPSmgETIII6in5Y4+Uk0AB3KevPfBprSHNACq7HtTkSWQnYKAInLdGqPHNMCypPfvTt3bJpCHBuD0pCwGelIAVgMYHFVT1NUgCimAA4INSLIv8Q4pMY/O44VcZPGKkzhQB+NICJ3Oxge9QLTQE6MuwA08FSfujikAbVIxg0p2qOec9qQhAy9h1pvmDBpgQt94/WnxkA59qYx/wApPtSeXk4DUhDgoC/e59KNvPJoAcQO2OPSoZQBj6UIYxeozU+QR34oYASCMdKbg8YoEP2MOfz+tSeRMOsTYHfFIZBIfkIINQgc1SAlJz2pSSpxSAQMfXj0p4OOooARnbOSc44pjsCh9aAIl61Jn2psBMbjS7D3GKQAYyMcZoxjrQA1gAARSLTAl+vSkCgk9KQCgMvQ0roCoZRgd/agBuOmaibhjimgHgfLmlwKAEx7UYxwKQBk96RvujimA1etSAcc9aGA4ICDk0qrsKsB0PcdaQhVj5pmME5oAiXrU+eME8U2MUgkEk8U3CikAcMfT3pG4DAmgCNetSU2AoPODQSe3akIXOeB1qKTtTQxYzgU4nikAA/lRgetAgb7p+lRr1poZLyOKTPOelIQDPTtml7E5oAhb75+tTj7tNjAjoQefSk9M0hDlKioH5ckU0MkBPFLvPrSEKJCDx09aGkJU5OaBkMZw2alBPvTYDm+XikJOaQiGTljSyD5AaYyMdamwfxoYDZRjHOadGG8vIHHrQA7DbcdqCucDNIQyRcAc0qAbQaYxxI45zSE88UhETnL81JuNMYyU5TpUJBHUYoQCr1p9MCeKB5I8qpIqSOFo50JGOvf2pAb9FABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAJSUAIaQ0ANNJQMSikAUUAFFABRQAUUAFFABRQAUUAFFABRTAKKQBSUAFFABRQAtFABRQAUUAFFABRQAUUwFpKAFpKQC0UAFFMAozQAUZpAHWjB96AF2MetIYc9hQA1rfPfFMNr/tD8qAGeRIPQ/SmlSv3l/OkMOT93H5U3HPPWgBu0Y75+uKXaMcUAJtP5Uh3c4P5UAQuZeCB+tRmTa33Px6UwJlbIGP1NOI74zQAwuVHyAc8H3pyu5YBkwPc0CFPDZzz7VHu+c9fpQMj8tjypOfWpVOF+Y4+poENWcj5TtbPbpUiheoH1oAa4p0QwvOMZoGI4BbtjFRMMUySu/wB9qYaALEZHlqKnjhlb+MDHY0hkq27AZaQE/wCyKGtl2kljwM9KBlSFA8uSOBzVtipAwq/gKBEYjDE9qjkGxSRz7UARxyZJ27gcVMt1Kh+9n60ASfaUkH7yEH3FRyCF/wDVrg/7RxQBGkLbgSpK9wpBNSC2mYElcegoADBIP4G/KqsisHbjH14oBjl+6M9acrhcq4yjcH296YDuOQMnnAqPo3vSEBJLZwfrS0DQ+MgHpnj6U7rwc+lAhT7/AHQOPekB28+nIpBYi6sPrVgZGTimwY0yEZANJ5/4GkIaZycbuRTehHtTGiU+UeqYpTKuAqjgUgEEozgHil83J+9jNAiGT77VZjORzzxTYwMhOeCPrS7lbntSEMKqSSOlMmXZjOMHmhANiwc+vWpQB2P4UMBDyM9aQN6igCTJON7daqsMO31poZYjQGJTxTfLHHOCaQg8tgflANRlmH8PPemAgLHkD8qjOSeetCGSJxninfvWJwC2PbpQApQ7FfruFPRASCRSAZIhViy8ioi4YGmhCdBUpJVRkYyOKGMA42gEEH270fePFIA3EDp1pQcAZAoEROTuzRESZR70xluRdvyplzjJwKhJIOaQDc5PNPySBjOPWgBCR/eqGTl+vamgEABYCplUA/OTx0oYCFQQCT3p6lQOenvSAUom1X3AE9jSbR1oAimHSkT74xVAWDknCjJqNsjGSNx6ipAME4569qVsqOhoAA+DkdqZM29gT6UwQ2P7wqfkqc9KGA0gHqB0oxEeg/M0AIBGB1/KnqTGCFJG7r9KQEUzEqP51CKoCcbsDj6+1KFA5z17UgGFSehFOA9eaBC7h0PSq56mmgCkpgSQ7PNHmDK88fhUwG3oo68Z7VLGPLkn5sUzIB5zQAyQjYcelQL3poC3FHC8Y8xmVvYZpGCqxA5HrSAQkg8Zppctj2oECYPDdafwfugYoArN94/WnoMmmMmwoGDRhSCSakQbFHc5FJjAyDmgBVJH1qKYYYc9qaGNj+8PrU2AT9aGAuwE1IoVWBYZHpSEIrMkm4dQcg1M15Ky44osO5VnO5SzZ3ZquvWqQFlUAyCetG0A5pCAID6f40ELgZNABgAjPao5AoU4OTQMhHep0C8etNgOGBmkKZPXpSAUKM/jQygkHGaAI5egwKYgycdKYEuAMnnik6cY70gEyR1qZHA4boeDQA1+Dzj61Wb7xpoCWMAqc4xT8r6ZNIAOMkYpAB17d6AABBnA6+vamzH5QB0zQBGn3qlJI6802AdaCWIHP0pAAJoY5yaAIU+9U5+U89abATPTAo5x0zSAaCR0FBJKmgBqfe9akwcEAU2A3BHNGTSADTH6imgFUcUvvjikAhz6U5QeaBAw+U80xPvCmMlLAdDSZBApAGKCelAER+8frUoIAIpsBc8CkxnrSEOL5UADhahPLGmhjs4NKCO9IQuOM+tNcYGaBjUODmpUV2ztUnHpTYEvk5h8zOCDjB4qOP53VcgAnqaQEL/eIPWnFuD7UwIhwanL98UMCN2LkZzSqxVQMnFAC7jQCx+tIQjg9+tWoIo3jTKt33MD+VMY+S3hDg78J3B61HKtv5hZZNq+g5xRYCs4QuSGJH0qXzox0iH4mgBjTbhjYqj2qJmXHamAxetPoAcCQvU4+tSW5/0hPfP8qQHSUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAlJQAlIaAGmkoGJRSAKKACigAooAKKACigAooAKKACigAopgFFABRQAUUAFFAC0lABRQAUUgCloAMUYoAMUYoAMUYpgGKXBoANpo2mkA4IPWjYKADyxSbB6GgBdq56U4Y9BQAUUAApaACigBMCkK5oAYbdD2x9Kja26bWOfegLkbW8g6YP0qMqy9R+lIYmce49qaSGGOaADZ700xIT8w/LigBuYkfAHzVKG96AEZto7YpvysMnG319KABdmcg/jSnBbgjNABg9wR+NMKD0Y/hTAUIM8jFOwO3SgBSisPmNJtULgdD6UgExhentSxxBmORwKYijKuJXA6ZqLGaYE8X3AM4571ejBBJ8zdntjpSAkwSMBiKNvBDEt9aQyrAu6Q9elTlSuABxTATbk+hNQzgBSNwJ9BQIrouCfWpgm8YY7QeM4oAjUDaRkk9iBSmIrGWLDOPu96BkaNvOACDUmXX+Jhj3oAcLiRSBvOfpTxeSZwxVvqKYiIlXYsyZ+hp37orghl9xzSAfH5AOCzcd8YoNvEcbZR+NAEZhCMuAX917VG6N12t+VAEsKFkAKfpUgiZSAgyxHftQMUQSBQSo9+aQfKckdO1ICscmTPcmre6QRncowewamAxIFc5B3cfw0yWzdUBJAGeAKQrEYtyFLHOB+tIevSmA/a2MiNj79qYwZWJCn8KBDY08yYIGxnvQ6shIbgjigBQeOaXfhsAmgB/mEfX0NBc4A/lQIVHIyCKJHVh75pDQ2IZDVPtwFI79qGJjQNpz6UmMj2oAVgOP1qu332x600MmXIRAO+aOWIHpSEPUBfcindDnGDmgBMfMQox9KquMSHNNDRJCCScelS8qD2BpMQgGBjGaXGBjJ9OKAAcDk5+oqORFCEgDNAyDjBNWgAdvmHcP502A+URMfkBH4YqLCjGEOf0pAwLYwPLBz0PpTck9RQIik5fmnRN5cqsOop9Bom34DFWIJ6mkCqTgn8aQNkiRJgngj1qV1jYBR8p/QUDKrWxBzv61BINr4poQRjMijPerflIFIbJPbHahjI2QDHfFR43UhDipZug49KUeozTAZJnIHtTUPzjHWn0AmDHAHcetN2jcWPWpEPVvWglCO/WgBcp+dQzYLZHAxTQ0Mj++M1YVjg98UMA39yMUFlHzYFIQ3cvOV/KkyAR3oAZK2Vx371FVIZIC+cinbu/FIBd4HVaUMoBIGKBCM6Z5HSoKaGJRTEOXG8VPkkjjp6UmMNxPzEZppYDqDk0hDHbKnkmmLTQyVTwMjNKDg0gF35zxSF+vrQIaHxml3YNAER5Yn3qaJsFuM5FNjFOc+lAOO/NIQuRn5jzQWUUAMMnPoajkbJ/ChDBe1Sjd2Gccn2FNgAbHXvS76Qhd/JNAYg5FADJTlOR3qJaaGTE8cnNIWGelIBSc8UnQ+poAeOv6U2XGzpQBAtT7lx0OcU2AFlP8ADzR8uAMUgDGFBHHrTcnoKAI3OaVaYD/MKijeT060hCeaQaDISelAx27IH6ZqE/epoB6jI64FOx3pAIW/OlLZ60AAbIxjnNNkPyigBqcmnkevIpsAAGOetOPbGaQCnODk0hxyPbtQBCv3qn3Dgk5PpTYDwybTvJyOgAphboQcZ60gGb/XpSM2QRmgBq8ZIqQOR0602AbsikzkZzzSAeFJj3Y4B6jtUDdaaAenSpBnHsKQCdRQDnOKAGsPkNMXrTAeVx75pMHNIBcECkwaAI+9SgcHg57GmwFUDnIJ+lHOPekAmMVGTyaaAkx0pcDoKQCHnoeKaw+XrQAijOc1JG7RHKsfoabAluJjOQWzx2zxTEGQAc7c0gIXwHbHTNSCFpB8mDn3FMBws5Qfm2j6mpDAg+9Mg9qAIpEiGNsufwpUMKqNwLn8qAH+fEPuwD8TQbs/wxov4UAQvOW+9t/KkG5gCM4NACbO5IpdgzgtRcCM5345xmpRgnIFADZWzHjHf0qvQgHJ1p9MBT2B6e1S2+PPjAHIzk+vFIDpKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASigBKaaAENNoGFFABRSAKSmAUUAFFABRQAUUAFFABRQAUUAFFABRQAtGKADFLigAxRigAxRigAxRikAYpcUALtoxQAbaNtABtpdtAC7aMUCDFLigAwKMfWgA/GjOOuKAFwDRtoAQj2o20DDFGKADFFABRg0AHNGD6UAGKQrmgCIwIf4cfSmG2A5BOfegBht29QaiaJxwRg0hjPJVgNwBPqKCijgDr7UAIYVbGXBPbjFBiH58UAHlBTnPPuacF9aAG5bkYx9KAvIPNADgpPQZp2w46YoAaBjihuATjp6UAMUlhyCMn8qehwaAKUyEMx7ZqFeTVCFcED1+lSw3DrxnigC6koYA5FOMqgHJFSMgicRtljxjtUpnjIxk0wKpuTztOM03PHIBJ7igQ3CFhuyKlzgZB6Ht3oAGkJLc4Ge1N65oAYgG73qTFAD9p2g9QaQAcZAoAgmQq52EgU+MAxjLZbPNADvLBbrxjv2pPKYjKfOPagCIyBSBzn6UvnjGNxFMCRZ5AOJDipFu5h/ED9RQA4XzkfMisKRp436wjNICHCk53Ec9xUm2NyCZT7g0ASLCB9ySMfQ4pRBIzAmQMo9qAGTrOoAVdqAcnNViQCOM0AW8yFQwA452rxT1G5gSNpxk5NAD8R7uipjuOlRS27ACQOvPPtSGVZSTIS2M+3SpHhQqpTIwOaYiLYwHyncDQqEg5zkUCFUgcP+BFMI5+nagCSLnIqTcVz1zjGPSkAew/GmsflIBx9KBCbs49qj600McGxt9qN3BPvmgCWNsxk9CTjHenPKJBlOwyfWkPoNEmWGevaoZDmRj700JEkBwW54xUw5HHUUMQw9ODjmkbgg9z0pAIQwXPfHSmvuKdKAIDzVnnAGOeoNNjFbcTkdaacj15pCEBIHU0EkYyKAGSH5wfaiJgZBu6UxkjKAxA5FJyO3FIQ4ONrAcGl349+MUAJnPJNQzDD/hTQ0NT76n3qxk7gDxn1oYCHJoOAe/PFIQDNOIQodpYMPXmgZBLkkE80iD5uafQCZcGRQeFJ60MmGIyOvWkAkkRUnBGAeopuD0NACYY9BnHao3yp5H600AJwwNTbcjqRQwAocZPQ00Db6mgQqBnYAA5zilYAFsgjH6UDIXO7n0ptMCUIzJkEY96ZsfNICTy32g9j600p/eOKAAorAdc+p71HTQBSUxDlOHFS7hSYDd/GKN5JGO1IBH5jpi0xkik9Ox6044J4HGaQDduRkUbCWxigBPLJPYCnbCOpoERd6ljXJznpTYyQpwOevNMOQ2CKQhpBJ4PJpe2MDigY0qTzjFNfrTQAozgVIGZSSpIzxxQwDFByB7UhCZxzQCTgUDGupA5pq0wHbXBHBwakCk54pAJswRz9aXGccUCFJIIGKjfO3nigZGtS5PTFNgNyc4x+FOIJ/wAKQAQQaXOOnSgCNjnFCdRTAdsyM09ogEUq2SfvcdKQDQhPJHIpfLoAUJk9eKhI+f8AGmgJB936U4DikAFQOaUBcCgA2jt+dRzDnjpQAxRk4qZRwaGAhzmnRxSTA+WCSDgigBuGU4YHPcGkPQ0ARJ96pscetNgJz9KCCeaQCY4pGTaufWgBFGeKfjjH60wDjPrSqoNICeG0WZdwljBzwM5qvcxNDLtYjpkYORQgBDhaXjvxQAbvQkUm6gBrng+lNTGaYEmePejPSkAZ5603OBzQBGOtT8g4PXGabAM0nNIQEc9ajPBP1poZOsbtjCEj6VItrITkoaQDhZSZ52ge5pktuEjPzpn0zQBDEFVvnIx7GpvMtlH3GY0wD7XEv3YB+NI165GAiAUAV2kycnbn6UbyfwoACxbkkn60wk+mKABtwwcYB6E96Mn1/SgBQcdf1p5HOOlADHBIGelLnA+lAD1QspckhB3FNG4n5eB70AN/jz71J5hPp+VADZ5AyAY57mq9NAOTrT6AJWUuFJPQYGKdAu24T8f5UgOjooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKKAEpKAG0mKBhijFABijFABijFACYooAKKADFGKADFGKADFGKADFGKAFxRigAxRigAxS4oAMUYpALijFAC4oxQIMUuKADFGKBhijFAC4oxQIMUYoGGKWgQUUAFFABRQAUUAJgelGPr+dABj3P50c/3j+NABz7Uc96BhRmgAo5z0zQAbvUUZoAXNFABRQAlGKAGNGrdRTGt1PTIoC5E1s3Zgf0qN4ZF6jgenNIdyNlBO04/EUEe9ABjnOaByeT+dADgcAgHHrSA+p5oATJIwGFV3MpOMZHvQBMjbU+Y8+tPBBx3HtQMou2blwD09e9OECnlTg+maZIfZyTyeMUfZ8AkA/hRcBQAGAJIDHqRwBTd24460AOC8c5FIQR/DmgBqo3QClWFhzQACEOcH06Yp6q0ZIOCD/KgBpUq3Tg96VSD0BoAao5/CpBkdATQA5shcEEHOcfWmkjb9KAIySx6cVJGn7kvzjuKAGMvUeWW98kYpNmMABsjtuoAHiO75flHc1GyDtTAlSNRHkuo9cmnmCMR79w256jmkAGKPYCu9hnk9KiJG/Cgr+OaAIizDggGpFG7kYA9zTAcY2Hbd7im/MPUUgFDtjlmI96Uy8gqQPfigBwuZR0YH8KVbqQHHDfWmA/7USfmQbfbrTXnMi8ZB9zmkBEqjozZJ9qtJ5e0K0gJ96AHiNTna4OfXmka3LEkbRn+6adguNeAhNqqtV5UZR8wIHvSAbA7RPvX0xkipZ7oSIqty3du9ADY1LruBAHrT1USOUjXJ65pCsWTDbwj52LOMcEcVnsf3jH1JoQ3oRlwDilVio4NMQqMQ+R0FSxQscM3CYzuoGREtzt5A7ikXmgQpYrx2NSlyyliSSOMDsKAAMNoJ6ilDc8HgUhBuJYZNJJICpC5wTkn1oGQ9KnWQYGD0psBQ+M57UpcYJPWkIVJYx95Q3oTQeRuyBnmgCCUYfHtTYuXFMZY2/McHNB5J44FIQHA52imgZ5IxQAAZ6HH1qGTO/mmhoFz8o7VYwTjJJ+tDAXIC8jnNNA5HrSEKAe/4UEEZoAin/hpIuZBT6DJmUqwowcZOKQheg4AxTScdutADc8YIxUMvJFNDBeGFWRjH8qGA1iehzxTlkwBhU/Ec0hDQwU5B/CnK+VIIH0oAilxsOPWoO1UhljdwBSjHfrUiAAFSu4+1SLb7oGkDqccEdxQMiEZwCOKgPU1SASkpgOTlgKkMZ7c0mAgQ4zxt9alNsyRCRmXBOMd/rSAjddsTHPWolpoCYDCD1o/gJ6nPApAIHHWnpjueKBDec4P40jAn/GgCHvUqkjp34psYu4nigNnNIQbTxQQeMDmgBCWyMk5A4qNhzTQxyDJHOKkKMKTAXHqO9JwBjrQIQjv1FOyAASPcUAMkOVApi0xk6t1oYnPFSAh5AOACKUBicH0zTEOBx0wM1HNwmD1zQhkC96sg/Lz1xTYDgwx0WlyfvYqRC4VvvDH0qNkHQdPrTAhkUqRmiMEmmMlUNnBHFSEhupH+NIBTgjhsY74pCox1/GkAwAAjnNVzy5+tNAWoUQxHJAPvSFQozkYxmgBGKmmHsKQhxbb7g1FIxIGaaGNQ/NUuST0oYBg5p6FoySpIJ64NACEkncTzTHPymgCJOtS7s+tNgL2FJnAFIBQRTXIwcd+lACJ1qQ4NACEAZNJgEdaAHLhWDA1FJy/XPFNAPTGOaCfWkAblHajK9hQIYzZXApBwaYyQKT0Un6CniKU4AjYj6UgE+y3BY4jP4kU82c3JK/kaYEHlOMZU/lV5LYr8zOgyMc0AM8iBfvXC/hilxajGZWbHpQA0yWq/dRyarMYyxIDfnQBL9tm6BgPwprTzNwZGz6dKAGHeeu4n3pjgoCTQARnceRge1OkQjlckd80AJGRnlc+9PAyM7V+tAEO3L89c08LgdTQAYwDTeTnGD7elAxXOccYxxR5ZbOM8DJoECxtgA8A9CaeyNgHejduvNAxroVxngEZpAM98UCHqp24JyOtOC/5zQMiH3/xp4YH2NAEc2W5J61DTEPQdafj2oAeXGADgY9DUtvhplPJxn+VIZ0NFAgooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAEooASkoASjFAwxSYoAMUYoAMUYoAMUYoAMUYpAGKMUAGKMUAGKMUAGKXFABijFABilxQAYoxQAuKMUAGKMUCFooAKKACloAKKBhRQIKKACigYUUCCigYUUCCigYlFAhaSgBaSgAooAMZpOnegBc+o/WjK45oGHB6UZB6Nz6UAIQx6Nj8KUAgcnNAC0UAJS4oAQikx7UAIUDdQD9aY1vGf4cfSgBhtUx8pI/Wo2tnA45/GgLkXlkc7SKTYOnP1pDAqBnmk29qAGsq45o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PX1pcjPPekIbkAGjOBmgBr8kUqHawpjHluRQW4+tIBC2V5PSmseaAEB600dQaaAlQHaT2pcelIBOcg+tJnPegQDJOB601x6imMRAS2ACT6Cpvs8x6Rt+VAEgtJv7n5kUospj1A/OkAv2GXnleaa9k6KTuU0wIUiwwDsqjuc1NstB1lc/SgB3+hKOrmk32eB+7c0AJ5toOkBP1NMllgcYWHafXNADYphC25Vyfepf7Rm7BfyoAab+c/xKPwppvJj/AMtD+ApgMNxKesr/AJ0wy5PLk0AJnPTml/CkAoXI96kS3eQkKQcUXAjlRox0IOe4pihieefagCZMZwQOnfp+dATb8zLjPAxQMkUYH3uvUbSaSQRGNiM5HFICsq/NVjCheG+Y9cUxD9sfyjOD6mlVWfcFK7uo5xSGRtC3JkYMfY1CByPrTAnYcZK9e9CxllyAM0gHrHI6kiMjH+zUcqvty44HtQA2EOd2zIPf6U8wyDlg3HqKYAVLnByT9KQIuAeT7+9AEf8Ay0/Gnk+3HvQAYyeBTsuuOeaAIiCzcZJp5jZCVKkcZoAXJUHbil3t1PU9aAF2hyBtz7Uu0c8cgZ4pAJGF4z16cU4lcj5Cxxg8imBEU3ttwBj36Uvlgkj9aAI5RhRn1qEUCJYxwaljO1qBkfc/zqW2A84YFAHQ0UCCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASigBKKACigAooAKKACkpAFFAC0UAFFAwooAKKACigAooAKKAFooAKKACigQUUALSUAFLQAUUDCigAooEFFABRQAlLQAtFACUUAFFABRQAlFABRQAYooASloATFFAC0ZHQ0DHAccUlIBKXAoAT8KKYBRigBCPrS496AE5o5oAOaMUAG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AooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooASigBKKQBRQAtFABSUwCigAooAKKACikAUUAFFABRQAUUDCigAooAKKBC0UAFFAxaKACigApKAFooAKKBBS0AJS0AFFACUtACUUAJS0AFJQAEn/AGcUgLKein60DF3E9VUfQ0UCCigAooAKKACigAooAKTBHQ/nQAoZh2z9KXeO4x9RQADaenNIVoASigYtFAgooAKKAEo4oGGBRigBCyr1IFIWOPlQn68UAN2zN1cIPYZNKYgOuW+tACh8HkVIGBpDDcKXimITAoIFADCinsKaYE7DFAEZts87vzqJoJAMAD8KB3Iirg/dx9aCWOMsDgYxSAQhiOTTQr5J3n8qAFxwfemFSOaADcMZIOfek69RkUwEIPGRmkZQO5OaAALxjp9DSlV42qSR6igBhQ5A6e9Kd4GNwwPQ0CBVJ5I4HU5pxAZ9wjx+NADskDgfQZp3mcfNn8KBjSqvjBBPfikEYGeTQA3y/RcZ60CA+2PrxQAgjKnAUYPekKkHGR9KBCGMqp74pMgjCgCgBFfZKrqxDD3IqzFqMwPzgOPTpQAlxeNMm3509e4qGFpIv9UcEjqKAuSsZGOXJY+9QscMaAHBgpK8Zp2V5G3FADlJztOAvrTee/IoAhdC3TI74zQqkKAe1ACnAIzzmnYOCQM0AQ4JUknjPSpGklcBN3yL045oAVN2MNyOfzpzDjp29KAGelPUNIWHl5wO3agBTk8tknpkkmnuyFVCqQwHPOc0ARhsDAXOTnil4I6Y7UARuMNnFIBQA5QxznOP9ql49KAEyKZuHbr70AO2k85x7GmyKQ2f60wEC5xSiPHG78qAF2jqMkUKWAJCqcnv2pAOG6Z8SYRj3HFRPDtPQ49T3oARhjAxxTj8q5zTAYFIO772PxpuCx5UsaALFriGYl1xtBNQsSxLt1JzSAQAsBgn8qeybeo59aYAFzj3pxj2nG3nvmgBAuTwvOfWl6/cU8UgA/KCHUZ9jRtwcnI46GmAsh+TA6dajA/KgCaKIyJnjA9+acIgO2aQC7WySCDQABnvQAuOen0AqoRTQMbyKO9MQ9DtdTkjBqdpEzkkE+5yaQxrSLkYBAx65pquCdpPA6elIBJQMDAqMdDTAkKM2MsNvpS+UU43fKeoBoAcSfLEZd9g/hHSnQ7opd69Pc9qQBPIksmVjwOoHGPxqI7sHGCB1PSgBg4NLvKjA496YD1c53HcT+tOIUFSJCxx1IwaQC4z0B9/ek2n1oAYwI6Dmo8UwHquWHepQQhGVzg5wKQD5czN5jkbvQdAKSA+X844zxn2oGRyKqgOFzuPekbc4RVH3uemOaBERUgkHgjtSgcUxCDBHJ4qWN9hBEcbezjIoA0ZLlXjMSOI06EIFA/Wqk0GzB8wsg6c9aQyqc7uVIpDkn1piFx8hJ60sSGRwirlj05xQBMQkcpjIR8dcHpSSFVHyjnIOOoxSGSRKXwwG5Cevp60s1q4JMa5H1oCxVliaJyrDtn60xjgDFMADnt+WKUjg55NAhoTLAdql+Zim7J2j5uM4FAyPLEdOv6ClAyaAGsvzHHrQsbsMgcUCAIcZxketSbd6dPmX9RQAzaSeBz6UrA8ZHagCe0gE8gRiVB9KbNbqrEREsFOCTzSuMhA2j5jxUsjSSKiu3yqOAe1MAj2qc7hkdj3pW/1bcg5P5fSkBGiliQOvQU57eVDiRdvvTAeqqrbGUhj0yCKUjyXIUgHue350gCV/MOemBjA6VBgfSmA/wDugHmnxTtCNqrxnJJoAkkvJCQydB69DUJIbnbgkdBSAQIAeDg96Zxu/GmA4yPuOwcDv6UZ3dRg0AO2g9ePwpD8uPmxQAgAI6Z+poxk8HNADsZ4A59aMlTgjpzQAsjlzlh+NKMADp+FACb/APZ/OgNngjFAChjjG4AUjDAOT+lACAnbximEEk4NAEhBUfKPpSAP1IH0oAUBwp5Apy4x96gBRjHJxQFU55I9aQAQvpik3j0pgH8vehlK4yeoyOaAE/U96cMY4Jz60AHPvn2NBZMYGSw70AO3ZTbvYjqQecUw5BJz1oAQdetKVJ5OT2oAPIYEEdO1HktkDac+woAnS1mOCPl+pp62bZ+Z8fSkBKLNB1ZjTkt4omyo59etAEpI/Gj6GgBDzmmyfcNAF2imIKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBKKQBRTAKKQBRQAUUAJRTAKKACikAUUAFFABRQAUUAFFAwooAKKBBRQAUUAFLQAtFAwpKAEzRmgBc0uaACigQGjFAwxS4NACZx1ozQIWigBKKACigAooASloAKSgAooAKKACjFABiigAooAKKACigAx370uR3oGNzRmgAzRmgQZo3CgBNwoOT0NAxpIX7zUoOegJoAXJ9QB+dJgHqxP6UAOAVegA+lO4oAXNGaACkwKAEKg0mCOlIYZNKDnvQIPxo/GmAYPY0mG9qAA7vSmlAf4B+FIBjQqePmFQvbHPyuPxFAxrW754xj2qJ42H3qAGlGpMYHHzGmAFgTgYz9KNpxycH60AAGMdBn1oBz0z+FABgZBwMe9Nx39aBC47d/Wk+tAC8k8Ck5ByaADOOefwoznvQAm4j3qVR8uWI46CgYitxywA9qczeYwLbT7kUgI3G5jt7enemFW25IHtTEReWArsx9se9NWAnk4xnu3NAC+UFjO/d7baRJdrgE7R60AWOAcjkP75zTW5Y4HTrzigBnlhjk96d5X+0R9KAFw2ef8KcAQDn+dACMCBkJ+Oaj2E9sfjQA4KCOeTTZDtIy2BnjIoAXYrLy/Oe3SnYC4xyPagBVYK3zZH1FRu+5up4PcUAAxilindUZTjDUAKGAwc5z0xSHkfTtQAiMBwR7Ek09UL5Cg/TPWgBjrIpPmDBPPFJ0ORzQAu18dAM00Nz8x4oAmYRkAq3LdutM+XjOCTQAdQQBkUw5JyaAFGAQTnA6/SgyA5YZVAeO5oAa87tjJGB6DgVIjdSTnHtigBSQRy3XtQZTgKW3Drhu1ADZYwqq4xtfpQFzQArREAFmGO5pNhHQYP1oAkMXIAUkgZZiadJFI0IU/6sc4I6GgCDy0LBEJA9RTSCoIIHHTFMAI+X6CnAggBgB7ikAeWQAcgn0BpSCF4xQAAccgg+1IEHXnHfFAAYxye2OKYMYOKYEkcWcNninSOF7E/hSAduwOB+dRGVsYCY9SaAE8z0BHtTDj6GmA0ntik680CHL99e9TBQc7lAI70DQnkg5AwcDPNIGVeQR+FIBshLKD2zimqMg0wLIAwD2xUjJG0W7cIx65pAVTEQpKyhgPSmow3DGW9c0wH7d7ZXPPQUhjdSQyMB6mkAxecVIuM4pgKQ2OAAM85pyjr09RzSAQEg53nHoKVmYjcDtx60ARsyk/MxB9B0qLPNMCZcDJNOaVNoUxqGznI60gGNMVAOAOMDvTDNvYbslR2pgPW4ZFKqeM8ZoaV2HLnjoBwB+FICI5PWnY+XOaYC7QuRyfpQGTH3SfcmgAwR82QF9qkafKbdg/3qQEayEvgnO48E+tNZcHBBB9KYD0VnGF5JpuxmYAZLE8YoAc0LxruZWBHXJ6U+2OD85QjOcMuTn2oAti9QINqDPp0FNlvwvEaj6k1Nh3KMrvI5Zzub1pcYA4qhCYZSGXgjuKTG5vnBoAkBOeeR34oGGDLLuwf4h2pAOaJduYzkAdc9ahX7woAUH5mA6mlYOoQ5OD7+9MBpBYjv35oUsrAgdKAH7AHXHCHnnmlnEQf9ycqRn8aAGgZQdQc01lIzhsjPY0AKp53dB796c4QomwNuPUk9TQBKETb15x0PQn09qiMY25Csp7gikAiEqSRnPbFSM7qp3ks2c4z0pgJGzsPMRcFTg7aaxLkseAexpANx0yOMdKbt/i7UwEydwOOlSDDc9DQAu0bQTxRwvUUAJgDBU/XFLtGMjFACEKM5P5UqqAQctx70AGMcBfwoxnOR+FABxyBj86AKAFwQOM/Wk6f/AFvSgA2j3FGOeOfwoAdjGOSeaN2enNIBcE9FAzS7RnkfrQA0p2/lTSrAcc47GgAVS/Yg0oUg4PP1pgLtJyRk0mQGAOaAJFdOy5xTxMc42AD1JpANOwtkj8qQBe/5gUALwfummvCynBxQA0pJjjGKRNxP9M0wH4IHYUu1j05+lICRLZ2bkEe5qZbXH3mX8qAFNrH6saT7Ko5BOaAGnfC2QiOPrzThdx5w+6JvRhxTAnSRXHysrfQ0pPPIpAGSfpRzmgAx2yaOR3oAKST7hoAu0UxBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFJSAKKACloAKKACkoAKKACigAooASigAooAKKACigAooGFFAgpKAFopgFFABS5pAGaM0ALSUDExRigAooELS4oAOnegEnt+dABzR83r+lAxAMHJOT60tAgooAKKACigAooAKKACigAoxQAYoxQAYpcCgBOOgox60ALikxQMOnakyKADNJmgQZpCaBjSwo3igLBkntS/MaAEOFGWYD6momuoFONxY+gGaAHRyvIAUj2r/eb/CpCuerE+w4oARYlXkIPr1p2CepoAbtpdg70ALsFG2gBQAO9LxQAuaKAEyaMmkAm7nFJwepoGLgDvRx6UCHZAoDCmAZHrRkUAGRRxQAhA60m2gBpiRuqiomtF/hdloAjNmRyGBPuKj+yyIOhP60AM2BeTkH0o4znNAxdnHJXI5yeM0wkeuaAGrIGJHJp4XIJ4wO9ADc8kDOfXFJtIHWgQ9UUjPBHem554UfjQAfU0oA7CgAGRwKQ0DGcKecj05p7LnrgigBCEGTt57UgdQcKBzQA4MD3x9aRlUtuEaN+HWgBvlIDlQV9qXYGX5Tn1x2oENYEAdKVc9+lACrHycZpRndgDn17UABHOSBn2pMEHJx+VAB37UcM2DQAgQDjAx3oIOMA4oAYcZ2uce9NnRhwvJ9QaAECNjrk49qURdPmAPuaAHouSSWyPanAL70AJ8qnAxmkIMn3skDpQAjIO3FC5XkdfpQBGS4fIPHpQXLccYoAO/IGAO3FPXjnAYY6HvQAFC33fxph6UAL9KQxMWO4kkUAAjHpRgj1oAURMenPvT2jwMbufYUANdSI0BznnrSghSC2Md6AHCaPP3GLHj6/hTvNxIrMgGB0H9aAGtOzhTkBz27GmtPtZdshB/zxQA9XMmTuz6j0qIgqu0ncM8GgAXoMfhS5UZJGCKAGOPlJxxSxuNuc/higB3mj+JQPbFKku0Eso9sHFADfMDAkflTAMdKAF8wj5c4AoVyW9e/NMBwyOG79s0ozjJ4pAJ/q8Fzu9qiPzE+lMBMZPFGCB9aBCr94e1Sdcdx355oGhChYkhCFHTHOKUxlsZJ4FADGXb0NKoIzQBIASpIXntR3BIAx370gFGM5DnHoRTC7BcAceooAElfPfjpippHneLeSTGDj60AVlHzCpkbC8AZzQBG5cuSqkjHYc0w78YKn2zTABtC45oJHRiTQA0FBkDr707igBxGccilY78GTG4d8cGgAYFeOM06OAsh+7z+YpAROmx+nQUoAPfmmAh69elPVcigBWgPYqD9aPKHGDk45pANCYJz0NGzJwM/hTAQIjH720jnGOaG3E5agBwwFBNa1tYxrD84yzDqO1JjRTubU27BopOHOMGmXccoKCTbwONgxQBC6Hvww6+9Rsp2560xCbSAB3xTycYAGeKAHKOM8HjqR0o+Uk8nrzikAYApp+9ypK98UAId43bAwU0gRlIJFMCd2Xzt6qoz1G4dajkQyZZR8o7bsmgBo38ZRj+FSrJsX5k3D0Zf60ATRyQNtwmz+9xkD86c9tbsR+8K+1IY4WMfl/KS5B6E8GqjQkdY23Z6Y4FACYYA7uR6NR5fy8dD1GRQIArsNvG38M0/argbg4OfmPbFAEkUObhQI2UEHDGpJbICXrsgAyzGi4EUE0CyuDuEQHy8/N+FPmngaMeUpOepY80DKjOvByc+9BAIA+975piAIFHK5P1xSbQT82B+PWgAC9uKf90YPOfxoAaMbTwM+tKM4OBQA3bk5Ip2DyBn8qADkYJ5pc+/HrQAuexFJtHTBpALsbHT6UbTnkDHpTATKsSBxjsKcMDtwaQASR93H4UgLYOBQAcsQDxn1NOZGUrhlfPpQAjqyHBPPekIPGWFACc9DTgM9TQApJ7EgCjOe/wCdACYyelL+FACn73HI9cUgBY4UZPtQBILeUgfJj68U/wCyODkkA0AOFsP4mP4VIsMYxlc/WgCQRKv3Y0H4U75vYUALiloAMUYoAaVHcVDLbRy/eXkdCKYiu+n8ZRyD2zTQt5GMcMPc5oAX7WYyBKjKT61YS5jf7rj86AJQwYZBBFOGDSGBFNf7hoAu0UxBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFACUUgFooAKKACigApKACigAooAKSgAooAKKACigApKBhS0AFJQIKWmAUUAFFABRSAKWgAzRmgAoxQAvSjr0oAOh7UA5FAwzQaBBSUALRigYYoxQIMUlABRQAtJigBaKAEPSkDkdUP4c0AL5i9zj68U7IIoADnsaQqfWgBOh60u+gBAfegnmgBCeKbQMTmkwfWkAY96Xb6ZpgKFAPIphmhU43ZPoOaADc5GUT/vo4pCkrfem2j0Rf6mgQC3j6sC5/2zmnhAv3VUfQUAOwaWgYUEUCDBoxQMMUYPrQAhBpeaAFz7UoNABRQAYFFABgUuBQAUYFACYoxQAm2lxQAm2k5FIA+ajJoAOaTmmAEE8HBpAiKchQD7CgCNrdGHBYVF9k/uuPxFADDayA9AfocVG0Dgg4YYoAEQltpI/E0gKhsEPn6UDADNBG0DP1wKAEDe2KX9PrQAc5+U4X070wggnHTPegByoCc96QjAOOOaBCbeenHvSBfqKAHbT2J56U0hgcUALjHO78KXOG6/4UADZJzj8KTJz6YFADtwODjkdKbljzjn0oAbIWGCucdPaozI+7lcCgCRN23lSPqc05MNwHBPpQAFOuD+FL8u0Dp7kUANKDoWGPpR5fHykZ/SgBvltu6fpRsYvQAjenP8qbtOO4IoAeowCXBxTWDBj/AHR3AoAbvIOBnH6Uu/PHf2oAUq2fu4o2AE9/pQALIufl4p+7YMjAOPwoAQS8YyDnrgUpCkAEHAG4n0oAjZVRgwPHXHWpVUsqmNA3ofSgB7RlWw3ye7jAoVQWI357/KMigYEnO1EJPrRgAn5QSTigRC6vJkn7oPGOgFI0bKfmIUZxz3/CgAIWNWG85b04/Oo8txuJAoAjbA5ANKDke56nvQBJHHnqeT0zUqJ5zhGkCgevNAEn2bypF+cMQc0pRDwzDr16cUhjVt4ypU55GTmlFvCvzYLegzxTERXEaYUsVzjlQarsvyjD5HoOg/OmAgI4O0Ae1OyOpoAcrDO1h16Um9Scdu/ekAbQecZ96DuAwBx6CgCFif4qkAyOtMAIxSYx1OaBDlU7hxkU/pyAeO1AyWaMpswuQVB/Gog3BG3B9aQCOpKjbQqsOMUAPA+bBBNOBP3SyqPegBokXk5BHbBpGcbRtBH1oAjLBjgnJ9qczjG1EZc8E7jg0wE27XwCD704A8kHH4daQD0VNxJGQffBFNkiCD74JzjH9aAIwhXkkfU81IyBPvbcnoAQcfWgBhCjqOfSmgZ6dKYCMSWGOlPC+hAoAnMLmEEFGyOCSc4qAIVJwetICRowSNxyQMHIwRTVVVbATj1oAGQMfSlHAHPtQAqjg5z6YxTmLtgE9BjFACYU8dMUDGeev1oAYY0DZ4yKVo8jk0AMKcYzxU0N3cxAIJF29sjJoAgkknkfe7555xU8l4uFBzkDgentRYCJpzjaeT6+lKJF4JUHHbNACEA8Yx+NKFHTb07k0wF3Yyg6HqPWo2Yrjaqn8KQChnOMnP0AobPGWOfypgJjJ5PI6ZqN+mM/lQA0A49RT0RhyQWXvgUAO2oTjp9TSFVz948ei0AH3eRn8TU0Uo2kuu8gdB3FAEouI1GGRlHs+KrSSRlyY1f/AIGaQDVdi6jGCTinviOUhwHIPTNMB5RBF5yYCg4KkHg0tptnuMt0UZ2jgGkBpOgRdykpjvVWYLcRfPhlXujYpDM4RKJQVb5M9aTBB4/WqEO25HNAXnDgY9aAJAop2FxwAaAEIzwRTgPY0gFwOlG3nuB9KAFAxQUB56GgA8vJzxRwHAOcGgBfkweGFJuGcUABPBwRmmAFuvT60AKEbJzyPTNNIYNkLgfWmApHAIP1GKUjA6UgG7e4yfwpfmBz0OaAFIJ5JzSDtj+VACoAWwwOPagtjheR78UAKoZjgKSfQCpRbyHH7s/jQBItpJk8hRUotFA+ZiaAJFiiTouT6nmng4HygAUAIeetHsaAEwM0uMdqAFooAXFGKACjNMBppMUALRQIaQO4B+tRNBC3WJPwGKAI/ssY+4XQ+xpT9oT7uxwPwNACi62j50ZPqOKcZkdcKwOfSkM0aKYgooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKQBRQAUUAFJQAUUAFFACUUAFFABRTASikAUlAxaWgAooEFFABRTAKKACigAooAKKACjJpALk+lHzeoFABj1OaWgAooAKSgBaM0AGaM0DDNFAgooAKMUAFFACYpKADmm4APHB9uKAASEcdaUyHFIYzeaNxoAMk0DNADqKYBTS6L95h+dAhN+fuIT9eKCJD/ABqo9AMmgBphVvvl3/3jTwAgwoCj0FAxQacDQIXNGaBi5FGRQAZFGRQIKKAFoxQAYooAKTFABRmgYuaM0AFGaAEzS0AGaM0AGaM0AGaTdSAQsfSm7qBi76XJPSgQZPak570wAk0mT6UgDJ9KU57GgBjDd95QfqKjMEb8lfy4oGI1upPGR+tMa1PYg/WgBot2HUD8KYUx1yDQAgGe+fxpwTjLZ9KAE+7gf0pmDk5NMBM5zgH8sCkyARg5J7DvQIaHJfGMDvz0pwZQcMCfTFADyy8FRk+9MBbdnaR9KBh+HWjjJx+VAhCTzyR/WmdCctnFACpLhwG6Zz9DRI7NIdpOPSgYbnHUGkZQz5ZQDQA4b1GRyvuKczt/HGQPUUCFA3Z8vDD260hIBIOAaAGDHPzE59+lPXI6tx70AP2BXz/M0PhCNpHPakMT5W64pc/KwGPT0oAgJIzkcA8Yp2M/dUg470xAfmwSASPU05Yi2MAL9aAF8vam44POOKQwtn+ooAUpgHBXIxzUmxdjAH5mODigBPIBVSVX8c1IrmIgADHbH+FIBXk34DqR+HWopMxDKKoU9duOaBjCz85J2+4qNT8x2gflimA4uo5HLfpS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kAUUwCloAKKAEoJoATNGaACigBDSGmITNGaBiZozSEGaKBic04CgBaQ0xDaUHFABgHp19KaeDQAmaKAFpMUAAp3FABimv900AX6KACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgApKQC0tABRQAUUwCigAooASigAooASigAooASigBKKAFooAKCaAAGl69qQCZOKcH9aBi5AoyDQAmRS4z3oACCKaeO1ABkUvHrQAcUm4UgDIp24UABbPQ0hNMBOKTNAhM0uaAEozQAZpaAENJg+tAwwR3zSgGgQuOetNZlXGTk+lMBN7fwxnHqeKUBupYD2HNIBeB0BP1pcn6fSmAgHrSUAGaKVxhzRk0XAdg9ccUbaBCgUlADwARQEoAQjBo4PTNABg0pB9aAEBx/EPzpcmgAyacDmgAooATIHNNMqjqy/nQAeZn7oJ/Sk3v2Ufi1ABl/7wH0FHzf3j+VAC/N/eP5UmPVj+dACbV78/Xmlz2oAXNIeetACYH90flRtXuq/lQAcf3R+VG1f7i/lTAXOOlKTSATNHNABmk5pgIUUnJUE/Sm+XtOUGPxNICVScc06gYUcY5oAQY9KXigBDikoAKKBBRQAtFABRQAUdKBi0nFABRQAYpDQAmWowc9aADaT3pNh9aAFx70Y96AG7Pc0bTjtSAT5h2oGe9AC4PY0m31xTAaYx/dWmtGp7YPqKQDDbDOQxpv2Zs9RTAabZ+wB/GmmKQcbSKBjW3AbduD7007iw3EH6CgB4AI60oCdKQBwFwMY9CaQuTnBx+FADMnGeKQZ7UwF2c85we/apCvGCBikAwquevFIFU45wKAEZQoH8VG35s0ADhlbqAPQjFNP3Bj64xQABgoChdzemcYpHYICS6+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QdFFAAIkH8Ao8lCfuigBwAUYUAD2FLzQAUUALiimAlLj2pAIRiigAzS5oAM0maADNFACq2DTZoVmHXaR3xQBmTiS2mXtjofWpoL9WOHUAnuKYi35rL6GlFymcN8v1pASq4boQR7Upx60DD8aaQM80gDilB9KAHZo70wDpS0AJxRmgBrEjkc0oII4oAWm7lHcZoELjI5pdtAw6UhNACUZoEGaKBhmigANJnjrQAhNMLdqADrwaUKB0oAUClxQAmKKYhMZoK4oASigAxzS0AFJigAxRQAuTRkUAOAwPWjZzn+dAChR0pjDHSgBMUYoAKa/3TQBfooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKACkpALS0AFFABRTAKKQCUUAFFABSUAFFABSUAFFABRTASloASigBKd2pAJRkg0ABJJpM+ooGKOe9PwPWgQm7ml3+1ACE5pKAEooAQ1GSPpSKDNKFNAC7aMCmIWgCgQFsdaQSKfugk0ALlj6D9aQKf4mJ/SmA7Yp/hH480tABiigApaACkoAM0uPSgBQpo2n0pAIQRSgZoAdnHvTQM96AF/CkJHpzQAYNLjnJPNAwo60CCigAooAKKACloAB70HpQA2igAopgGKWgBQKAKQC9KM0DDNNJBpAApCOcCgBOlFMQZozQAZpc4oAM0vPagBOaCc0AGQfUUZFAxc0m70oEJmigBc0ZoAM0mRQAbhRvFAw3Uu6gBN1JmkAtKRQAYHpS4HpTAMCjA9KAE29xRg0gFzRmmAUhGaADbS4oAKKAEwKKAFpKAEo4oAMik4oAKDSAMUYpgJto2+1ACYxSYpAH0pQTQAYB5IBpDGp52imBGYxnOMVE0S5yuc/zoC5KlsqqN5JPpmjyYs/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RQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABSUAFJSAWloAKKBhRQIKKACigBKKAEpaACigBKMUAIRTaBhSigBe1FAhM0tACZozQAUUAJmkPNAxvNFIYAUuKAHYopkhSEheSQBQAzzlJwuW+gpC8p+7GB9WoACJ2/wCWiL9FzSC3HV2dz7nFMCVURB8qAfhTqAEyKUGgAooAWigAooAMUuKAAjFKBkUAOAwKWkAmaQeufwoATcM0de1AATgc0nLdRgUALgDpxRQAUnNACk0lAC0UAFFACUtABRQAUtAxCfQUAj/9dAC5oBNK4AGB/wDr0p/CmAYHeloASg0AJnHbik3oTjIz9aAAkgdjTeeMg5pAKTk/do5B+VaBib/UUodenSgBGC9QaQrkcDPvQA3afeigBefSjt0oEHJoI54oAMH2pMUALil6dhTATrRgUALgUUCCigAzS0AJmlBoAM0UDFoFABRmgAooASigA/GgUALRQAUUAFGKADGKKACjNAAaKACigApMUAFGPegAI96bt5oAXFJxQAZxS0AAIprAdc4oEVfNSWfys5x1xVonAoGMFLikA6jmmAlLQAlIBQAY/OkoAMUmKQC4oxTATmjmgA5o5FAC5oH0oAKMDpgUAJsFG0jvQAuKQk0gAH3pR78UALRTASkxQAlL0oAKKAAdKM0gFzTcE0wHDI60bjQA4HNLkUAFGKBBikxQMMUUAFJQAvFJmgAooATNHWgBOlGaBBS0wCkoAKKACigBc0lAC0UAJRQAUUAJRQAUUAJRQAUlABmlDc0AO3g9qoX9rgGaPGP4h/WgCKC82qFcZHYjtV+OQFQRyD3oAmHPSlpDCkoAWigAozQAtJQIM+1OzmmAmR60E0hicUlAhKOaAFxkUlABSGgYYPpRQA6igBKKACgUAFFACEUUCCkNMBKWgBQxFGaAEzSZoASkoAWigApRQAucdKXcfWgBwbP1pTg9aQxpX2xUb/dNMReooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApKACkpALS0AFFABRQAUUAFFABSUAJRmgYUtAgpKAA00jigYlLSAUfWg0xCUh4oAYWNAyaRQ6igQYowKYBilA5oAXGOSaaXVPvMB9TQIia8iTowb6c1C187HCR/nTAlEUsgBeUrnso6U9LeNB03n1bmgCTnpmjFABRQAoooAQ0tACZozQAoNKOeKQChTTttADsCjA7UAI2cdKAOO9ACFh2pNx7UANyaU9uMUAOU5OKXFADSBvyefSjHoaADmgUAFFABRQAUUAFFACiigANFAw4oyBQIbnNHtTACBSYPY0rDuBB7kflRhvUflRYLgN3qv5UuG/vAfQUCEKn++36UYOc72/SgAKqeoz9eaXjGMDFACBQOhIpdzL1wRQMeGzTT3OaQDQAaUDnBNADSvzdP1pMH/ACaBjiSBj9aQcHmgQ5T60lAByelNx60wDFKB60AIevANGD6UgEAJo5pgHNLQAUUALg0YPpQAmD9KKACl6UCClzQMTdzRzQAc0ooAKKACigAozQAZooAKWgBM0UAFFAC0UAJmloAKSgQd6KBhRQAUlAC4pMCgBuADmqV5ckHyovvHgkdqBE1tbLAgJGGI5zU55WgYlFAC0UAJRQAUUAJRQAUA57UALgetJQAYooASigANJQAoooACaM/jQApPFNFACjFLkUAGaKAE6UUABFFACYo6GgBaKADFJigBaTpSAM0oNMBc0oagQZpc0AFHFACUtACYpMUDDFJQAuBRigQlFMAxijFACUUAFFACUUALRmgAzRQAUlABRQAUUAFFABSUAFJzQAUcUAJxTsKykEcEYxSAzprFkG6H519O4qO3uDC+D9zPIPamBqJICAQePUVIMGgAxRSGFGaAClFACk+lNyRQIXNGRTAKMUAJS0AIRQKQBQaAEo6UDAUUALiigBMUUAB7UmaAHbaKAEpKBBmkNMBKUUABpKAEooAXFGKADApKADpSg0AKKCKADOKcCc8c/WgBS2DTJQPLJ70gLlFMAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACkoAKSkAtFAC0UAFFABRQAUUAJRQAlJmgYZoBFAC5ooACaaTxQAwnNAJ70hijNLg96YhcUcUAIADTgnfigBCMdf0pM4oARnAHJA+tQm6jXjdk+wzQIT7ST9yNyf8AdozdMeAiD86AFEU5HzXH/fK1F9gySWfcT3IpgTxW8cagbQx9SKmAA6ACgBTSYoAMUUAFAFAC4pKACjFAAfel2elADShHSnoD3qRj80uaYCGgGgQE0hagAyPTmkLUAGSaTgUAO64waU/WgCMZYg4wv6mn0AFIfagA6UUAFFABS4oAKSgAooAKKACk/CgBaMUwCikAlFMBaTNIANGKYBilxSATGKXmgAHFOpDGkAnkGmMAOOeKBhjgUc0CFyaOaYhKXtQAAUu00AIeKAQKADI9TR16E0DFCEd6PL9+KAGkAdTzS59qADceRS8Y96AG4pQSKAAnPYUmKAFAzS5oAM5HPWk70CF2jrmk4zQMMc8frRigBc54IpKAFooAMUnFABRQAUuKBCYooGFFABRQAUUCCigAooAKSgApaBhSE4oEV55/KUk4z2FRWsRZvOY5/qaBltiD0FJnigAooAWkoAKKACjFACUYyaAFIxSfSgAxSg4GMUAIc9TSUALxRQAmKWgBKKADFFABR26UAIPpS0AHNH40CDikxQAtGaBgCKQ8GgAozQAtFAC4ooEJ9KOaBigYooEFLQAlFAC0UAJmlzmgBKXigApKACkxTAKKACkNABRQAlFABRigAxRQAUUAFFABiigAyaKAEooAKKAEooAQ0lADlbsaZPZpcYYfK3r60AQCOS0wrMCpPFW0kBFAD8ikzQAUUDFpM84FIBaXigQuM9MGkwaBiE4oFMQUZoAOtJQAUUgDmmkkdKBijjrS4oAKXNABmjNACZpQKAF6DpSZoAOMU2gQlIaYBiloAMUYoANuemaUIc0AKU9KNlADSDnpRigBCDSYoAUGlzQAfWl6igA7Ypkn3TQBeooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKSgAooAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0ZoAM0maADNJmkAuaM0ALmjNABmjNABmjNABmloASkoAKaRk0DDmkw3pSGAzS4NAgIzSAUAAXJoC+tMB2KDjFAAMfjTGdFzkgUCI2uol71C16M4UgD1xnNMBUnaUlU+b6DFSeUx6ykfQUgFFvGDkgufVjmpAqr90BfoKYDqOKADFLigBMUYoABTs0gCkpgGKMUAJS0gDGKKYCgAnrTwAKQC0m4UAJnmjNABRyBmgBAeaCM+tADc460ZoAX6UdfegBRnNKfSgAooAKTFABS0AFGKAFxRtJ6UAJg96Tp1oABzR3NABntRTAKKQBRQAUUAJS0wDFLtpAGKXFABijHpQAUc0DEzjrRSACM4xTSuD60AGfek4NMAFGPagBc8YwKQnOKBCZpQSOlAAST1pMGmAlO2tmkA7B/vUEH1oGIUpdoHvQAu0Y6UY44oAbjNGOaBC8elJigYlFAAaKBCUUALTivHWgBoxnuRTiQO2aBjdw7igGgBc5NIetABnnrQSM0AJmlzQAbhRuoAQsKN1ABmjNAgyaTPNAC5ozQAZoyKADNGaBiZozQAtRySCNSzHigCrFA88pmmwF/hWrnAGBwKAEooELQBg0DCkxQAYooAKUMaAA9MgUmSB2oAKSgBM0oOOaAAnNJmgQp+tJnFAxaSgAooAO9FAhKUDjNAwooAKSgQd6KADpRigYdKDigApM0AGfzpQc0AOooAQmloELg96MenNAC7R60mBQAmBS9elACUUAHGKBQAUUAAo60AFGKBiYopiEooAKQ0AGKKADNAPNIBTjHFITQMSimIWjNACUtABmigBKSgBc0maACkoAKOKAEpysVoAJUWeMq+SPX0qkDLasBK26M8BqALqtuHWnCkAtFMAJ7UvGKAEzQCT1H5UgF6HjNBYjrzQMTrR92gBRSUCFpKYBSUhhg0bc0ALiloAKKYgFG0+lABjHWkJ9KAEzRQApY455o3r3GKAF3Lx/hSHafagBvIOO1LQAUu72AoAcGOOnNLmkMQketNzigQFiDQZPUUDAMD1XFLgNQAm0UhFMQ0DFLyKACkkxsPNAFrzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86ADzE/vr+dHmJ/fX86AE8xP7y/nR5i/wB4fnQAb1/vD86N49RSAN49RRvHqKYBvHqKN49RQAbx6ijePUUgDePUUbx6igA3j1FG8eooAN49RRvHqKADePUUbx6igA3j1FG8eooAN49RSbx6imAbx6ijcPUUgDcPUUbh6imAbh60bh60AG4etG4etIA3D1FG4etAC7h6ijcPUUAG4eoo3j1FABvHqKN49RQAb1/vD86PMT++v50AHmJ/fX86PMT++v50AIZE/vr+dIJE/vL+dAw8xP7y/nRvT++v50AG9P76/nS70/vr+dAg3x/31/Ok8xM/eH50AH2hR0P5GkEwbqQPqaBiFzjh0z/vUBkI+d1P0NAATCf7p+rUZhxghP0oAbst/wC7H+lKBCOgjH5UCHB0AwGUD2NG9P7y/nTAN6f3l/Ojen95fzoAPMT+8v50vmJ/eX86ADzE/vL+dHmJ/eX86ADzF/vL+dL5qf3l/OgA8xP7y/nR5if3l/OkAeYn99fzoMif31/OmAeYn99fzo8xP76/nQAvmJ/fX86PMT++v50AJ5if31/Ojen99fzoAXzE/vp+Yo85R/Gv50gDzVP8a/nSeYn95fzpgOEif3l/OgyR9d6/mKQCCSP++ufrTvNTHMi/nQAhlj/vr+dHmp2dfzoAQyRnqw/OgPHj76/nQMXzYyPvr+dHmRjpIv50AHmp/fX86PNT++v50CF8yPtIv50ean99fzoAPMj/AL6/nR5sf99fzoAPMj/vr+dL5kf99fzoAPNj/vr+dHmx/wB9fzoGHnR/31/OkM8Y/jX86AE+0Ie4/MUfaF9V/wC+hQITz17Y/wC+hSLIg6uuT70AO8xP76/nQJI/76/nQAnmJ2ZfzpfMT++v50AHmJ/fX86PMj/vr+dAB5if31/OjzY/76/nQACRP76/nS+ZH/fX86AF82P++v50eZH/AM9F/OgA82P++v50GSP/AJ6L+dACeZF/fX86XzY/+ei/nQMPNj/vr+dNaVTxvT86AEEif31/Ojen99fzoEHmp/fX86N6Zz5i/nQMd5kX99fzpPNjH8a/nQAhmjPcfnR5qf3l/MUAJ5iZ++Pzo8yM/wAYoAUOg/jX86UyR/8APRfzFAAJIx/Gv50vmx/31/OgA82P++v50ebH/fX86ADzY/76/nR5sf8AfX86ADzU/vr+dHmR/wB9fzoABLGP41/OjzU/vr+dAB5sf99fzo82P++v50CEMq/31/OgyIf41/OgBu9P76/nRvQfxr+dAwEif31/Ol8xP76/nQAeYg/iX86PMj/vL+dAAXj7Ov50nmJ/fX86BB5i/wB9fzo8xR/Gv50AHmr/AH1/OkLp/eX86AHCSNR98fnR5sfqv50WGIZI8/eH50GSP++PzoATen95fzoLp/eX86AE3J/fX86Xen99fzoATen95fzo3p/eX86BC70/vr+dG9P76/nQAb0/vL+dJvT++v50AG9f7y/nRvT+8v50ABdOzL+dJvX+8PzoAXen94fnRvT+8v50AG9P7y/nS70/vr+dAxrSqBwwP41V3Gaf58BF6AnFAFounQMuPrRvX+8v50AJvX+8Pzpd6f3h+dAC70/vL+dJvT+8PzoAN6/3h+dJvX+8PzoEKHTuwo3r/eX86AELr/eH50B1/vD86AHbwR99fzpu9f7w/OgYbl/vD86Ny/3h+dACbl/vD86Ny/3h+dAg3r/eH50bl/vD86YBuX+8PzpNy/3h+dACh17sPzpN6/3h+dIBd6+o/OjevqPzoANyf3h+dG5f7w/OgYm5f7w/Ojcv94fnQINy/wB4fnRvX+8PzpgG8f3h+dG5f7w/OkAbl/vD86Ny/wB4UAG9fUfnSbh/eH50AG5f7w/OjcP7w/OgBdy+o/Ojcv8AeH50DDcv94fnRuH94fnQAbh/eH50oK92X86QDsp03D86PMTHBGfrQAnmD+8PzpQ6d2H50wF8xMfeH50b4z/EB+NACbk/vilymOHX86BCFlH8a/nSbl/vL+dACbl/vD86cXQ91/OgBNy/3l/OlDp/eH4mgBNyg/eX86N6/wB4fnQAb1/vD86N6/3h+dAw3r/eH50b1/vD86BCbl/vD86Tcv8AeH50wE3D1H50bh6j86ADcPUfnRvB7j86AE3D1H50ZHqPzoANy+o/Ol3L6j86ADco7j86TK+o/OgA3AdxRuHqKADcPUUbh6igA3D1H50ZHqKADK/3h+dGR6j86AEyvqKMj1FACA88sMelLkeo/OgAyPUUmR6igAyPUUZHqKAANjoaSaOO4i2ltp6596QFaDfG3lODj+8OlXVKkctimAuV7MPzo3D+8PzpAAZR/EPzpd6/3h+dMBNy+opRIo6MKQCFx/eH500spP3v1oGOBX+8PzpS64+8PzoATeP7w/Ol3Kf4h+dMQb1/vD86Tcv94fnQAbl/vD86Ny/3h+dAC7l/vD86Ny/3h+dABuX+8Pzpdyf3h+dACbl/vD86Nw/vD86AE3KP4h+dG8f3h+dIBNy+o/OjcvqPzpjDK/3hRuX1H50CAlf7w/Okyv8AeH50AG4YxuH50hI9RQAqsMfeApdw/vD86ADcvqPzo3L6j86AHB19R+dL5i/3h+dIYm5c/eH50m5M9Rz70ALlP7w/Okyh7gfjQAAqBjcPzpMqP4h+dADwyH+IfnSFl7Mv50CG5X+8Pzoyv94fnTATK+o/OmuRtOCKAIqKQwooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAdTqAFooAWloAKKACigAooAKKACigAooAKKACigBaWgAooAKKYBRSAKKAFpKBBRQMQ0w0ANNIaAEpKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAP/Z
<<stretch "Some" "extra credit will be available on the [[final exam]]. " " (It will probably be at least 2 points to compensate for the gap caused by 48-points-worth of the [[multichoices|opening_questions]] section, plus an additional 5 points or so.)">>
A [[fallacy]] is a kind of defect in an [[argument]] that tends to make it //seem// more persuasive than it should be. In reading philosophical reasoning, we should be tentative about charging the texts with fallacies, since the skill of
<$select tiddler=<<qualify '$:/selected1'>> default='definitions'>
<$list filter='" " [tag[skills]sort[title]]'>
<option value=<<currentTiddler>>><$view field='title'/></option>
</$list>
</$select>
requires us to look for ways of understanding a text as coherent and reasonable.
Still, it is important to consider passages where a [[fallacy]] diagnosis might be applicable. For example, Mill's argument [[for the desirability of happiness|Mill's quasi-proof]] is sometimes accused of the fallacy called <$select tiddler=<<qualify '$:/selected2'>> default='definitions'>
<$list filter='" " [tag[fallacy]sort[title]]'>
<option value=<<currentTiddler>>><$view field='title'/></option>
</$list>
</$select> because two divergent senses of a single word ("happiness") may be at work in the premises and the conclusion.
{
"_play": "tag[_play]"
}
<$details class="" open="yes" summary="Dewey offers a condensed critique of two arguments in the following passage:">
<<<.fm
A clue to the matter may be found in the fact that the
supporters of the "interest" side of the controversy habitually
use the term "self-interest." Starting from the premisses that
unless there is interest in an object or idea, there is no motive
force, they end with the conclusion that even when a person
claims to be acting from principle or from a sense of duty,
he really acts as he does because there "is something in it"
for himself. The premiss is sound; the conclusion false. In
reply the other school argues that since man is capable of
generous self-forgetting and even self-sacrificing action, he
is capable of acting without interest. Again the premiss is
sound, and the conclusion false. The error on both sides lies
in a false notion of the relation of interest and the self.
<<< Dewey "Theories of Morals" in //Democracy and Education// p. 351
</$details>
The [[arguments|argument]] are sketched as follows:
|>| ^^first argument: "all ultimately selfish"^^ |^^critique^^|
|[[premise]]|Unless there is ''interest'' in an object or idea, there is no ''motive'' force (for a person to act on it).|<$appear hide="«" mode="block" $state="p1">//reasonable//</$appear>|
|[[conclusion]]|!Even when a person claims to be acting from principle or from a sense of duty, he really acts as he does because there "is something in it" for himself. |<$appear hide="«" mode="inline" $state="c1">//doesn't follow//</$appear>|
|softtable|k
|>| ^^second argument: "transcending interests"^^ |^^critique^^|
|[[premise]]|Man is capable of generous self-forgetting and even self-sacrificing action|<$appear hide="«" mode="block" $state="p2">//reasonable//</$appear>|
|[[conclusion]]|![Man] is capable of acting without interest. |<$appear hide="«" mode="inline" $state="c2">//doesn't follow//</$appear>|
|softtable|k
!!Philosophical Reasoning: [[argument]]
The Greek practice of //dialectic// involves testing someone's asserted views for consistency (Socrates as "midwife").
Hypotheses are subjected to cross-examination (elenchus) -- different from disagreement-oriented debate.
!!Mapping the Euthyphro
See handout.
Main Hypotheses in attempt to define piety (not counting "what I am doing now" as a definition):
# what the gods love (7a)
## what //all// the gods love (9e)
# a part of justice...
## ... concerning ''care of'' the gods (12e)
## ... concerned with ''service to'' the gods (13d)
# knowledge of sacrifice and prayer...
## ... which //pleases// the gods, though they don't need anything from us.
!![The Euthyphro Problem: Divine Command vs. Reasoned Religion]
See handout, examine [[order of explanation (10a-d)]] and [[Euthyphro core argument (11a)]]
!!Reading for next session: Epictetus
# Write a passage commentary if it's your turn. Post it //by midnight//
# Take a look at other students' commentaries, if it's not your turn.
!{{!!assigned_pages}}
|!{{!!blurb}} |
|softtable|k
<<slider label:"{{!!title}} skills to develop" src:{{!!skills}} labelClass:"hli" srcClass:"">>
<<slider label:"{{!!title}} post-study questions" src:{{!!synthesis}} labelClass:"hli" srcClass:"">>
<$macrocall
$name="toc-tabbed-external-nav"
tag="sessions"
selectedTiddler="$:/temp/toc/sessions/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[No item selected.]</p>"
/>
<$details sum="admin details…">
<<table-dynamic filter:"[tag[sessions]]" fields:"tbl-expand calendar_date title author_tag textsource_tag unit_tag" stateTiddler:"sessions" class:"w-100 thead-dark" caption:"''Spring 2020 sessions''">></$details>
[img[glasses|https://i.pinimg.com/564x/8b/85/0f/8b850f3fad91d4e3d2985cc8e9cfbac4.jpg]]
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="shapes" class="svg-inline--fa fa-shapes fa-w-16" role="img" height="14pt" width="14pt" viewBox="0 0 512 512"><g fill-rule="nonzero"><path d="M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z"></g></path></svg>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="share-alt-square" class="svg-inline--fa fa-share-alt-square fa-w-14" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"></path></svg>
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
This website is a resource for students enrolled in Introduction to Ethics (PHIL/ENVS 212) at [[Wesleyan University|http://www.wesleyan.edu]].
It's a single webpage (called a [[TiddlyWiki]] that includes both a web-like set of small bits of information ("tiddlers") and all the tools needed to edit that information. To learn more about the engine behind this site, please visit [[http://www.tiddlywiki.com]].
{{Home}}
[img[site_title_logo|https://www.dropbox.com/s/w8sp85gh4sns7fj/ethics_at_wes_logo.jpg?raw=1]]
We can organize the units of this Intro Ethics [[syllabus]] into a grid, like so:
|!|''[[Rationalist|rationalism]]/idealist-leaning''|''[[Empiricist|empiricism]]-leaning''|
|!Ancient|[[Unit A]]: Stoic-Platonic|[[Unit B]]:Aristotelian|
|!Modern|[[Unit C]]: Kantian|[[Unit D]]: Utilitarian|
|!Postmodern|[[Unit E]]: Existentialist|[[Unit F]]: Developmental-relational|
Of course, any such division oversimplifies!
But recognizing that certain [[rationalist|rationalism]] themes resonate across [[Unit A]] and [[Unit C]], while certain [[empiricist|empiricism]] themes resonate across [[Unit B]] and [[Unit D]], can help orient us to major issues in ethics.
Similarly, the ancient schools, despite their differences, tend to converge on one central premise that is not shared by moderns — namely, that ethics is fundamentally and necessarily a matter of enlightened self-interest. (Modern thinkers, by contrast, often grant that [[happiness]] and moral qualities can pretty easily come apart in practice.)
The last two units take us through more varied terrain. But many of the readings emphasize moral differences, developmental processes, and interdependence; they also begin to explore moral reflections about the more-than-human world and our responsibilities within ecological relations.
Philosophical skills developed during this semester-long course include:
<$macrocall
$name="toc-tabbed-internal-nav"
tag="skills"
selectedTiddler="$:/temp/toc/skills/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
We see various kinds of mistakes about how to offer a definition (or account of the concept) of what is [[pious|piety]] @@color:gray; (Greek: τὸ ὅσιον (//to hosion//))@@. <br> <br>These mistakes include…
<$appear show="( a ) <$details class="admin" summary="…">
<<list-links "[all[current]backlinks[]]">>
</$details> Giving a mere //attribute// of the concept rather than its definition." $state="block" state="!!accordion1">
@@color:green; Yes. At 11b, this is the complaint about the hypothesis from 9e@@</$appear>
<$appear show="( b ) Attempting to give an objective definition of something that is essentially subjective in nature." state="!!accordion2">
@@color:red; No... This is a frequent complaint about definitions, and one of the early discussions (about divine disagreement) may *look* like this is Socrates' complaint.@@ But Soc is not making this point (and he actually hints that he himself is skeptical about all these accounts of divine disagreement). Even if the gods //disagree// about what things are X (what's pious, what's lovable, what's just, etc.), they (and we) must have some notion of what "X" means in the first place in order to begin to make sense of that claim that //there is something// about which they disagree! (And giving an account of that notion is exactly what the Greeks are trying to do when they seek the thing’s //logos//, which we translate as meaning/definition/account.)
</$appear>
<$appear show="( c ) Giving a definition that leads, according to Euthyphro’s own beliefs, to contradictory claims." state="!!accordion3">
@@color:green; Yes. At 8a, this is the end of the cross-examination of the hypothesis from 7a@@
</$appear>
<$appear show="( d ) Giving a definition that is different from Socrates’ definition." state="!!accordion4">
@@color:red; No... No; as frustrated as Euthyphro (and readers) may be, Socrates does not allow his elenchus to focus on whether he disagrees, and Plato does not portray “disagreeing with Socrates” as the problem with any of what Euthyphro claims. The problem is, in each case, that Euthyphro’s own claims are not coherent with each other, and that Euthyphro himself recognizes the incoherencies. We do see a hint, late in the dialogue, about how Socrates might define piety, however.@@
</$appear>
<$appear show="( e ) Offering an example rather than an account of the concept itself." state="!!accordion5">
@@color:green;Yes. At 6d, this is the complaint about what Euthyphro said at 5e (that piety means “doing what I am doing now”)@@
</$appear>
<$button><$action-setfield accordion1="" accordion2="" accordion3="" accordion4="" accordion5=""/>Close all</$button>
<$button><$action-setfield accordion1="open" accordion2="open" accordion3="open" accordion4="open" accordion5="open"/>Open all (does not work)</$button>
<<slider-macro label:"more //information// and ''markup'' is possible in the slider-macro label?"
text:"Here's the //further// discussion. Trying out [[comparisons between Marx and Nietzsche]] here..." >>
<$details animate=yes summary="( a ) With the //details// widget I'm restricted to simple text strings.">
@@color:green; Yes. At 11b, this is the complaint about the hypothesis from 9e@@
</$details>
(a) <$appear show="The appear widget/macro label has some text with simple //formatting//... " $state="aaa3">@@.hlg I can apply local css text styles@@ but not block styles here, I think...</$appear>
(a) <$appear show="The appear widget/macro label has some text with simple //formatting// which is ''nice''" $state="aaa4">@@.hlg I can apply local css text styles@@ but not block styles here, I think...</$appear>
<$button>
<$reveal type="nomatch" state=<<qualify "$:/temp/popup">> text="">
|section content goes here|
</$reveal></$button>
<<slider [[assignments]] "click me»" "more" >>
This from the Classic Parser Demo site, doesn't seem to work... why?
<<slider $:/temp/xxx slidertest "click me»" "more" >>
<<slider " 6a: Enmity among the gods?" ">Euth: These people themselves believe that Zeus is the best and most just of the gods,yet they agree that he bound his father because he unjustly swallowed his sons, and that he in turn castrated his father... But they are angry with tme because I am prosecuting my father...<br>Soc: ... I find it hard to accept things like that being said about the gods... Now, however, if you, who have full knowledge... share their opinions, then we must agree with them too, it would seem... do you believe that there really is war among the gods, and terrible enmities and battles, and other such things...?<br>Euth: Not only these, Socrates, but... many other things... I know will amaze you.">>
<<slider " 8a: Items both loved and hated by gods" ">Soc: But you say that the same things are considered just by some gods and unjust by others, and as they dispute about these things they are at odds and at war with each other. Is that not so?<br>Euth: It is.<br>Soc: The same things are loved by the gods and hated by the gods... the same things would be both pious and impious, according to this argument?<br>Euth: I’m afraid so.">>
<<slider " 9d: Hypoth: Pious = what all gods love" ">Soc: ...let us assume, if you wish, that all the gods consider this unjust and that they all hate it. However, is this the correction we are making in our discussion, that what all the gods hate is impious, and what they all love is pious, and that wht some gods love and others hate is neither or both? Is that how you now wish us to define piety and impiety?<br>...<br>Euth: I would certainly say that the pious is what all the gods love, and the opposite, what all the gods hate, is the impious.">>
<<slider " 10a: E: Gods love the pious because it is pious?" ">Soc: Consider this: Is the pious loved by the gods because it is pious, or is it pious because it is loved by the gods?<br>Euth: I don’t know what you mean...<br>...<br>Soc: ...that which is being carried is being carried because someone carries it...?<br>Euth: That is the reason.<br>Soc: ... So it is in the same case as the things just mentioned; it is not loved by those who love it because it is being loved, but it is being loved because they love it?<br>...<br>Soc: What then do we say about the pious, Euthyphro? Surely that it is loved by all the gods, according to what you say?<br>Euth: Yes.<br>Soc: Is it loved because it is pious, or for some other reason?<br>Euth: For no other reason.">>
<<slider " 10c: So it is … the same with [the god-beloved]" ">So it is in the same case as the things just mentioned; it is not loved by those who love it because it is being loved, but it is being loved because they love it?">>
<<slider " 11: S: If piety means god-beloved and..." ">Soc: But if the god-beloved and the pious were the same, my dear Euthyphro, and the pious were loved because it was pious, then the god-beloved would be loved because it was god-beloved, and if the god-beloved was god-beloved because it was loved by the gods, then the pious would also be pious because it was loved by the gods; but now you see that they are in opposite cases as being altogether different from each other: the one is of a nature to be loved because it is loved, the other is loved because it is of a nature to be loved.">>
a property had by an argument when the [[premises|premise]] are true and when it is also valid.
<<table-dynamic filter:"[tag[opening_questions]tag[sp21]]" fields:"tbl-expand created title" sort:"calendar_date" stateTiddler:"oqtable-sp21" class:"w-100 thead-dark" caption:"''Opening questions spring 2021''">>
FACET <$sparkl
values="5 3 4 5 4"
min="0"
width="10px"/> = 4.2
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 200 115.9" enable-background="new 0 0 150 115.9" xml:space="preserve">
<g>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="33.5436" y1="98.5111" x2="92.6585" y2="11.8584">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="1" style="stop-color:#D1D3D4"/>
</linearGradient>
<path fill="url(#SVGID_1_)" stroke="#000000" stroke-miterlimit="10" d="M138.5,14.8c-7.8-2.2-33.8-3.8-64.7-3.8
c-31.2,0-57.4,1.6-64.9,3.8c-0.4,0.1-0.8,0.2-1.1,0.4c-0.3,0.1-0.6,0.3-0.7,0.4c-1.5,1-2.4,2.7-2.4,4.6L14,80.4
c0.3,2.6,1.6,4.4,3.4,5.1c1.7,0.8,5.9,1.6,11.8,2.2l9.7,0.8c6.6,0.4,14.4,0.7,22.8,0.8c-1.2,6.9,0.4,9.1-4,13.3
c-8.7,8.3-14.1,7.7-14.1,7.7c1.4,0.5,11,1.7,20-4.8c6.9-4.9,6.1-8.4,7.7-16.2c0,0,0,0,0,0c28.4,0,51.8-1.9,54.5-4.3
c1.4-0.9,2.4-2.6,2.8-4.7l14.6-60.2C143.1,17.5,141.1,15.3,138.5,14.8z"/>
<g>
<path fill="#E2E2E2" d="M138.5,14.8c-7.8-2.2-33.8-3.8-64.7-3.8c-31.2,0-57.4,1.6-64.9,3.8c-0.4,0.1-0.8,0.2-1.1,0.4
c-0.3,0.1-0.6,0.3-0.7,0.4c-0.4,0.2-0.7,0.5-1,0.8c0.1,0,0.2-0.1,0.2-0.1C6.6,16.2,7,16.1,7.4,16c7.5-2.2,33.7-3.8,64.9-3.8
c30.9,0,56.9,1.6,64.7,3.8c2.6,0.5,4.6,2.7,4.6,5.4L127,81.6c-0.3,1.6-0.9,3-1.8,3.9c0.2-0.1,0.4-0.2,0.5-0.3
c1.4-0.9,2.4-2.6,2.8-4.7l14.6-60.2C143.1,17.5,141.1,15.3,138.5,14.8z"/>
</g>
</g>
</g>
<text id="bubbleText" transform="matrix(1 0 0 1 21.6668 57.9542)" font-family="'MyriadPro-Regular'" font-size="14">I have an <br> opinion! </text>
</svg>
@@.triangle-right I have an opinion!@@
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"
viewBox="0 0 132 136">
path {
fill: #fff;
stroke: #111;
stroke-width: 2;
stroke-linejoin: bevel;
vector-effect: non-scaling-stroke;
}
<path d="M125.2,2.8C57.6,2.8,2.8,42.1,2.8,84.6c0,33.3,33.9,61.6,81.1,72.2c2.8,27.2-2.5,71.7-16.1,88.4c20.5-23,42.4-61.8,50.4-84 c2.3,0,4.7,0.2,7,0.2c67.6,0,122.3-34.4,122.3-76.8S192.8,2.8,125.2,2.8z" />
</svg>
\rules only filteredtranscludeinline transcludeinline
<div class="tc-remove-when-wiki-loaded">
Please wait while {{$:/SiteTitle}} is loading...
</div>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="spring 2020"
selectedTiddler="$:/temp/toc/spr20/selectedTiddler"
default="office hours"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[No item selected.]</p>"
/>
!!!Questions from 3/24 onward will be included on [[final exam spring 2020]].
Note: only FOUR options for each question will appear on the actual exam, and (as always) the order of the options may be shuffled.
<<table-dynamic filter:"[tag[opening_questions]tag[spring 2020]!tag[BackEnd]]" fields:"tbl-expand created session title" stateTiddler:"oq20 list" sort:created class:"w-100 thead-dark" caption:"''Spring 2020 discussion group opening questions (Use ﹥ at left edge to reveal details.)''">>
Details for [[final exam spring 2021]]:
Although group responses have been recorded for the in-class questions, more fine-grained details (absences, single-day shift of groups, dissents, appeals) are not reflected in the [[team-results]].
TENTATIVE DRAFT for FULL SET of final exam questions, Spring 2021 appears below.
<<table-dynamic filter:"[tag[opening_questions]tag[sp21]exam[sp21finex]]" fields:"tbl-expand § created title exam_alt" sort:"§" stateTiddler:"oqtable" class:"w-100 thead-dark" caption:"''Opening questions spring 2021 final exam'': Please click ''§'' column to sort; each row expands for details">>
<$details class="success" open="no" summary="FAQ about multichoices part of exam">
;Q: Which column should I study?
:A: You'll see the questions under "Exam_alt" //except// where you have participated in a "Bullseye" or "OK" response during the group discussion for the session. <br><<hspace 3em>>Note: Even if "your group" did a great job, if you were ''absent'' (or dissented, of course) you should expect the alternate question instead.
;Q: How are these graded?
:A: each 5-part question is worth 5 points, and each ⓐ/ⓑ/ⓒ/ⓓ/ⓔ option is graded independently (like 5 true/false questions). So the whole multi-choices section is worth 60 points (with the essay accounting for the other 40 points).
@@margin-left:3em;
|!exam component:|D1|D2|D3|D4|E1|E2|E3|E4|F1|F2|essay |
|!scoring:|5|5|5|5|5|5|5|5|5|5|! <<hspace 3em>> 50 <<hspace 3em>>|
@@
;Q: Can I offer explanations if I studied the issue but am just undecided about how to interpret the question?
:A: You may offer explanations of up to 3 options (out of the 10x5=50). For example:<br> ` For D2ⓑ: I'm reading "happiness" here as shorthand for an overall positive balance of wellbeing as contrasted against suffering. `
;Q: How, when, and where do I ''access'' my customized exam, and how where do I submit my answers?
:A: Stay tuned! I believe the solution will involve some combination of moodle and google forms. I'll confirm details by late Monday.
;Q: How much time should I spend on the multichoices?
:A: In theory, about 40-50 minutes, leaving 30-40 minutes for typing the essay. But you may allocate your time differently. In practice, I have always allowed an extra 10 minutes beyond the end of class. So you may actually use a total of 90 minutes if you need it. <br><<hspace 3em>>Note: All times are adjusted proportionately, in the case of university-mediated accommodations.
</$details>
iVBORw0KGgoAAAANSUhEUgAAAZwAAAImCAYAAABn+Dy3AAABVWlDQ1BJQ0NQcm9maWxlAAB4nGNgYFJJLCjIYWFgYMjNKykKcndSiIiMUmB/yMAOhLwMYgwKicnFBY4BAT5AJQwwGhV8u8bACKIv64LMOiU1tUm1XsDXYqbw1YuvRJsw1aMArpTU4mQg/QeIU5MLikoYGBhTgGzl8pICELsDyBYpAjoKyJ4DYqdD2BtA7CQI+whYTUiQM5B9A8hWSM5IBJrB+API1klCEk9HYkPtBQFul8zigpzESoUAYwKuJQOUpFaUgGjn/ILKosz0jBIFR2AopSp45iXr6SgYGRiaMzCAwhyi+nMgOCwZxc4gxJrvMzDY7v////9uhJjXfgaGjUCdXDsRYhoWDAyC3AwMJ3YWJBYlgoWYgZgpLY2B4dNyBgbeSAYG4QtAPdHFacZGYHlGHicGBtZ7//9/VmNgYJ/MwPB3wv//vxf9//93MVDzHQaGA3kAFSFl7uRB+n0AAAnnaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjEuMiI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjY0MDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMTM2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PiatglUAAAAJcEhZcwAAFiUAABYlAUlSJPAABELaSURBVHic7F33dxRXmp2/a3d/2J0zNkGhFVq5lXPOAWWpWy11UAARPcb22njX4AVjPBwwGOc4OAfAgAnONjgRDMaIb9+9Va+6JESwPT6t8H64qurq6upXT32+W/dL7y8i8hcDAwMDA4M/G3EfgIGBgYHB8kDcB2BgYGBgsDwQ9wEYGBgYGCwPxH0ABgYGBgbLA3EfgIGBgYHB8kDcB2BgYGBgsDwQ9wEYGBgYGCwPxH0ABgYGBgbLA3EfgIHBXeGGyI0b6s9dnn+rc+/6GjztN5xvYGBwR8R9AAZLC3/UQOvP37hx/TcRzL90jDP2+yA5kTuOYb7r3bhx58/d7fUM6RksFcR9AAZLB7czjPMbZdcx7N7KSP8B4/17xs49+zt/+eUXuXTpkly8eFF++OEH+earr+XTs6flzKnT8smJk3LsyFH56IMPFY7IkY8+kOPHPuZ7Z05/Il989rmc++ZbOfft1/Lj9z+o61yQ69d+VZedsa8/I0ZJGSwnxH0ABksLv8dw4jMxJTHD7YxcdzhoRlxk4Cig3/c9c7cas645E7v2N9+ckyNHP5ajHx+Tl155WXbs2CFTU1MSiUQkGAxIbW2tlJYWS1lZiZSXl0tHR4dEoxMKUbnvvvtlz5498uTuvXLouWfl6NGjcuHCJeu77Pt1KyijbAyWOuI+AIPlBbcRhWL47LPP5KuvvpKPjx2Rt99+W95993158cXn5el9B2T/vr3y0gsvytGPjlBlzHeN2x270/e7gbGcPXtWff+76vtflD27n5RtDz8im6bXyUQ4JNFwRPzDg9Ld0Sn11TVSXV4mFSWlkpfllWxvuuRkYJsqpYUF0lhbJw01ldLR0iz9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
<$macrocall
$name="toc-tabbed-internal-nav"
tag="stage-graphs"
selectedTiddler="$:/temp/toc/stage-graphs/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
Following Kant, a number of philosophers have articulated a dualism //not// of ontology, but of stance or approach.
|!participant attitudes|!objective attitudes|
|love, gratitude, resentment, play, moral expectation|manipulation, prediction, control, coping|
|Peter Strawson’s Kantian stances:|c
|alternating-rows|k
|!intentional stance|!design stance|!physical stance|
|intelligible/predictable by invoking intentions, desires, attitudes|intelligible/predictable as an artifact or task-solution: supposed-to, designed-for...|predictable only through by physical laws|
|Dan Dennett’s stances:|c
|alternating-rows|k
|!animist stance|!reductionist stance|
|creativity, agency, reciprocity, interest|mechanism, background, inertness|
|Val Plumwood’s stances toward more-than-human phenomena:|c
|alternating-rows|k
[img[https://www.dropbox.com/s/iypxyy8w6my5j4x/step%20a.png?raw=1]]
[img[step b|https://www.dropbox.com/s/p9exytrhhvpwsfj/step%20b.png?raw=1]]
[img[step c|https://www.dropbox.com/s/zwt8x5cfb0zjck5/step%20c.png?raw=1]]
[img[step d|https://www.dropbox.com/s/81ydb4fav2ff3g2/step%20d.png?raw=1]]
: A Greco-Roman school of philosophy that emerged in the third century BCE, on which most suffering and distress resulted from lack of perspective and associated errors of judgment.
<hr>
[from Wikipedia:]
!History
Beginning at around 301 BC, Zeno taught philosophy at the Stoa Poikile (i.e., "the painted porch"), from which his philosophy got its name.[12] Unlike the other schools of philosophy, such as the Epicureans, Zeno chose to teach his philosophy in a public space, which was a colonnade overlooking the central gathering place of Athens, the Agora.
Zeno's ideas developed from those of the Cynics, whose founding father, Antisthenes, had been a disciple of Socrates. Zeno's most influential follower was Chrysippus, who was responsible for the molding of what is now called Stoicism. Later Roman Stoics focused on promoting a life in harmony within the universe, over which one has no direct control.
Scholars usually divide the history of Stoicism into three phases:
* Early Stoa, from the founding of the school by Zeno to Antipater.
* Middle Stoa, including Panaetius and Posidonius.
* Late Stoa, including Musonius Rufus, Seneca, Epictetus, and Marcus Aurelius.
As A. A. Long states, no complete work by any Stoic philosopher survives from the first two phases of Stoicism. Only Roman texts from the Late Stoa survive.[13]
...
Later Stoics, such as Seneca and Epictetus, emphasized that because "virtue is sufficient for happiness", a sage was immune to misfortune. This belief is similar to the meaning of the phrase "stoic calm", though the phrase does not include the "radical ethical" Stoic views that only a sage can be considered truly free, and that all moral corruptions are equally vicious.[1]
From its founding, Stoic doctrine was popular with a following throughout Greece and the Roman Empire, including the Emperor Marcus Aurelius, until the closing of all philosophy schools in AD 529 by order of the Emperor Justinian I, who perceived their pagan character as being at odds with the Christian faith.
: A philosophical [[doctrine]] or school (including Zeno of Citium, [[Epictetus]], and Marcus Aurelius) emphasizing the [[rational faculty of choice|prohairesis]] as the core of a person or self.
<hr>
For the Stoics, wisdom means not just knowledge but a commitment to self-cultivation, which involves developing one's faculty of choice ([[prohairesis]]) and rejecting the craving for [["externals"|"up to us" vs externals]] which are not under one's control. Although Stoics appeal to reason, their conception of reason is not [[a priori]], but informed by [[experience]]. See [[Perspective bias]].
Many interesting comparisons and contrasts can be drawn with Buddhist thought and with [[Kantian]] philosophy.
[img width=50% class=img-right [tankman|http://upload.wikimedia.org/wikipedia/en/d/d8/Tianasquare.jpg]]
!!!Does stoic philosophy (such as Epictetus' view) encourage or discourage political action?
!!![On one hand...]
It's reasonable to associate stoicism with quietism:
Embracing the world //as it is// is a central tenet; Stoics claim it is unwise to aim for "externals," including political change.
!!![On the other hand...]
Political action may be understood not as the desire to //change// the world, but as the commitment to //exemplify// justice, or to //demonstrate// a conviction.
In that case, stoicism then promises an exceptional kind of motivational strength:
The stoic political demonstrator cannot be deterred by threats, punishments, or even by the unlikelihood of success.
[img[self-immolating_monk|http://1.bp.blogspot.com/-zzhuBQCGwqw/UIn2ssZ89bI/AAAAAAAAHy0/aFCqtPqRKdc/s1600/Untitled-1.jpg]]
: a [[fallacy]] whereby someone's [[hypothesis]] or [[claim]] is rejected by presenting and attacking a weaker or more unreasonable view than the one actually being endorsed or considered.
* Unit A
** [[Euthyphro|Euthyphro]]
** [[Crito|Crito]]
** [[Epictetus, Enchiridion]]
** [[King|King, Letter from Birmingham Jail]]
* Unit B
** [[Aristotle 1 (up to 1115a)]]
** [[Aristotle 2 (1115-1132b)]]
** [[Aristotle 3 (books 7, 8, 10)]]
** [[Nussbaum, Non-Relative Virtues]]
* Unit C
** [[Kant1]]
** [[Kant2]]
** [[Kant3]]
** [[Korsgaard, The Right to Lie]]
* Unit D
** [[Mill1]]
** [[Mill2]]
** [[Mill3]]
** [[Rawles, Conservation and Animal Welfare]]
* Unit E
** [[Marx, Morality as Ideology]]
** [[Nietzsche, Transvaluation, Gay Science excerpts]]
** [[Beauvoir, Ethics of Ambiguity]]
** [[Plumwood, Nature in the Active Voice]]
* Unit F
** [[Kohlberg, The Child as a Moral Philosopher]]
** [[Noddings, Caring]]
** [[Dewey, Theories of Morals]]
<<dropMenu>>
.tc-subtitle {display:none;}
.tc-tags-wrapper {
display: none;
}
<<tag $:/tags/ViewTemplate>>
<<tag $:/tags/ViewTemplate/tags>>
p.Q:before {
content: "?";
color: #eee;
font-size: 2em;
padding: 10px;
}
p.A:before {
content: "!";
color: white;
font-size: 2em;
padding: 10px 15px 10px 5px;
}
p.A {
padding: 10px;
background-color: #eee;
color: #eee;
}
p.A:hover {
padding: 10px;
background-color: inherit;
color: inherit;
}
/* Colors taked from [1] https://www.w3schools.com/colors/colors_names.asp
[2] http://www.workwithcolor.com/color-chart-full-01.htm*/
/*Low tone background colors*/
[data-tags~="mistyrose"]{background-color:#ffe4e1;}
[data-tags~="lemonchiffon"]{background-color:#fffacd;}
[data-tags~="lavenderblush"]{background-color:#fff0f5;}
[data-tags~="lavender"]{background-color:#e6e6fa;}
[data-tags~="honeydew"]{background-color:#f0fff0;}
[data-tags~="lightcyan"]{background-color:#e0ffff;}
[data-tags~="aliceblue"]{background-color:#f0f8ff;}
[data-tags~="cornsilk"]{background-color:#fff8dc;}
[data-tags~="gainsboro"]{background-color:#dcdcdc;}
[data-tags~="bisque"]{background-color:#ffe4c4;}
[data-tags~="snow"]{background-color:#FFFAFA;}
: (in logic) a claim that functions, in the context of a complex [[argument]], as an intermediate step, being supported by some more basic [[premises|premise]], while itself also serving as a [[premise]] in support of a further and more final [[conclusion]].
: (adj.) going above and beyond [[duty]]; acting in a way that is morally admirable but not required.
: an assumption ([[premise]]) left unstated by the person giving an [[argument]].
<hr>
//see also:// [[enthymeme]]
//example: // Consider how the claim "Young people lack experience" is implicitly required by this argument:
>Experience is necessary to do this job.<hr>Therefore, young people cannot do this job.
This [[argument]] is [[enthymematic|enthymeme]], because it "suppresses" the [[premise]]: young people lack experience, proceeding to the [[conclusion]] based only on the one [[premise]] offered.
<iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfk4kCP9EkLswJvedtjSYQSyDYTrFznDIAkr18VUlJumGabDg/viewform?embedded=true" width="640" height="3021" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe>
[img width=auto [internet question responses by March 12 2020|https://www.dropbox.com/s/h605mjso8ij74ua/internetaccess_survey_results.jpg?raw=1]]
TiddlyWiki5 allows you to use SVG to display vector graphics in two ways:
* Tiddlers with the type `image/svg+xml` are interpreted as SVG images, and displayed and transcluded as self-contained `<img>` elements with the SVG embedded as a data URI in the `src` attribute.
** For examples of SVG images see [[Motovun Jack.svg]] and [[Tiddler Fishes.svg]]
* WikiText can also include inline SVG elements directly. See below for an example.
! Embedding SVG tiddlers
You can embed an SVG image tiddler using the ordinary transclusion syntax:
```
{{Motovun Jack.jpg}}
```
You can also use [[Typed Blocks in WikiText]] to embed an inline SVG tiddler.
The implications of the image being rendered within an `<img>` element are that it is sandboxed; it can't use CSS styles from the parent document, for example. Neither can the image use WikiText features like transclusion.
! Embedding SVG elements
The other way to use SVG is to embed the `<svg>` element directly. For example:
<svg width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
Note that inline SVG elements don't need an `<?xml version="1.0"?>` directive.
! Including HTML or WikiText content in SVG images
You can include simple text strings in SVG images using the `<text>` element:
<svg width="100px" height="30px" viewBox="0 0 1000 300"><text x="250" y="150" font-family="Verdana" font-size="55">Hello, out there</text><rect x="1" y="1" width="998" height="298" fill="none" stroke-width="2" /></svg>
HTML or WikiText content can be included within inline SVG images using the `<foreignObject>` element. For example:
<svg width="260px" height="260px"><circle cx="150" cy="150" r="100" fill="blue" stoke="red"/><foreignObject x="70" y="110" width="150" height="180"><body>Here is some text that requires a word wrap, and includes a [[link to a tiddler|HelloThere]].</body></foreignObject></svg>
! Transcluding SVG elements
When embedding SVG elements you can also use WikiText features like transclusion. For example, here is an SVG circle with the radius set to the value in the tiddler [[$:/SVGExampleRadius]]:
<svg width="150" height="150"><circle cx="75" cy="75" r={{$:/SVGExampleRadius}} stroke="black" stroke-width="2" fill="green"/></svg>
You can edit the value of the radius here: <$edit-text tiddler="$:/SVGExampleRadius" tag="input"/>
! Making curved text with SVG
{{Making curved text with SVG}}
[img[https://www.dropbox.com/s/7k94bu5345vmlhy/syllabus_banner.png?raw=1]]
<$details summary="An overview of syllabus-related elements of the site">
<<table-dynamic filter:"[tag[syllabus]]" fields:"tbl-expand title" stateTiddler:"syllabus" sort:created class:"w-100 thead-dark" caption:"''Click @@.tcr ''﹥'' @@ in left column to preview content. Click any @@.tcr title@@ link for additional details''">>
</$details>
<$details class="success" open="yes" summary="What's the course about?">
{{About Intro Ethics (PHIL212)}}
</$details>
<$details class="success" open="yes" summary="Expectations & Objectives">
{{Course expectations & objectives}}
</$details>
<$details class="success" open="yes" summary="Texts & Resources">
* Plato, Five Dialogues (translated by Grube, pub. Hackett 2002)*
* Aristotle, Nicomachean Ethics (translated by Bartlett and Collins, U Chicago Press, 2011)*
* Kant, Grounding for the Metaphysics of Morals (translated by Ellington, pub. Hackett 1995)*
* Mill, Utilitarianism (pub. Hackett 2002)*
{{textbooks}}
Additional Course Readings (via [[pdf-packet]])
… * Note: Translation and edition do matter, and you’ll need your own durable print copy to mark up.
</$details>
<$details class="success" open="yes" summary="Evaluation">
* [[microessays]] (30%): One per unit, as scheduled in groups (six total), limited to 120 words.
** Note: Submissions are due at moodle by 9pm the day before we discuss the reading in question.
* [[final essay]] (20%): Due last week of class. 1200-1500 words, with themes chosen by mid-April.
* Midterm & Final [[exams]] (20% each): Choice-based questions, like those discussed in class, plus essay.
* [[participation]] (10%): Attendance, extra contributions to online discussion (moodle), and TA visits.
Accommodations: Please consult with Disability Services to complete paperwork by the end of add/drop.
{{grading pie}}
</$details>
[img[huggingchimps|http://first100chimps.wesleyan.edu/images/Pan/pan&wendybabyPS.jpg]]
: true or intelligible by means of conceptual synthesis, or putting distinct concepts together
(Antonym: analytic)
<hr>
Many philosophers had treated [[synthetic]] [[knowledge]] as equivalent to things that are true [[a posteriori]] (only through experience of the world). Kant opposes this assumption, arguing that there are also [[synthetic]] [[a priori]] truths.
||! <——|!//virtue//|!——> |
|!fear & confidence|recklessness/<br>cowardice| ''courage/bravery'' | rashness|
|!pleasures & pains|licentiousness/<br>intemperance| ''temperance'' | [insensibility]|
|!giving & taking money|prodigality/<br>wastefulness| ''liberality/generosity'' | stinginess/<br>ungenerosity|
|!handling large sums|stinginess| ''magnificence'' | ostentation|
|!honor & dishonor (great)|vanity| ''greatness-of-soul/''<br>''magnanimity'' | smallness-of-soul/<br>pusillanimity|
|!honor & dishonor (small)|| [proper ambition] ||
|!anger|irascible| ''gentleness/mildness'' | inirascibility|
|!daily pleasures|quarrelsome| ''friendly'' | ingratiating/flattery|
|!truth-telling <br>(about self)|boastfulness| ''truthfulness'' | irony / self-deprecating<br>pretense|
|!pleasure in amusements|boorishness| ''wit'' | buffoonery|
|!pleasure/pain re<br>others' fortunes|envy| ''proper''<br>''indignation'' | spite|
|!distributions|| ''justice'' ||
>"Virtue, then, is ''a state that decides'', consisting in ''a mean'', the mean relative to us, which is ''defined by reference to reason'', that is to say, to the reason by reference to which the [[prudent|prudence]] person would define it. It is a mean ''between two vices'', one of excess and one of deficiency." (1107a)
html body .loudtable th {background-color:#ddffaa;}
html body .loudtable td {background-color:#ffffff;}
html body .loudtable {border: 1px solid #ff9933; border-width:2px;}
html body .softtable th {background-color:#ddddff;}
html body .softtable td {background-color:#eeeeee;}
html body .softtable { empty-cells: hide; border-color:#aaaadd; border-width:1px; caption-side: top;}
html body .argument tr {border: none; }
.argument th {border-top: 2px solid black; }
html body .chart-vert td {border: 1px solid grey; }
.chart-vert th {border-left: 2px solid black; }
.alternating-rows {font-family: "Ubuntu Condensed"; caption-side: top; empty-cells: hide; }
.alternating-rows th {
font-family: "Ubuntu";
background-color: #ded;
border-top: 1px solid black;
}
.alternating-rows tr:nth-child(even) {background-color:white}
.alternating-rows tr:nth-child(odd) {background-color: #ffd}
.indexcard { margin: 10px; padding: 20px; border: 1px solid #ccc;
font-family: Acme;
padding: 10px;
border: 1px solid white;
border-bottom: 2px solid white;
box-shadow: 3px 5px #aaa; }
.indexcard th {border-bottom: solid #faa 1px; background-color: #fff; padding-top: 25px; padding-left: 15px; padding-right: 15 px; text-align: left; border-left: none; border-right: none; }
.indexcard td {border-bottom: solid cyan 1px; padding-left: 15px; padding-right: 15 px; padding-top: 4px; background-color: #fff; border-left: none; border-right: none; }
.thead-dark > thead> tr > td svg, .thead-dark > thead> tr > th svg
{fill:#ffffff; padding:0 0 3px 0; }
.thead-dark td {border-bottom: 1px solid blue; }
<$tiddler tiddler=<<currentTab>>>
<$transclude mode="block" />
</$tiddler>
: a proxy for actual consent, based on some (presumptively) reasonable and shared understanding about the norms that govern social interactions, or civil society, etc.
\define calcFontSize() font-size:calc(0.5em + (0.2em * ($(count)$ / 5) ) );
<$list filter="[tags[]]" variable="thistag">
<$vars count={{{ [<thistag>tagging[]count[]] }}}>
<span style=<<calcFontSize>>>
<$link to=<<thistag>> tooltip=<<count>>>
<$text text=<<thistag>> />
</$link>
</span>
</$vars>
</$list>
Doing the midterm essay as a take-home requires an explicit honor pledge since it depends on each student adhering independently to strict guidelines.
General guidelines:
# Set a timer for __''50 minutes'' (or whatever your remaining time-allocation is) with a 5-minute warning__. Note your ''start'' time and ''end'' time at top of document, and your theme selection, but @@.tcr //''__not your name__''//.@@
# __''Sequester yourself''__ with a word-processing program, but no internet.
#* Ensure that texts, notes, conversation and online resources (etc.) are not available to you while you write. Your writing should be entirely based on what you have learned through study, and the process should be analogous to the hand-written work of generating an exam essay in the classroom exam environment.
#* ''@@color: green; OK@@'': simple ''spell-check'' functions and cut/paste editing features
#* ''@@.tcr NOT OK@@'': ''grammarly''-type software, ''dictionary'', thesaurus, or other reference tools.
# ''Limit'' to __''[[600 words|word count tool]]''__, trimming your essay, as needed, //before// the end of your 50-minute time interval (use your 5-minute warning).
# __''Paste''__ your document into the submission form, including your session's date and ''start-time & end-time'', plus ''WesID'' at the top, but @@.tcr ''__NOT your name__''@@ . (I grade these anonymously.)
For the essay portion of the [[midterm]], you have a choice whether to opt into a [[take-home essay process]].
|!Take-home method|!In-class essay method|
|!☑️ Printed essay helps me read your essay, even if your handwriting is bad. | @@.tcr You are responsible for ''writing legibly''.@@ |
|!☑️ You may use spell-check functions. | @@.tcr ✖︎@@ |
|!☑️You may use cut-and-paste to rearrange your text neatly. | @@.tcr ✖︎@@ |
| @@.tcr ''500-word'' limit @@ |!☑️Length limited only by how much you are able to write (legibly) during exam session. |
| @@.tcr rigid division of 90* minutes: ''50'' minute limit for essay<br>''40'' minute limit for multi-choices@@ |!☑️You may ''allocate'' your 90* minute exam time however you like. |
| @@.tcr You must ''set time aside'' (nearly an hour) within the 46.5 hours prior to exam @@ |!☑️You can prioritize other uses of your time, right up until exam, for studying, other coursework, etc. |
| @@.tcr You take on ''responsibility for'' setting up non-internet computer time under ''Honor Code conditions'', successfully ''printing'' your essay (on one sheet of paper) and ''bringing the printout to exam'' session.@@ |!☑️You can show up to the exam with nothing beyond a pencil or pen. (Heck, I'll even have some high-quality erasable pens on hand, in case yours runs out.) |
|*//documented need for accommodations may increase total time, but same ratio (5:4) applies to anyone who chooses take-home method for essay.// |c
|loudtable|k
.tc-tabbed-table-of-contents-content {background-color: white;}
Results for Spring 2021 should be complete, below, with one caveat:
* Team results are in, but absences and team-swaps have not been tracked. (Team [[@Flood]] has no result for F1.)
<<table-dynamic filter:"[prefix[@]]" caption:"all the teams" fields:"tbl-expand title caption link § tbl-clone tbl-delete" sort: "{{!!title}}" stateTiddler:"this team list" sort:page class:"w-100 thead-dark">>
<<table-dynamic filter:"[all[current]listed[]]+[has[§]] -[is[system]]" caption:"all responses for: {{!!title}}" fields:"tbl-expand § responses link result answer-key tbl-checkbox tbl-clone tbl-delete" sort: "§" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark" >>
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="telegram-plane" class="svg-inline--fa fa-telegram-plane fa-w-14" width="14pt" height="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"></path></svg>
: ([[virtue ethics]]) the character pattern of having appetites (especially bodily appetites) that are properly-directed, neither lacking nor excessive, alternately translated as "moderation"
<hr>
Antonym: [[intemperance]]
* universality plus difference
* Cosmopolitanism without kosmopolis
* individuality without individualism
* "national" culture — exists and matters, or not?
Depth in philosophy requires fluency with most of the following, along with the relations among them:
|!general topic|!key terms|
|[[philosophy]]|[[problem]], [[argument]], and [[logic]]; [[ethics]], [[epistemology]] and [[metaphysics]], [[political philosophy]], [[aesthetics]]|
|[[dialogue]]|[[hypothesis]], [[elenchus]], and [[refutation]] ; [[persuasion]] and [[irony]], [[objection]] and [[reply]], [[interpretation]] and [[principle of charity]]|
|[[argument]]|[[inference indicator]]s; [[soundness]] and [[validity]]; [[premise]] and [[conclusion]]; [[deduction|deductive argument]] and [[induction|inductive argument]]; [[enthymeme]]; [[inference pattern]]s; [[fallacy]] types|
|[[symbolization]]|[[inference pattern]]s, [[propositional logic]], [[categorical logic]], [[predicate logic]] and [[quantifier]]s, [[proof]]|
//Note, additional terms can be found in the ''Contents'' sidebar tab.//
\define textOnPath(text)
$$$.svg
<svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
<defs>
<path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
</defs>
<use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
<text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
<textPath xlink:href="#MyPath">
$text$
</textPath>
</text>
</svg>
$$$
\end
This demo shows how to use SVG to render transcluded text along a path. Enter some text in the textbox below to try it out; [[view the source|Making curved text with SVG]] to see how it is done.
<$edit-text tiddler="$:/CurvedText" tag="input" placeholder="Type text here" default=""/>
<$macrocall $name="textOnPath" text={{$:/CurvedText}}/>
[img width=23.7% [Plato Five Dialogues|https://images-na.ssl-images-amazon.com/images/I/417Z4CIfomL._SX314_BO1,204,203,200_.jpg]]
[img width=25% [Aristotle Nicomachean Ethics|https://images-na.ssl-images-amazon.com/images/I/71sSYXkyTXL.jpg]]
[img width=25% [Kant Grounding of the Metaphysics of Morals|https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSeyJqRELL5KyxhETUt2sMrHzbxtl7SzJlTBE-PsB2mONKB7sbv&s]]
[img width=24.3% [Mill Utilitarianism|https://images-na.ssl-images-amazon.com/images/I/31PGIRBWWZL._SX322_BO1,204,203,200_.jpg]]
Bound books are available at [[RJ Julia|https://www.wesleyanrjjulia.com/]] on Main Street in Middletown.
<$details class="success" summary="Why you should buy exactly these physical books, in new(ish) condition">
|loudtable|k
|!TEXTBOOK OPTIONS TO AVOID:<br><br>|<|<| because... |
|!''Digital''|!''rental''|!''heavily used''|These are generally NOT appropriate for serious philosophical study, because @@.hly [[marking up your own text|highlighting tips]]@@ (quickly, easily, and freehand) is an essential part of studying. |
|!''other editions''<br>(alternate translations, different publishers)|<|<|For philosophy courses, getting the correct ''edition'' (translator, publisher, edition number) is essential. Students using other editions may be frustrated not only by differences in pagination, but substantive divergences in translation and text organization.|
</$details>
<$details summary="citation details for each book">
<<tabs "[tag[textbooks]]" template:"tabtemplate">>
</$details>
Also, don't forget your <<tag pdf-packet>> with additional readings.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" viewBox="279 45 522 486" width="522" height="486">
<defs>
<font-face font-family="Trebuchet MS" font-size="24" panose-1="2 11 6 3 2 2 2 2 2 4" units-per-em="1000" underline-position="-127.4414" underline-thickness="62.01172" slope="0" x-height="527.832" cap-height="721.6797" ascent="938.9648" descent="-222.16797" font-weight="400">
<font-face-src>
<font-face-name name="TrebuchetMS"/>
</font-face-src>
</font-face>
<font-face font-family="Trebuchet MS" font-size="20" panose-1="2 11 6 3 2 2 2 2 2 4" units-per-em="1000" underline-position="-127.4414" underline-thickness="62.01172" slope="0" x-height="527.832" cap-height="721.6797" ascent="938.9648" descent="-222.16797" font-weight="400">
<font-face-src>
<font-face-name name="TrebuchetMS"/>
</font-face-src>
</font-face>
</defs>
<metadata> Produced by OmniGraffle 7.12.1
<dc:date>2019-12-21 03:39:16 +0000</dc:date>
</metadata>
<g id="Canvas_1" stroke="none" stroke-opacity="1" fill-opacity="1" stroke-dasharray="none" fill="none">
<title>Canvas 1</title>
<g id="Canvas_1: Layer 1">
<title>Layer 1</title>
<g id="Graphic_5">
<circle cx="639" cy="207" r="162.000258860107" fill="#d70806" fill-opacity=".25316374"/>
<text transform="translate(514.4 151)" fill="black">
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="70.09609" y="51"> </tspan>
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" y="51">TEXTS</tspan>
</text>
</g>
<g id="Graphic_4">
<circle cx="540" cy="369" r="162.000258860107" fill="#074bd7" fill-opacity=".253164"/>
<text transform="translate(415.4 262)" fill="black">
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="65.3207" y="135">YOUR OWN </tspan>
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="10.898827" y="163">REFLECTIVE PROCESS</tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="4.0580063" y="187">(not “opinions”, but insights, </tspan>
<tspan font-family="Trebuchet MS" font-size="20" font-weight="400" fill="black" x="32.427147" y="210">concerns, questions)</tspan>
</text>
</g>
<g id="Graphic_3">
<circle cx="441" cy="207" r="162.000258860107" fill="#3aab0b" fill-opacity=".23776498"/>
<text transform="translate(316.4 165)" fill="black">
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="39.72109" y="15">CONCEPTS </tspan>
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="49.48281" y="40">& TOOLS </tspan>
<tspan font-family="Trebuchet MS" font-size="24" font-weight="400" fill="black" x="37" y="64"> from class</tspan>
</text>
</g>
</g>
</g>
</svg>
: an assertion that functions as the main conclusion of the argument within an essay or academic project.
<hr>
{{||vocabulary}}
: writing whose central purpose is to defense of a bold and clear [[thesis claim]]
<hr>
''[[Thesis-driven writing|thesis-driven writing]]'' is common in academia, and much academic writing-advice assumes that your work should revolve around solidly defending a thesis claim that is announced clearly and early. The role of a thesis claim tends to seem analogous to taking a side in a debate: the options are clear, and the writer is endorsing (and defending) one of the obvious available positions.
//See also// [[problem-driven writing]]
|!Thick norms|!Thin norms|
|These ideals are detailed specifications of value. Cultural environments and social roles diverge greatly in the details of their "thick" norms.|These ideals are more abstract and leave plenty of room for discussion; they allow us to debate radically differing ways of satisfying such "thin" norms.|
| * chivalry * romance <br> * chastity *coolness | * honesty * courage<br> * fairness * goodness |
(Note: words themselves are not sufficient to show whether a value is being approached in a thin or thick way, since one unwittingly might have a very culturally-narrow notion of honesty or fairness (etc.). And we need not imagine that this distinction is a neat and clean one. Yet some concepts are //more// obviously associated with aesthetic, cultural, gendered, and other social role functions, and others may be //more// readily recognized across human contexts. These latter ideals are the ones [[Nussbaum]] thinks [[Aristotle]] at his best meant to illuminate, though with mixed success.)
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="thumbs-down" class="svg-inline--fa fa-thumbs-down fa-w-16" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"></path></svg>
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="thumbs-up" class="svg-inline--fa fa-thumbs-up fa-w-16" height="14pt" width="14pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"></path></svg>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="units"
selectedTiddler="$:/temp/toc/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
<br style="clear:both" />
<$macrocall
$name="toc-tabbed-internal-nav"
tag={{!!title}}
selectedTiddler="$:/temp/toc/xxxxxxxxxx/selectedTiddler"
unselectedText="<p>Please select a topic at left.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
<br style="clear:both" />
Here's a brainstorming list, with a note about which tools are actually being implemented. Feel free to add comments below!
|tool|status|pros|cons|
|!{{site_title_logo}}<br>[this website]|in use|visually clear<br>lots of fine-grained content|minimal interaction (comments only)|
|!{{moodle_logo}}|in use|easy to log on<br>lots of functions|clunky<br>little real-time interaction|
|!{{perusall_logo}}|just implemented <br>(access via moodle)|share tips, comments, and questions on texts|unclear how well it works with many students|
|!{{zoom_logo}}|ready to implement|can interact via video (class-time, office hours, etc.);<br>can record sessions to view later|requires strong internet for video|
|!email|in use|easy to use|hard to organize|
|!phone/text|available|easy to use|inefficient|
|!USPS mail|available|gets quality printed/hand-commented matter back and forth|slow|
|alternating-rows|k
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="tools" class="svg-inline--fa fa-tools fa-w-16" width="18pt" height="18pt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z"></path></svg>
: (in [[existentialism]]) each subject's irreducibility to any established facts, perceptions, or purposes; the aspect of the self that exceeds [[facticity]].
:the doctrine that each person must place stock in certain ideas or claims even in the absence of direct evidence or logical proof.
<hr>
//derivation:// The term derives from the notion of [[transcendental argument]], which had been introduced and defended by [[Kant]], although [[Plato]]'s [[doctrine of forms]] (especially his narrative of "recollection" of ideals) may be understood as a precursor to transcendental patterns of [[argument]].
As a movement, transcendentalism emerged in early 19th century New England, especially [[Emerson]] and [[Thoreau]].
<<tabs "[tag[translation_notes]]" template:"tabtemplate">>
the process by which a concept shifts its evaluative charge (from negative to positive, or positive to negative) — usually through shifts in the salience of metaphorical associations.
: sorting of cases, particularly with respect to the urgency of demand for medical attention, and especially as applied to situations of sudden widespread casualty such as military conflict and disaster relief, which may present a [[dilemma]] for those who recognize an obligation to respond to each person's needs.
!!!Both articles on pandemic/disaster triage care emphasize the possibility of needing to shift from routine standards of care to public emergency or crisis standards. This shift parallels Korsgaard’s “two-level theory” of ethics, on which some situations allow us to shift from an “ideal” mode of ethical decision-making to a “non-ideal” mode, while reflecting carefully on what moral limits apply even in the non-ideal circumstances. For example…
<$details state="!!accord1" summary="(a) Both articles emphasize that even non-ideal decision-making standards should be transparent and subject to some kind of public discussion." mode="custom" $state="aaa3">@@color:green; Yes. Indeed; both press for more clarity and openness, inviting @@</$details>
<$details state="!!accord2" summary="(b) Tabery et al suggest that utilitarian standards play a greater role in non-ideal circumstances than they do in ordinary routine care." mode="custom" $state="aaa2">@@color:green; Yes. Yes. Although utilitarian considerations already operate in a few areas of medicine (such as ER triage), particular doctor-patient interactions have been largely insulated from concerns about wider social benefits and costs.@@</$details>
<$details state="!!accord3" summary="(c) Kraus, Levy, and Kelen acknowledge that the standard of “patient autonomy” may seem to be sacrificed when they are subject to triage. However, they attempt to justify the idea that patients //implicitly// consent to the possibility that triage may affect their care; and they recommend making this possibility more explicit in the future." mode="custom" $state="aaa1">@@color:green; Yes. p. 52 col A; p. 54 col B@@</$details>
<$details state="!!accord4" summary="(d) Tabery et al acknowledge that there is no easy solution to decision-making under the non-ideal circumstances of a pandemic." mode="custom" $state="aaa4">@@color:green; Yes. Indeed; their recourse to a “hybrid” solution, despite its limitations, reveals their ambivalence about both utilitarian and egalitarian models.@@</$details>
<$details state="!!accord5" summary="(e) Both articles express concern that crisis-oriented triage is more vulnerable to being influenced by bias or discrimination." mode="custom" $state="aaa5">@@color:green; Yes. Though bias is not absent in traditional health-care, the explicit invocation of any standard of “usefulness” (even if it is the “narrow utility” of being helpful within the medical emergency) is especially likely to be shaped by bias, exactly where the consequences of such bias are most grave.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
Can I get SVG background?
aoeusnth
aoeunth aoeusnth
ao snt haoe
-naote uh
aoeusnt haoeu
/ ao
-st aoeu
nt haoeu -sntaosnth aoeu-nth a
aosenuth
aoeusnth a
"Driverless Dilemma" episode of Rabiolab:
<iframe frameborder="0" scrolling="no" height="130" width="100%" src="https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/799466/&share=1"></iframe>
[[(Radio show full link here)|https://www.wnyc.org/widgets/ondemand_player/wnycstudios/#file=/audio/json/799466/&share=1"]] ... This story was reported and produced by Amanda Aronczyk and Bethel Habte.
@@.triangle-right
Most of us would sacrifice one person to save five. It’s a pretty straightforward bit of moral math. But if we have to actually kill that person ourselves, the math gets fuzzy.
@@
@@.triangle-left
That’s the lesson of the classic Trolley Problem, a moral puzzle that fried our brains in an episode we did about 11 years ago. Luckily, the Trolley Problem has always been little more than a thought experiment, mostly confined to conversations at a certain kind of cocktail party. That is until now. New technologies are forcing that moral quandry out of our philosophy departments and onto our streets. So today we revisit the Trolley Problem and wonder how a two-ton hunk of speeding metal will make moral calculations about life and death that we can’t even figure out ourselves.
@@
<iframe width="560" height="315" src="https://www.youtube.com/embed/yg16u_bzjPE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<<tabs "[tag[troubleshooting]]" template:"tabtemplate">>
[img[2 ways|https://www.lucidchart.com/publicSegments/view/2076f8be-446a-4961-9594-aca936e6d369/image.png]]
|>|>|IMPERATIVES articulate commands...|
|!CATEGORICALLY... <br> when they promote what is good in itself for no further purpose<br>|>|!HYPOTHETICALLY...<br>when they promote something good as means<br>for either a ''possible'' or an ''actual'' purpose|
|Commands of ''morality'' (moral imperative)|Imperatives of ''skill'' (technical)|Counsels of ''prudence'' (pragmatic)|
|>|>|!Q: how is each kind of imperative (necessitation) possible? |
|"But for the moral imperative, it cannot be shown by means of an example that moral law ever does determine the will without incentives. So it must be investigated a priori"<br>|Anyone who wills //anything// must recognize imperatives of skill: <br>to will an end is to will the means (this is an analytic claim).|"For happiness, we lack a determinate concept" (418)... We cannot know for certain what will bring us happiness. So "imperatives" of prudence do not really command; they are "counsels" only. But there is no difficulty in understanding the possibility, since (virtually) everyone //does// seek happiness.|
|chart-vert|k
Kant denies ''moral [[dilemmas|dilemma]]'':
No situation could //force us to violate duty// by pitting duties against each other, because...
# Every [[duty]] is either an [[imperfect duty]] or a [[perfect duty]].
# Two [[perfect duties|perfect duty]] cannot conflict...
#* ... since they are all basically negative (prohibitions): <br> do not lie, cheat, steal (or otherwise treat another being in a fundamentally disrespectful way).
# A [[perfect duty]] always trumps an [[imperfect duty]]...
#* The positive obligations to develop one's talents, or to give to charity never displaces the rigorous duty not to lie, etc.
# Two [[imperfect duties|imperfect duty]] may indeed be in tension, but...
#* ''Suppose'' I feel torn whether to spend this afternoon cultivating my talents or giving to charity. <br>
#* ''Notice'', my imperfect duties are not //violated// simply by not being pursued in the present situation. They are violated only by a pattern of neglect.
<$tidgraph start="units" maxdepth=2/>
!!{{!!tagline}}
{{!!blurb}}
<<slider label:"{{!!title}} skills to develop" src:{{!!skills}} labelClass:"hly" srcClass:"">>
<<slider label:"{{!!title}} post-study questions" src:{{!!synthesis}} labelClass:"hly" srcClass:"">>
<$details summary="Expandable here: a chart showing some rationale for our unit structure">
{{six major patterns in moral reasoning}}
</$details>
<$macrocall
$name="toc-tabbed-internal-nav"
tag="units"
selectedTiddler="$:/temp/toc/selectedTiddler"
unselectedText="<p>Select a unit at left. Click the arrow to show sessions.</p>"
missingText="<p>Missing tiddler.</p>"
/>
: (in Kantian ethics) the quality of a [[maxim]] that makes it suitable for being conceivable and endorsable as a universal pattern or law.
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
[ ] Does ~DoNotLink still work?
[ ] automatic links
[ ] Why is icon sometimes HUGE in tabs, and sometimes not? (See micro essay) All are from Font Awesome 5…
[x] build a calendar tiddler for sessions
[ ] How to get a set of tabs to JUST BE ALPHABETICAL? New tabs are getting stuck at end, and deleting the LIST field doesn't seem to reset to alpha order...
[ ] Somehow get from raw number to HarveyBall tags?
[ ] Some way to import content *with* fields in place, say, from FileMaker?
[ ] Get tag formatting to apply evenly to parent tiddler and tagged children?
[ ] Best way to approximate excludeLists and excludeSearch functionality? … EXPLANATION: many things I want to hide are NOT system tiddlers, but content that should be teacher-view only, either because it's not ready for prime time, or will be part of quiz/test.)
[ ] better animation for reveal/appear sliders
[ ] per-case option to update "modified" date, or not, at time of edit
[x] Automate conversion from ForEachTiddler to Details plugin language
[x] Script FileMaker to generate details set properly
[x] Make/find a variant of transclusion that cares only about the original "containing" tiddler
[x] Review FA icons: http://fa5-free-svg.tiddlyspot.com/
[x] Harvey Balls: how to keep them from getting shrunk in context of a table?
[x] Something like the old TiddlerPreview and/or PartTiddler plugins. … EXPLANATION: must show only the first paragraph of a tiddler in summary lists, like the glossary, but I want to be able to include much more content in each tiddler (examples, synonyms/antonyms, etc.) once it's open.
[x] Add PlantUML?
[x] simplest markup for highlighting (like old @@text@@)?
[x] edit sidebar to prioritize top-level tags
[x] getting aliases to resolve
:A [[consequentialist|consequentialism]] approach to [[ethics]] that appeals to the promotion of the general good, or overall [[happiness]], as the appropriate standard for moral action.
<hr>
[[John Stuart Mill|J S Mill]]'s philosophical formulation is the most popular, though the idea has been formulated in various ways within English-speaking philosophical traditions including certain interpretations of [[Hume]], and Mill's mentor [[Bentham]], as well as Sidgwick, and more recently [[Peter Singer|Singer]].
//See also// [[act utilitarianism vs rule utilitarianism]]
<<tabs "[tag[utility]]" template:"tabtemplate">>
structural integrity in the logic of an argument.
----
//Note: // To say an argument is valid is to say this: //assuming // that the [[premises|premise]] are (or were) true, then the conclusion must also be (would have to be) true. Sometimes an argument is valid even though it has false premises. On the other hand, an argument may be full of true claims, including a true conclusion, and yet fail to be logically valid.
<svg viewBox="0 0 480 280" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="280" cy="200" r="80" fill="red" opacity="50%"/>
<circle cx="200" cy="200" r="80" fill="blue" opacity="45%"/>
<circle cx="240" cy="120" r="80" fill="green" opacity="50%"/>
</svg>
/9j/4AAQSkZJRgABAQEAkACQAAD/4gfoSUNDX1BST0ZJTEUAAQEAAAfYYXBwbAIgAABtbnRyUkdCIFhZWiAH2QACABkACwAaAAthY3NwQVBQTAAAAABhcHBsAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAAG9kc2NtAAABeAAABZxjcHJ0AAAHFAAAADh3dHB0AAAHTAAAABRyWFlaAAAHYAAAABRnWFlaAAAHdAAAABRiWFlaAAAHiAAAABRyVFJDAAAHnAAAAA5jaGFkAAAHrAAAACxiVFJDAAAHnAAAAA5nVFJDAAAHnAAAAA5kZXNjAAAAAAAAABRHZW5lcmljIFJHQiBQcm9maWxlAAAAAAAAAAAAAAAUR2VuZXJpYyBSR0IgUHJvZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAfAAAADHNrU0sAAAAoAAABhGRhREsAAAAuAAABrGNhRVMAAAAkAAAB2nZpVk4AAAAkAAAB/nB0QlIAAAAmAAACInVrVUEAAAAqAAACSGZyRlUAAAAoAAACcmh1SFUAAAAoAAACmnpoVFcAAAAWAAACwm5iTk8AAAAmAAAC2GNzQ1oAAAAiAAAC/mhlSUwAAAAeAAADIGl0SVQAAAAoAAADPnJvUk8AAAAkAAADZmRlREUAAAAsAAADimtvS1IAAAAWAAADtnN2U0UAAAAmAAAC2HpoQ04AAAAWAAADzGphSlAAAAAaAAAD4mVsR1IAAAAiAAAD/HB0UE8AAAAmAAAEHm5sTkwAAAAoAAAERGVzRVMAAAAmAAAEHnRoVEgAAAAkAAAEbHRyVFIAAAAiAAAEkGZpRkkAAAAoAAAEsmhySFIAAAAoAAAE2nBsUEwAAAAsAAAFAnJ1UlUAAAAiAAAFLmFyRUcAAAAmAAAFUGVuVVMAAAAmAAAFdgBWAWEAZQBvAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwARwBlAG4AZQByAGUAbAAgAFIARwBCAC0AYgBlAHMAawByAGkAdgBlAGwAcwBlAFAAZQByAGYAaQBsACAAUgBHAEIAIABnAGUAbgDoAHIAaQBjAEMepQB1ACAAaADsAG4AaAAgAFIARwBCACAAQwBoAHUAbgBnAFAAZQByAGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDpAHIAaQBxAHUAZQAgAFIAVgBCAMEAbAB0AGEAbADhAG4AbwBzACAAUgBHAEIAIABwAHIAbwBmAGkAbJAadSgAIABSAEcAQgAggnJfaWPPj/AARwBlAG4AZQByAGkAcwBrACAAUgBHAEIALQBwAHIAbwBmAGkAbABPAGIAZQBjAG4A/QAgAFIARwBCACAAcAByAG8AZgBpAGwF5AXoBdUF5AXZBdwAIABSAEcAQgAgBdsF3AXcBdkAUAByAG8AZgBpAGwAbwAgAFIARwBCACAAZwBlAG4AZQByAGkAYwBvAFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUAByAG8AZgBpAGzHfLwYACAAUgBHAEIAINUEuFzTDMd8Zm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDrA5MDtQO9A7kDugPMACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBlAG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBlAGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBCAC0AcAByAG8AZgBpAGkAbABpAEcAZQBuAGUAcgBpAQ0AawBpACAAUgBHAEIAIABwAHIAbwBmAGkAbABVAG4AaQB3AGUAcgBzAGEAbABuAHkAIABwAHIAbwBmAGkAbAAgAFIARwBCBB4EMQRJBDgEOQAgBD8EQAQ+BEQEOAQ7BEwAIABSAEcAQgZFBkQGQQAgBioGOQYxBkoGQQAgAFIARwBCACAGJwZEBjkGJwZFAEcAZQBuAGUAcgBpAGMAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgABAAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZWiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAABd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/9sAQwAUDg8SDw0UEhASFxUUGB4yIR4cHB49LC4kMklATEtHQEZFUFpzYlBVbVZFRmSIZW13e4GCgU5gjZeMfZZzfoF8/9sAQwEVFxceGh47ISE7fFNGU3x8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8/8AAEQgB/gIwAwEhAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A7OigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACqtzqFra5Esyhv7o5P5VUYSm7RJlJRV2Zk/iRBkW8Bb3c4/SqEuvX0mdrJGP9lf8a9CnhIrWepyyrt/CVX1C8k+9cyn6NioGkkflnZvqc10xhGOyMXKT3YgJHQkVIl1PH9yeRfo5qnFPdCTa2LEer30fS4Zv94A1ch8R3C4E0SSD1HymueeFhLbQ1jWkt9TSt9es5sCQtCf9ocfnWlHIkqho3V1PdTmvPqUZU3qdUKinsOorI0CigAooAKKACigBGYKMsQB71Xkvok+7lz7VEpqO5nUqxhuV31Bz9xVX681C11M3/LQj6cVzyqyexxSxE5baDDI7dXY/jTc1DbZg23uKGYdCR+NOE8q9JG/OhSa2KU5R2ZKt7MvUhvqKmTUB/GhHuK1jVfU6IYlr4izHPFJ9xxn071LXQmmro7IyUldBRTKCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigArOvtYtrPKg+bKP4V7fU1pTpupKyInNQV2YN3rF3dZG/wApD/CnH61n161OnGmrI4Jzc3dhRWhIUUAFFABRQAVJDcS277oZGQ+xpNJqzGm07o2rPxEwwt4mR/fQfzFbsE8VxGHhcOp7ivLr0HTd1sdtKrz6PckormNgooAKKAGu6xrudgB71Smvz0iGPc1lUny6LcwrVuRWW5Td2kOXYsfem1yt3PObbd2FFAgooAKKACigAqeK7li4zuX0NVGTi7ouE3B3Rehu45eM7W9DViuuMlJXR6cJqaugoqiwooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACori4itojJM4VR696aTk7ITaSuzmtR1ua6zHBmKL2+831rKr2KVNU42PPnNzdworUgKKACigAooAKKACigAqW3uZrWTzIHKN7dD9aUkpKzGm07o6XTdaiu8RzYim7ejfStWvHq03TlY9CnPnVworIsKq3F4sWVT5n/AEFROXKrmdSooRuZ8kjytuckmmVxt31Z5bbbuwooEFFABRQAUUAFFABRQAVat7x48K/zL+oqoS5Xc0p1HCVzRjkWRdyHIp1did9T1E01dBRTGFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAFS/v4rCLdIcsfuoOprk7y8mvZfMmb6KOi/SvQwlL7bOSvP7KK9FdxzBRQAUUAFFABRQAUUAFFABRQAVuaTrZQrBeNleiyHt9awr0/aR8zSlPkkdEDkZHINLXkHoGfdXhOUiOB3b1qlXHOXMzzK1Tnl5BRUGIUUAFFABRQAUUAFFABRQAUUASRTPC25D9R61qQTrOuV4I6j0relL7J2Yap9hktFdB2hRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABVTUL6Owg3vyx4RfU1cIuclFEylyq5yFzcSXUzSzNuY/p7VFXtJKKsjzm7u7CimIKKACigAooAKKACigAooAKKACigDZ0XVjAy21w2YjwrH+H2+lat5dbyY4z8vc+teLjo+zenU3dX93bqU6K8w4wooAKKACigAooAKKACigAooAKKACnxyNG4ZDgihOzuNNp3RqwTLOm4cEdR6VLXdF3Vz1oS5opoKKZQUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAEVzPHbQPNKcKo/OuNvbuS9uGlk+ir/dHpXdg4auZy4iW0SvRXoHKFFABRQAUUAFFABRQAUUAFFABRQAUUAamlWW4i4lHyj7gPf3rSkT+IfjXk4395fyM29SOivIEFFABRQAUUAFFABRQAUUAFFABRQAUUASQytDIGX8R61rxusiBlPBrooy6HbhpbxHUVudgUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAHK67f/arjyYz+6jP/AH03rWVXs0YckEjzqkuaTYUVqQFFABRQAUUAFFABRQAUUAFFABRQAVYsbY3U4X+AcsfapnLli2J6HRKAqhVGAOAKWvL3MiB12n2pteVOPLJoYUVIBRQAUUAFFABRQAUUAFFABRQAUUAFWrKfy5NjH5W/Q1UHaSZpSlyzTNOiu09UKKACigAooAKKACigAooAKKACigAooAKKACs7Wr37HZkIcSyfKvt6mtKUeaaRE3yxbORor2jzgooAKKACigAooAKKACigAooAKKACigArodPtvs1sAR87ct/hXPiJWjYiWxaorhMxrruX3qCuHExtK5SCiuYAooAKKACigAooAKKACigAooAKKACigDVs5vNh5+8vBqxXbF3imetTlzRTCiqLCigAooAKKACigAooAKKACigAooAKKACuP1q7+1X74OUj+Rf6114SN5t9jnru0bFCivTOMKKACigAooAKKACigAooAKKACigAooAt6ZB590uR8qfMf6V0FcOId5WM5bhRXOQFQyDDfWufEq8bjQyiuAYUUAFFABRQAUUAFFABRQAUUAFFABRQBPZy+VOM9G4Na1dNF+7Y9DDO8bBRWx0hRQAUUAFFABRQAUUAFFABRQAUUAFFAFXUrj7LYyyg4YDC/U9K4qvRwa91s48Q9UgortOcKKACigAooAKKACigAooAKKACigAooA3NIh8u13kcyHP4VfrzajvNmL3CisxBTJRlc+lZ1VeDGiGivMGFFABRQAUUAFFABRQAUUAFFABRQAUUAFbFvJ5kKt3xz9a2ovVo68K/eaJaK6TuCigAooAKKACigAooAKKACigAooAKKAMHxPPiOGAfxEsfw6Vz1ethlamjgrO82FFdBkFFABRQAUUAFFABRQAUUAFFABRQAUqgswUdScCgDqI0EcaoOigCnV5TdzEKKQgoIyMUNXVgK9JXkFBRQAUUAFFABRQAUUAFFABRQAUUAFFABV/Tn+V09ORWlJ+8b0Haoi9RXWekFFABRQAUUAFFABRQAUUAFFABRQAUUAcn4gl8zU2XPCKF/r/Wsyvaoq1NHnVHeTCitCAooAKKACigAooAKKACigAooAKKACrOnp5l7EOwOfyqZu0WJ7HRUV5ZiFFABRQBA4w5pteVNWkygoqQCigAooAKKACigAooAKKACigAooAKs2LbbkD+8CKqHxI0pO00alFdp6oUUAFFABRQAUUAFFABRQAUUAFFABRQBxOov5moXDf9NDVavchpFHmS3YUVQgooAKKACigAooAKKACigAooAKKACtDRlzds391DWdX4GJ7G3RXmmIUUAFFAEUv3vwqOvMq/GygorMAooAKKACigAooAKKACigAooAKKACpLc7Z4z/tCmtyo/EjZoruPXCigAooAKKACigAooAKKACigAooAKKAOClbdK7HuxNNr3lseWFFABRQAUUAFFABRQAUUAFFABRQAUUAFamiD95Mf9kVlW+Bky2NeivOMgooAKKAIpeoqOvNrfxGUFFZAFFABRQAUUAFFABRQAUUAFFABRQAU5ThgfQ0DRt0V3nsBRQAUUAFFABRQAUUAFFABRQAUUAFFAHAkYJHvSV7x5YUUAFFABRQAUUAFFABRQAUUAFFABRQAVqaH9+b6Csq3wMmWxr0V5xkFFABRQBHN1FRV5tf+IykFFZAFFABRQAUUAFFABRQAUUAFFABRQAUo60AblFd57IUUAFFABRQAUUAFFABRQAUUAFFABRQBwt0nl3Uyf3XYfrUVe7HVI8x7hRTEFFABRQAUUAFFABRQAUUAFFABRQAVpaIcTyD1X+tZ1fgYpbGzRXmmIUUAFFAEUvUVHXm1vjZQUVkAUUAFFABRQAUUAFFABRQAUUAFFABT4hulQerChbjW5tUV3nsBRQAUUAFFABRQAUUAFFABRQAUUAFFAHG6zH5eqTj1O78xVKvbpu8F6Hmz0kwoqyQooAKKACigAooAKKACigAooAKKACrukvtvlH94EVFTWDE9jeorzDEKKACigCGQ/PTK8uo7zZQUVABRQAUUAFFABRQAUUAFFABRQAUUAFTWi7rlPY5px3RcFeSNeiu49YKKACigAooAKKACigAooAKKACigAooA5rxNDtuopQOHTB+o/wD11i17FB3po8+qrTYUVsZhRQAUUAFFABRQAUUAFFABRQAUUAFSW8nlXEb/AN1gaTV1YDqQjN0Un8KcIJD/AA/rXkuSRMaM5bId9mk9vzo+zSe350udGn1aY0wSD+H9aaUdeqkfhTUkzOVGcd0VWOWNJXlN3dyAopAFFABRQAUUAFFABRQAUUAFFABRQAVc05Mys3oMVdP4ka0VeojRorsPUCigAooAKKACigAooAKKACigAooAKKAMvxBB52nlwPmiO78OhrlK9TCO9OxxV1aQUV1GAUUAFFABRQAUUAFFABRQAUUAFWIbKabkLtX1biplJRV2aU6cqjtEvRaZEvMjFz6dBVqOGKMfJGq/hXJOo5Hq0sPCnruzYt38yFT3xg1JXntWZlJWYUUhBSE4FKTsrgRNGj/eUGoHtEP3SV/WuIzqUYz9SvJbyJyRkeoqKkedOEoOzCiggKKACigAooAKKACigAooAKKACtSwTZBk9WOa1pL3jpwyvMs0V1HoBRQAUUAFFABRQAUUAFFABRQAUUAFFADZEWWNkYZVgQa4a4ha3uJIX6oxFd2Dlq0cuIWzI6K9A5QooAKKACigAooAKKACigAqxb2ktxyowv8AeNTKSirsunTdSXKjTgsooMEDc3941ZrilJyd2e1Tpxpx5UFFSaFuwkwWjPfkVdrmqK0jlqK0gorMzCmue1RUdojQ2iuQoKikt0k5xg+ooM5wU1ZlOWB4uvK+oqKkeXODg7MKKCAooAKKACigAooAKKACigB0aGSRUHUmtpQFUKOgGK6KK3Z24VbsWitzsCigAooAKKACigAooAKKACigAooAKKACue8SWeGS7QcH5X/oa6MNLlqIyrK8GYNFescAUUAFFABRQAUUAFFABQAScDrQBpWmndHuB9E/xrRAAGAMAVxVJ8zPZw9H2cdd2LRWZ0BRQAqOUcMOoNaysHUMOhFYVV1MKy2YtFYmAVGeTWFZ7IaCisCgooATrVWe1/ij/wC+aDCtT546blXpSUjywooAKKACigAooAKKACigC9p8XJlP0FX666atE9OhG0EFFaGwUUAFFABRQAUUAFFABRQAUUAFFABRQAVHPClxA8UgyrjBpp2d0Jq6scTdW72tw8Mg+ZT19R61FXuRfMk0ea1Z2CimIKKACigAooAKKAFVSzBVGSegFa9nZLAA74Mn8qxrSsrHZhKXNLmeyLlFch6oUUAFFABVuym/5ZsfdaiavEiorxLtFcpyDWPam1yVHeRSCioGFFABRQBBPbiQbl4f+dUSCDg8EUjzsTT5Zcy6iUUHKFFABRQAUUAFFABT4ozLIEXqaEruw0ruxsIgjQKvQCnV3rQ9dKysFFAwooAKKACigAooAKKACigAooAKKACigAooAytc077XB5sQzNGOn94elcrXqYWfNC3Y4q8bSv3CiuowCigAooAKKACjr0oA2LG0EC73H7w/+O1crgnLmlc9yjT9nBIKKk1CigAooAKASCCDgikBp28wmjz/ABDqKkJwK45+7c42rOwyiuEAooGFFABRQAVBcQeYNy/fH60GVWHPFoo0lI8kKKACigAooAKKACtSzt/KTcw+dv0Fa0leVzpw8bzv2LNFdR6AUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABXO67pe0td26/KeZFHb3row0+SfqZVo80TCor1jgCigAooAKKACtHTbXP79x/uj+tZ1ZWidGGhz1F5GnRXEeyFFABRQAUUAFFACrcfZj5hPA6j1q/DOlxGJIzkH9K4cV0MqkHbnJKK4jEKKACigAooAKKAKl3D/y0UfWqlI8uvDlmwooMAooAKKACigC7ZW2SJZBx/CP61oV1042ielQhyw9QorQ3CigAooAKKACigAooAKKACigAooAKKACigAooAKQjIwelAHN6xo5hLXFquY+rIP4fp7Vi17FCp7SF+p59SHLIKK2MwooAKKAJrWA3EwT+Hqx9q3QAoAAwBwBXLXetj08FC0XLuLRWB3BRQAUUAFFABTZHWNdzHApN2V2NK7sZs0zTNk8AdBUlndvaSbl5U/eX1rz5vnvc63TThyHQQTJPGHjbIP6VJXK9DyWnF2YUUCCigAooAKKAEIBGD0NZ00flSFe3akceKjeKkR0UHAFFABRQAVctLQviSQfL2HrVwjzM1pQ55WNGiuw9QKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACsPVNDEm6azAV+pj7H6VvQq+zl5GVWHPE511ZGKupVhwQeopK9c4AooAKKANnT4PJgDEfM/J+nardcE3eTZ7lGPLTSCipNQooAKKACigCKadIRzy3YCs+WVpWyx+g9K5a0/so6aUPtMZRXObkttcyW0m+M/UHoa3rS9iul+U7XHVT1rOcepxYmlf30WaKyOEKKACigAooAKguo98eR1Xmgzqx5oNFCikeQFFABSgEnAGSaBl+2stuHl5PZfSrtdkI8qPSo0+SPmFFWbBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAU77Tbe+X94u1+zr1Fc3faRc2ZLbfMj/vqP5jtXdhq9vckc1anf3kUKK9A5Aqa0i864RO2cn6UpOybLhHmkkb1Feee8FFABRQAUUANZlQZYgD3qpNeZ4iH/AjWVSpyqy3NacOZ3exUJJOScmiuM6wopAFKrFWDKSCOhFAGpaauRhLkZ/2x/UVqRyJKu6Ngy+oNYyjY8yvR9m7rYfRUHOFFABRQAUUAZsyeXKy9u1R0jxprlk0FFBJPDayS842r6mtCG3SEfKMt3J610UodWdtCjb3pE1FbnYFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAGfd6PaXWW2eW5/iTj9Kxrnw/dRZMJWZfbg/lXbRxNvdmc1SjfWJmywywHEsbof9oYq/pMfyvKe/yiuypJOF0Tho/vVc0aK4z2AooAKKAInuIk6uM+g5qvJek8Rrj3NYTqpaI2hSb1ZVd2c5ZiT70lcrd9WdSVtEFFIAooAKKACnxSyQtuicqfagTSaszRg1hhgTpu/wBpeD+VaEN9bzfdlAPo3BrGULbHn1cO46x1RYoqDlCigAooAq3qcK/pwaqqjOcKpb6Ci1zzK8X7R2LEdjI338IPzNXIrSKLnG4+preFK2rNqWHtrInorc6wooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBGVWGGAI9CK5i6nKXcogwkYYgKo4o55R2Z1YWClJtjBeyjqFP4U4Xzd0H51Sry6na6K6C/bm/55j86ab5+yqKft32F7FdxjXcx/iA+gqNpHf7zE/jWcqkpbmkYRjsNorMsKKACigAooAKKACigAooAkjnli/1cjr9DVhNUul6uG/3lpOKZlOjCe6JRrMw+9HGfzp/9tP/AM8F/wC+qj2aMHhI9GIdak7QoPxNRtq9wfuhF/Cn7NDWEit2FrfzSXkQnfchbBXAxXRgADAGBWsElsc2JpxhJcqFoqzmCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBrtsRmP8ACCa44ncST1JzUyO/BrdhRUHcFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAAO0gjqDmuxRt6Kw/iANXE4cYtmOoqjgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigCvfttsZz/sGuUqJHo4P4WFFSdgUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAV1dg26xgP+wKqJx4z4UWKKs84KKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAKmq8adP9P61y9RI9LCfA/UKKk6wooAKKACigAooAKKACigAooAKKACigAooAKKACigArqNK506D6f1qonJi/gXqW6Ks80KKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAKmqDOnT/AO7XL1Ej0sJ8D9QoqTrCigAooAKKACigAooAKKACigAooAKKACigAooAKKACuo0sY06D/d/rVROTF/AvUt0VZ5oUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAQXq77OZfVD/KuTqJHo4P4WFFSdgUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAV1lkuyzhX0QfyqonHjPhRPRVnnBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAhG4EHoRXHSIUkZD1UkVMjuwb3QlFQd4UUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAsal5FQdWIFdioCgAdAMVcTgxj2QtFUcIUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFcxq0XlX8no/wAw/GpkdeEfvtFOioPSCigAooAKKACigAooAKKACigAooAKKACigAooAKKALmkxebfx+ifMfwrp6uJ5uLfvpBRVHIFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABWRr8GY45wPunafoaT2N8O7VEYdFZnrBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAG5oEGI5JiPvHaPoK160Wx5OId6jCimYBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAVFcwi4t3ib+IYoHF2aZyTqyOyMMMpwRSVme4ncKKQBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUqKXdUUZZjgCmGx1ttCLe3SJeijH1qWtDw5O7bCigQUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAGDrlrslFwg+V+G9jWVWb3PXoS5qaCikbBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAVq6Ha75TcMPlThfrTW5jXly02b1FaHkBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFAEdxCtxC0T/dYflXKTwvbzNFIPmU/nUyO/CS3iR0VB3BRQAUUAFFABRQAUUAFFABRQAUUAFFABRQBJBC9xMsUY+Zj+VdXbwrbwrEnRRj61cThxctoklFUcAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAVn6rY/aot8Y/eoOP9oelJmtKfJNM5zocHiisz2AooAKKACigAooAKKACigAooAKKACigAo6nigDo9KsfssW+QfvXHP+yPStCtEePVnzzbCimZBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQBj6tpu/NxAvzdXUd/esSoaPVw9Tnh6BRUnQFFABRQAUUAFFABRQAUUAFFABRQAVt6TpuzFxOPm6op7e9Ukc+IqckPU2KKs8oKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigArI1PSvMJmth83Vk9fpSaub0Kns5+RhkEEgjBHaisz1gooAKKACigAooAKKACigAooAKACTgDJNAG5pmleWRNcj5uqp6fWtetErHk16ntJ+QUUzAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAoX+mR3eXX5Jf73Y/WsC4tpbZ9kyFT2PY1DR6OGq8y5HuRUVJ2BRQAUUAFFABRQAUUAFFAEtvbS3L7IULHuewrfsNMjtMO3zy/3uw+lUkceJq8q5FuX6Ks84KKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACmSxRzIUlQMp7GgabTujHu9EIy1q2f9hv6GsqWKSFtsqMjehFQ1Y9WjWVRWe4yipNwooAKKACigAooAfFFJM22JGc+gFatpohOGumwP7i/1NUlc561ZU1ZbmxFEkKBIkCqOwp9WeW227sKKBBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFMkjSVdsiKy+hGaBptO6M+fRLeTmItEfbkVQl0W5T7hSQexwalxO6liukypJZ3Mf34JB77c1CQR1BH1qTsjOMtmFFIoACegJ+lTR2dxJ9yBz/wABxTJlOMd2W4tFuX++UjHucmr8Gi28fMpaU+/AqlE46mK6QNCONIl2xoqj0AxT6o4W23dhRQIKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigApCqt95QfqKAIza256wRH6oKBa246QRD6IKLF+0n3ZIFVfuqB9BS0EBRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAf//Z
: a character trait associated with the failure to live wisely and well.
<hr>
//Contrast against:// [[virtue]]
In Aristotle's ethics, there were two vices to be contrasted against each [[virtue]]; each vice marked an extreme (of excess or deficiency), while the [[virtue]] required habitual attunement to the mean, or the judicious point of moderation between those extremes. Since [[Aristotle]]'s account is [[eudaimonist|eudaimonia]], vices are never genuinely beneficial to the person who has them, even when they are associated with [[selfishness|enlightened self-interest vs selfishness]] in the narrow sense.
:a habitual character trait, in some domain of activity, that marks admirable or exemplary people.@@float:right; <<dbadge Greek {{!!greek}}>>@@
//Contrast to [[vice]]//: a character trait that marks people who do not live well.)<br>
//Contrast to [[continence]]//: doing the right thing against inclination -- with reluctance)<br>
//Contrast to [[incontinence]]//: wanting to do what is right, and not finding oneself capable)
;[[virtue ethics]]
:a tradition in [[ethics]] whose focus is on the activities and character traits of a well-lived ([[eudaimon|eudaimonia]] life.
(Contrast to Kantian focus on [[respect]], [[duty]], [[principles|principle]], and [[intentions|intention]])
(Contrast also to [[Utilitarian|utilitarianism]] focus on impersonal maximization of satisfaction/[[pleasure]]
Examples: honesty, integrity, kindness, generosity, trustworthiness, respectfulness, compassion, (filial) piety, reverence, machismo, humility, ren/jen (benevolence/humaneness in Confucian tradition), chastity, modesty, courage, temperance, industriousness, creativity/ingenuity, loyalty, self-knowledge, strength of will, "will to power", justice, prudence.
theory of virtue: each virtue is "the right amount of __ __ -- not too much, not too little"
Do cultures disagree entirely on which virtues matter, or just in ranking and applying virtues?
self-regarding virtues vs. other-regarding virtues...
<$viz text=' digraph G { rankdir=LR splines="line" K=0.1
subgraph cluster_0 { label="Latin"
"Virtus" [shape=box style="rounded, filled" fillcolor=yellow]
}
subgraph cluster_1 { label="English"
"Virtus"->virtue [label="in ethics", color=green, penwidth=2.0]
"Virtus"->virtuosity [label="in music", color=purple, penwidth=2.0]
}
}' class="default"/>
"[[Virtue|virtue]]" is a Latin-origin word closely related to the Greek [[arete]].
If we think about [[Aristotle]]'s account as describing something like an "art of living well" we could even think of his [[phronimos]] (wise person) as a "virtuoso" at being human and realizing the distinctively human [[telos]] (function/goal/purpose)..
If we explore this related ideal of virtuosity and consider its possible relevance to ethics...
* What does it suggest about the process of becoming virtuous?
* What does it suggest about how we recognize virtue?
* What does it suggest about cultural variation, overlap, and mutual influence over time?
>But does the utilitarian doctrine deny that people desire virtue, or maintain that virtue is not a thing to be desired? The very reverse. It maintains not only that virtue is to be desired, but that it is to be desired disinterestedly, for itself. Whatever may be the opinion of utilitarian moralists as to the original conditions by which virtue is made virtue; however they may believe (as they do) that actions and dispositions are only virtuous because they promote another end than virtue; yet this being granted, and it having been decided, from considerations of this description, what is virtuous, they not only place virtue at the very head of the things which are good as means to the ultimate end, but they also recognise as a psychological fact the possibility of its being, to the individual, a good in itself, without looking to any end beyond it; and hold, that the mind is not in a right state, not in a state conformable to Utility, not in the state most conducive to the general happiness, unless it does love virtue in this manner- as a thing desirable in itself, even although, in the individual instance, it should not produce those other desirable consequences which it tends to produce, and on account of which it is held to be virtue.
:a tradition in [[ethics]] whose focus is on the activities and character traits of a well-lived ([[eudaimon|eudaimonia]] life.
<hr>
[[Aristotle]] set out the first systematic account of virtue ethics.
<div class="grid no_max_width">
<div class="col twelve_col nomargin shadow">
<!-- System messages like service outage or JS required; this is handled by the TemplateResources portlet -->
<div class="sysmessages">
<noscript>
<p class="nojs">
<strong>Warning:</strong>
The NCBI web site requires JavaScript to function.
<a href="/guide/browsers/#enablejs" title="Learn how to enable JavaScript" target="_blank">more...</a>
</p>
</noscript>
</div>
<!--/.sysmessage-->
<div class="wrap">
<div class="page">
<div class="top">
<div class="header">
</div>
<!--<component id="Page" label="headcontent"/>-->
</div>
<div class="content">
<!-- site messages -->
<div class="container">
<!-- Journal banner -->
<div class="">
<div class="content lit-style article"><div class="whole_rhythm"><!--main-content--><!--table-wrap mode="table" t7--><div class="table-wrap table whole_rhythm" id="Tab2"><h1 class="content-title">Table 2</h1><!--caption a7--><div class="caption"><p id="__p22">
<strong>Rank order (1–10) of the freely mentioned virtues in 14 nations, frequencies are indicated below the virtue</strong>
</p></div><div data-largeobj="" data-largeobj-link-rid="largeobj_idm140397238658928" class="xtable"><table frame="hsides" rules="groups" class="rendered small default_table"><thead><tr><th rowspan="1" colspan="1">Rank order Nation</th><th rowspan="1" colspan="1">1</th><th rowspan="1" colspan="1">2</th><th rowspan="1" colspan="1">3</th><th rowspan="1" colspan="1">4</th><th rowspan="1" colspan="1">5</th><th rowspan="1" colspan="1">6</th><th rowspan="1" colspan="1">7</th><th rowspan="1" colspan="1">8</th><th rowspan="1" colspan="1">9</th><th rowspan="1" colspan="1">10</th></tr></thead><tbody><tr><td rowspan="1" colspan="1">
<strong>Austria</strong>
</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Reliability</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Punctuality</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Ambition</td><td rowspan="1" colspan="1">Resolution</td><td rowspan="1" colspan="1">Humour</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 276</strong>
</td><td rowspan="1" colspan="1">169</td><td rowspan="1" colspan="1">80</td><td rowspan="1" colspan="1">79</td><td rowspan="1" colspan="1">68</td><td rowspan="1" colspan="1">47</td><td rowspan="1" colspan="1">45</td><td rowspan="1" colspan="1">42</td><td rowspan="1" colspan="1">29</td><td rowspan="1" colspan="1">27</td><td rowspan="1" colspan="1">27</td></tr><tr><td rowspan="1" colspan="1">61%</td><td rowspan="1" colspan="1">29%</td><td rowspan="1" colspan="1">29%</td><td rowspan="1" colspan="1">25%</td><td rowspan="1" colspan="1">17%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">15%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Czech Republic</strong>
</td><td rowspan="1" colspan="1">Resolution</td><td rowspan="1" colspan="1">Reliability</td><td rowspan="1" colspan="1">Courage</td><td rowspan="1" colspan="1">Wisdom</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Punctuality</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 231</strong>
</td><td rowspan="1" colspan="1">58</td><td rowspan="1" colspan="1">43</td><td rowspan="1" colspan="1">42</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">27</td><td rowspan="1" colspan="1">23</td><td rowspan="1" colspan="1">22</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">16</td></tr><tr><td rowspan="1" colspan="1">25%</td><td rowspan="1" colspan="1">19%</td><td rowspan="1" colspan="1">18%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">18%</td><td rowspan="1" colspan="1">7%</td></tr><tr><td rowspan="1" colspan="1">
<strong>France</strong>
</td><td rowspan="1" colspan="1">Generosity</td><td rowspan="1" colspan="1">Courage</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Empathy</td><td rowspan="1" colspan="1">Patience</td><td rowspan="1" colspan="1">Altruism</td><td rowspan="1" colspan="1">Smartness</td><td rowspan="1" colspan="1">Openness</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 213</strong>
</td><td rowspan="1" colspan="1">55</td><td rowspan="1" colspan="1">52</td><td rowspan="1" colspan="1">52</td><td rowspan="1" colspan="1">41</td><td rowspan="1" colspan="1">38</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">28</td><td rowspan="1" colspan="1">21</td><td rowspan="1" colspan="1">20</td><td rowspan="1" colspan="1">16</td></tr><tr><td rowspan="1" colspan="1">26%</td><td rowspan="1" colspan="1">24%</td><td rowspan="1" colspan="1">24%</td><td rowspan="1" colspan="1">19%</td><td rowspan="1" colspan="1">18%</td><td rowspan="1" colspan="1">14%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Great Britain</strong>
</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Humour</td><td rowspan="1" colspan="1">Happiness</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Resolution</td><td rowspan="1" colspan="1">Patience</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Empathy</td><td rowspan="1" colspan="1">Openness/Trust</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 149</strong>
</td><td rowspan="1" colspan="1">68</td><td rowspan="1" colspan="1">34</td><td rowspan="1" colspan="1">34</td><td rowspan="1" colspan="1">26</td><td rowspan="1" colspan="1">24</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">18</td><td rowspan="1" colspan="1">17</td><td rowspan="1" colspan="1">17</td><td rowspan="1" colspan="1">16</td></tr><tr><td rowspan="1" colspan="1">46%</td><td rowspan="1" colspan="1">23%</td><td rowspan="1" colspan="1">23%</td><td rowspan="1" colspan="1">17%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">11%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Germany</strong>
</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Reliability</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Humour</td><td rowspan="1" colspan="1">Punctuality</td><td rowspan="1" colspan="1">Justice/Joy</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 220</strong>
</td><td rowspan="1" colspan="1">157</td><td rowspan="1" colspan="1">80</td><td rowspan="1" colspan="1">67</td><td rowspan="1" colspan="1">66</td><td rowspan="1" colspan="1">63</td><td rowspan="1" colspan="1">58</td><td rowspan="1" colspan="1">50</td><td rowspan="1" colspan="1">32</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">25</td></tr><tr><td rowspan="1" colspan="1"></td><td rowspan="1" colspan="1">71%</td><td rowspan="1" colspan="1">36%</td><td rowspan="1" colspan="1">30%</td><td rowspan="1" colspan="1">30%</td><td rowspan="1" colspan="1">29%</td><td rowspan="1" colspan="1">26%</td><td rowspan="1" colspan="1">23%</td><td rowspan="1" colspan="1">15%</td><td rowspan="1" colspan="1">14%</td><td rowspan="1" colspan="1">11%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Hong Kong</strong>
</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Courtesy</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Consideration</td><td rowspan="1" colspan="1">Optimism</td><td rowspan="1" colspan="1">Responsibility</td><td rowspan="1" colspan="1">Resolution</td><td rowspan="1" colspan="1">Self-confidence</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Modesty</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 101</strong>
</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">13</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">11</td><td rowspan="1" colspan="1">11</td><td rowspan="1" colspan="1">11</td><td rowspan="1" colspan="1">10</td><td rowspan="1" colspan="1">10</td><td rowspan="1" colspan="1">10</td></tr><tr><td rowspan="1" colspan="1">30%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td></tr><tr><td rowspan="1" colspan="1">
<strong>India</strong>
</td><td rowspan="1" colspan="1">Diligence</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Joy</td><td rowspan="1" colspan="1">Dynamism</td><td rowspan="1" colspan="1">Humour</td><td rowspan="1" colspan="1">Love</td><td rowspan="1" colspan="1">Intelligence</td><td rowspan="1" colspan="1">Caring</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Reliability/Courage</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 152</strong>
</td><td rowspan="1" colspan="1">27</td><td rowspan="1" colspan="1">13</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">11</td><td rowspan="1" colspan="1">11</td><td rowspan="1" colspan="1">9</td><td rowspan="1" colspan="1">9</td><td rowspan="1" colspan="1">9</td></tr><tr><td rowspan="1" colspan="1">18%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">6%</td><td rowspan="1" colspan="1">65</td><td rowspan="1" colspan="1">6%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Malaysia</strong>
</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Happiness</td><td rowspan="1" colspan="1">Love</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Optimism</td><td rowspan="1" colspan="1">Courtesy</td><td rowspan="1" colspan="1">Responsibility</td><td rowspan="1" colspan="1">Faith</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 212</strong>
</td><td rowspan="1" colspan="1">35</td><td rowspan="1" colspan="1">26</td><td rowspan="1" colspan="1">23</td><td rowspan="1" colspan="1">22</td><td rowspan="1" colspan="1">21</td><td rowspan="1" colspan="1">20</td><td rowspan="1" colspan="1">15</td><td rowspan="1" colspan="1">14</td><td rowspan="1" colspan="1">14</td><td rowspan="1" colspan="1">14</td></tr><tr><td rowspan="1" colspan="1">17%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">14%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Mexico</strong>
</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Happiness</td><td rowspan="1" colspan="1">Responsibility</td><td rowspan="1" colspan="1">Love</td><td rowspan="1" colspan="1">Peace</td><td rowspan="1" colspan="1">Friendship</td><td rowspan="1" colspan="1">Certainty</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Loyalty/ Empathy</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 146</strong>
</td><td rowspan="1" colspan="1">54</td><td rowspan="1" colspan="1">38</td><td rowspan="1" colspan="1">31</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">26</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">13</td><td rowspan="1" colspan="1">12</td><td rowspan="1" colspan="1">10</td></tr><tr><td rowspan="1" colspan="1">37%</td><td rowspan="1" colspan="1">26%</td><td rowspan="1" colspan="1">21%</td><td rowspan="1" colspan="1">20%</td><td rowspan="1" colspan="1">18%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">7%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Netherlands</strong>
</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Helpfulness</td><td rowspan="1" colspan="1">Social</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Joy</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Reliability</td><td rowspan="1" colspan="1">Responsibility</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 660</strong>
<sup><strong>1</strong></sup>
</td><td rowspan="1" colspan="1">203</td><td rowspan="1" colspan="1">201</td><td rowspan="1" colspan="1">175</td><td rowspan="1" colspan="1">129</td><td rowspan="1" colspan="1">77</td><td rowspan="1" colspan="1">64</td><td rowspan="1" colspan="1">58</td><td rowspan="1" colspan="1">58</td><td rowspan="1" colspan="1">57</td><td rowspan="1" colspan="1">56</td></tr><tr><td rowspan="1" colspan="1">31%</td><td rowspan="1" colspan="1">30%</td><td rowspan="1" colspan="1">27%</td><td rowspan="1" colspan="1">20%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">9%</td><td rowspan="1" colspan="1">8%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Norway</strong>
</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Empathy</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Optimism</td><td rowspan="1" colspan="1">Humour</td><td rowspan="1" colspan="1">Social</td><td rowspan="1" colspan="1">Consideration</td><td rowspan="1" colspan="1">Patience</td><td rowspan="1" colspan="1">Helpfulness/Caring</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 190</strong>
</td><td rowspan="1" colspan="1">72</td><td rowspan="1" colspan="1">55</td><td rowspan="1" colspan="1">52</td><td rowspan="1" colspan="1">48</td><td rowspan="1" colspan="1">44</td><td rowspan="1" colspan="1">32</td><td rowspan="1" colspan="1">31</td><td rowspan="1" colspan="1">30</td><td rowspan="1" colspan="1">23</td><td rowspan="1" colspan="1">23</td></tr><tr><td rowspan="1" colspan="1">38%</td><td rowspan="1" colspan="1">29%</td><td rowspan="1" colspan="1">27%</td><td rowspan="1" colspan="1">25%</td><td rowspan="1" colspan="1">23%</td><td rowspan="1" colspan="1">17%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">12%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Poland</strong>
</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Optimism</td><td rowspan="1" colspan="1">Communicativeness</td><td rowspan="1" colspan="1">Empathy</td><td rowspan="1" colspan="1">Resolution</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Humor</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 163</strong>
</td><td rowspan="1" colspan="1">52</td><td rowspan="1" colspan="1">31</td><td rowspan="1" colspan="1">26</td><td rowspan="1" colspan="1">24</td><td rowspan="1" colspan="1">21</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">19</td><td rowspan="1" colspan="1">18</td><td rowspan="1" colspan="1">17</td><td rowspan="1" colspan="1">17</td></tr><tr><td rowspan="1" colspan="1">32%</td><td rowspan="1" colspan="1">19%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">15%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">10%</td><td rowspan="1" colspan="1">10%</td></tr><tr><td rowspan="1" colspan="1">
<strong>Spain</strong>
</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Love</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Friendship</td><td rowspan="1" colspan="1">Happiness</td><td rowspan="1" colspan="1">Joy</td><td rowspan="1" colspan="1">Justice</td><td rowspan="1" colspan="1">Solidarity</td><td rowspan="1" colspan="1">Tolerance</td><td rowspan="1" colspan="1">Trust</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 203</strong>
</td><td rowspan="1" colspan="1">86</td><td rowspan="1" colspan="1">44</td><td rowspan="1" colspan="1">38</td><td rowspan="1" colspan="1">32</td><td rowspan="1" colspan="1">23</td><td rowspan="1" colspan="1">17</td><td rowspan="1" colspan="1">15</td><td rowspan="1" colspan="1">14</td><td rowspan="1" colspan="1">13</td><td rowspan="1" colspan="1">13</td></tr><tr><td rowspan="1" colspan="1">42%</td><td rowspan="1" colspan="1">22%</td><td rowspan="1" colspan="1">19%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">8%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">7%</td><td rowspan="1" colspan="1">6%</td><td rowspan="1" colspan="1">6%</td></tr><tr><td rowspan="1" colspan="1">
<strong>United States</strong>
</td><td rowspan="1" colspan="1">Honesty</td><td rowspan="1" colspan="1">Kindness</td><td rowspan="1" colspan="1">Caring</td><td rowspan="1" colspan="1">Respect</td><td rowspan="1" colspan="1">Empathy</td><td rowspan="1" colspan="1">Patience</td><td rowspan="1" colspan="1">Openness</td><td rowspan="1" colspan="1">Modesty</td><td rowspan="1" colspan="1">Love</td><td rowspan="1" colspan="1">Humor/Diligence</td></tr><tr><td rowspan="2" colspan="1">
<strong>N = 191</strong>
</td><td rowspan="1" colspan="1">105</td><td rowspan="1" colspan="1">57</td><td rowspan="1" colspan="1">36</td><td rowspan="1" colspan="1">31</td><td rowspan="1" colspan="1">28</td><td rowspan="1" colspan="1">26</td><td rowspan="1" colspan="1">24</td><td rowspan="1" colspan="1">22</td><td rowspan="1" colspan="1">21</td><td rowspan="1" colspan="1">20</td></tr><tr><td rowspan="1" colspan="1">55%</td><td rowspan="1" colspan="1">30%</td><td rowspan="1" colspan="1">19%</td><td rowspan="1" colspan="1">16%</td><td rowspan="1" colspan="1">15%</td><td rowspan="1" colspan="1">14%</td><td rowspan="1" colspan="1">13%</td><td rowspan="1" colspan="1">12%</td><td rowspan="1" colspan="1">11%</td><td rowspan="1" colspan="1">10%</td></tr></tbody></table></div><div id="largeobj_idm140397238658928" class="largeobj-link align_right" style=""></div><div class="tblwrap-foot"><p id="__p23">
<sup>1</sup>For the Netherlands, we disposed of answers to this particular question from an additional comparable group (N = 289) of higher educated respondents and added these to the sample for the current study (N = 371).</p></div></div></div></div>
</div>
</div>
</div>
<div class="bottom">
<div id="NCBIFooter_dynamic">
</div>
<script type="text/javascript" src="/portal/portal3rc.fcgi/rlib/js/InstrumentNCBIBaseJS/InstrumentPageStarterJS.js"> </script>
</div>
</div>
<!--/.page-->
</div>
<!--/.wrap-->
</div><!-- /.twelve_col -->
<div style="display: none;">External link. Please review our <a href="https://www.nlm.nih.gov/privacy.html">privacy policy</a>.</div></div>
<div class="grid no_max_width">
<div class="col twelve_col nomargin shadow">
<!-- System messages like service outage or JS required; this is handled by the TemplateResources portlet -->
<div class="sysmessages">
<noscript>
<p class="nojs">
<strong>Warning:</strong>
The NCBI web site requires JavaScript to function.
<a href="/guide/browsers/#enablejs" title="Learn how to enable JavaScript" target="_blank">more...</a>
</p>
</noscript>
</div>
<!--/.sysmessage-->
<div class="wrap">
<div class="page">
<div class="top">
<div class="header">
</div>
<!--<component id="Page" label="headcontent"/>-->
</div>
<div class="content">
<!-- site messages -->
<div class="container">
<!-- Journal banner -->
<div class="">
<div class="content lit-style article"><div class="whole_rhythm"><!--main-content--><!--table-wrap mode="table" t7--><div class="table-wrap table whole_rhythm" id="Tab3"><h1 class="content-title">Table 3</h1><!--caption a7--><div class="caption"><p id="__p32">
<strong>Mean (and S.D. within parentheses) ratings of 15 virtues in 14 nations (1 = least important; 5 = most important), and means and rankings across 14 nations</strong>
</p></div><div data-largeobj="" data-largeobj-link-rid="largeobj_idm140318063141840" class="xtable"><table frame="hsides" rules="groups" class="rendered small default_table"><thead><tr><th rowspan="1" colspan="1">Virtues</th><th rowspan="1" colspan="1">Respect</th><th rowspan="1" colspan="1">Courage</th><th rowspan="1" colspan="1">Justice</th><th rowspan="1" colspan="1">Faith</th><th rowspan="1" colspan="1">Love</th><th rowspan="1" colspan="1">Wisdom</th><th rowspan="1" colspan="1">Moderate</th><th rowspan="1" colspan="1">Joy</th><th rowspan="1" colspan="1">Open</th><th rowspan="1" colspan="1">Reliable</th><th rowspan="1" colspan="1">Resolute</th><th rowspan="1" colspan="1">Modesty</th><th rowspan="1" colspan="1">Helpful</th><th rowspan="1" colspan="1">Mercy</th><th rowspan="1" colspan="1">Hope</th></tr></thead><tbody><tr><td rowspan="1" colspan="1">
<strong>Malaysia</strong>
</td><td align="center" rowspan="1" colspan="1">4.32</td><td align="center" rowspan="1" colspan="1">3.10</td><td align="center" rowspan="1" colspan="1">3.98</td><td align="center" rowspan="1" colspan="1">4.42</td><td align="center" rowspan="1" colspan="1">3.78</td><td align="center" rowspan="1" colspan="1">2.85</td><td align="center" rowspan="1" colspan="1">2.98</td><td align="center" rowspan="1" colspan="1">2.85</td><td align="center" rowspan="1" colspan="1">2.63</td><td align="center" rowspan="1" colspan="1">3.21</td><td align="center" rowspan="1" colspan="1">2.31</td><td align="center" rowspan="1" colspan="1">3.24</td><td align="center" rowspan="1" colspan="1">3.27</td><td align="center" rowspan="1" colspan="1">2.65</td><td align="center" rowspan="1" colspan="1">2.21</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 211</strong>
</td><td align="center" rowspan="1" colspan="1">(.94)</td><td align="center" rowspan="1" colspan="1">(1.23)</td><td align="center" rowspan="1" colspan="1">(1.08)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.32)</td><td align="center" rowspan="1" colspan="1">(1.28)</td><td align="center" rowspan="1" colspan="1">(1.28)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(1.30)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.26)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Spain</strong>
</td><td align="center" rowspan="1" colspan="1">4.72</td><td align="center" rowspan="1" colspan="1">2.60</td><td align="center" rowspan="1" colspan="1">4.25</td><td align="center" rowspan="1" colspan="1">2.16</td><td align="center" rowspan="1" colspan="1">4.16</td><td align="center" rowspan="1" colspan="1">3.40</td><td align="center" rowspan="1" colspan="1">2.51</td><td align="center" rowspan="1" colspan="1">3.82</td><td align="center" rowspan="1" colspan="1">2.20</td><td align="center" rowspan="1" colspan="1">2.49</td><td align="center" rowspan="1" colspan="1">2.34</td><td align="center" rowspan="1" colspan="1">2.81</td><td align="center" rowspan="1" colspan="1">3.28</td><td align="center" rowspan="1" colspan="1">2.38</td><td align="center" rowspan="1" colspan="1">2.71</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 202</strong>
</td><td align="center" rowspan="1" colspan="1">(.82)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.02)</td><td align="center" rowspan="1" colspan="1">(1.32)</td><td align="center" rowspan="1" colspan="1">(1.14)</td><td align="center" rowspan="1" colspan="1">(1.07)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.07)</td><td align="center" rowspan="1" colspan="1">(1.19)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.24)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.07)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.25)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Czechia</strong>
</td><td align="center" rowspan="1" colspan="1">3.52</td><td align="center" rowspan="1" colspan="1">2.79</td><td align="center" rowspan="1" colspan="1">3.85</td><td align="center" rowspan="1" colspan="1">1.98</td><td align="center" rowspan="1" colspan="1">4.17</td><td align="center" rowspan="1" colspan="1">3.74</td><td align="center" rowspan="1" colspan="1">1.55</td><td align="center" rowspan="1" colspan="1">3.33</td><td align="center" rowspan="1" colspan="1">2.59</td><td align="center" rowspan="1" colspan="1">3.86</td><td align="center" rowspan="1" colspan="1">2.79</td><td align="center" rowspan="1" colspan="1">2.32</td><td align="center" rowspan="1" colspan="1">3.37</td><td align="center" rowspan="1" colspan="1">2.49</td><td align="center" rowspan="1" colspan="1">2.62</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 231</strong>
</td><td align="center" rowspan="1" colspan="1">(1.18)</td><td align="center" rowspan="1" colspan="1">(1.34)</td><td align="center" rowspan="1" colspan="1">(1.10)</td><td align="center" rowspan="1" colspan="1">(1.30)</td><td align="center" rowspan="1" colspan="1">(1.11)</td><td align="center" rowspan="1" colspan="1">(1.25)</td><td align="center" rowspan="1" colspan="1">(.91)</td><td align="center" rowspan="1" colspan="1">(1.25)</td><td align="center" rowspan="1" colspan="1">(1.26)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.30)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.18)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.30)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Netherlands</strong>
</td><td align="center" rowspan="1" colspan="1">4.15</td><td align="center" rowspan="1" colspan="1">2.30</td><td align="center" rowspan="1" colspan="1">3.90</td><td align="center" rowspan="1" colspan="1">2.07</td><td align="center" rowspan="1" colspan="1">4.10</td><td align="center" rowspan="1" colspan="1">3.16</td><td align="center" rowspan="1" colspan="1">2.33</td><td align="center" rowspan="1" colspan="1">3.61</td><td align="center" rowspan="1" colspan="1">3.11</td><td align="center" rowspan="1" colspan="1">4.09</td><td align="center" rowspan="1" colspan="1">2.46</td><td align="center" rowspan="1" colspan="1">2.40</td><td align="center" rowspan="1" colspan="1">3.75</td><td align="center" rowspan="1" colspan="1">2.33</td><td align="center" rowspan="1" colspan="1">2.32</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 371</strong>
</td><td align="center" rowspan="1" colspan="1">(1.05)</td><td align="center" rowspan="1" colspan="1">(1.13)</td><td align="center" rowspan="1" colspan="1">(1.08)</td><td align="center" rowspan="1" colspan="1">(1.49)</td><td align="center" rowspan="1" colspan="1">(1.14)</td><td align="center" rowspan="1" colspan="1">(1.24)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(.94)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.13)</td><td align="center" rowspan="1" colspan="1">(1.06)</td><td align="center" rowspan="1" colspan="1">(1.13)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Great Britain</strong>
</td><td align="center" rowspan="1" colspan="1">4.52</td><td align="center" rowspan="1" colspan="1">3.11</td><td align="center" rowspan="1" colspan="1">3.48</td><td align="center" rowspan="1" colspan="1">2.23</td><td align="center" rowspan="1" colspan="1">4.39</td><td align="center" rowspan="1" colspan="1">3.10</td><td align="center" rowspan="1" colspan="1">1.86</td><td align="center" rowspan="1" colspan="1">3.55</td><td align="center" rowspan="1" colspan="1">2.87</td><td align="center" rowspan="1" colspan="1">3.14</td><td align="center" rowspan="1" colspan="1">1.82</td><td align="center" rowspan="1" colspan="1">2.31</td><td align="center" rowspan="1" colspan="1">3.60</td><td align="center" rowspan="1" colspan="1">2.32</td><td align="center" rowspan="1" colspan="1">2.89</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 149</strong>
</td><td align="center" rowspan="1" colspan="1">(.77)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(1.02)</td><td align="center" rowspan="1" colspan="1">(1.24)</td><td align="center" rowspan="1" colspan="1">(1.05)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.01)</td><td align="center" rowspan="1" colspan="1">(1.14)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.22)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Austria</strong>
</td><td align="center" rowspan="1" colspan="1">4.03</td><td align="center" rowspan="1" colspan="1">2.43</td><td align="center" rowspan="1" colspan="1">3.82</td><td align="center" rowspan="1" colspan="1">1.45</td><td align="center" rowspan="1" colspan="1">3.91</td><td align="center" rowspan="1" colspan="1">2.40</td><td align="center" rowspan="1" colspan="1">1.53</td><td align="center" rowspan="1" colspan="1">3.89</td><td align="center" rowspan="1" colspan="1">3.57</td><td align="center" rowspan="1" colspan="1">4.25</td><td align="center" rowspan="1" colspan="1">3.63</td><td align="center" rowspan="1" colspan="1">2.44</td><td align="center" rowspan="1" colspan="1">3.97</td><td align="center" rowspan="1" colspan="1">1.53</td><td align="center" rowspan="1" colspan="1">2.47</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 276</strong>
</td><td align="center" rowspan="1" colspan="1">(.98)</td><td align="center" rowspan="1" colspan="1">(1.06)</td><td align="center" rowspan="1" colspan="1">(1.03)</td><td align="center" rowspan="1" colspan="1">(.87)</td><td align="center" rowspan="1" colspan="1">(1.08)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(.77)</td><td align="center" rowspan="1" colspan="1">(1.05)</td><td align="center" rowspan="1" colspan="1">(1.09)</td><td align="center" rowspan="1" colspan="1">(.94)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.07)</td><td align="center" rowspan="1" colspan="1">(1.03</td><td align="center" rowspan="1" colspan="1">(.75)</td><td align="center" rowspan="1" colspan="1">(.98)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Germany</strong>
</td><td align="center" rowspan="1" colspan="1">4.15</td><td align="center" rowspan="1" colspan="1">2.41</td><td align="center" rowspan="1" colspan="1">3.88</td><td align="center" rowspan="1" colspan="1">1.65</td><td align="center" rowspan="1" colspan="1">3.88</td><td align="center" rowspan="1" colspan="1">3.13</td><td align="center" rowspan="1" colspan="1">2.19</td><td align="center" rowspan="1" colspan="1">3.92</td><td align="center" rowspan="1" colspan="1">3.76</td><td align="center" rowspan="1" colspan="1">3.68</td><td align="center" rowspan="1" colspan="1">2.80</td><td align="center" rowspan="1" colspan="1">2.40</td><td align="center" rowspan="1" colspan="1">3.63</td><td align="center" rowspan="1" colspan="1">1.62</td><td align="center" rowspan="1" colspan="1">2.56</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 220</strong>
</td><td align="center" rowspan="1" colspan="1">(1.11)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.06)</td><td align="center" rowspan="1" colspan="1">(1.06)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.02)</td><td align="center" rowspan="1" colspan="1">(1.07)</td><td align="center" rowspan="1" colspan="1">(1.13)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.13</td><td align="center" rowspan="1" colspan="1">(.84)</td><td align="center" rowspan="1" colspan="1">(1.23)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Poland</strong>
</td><td align="center" rowspan="1" colspan="1">4.26</td><td align="center" rowspan="1" colspan="1">2.15</td><td align="center" rowspan="1" colspan="1">3.70</td><td align="center" rowspan="1" colspan="1">2.07</td><td align="center" rowspan="1" colspan="1">4.30</td><td align="center" rowspan="1" colspan="1">4.08</td><td align="center" rowspan="1" colspan="1">2.12</td><td align="center" rowspan="1" colspan="1">3.56</td><td align="center" rowspan="1" colspan="1">3.62</td><td align="center" rowspan="1" colspan="1">2.88</td><td align="center" rowspan="1" colspan="1">2.83</td><td align="center" rowspan="1" colspan="1">1.95</td><td align="center" rowspan="1" colspan="1">2.85</td><td align="center" rowspan="1" colspan="1">1.96</td><td align="center" rowspan="1" colspan="1">2.04</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 163</strong>
</td><td align="center" rowspan="1" colspan="1">(.99)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.02)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.04)</td><td align="center" rowspan="1" colspan="1">(1.29)</td><td align="center" rowspan="1" colspan="1">(1.18)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.23)</td><td align="center" rowspan="1" colspan="1">(1.00)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.17)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Hong Kong</strong>
</td><td align="center" rowspan="1" colspan="1">4.20</td><td align="center" rowspan="1" colspan="1">2.59</td><td align="center" rowspan="1" colspan="1">3.02</td><td align="center" rowspan="1" colspan="1">3.75</td><td align="center" rowspan="1" colspan="1">3.98</td><td align="center" rowspan="1" colspan="1">3.13</td><td align="center" rowspan="1" colspan="1">1.71</td><td align="center" rowspan="1" colspan="1">2.59</td><td align="center" rowspan="1" colspan="1">1.90</td><td align="center" rowspan="1" colspan="1">3.09</td><td align="center" rowspan="1" colspan="1">3.00</td><td align="center" rowspan="1" colspan="1">3.00</td><td align="center" rowspan="1" colspan="1">3.02</td><td align="center" rowspan="1" colspan="1">3.35</td><td align="center" rowspan="1" colspan="1">2.72</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 101</strong>
</td><td align="center" rowspan="1" colspan="1">(1.04)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.39)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.45)</td><td align="center" rowspan="1" colspan="1">(.95)</td><td align="center" rowspan="1" colspan="1">(1.50)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.29)</td><td align="center" rowspan="1" colspan="1">(1.26)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.38)</td></tr><tr><td rowspan="1" colspan="1">
<strong>India</strong>
</td><td align="center" rowspan="1" colspan="1">4.55</td><td align="center" rowspan="1" colspan="1">3.49</td><td align="center" rowspan="1" colspan="1">3.78</td><td align="center" rowspan="1" colspan="1">2.84</td><td align="center" rowspan="1" colspan="1">4.42</td><td align="center" rowspan="1" colspan="1">4.51</td><td align="center" rowspan="1" colspan="1">1.49</td><td align="center" rowspan="1" colspan="1">4.61</td><td align="center" rowspan="1" colspan="1">1.95</td><td align="center" rowspan="1" colspan="1">3.49</td><td align="center" rowspan="1" colspan="1">1.77</td><td align="center" rowspan="1" colspan="1">1.80</td><td align="center" rowspan="1" colspan="1">2.42</td><td align="center" rowspan="1" colspan="1">2.41</td><td align="center" rowspan="1" colspan="1">2.89</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 152</strong>
</td><td align="center" rowspan="1" colspan="1">(.51)</td><td align="center" rowspan="1" colspan="1">(.93)</td><td align="center" rowspan="1" colspan="1">(.73)</td><td align="center" rowspan="1" colspan="1">(.70)</td><td align="center" rowspan="1" colspan="1">(.54)</td><td align="center" rowspan="1" colspan="1">(.58)</td><td align="center" rowspan="1" colspan="1">(.55)</td><td align="center" rowspan="1" colspan="1">(.52)</td><td align="center" rowspan="1" colspan="1">(.77)</td><td align="center" rowspan="1" colspan="1">(.60)</td><td align="center" rowspan="1" colspan="1">(.70)</td><td align="center" rowspan="1" colspan="1">(.70)</td><td align="center" rowspan="1" colspan="1">(.69)</td><td align="center" rowspan="1" colspan="1">(.70)</td><td align="center" rowspan="1" colspan="1">(.63)</td></tr><tr><td rowspan="1" colspan="1">
<strong>USA</strong>
</td><td align="center" rowspan="1" colspan="1">3.97</td><td align="center" rowspan="1" colspan="1">3.19</td><td align="center" rowspan="1" colspan="1">3.11</td><td align="center" rowspan="1" colspan="1">3.34</td><td align="center" rowspan="1" colspan="1">3.98</td><td align="center" rowspan="1" colspan="1">3.28</td><td align="center" rowspan="1" colspan="1">2.38</td><td align="center" rowspan="1" colspan="1">3.11</td><td align="center" rowspan="1" colspan="1">2.95</td><td align="center" rowspan="1" colspan="1">2.92</td><td align="center" rowspan="1" colspan="1">2.30</td><td align="center" rowspan="1" colspan="1">2.37</td><td align="center" rowspan="1" colspan="1">2.79</td><td align="center" rowspan="1" colspan="1">2.61</td><td align="center" rowspan="1" colspan="1">2.89</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 184</strong>
</td><td align="center" rowspan="1" colspan="1">(1.25)</td><td align="center" rowspan="1" colspan="1">(1.34)</td><td align="center" rowspan="1" colspan="1">(1.31)</td><td align="center" rowspan="1" colspan="1">(1.43)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.40)</td><td align="center" rowspan="1" colspan="1">(1.24)</td><td align="center" rowspan="1" colspan="1">(1.35)</td><td align="center" rowspan="1" colspan="1">(.42)</td><td align="center" rowspan="1" colspan="1">(1.34)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.31)</td><td align="center" rowspan="1" colspan="1">(1.37)</td><td align="center" rowspan="1" colspan="1">(1.34)</td><td align="center" rowspan="1" colspan="1">(1.31)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Norway</strong>
</td><td align="center" rowspan="1" colspan="1">4.17</td><td align="center" rowspan="1" colspan="1">2.74</td><td align="center" rowspan="1" colspan="1">4.16</td><td align="center" rowspan="1" colspan="1">1.94</td><td align="center" rowspan="1" colspan="1">4.27</td><td align="center" rowspan="1" colspan="1">3.24</td><td align="center" rowspan="1" colspan="1">2.38</td><td align="center" rowspan="1" colspan="1">3.86</td><td align="center" rowspan="1" colspan="1">3.88</td><td align="center" rowspan="1" colspan="1">3.98</td><td align="center" rowspan="1" colspan="1">2.72</td><td align="center" rowspan="1" colspan="1">3.52</td><td align="center" rowspan="1" colspan="1">3.72</td><td align="center" rowspan="1" colspan="1">3.24</td><td align="center" rowspan="1" colspan="1">2..95</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 187</strong>
</td><td align="center" rowspan="1" colspan="1">(1.11)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(.96)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.05)</td><td align="center" rowspan="1" colspan="1">(1.23)</td><td align="center" rowspan="1" colspan="1">(1.26)</td><td align="center" rowspan="1" colspan="1">(1.18)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.29)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(1.35)</td></tr><tr><td rowspan="1" colspan="1">
<strong>France</strong>
</td><td align="center" rowspan="1" colspan="1">4.66</td><td align="center" rowspan="1" colspan="1">3.01</td><td align="center" rowspan="1" colspan="1">3.57</td><td align="center" rowspan="1" colspan="1">3.81</td><td align="center" rowspan="1" colspan="1">3.82</td><td align="center" rowspan="1" colspan="1">3.14</td><td align="center" rowspan="1" colspan="1">1.57</td><td align="center" rowspan="1" colspan="1">3.19</td><td align="center" rowspan="1" colspan="1">4.13</td><td align="center" rowspan="1" colspan="1">2.45</td><td align="center" rowspan="1" colspan="1">2.51</td><td align="center" rowspan="1" colspan="1">2.31</td><td align="center" rowspan="1" colspan="1">2.58</td><td align="center" rowspan="1" colspan="1">1.76</td><td align="center" rowspan="1" colspan="1">2.58</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 216</strong>
</td><td align="center" rowspan="1" colspan="1">(.71)</td><td align="center" rowspan="1" colspan="1">(1.09)</td><td align="center" rowspan="1" colspan="1">(1.19)</td><td align="center" rowspan="1" colspan="1">(.97)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.33)</td><td align="center" rowspan="1" colspan="1">(.91)</td><td align="center" rowspan="1" colspan="1">(1.35)</td><td align="center" rowspan="1" colspan="1">(1.06)</td><td align="center" rowspan="1" colspan="1">(1.18)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.25)</td><td align="center" rowspan="1" colspan="1">(.96)</td><td align="center" rowspan="1" colspan="1">(1.29)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Mexico</strong>
</td><td align="center" rowspan="1" colspan="1">4.63</td><td align="center" rowspan="1" colspan="1">2.60</td><td align="center" rowspan="1" colspan="1">3.80</td><td align="center" rowspan="1" colspan="1">2.53</td><td align="center" rowspan="1" colspan="1">4.07</td><td align="center" rowspan="1" colspan="1">3.48</td><td align="center" rowspan="1" colspan="1">2.01</td><td align="center" rowspan="1" colspan="1">3.81</td><td align="center" rowspan="1" colspan="1">2.77</td><td align="center" rowspan="1" colspan="1">2.55</td><td align="center" rowspan="1" colspan="1">2.97</td><td align="center" rowspan="1" colspan="1">2.32</td><td align="center" rowspan="1" colspan="1">3.12</td><td align="center" rowspan="1" colspan="1">2.16</td><td align="center" rowspan="1" colspan="1">2.41</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 146</strong>
</td><td align="center" rowspan="1" colspan="1">(.75)</td><td align="center" rowspan="1" colspan="1">(1.23)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.37)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(1.19)</td><td align="center" rowspan="1" colspan="1">(1.17)</td><td align="center" rowspan="1" colspan="1">(1.25</td><td align="center" rowspan="1" colspan="1">(1.31)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.30)</td><td align="center" rowspan="1" colspan="1">(1.21)</td><td align="center" rowspan="1" colspan="1">(1.12)</td><td align="center" rowspan="1" colspan="1">(1.15)</td><td align="center" rowspan="1" colspan="1">(1.04)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Total</strong>
</td><td align="center" rowspan="1" colspan="1">4.24</td><td align="center" rowspan="1" colspan="1">2.71</td><td align="center" rowspan="1" colspan="1">3.78</td><td align="center" rowspan="1" colspan="1">2.50</td><td align="center" rowspan="1" colspan="1">4.07</td><td align="center" rowspan="1" colspan="1">3.27</td><td align="center" rowspan="1" colspan="1">2.07</td><td align="center" rowspan="1" colspan="1">3.57</td><td align="center" rowspan="1" colspan="1">3.07</td><td align="center" rowspan="1" colspan="1">3.39</td><td align="center" rowspan="1" colspan="1">2.62</td><td align="center" rowspan="1" colspan="1">2.51</td><td align="center" rowspan="1" colspan="1">3.31</td><td align="center" rowspan="1" colspan="1">2.28</td><td align="center" rowspan="1" colspan="1">2.56</td></tr><tr><td rowspan="1" colspan="1">
<strong>N = 2,009</strong>
</td><td align="center" rowspan="1" colspan="1">(1.03)</td><td align="center" rowspan="1" colspan="1">(1.23)</td><td align="center" rowspan="1" colspan="1">(1.14)</td><td align="center" rowspan="1" colspan="1">(1.50)</td><td align="center" rowspan="1" colspan="1">(1.13)</td><td align="center" rowspan="1" colspan="1">(1.31)</td><td align="center" rowspan="1" colspan="1">(1.16)</td><td align="center" rowspan="1" colspan="1">(1.27)</td><td align="center" rowspan="1" colspan="1">(1.36)</td><td align="center" rowspan="1" colspan="1">(1.28)</td><td align="center" rowspan="1" colspan="1">(1.29)</td><td align="center" rowspan="1" colspan="1">(1.24)</td><td align="center" rowspan="1" colspan="1">(1.22)</td><td align="center" rowspan="1" colspan="1">(1.20)</td><td align="center" rowspan="1" colspan="1">(1.22)</td></tr><tr><td rowspan="1" colspan="1">
<strong>Ranking</strong>
</td><td align="center" rowspan="1" colspan="1">1</td><td align="center" rowspan="1" colspan="1">9</td><td align="center" rowspan="1" colspan="1">3</td><td align="center" rowspan="1" colspan="1">13</td><td align="center" rowspan="1" colspan="1">2</td><td align="center" rowspan="1" colspan="1">7</td><td align="center" rowspan="1" colspan="1">15</td><td align="center" rowspan="1" colspan="1">4</td><td align="center" rowspan="1" colspan="1">8</td><td align="center" rowspan="1" colspan="1">5</td><td align="center" rowspan="1" colspan="1">10</td><td align="center" rowspan="1" colspan="1">12</td><td align="center" rowspan="1" colspan="1">6</td><td align="center" rowspan="1" colspan="1">14</td><td align="center" rowspan="1" colspan="1">11</td></tr></tbody></table></div><div id="largeobj_idm140318063141840" class="largeobj-link align_right" style=""></div></div></div></div>
</div>
</div>
</div>
<div class="bottom">
<div id="NCBIFooter_dynamic">
</div>
<script type="text/javascript" src="/portal/portal3rc.fcgi/rlib/js/InstrumentNCBIBaseJS/InstrumentPageStarterJS.js"> </script>
</div>
</div>
<!--/.page-->
</div>
<!--/.wrap-->
</div><!-- /.twelve_col -->
<div style="display: none;">External link. Please review our <a href="https://www.nlm.nih.gov/privacy.html">privacy policy</a>.</div></div>
What matters most to whether a person thrives?
<$details class="" summary="hint...">
[img[baby|https://drgwa04j8dse2.cloudfront.net/media/cache/6/d/4/7/1/3/6d47132428b7af1f33f014ce218dd5729290e897.jpg]][img[being parented|https://www.parentingscience.com/images/Newborn-sleep-wake-mother-raycan-istock.jpg]][img[father|https://i.dailymail.co.uk/i/newpix/2018/06/17/10/4D548CA600000578-5853077-image-a-4_1529226039527.jpg]][img class=img-right [hurt kid|http://www.parenting-blog.net/wp-content/uploads/Injured-Child.jpg]]
</$details>
In contrast, both human infants (in conditions of terrible institutional neglect) and monkey infants (in deliberately cruel experiments) exhibit [[failure to thrive|https://www.brainpickings.org/2016/08/31/harry-harlow-the-nature-of-love/]] in the absence of warm and stable relational attachment.
<$details summary="admin details…">
<<table-dynamic filter:"[tag[sessions]]" fields:"tbl-expand calendar_date caption vocabulary" stateTiddler:"vocab" class:"w-100 thead-dark" caption:"''Spring 2020 sessions''">>
</$details>
<$details class="success" summary="related vocabulary:">
<$list filter={{!!vocabulary}}>
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
</$details>
<<table-dynamic filter:"[has[vocabulary]]+[has[calendar_date]]" caption:"sessions with vocabulary" fields:"tbl-expand title vocabulary unit_tag" sort: "unit_tag" sortOp:"nsort" stateTiddler:"this v overview list" sort:page class:"w-100 thead-dark">>
<$details class="success" summary="related vocabulary:">
<$list filter={{!!vocabulary}}>
<$link>
''<$text text=<<currentTiddler>>/>''
</$link> <br>
@@.ind
<$wikify name="firstline" text={{{ [<currentTiddler>get[text]splitregexp[\n]first[]] }}}>
<<firstline>><br>
</$wikify>
@@
</$list>
</$details>
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77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNS4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIvPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4z2YVlAAAACXBIWXMAACE4AAAhOAFFljFgAAKKnklEQVR4nOyd6VOU2RXG5w/Lh/6QSqVSqcTMmEkmIZVJYmaMYRwXRtEhM68xjruIGyoCyiKb0ECzLzYgWy9sgoAim4IguKCoo7ic3Oe83cggtpbFpAk+v6q3oBq5XPtDP/Wc+5xzP/iAEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghZEnRU5rsaHPGO8K9D0IIIe8pfZWpjhtNTveEv0gmW0r0uelzybjXJYPuDCvc+yOEEPKeANGZ8BfLnY4KuddVLfcvufXB93htwlckIw25cqk40Qr3XgkhhCxjLpefseCIpi5WyYPeOnl8tVFmBpr1edzXKA96auWu+RlEa7guW7pcCe5w75kQQsgyxBUb5RisyVTBgTN60t8kz6+1iIy06YPvn/Q3y3R3jdxqLTVuKU+uVKaKNyOWwkQIIWRx8WXFWkO1WXLTVxQQpWZ5cb1V5MZFkTHzjLTL00GvcUt1MtlSKtfrc8U4K/FlHZSc7asd4d4/IYSQZURLzmHpP39WxjyFMtVZJd/3NcqzYb/IaLstTMYtPRnwGMGqkXEjXHBVXa4EaUrbJ86dkXRLhBBCFo+2vKNytSpdbjTly532CnVEcEso28ExPRtuUaG601EpIw1OuVKRKq25R6Um8T9ybsc/JNz7J4QQskzIsFY5WnOPqCiNNDplsrVM7l1yy6MrDTIz6JWnQz51ScHS3VBtjlwqThJPZqxUxv9LMq2/SXzkLx3h/n8QQghZAqDBddCd4cDXd/n9nB1rrKBTUlEywnOv67w8vHxBHl9tUsf0yLikqc5qGfO45Gr1WenIPy4NKbul9NBmSY/5sxxe/fN3+tuEEEKWARChcW+h+1Zriabh8Gijq79Yxj2F0leZar3tWsVx0Va7M176jdgERQkChFg43BLKdg96L2jpbrQxf7Z0V5u0Q1z7N0ra1giKEiGEvK+M1Oe5IUDoJ5rudmv/EB7Ete91vmxyvXbhnBTHRllvWq/8aIx1seCEBh1Gm/JlsjUgSj22KD26XC/3u2uN8JWZNXPFODLxZceJO+HfUrDnS0mJ/gNFiRBC3keMIFiIbaO8hoZWxLSfDfn0K8ps3xsRme6pUWGCY4LQVMbHOEKt6T613d1ZeFIG3Blyo7lAxWfKrA9RemgE6aFxSfe63DLhD54nJep5UvWJb8W5K1LObPq9RK38Sci/QQghZBkyYEQGpTqc9zwbCkS2Rzu0jwhJuZlBj3E39SpaN33Fgt6jjvz4kOk4lOK6ik5pzHusuVButZWrCKF8B1GCOE11npdxs96AO0sgYM1n92vIIfe7NXJ60+/EinA4/kdvASGEkKWAc/daq786XUUJwqMTF7S5tdN8NcJ0vU2TcjgDsp0NRClb2ozopEZHOF63bmPqHnU/gzVZGmS43V6h6TucI8ElTRtRwngh/Kz/fIag1If+pIpjMRoHP/3Vx+8UCa+Mtxx43vX9IIQQEkZK46KtvspUmWgpUaf0XJtbO2xhMl9fzIpSw6xTGnBnSlveMcnf++VrG1yb0/dLd0mSCti4t0gDDWiSDYoSzpPw2g3jopDQQ/IOQlZ+ZKsRpdWSHLXyrUVp56c/1Qnkk/4iPRdDUAPiiZKkEVxrUd4oQgghPz7FsZus3rLT+gGOYMPTQZ+W7V6W71q1rwjBBAQVIDA4U4JTKj741YLCkWF96vBmHhSsO1yXo2tDgKaNEEH48NzvrlH3NNpUIH1VadLuRBzcFqWc7Z9LSvQnbyVK7oTtjjFPgdxpL9ep4whmaDjDCOhdhDOMOI025oknI9Za1DeOEELI4uPaH2V1FyfqKCA4mZkBjz2fzggSXBLGAiHsEIxvB51Ny7nDUmJEKXbVqwm52MgPLX92nM6xQ1rvphEGlOqme2rtkIMm72xRGmnMl75KiFK81KfslrLDWyRr29/funxnD3y1Z+thAjnCGfg/ILDxsLdOxxsFJ5A3pe+1Fvv9I4QQsogUHdjoxrw5jAKCu9AxQMP2GCC4JJTu0OyKMyDb2dgi4s85ZERpkySsW+GYvybOqVrOHdGJ3xiyitIgQg0QtmAcHK7ppVNKn22cLTsCUVolp9b9+o2z73xZcRbEZjakgdIjXN7IXDHF2VWljDUXqEi+KTVICCEkjLj2rdfoNhpcUZ7ToalDfg08YDYdSnd4Dc4GCTr8OzS6+rKNKMVtkhNrf2XNX7P88Far3XnMnubQkBeY5uBWh4S1MMkBIjfrvILTHFL3qFPCiKGk9b95oyh1FBzX8uCttjI983pxLTCBHA/OwlB2vBIoO2JqRFWaeDMOcKYeIYQsVSBKSL7B0UAk4GRwrgS3BHFCKQyvoTyG+XUYnHq5PEUbXSFKSetWvCIe9Sl73BCZq9XpMmpEDD1KKA1iHbguPAg73L1ojxjqd2fKRSOMjWl7bVH69q8SH/kLK9S+T0R9bMHhoTx424glxG72WozABPKngbMwlA7RKwXnBje2kLsjhBCyBMjf84UKiH64t1fohzjcEcpfOjS136OvwenYdx7lSa/eeRQQpQUcTU2S3TiLqDfE4HZ7uZbrIBwYwqpz74xATQXSfIiNdxqBCYpSxjd/kaNrQouSO2G7hSkQKqZm3/NFCd9DUHGOBSd1rV6vW5fzJy1J3PBhyLUJIYSECeeuSDdCBiiDQTxwNjMz4FWXZItSs5bdICATgYv4IErerIM6OHUhUcJ5E1wMouMozwWvrYBDguDZJcEmdU8T/hKNjaPRtil9n1kzWtK+/hNGDFmh9o1G2ysVKXrGBSeEkIOW75AaNM/zwLUY2Pe41zWbGMSeE9etCLk2IYSQMIHL9DDNWwMDbeVaVoPDsMcMzRGlTluU4Dh6y2ynVBq3WZI3fvSKKKHfCD1KduNsoZYFEXLAWhC6oNjBxaAkOGQEEaIEpwT3lbolQvau+pkVat/BYa/2BYLVKnjPVZTsoAP+BvYN93e9Ic/sJ1lFz7nrC1yJEXJtQgghYQJOCaKE0UE4+0FazRaleU6pM+iU7PKdP/uQuo6FRAkuxm6czVKXAidjOzB7XTwoCyLsMCtKrlMadCiOjZKUzZ8sGDUPkrsz0up0ndQRRjqzL3DVuooSouzX7NIdGnThxODYUKLE5YF6XvWG0iAhhJAwgTMliBJcDSZ5vypKHhUlxMX1TMm4jssVKYKrznH+k7xx5Q9EKTUmwuHJOKBTv4PTHGxRqrfXHfbrMxO84A+iZP4dzpTQp1S4b73OvYsJMffuQvIOPU+Cu4PoIBkYvNEWqTuU7uCc4KBQPgxG2NGYm7rljxL7WWgXRgghJEw4jShheCpcB0RnVpSG/T9I38GN2JFwu08Jv4M5dfObXHHjrDcrToKiAScDcdAAxYDXTvWZ58mA7ZTgviCISABeOL1T8nevleSo34aMbUP00HOE8y11dz21us/gNesQU+wZpTuUG7EXlO5c+zfIGSN4GEv0o76phBBC3g04JUxnQIkLTa5wL/oBP/xqnxI+5JGmQ18RznSqjn/zyjigrG2fWYiLzx0xhDuaHs1zSlq+667VaQ9zy2t5O/+JdFxIUcKEco2bNzntcEbgHAzlu+BYJIjrZFDwCk9K3envzNqRkrThI/YpEULIUgWihNIW4tsohc2KknEdeOZOdEBgAX1FuCMJIlJ90tIbYueul7tjjYX1bFF6TfluyJ62gPQdfg6Rg/NyJ2zTayvSv454rXA455wnIeRwF71VZm30JKkowYXNXVtHIh3RKHiWpZMiKEqEkP8r/gsAAP//7J35c1VVtsf/sfdD6tWrV5SEkOESwhwghJA5ZJ5P5kAQtMEhEJnn4UUCQhjkgiCIjM7atgLi2Nr2oN3a3dXutz5rn33uuSE8XtmkaXWvql0Jyc3JubHqfPyu9V1r/aIigpKAgZ6hbzQV9mqkOhxAXLPr56J8tK9I1Me5zb1md3th2kOeEUNXD6xXKN1WKB1RcPw57r67dUUt4ZgnqPkwIYJ7eHE40GGsI1X3HzFEPQkThUsNUutimgPX1fsV6HHt37/xotrFuQ/SfdS/drUuNM+WZz5wUoQPHz58+HhE8fzqqiTpNhQFyoI0nUuFUZ/RFN6HtoFWm13pK3rJbop9aUu/2dORDiWmjl8XZaJQOrc/ZQmP9ymFdSoUFGOLeO2VfU+YU0+36TDWyRx9LuL1JNJzKCKuC4x+CCEa1ZPOH1KrOVMcqCexYv1BTbk+fPjw4eMRhkJp35NqXiA1l7JXX9Mp4Xbz7KvW7MCSP3qVzh9Uy/f5bYNmX7A0DUpnNgXJFJRsnxKAiCY6yLWBCJDCOHFHrvXWC5t16+z4hha1bN9PKbES4/qhDbrqgvFFjBfC5JC63+tRfxKuvlsCxdcOD4ui69P+pK11s8y64v+7KdeHDx8+fDyEuHv+QMbnrx4Jl9wdF9Uzlrx1bl/woC2sY0NA6QmdjoCJgZSaNqLeSUHp787sIKoE2/jd0NFGk+z+7mWmJ+ZmO7mhNUkNh++T5uOawIfZedFAVnXznVXVFY0Ykmsde7LR7G5fdN/m1tGByoAhrB+e2aNTvzUt+N55vb8fQmVHahCTA9e2taoN5sXhTk0Lbl6Za4aKvPPOhw8fPqYs5OGfwT4hFtr96a0zaUvuWHzHw1teE9zv58eGqpOMDCIlFh/Zo+kwXV9xLawBOSiNh1DaqjZrHvZxi/XpjZ1qMVcoJffqNfkZUn/AAjDZdRLhMNZwQvgFUV00zu5sWWDW3yfFltzUFbx1dERB9sWrR80fo6nmVxSgbt4dKcjPXj1ip5nLezvxVKsosKWMF/ImBx8+fPiYqnjv1I4AZcTGVRTDX0XhoBrsortXzF/ka7/X9RDPqxLa0VaYMfEaCqW963RKA2sm3KRwajM/fHR9EqU0rlMd3hm3UDrUt4I5ddF1L+5crTPmgBYOOYXStePaq4SJ4tt3J2ydPbVTV6tTn6Lus6N57n3n3l3YPpi0JocDtmlWF/tZVadNs3K/pPJIM3Jt7pG0IKOLdrUtNBsrZngo+fDhw8dUxLnn+gL6dFhgx84gTWHJg9kOJL2pMNH5cgIA+o+o76BIJl6HmtJlgRIPcBSQHcp6wa6vuAdKyRSUwobUQ32laVBKjnQrZJiPp+k7gQMpP4XS2+cUTEDjq+sn7BoMpkMc3KA9SoeHqs22hgKUVzDZe35ltzM5HNQU5TexelJ8kgNqj3sEYBd3DIWwm/fAdRg+fPjw4eNHxmuHn4mg9J0om3+wdRUgsbpBoGSt0Rc1jYfVGyccUxPYNBu/zuhghSolIIOBITX/zk5f+MediUaHY/o6Xs+sOhpSnynPzHDXwyZOYy3w4HdqTYn0nYOSHFJ5CjdGFp3YrqvVkyM95vnVlWZr/exJ595hcmDFOooPRacmh3dfSncKMslBgEoNC4cgTbM6JWJ1lU5yePIBk8d9+PDhw8ePDNQIaawvQ8WQani1DjSXbuMBTQqNCQg3RSmdfKo1va9IoITN2qXFSLU5BRKfU2c3uFrA3Qkt4VitRwfL09JtQICJC8CD19GnRKoOoNGAy4mgdCGE0gGg1K2A29ZYYIYmgRL9T7xn57xjHUZqkoNt9HX7k74Ih7ACR3vdMrOlLmEef8DkcR8+fPjw8SODAj4P6E/VhXZaH9Df/+YV8324QI8J2b+7aScwAAeUC2myU8+0m03VKWVD86xCSSBzWxtSX4hqNak1E3YoKw2pNM/q/qMjI2pOUCiFxgRceIAKRfb+qR2qqGhw5f5QSNwjNSWdo3f9hCgll75bH8GDWXp1if/ImPh+XxzuCoAMcP1UIPt16LxzUyIsiGMNuadsQy6jkPZ3F6vz7l/2H8eHDx8+fmnBRG3UDQ9+iv48jOn9cUaCrwUEfJ3mVEYI8Vr6kYDS1rpZUQqPmhK1GpQPNSAaaO2UhIuhacKur/hWJzqcVlebm+hwftuAjgVyDakYKUjpkTajGffuy4fCe3tRfx5Ycr5RYJ7U4a445IBlcpNVSltqE5PCAwX2+tiwLuv7TKBD2lLNHQJM7tPdI8qQIazsT+J9uU22I1VZHko+fPjwMVVB7Yb+HrtIL5Uio/8HRcPDma8DLRQVr728Z51O9t7eWBBBCfedQkmt1nv1Z3Sqt8CDuhIP/O/DB76dfTemqTHUEI45oDRcmRVwLeo+LOoDWCgaaj+kA1FGXA/19R2Ns+G1SCuiaGi2dem7+w1MfWXXmugeP7+c2tHENd16dd7/51fCAa9yfyi5yORQNt2PF/Lhw4ePqYqzIz368Gc4qmtQpfcHxYRK+vLauKaxKPijRoAI8KGmdKCnOHrwH1lTo+k7lBIPcx1yylRvhdJlNTm4CQxfq718TJUXTr6XtvRpym1TCKVtTXODS0BJAEj/EbWfr26MqwMQ5cX13NJAfofuOjpt12DwfiyU7k2zsdTPmTGcmgOcQAnIcW1qVU59vafqK5YSbMj3JgcfPnz4mMo4+5yFEoD4RG3X4/qgRyUBD8YB8XVG7dCDhMkBFUM6Kz7Z+8jaWnXfoUIc4NxUb3YeoZYiKN20UHKrK1BrCqWKGapCdrQtDFA0CqUzu1UJYTF3xgnbP2WdfEAFVYaiwsAAlFBdz9Xk3AOlE+tbonl6ug7j6guaYnQTIuwSwqT57dXj8n03tmitqkJXT3rQenUfPnz48PFPhE3fbVR146YmAJM/KJROp6AkyoKeISBCvQco7W5bGD34sYhfngAlZyIAJBZKr6j92iqlw1ov4nr0FgESByXWVtC79GYalE5qui6+zRaQ4MBD8XyggLNQOthbYkaqs+9Js4niSd7E0Xdqh9rI7SDWpNq/FUrUuzBhyPVcapHU3bEnGnSKuZ/k4MOHDx9THADhzbDGgnohfQeQUAyk8YAUALl1dn8alE7o0NPF0by6o5MoJZ3q/W4MSrGakiolgdINAQmDTg/2rTCbqiaHUppL7la4dVbAhPLS+g9QEqWngHNQmmQY64Xtg1GdyoEO9QWQOPbeTuu9u624KMnDq6t0CeFwRaaHkg8fPnxMZfDQpQ5ke4GO6sOfviScbRgLeHCTHrutdvDtmr4DGLjvDvQuj6YwHFlbY6GkNaVJoBQ62/4cPfjHopTbOQEjIImgNFAeMNZnIpR0CV+07+iaQo57/SI0JTgoMUfPqS4XB3pKMlzN61as5uWUHCqO9J0zTrwX280EMFmt7tdV+PDhw8cUhzzEkwolLOHXQku4gEMHnr5jB57y0Md9R9oLmzYPd7bFknJzUxgwOqRB6dJhbUwlXZeC0uXInGDrQLttHUjAGFdK9DxRy7kHSr++EA5NvR6NP5oMSvt7is1wZfqEcLs0MLXJ9rfUkwS61jgxcTfT86oKeT92N1OR1pN806wPHz58THGc2diZdH1KjPHhIf9daLu2qyHs7iOmJrx/epeaD5gGflbH+VRFD/8UlEZ0JcSnrg70TgpK7sH/h7Bu49x3pBDjUOJar+xZm1ZTShvwGq7CmAxKOOVYgzFR1Zx4qk0nOTAhgtl8OgbJTZygRnXrivmLAAoI05OFQ093M61v0gWEI1UzTXX2vc24Pnz48OHjIQZQQt3QKMocOOdwc8aEb8IleqgHlA31p6v7f6U27rE1NYzdUZCMralO1ZQmgZJzzMXn6Lk+IMwWFkq2DnRyQ7Pay990lvA4lO44KF2/L5RQNutL0qGEInw9Vk/6+rWTNh1IjeojW6P6TqF0WidE6BDWnUPmqK7BmG+Gy309yYcPHz6mPE493ZoEJKqUboyHELmsaTKUDTUgxgzhwEPZADDSYDS8Hl1bG0HJ9imtU2hZe/lEKF1RteRm6TGhAZs5oLDNs2WiRqxSGl/frIC7H5TMx/dC6ZaD0qZuszdYes/aCswZqabZMVVrukMphBw1Kv5NvQtAv3n0OXXejQ1Vm+2Nc8zGqhm+adaHDx8+pjpOCpRwpDGHToeovh32AqVB6eQEKK23UBIVsbV+dlgHqrLqJg4lXTP+khoSgBKHtCC/A1cf5grAY2ffVZiRaqeUWgVKT8i1NsWUzQOgJLDBhAGU9nQuSWtyxeRAypGUHPUk+pP+FK5rZ9eT+diu6ABKAJgepTfGNul7HF1V4Yew+vDhw8e/Ko49UZ+kv4fazeex0UA0vCpAwvTdJxefV9Wi6bsYlFg7znVGB8uTccecncJg04GkASMoYQsPr2lny23WFeaaCqzNUyid2RgYhdKR+0Pph3ugZPc8ndnUpTPq4ruZMDkwmeE9rSfZHUrUk1Bu7E9SKIlS4vq6rkIAzbVYg0FacfPKHNOUyMiY/C/ow4cPHz4eWlALurL/SbV7a0NpaHbAJYddmuZUUm0YHQBEqqbUr02le0WVcB2gdEmnMITz6oDS9XFVRTop/JabFG57lVBf/D631ZVU4OYaCyXceEwv53cplFgxQQ0ogtLNGJSSKSgdHlYo0ejaE1utfnx9SwB4f3N6p96XXUB4XlOUXEv3Rt2+qqoQtUhNjB4lJoPvDYr8ENYpjuzs7AxOIiEnNzdIJMKTl5fUk8hLznJH/p2fSAQcXpubnR3ws4/6Pfjw4eMhxeiAVTh2urcdpIoqwXXHUFY+xyl3Ry3hO1W9uJoS68HdqCF6iy7qZO9hbYr92AHu7bPpUPrwcqofiPlyAkNUEdfaUmvrU1wbUFIDcrPvsJdPDqWUUuJ3Y3SYCCUmObjJ4Hb8kVtoeM0uNJTrcX+6Q0muhcvwioCXBmGUoB/C+vBi2rRpAp9ERgw2ZlYiYc+shMmXMzt/limYnW/mzikwC+bPM4sLF5mS5cWmpqrK1K1caaqrKk1lebkpL11hKsrLzJLFhfra2bO4jlxXYJWdnSUntVrFhw8fP5HY11Mc6O6iCCajagGn4M/Ind/dOGk+C6H0vkJpxEJpq4XSrnDUEFBK7UDaqbZrO8YHKF2MoKS28PggVXktADr+qyazs3WBXguw8DsApUsFPhBK5+waDOzlpO8GYlDC5ABM6Z9iWSApSkCp9SSgdPeG3hcg5p4AJfUx3h+Twf0Q1n8uEqgggdCihQtNQiGUAlF+BCILofnz5pnCRQvNsqIiUybQAUAN9XWmrbXFdLa3maCzw3QFnaazo920t7aa1uYm01BXJ5AqMyXFy0zhwgVmTsFsky+/QyGVl6vHqapH/bfw4cPHA2JXR2GAMsG5RnMsdR4e8hT8AcdXAiWU0kfnD6mCIKXGhlf2Eh17stHsbluk9RZGA7GbyW6L3aFQohnXNajqTiWF0quxXiXbQEu958RTrapKNlVnZ2AR52sWSpgmUuk7VTcToER6kToQPVRMhyCl6JTSnrbCDJx8bx97Tl6zT5cF/vGtM9bkQD1JoEQzLpDSxllnBw/rXCwL7Fv4n8Gj/a/00wtSanl5OckEQMhLB5H7PF8UEQCZP2+uWSQwWbJ4sVkuYCkvKzUra6pNU0ODaW9rVRD1dHWZvp4eM9DXpx97urvka4Hpku8Bq5amRlNfKyqqssKUliw3xUuXmCUCt/lz5yic8uU+8hVQOWZWbo4BUJmP+QkdPnz828WOtvkZ1HBsY6mFCVAivaZKSeD0xRVXU9qtoGCZHo45XXzXXqimggNASb5G7QZDgVsaaBf9vaymAoXSLderlIz6i5h/R/0GVbKlLpEB8K4f2qBw+DB08k2EUuS+e/uswg8lBzAB7L6gKIISsESJWefdAZ3kwAqMv926rIYJ6knO5ECdyzrvrE2dyeVMcvBNs///EBgFefLQzxMA5IVA0n/ryVVVVDB7tpk314KoSOBRvKzIlK4oMVUCFNJzzQKY9rY20x0ECp/enm7T39drBgf6zarwDPb3m4H+PvsRUHV3m94QUm2inpoa6hVSNXLNClFcpcuLTYn8HkA1DyWlcMo2iZxsAZRdmeLDh49/g9jRVJDBfLcb//NUND2b9B1AoqaEoqE2hCUcgLCJFROAQmlDs6oShVJPSXB+a79ehxUXuhpCoMPYomjR3+0JvUrXbK+SuuY2BpoKZJcSg1O5jkIpuSfNfTdRKam9XO4XCLJqgvti9p1z32FyUOed3BOv+RLn3bsv6b2oyYF6knyOIxCIAkEAzf2wruKXanJQ40GYdqP2A0jiSoc0nH4PY4K8Lic7O5kr4MnJnqkneyYny+TKQ5/X8/MoosJFi0xR0VJVRCtE0aCKSNHVCowa6usVSC1NTaaludm0trSoUuoQJdTZ3q4pu6CjQ5VTd9CZgpXACVCt5gwOmCHOqkGzJnb4Gt9fJa9f3d9rBuRnO1uaTaUAa/GC+QqpLK+cfPh49LGuaFoGw1VRJkDJueaABi45HvrUl0jh3T53wO5UGn1Gpx2QcmOkD/Pv9nQUBqTduA7z5UinufoNNSRqNjz8/x4u+0PhuF4l0m6oNQwKKC5SZygu1A0gdMNdUVz0E0VQkmtyf9yvOvmOb9X7QuE4KGFyUOCKesN8Qe8U9xPVpu7e0OuQZmRIK2aOq6HJAUg++wsyOQCinJxsdbxNZkC498zSjw5UAiaTNWOGmhSoDZGOK1oKgIpNWWmpKiF7Kk1NdbUe0nQra2qij7Ura0ydKJz4qa+r1boS0CKl19TYYJrlUE9qA1ytLaYDeMnpjJ1AYNYlIOsRgPWJ4uoXEA30dguYesyQgOxxAdUaAdXjKC/5XvGSQq1F5eXkJKOjKciUCzD82+hJ4AB0TkF1DXoXoA8fDyVIw2EsIO1mLdN2EgOKBnUCoL7UB/+onX/nhrIOd5qDvSvMuuJpwZ6OJQFgQZW4za7pk7jToYTTjZ4g0oWkBEnZ7QuWmpHGBWotpzb1zviWcKVG6JiT+4mgdPe6gu7baAzSaOjkW6e1IAcla754Vu3gLg0YhxtpwO/CepIDG7//hXX1ZnvT3HsmQ/zcIjMzM4P6SvjQndSEcC+IUmc2J98e9xprWJirqbmS5ctFEZWoKuKUrlgh6qhMIcXh84ryclNZYQ+fAy7UE267mmp7+Hd1pT36df2+PSsFbrUCtToBGik7ToOArFFOk8BMASYKjLQep11OlwCrT2A12NNlVguk1g4KnOSsFmgVWBefvoeFoqIwaOAAxIDBR9x+S5cslrNEYcp9lwh4+RrvXY0bsxLJ2YmE2tctvBIZj/q/tQ8fP5lgsyoPcyZjoyZwurmVDvG141Yt7VfoYHbA6TY6WK7DT4GSc81hKogrHLe+Iq2BNlz2p8NPx63CYer4gd4StaiT0kNxxeE2KZRYhcEm20uHdSU6UKTnCfXm1lW4Dbafyf2g3P76wSX9ea6DYuL9fXX9hCpBJjkASIbNbq2b9bOd5IBdmpQbdZ6JRoT7wcgBqCA/31q2CwrMvLlz7MN7vnXNUSeaM3u2/gx27gWimFBK1IzKykrVwl1ZURGCp0of6rWqhupMY0O9HhSR+3yyo6pJXo+Cqq+tjUAElDgAaqWAbCXAklMn/26Q7yug5LQ01guYGk1HS7MJ2lpMj6gp4LRG1NNa0ny9PWZF0VKTlTndzJszJ7Km8/4Az/Jly0yFwBRQcv91tfY+UHnxg2OQj7x24fz5+rfj512f1bT/SjlEffjwEQvm1qEOgM3dcDCrW6jnGl5dmgyI0NDKzLpLAhJs08+tzA22NRQEjPiJ+ovuM/+OY0F3PrSFH9a0IVPBGTUEDAAk1nLqQPE0YNzGTdoN1eWuQ3/Vh+GiPyZ7D1dmBS+sawhIxVGb0pl3ch2abYGZmhxcf9Lbtj/pg7CeBFwP9dmV6nFr+c8lsrKyAlJtmA/UHRdTSK5HiBoQzjg+OuXDg7VQVMOSwsLIoED/EG437RmSh2+VqAYexLjgeADPk58tkGtqHUp+F/WmmVkz5GSlHepP9sw0OTNtXYr7456AH7Dj9/E7MEOQwmtpbkodrUU1qiriYHRwp1lOC6/nyOet8rEN5dTUYDrkZ4NWwNRm+rs6FUik84ZEPdVWVZis6dOje+P++fugnlBL1MWALUoJOAHK1uZmrYFp7UsOn+tpa9X6GOYN7q9Mfg7Q2b/RHAVVZqavafnwoUEDLWku3GvUeHStgyiZv4UTtHWtg+4asisneA0qhnFDmCREUSS31OULlLqiSQyu6TU1aii9gdbaws8oKIABjj4UztF1teaqgI0UIXUga5g4qi4+q3BupBpeb1+JrgNUnC2c+6AR9+bo00mdMHF6p44X+vLaMQWkTnL4xJoctJ70pu1Pwn0IVKmxMdT152hyyJw+PQkUeOjn5uRYE4LAhwctD0iFzIoV2pxKmqxWU2K1WtvhcxQInzeGaTFAYGs7zVFtR/uJ2ttNd2eHQoEH8CK5fkIgI79f604OTDzsnTkiByecnpw0x17qpL6OEuNhvhj1IoAAjKTySNtxP9yLOx2ttt7UoZ+3iDpqjU4nX0MxycduUnpyz6t6ulU1AaZWeZ/ZMzJNLn+v8D7t59n0Pil0gbQzbPC3AZitLRZO9FT19VorO6aM/l5Oj34NaztfwzHIz6LEUJzUq9Synumbf338QmN/97IkKSsaaFEUkW1aHti61uGOXT1ua0vHrVo6vUvVzPltg2Zv59LkFlFKjPiJz6wjFWhHDaVPdYhWWDAi6KqFCdfCFj46WGZ7lBgxJL/j7suHdFYdYEMZKUw+e0PBhBPPDng9q+oOCAIylBbqj+voRt3LY/L98XAIa5i6+/R1VUvM5XP9SW6Hkmvkfbb852VymDbtv4Ppjz0mUMhUGAAk/m8d1VNeWqrpMFJO/N88D8vVONeGVpvH1wzZI5+vWb1KnW043gbkNav6+1POt7j7jTSYc7zJa4EW1uw5osJmZAqYBErchz0OUDPVLAGYIhVHb1FiYp+Trfnkh6lG0opzBaxu8gONtLU1NQoooGkhaU0PgBLrOAcDRA9OPr4uhzoTqTwUkwVTr9aY2hrrTW5Wpii4GQqkPO5PTwyS1KDmzjVFS5aImivVFGMcTL0YLXqtrV3/LjgCY8f9rYEVDsQV8j5oBOa6ubnZQbYHlI+HEP8LAAD//+ydiZ9cVbXv/6X70YgMMXRCk3SSTsg8z2Nn7E6nO93p9FA9z3M6AUEUoyKCMgnIZWiGIGCQQFC56pNBnuB93nvVd7le9aNvv/Vde69z9qmqTngSySPW+Xz2p7qrq06dqsD+1m+t31rrU3NQQItJwfeH+7qqBnreseGz8QMmn795LoxHf0hzPYTFGFehIyyAkjZSHVW1Qn7H99Kzrg4eSjZQz7qFq0lBHofVHDv3t7v3qckBJYa6AZC/wyyBcnvrJQ8UlFII4dngQIDD6A3ABOR+IVD03SC+o7kkwObV1kveCg7Y5Jbr0Pok6pwevsOhGDFK3HVs3VVlcpg3b15u/vyb3cKFFapW2EjJBwEk8jvHGxpk88zppgmAxsdG3dTJSXf61JS79fQpd1tYt55iTbnTUyfdqclJd3J8zE2MjrhJeTy3ukaG3bit4SE3xpJz4oBrqD/q9u7epWAiBLZn9269BY6EClFJgMnDqHhOyxa5LUKMGl7c4PNahPlQT7t37lQ4kWsCiKgRwNCVuPA69VYX9+Wtfvn7gEAXxcTCFLFRgLpyuUApgAnll78AJQW7BidevyWAHgt7b3cKJrWtDwwo7PnMR6I1Kp9Zf2+vhgMPiHLlM1NAlbpSlI5/hONM8xYFCuE48jhqdkgmvZ7zUNL8zdmC8ejkYB6fanJ3HFk5bd29CZkplJJWQ9bV4ZyqLsAUj0a3EB75IHXeyS0jJt5/8X55rYcDUJ4KYPKznjiPtS36o5wbYAId3HWE6Qj5ATSg+B+vPS5ge0IVlY1Up7UQgOO6rDM4ak3HVfQxruLqMjnMmzfXLRAoLRIoLams1HAYIbt9e/cmSXkKVdkI2SDHAM34uJsS8AAgQMS6LUBJl9x/WsB1anLCTU2MK6BOCpxYkzw/rInRYQUVPw/LRky4jGLWysWLFCK488jNeHeev8XZpgaDjRu9YUIW4CFkZ+aK+G+8FzUibN+uuSergSLXRb6H2idqm4DCgLzH/qDgTMnFayDcz+2QwINr5ra95YQW3+LOW7VimXaG0BVaGa2OVB15tM0bI+Ukqo2cUreASeuqApQG+/tVfQKmkQyYhnQBJ37nugmF7tm1UztUaH+/paWi39JxlR5f1gLaNnfunnH35qO+84HOVmK8AxB4N80rsfHzN0J4KBGbh/TVhnXTGARUKT30xaT/HQWyQEn73wXA/TWcz6zhKBVAh8phASIFijwXoAAkoIOV20/FfdlPsn37Zf0dsGB4ADq8FqD7LR0pBEQYJLhmRlX8V3QObXsUjBL/HkHpmTCu4ku1K64ak8Ps2bNzN82b5+YHKBEyQ30Q7qK/HHkQNkygZJ0TBkM4aVRgMgFoJibcqZMBULZOeiidFiidEihNGZQMSCMeRhOyscYL1UTx6j6Bx4Lycr2WvUExoXAIwaEOMBAAlvg+oKWPxZpt9uzt2zUfhupjoSrIMQEDDBdAibwYalCLbjs6NK+jqkUh1aPhRopshwFEf7+CyP8cim/lMagrLOXbBaRqG6crxMo8KAUwrQnhRZyI5NP27NqlJhDAkiNEKOcyKA0OeDCZajIoAaTsGtbH8XzeG4oM8JU6UpSOq+64vW6VFtASivPTWa1HnB+EZ6rEil5RFoTw1PAgygqYMYLcj5wY9+G7Aii9mEx5tSF9dk7A8L8VKE8rQH73xpN6y/OACeqGxxmQ4kWOyNdTnVXoGJg4F7f8bkCiaJbu4CgrIMlz+DuQ5b3w3ulKcV9XlTrvrvS/y+U6brju2mmgZEqJ/A2hMjZyLNpYsIFSu23YcYgp+hY/ruppTFUR6uj0pAeSQekUfzMooYwSEA26CZ4frVE5L2GyHbLBl4uKIzS3W1QAoDT7NRs5JgmukVolbUMU7N/YvvkdAOGCo04IcO3bG+qhZAFcQIA5o17NGb74loJbNnZ65/V0dgYwAaV+BdHIoFxfCKGNBaUCuMhHHZVz0VcPIJAf8/CZCUphqSljnYYVuT6uBzMGr49iA0ZDCZjSz7sQSkPhmob174RD+RyA5KqVy0twKh1Xz5FCyU+OpbXPB2FkuMGE9acwiRYlwkaO5RtjxI/CZk7oCwv2j4JJITE6vPlsOuWVfBAmA3XQnVfV9OcwUBBIAI4/CKT4GVUTw8irox9EQHpJ//5Hg5I8D3cdrwdsdMnPqCz+puf+2dnksfzN6q8AMaqPjuIPDla7O2uWXTUmh7Ibb3TlN90kUJrvFi9aqDkbQmMoDlxfDceybjEUkznG+gOcdMNms5TFRk3uiHDdlEIq3EZQOmlQGgJIA258sHDRUaGzrcWtWnaLW7hgvqocQAmYCM9tCv3xgE31oUMaZgQsaiLAyt3WqnAhNIeqUoBRC6XrgK+JklUdqSXqnLxj8Li2LgIMuOD6NGTXq1AYiaAAAMZCfoxbPgPyUoTjUHCASRu+RhBaHa1icELhofowlmDCMNWkuaVkDeYppuE8MA3p9YwqnDq0HgtQ0suvFNYrHVfFQVsdoKRKadrX9CRmh1/+UPMv5IJQJb710BMKJuqMgBhFs0/e2qI963x7oLuT4lkAkPSaA0i6Xk/GkP8l5IYSyCiIXlRjg8EoXh5KLyWPt84TQAdFhDIyMH1oUApg0vUvHlyoMVTf+zrq/RvqPqTT+cN0B29Ye1VAafb11+fmlpW5m8tvchWy8ZvJgc2eUBgbvVmYaYJKf7n2tjbXgUNNHWM+zNUfhbhGZOMeBU4AJ+SKTo6NeBgZkEaGEih5CPW78QFWnxsLaxTXWXenaztx3C0on6fONnImhOTIEZE7Ap5aF4Szbs8eVT6anznhredApTf0v8PMgHLQ4lkroKUjROgAwf2AoFHB1JiMw1DF1BXARA5pIEBpaCgDJoWTvL+xEVvD+rlgpGBsBlBYl6inLKTi34EY0N2NyUTeD5BMVFMGSFnjQz6Y7No07yTPw00InFBuKxVOlbkr/d9f6Sgdf/Px2ESD1hhZN23yOcBHbdgKk3QYHhBAkbCpM8XV94w7o2MjaBlkdvDfhNAdysTnpl5RtQTgWD6/9ErSfshgYzAqCqS3U5UEuAxK/51AyaslA9OHtgKYPgxA0tyTAJPcFS5BjBmvP3hr4r6788jyqwJKc2bPzs2bm0IJkwOzi3zo7mBaV3P8uG70rdHMos4Apu6Qg9EwF/U7GTj1uzGgM+RDdBqqkzU55BcqaWLQw2hcnjPW35usUTnPSG+36xa1RAeFm+beGHJF27RIFyhZ4a0V0BLiU/OCwIY6KZQSIUe/kQ+p4uD3Ri2g9UW02gkChVV3NAnjkV/yIPZw6whg6rd8WsZ8kM3reECNJLcGqoG+Pj0f14fBAUjNCCftlr5G3ycKL1VNXZpnyjc+GKhGi+aaUjjx79Ii74uwJm7A5bcsdUtLRbml49N40AWB0Bv946xxKRu8LzR93VuoBUxAxfrXAQHUCDkgv7l/Wzd3X/DqzQrUB/F3Hgc4AAnPVwfdO6/obQKlt7P5oj/nAamYSiI3VAClWC3FYArq6ffBDEFo0XJj1De99sBpgdKAt7jXrb4qoPSF2Tc4wneWU8KKjdWanA0hJHI15JRQDkDJb9ItHkwopgCn7shKncCJb/bqThO4AKl+r4BUFckCRhMDBqQAo74egZGsXla3G+E8XR2upaHe3bJ4oZsvigkwbd282bfmCX3oLFdDYh9jw/6qKgUT0NFOCSgmOReuwYnxMXUQssFbJwVUEeBFlWiXh9DQtcWGB1Kr1O7rs3AgmivO4FRMvRSH1XCioIAiwKHeKD/EZ0YIoEtIj9AlpgxUF1AFcBnjw2BYGeWUF84Li5AeLkL6/W1QG7sP6VVW+n6QpaN0fCoO+t8lTVnJBZ33XR0yBauh4BR1A0AsD8Rm//s3nlI7NiD61x88LJv9g+7XP3hI7dy/lftRJoTOgEiigCIgZaHzsp6/OJCyKol8ErmnP8wEJcstYYAASKLuABLQxcyBi5C8GH3/tPv5mQH36Fi9+0r9pz98d+2115bNvuF6d+OcLzivlso1p0QtECqELt7kaw6GPm6E8sjXAKjW5rBRC5Q6BE6dVgBqYEJVhDEQgwIX7bYdmpqO9Abw9AEhD6JkyWNHbclzh7s73YCct0M24307t7v5N811ixdWaMiOuiMU0pqwoRuczNGGGiEE6S3fDVoLhOWaEBxgwJTBLWE5H5ZsVeAqqARGAEA7UIS/WciSx5ta0mJhMyGEfA+3g6GIOL4/UTMh38Pidz5DFBqhSYp88wGFyYPcFO8JiNEtg+thVlRGsSmYUgWVr5qyYBrS51EwvL9qj6qmFbRLKoX0Ssen5cDogFKiaFXnDhF6C10dtE/cBxf8CpNaNewmoPCW7BfUnPBh4n57Wm3cGQcdQBKAxKYFD6Q8KJliiqCUb24oqpKCeSEDpRhIch3e2feUWtDJh6GSfnn2Pm2JRNiSmiuMDnR0+Grj+qsBSrnrr7vOzb7hBjfnC4BproLJ8krrQ0iMcBnjx622B1OB7+V21DU1NLiWpqZkBASdELpRFLJ5Y+vu0yLTTjcYFZoO6+rSNSJrtMcDKF4jdObu7nDDopIGO+SczU2u7tABt2xxhbt5Xplu0qgibYgabeSrV67UDZbffR3Qdg8mDec1qMIjxwQ0xoKdXeEkCgrYEKJDiQAwgxQ96jqicCV/t/zSYKbzQqqetAtDX5/vzpB5XKSuEkD5UB+vDTxxBvKeUEnalSLkmXjPhPwIvdFYFgWn7yUCpBkhFE5JSC/Of9ka9s7BQa+aaEaLjZ3CXxTpnOuvz13p/z5LR+m46AGUfJ3SnTo2PG2CGjpzo5JMLaGc3juftCAyFZOFxQvePRfs1yibAiAlSulcoSqK4HRRIP38hcS1ZyaGfAdeDCTySKgkBvphxADATNSlPgso0WQW0wej2a/0v8nHPa655prc5z9/jbvu2mvd9ddd61BNHk5lbv7N5W7RwoXa4gdAkd/Aio3zDVcZzjy+teNeOxI6bTMKgpAQPeO6cq0eTCgLgZN2QMBF1h2W/DwkwLE1rBCKVpcH0nBnuxtsb3M9LSdcc12t27l5o1t4801ugVwfG/QWLZrNA1NQTPyM4sNqjS0cmFodkN/M+934KDVW41oIPDE2pnVXbPKE13RibZcfrW4qCaWlPeki44MtCl4J7WV/7ym60o4N/QXqyQphgQ+hu9jBty6AifeECYIQo6m/oSjXFa8snAoBxX1a3ySQ27Fti3alINe0ZEG5m3/9rNyV/u+0dJSOogcbMX3ffhTGPFiH78Q5pyG8GEyvJ0PyyDNh7fbdGgoBk1maS8qu/BBesfxSJmSXAVJxKHml9Gyof5pO6p9wAxKaJMyIUqKWCqcgCpHwHZ8BPfiYqHul/00+7jFr1menP/e5We6az33Off6aa9y1n/+8wumG6z2c5pZhFZ8XdXpYnHTDpoWPbY6okao9u9wB+YZ/WJQUDq8GAUiLAIouBz2yoSuY2Dy7wpKfBwEOS5TQYGfODcnPw7py6ZK/DQjgeuU8rfVH3aE9O0UtLVS1pC61UCDKrW3gpi5sbQg1QDZSgm7dhB8BC5sxG/QkHScUTmPaQmlEN+qBAKheBQWbP88hF8XvvdFU22QMe/JzBCcdz96tkLPVF0a1J5Z6eS2uA1ME6s2UE4qInFNc94SC4ncL5wGwzlwuOCADmHQNpLczKKfRCEw8ltzgwf1VSTiPVVFeNl05f17uSv/3WjpKR+Ygp8RMIxxoP2csurYIelT71mmNkTUxBUoGpvdfT+BkbXsUUMFV95dLrWB0yAdTMXX0kYCUH74LaimB0oUYSo96KL3wHa1RokM4Rb8/uGfM0ViWibo2KPDTesz6rEBp1medX8BplsDpcwFOaVivrAwjxFx16KGgKhYs0NwTnR/oir1aISUbpWz+28jlbN/m9qFMBFB1NYddowFKFFSPAKZPQNOHxZlREKyOcCtrsL1V15D8PCT3czsoz+lvbXbtjfWudv9et3XdGlFLAktRTBvXrXNbBEpbQ46J2iVVTWtCL7zQG48807Yw3oLmsuTHMDYQkgMKbNa+bdKEAgowjGoRqs+9mHrqCTDCNNGbgKYrgUxfBCB/X3fUAbwzszzYutNx7cFubnDyrr1hVWioUR+u9KM+eF+8T98NYqerr61VBdjX7eupEodgXHQbaqwupph4DEYV5ksRzsOGv2zpErdzwzpXOefa3JX+b7Z0lI7keHSiQWt0aMpK/zsbGUHICwjo+HArfM2AKagmHQVx3iunGE7xetdWDKZzGXVVLH9UDEg+j3QRKEV5pTh8l0BJgEuI0hq4Mt6CGi06i9MuieGFn3YofeYzn8kJmNysIlAipHfD9ddpSA+HnsLpxhs174R6SgCFiqpY4CoFUrfoCIel2loHV9fWTRvcrm1bBVC7BFD7XL0AqknUTq6pUW3efQAK4HDL723Nrk/g0y+3A/I7MBoCUEBLfu8+0eiOyzmqtm1xy0UtLbhprr4Wm/W20GiVW0wQWhPEsEFtzOqXmgWCbVydhdXVOmtJwYQzUHNMYwom2iZNqBFiRDfu4RDiAhx9AUgpdLoCrLIgMujY3wkF0nTV8lIaCowAZQW6Vigbw4nfMV8whkMNHhrSwwq/Rn+npokQquaZzLoehfRiMFnOKYZTDCas/HSoYM7URgEfeablAqb18lmvW7LQVcwuhfRKx/8Hx0ODNTq+4tVvT2koS4frvfywOtXY9DPFrwalDy4UKiZMEQamAKcCQFmo7918S/jFgGROu0KV5KEUgemnppZCTVKwgSc5pdce10atQJcwJXklzA50Paf492yoVWJQ4JX+d/k4x6x/+qcyVUkCIwvjmUq6IcDoC7NnuxvnzBEgzVEo+ds5bl5ZmaonA9SCACg6LywWSC1dvEhDPzQk3bB2tdvGxikb6oG9u93Rwwddk6in3PEG18PwPF0nNG/U29Kkq09+HhA4mWIir8R9uWN1rqZqt9u8ZqVbWD7PVYhaMoVGM1TreQecyIFpSE821vVhKCELMGGxxlBApwfqkjBAsJEDJoMSC/UEFEYA06CBqc+rolgJdXWFXFMa2vOzkTyQTCnxGANTZ3u75qsMULGC8u2FfGjRukUADf6OauI9bt64PoGtWuHlPvJM1CFZY9ckd5W3ClWTX2NDAUyoQ3kuzXG3yueoYLplia6ta0VBzZ+Tu9L//ZaOf/Djgb5D08/e2S1QOplCSZSEdmQQ9QE0krERH1xMLX0EMM2kkgxIb72UZ2q4uErKXwVgIrf049QOzrh3apRoAstYC0KVdCn3eSXvwPve5HGdqPtJff7n7z9d9uZjXy57+9l7cqxfPPX1HPd9nHPOmjWrDAhhduAWZQSErGaJ2UrkkiiqBTzcj1ICRrrkZ0wRN8kqn5dVTwanykUV7pbKxbKpLXXrVq10Wzasczu3bnYHRD0dPXTANR094nKNx1zXCdlIm/3qaW7SHBKqiXxSAiX5vUvUUqOopb2illYsWeTKy+Yo9AjhWX4L1cBtAqcQ9mKRX7KwF5ZxHIUYIKwLBJs+8NEefozeUDiNqyHCh/JSMKkZIi88l6qfGExpyA4o8RjUmdrpg6uvM2OkSBvCAhRCixNRrgmgYHAgbMf7M6cekMKoQHEuU3S7QjeLjGr6iHCKwYQBYicGCIYXetu4275hrduzfnXJCFE6rtxxb+feaRqqEr4qBiVgkeldZxbx9/PUUgSm/5MHpmJQuphKKgTS97NAMij9LG8VgCkN4+U78NK80jc1bElOjfEZuBHPHN/4d7eF//yJM2Xvf//+aYqNyeH926uP+tEbodaLeVA/fvj23P/reSsrKsoqFy3S7uAoIFQRPwMh3HZaPCubGzkYwmHYwymqxehAPgloASFbKCZdwElu59MhgtAecKLzuCgnJrQCp7WrVrgtAofdstFV79vrGgQyzYT1BE7top46Ce8JmHpQTaKgCO9Zzon7W+Sx1aK4NguMFs8XCJZ7tbRdm7Tu1JY+tBzCvQagCHkBIVr34MbTtX69Ft/yNx5vs5UAE+DAeACITp08meSZvAEi5JgslBdcer0RlLzy6UxMEfm5pBhK7VqE7FdsO4/BRCiN1xwPtVUoN0Ju1ISh9lBIm0J3CzOfkNPD5o1NP3YKGoxiSA1H+SZbowFUBiYs/7t3bEvAtFzAtEMgWL1ji6ssK9nHS8cVOG6vXZWbvr3D/fDeSa3ZwRbOhk1BLBs7kCDslrQcev9C3iqEUlYt5YXurJvD29luDqlK+mhhuxRGhbCKwZSE8czw8Jqfu5TklTA7PHFGZ0ExE4pRHt8bP/Z3c+A9f6a37J3nvqUwouuFH7PxpC6Kjf/dHIJqW9eOEx8JkIsERKqABCwM9KsQNbNQFs1YvQW8Uotnt23dqo1KaW9TX1fnjtTUKKTolkBYjDAYLjwceSipCnk+oNJ1880azkM1cbsQ1SWvsUTzTqKaZFNbu3K527Rujdu5ZVOimo7X1rgTdbWu9VidAqpDAIWCIqxn+afethYF17HqQ26PKK7VArn588rkXGs1zOSdgLt9F/Awe4nfCdf5ceKb/Oyl0NCVn+mlh2UcAwRuNzo8sJF788OYjuRgedv4qM8xBfNDkmOKw3MdHRmwFIOSD9/ltCtGe2gcm7Mi3Tw49Xal4Tzqi7gmra2S6yAHpYW38v7ILa1XMK3TzuBVAmVs+nQvB2D5YzhsAvBMcBodzCompvDuFehjGfdgWuLWyxeMPZvWu6XlpXBe6fiED5upRFeHDJRk82ZD127hAhKFza+KQelCMhE2AVMEpYuppMJuDcXDdjOG7H7mR1IUqKgITnHPOwp7fxsMD4xjJ6+EsYMWSXQ45zN45ktd7oGBw+70wcs/hvr8vZNlgOZ/nftu0u3Cxmt8GK7xd9p14ns+76VmDD/p92LXQ587etsBkiUCH4bomZOOxf23yEZDiAsAASOMAMcbG7VXHN0cgBSth2jjQ388NnlqZ1atWOFEeSXnQh1hgLAFlLhPw3lLsuG83fJN/6Aon9qD+129wKbxSLXCqUXg1AacUE7kmwRIrO6WZv0bKmurPJ9izzUCSIMSo8LpBE6+iMXPXC+WcP5uZgg2cRsEuDN0r6BzOIXBtB0CMBgcCN8xJ4p1Migm7SMXufJ8XilVSgYdD5biYCKnBIAozjUozQQnoEKRK/AY1S7so9qFHfVEh/bmEM7bLqDWIlvybLgNBVb1AlqUDnZvNUGEIYUGpUEDVTQzaiQO6wEpCoJ1PEdLAZgI51Vt2VhSTKXjkz2+XLcqGfTH5qddvqlVOv+4KgzUChDxeaWPrpZSN95HCd1d2v6dNTRkoWRqqQBQMZh+EjZ9USTUYeHC+yAU0TJCnfdOXu35u3rdI6N1js/lcn7Oj0825t555psangOMNg3XIMx7BU5co03RtevDIUgd2e1FwFRRUZFDCRGCWykbOGE4OjeglhYHmFAou2rlSlUXNF4lIU/RKG122KQ9oBq0gSmAYvOmaSubOWpjozYYXaXhP84P4JYCQHkdbm1RmLlKNrU1opYYIb6VjtiYILCR769ytaKagFODwKnJ4CTqqANQACXUkigo4EXroXVyHiBHGGtPMDCQ8McQ4LuAH9a8ESE61BPuO1TT1ghOrJ0GtAAm3527XRUKINIR7ydTMI1EjjwPpq5EKXUGKHWE9ks+l9SZ5IwMXvYYQIRzzlauRd4jnSRCCyeDU1/IMxG+szHz4yHPpMP9tNnrNs2fGZj4nTlPbRQ1k2fKBxN2dH7OH2YYw2nQ1zzxGADH58xnvgLzg0DJ55nWuYo5JTCVjk/oqFs1u+yfp064l785qmpBC2jlG7qOImecuWzwwEO7OwCcWC1dLLc0U/1SkUasM3dseKHA9q0rMyMpwOjntvKNETGYzPTwhBoeCOHRTBYQoxIxO7z4tSH3uHweZxovX17p/t6DZQAJyDBR9z9/Mq3XZyPebbw79/3nm8+EuVWPam7pvbP3ubeevluh+fxX+wquiRAdtTtswigh4AM0ABVAQjUtu+UWVUgk6jVnIpsTCXw25pxsjsBJm5c2BUA1eEDRSRz1RPhL1VMYK6HFnjqBdYWCaHkoxqQwkxoYbM1bSM7Lt/s9hN2waguYDokCAk5HRDnVHQZONQqn5oZ6lxMYddHSqFXUkqg3wn47Nm9UuAElvsUfFPDQvJRRFITjCG/V1frBfzWHD+t7JN/kjRBbfHPXACdVTFyDqKsjYdgeMAA+EwmYJhVME3lg8m2KujLhudjMYN0gTEnparcwnldLbc3N2m+vNXQnL1BNASrAYzQYIAATt0CDv1cLVPkctmzC4LFWQ3nUjlHU3MZYe/JMFs4LjXMNTJkpu0VCetzHczA/7JEvBPlg2rJujSuffW3Z5fp/onSUjose35to1I4GjDO3IX2YATAHsPmzYWpe6b3zhVAqBqY8tZTNKZ3LG1lxiUareTVIOh/pX4JaKoCSb21kK25HFIPJ98F7XHM3v9LGrPdoQ1rmKjHWnXqlB/oPXba8EkXJOtLj1UcVijrSQ4Bs86q45fPwM6ueCaM10nZIfFEASue+Ne62r1o4vaSycrqycvH0TXPnTqNeaKxKDzsUAsYFCl9RS4CJ200bN8o3/A7tAzc6MqKhKw+mbgUT4yra5Ns7KirprN10PAHUMc09VfuR5LKxm8lAc1Br1yRFn+Q9qH9Rx5yGmLa7/TR+lecdxKYtQKLw9giK5fBBd1RUU72ookYF0zEtwmX4H7fH6466Q/KcXdu2uO3a4cB3lTjCFFoayDK4T1QdC4cd96GcgA5mCCC0Pbj0rABXc0wCLeDF+2kOFmt1wY2NJWPfvStvJFNcq62JFDzB8h0ZGrza6UigZeCiGwOKyNSSQulEWPIzAFAwWeNbnYjrWwvFYGIBDv7G+8fsgFVeTSDUZwn4ub9VwM55COf1RappoEAx9XowxSG9MAKeZrvYxXdt36pgWm5gWlLpVi1b8qnvC1k6PiXHd0frtKvDhQdv064ONCslp8E39v9Ss4PPKxWE8BKLeJH8UgKmPLU0A5RilVQUSG+GlUApVUspkF4sslL3np9QG2YqqVoKzVk1RPb1pIiWuq1Hx4+522uWlX3cz/aNh2/PkUfSsN2FJ8Ln+VKkPF/Tz4jPhOvEwk540XJK7z73Lb02oMS13ZE76BZWVKiJAejQSPWoqIUDomb27N6tGy9zk4ARZgduDx86FEY7hLyJTlL1YML67PvAdQicclrX09rSkhn7cFzHPvjcU21NjXYWPxipEt30BURs/LZJWmsiNku+ydeQB6Lpq6waUUFHGFeO6pG/1dfWuONybjbDDtQSDVPltRuOHtHiXDZhwleHBb611X7EuR9D0aChuOMNfn4ScNJx6XJuQpWJfZyQ3mZvhOB3BdO+fWr4oDO6n8s0oDAqCiaziXdn1ZJBpxiYkr8DrgAlimTjlVFNoTlsVxjVDkQAkU36NTChpiimPVC1R+u3Nm/wdvG9u3boZ00tEwaI/DzTQG93Bk5+9EghmLgfoJ2Qz3T7lk1JfsnAVJrRVDo+kYMC2hfO9GsPOOvqQAFtYnYgr1QshBfXLRWA6bW0R957M0MpDt1dtPN3PCMpTy358enfT0ao56/43DwvVku2+fsxFl9xrz9AH7wR9/QX291XP+YYi+fv6s35SbwPqHmBsB3XqV0yrCA5dF/n8wCyXJdN9gWWPJ+ZT2bEIP+3/hZvYti4YYMqHOYiAR7AtK+qym2TjZewHY458kkonrHRUe1koN0MqM0ZHnKDAwOun4LR0GYnaVKa8+4xEvV+5ENzkntSY4QoJzZ/zAb7gwuOZLw65GTDByCACOsyjVxJ1jc11GuLG3IgbJ62auOmrwzvaznhcy2oN3lNYMVzSOpzyznoSMA5UTosQnHAReEp52D8OeE8TBBpXVMKJhTUnl27NA9FTgqooX4MTLH5gc4P3O8La30YL4FOnv2bzy0J3+WBCfC0aojUXzPwKARTiwKlcwYwcWtg4nM4JMqT0OaWUGBLaO/IYYpsG9W40B3nmeJVBEwjEZj4G013G+XfhHOXwFQ6PvHj/t4D0899uSfp6kA4i00Rl5qfIPtCCOG9UiSE98YlOz1kQnjvvFIESkVUUmYUhXX+NjAFxYRa+lmqkgxCmYGBkRLz5z+rz7cJtL9J1NK9vuXQI19SwwM1S6Ig/2YoPTbZWPYLncT7bQ0TaihUXtsXI59PoS6fE58N18h744vAr3/wXQ33AUrs6uS7qKOiP9+Tp1vd3o0r1cRwnE7SskniotPcjygJlBNhNlQUdUY479isUUrU5EwmLjOvlizH1B9qc3TTtaR+CO3lwqgHan1S5VSv+Rw2f16TDR5AET7TIXwCEzZfG33BZstGrBNhZbND1bCxcstjKQrl762yUds3fRbPb5H3Cdx4DCM1bEhfOh/Jz0hKQ44enITzUETYxrfngWmHgUkAWqOKqUFBYmC69dRUYn6gsDWbX+rM5JUsb2Q5omJQ0scQwmOgImAKUNX3EUa85yI4+fyQgcmH8qawrgMmuRZgAzRQnihTdShSmyVfChRMcn5Up+aqcPiFPFMKpu5CxaSqqS/JL3XJNdQdqXab1q9N80tL/FpUMT93Gbeg0lE6sscDA9W+gPbeSe/Ae/puVQ98Y2czZfNn0/yLufAyaumN7JqpL17UUTwfStlc0tm84tdnk0F9yZwkU0sKpbMZKNmgwD/n9dRLweTDeIlaOp+qJa1ZElVCzRKhMgb/3Z3bVfa3fKYCkmmApGFQgR/vBfgq2G14IlBi1Lx8HrwProdc0q++/4BvFitA+skjd4p6u1VnXjGy/dGxY+7o5iWqlFA6nToCvMHVVFdrOKpaIEF4DYu4Fc1iWCCPpB2zJ0PvN22xM+x7v8VwonN2T3emp5vV3aSGCK9O/OZ/VHvNETLDBQeUCK/pqAucfmF4HqEvNkg2X54bLzZon2Np0QWUknqgTg8Av6E3eXBF6sJyNYlqyr82ASTgYSwHeTAL5W2JwbRvn8LVzA+AiXqhW0+d8mAaD2Dq78+E8RIwhRBeW8gRWX6oAEp2veF96DUfT1VTW75qCsYFMz8QwpuaGE/MD8AG1UhoFJWkeTychqJca6sPqWLiPMClGJg8lDyY8uHE7zwesNXIv+u61SvdCtRSgBLdPCorKnKXdycqHaUjHGeaNuWe+mJOE+mEif6HfMOnBY/llT4M9UppCO8iaqlIbimB0i9nhlKx0eZpt2/flcEvr5hQO7FSYsM3ZeRroArrofS1IrWkTjzUUhj8Z063nz7+FTU9+PxSoePtUsePNY/k83LYu3UkfAiBZlo2ve9VEu+f98Z1UDulxovH79Lu5cx6QiHRl49uE9/plY1/zXw1NIyPjSlATohSoDs2QPJQqnYrV6xQKFEAS2gPJQSQpmSTTdQSE1KtKWnSzcCDqS+02ukJdujUEGETXD0IUBiYDQjnAae0g0KTbsoASae2DvgNPYFM2KCtfqfDRrDrhh51PujqCiaDDt3gY0XiN3sLMzZnVVMGml4xmUFjez6YdvtQHorJ5hgZmG47fSoU2I5pHZEaH3o8mLo62gvUUgImg1IeuHIBoi3hOpsDlFmmFFPruAc0qgjX3Li8/kn5dzsFmMgLYlYJYAJCNMjdqfmlne7A3j2ar0MxtfPloCiYovH20Yj7GEzklwijcr5V2sDV1NJitf+Xl5WV/R22pNLxj36cad5UxiwhbOE48NTs8Py9vt3Qa7apBgvzu68UqqVLOfGKQKlQwfjQXTobKVVIBqTfh1vu90WnXikVm2ybmdsUwJS8Via3lI5It2JaoEzITMEk6vGJ0625j/pZvnz3sDc2ZID0QpGc3OsKa64Z+P6bXAOv/9b0N0O47jZVR6i1Z+7odIwYeXCg2n2tabPbv6pc4QNYcNA1ybftWoESMEIlcUvhK1Ci+wKOOQADlE5NAaWJAKWR4mAK4bxENXV1JUWh7bkUApprwkYewEQ4DzARvvNFqh2hM7af9+NzMz4EFtf2xIWncRsea4xqTVJjheJX1gXXZu7BpqZIMTX4wmAFU5WCaUcEpqz5oUoVH++H16HLwlQSypv0XR/kfQxat4cu78Yz4LS3zgCmAK4OfUxLBFB/jSca/cqAydx5IZSHzRt1BIzILwEmLbCVayF3ZLk33I60DdqvFvwqNZMYmDCQkCsyMHHbz1j6njSUZ2AaCWDi/t7OdtfceExU2DbvyFvqocRCMZXAVDou+3GmcVMZw/7Io5C74Fs6PfAsr/T7H02rgrEQ3l/phZeopRm6PBSDkuWU3vZQ+lMCpSLW7ahvnY2gsDHrqpYuAiUPo1fy2hoZBD0ANYQn5+CcVqz6a1FL5HII49HlQcGkcBh3d+d25C71OT51Wy73y+d8x4YESJaP+2XUqkk/l/MKT8wauO1+9eKDOgnX57Sm9N+CkCow+u7IUXdfV5UC6UtHlrtlFXM1d3JyclIVDRsxXRooDPVQOqxhqvmhJRA/E4ZDIU3xrX/CT2OlB5y3iReCiemtSQ+4RDF1JEaInEEgKCbyTBgMzJYNpHQOUOjvZtNXgROgsvNmZhZF84rSAXvplNe+nvx+dGlrH70mbO2RiiP/pQaIkGOqTUJ5O5KmrjOBCVjwGjjwAJKCidBnMBvoZ8N1BOWX9LpD+YX8UAymAkXV7HNLatIgVyaf34mwDE4XBVMI5aGeAAdK6ISAgxwQ9vuqXTv0lpzTMfnCgrNRFRPKCzDpOPsuXf1RXZNCKQYTAw3JL8nzGuQ8W9X4YGG8BEwlq3jpuLwH84OwQNMlmwJSNTvIN3byLHQ+INcBKJIQ3rs/9Mn66Fv/jK2H8qfUGpTy80nmuiN0Zx2+o5lI8fJqyeeVfFeEACVTSaFQ96/RUMEEhAGCGcPDhSd966Fzj3jXG2E8ef8oRnJsajIQFXn/YE3ZTJ+hbyF0n5oasH5bxwa6VXi33fnos3lN7wOOvPb7Lz2kQCJcR2cNLOmizjyMuve5b7Rud185ttbdUXOL27N8rvazw7btodSrqsTaBJFXIlyHGjAoUVzL4wEQUDqZDLzzTjxVTMMxmGw6axTOi/NMHb4jRC5ssIAAZYJlHKWE8QEwert1u+9UIOefCL3dtJVP1JHbJrXGAOpPxpH3RZNee9Nhe9Fsox67phDeMzt7IZiOFgUTLZXSHNPOTCiP8ydgmvJNXMfl87JwZK+pyMiFl4QmW1pCjikO46VqCUXUnDFx+BWDyVST5YYA00gMJvKD1J3J54ESaubLgXw5AUiE3KgNO3LogNaCqeVeQ3lBMV0KTH0eTOSdeGxOroMasw1rVml+KYXSIlpClcBUOi7v8chovfNzlU7qRkzBJl202aj/Q9viPBt1IXjFdw5XtRSDKVp5tvC/JlAqnk/KuO7efC7JJf3eBvWFYX0eTNMKrHwoJSpJgZQdLGj5JRq/8pp/yLOH5zdqJYz3lnwGGB9+IurlgoCJHFOx9kMvnBnMWRcMwoGEFr1CeimEO89HeaQLGv7kGnhPH7z8sI7PIGz68t0jGqp7bKLRfaf3oLu7bYe769g6UUfL3K0HF7vWLRXasZv6o2ZRA4BlQMDR0tzsm6uS06En3MGD2nIHeBHCI7+EVRpFROgOmHnDg88tWVFtrJiGM2BKYZCE8hLreGvSrghnHbklX8C6Ww0WFOQCndGk4aiHoa+V8rmmQVv9/Qqwi61kDHlvT3YYXwKm2H6dBZPZxTOhvG3bAph8v7wYTDyu2cAk13vawIQjD4USufEsv5SqJd/FwcBk+bIZ1VIemFgxmAACpgNCdVi8RwazYKJdEGBBDWGtB0x00GDVHNyvYTxCfG0RmIoppkH68BUB02Bvtz6eScP79+xyq1csS8N4lR5MlSVHXum4nMcD/Ye1GSk5lB8HswPf/KlXop5HreEhhIfq8GopD0z5K88SnnR0mDGfdLYgdBcDyZZXS88ovLimLJS8Qoon3ua/bsaFF0J42qg1nrVEGO/Ze3QIIOFMwmooJqBN3ujezqqyc6KO3jt73/S/htwb5yEfxvvJ5N/i3Jt8Jig2oMprAaQLD35RO2pgNkEd3du5132taZO7s3al++LhJUzCdftWL9DaIyCDHRwIABXCbUABKNUEKLEopKUpK4+nX13tkSP6WJ4DkBK1RPPPsTSMl1VMkfkhDuV1pb3gOkLoCgiwsdJZ4TBQlA0f0wOgQiUAHF7jZDQuYkxfbyiZZwSk4gUU4+mq9nsxOPVGdVapISObu2kKRcAYMVBC+y8BJgqEj4bOD31BMd06NaVgwipOnzq6efswXoc67kwJxc5AH4KLwNTWloT5Wi3UGKB0vKFejQsJmOT+BEzyeLPLo2oAEWCaHBtROJEDMmOCgemwvAcKkClWrqO9kpy/7cTMYBrIgKknAZOG8WhN1daiqmvn1i3aFT6FkgdTeXkpv1Q6LtNxX1fV9NO3t6vTizASdmS6CRDO+s2rjyUhvGTDfeeV0CbnvAdT6E6Qbcya9sC7lPMuP58Uh+4MRoS67GcN4ZFX+mmaU0qhVGTabQylX3goAbS0w8OTvvWQqaUX71co44QD0AYmPhss4+SbfDsmnz/y0H7e/SkJccYdMNKQJtfCe8T6/db0Pe6CKCTyRxhNHhyscd/M7XRfbVjv7qhZ5k7tF/hsnu/WLvHFskCmPNQekVNC9QAONmFUAODBAGFQolaJYX2MrSCkRqhPx4LHIbwISmORWkoG3+WZH/qCJTqrmNq0jglFQhiREKI1c1W1IZsqoT/fzmdUN3RUEz+PR6+rgAqvndyi2oJyM3DF15TAKTFCRGBqaYlqmWIw1adgqqrKC+VtTEJ55JhQfXXyuXIOXsPApMW1KBRCZ2YTpzYpdHBIGrE2Ry2FgpsuNUa0JFb35pBbAkjxmglMahWX1wVMk9SgsYLxAdAQqgNAx2prfGunQwd894wj1drS6W8BE7/3yevyXNpEMVZEw3gBSKxNa9f83ca+lI5/sOMbzVunsRwTQiK5zybMhqx5JdlAfZ7kWVU0ppY0TMZ02RhM/7MYkF7NFM6ayeGPSdFsfujOJsZOJyoJaNjyasnnlQDZf8dQevfSUDKzg4fSc8kQQA3hhXHpwBjoaBhv+m7NL5FrI7T55mN3Bofifdk6JICkRpAitnm1f7+qr4vT7u1nvuXeeOh2VUgUxD4wUO3uJndUv8bdUb3Unaxa6PavZixEGBkh6gjA3HxzuTZcpYuDhsBkUzQokVOiE7Y2Jt2zW2uVmCjL83ft3Kn2acJ0Og58ogiU8tSSgqmIK6+vpycz/M5bvFtVvTGCnJof2vzQDJXu3Ljy+DsAsfwM01/t9T2cUkCpggprLFzPaAGkiqimjEOv3ddWadFvGsYrBNNhLfql80NsFfdNXH2vPBQTHSWADK8zoWA6qeE84Epxq4KJMF5QS7kAnLbmvF53CZha0/yShfFomZQHJdaJ/FBecNJh8QYa5JQMTGp8wN0o/020HG9wJ455MBHCO3rY9xrEsHBJMPVEYAprWF6Lv3Fuzntg7263ZsVyNT0YlBj6uHjhglJ+qXR8/OOuY+ty/zzVrD3waDeEEqBmhzDWr2XjxSHG5g0EUDfqdHvnXABAGOj3nh/w52GU7Xv30UJ3zxdVSQYjclssfuZvhPguCqUiOaU0fBdByfJKIYSnQ/ZefkiBDHhw4xHG+1kAE4vuD/m1SJw347KzGi7NI51XEHPtPM8UEl8EDEhfrlvtbj+81E3sXeD2rlqgha+2lgpg/Fjym7XhKnVJFmajZx0mA+1JR3eFMFl2xbJlCjJ65eEwI68yHJqPWncHyyuZEy9VLTOE8hIwRbmczg4FIwYDwmNWsIrawETANQGBrtD81Fr5WFduU00KpwhQ8fLXFgMzznulYMpa2HOpVVz7+DUmLYm8jb1ew40oJuCZAdPGAKZtHky0TsIoAUR4LQMTjjzrS0f9krrx8otlFUxZm3cMJYOXqSU6XNgiD5SAKSgmwnNq8Q61R6ijcT5XBZOAnGshlKndMBpc07E6d+xIjavVEN5h/dma4BqYuouAaTABk60evUUtdbSckPNUu51bNydhPAMTa/68ebkrvaeVjvT4vwAAAP//7J15kKXnVd4NCcShSIUUEKgkVSSASf6gCsvaRtvMSLP1bN3T2/T0vu/7vi8zPT3Ts/cskpGNJdmWsJG8youEZSHLkg2YwmUSjE2cgFgqRXCAUFmoSqXy5vye932/5fZtWcZ/yKq6X9Vbffsu33fvHen99XPOc855Sx4M+3vuxqx79f2bypsQqqIRKBsoGzSbtUJ45HGCWvo/wVgQIfD/Ejh9NVVIAlJeJe0YuitUSf+BMRMvpkAyMAIAlIkP4X1BICuEUmp0yIzLyLnvYk4pKqUMlMK4dB/C+4SKiAlj4sYDRBgfUJHfeuFJqSgmyMbwHef8v7FjQwZI6tpg1wd+KLCvf+YxwR8gfVJA6ghAOu62eg65hhNeHdF09fAhD6eK8nIBCfNCbU21HHZAAqcc4SqU0mgY30CuhPAdHcTJKdEDj7olGrfS6y42ZxWYrqdqKQFTQShvJ+ND1ipOCA9TQ8wrASI2ea5Lmx/CeKgW8lPAx099jWC6ofdxM/TmA5p+BUgloIpqKgPMS5e2KabsYL48mLxLcDFACUee6qsIe9qGjTkjW1zb3NCg9j1ZxTQbRpFTzMr7i2CKXRYwIZyLbrycWlpIujZkC2NPZ9QSz4lqKQumCKc0lDeXgEmOPPusWLh9ca0P42FOAB50XKfGaH56UiqJsFtUS3RiX7bHvPlhsQBM67lQnuAUfnLfudOrGjlCvqqxrtZVYXqIUDK1dPxImdu16469b/a+VjrewgcD5D51ZcK9/NiGGn/+fsgrUa/E5sxGzabNBp6qk0xdUGHYrGAE+s65pO0q6W8LVBLXRamR8/krgcmrJU1uJc+VhBS/ktYnZe3gRa79v5Ou4YVQej6B0n/5TW94AD70oUMtEbbzUPpgbnR8VJFcJ2m2GoDk80ivyNjAiAwavn7ukUVNuP3waod7YrrWvWf4uHtspt41VTE874iApHHkBiWG6VWa6gEuqB5mGfX29KhwlnAcCoRWQxFKNGVFKZ2srZVbD4WFA4/QHuYENnPfnPV6WFvqDlFMMRUN421uFun44O3YsobbZofZAbOAhtI1NpgS6VW+KTY+BUIRSg8HN+CtAMkIqBRS21XUVtbGXgxM54qAKWt8KACTGsza9xPBpBomRqzbewdQ3BfnMQGNpB2RwPSwrxmy7+tSqF/aUFHtSlKzlICpoP4ormwbpcWglugROBdXAqZpD6b5FEwbBgiKYK9e3AyOPPujA9s9HTTss68YxMgvoY6maIA7OiKVA5gWpj2Y1hYLwXTGXQROQTl51RQWtWXrpxO11NvZ7mooqkUtHfVQKj96mKnEpTBe6fjejo9vDjuZHT58LckroRD+XNbwT6vzAbCIakn95v7ot9P6oCJASIbYFWsr9K0itUlf/0JxINm1AQZKht9jCK9QuSXv47VCIH1FEM2pswjCmFMqhFJw4f3JK88ov4ZN/ltBLbHiQMS/Co1r/5dqub7sZ0+FvBrfA9fifeO0o0sDpoaPbw6FHFKdFNLZruPu1IljMiWQRyozRcQCTuSQUD179+yRamI0BSYCBvRdMWAABnJMGAyiUmK+EvACSOSVUFqoJ+zjbOLXY9fwra2ke3hu0389N96FWLuU7y5O3RKbPgMCUUbMNSIEhrIjlAcUeZzXXg9OPK+Ybsp8kYXTrRupktsGpwLFdC2+v4ySyyqmbA1TND5k80uxhgmnXSGY5MhrqBeYujJgQrUAPIwOGB4eDWBKrOIFYIqmh9iMtRBMWXDxuNSSvadZA8msfno4FQMT4bdz0ZGnGqbLUkuE8QAKha9YuRcAnYFoanQ4A6axAKbZAKYl5Yw2A5guJGBaF4zi4r5zhGztexiz76O1sd5VVxz3auloqpZKYbzS8T0dz6z3yuxAriPmlVAHMYSHCcArlC9oQ/+7CKb/XKznXFyFTVF3cNzlwnZ5ILGhEz7k+ix+/2uF8H7Dmy/+8NU0zxXAlL6HAKQsEP9jJnSXTKP1Y9JlC1dOKYTvEqUUoPTCk1I73wxqyRfMftb9d3u9dwO+EuZP+esDzL/62gs6B9/pS+8944D/ry61uiemamVq+OBii2tqaHA11VVy1gEiVBGLMB45JB7bu2e3fm+ot02ypUU974AEtmxySr5DeL9MBtQpAYN9Dz3oHtq7V3OVeA3wQuXIREC+ZuvajlDK5pdyYMqG8DbiOAefVyKER3cHcl7U+rS3troaU2lMxUW9UbuEcgGMDydQupXC6eZN3U9IL8IpC6hixgi9v8upYsoW/KajzKPxoaDFTwRTmMdEcS1znwjXZcHUFMEUGp4CL0Jt59SO6LKA9Cg1TLGYNWN8iOG5rFoqCqbM43RnkFqik7otfr4umOz1KJxLAUw3DUw3rlxKwnioGnJI8wY5YDRJGA8wMQ7Efl+0c0ox2bXXgVwEE/3ygmq6tOGXQnv2O4+fWfJqqb+709VVVwa1dFir3P5bPX64FMYrHd/D8eR800vP3ZxTN+qYV/pWJoRH+ImNO8IgNkRNx0bkR0akoyMKFVLa5y5rAf/br8c8UhEg/e5z2vyxbAMmr5Ze1Ou8+eLLoUP4V9ImrAkMC0KGMVz4B3mVhBrjOqjCxOjw6kfdayGnlA3ffeP5J4KS/JAUVVSRCil+4+XERMF5/+zVj8lKzngQbN9PGZAen6xx7zUgXe855Lqb67Rp+4mxRxS2A0j8JHSHSmLMOaE4HgdKLc3NUiQUzxKqok7Jz1PqdX29vRpfDsiAEjAj7Ed+h/lBbNIAhg09C6UbW1u5/M2ONvECwwNq6ey6VyOyhi94azjKCLt1PdbhyhNy4wEq7Oy8Th0mDEKPyPRwK/zMQOlmZt3Ihvcy+aYcmPKuvDyY0jBe1iZeaBVnoi2DBFFDhB87wxBDwniEItsimHp7NJ5cXR9oR3Q19MnDKr61FYwPaX4phueyUPJAScGUqCUeR9kEtaQRH5q2G+DETCnAxFwpA0kEE8YG+tQRtkMlRbWEOYEwHsBZnJlyc5PjbnpsRGBCNXEbxQSYVgSmuQCmFQPPmkJ1wOkicApAunjWw2qDLhIGyLHBftfe1JBRS4cVwkMtHT6wvxTGKx1/v4MeeEyhJa9Euxsakn4zbLwk/FEP3zZAsNHKkv2Nl7fNNNICAHGF+/6usHNDFkg5Y0MeSFzvLwOQgCKL24TZ/ub3Pi+QxfqpwllKWXVUaD1Pr5tXSdl8EmHLWKtE6C2G7lJr+OMCE+BiBtJ/C99NXADuz7/0cRkbaOH06atT7leX2wQkckiYGqYHOhWKa7CNmyJXlFBUSUCJ0B1A8qrnISmpRsaNt7UJMAAB5YLRAaVErokwHf3uAAHuuz27H9D5qiorZRXHJcdrGF1RVC0VmB4StXQ5r5YuZNSSQninYwhvURs8bkCuR0FqZUWF2h0BS1SU1BJWZoOMwBQUk1x5KI4Ap7hyYb2Yb0rCeVczhbjb7eK+eWo0ZIQO5Uvbm6IuhAm2WMXHw3TdnlDD5I0P9RpBngUTYyOWIpjsO8L0gFVcxgdUSiaMF8N3WqG9UAQKKmktq6Z4HGUT1BKWdBZwYiIv9wEsnHUooHgeQnUooyty5F2UWrrG92AwURjPALJASNDUzRQj6QvBNBPBNO/OrnjFdB4wSTWd9mACSOt+nQf0SwtSSwMG8VM1Va6qPK+Wjh0+VMovlY6/38H475hXon6GcBObL5vxa198JlFLwMLndGIPujgF9kuJEsougSiZKOtVynan3faQnQfSZxVOw5YOLNj8eQ9s+LGLwv/I5rgKJs7uaKjIAClx3VE4i0r6rWfdn0eV9HJw3r34VAIkFCQjPmgN5Ed9/KqgjWLiPfrX+xEUPPe3nrricDZianh8CiAdc1vdh9zSxKDyQJ3t7a6+zqBUXq58kofSQakbQIXiqa2pEbBQTRgHOjs6FKo7YyBgrhLqBKVE2I4F6ABahNL+ffuUrwJWKCw1SrUNHKOE8ktbGaVUAKadQnjZLg9JN4XVVXVSQHlMjo8rv8WAPfJbfBbeO3VB2LIBKjB5OOSUklDew1nVVACnbYpp6zuCKendh/Eh04qoEEzJaPXpaQEAq7jaETG91r63GMaLYOJ+unLHMeQoI4wPgIl1PeSXFMbDjRfNDHFcRejisBSAEkN8q1FNBbWkoYhAaXxMi7qjCCeBadqDacXOs0Z3drsWuaCrF7xVHLV0hTou/n0MICiiOc5n4J0wtTeJVZwaJqYF2zkjmE4vRjCtGHxWpZoEpvUIpdM6J89ZsteMDvS5jubGomqJMRdl+/evvdl7XOl4Cx7PrPe5zz28qBAevd4IO/1hTi09KzWRNRtoAJ+mwb6SjCnPrzjaPN9sNbrs/gYgmer566/5EFo2XAeAABEqjcalLG57tfTruRAeSigqtjwQiymzQiA951sMEbZLrODPBCClNUoM3aOjA0YQZh0xgA+nIuCmruuPvxBbE31Az/lNAxId2J8+3a0ckhSSAenM7Jg2QcJE5C0IraEm1LkBk4OpJApmgRBAYlOnQwOgYWPHyECojkargIFaJSbPAivUCPCheJaQ3+4H7hecODdzmHDpratR6gWBBuhcD4ppR6VU2En8QtpQNdYGFQvh+ZZDnQpP8t75HCgPaplkEWdOkMJ4N/JgSsJ5aUgvBdP1HJjy3SEKwJQxPmxu5PvUZY0PSwXGBz+Kw1vFs8W1LSGMlwUTOSZMEgAFCNHy5928V4wPoVkqYTyZHrheABILNQR4lrNgUphvfrtaMiDRKghLdwQUxgVcdVkwYQPHso3JAZV043Kqlgi3rfAZM2ppgsLa4UHdnjbVNG9gWioGJvJMp1PVxE9AxWOE/HhtX6f9gVWolo56tXSyutLtvf/+vW/2Hlc63mIHnR1ozvryY2flwsupJVMNKAjUAJu4NxykHRbiAD71rgM+yXo5gOjlfJPVHdXRc4k6ijBitAOwYHlF8umCUOIXE7WWVWUpjL64PW/1tZ2AlJobskBC9VD0yndCzg0nHfZ5+gUCIFTT1z/9Pj8Lye6j5ut5AxK97N4/U6c+duSQzi1OaVNk44tmAKB0QlA6Ihu4rODHjkolYe0GTEAJEwRQoo0P4TryM1jDUR2EyyKQyDn5PNQ+d/999ymvBOiAHK/FJAHMAAyw2QqKqRiUCmuWLoe+dIUuPEEpWMN9CG9GTWK5XmtLsz4LarDR1AahL0KOQGJLXSauFzE+3MqsjAmiwAiRyzMVgGlbcW3SvLUYmLLGBwPTFDVMY8odqbg2GB+UXzpVZ3CqS8A0aODiuadtAydsF8F0KxgfLoQwnkwPXCszqgIoRTCpyDZASbklil9nQ25JamlUBbCCUwBUMTDhoiO0dlnGh023ZarxigpfT7v15UVTS5OmlsYEEqAUF3BKwBRyTGcICwYwKZwXwASQUFDACsMDYcHhvh7XlnPiBbVEEbhKGg6Uwnil47s7PjBd9xIFnS8+uqoCT6kl24i/+fz7pQDYrBnXnagVA4OvHfq8FA8bPpDQCoP54u++ZVBQRjvCiBBaVEfPCkCAgtwMTjgWYARU/zWrlr6eqrX/+c0URIUjMLypIZNDIjwYjQ07AOkbEUhBHQEc2jHhUmQiLPkibn/lw1u6n++NEOhntqbd0+s97v2zp2T7vtFb5s4vTWtjZDOkYzVqp62lxZ06eTIxOhC2O1LmC2aBEbkYFrfJKykEZjCjx92UneN8mEeEMkEpNTY0aOPn+bsfeMDdd++9CuEd2L8/CeHhggMiF+MQvgyYEhh9RxfeZi6vdDa091mTmWBJITq58Ab6BUvAy/VP2vviPZATAwiJRfzGjZBfSt14j+TUU7FwXnDo7QCmpIaJERiMxjhXBEzLWav4XFrDFEJnk8GR16fJrq0CEfmlBvs8haE8wIQiYrzEzQgmhgPa97UZwngyPYS2QlJKNGENxgWBaWE+WRTKArBCtUQfuyycBKbJFEyrdp51AwnwwOiwZWC6duG83HOABGUDeHDfTdl/R+M0bbUVwTRj516w86GYVu36Z5YW3AZgou9eDOed9lDid6AFwHhtT7v9kZVx4pUrt1QmtVRVUW7/bZe6iZeO7+Igr8Rf9s/fnHdffHxDmywbMZsyVmjCeH/yykcEBsAk4wGqKYHTCx5Q/z6/uM+vWHe0gzIiJ5OFkV0HUPzpKx/VdVnkesjZ8FzCfN4R+KKfTJtMq/1CAkRAmKiyoI6+nZgaPu2V2JeLhOw+Z0B67gkpIIDE8D1GxgtGpoLoqg68X3x0TT9f+pUzuk247tnL42quyugJXHZ0+t4Y70pCOWyChId6u7tda7MP32FMwG2HImIBKWB0qq5OtUmYHYCMh1K/lBGbfqwVYpwFtmtCdKgrzodCuveee/Q6nHgK4dn5UFl00gZo2Mp9fikYH64VV0rFQngRSkkRbWiGijU8zlgaVYPYLikMWh/xucjNYIKYyRTUck1vfLhRBErpyoGpUDEV5pjkGLwYrOLnZdW+kBt3EcGUjilfzMw4mo+OPPoK0lOQfB0dH5RfOlUETN3KR9Gb7mpolqoeeVtXBSq58YLpIaogYDQfimULwQSUYhjPq6UUSpOh3gg4eTCNZcA07c0Kq8vK/5BTAkz8JCcERJZx942nammM2Uu2JgxOk/Y74T3UD2Bas/e6bu95g/EZds4YzmMBKu4DdLxmsLvTtZqKrI5dHgKUjhuUDh/crxDo3r2lMF7p+C6Op5ZatKmy0aIC2IjJnZBPYaMWmGzzRrUQVkvgZJs8kGDDl5W7cH3Vw+Dbv5t31GVzRgrTfTkoowgjuxahQ9QLjUwxXQAmngvIvi0gvpDpIr69Z94288TvfCZc85PbTQ2ffyoA6XEBic/+1Y/cUgd1VNAXnzgnJUTu7bPXZx2ORa2rk7J8f5TBfMttaq4qIJlCOjfeGcZPn1XtCmEaNjpMCRFKhNZQEqglFr9zP5ZqoEQ+5oH773PNTU1SWACJTR8QAIXVlRUpKH+uKjvXcQ35u/uuO/W6B/fuUQgPWHWZosLwAMzIDV0Oasnnl/KW8B2VUra7Q3DgxU0+mbEUGsWSlyGXBGT5jHW1Xi1R77MUCmq5Dg5AKabXgVIKp0LzQz6/xDA+RppnwXSpEEzr6UjzBEyLeTDlHHm0cOrscO2t1C/5/FJ9XW3qyqMlkf2bJmBCMQEmWhFlxpcT5lsJ3RsilOZCkSygWlYDVg8k+td504NXSxFKzEiiyWosho1gmrfnqO5olpzQgro0YOO+unlO67J9bhTOmcX5oJZGpHAA0lh/r36imrhPYLLnLAMmrOIC01JQTR5O/OT3dZkoJt2onaOzpcmdrKwIaqnMQwm1RDH4saP2719dCuOVjjd+PD5Z89JHzw1ILTGSG2VA3oRcCfklNmws0mziQAOAeDg9K8D8RbBuE17LrXD/X2wzL2RUETbsV4MqysBIdUJ2TRa3X3v5GUGL1wtMIcfl2xGlSiyCqNA44QEYimOxfdt1vO37KZkU/uCzj8vkAZAIYf72h6+5LxugscsD6+dvzrlPGYRwKzIdFnX59JkedWn44EKTXHZJyG6iU6GbTUInoW6FDY9NrqerS/U7qBdyLpgB2LRZ5IQAUoMpHw+mWuWcCMuRp6GXHZs+XRoAA1ACVjwPpxvdH1BHt992m0Hp/iSER64KtYXzj1Cb1NKFC2l+KaOQsh27r71ey6FoIohdw7Efk2ewTZVQoa9Z6tR1gSKLEGMsqAVkl4LpAbB8J7WkFRVTgSMvq5aKgulCDOVFMKWzkHLtfrJgsk0e0OC0I3+EKmproX6pXvmlevvO+aleeYy9yICJHBNgeqRgfHk0PeSgFOqQFoPNOwslmR5QS4TwUEr2XiaCrTvCKVq7MTLEgljyPeSCLgEmXJf0r1s/LZCsYOrAOIHhwUA02tcjqIwNeDhNMbU2gslgeTqA6ezyYgqmCCW7jxAehonejjbXpAm1R90JDA9HypIQHrkl1FLZwf1rb/ZeVzreIse7h47t5S991NILjyyp6BOLOJszYKLuho0bReEB8bTqeXy+5xMCVHTKaf32s/nfBaGgiN4AiAilAQvMFizs2bpuUGvR+AD4/jKzIggLIRhzVL4w9hn3R0kX8CeVOwO8jJXA0BDzRyhGwnW0CEIdoYiAESE6vqunFpvdB+cbpY7eN17pHh0+5m70GZDGO1Rpr0VdB00yTUUs0KtueEiKhQ7eqBvCc4S2yCXxkxBcQ+gdx0+eA5RYEUp0T2DCKrkhgEBID1UF1LCWA6I7br9deSVceEBK/fNqahQ+4/V0Y0CpxDCeYFQIpZ3GWYTuCdnmrHFsRAzh0Y0bANP/DgdbXW1GLbUEtcQgPTuHb4HkweRzTHF5CO0Uyiumlm5cKwRTQQ1TTjHtDKbUKu6ND9QmDUTjQya/dMo+jwdTg4GpRWCasc0cAF25uJlMib1+5ZJGQ9CFAUOD794wmUBpJtQhCUzBpeeXV1XKLUktDavz9wSzkmLNkcFpJiqmACbcdgADdUROCcMDgIpqaZEuD3YuQnYopRHAZCuqJoAVwbRiYOI1gMnDacmH9KSUFr36smsP9XS5dgN2TcVxV0kIL0DpuGqWDkotEQYtufFKxxs+GDT3zNleJes/b8qAUekCE4rJ1AMuMwwAGAGABpBAbQAV1NOfvvqxxJjwZzIppEYFheUMCD409xGB4Y+LgOg/BRBxjT9Ud26/UGrfCkBMw4if2AGCBQB81RfEvpa0DvqQrsP5yR/lDA1P39BnxsxAvghA830wpRdlBIwAEXkjD6MqtQ169+ARFcauDjSpWSbV9NmfbHrkKkaDemC8g4dSjRQEzVcJv3EfaoIFlMgV8Rx62TGcbnxsTFBZkVI67zbOnlU4j44P2MHpKk7Y7u677nL37NoltUQID1gBPsKGuONQNQCFnAtutWh6KAzbRSDF4X/5AtVzuSF7MYRHKCzXObyzQ58nq5Zo6UN4DJABORQZMKEGCQODnHnFAHUzqqWbBVbxYmC6onZA28C06RVT4fTYomAKxofEkWdQT/JL/PtgSLE/LBpPnZQS4LG+7k5BRGAKrryHmV9l7wP1fIbcTlBLOOhmY/eGCT9eIo6sAEhas77jt3JLAUrjOOcMTNyONUeAaS6ASWYFU1uoGxxzlw1MrKiWVu28s5gmCOEN9glII73dAUw9UlAzox5MAGxVjrx5hetYnJfFbe7HtQfMukxJyh5+/EgSwisPIbzDB3xu6djhslIYr3S8sePRkWNr5JY+dn5IyoAE/itPnFMoj82aTRtXHqoJdRFBEcNryv8YaF5L1jNhPR0AVBCWezFVRCgWzgeAODewIL9DSI3F7zwWwfRaAGEKQQ++HPxeSeGXgC/kjqI6+v1PhfxRxtAAjMkf/frDi8obfWxzyP3a6W5TRi1y1TFy4n0TwKhCRbG3TB1d6TroWo7c7wbtr2lavxDTPxsW46TZ7GZVwzOoVjYoJYXnsH5XVyfFskDIO+kaEjDxHBQPbjZUkZTS4qKs2JgOUCZ0eyAMmEDpzjvdXXfeIWv4ngd8Ia1v7Frr7eHz83o9agfVw4Yd80vJgL0CKBV25k6gdHb7mHQ29ZmpKbntUGfYw8mPVRw/rs+DWhoO9nbyO5x3K9ROaVJtUTAVX1knXgzj3YgzmXYC0/ntYMrOYcqOK58rcOT1GnTa6Y8nm7hXS4AJ5dRiSqHDHus36GbBhFqKjjwaqa5pvETqsEsLZUelnujwDYziYsDeXFRLqjMa9GAaGgxwGhSwIpgSs8LCnCB0IYDp0tkzbjOopSVAZ+CZHOqXQho2pTPS25XAyYNpWGBamp5wa4DJzhfhlECJsRr2flWz1NHmmk/VGpR8CK88q5YOHZBaIgy6f29phHrpeIMHG+6HVzs1YuG5G3PKpeDII9mP/ZlaHTZxci/AKcJCgDKwsOlL8YQVwROXQnIvRCWUgdDzEUKP6by/b6oMYMSFSgNOWTABuNcyECwEXy4UqKaqEUbezBDrj1CC1GfJ0PD4OcGY3Nqnrkw68myE655caHJPzNS5x4DRWIUKYhldfr33kLvcedB1VRkM7r3HtdpGtSoHFJbZZTmh/OC1OfUxo40NveGofQE6KCNCdmzYUSURugNK/GTFEB6hPoplUUbUHK2u+FlFwID7ARtdIQjfoZTuuP1dghJqiUJa1BJ5J8wGE7YB8npgApiADNDZBqUcmIoppWxeKY4kX9KmTs3ShCk76rIAamPo9VdDh4qMWqKglnoizh/BBFyiCvqOYIpuvAK1tCOYLmw3P2THmmc7d2fzS/z7TWSMDz6Mhxuv1sBUbWCq0m1Ce+2mGASmKQ8mzA+P8P7s/dAwlfuoTfIOuzyUWOSRFjXob1quOm7T2Xs2dmUIamk8qTca9MWwBWDCbUcxLDkgVBJQAlDnDFRAZk5qaUAqBxgN93QmcAJMcuQFMC3b9dfs+yDHdEZ5Jq+a+J1zLUyOueFeH8I7eaI8A6VDSQiv7MA+qcvqyoqSWiodb+x4dKR87QNz9epGwHRUFBM5FXIrdHxgLhCqCWUhOD373gQYAIpNn955MeyWXd8sooIAEK9XCx8DHaAglPZ7n3hU5/frUbvvPfb4rwhaAhMABHrBCJGE/7aBz3f35ppSRhFGGXXEZyJc97LyR6uCMbm1j5zt8yaGuQavjsZPaErsuwePSh3RpWG59bBrqDyiDffg/n3usP1PxwZCvYhfy6q2J3FNCEgtbGxDQznQJRy1BHS8445cUqOcdkAJNRUVFa48OjVgHsCBhzpiM/dFtBsyDnA+Cm0J1+26+25BCWu4Cml379brsYdzLXI9KC7UAUoH4wL5IgCUnfSaH0W+fRx5OvU1ONqyhoe5OdVRkUdDLQFickqAiRot4DhsMCV3g1GC815VfuuKwOJzTNfzcIorA6QUSlEtXcuppetXC7o+8DnsWhFMqKXzakdUHEzRJl7M+ODDeHWJWjppfxg0nKwVrNoZDd+TKiY6eaOYbgZHXvxjRTmjACVcdnFSrAfTlIeT1pRcdjPqyjDs1RK1RkUKYWcDmAi9xZyQwMS4C/ra2ftZp4MEgwBHBqWKxgxCw6YCh7o79BM4EcqbsvOiqBbsfCuoL/67mfdw4hz8JLyHW4/zdBuQG2qr0rySAYl1zKCEPZzx6eTmDu4vjbgoHW/wYAAdeROcZeRSyKl87pElhbQIbX35yctypmEIIKTHBu+h8V7f4eAz7wvrscx6X9o/zp4HzIDD733SwwfFwuJ8wIL1ux+5pcXt2N5HEAzhw6jQFPaLqssAFMEXoYfqEvDsWr4zw8PqysBniOE65Y/evew+uzXjPnlpNOSPWh15tscmq4M6OiZ1xOhywnVLrUcTswL252rbbO+56079RcvYgLiAEhsPll6ex3iEVnUJaAx5ozrVJaGScOXRmYHbAInb5ItQUsAGOzkOOjnw6Da9umpgOCfAoEaOmaKi2BYYYXYATvffd6/bnVFLQIHwGbklrNmABDD5MN7FFEaX8ivJKRXpyB3VUhrCW1IIjw4WE2FUOm17+FwA9qR9Z9QwEcrEEMFzMUwojBjAlJgfrl8vgNP2lRbUbm0H09W8WroaPkcE04XXAdNyJowX80vTMj4MJsaHNIxnaoluHNWVrt7+vZrU/aExF8ojr0R+iYF81K/RG48w3tzUZNK5YTKZfVQIpilTP5PqYYcamlQB7EBSBMvtHJhQXALTpKCxbv/W56lhAkrkO4NaAjaAZxzDg4FosKvdDXV1JHDifoFpZEhqyINpRktwssVt7gde/R32nZwyNYQ1vABKhPDK7I83lCYgf7P3utLxFjmu95WtsRETsnr6TLcs0NTjPH9rXuE8FAXKInY0AE4RHF/7eKpuBJy4PhHh88s5+Hjw3NQ5UGB0Kv8Ky84bF/fxGM/ldb69z/ukfP4AxZXknh7LgS9Cj2vyOl4PjDgn/elQfti9f+M9a6o/In/EZ+UzK380U6fcEXVHvzwU1FHPIXep84Cb6TwpCJAf4Sf5EazCd77rNjds4KFWZC0MY+MnUOIvbAbGdcla3CLooG4a6+uTsB1QAljAKkKJ+wnxMR+JOUVs8HSGIB+D2y3WKw0NDCiEx5A/8kp33nG7FlCKbYfILUW1RG6JEBvhNoXxNmIY72Iuj5Tefh21VDAqIobwMAvwXsktMQAw9vyrrqzUZ6SOCVBjiiAXBeAIrwlMTMu9di0xMdwqAqhtq5haupo1PaQ98q4EMOXzS+vFjQ8FYTwUzaht1BgfsIMrjBdMD0CptuqEINVkf3C0NTVq9hDNVMknoZRu8b5oRWQg5L+PRTnsxpMpsYCJ5R11k3LUCUr2Bw9qaXYiWwDbnwFTv9TK1DYwebPC2SUPpk0KYQkt09poZtLNGkwmBnrdaG+3gDTY2WYLOLUbqFIwEcpbxJGHkYJi3QCmCKX5iVEprHb7Pk5WlrsTAUqE744DJdTSgX36fvjeSg1bS8cbPkwVvMS4hScXmt2vne5SboWQFuG8Fx5Z1uA68i++3c4VqQ7BI/SFiyontwCPPf47ET606LHXYb/G8cZ5AB1KjPxOXNzH416d+dAhoAFOgKdQeX3tEyn4PIhu6npeGV3Re/bqaF2hSZ8/mnAfOz+Y5o+CzZvedV4dlbmrpo6u9ZS56cEuhdHohA042HQxMFDDcrdBgDHR6t5sm9lpNducV0IbW7H6qSW96pqklmLuyAOpRVBCPfHTX6NJSgp3HiqIuqSxkRGfW5qf92rJgDJmyofwH3mlvaaq7rrzTne7QfLee3a5+4M9XGrpQFRL3okH3BTGM6hsqn5p02/aBcsDya/UGn4uN1iPvFLsL7ccDA8YBaSW+vu9Hd4+a63BkxBeHKIH1Hker6WJqkJ5IcekUJ7WVgKoHKRyy99fDEoRTFu55q2bufzS6zryghtvbtr3pEP5jhgQ+kwJdbQ2p2E8TCu26dZWGphw5hmEsYwDJhQRDjyUEmC6dumCSgfilFhfj+SBFOuQEjChmICSASavlvpDZ4YdwGTqCzAtKSeUgol1zpQ89y3a45ODfW6sr1vqCCgNdLQlcAJMQGt6eEB5qKUpDyavmqYFKG4DrAlceKYQG2oq3YmjAUoGo+OHD0otHTm43504fkxqiejCm73XlY63yHG+bf9e3GUUhBLKYwQDORbCecwIYiNnQ2djp9sBqsMD5IpyNIDGrwAdgedqBjwGnA9eEiBQXbTwARQsYJdd3MfjOQA+fT0J7X0V1ZVRXoKQgY9uDDwXoAE63uMX7VxqFRTUka8/GlX90YfsM36A/JHBmHDdo6aOHu4/rIaql00drXVWCATkb7A6o5DIlVCTw6bKX34P7n7A7bn/Xo0DAEinNcBtTn9hMxbBQ6lDDVlbNeHUg4kFqNrsflRUhFJHe7tA5dsI1QgqgJAuDpgV6NBAfgkgENIjvEdnCGqTgBFQ2nX3Xe6+e++RYvJqKeSW7C97Wh6R91EYz4DAeWJ+KQuhyxmVlEDpQh5KhSG8rFqampgQuDE3ULfE5wNMAIrfUZB8P/SgIzcV4Xj1UppjysFpy4MnhVO6CpVSmlu6krOJX82opUsZmzhhvGJgWoodvGMYz8BAh4Vh+7fo7fLGB4XxolqqrLA/UCoEKQwQjA/vs38f/kBBIW1dvigwMW4iji8HON5hNxzWUAKmhaCYMDDw35cKYDWKwrcLii2DxjOtgwQmO0cCJnstymaDGiYKYcl72n+fK9NeLY339yiEN2Qg6m83FdvhF3Aa7e1KwDQ/7sFETiqqJm6zCPP122uaT9a46uNHUiiVHUxDeKaWooW+VFBbOt7wca2rbC81OGzSbNbkWDBASDVdGnOf2ZpRz7cX3r0i5USX8QiRVwwirxasVwJ4PGw2FDoDEF8wsJHT4RzkrbTeE5bd5n66TPB8Xv+lD1xM1ZNBD+dcDPXxe4Qf4PtSAB7X5DoK1T2yJDPDp0N3BhqoUn+E3fuxiWqF66g7oncd6uhSxwG32Nsg+AABNnHmGDETaVYjtae04RKK4i9AQnjYgmkpsxbyEmxivvN0rzo68NpELRlkpIoMSCgj7pcRwGDkO4C3hrxSrWzf9MgDPtH0AIxw0lHzw33kuAjhoYwI3/lC2nuSYlpGpUstVVTo+hgRUCnkgQi/YVzw9UsXdlzZ8J2HUphdFFx4iVpaXExyS+SOgGksHiavROcKZhaRZ8MEMmmgxZK9kQPTRamdG8Eunl3FFFQxKCVwyqilHJgK1FJR40Ocd5QZLYF5Zdy+vyFTrz2d3vjgw3heLQElumcDqQbbpFsaTkkx0T5IYLp0UaqJkeZ+fHkaxovFsaih6QyYWLQKwsiAoYFuClEtJYsODbY8mAZSMAUX3ZkFDyaU0obUkv1xM2kqjfMYfIa72t2AQam/rcXg1KLbgCqCaWZk0C1gFcfhh5lixgMJpYSSwsXXVn/S1dpn91A6YEA6kECJmiVvD29zlfbf9Ju915WOt9BBfonWOWzWFIw+udgsRYEJgnAXXQ5QTmzy1PVgFsDBxuYfgRJXhA0qhdwUz0Nt8RpCgsCi2PLnXJFVO4FfBB/QoWu3gepL4fYrAUIeeuu6JtdKYHRtKtedgc/0xHSdwnXvDeG6qI7Ot+1zE30dGj0+PzsrAOivfkJxzDayjRz1xO+4scgp7LrzDnfAlAogirZibsfJpqgTHHgdYSxCWwjTdbS1CULcTz0RCskP72tP65rsftoG8RgqTV3DQ+shVA7vE8BhaPAuvLuklu7ZdXdw4t0rJ15s1Ir64hrkdFA0gIRC2PMqrN30rYgKYBRXCqVoDc+48MK0V/JEUkuzvpjWq6VuqaMG1WnVyB7Od4CKApB8Vwzj4zx0+M6F8hLApMC5mcApv3aG0s5qKQcmA2wCJsaWZ/NLwY1HGI/80ph9LmrU2GSpVcLoENUSUKoqP+ZOGqS4v7m+zg3avx12782zZzT76Lq9D3rVrZpqiWG8LJQmQihuLoCJvJKgZGAo7GNXuASmoQG57MgJASbUDQppY2lBYIpqaQ611Gf/XXV3uEFTO31tzVr9LIMTOSagNWnXmsX4MDEqEAlOAUqcnxxUV3ODO1VV4SoOH/RQOuTBJCgd3C+1RG0XNV+l3FLp+K6O6z1lazjP2LSxRmMZxwjg4dStzf3jm0Pa6Kntwa1HWIwQH7OFfr3I0mM35wQJJrTy/M9enylY/n6ew/Mj9ACagGfqCvWTXdzHY4APkAEi3gPnoW8dIzpQerzvD620+XDdFOG6EwrXYWa41n3QXTR1hLsOU8HE+LgUEbmXOdtcUSfDQ0O6j7zJTCiKJTRHjcqe++9z9xgMqPhHgcxJTU0qPEXYj8Q+G3BXGM4XQcSK96VQ6lJHBG6jlgjjUXfEHCYghvLCREBIkRohimr7+/rU0gfwoJBuf9e71KCVcB6/xy4PNG49EQYIDsk8MeFzVKpfSpVKbjEOYjP+9FACHNkQXqHhITY7TdRSGKBH6A4oAaesWiL/FAGZ5LnsWl4xXfE5omvp2glMWXBloXQ9A6UdwWSfZTOE8QSmbH4phPF8RwYfxiO/NMq/LUaWYHzA6HCyqlI5xkqDEmDK5pkimC4YmG7yfi5uauzEynwM4434dkIUx1IkC1gimOzfah6VPD4WwnjB9BBANNrv2wYlHRoMIhTJTtNwNdi71+zaHkzzbmNxXr8vGmRQS6OmdIY62wSj3pZG19va5PpsAaZhgalbz5sbDWBSaHBcaovQ3oxdp89UViPWcGYrCUr7BSagdCRAyRseWlyVfUdv9j5XOt5ixzUDE/U55JkoIMUIgF0aUwBhvQ9HQJ3tcx87N6iwGADAHIGJAFgRLmN9Ki7dP6Hn7LR4nNd8xtQNoJIiM8hEBZVbQVl56M0l3bw5D+8nhVG7DByoo8eCu45wHWYGrN4Uw461VEoJEQ4jXAeQWFiv+Z0u2ISmcL8BBAHHNnZi5McOlwlK1C0x+gAgTYdRCCgBnse5UTpYomk7JDiZIuqy20AIBYPiwbFGA1M6NmB4wMhAzoi2Q6gnXkf7IWziQJJ8Du8NY0QM4WF4QCl5teRNDxTYkp+iywMdJQAC3SIABxAhFIjqAToa/7DDiuG7naAUu3CjlqhHmjLAD6srQpfUUb1tzoCJOi9MD1JL9p3znfGaxICxkYJpK+SGklUAnqIK6dp2s0MxKBHGE5gK8ksbO+aX0plH5JcwPmAB78T4gNWfMJ6BqLqiXCMd6KCNeqozFdVYV+sG7LmLIZSHWiK/RCNVun378eXDAUiDST2SB9N4EsKjsFUtgwjjSS0FINGZISxqkAi7TQ72KyeEylmajGCadWcX59wZHHTkq4Ja8iG8FkGpx1SP4GRrQGDqkClieggwDbsFA1GE0zwNYu38uPha6mpcTflRQemogejoobh8CI+aJdQl+ThTS3vf7H2udLzFjis9B9dI/BPiwgjAho5ywjqN4gBQTy21atP/tbUuhfiAFGMdABXhPloYbV+DRdaQ1NfHLwyruwQq7NnLEwoVkstKFVRGbdn9TNAFYgLRBQ8iao7URNXem+9bVxdqj06oiSqfaSuE61baj7mupjol3lFJuNMIjWEmmJ+b01IeadoDIColFACFoGyqtfbX8V7b9B+4715tuMqVhJETgIlx4V4x9XnoAKYuD6O4yB8JSqa+eA7wQS01hdomYEO/PEDF8/0AwGFTFyv2/mZ0HyE88kfA6F233Rb64fkwHpZxTA+AC1UFFFAwvD/gAUjICwGZTbUiOrfj2kw2cG+p3jiTgVI2hGdAnwkAp8YHEBK6w3DB4nZUSzgVUW4JmFBudo0ETOrVd2WbciqEUbKKOPAilGj9sw1MMYx31nd5x8p9lvY89nnWVFjrJ8TG0eU0VCWMR34J40OfbcgUzwIeAERuqcpUKXOGgBPqKYKp3/7tAdMlRpmH+Ud0A+G+Wdx4YXz5RKaDwwztpgATUApgShus9iS97DAtxAVECKvhsgMmHkzjBqYpd2Z+xq1j7bZrLhlcpg1eSQjPFFJ3U73rYTXXp2CyxyfsWtN2TcAEjABThBLX62g85eoqy1MohXUkrNjhge/q+NHDpS4PpeO7O97+02/b2370l15iVhDK4j0BToT12OQpuvWA8gqKEB8Ggg+tdAgKWMtZqJXiqydZgITmsB852y+wAKpC9ZVVXtwHuAARzwWGmDKkihabBU3UHbmxbJugm8Hqvdm+38111QkqKBjCYkk90FyqkujODaBYQCkOtZs0BUAYjQ2VDf6oKRDAhKGA/AnQQmGhqlg8V8+3a2CV9uDpkFJCOZ0M3bQJxQEczBHRgs54C6zhLABFLROv4XlcAwUH+GgpRAiPGiXMDnfaunfXLi3CeHtketijLhC0/mkPHRZifgmYkE8BNlENZdeFzO3zWVWhDdwrC5kEYghvLi2mRS32aK5UUwIlVBO/k28jFEpIlNAYquRMANP5ACYAkgdTdm2HUvLYlRRKWlkw0TEdKBWE8bKfi+/jTFJYmw/j+fzSSGp8wKTS1CCDA/kk1BJKidY7wEkGCLu/0R4HTEt2nosb635a7Lmz7vTSguqS6ODgQ3gDuWmxM8FRN59RS4TnCNWhjtTHrqcztwi74bCbNNUUw29STDOTppSm3WkD1MqUwY66JYPKUGerQnjAqNsAE5fAZMCKYJrBKm6vAUgRSpyfsF9D9Ql34sghg9E+d8QglIUSaonIAnkluq2bWNr7Zu9zpeMtcPzov3rbXlsv/dOf+QH3z/7NP3CHd/+slMWtvsNquUO+iRAYyoOu2bj1EkDN1kudMG8IOAAqmr6yUC6E/vxqSxYgYRESjDBLVJcANSRAYU9ncRslJhDZ8+JoCcDI9Xkv2Z510VmnQtiOA269q8Itjw+64QGf7wEQ/AQaMZeEyQEoseGjjk6v+XY6EUoaCMekUlx49td+deUJhe+wX+MyAz7AaFprUuYEgQxLMQqLXIRtxsAF1cSYCQAEHFFVKCbOS5Et+STyQYAF8ET7OK8DTLwvrsFzUUJ7du92u0IvPIwPMYz3QGg/dMDeY/mxo4ICoCDEiPojD7S2vJTklwQeci3J2khVUgjdZaGUONcyeSXs1DjWAA5qNBoeIpgAOvmljjCfiFAfkJRiCrkumTDOezBRDAtctoMpXVmV5MGUhVJQTJfSMN6V11FLhPHILyXGh0x+KYbxyC8lxge6d8j4UJ2YHlBKFJMCJxkg7P4Ge7zf1BVhO3JM1zCS2M9khHmwfidFssoRDQhEAClCKWmwKqXU5XvZ0TJI3Rk6TP10yqgw3ufBhGICQEvkmHDlURA7bQoV5WWKaoQQHnml5gbX1VCXW1ExkX/iXOSRgNH8mP1/MzKo37GSN5+sdlXHDgcoPSQwHeE2UApwopwC5+LRskMltVQ6dj7e/hNv2/tPDEY/9q9/0P34z/1D9xM//8O2fshu+1Wx7x3a2NngUR0YBRTaGzX1BKAMBCgojASE+VAqgAoXH/ZrgIGqQsXQX07wCuvJDMQ8vNpkrPBhwayq6ha0AJifcdTiQ3Shm3cCo5HjoWedD9WRO9ps2+/mu05qJAAbChulNyF0a3MHIhFGhPBQTOSQsF9je+YnwJoNRgZA42cI9QgUlQaMw4cO6ieJfTZXmR4I90x5kNGwVE4+gw/QQS1hbqBjOCqor9fntXg/3eou3qRuCECJMBxqqS7MYGoLbj3eD+8Z0KGCyB0BsHf+0i/JIh7BxH27g+lB02lPVAgIg4zIiPmlTF4H6JxP1tkcpBS6C/kkwEH47kwGSjEPQ2gQ9QP4ZHgIIbz6ACWKT+tDKI88AwWW5OVyYKK7ucB0LlVMGTDhrtsRUlkg5ZSSh5LUUs70sJGYHqIbj3ZBxcAUbeK0CyK/NGrwGOjpkvEBKzj5JcJ2gAildEwFpYdMPR1xtXY/YBo0pc7QPMaZX6Pp7Zk1DdpDDU0H63esQ0oapgKmsHDX5dRSTwBSV4dyROrQYL97MHW7ScJvBh/AtDwxKjCxVnDRjQ66SXvOYHuz62tpMIVU5zrra5PV1ZiCifMR8pvh/eDyswXwsJB3GMDIKx0FSPsfcof3RzBFtUQIr0b/3jgWSx3ES8eOh6kjwegn3/HD7p//wg+7n2S9I7+OPvjzvtNB90HBifwMSuTRoWMClBRUhNR4pZTUYxFWkzUJsCK04orw8uACWA05WCXLfgdoPI/XSBXZubmWHy0RYBSKYHmvOOsmTz7kBlvr7C/aAUFpXIplQH+9o5QGZVCYEoy0yRucABBNUHG5EbrDDu4deTOqYSJ0hvohNEXNEcqDtj90T0AFRXfbfDjndAAZYJISamvT8zA2ACXySkBJagplEdQSxoSyQ4eUV2JmErVL1CbRrggwAVWKYTEucG3AxXPfdds7ZQ/HiXfP3aaWdvm+eJgeUHTHgkW8q71dn4GaIZTNciysZQQ7cAqAykKqmErKhu9WTGFGKMUcnLptd3UKhBFKdeq2Xa3fG8JUV6z2vB8U1lJUb4CJse4C00WBZasAOG8ESHEV5payagnTQw5Mdu1tYNKUWB/Gm52I+aVBN2JwwPjQ1dYiKzh5pOowBK9c4xz2C0501GY4nsBkIANEF9ZPuyvnDPi4KmempIYI46UOu16BaWrYW70jlChexdCAGhKU6GMHkGgbZMqFBZhQOOPYu7NgIpRnSmmVwlhcdMxastf2tza6nsZTglHHqRrXHlYEE+cclyMv5qsGBakJe4899njdiePuGOpo/4MGpQcTMBG+Qy2ZQlJXDE2nPbS/pJZKx/bjR/7F29ZSIP2jIisPp+MPvcNd6TyoTf96UE8ACgVF3zggBSBSUHlYKeSXACsDrYnqFFyTGXCF5X+v0XN4viBk5+G8XIPrcW0s3lkYTZ/a56qPPOT2PHCf6zMAjA16KNFgk3wQOSX+gicUB2ikaqanErMDRgK6Fnj79UICJc3cCd0eUAEoFopgCUcBC5QOeZrV0H4HJRMVGNdCKUV7OPkjLOFVpogA1OjIiNoKMZ4CaNE7Dgde7AaOEgI+gIxrURAbocdtQniYGrzh4Z3urjvu8GrJXnvfPail+9yD9jj5LyzivGe+h5jT0ftm4iiNWwlhsSKcIqAikIpAKevAi/3j4mwihfDo9RemuBLqpNMDP32eqVbQ6sqAiTqh7WC6UBxMYRWD0bXCFaB0tRBKppayYDq3fjoDpuXQtSMU1mrE+YSvMzJAjNt3OGwbM6G5zpYm13TqpKurOpGoJbocKM9icKJ5KXOIGkxRDXZ3JmBiciwdvhfCtNhkhHkwMwAo1BGPRShhPvC97Lo8lAKMMC6whmwRmhtFNRF+w0lnQFkwMK0YmFZpvGrKacHgMmnnGGxrcr1N9a6r/qRrP1nt2rSqXHtdCibORx5qilAe9nNBqUe5p8aaE67i8AF3eN+DrmzfXg+mA76rfswt8d8B7Zgoqn3nL/7i3jd7Dywd30fH23/ibWs/9jM/qHAd8Pmpf/v2bWsnQB3e83MK6+Fku2rqiVAZVmsgdStACiWFehGshjOwGikXsHLQErgKlu4Pz7XXkdPiXJwXEHIt5hyh3ngfwGiu8ZBrrSlX2OvAvn22CT/gem2jG2H8s/1PPBrqjFjRLUdehpVCKVilKXK0zRbTw8LcXAIXgWByUo49VA0AweaNagJ0qCRgBpQAGovXoZRi+A6jAyACSrjiOoJVG0UFmDgvdUWoI9QNLjrAdNz+R/bj1GuUS0Lt8X6AIZ3DARfPxYUX1VIM48kizth0ew4GjWh6wCGHgoxFwBEEOThlAFWoknJQyoyBiCPG+c5jp+2mhlNyKjL6gevXVJ7Qbe4DTtQ0bQfT8jYw0ZYoC5qtIqDaCUiFUCpUSxFMPr/kocQQR+/Ii2G8aU2JnQthPFoFjdnmPGQA6TOl0t7cKMcd+SXCdswaAkhROQApVFS9Kap+ez7jIJiBxChzZhcRxpsaGQzhu+7EYZft5C0oDQ/IZSe11N2RAkndGfzi9jCqibojetsZfGYCmFBJKxMjbon80KAps64214/ZoeGk66irdq21lcmKYOpvbRLkAJPyVXauiXD9VntO1dEyg9JeV/bQngCmh3JQogtG7Iix/6G9a2/2Plg6vo+OH0Ul/WyqkgSif/eP8+sNAOro3p935QYoumpfAVJdHlLXs6BKFFUWWB5aAlf4ma4jeh6L15EjwkEHhLaCIgJEF9r3qxvDmaYHXzpVUaaNDXUBlNjMHzJl0N3Wopg/SelhdVro0iYeXXeTmBGAEyGZmRlBhFwSSokw3qJszimU6LhNaCoOtvN1SF0KUcWGowAJoKG4omKKSinawYFSHOwHgHDS8T7odcf7Q/1gB1fj1d1eAaGEAFOV3e+7JDQoVMa5+Z3PTJgOEHm1dLvbFcJ492F6wCJuj2PO8KaHWh82o5jVoDgX8ktswOvajFe3Ayr8nlVJEUoorQil2TCXCNv3oNrzdChsQ+iuttoDqRpTgP3kd6kmOiFkwcRMqR0UE2AphM62UF0xGAUg+bxSCqViYbxoetD3kMsvzarjN2CiXRB97BjIN4rL0v576KUmxz4HYTrCdScyailu1BSZ0l27rqpCYyAAE6MmGNLH7CLCeFPB+u0ddsHyzeyjQV8gC5SmQvhsTL3s2lIgtTXbahJEBu32UEeLG7HHx7pN6RicZgwoKCSAtGxrAcD1drohe00PeaVTNfYH3gnXUl3hmm212O2OEMrjGoAphgXJW5Fv6mw85WrLj7ijppCA0qGHDE77Hkyg5NcBjfqgAL3C/l99s/fB0vF9csjc8C9/wP34z/6QwPJTv+CB9NNaPxLWGwdUFlK33f6TUlGs4eo73aitmI9iYB5QidDS6g0r/B4f5/msCCAcdKih82373dnWfS+tNj740twpnyw9duzIWj2ziupPqW7nQHDEMdMFKOGQklPKNkfUjGpkcDpRDMkywAAoVIcmtVIYahuSoGTKR0W1hOJCCyJCfgBEdUh2LmCT2Mtpn2OvIx+lnJRtZArfmbIaoIM27jsDGDkhGrQeKSuT8uExclW8H0wRqCdyVRS+ooCwfKN8+B11VWWbOUqL90AeC7VGaI6aJXJIuPCklu7MqqWMRTyYHoAADriRQa9OAAobL7mUQjAJTgVQSsAUoJTttB3Hiw+HLtutthkBHlQSQOL6VRXl6iLNfVE18Z6AZWJ+KMgx4ZaLYMqua0VAVSxsF40OWaUUoXRJYbyzKnSNamnj9Goy8v708qKmDi8xo4gxDiG/FDszjPAHj33WnvZWA1O9qzdlUE0YzwBEpwOAdDBs2DjVyg8f1PiHXns+Hb7P23UYOUFXb9SQwnhxWmy3X9QGxbwOUJokEoCa6upIgASMtFoaZWAYsNtD7c1uxJTUqMEpAZPBaHF00C1iXBiw/0/ssb6mU66rvta1mUJqrirXarKFYgJM1DIBuQgmVBO3sZWfOnHcHbfPdejB3e6gLYEJhQiQ7PMft/9+I5T4w6RkePjejv8PAAD//+y9d5ikWXGnWzMwfobx3dM9Mz3tXXWX9zbLZXnvva/urqr23vf0GBiEWYwckgAJ4RHeCDsgBEgCAUJm5Va7cquVtFpJ6+6fceONc86XX1ZVD6C9984FOp8nnsxKV2mqzvv9In4n4sfmdPdjGdfu33SrpJQSsPFA2hOLHwBQ69eoQ62sRa2M3IJ1Ci8XeQXEowazENSucvIekTZVYa2JbZYubKzcInv3Pyj3Pp4hqDzqYbyXooKCazjf6BzgmpTWG5QI9ovMTY7bgkttg7k4AIlAXQAK4MRl6kTAh35uYTwDQDGlZFByagkwAS/XEdt1bmAPEptkAQRpQBuox3Mo2FBe9Kpj5AS2cBTSvE/fWS2ors5ScoAKINlcoiOHre6ECQIlxXyk6spKgxJqBzB1trfbID2andpYjcOpPUsYHkI/PJx4zvRQ5C3iZaaWsIi3Y3rQRZMOFXw21NzY+GrqhP1LHkxrwekZbwJYqZZulMI7dMBZwzE3sPE4AInvjmad/BxXTSxacx5MYR8TZgp+L2lEwIR77vUeMAE2aYBaEXHnXQDSaijF1dJ1GznxPN+nV0s2O+vSBRtbQmNVqy/52UenrL60KEc4+FF4AKbJkSFL0wEmAASIUEsNCRbtanOqteti3d/ZJgv6t0pfuRf8cD5619HLzg3mC2aGGTMzsBfJ9iFhG6f3nYFh1upIQSEBo4PjxLDFogKKutFhD6cTCzNyRpXO+eWDcpGu4Aq6UwtOLc0rlKYHegxIo91tMtql0d0egemgPtfh2UkzSACmo5Y+nJRxvb2zqV6hpIo8UWnvEbXUkqyP+uEBo0mUpCr1poabhoebpwwHpQeeeoU8tPWVvqZ0RxqUNsTihwLUKhUVS/d9H1ARjxDb45GypgNQXu9DW14hABU4ASZs0ix27Hnp9nt7ApQoKM8qrGgLQ4oKlWQQ0WDht9DFHDCdNDvyhQgooS5km2jPrwZTMDsAGoLhe4AhtAFiIB5Q4jGn/P4m7mNQQikxDE9fN68X8NiUWL2Pufv0tQQjRHtbmykgDA/Yu4sKC0wN0miVmhMLOa491B6fhdXSuG9pqeSH2pI+hj1MpPEqylKmhyY/8wYDAnttUJLYnHGXUTuxNJ6BaS3VdDUClimmCEzpI8atSa0fLU5dadSPs+jpcjDCdMFr6NJFG0D1mGpytSZqUDyG7y6k8lBjYZPtCzYs0G2EfX0MUCtV1GqVtBpIcSjRzfu1PoX3mmdSYDK1dMWppWuMGT/n03heLZ21BquHzdJ9+OCCLCpAFlSpTw4POjDp3yMAAkSNqpbqqyoUTpUGKVxr7PNZUJhcPHXcoERnb3rNYWiwGUgeSM7Q4JqmYjIghQaUjrN5lhQeSgmFRGcGVT0WGBX0/JBCamly1MBzROF0QmFyRh97fklVk8Lp7CF9Hvrh6X1nFUoTvR0y0tmq0SLDGgFMcyMDpr4OzzgwUbOidjWjMOtpaZQmVUkN1RUG30ZSlqTwYlCySb76d9euCrIgJyfxcq+JN08v8+nejbeIQWmLh9IOV1MK4Nmw58bx0oBaDSlSg2uD6gdTVasAtfU2g9ODHk73bMiQksp8UxaAKECJ9B277NnUyM77uEoymFBjWnZAwVwACIAQQGFC69VoJMP5lFqK9cYzKNEHjVrC4cOmmoAK93cduJ8zsJG6Q8kAPkZhWA1qft6gRPcGAEMAFJ4rWMi5H41ZUT/sQ3JdG8psHxJwYs8R9TNuJ22JtZuUYGtzs1NLFRUGoVVqqaTY1BJpvHpMD/rcpNI4cj0wO2MAP3X8qG0UJY13/epLgMlDKSimAKcITL7TNptNUarzupACQIBDyg4QdSqQcGJZ6KINpCylZ6qpx94bmy6XaJ3DhFXGb/jXFW9L9LqY8gmAesMNYw0oBSC9+jkHJZ/CQy0FMD3nnXioJRvseCGA6ZQ1V0UtWWcG2u8AJlUzGBnmVQEBpiEceW0tBiAcaqS36qrKpbayzC5jpe7WBX1hYsxg9KyC75mL56yBKoYGXHbOzOACCGD5BkgGJRQLtvCZCbN346SjPrQwQgyY+gFOpOcWFVjAyYFpOgLTucUFOXVAVRlqSRXRVG+nqqRWGW5vliGio1nGPJiAHMrL6lVzCkp66Cn0BtpbpKnWQ6m60gBMCg+zB2AiaGbLwESatd5M4d08ZdytCzkLukFp2+2pFN7ulWrpHtmwNxb8/EOpqDUg9QPBSuMGgIpUk772Bza/Ql71pIJJIVtbVxXVkwiUAO1daAGzxFHrgQU94j5kagkYLXnFRMoNuACZK35kOCk8LpN6C+2GDE5eMZ33478BjaX/fBqQ5+C+QMmNL79sxogAMH4fzjqUEoqJupFrvJqw+pG1EDrp2hTRzJVuD9SOUFIoIDp/o5SoFwHd5sZGafdgAozsC2Ihd87DaqsjZWftj6klByZMD6aWgulBn4N9Q+whWfRpPDaIAhVqRcDmRmAKUEqB6bIHk0vlhZEeGB6oK6F+XD2pwyCE4YLfH4Uu2oCqu7PdwEWqD3WFEjYlRz84zCR+k+1z1685MAEUD6e11NNaKun1L7z6paH03DORWiJMLfFerzgooZau6t8DHRoYzBeNMLcxE8s282h5YU4OKkDmFDQTWMV576qIAFNTbcKUElCqqSi1RRyDQFdzUub075ZO3HT4ponqBWpWhxaiXnXBZUe6LtR2UEoYGUjNAYuDY85JB4yIOYwK1IQMTgOmhpYmRgxMJw1McwYlzo/TemhsUKb7umS8u02h1CSDbY0Ww4Cpp90cepYWnHKKiQ24wHBYodVan1AlWG6BWiKFZ01aGQLY3GiNbMeHXZf1mym8n/ATJod7NtxiUHpw8yud2SGWwlufppZWQGkVoL4fpO5e7eiLYHUDYBmsYsBSFfeohVdMClFTS0DpKaeW7tt4q9y1LiOtngSUcD7N6GKASlr2KsnZwV0Hb8JSebTc0UUFgwJAoYUPm2ajHnjnV0PJuoZ7s0QwKFhPOq+2Qk3qvB+DEUHJOoLPOyhNTZlpgRZBpOJCXYkNvdyXfnfUybgPwMWFh+JhTAXAaUompUWVDgs7/eSAI6lMrqtXtYQiwoVH0BMvrpac6aFc6jA96HOTShuNp/GOpqfxIsUUN0BcS6XwottCncmMD242EWk8DA8cGDDqA9gAH4K6VhStIVpMOZlqUniRzmOT7Yy3sNtrC50oQvcHhQa1oAhOIVYqqLWA9JrnPZQCkFJQeiGC0tPO9MB7vRLU0gW5pq+BMRTUl2yMOWDib+Gom3/E5tfVYOqQ7tYmqy9hCGDhrinX76O0WOoUUI0Kqo7GOpkc6jeHHY1Unz53OtXZmzHm0+PeYTfu3HDUdtiPRCpNgbJMCk9VC1ByMOqVOYXI7GCPpeVQQQdG+uUQbjoFyxEFy8n5KTmjKunMwVk5BdwUMPP6uEmFzIiCaKClwUdSwdRi9Sb2NFG3AkwGpYlRGe/tko5krdTrewG49QpbUnjUlcKodNQwSonZUzdTeD/hJ/Ynkb67XxUGSoMFnsWehX+l4SECj4Ho3jXih4fUDWG1awWs4nB6KSjp+7jvcQelopL8FJR0saXdy7weYXOEvhxccr7v3YHQ1UEBReoNRx3KBqBEqbuYSkpL3/maEuk6gBPCZi9ddJ23gRtg47rQZgjQ8BoOeCiRvgM6VZWVNmmWGhOpRNQSao5ed9SVMEKQwgsbaUnHtVYXRdNl2XfEAo4lnaAug1oKm2mbK/KtvrRKLZnpocKGFbbq0WufHsUzvG4hpPGYecQYbNJlVy6vgtOzMTg9uwJMT4dO23x+7NMifamfPXtUWJCAEE06CX63XW4J4SAFbLvaXa2JOkQYFsdBBnWqc6dTe6tQcc/bwMDnzDYe1YciOLlIh1EcSM+ngER7o+fSofRqhdKrr6cMD6glpsg+rZ8NQ/uunIuD6Xg0/+jksgfT/KwD0/iowiYFJhQThgBglCgrlqqSQgVUiTQoqFAbo7rA47SjmSrdvdmwyn4jMzQEh93kqNWRcNURKKXDAEtVEOk6g9GAg9EMRoX+LpmlLqSAWlDoAKdFvR8QOqFAO70wraHqa0Y/a1VU070KEIXSoAKpv6lO+prrZaA1aXUmHHqkCE0xYa5QQNERortJDxCryuy9kKLEhReghOGBxrWMlWe/Uq/+n9ZUVt5USz+ppzvXZVxDWRiUQl2JFF6oLe0ECivU0p4UlDauET8opF4KVOsDqNYCUwxKD+trfUihhMq7f9Mr5FVP3Cr3brhV7l5/i6zb9KCrK6liIj3Fjnp6koV6knUHD+63ubmo/x0AOOft4KTuOI+AtKKehHHBJtPS046RAydO+CasJ10zVxsH4ezgAOqMOe+ORL3tSN8BRH4302bZq4SjjtdNuo778ZzW9FWVFDOTcNlhbCDNh6sOKE02FUtnbanV0JpU6aCOcCDSoYGeco16fRgAONtW7tVSnoEpTS35NF5jlMbrsTHvtM1x7ZmOm/2Z4r6l8jycnvFwevYGqum6t4mTwkMpUVfC5j3qlRIQamlMpoLFipY8BqkmD6lme02WzvOmDvZWTani4ECDlGBwCwYDxPPeAPFCpHieiwCVDqMVQIql7eJAesHXlBjMB5Sef/qqgknfN++fzyNK4521fnaX42DyY8xpshqBaXpSZsdGVDH1y5CCqcfAVGupu9oK1FKRVBTlSULP6/TnpppKGepqM4VEZ286MWBswFgQlMkh77JbUigcob6jQU2I1NxBBQaqKMCIdNx0X6eBhvNZvW5uoNvgdFDhdFgfc0JhdHJu0uLwxLDMD3bLOEYHBVFfY430NtZakMrDlTer0Atgoo5F/7z+tiZprC430NZWlDmnYVBKCqXG+lpz37HJmF54TQ11N6H0k3oyKKmyeFWAkk/hudqSV0v/BjCtBtS9K+CUDqobKqhddzso8Ro8lHhdaSppc7pKugcorbtFbn/QpfBYpFEB7JqnH9khG1Ox4AbszfjwG1hRTqgYQMNcoMh1F6XszkVjLUKgfkjZnTQLt4MS8DlvoyBcXYquEDw+pO6oXZlK81AKNSUMDonqalM9NHhd8k1iUW+YN7idelN7a6tBCeVDC6GfW2yWK6O10bwk9h2xeC/abKZ5MxFg+8b+DbwAU76CKV0tYXoolQSdHqI0XpstFsB86cC8nNBFlZY6pPFQPg5McTjF600+IsXk1NLFc65BK0qJ9B1KCYMF31OTQdVFc6NLR7aG8HAK6TwDkwINWzmNPdlfdZSBeDjzmA/lFZ2rMz3j4ITqWQNQ6XEjIN0IShoAmffv1RKdviMw6d/HRcaZY3zw849Cc9WluRk5oH+Ts7p4MxwvAlNDrdSbskAtFUhZQa5UFudLjS7qSb1+oL3Z0nb0rbt4TJ/z4Jyl6Zw6GTbzwkGrEY0akAKUqBtRQ5pV8AChKYXRVE+7THa3WXB5Rq8DTvN6n4PDfXJ4fEiOTY0anDhfVFhN6/1G2pKqlGqlpyEhPcmE9KlqGlT44NCzWtWIc/ixx2lEYdWUqJBqVX4JlF+iyjYPB6WEC48GrfytMbmXOlNBwc0U3k/k6c5HM15EKQEl6jGk8B7acpspkJVpvAAmB6cAlHv/DXC6d20wraWWgFIA0g4HpEdfIm0XVNJdjzooFRblW6oLpcT4gFBTOmCbN8csJeY6dU9bDQdYkTKz0dyM9vathdJSdiugBIBIyQEmm510wkGJ23isufcuX47aCx2xSbSLqUm0bK5kKuvkhCmlejMxlNsmWm7neW0D7ZQbYxHqSigfoITRASgRHTUlBh+UEYs6izWLPwu3qSUFGaroylid5OVkS0FeroMSo9MVTBVRGq/SpfFw47GpdkQXMxxetGPCXHD6lKXiIsW0hmpaGc/6uUTMJGJAHs8FfPg9wKjRVG2dnRNN1rizIVJOLTE4Rek8Ro53ddgmXFKBUarRN5a9EgwQfqOtGRVWAOqn1ogApNeuBSRL3Wk87aD0fBqUnFp6mlHjgAm1rGqJ5qr0saMzw2mvltLBNB6BaRgwtTQqmGosbVdTViSV+ndcmp8j5QqnaoVUfUWJ9LU2GoQuHl22YAPs4ekJqx2Z5RsoYNVWSC1j+2bTLHZwhQqpuuneTg+kVpno0lD1M97ZLJN6eUoBNdPbLnMKrgN636XRATmqKum4Qunw2KAsKLDGO5pksLlOeuqrpMui2lJ5GB+mVYnNejCFbhBtddUGJWpl9dWVrpOF75qOUsLkMGxtp7ptT6EeHN1USz+JJ4WSpEEpppZWgWnnS4ApxJq1pjiM4pGC0mp1lALSuhiQUgrpdoPnA0+9UoHk03b6Pu557BZTSXc+olB6IEOK9OiSVBcLLbNssIRzRI17i7TW5Pi41XII1BIQIL0GeKIJqn4uUBqUNC7G60nB5EC3aD9xlvu6OUxXLXWH8SGk7mzInznv5lSpzdjoc4DT19NjEGVja4/fRMtzAyXAyX0YW4ERIkCprbooghJqCaBZBwtd0DEPzJsanLKFHGAB6Gvj9XJ1vGFF+yFvEV+Vxmu2hYKd90xXZTwD6Tf25LBx9GlTTOlwcmC6bPUW9vPE60xXvT0cs0OzHiUDR/oSYsYAUA11NfY6k8A1wCmW1jM46ULW7tN51JlQW7QsmrDuD34vkz6/M0D4OpNP52GCMGv3szE4GaCejepHUR3p2bi5ISikoJKuOSDp+4tDCbV0nc/lwvk0tUSHhguWxjtiXb7pznDMd/1emp12YNK/z4mBXg+mpAeTHiSUFkpFoR5A5Oy34HJC4dSZrDVldIZ9RUcWzdiAtRuVtKDwMWcdYEI1UedBQenPpOdmFTioI4ORggTIjLUTjXZ5Uq+fVmDNKpwWBrpkaaRPjqpqOqKxONwrMz1tMtxSL32qkjprK6SzrlK6G6qlv6VBxlQZzVC3wlRBNwi93Jms0ddcaHUy9mThwGtrajAokcrr1L/Vob5eSxnTVV2/+5tQ+kk8RVB6IlVXoj5jamnr7VF9ycC0IwWmNDjtvmdtQN0wYvfffQMg7XQpOwcjje13RDB6eAspOw8kX0eytB1A8irpjocdlIr1H4D+cECJfmMTuqiHIXOMmaAbNWoJlUIaj9oOhoUwR8maqPp+d1F7IfbbnEul7oARKTkex4RVc8wBJcDmx4Nz39AyyAwONsNpzkDD7yYthwJimB9mhaLCQuvSwKhwN3Z9cRWUQvpuvr0ygtLbllulPVFsCzyqAzDxngEx/+ws8rQV6klWWpf19kSJFCiYSqgtebUUmR5iabwuPXIlvYJN/JDvHXjGp8muka4CTHE4XblkrrRnfEovgpNXTIAJazhpQaCYk7XfQMhrq6uptj1TBJBKRsqvIb3mpHDCCOHqTK1mG+c9jtsm20nbj4ahwprLUmfy6Tx+fwSnZxycXhPU0HPPrEjXPZOujlYA6XkPpOcAcBqU0tXSFVVL9LO7qGqJNB6dveNgoo/dsldMM/r6x/t7DEy9qoY6GmotZVetB1jlBfpd5eyToqxMKcvLkkr9ubW20gwGpw/Ny7mlg9YayEwN2L8VCjjmFvT8EHCiiarC6gDuO2pKqpQcjBpltC0po60NMtJaLyMKm7E2/dvpaFQ4qfLpapGFvg5ZUhgdVtW0rIBa6O+UCX3cQGNCuusqVKXrgZ/CqUfhM9ialEnqVCgmmrmqUuppqjfVV66qDxdegBIHi9SVOOf7G7R9ax12XU7Ozc7hP3GnO9dlmMK4z0OJRT4YHkwtRWC6IwLTOg+MlXB6bPc9KwB1g9gdYHTPGjAK6sgDCRjFgAQsH7QaUjqQorSdV0kBSrsyt9veHor45K5tP8TosPVWG/KD5QKYqDGhlE4YlM5Gnb0vxtRR6HcXOjnE1c8xukN7OIUu46EJKw1JQy1p0aftUGZ0E6cBK6k69heh6qiDFeTlWWEfs4KNEvdQ4r5DNuKiy+pOKKq5tgrrmv7zSy028gO1RBfw+lrceHWmKKYnxmR2asIW8mAPf3a2Ta7PtFptCdNDSVG66SHsXQppvGDbdfWlhVh9yS34kWrycLruldMzAVBXL0fnXG8uPP1MsADvy9xriikotNpElQGR4H24lGSdATIdTo2+ztQc1Zms+4Ntsg1dz5cNoBdsP9O5qGUSKT3g5AC1ElLXU+romRSM0lJ2K4D0LO/TQ4nu3kCJZqrX+HxMLZ2K1NL5MMqcMRFLbmosfeyYgcQ4cYbk0aJnWBVHX6uCVxVTU3W5A1N+thRnZ0rBvt0KqEz7ubGyxNxvJxdm5ewhetZNWtpuYViViqoUYn6wx2pEB4cdlOYVSjOk7+jMoEByMKqT4eZaGW6qtfNR/XlMr59oT8qUAmq+t00ODXbL0lCPnc90t+j96qS3vlLaq0v0IKfUVBPGB2zjgGlmoFvPO22zbUNlqdXHsLxb5woPI9J4Tfr9snnW5k91ddjfRX2iIvFyr5E3T/8fnh7Lybh293oPpcfTU3gr1dIqMAXVZHH3GoC620NnZcRu3/USMIqpo0e2rg2kUEe6b2O6SrLU3UMZEZR6Y1DCckp9hdQY9moUCt21qS9RWyKlhqIBSimVdDZSSNYZHCj5nnek63C4AQ3MCATwoXM497F+eQo1TBDBcReARApxYmxMITNgLZHoYYdJgQF97D0ijef2Gx3xQwQnrDlpBCWvlK6O1dksKqYAM/gQMC0PNln9iFQYizl7jhbon6f/8Mn6Wtu31d1QKe88NSBtiVJnelDFEqmlkMarLLfu6jyGRaLfWsIM23MxM8jVl05a7zcD08UYmHxcXwUoByk6ILApF+XF79uvYKLGVemt6fxe0nqc14f34tVfgFNI60XpvDaXzos22SrUcebRb8/SeYx8P4cJwnU/p7nqc76xLPuOng9q6Bkf19eoH4V0XQxG6UDy6bsVUEItASXU0gVVSwamtKmxczYpdlFV3kHANDwg43168NTZavWjAKaaknxTScVZeyU/c5cU7t8jZbn77Pp+VTjsMTp9YFaO4sbDbYcF3GzfXaaODujPBiWFxSxGB1VBKCXgAoyGVPkQg8lqPa/W6xIyqoAaV0BNqnqaUxAdUNV0aKBTFnrbDVj9DVXSqUqptapYWhVO1Jj6m1VtUavS3zFp7YlapClRLsW5WWZ2MKXkoUQKr0EVMtZwRnywHaFLDzL0e7+ZwvtJOe3ryri2q/EW288TQSmk8DYFKN0ATNtTYFq3466UcgqA2rmiLrRW7IzHXe550mAUS9etBNKT6UBaUyU9qFC630EJtxoFfPptDfrZPQYlxnD7buLAgbrSoRiU3J6kVH+7MD2WrgxhxDkbVHHIhfEXwMNs3L6bA2Bjz1NI24UODgAQdYbDjlHnTiHVmfoJCogFFxXHZl66T9APDyiRdmSvEqkuakGoJDeFd0jezRh5DcbGo3hQGo1WUG40mMz72hKLPJ8J4+Q/9NxiZHoojW+ojaXxUC7Udsj7k2JhRtCBOWcqYFQDjUjZn3OVlFWkmlJxPYLTRWcG8K15LplaWrYj5Oz9+zQy7TUARMDE77bfr2AirYdqC3WmCE7eDBFP55FudHuZ+q0WdsBGrB80ZRappvMp1RTqXuakAz4W12Lhb7u2QhmtAaPrF+NASofSZfZSAaWTDkrnmF0UBvSpwqFN0BK95qbGbYgevePG+7pkqEPfT0tSupK10qwLey2OPAVRkQIpf+9OhdNOg1SlqiYMBwdHB+T47IQCatTSdQYgLN846xQoCwonzApzpNgwOpC+U+gEGA0oZAb0oGWgvsLOh5JVMqKAGm2qkQlVTjOdTQqkNjmgUJrpapYRhVZ3rUKpskhaNDjQob401Jo0MI13t6tSUkVUVyVF2fusY8VKpVSvf2N8b6gk9hRymZlLL/daefP0//Jpd1NGIrs348X8oQzJ6rxX7lq/GkohhRfUUgSmACcPprhqWhtQa8e6CEJxEN0IRrdb/ehBhdEDm1KmhjQgrVBJd6CSFEq3KZR2Z+6wWg1H4hyZcSTWaQ0/26NJpyOW0hu12g6bWSMorRhR4SbNnjYwASTrxs3Icr/xNnSFwFkHrIIpIoy14Db2Q5EmBEhmbOjFSdduveswLtClgcBRB5SAEPUkwBeUEiCjpoTawQ4OkN59cULee3lafk0BQ3z8dcflhUN9zkBQk7CxHbRZokMDapE6DWmy1y72GZReWOw3KBXp7zUoebUU37vE85Dn79bPD5dUtH+Jbuje+HAFMDGtN8DJFugVgLqcUk/cj67atDOqKHVqifoSvz8YLqoqykyx8V6ArNWZFLQGJm8hj+BkbWucOw+A4hzEmWcGCN+d4lhcNWEdDzOjrqTSi896k4ZBKLjrwvV2vxiMfA0pUkcBSCtUEl2+A5QuroDSGZuFdND2H4XWQWyEZSzE3MigzS+ia0JfS4N0Nej3AJhK8x2Y9u2WvD07JHfPdilUOJVm75XWRJntNzoyOWJB2m7Op+swKBDzCiegNKNQmqSupLAZVigBof66Co1yjTLpU9hwPqiAGtLbgNN4S63MdDSaaiImVEHxuI7qYmkuL5DmikJprymX3sYaGcE8oWACSl3JGjNqkL5jA21cKSX1ZxyyPVj9mTulUMIAse/mRNof39O+joxr+cO3StHY7ZJYWC/1y0/Khv13rg2lG4BpLdXkAHXnCkDdGQNPCkDrIgDdGT02gCik6dJg5A0N3xdIMZV0h0/dAaU9+3YafFho+aPv0T/2ZnOltUq/AiGoJWo1gAJwUMM5H1J2fpBfGH0eRqVb924/gM9tvp11m3H9xlygFFJ81lIopO1mZgx+Yzbgrs/SdqgkNvjWqEKimwOzkgoVNhT3A5SoQ2F6AJ4oJepNNFHt1MUDtQOIPvzqZfn4Tx2XT7z+pHzmzefkY689Jj16hFtbTV3IdWZmcyIj4fnnBzKDrXUOZM8v2XOFvUtBLdkwwPLSCAqp+lK71efmbD7VvI0AZ8Q8XQwslRfg5AH1dIDTxaCcLvhF/II9BrWEIaOlssDAxOswMKlSA05xR2CoMyV9nSmCk1nI62PpPKeazJnX5+tMNpZjLk01YW+nLhalHteqh0WRro7SYHThvAdRgNEKIKVBSdVaGpSW/IC+Betb5zbDTthIiIXRIWvfE4Gp2YGpTRf9+rICKVcwFWbukrzd2yVn51YF1HYF1U5J6m1scmWfEYG1e9YrI4wLMxqzCqdZ/XlKoQRYRlQJDSpcAFFfban01ZRKb02J9CaK9XKJ9NcCp3KFU4WMNSVkqr1BVVOjTHck9bEJ6U6USGt5vjSV6UFVRZEZH/qbVYHRI0+h1NNYKxWq5kjfBSh1eig164ETvfCwg7PRnfQd1ydu1pV+PE9ZXRnXcgczpHz6Aak9tFGSh5+SpmNbpHT08TWgdGsEJYCwJphicAIqaYDafuf3iTiM7lgNoy0rYGT1o9VAuucxl7bDAh6ppIczonrSba/KkL37dpkaYpElZ81RGIsxizppPaeWBky1xKEUakcBRigk6kTA6LTfi4SpAdCQ9pv1G3ABFGoLs8M5m7N03KByyKftpq2ONOrSdj3d5gxEJdXXuo2v2LnpukDTVKCEESM8HiiRZgRKFPiB0uGhZvngMwfkYz91TD75xlPyuZ+5JC/+wnX58i8+I5943Ql5w7ExS8HVURdSpdjZ2izTY6q2+nulkcm0+vteuzwgH1Yovfn0dFoaL1JL8TSery+hRsj743RDgSyT9mTTsS62pOTo/3Y1gtM5g1OkImKQunbBNTFFLVGjGm2vk0Zd0LIyM+11hN8PHFemE/kek77O5FJ6KUCh6FqDCUK/azYBW51JPzvSedTEMGsc1c+Wuhi1LVoo0eU7KLxrkcK7mJZ+jEC0CkZnzQKeBiPvulsJpItWUzoi546mlNJpBvQtHlg1duKg9axz+31w2Y0YmOotTYcaSZYXSlV+lqmk3N1bJXvHZsnduUXyd2+TmsJsGVDQHBzqkeXRAUvbAaLpzmYDEefAaYb9SQqlMUwOeiAzoCopwKiHqC6S7qpCO+e6fr1toK5URvS+E6qaptrq9bzOHtdeoQdUJTn2PbZWpepLOPJ6m+qkqjBPEmUOSu0eSh3eFl6vBxz8jQImDpwYAqjX3awr/bidcvpe+WKeAql6fp3ULT0pySObFUhbpeXkdmk9tUPaz+yUJ/PujTnwUim8CEoxMMXhtBagQjwah1Xs+rWU0cNbbqCOPJDufyIdSvesVElxKD0Yg9J+ByUWNMtZKwRYzIFSGIcQDA9xKKFwzgZ1pCA6E8HI7UMy44KNX5gxM4Kb4eQ24Ya9ToAMk8Kib2lkabvxcRkdHlYY9klXR4eZG2gNhGmB0eWopDCQj6arKCXgh1LCss7v4v3QfBUVcXioRT76whH5/M9clhcVRL/xjufla7/yWosv/NxV+dQbVamNtEoNoykYJKcLwYDCBDCRNkFFDbbWm8r65BtOKZhmrC9eYUjjmVpKufESXqkAgGj/kj6XbazV18iYBsB0mUUZK3RYqEM6KxYs5mFBv8RIC/2sUF5PTzTYgkYaj9dR5tOJ4bXEAVkf1ZlqfQQ41UW1pjZvgnB1pk7bpAlMTTXp9wIMXUovwMmpvSsXUoovXfWd93bvlDK66t/nlVA78iDC2HDJwyhSSAqkSCUdXZazDFP0UDoVgxJNVQ/7nnZ0RqCzN3t/plQxASYW+m4PpiZVJYmCLCkCTLsUTNufssjduVnKs/eYCQEYLWJw6Osw1xxuuql2VE6j1Yim2pOWliM9R6oOZRRg1F1VIF2V+dJZkWfn/NxbXSh9CqghVU5j+piJ5hqFVKV062OaS3MkWZyt3yN9GUujjg/deo5aMqMDUGpKQYmu4bZ1Qy8zGt1BqVEPnmpu1pV+nE6k7AqGXymJhcekfmmTNAKk4wqkEwFIu6Tj7G7pPLdHslvXOQdeWgrPQcmB6bZ0MG25PQ1OEaDiEWAVu+7htWD0QwDppVRSqCdhcgBKmVm7dRHvMyjV6QLMQkotBij1hLHb/X1WVzIoHfBQMnV0KlJGBLWhMDId6ACK0GUBBYN9G0cdAArTa63mpEfkzv49kWbppl0OcGGjK81VmSZbXlZmvezyFAwtZk5IQQmlBJRI+2GRBl6vOzIin/53ZwxIX3/XT8lvvecN8u1f+xn55vvfJF9956sNVh9XxdSvC0ZNRZm1d2nVI9JRXZj7uzpMLSUqy+UjrzliKb9ff8t5OT7eFbnxAEGUxoun0GqqLVWGDXvIGx9ICzL+m4mrzBOyBdrDKSza11bE034fD7fR8eDY4iHbT3ZxqFqy9u2T3Owsl040A0a6MzBhzsBQZ/LpvLp0ODUnU6oplc5rN5jSANSppimX0iPtetjXmzCqsOEVK7fFWYsrPsL7iUAUg9Gl06cil52L4ykYnTjqa0lHrMv32SMeSDbKPDU1Ng6lZWumOmr95Gjfw96fCUaSd7bKgIGpStoTZdJSVSy1RdlSsm+nwShr2ybZv/UJydnxlBRnbpfm8nwZb0uacw5r97SCCHVEAKRpjUk9QBltSsgwdaXaUgWPQkkhFIDUUZ4rHWU50lmeI10VuXpbnvQooAZrS2Q0WSGjjaqy9HFtZbkKpSxpKM6RpvIC6VBw9jRUG5xaE+XWmBWjA1Dq4ntpaTR3bKUqKEwPHDChmByUam/uV/pxOe1uAUh3SNXceqlbdAqp+fi2mEJSIJ1TIJ3fK10XMqX7Yqb0XNSFoP2xtLpSmlpaASZg8nCIlcC5UWxJV0YBRg8+lV4/cik7jcdXAOmlVJJP3RmU7suQgso9TinpH3tNVYWlc4ASveO6/fA4UnikxByUFtw+I6+OnDJyCumEH5luHRa8wYER5laT8vudcMi51kDHnEoyc8NsZP8OvevYGNvS1GS1JDM46GtiEB8TYjE50GnBoOTdd4s+fYdy6vHOO5QMNaTP/+wV+fqvvk5h9NPyvY+9Tf79Z94p3/3IzxqgvvL25w00bzkzIxW6qAMmRgf0dbTKmMIaANTq5/LWc3N6vwvyKQXcp990Vjr1SDm0ICor9mopjE83lVJpdZ1048OYHKLjw+JBUz1AhhY7zBcKCzdprXi95RrpMn89C/oZXax5juXeWrk8UmP1JVKKxYX5tsE3bPItL3FGiERUZ0ql81bDScHEdN6moJqazDaOauJ1o5owbZDSW0yDE8rpuA3ti8cli9MW7v15GJ1JhxH7kXDZBft3BKOgkI7EFBKjx1UlxafGHg1jJ6bHrUvDIfYdjQzYuAmG7THXaJQREjEwtVYWS72CoEwPxvIA09YnZd/mjXr+hOTrzw1FWeaum1WlNN/TaioJN91kLCaaa03xDGJySDgodSqAAFFHWba0l2ZJW8l+O+8oy7LrgdNATbEM15fJkD6uR9VVU/F+qS/cZ2Bqriyy/UsoO2ph9PNjsGGAktWV9PvhwBE4kbYLBghqoYmKksTLvZ7ePP0/cNrflSEV049K7aEnpMFqSE4htZ3a6YG0R7oUSN0GpH0GpN5L+6X3cpb0XcmW/M6NsrX4fgelp2JqaQ0wpcFpywrwpMVtqeeIYPTKCEbpQLp1TSCtpZLufHhtKG0pz5Dqtr0u9aRH1ixONsgums/TaSk8wAWUUDXAJFJHNh/JqaPjfogfygXrNzWiYFhAabm2RWMGIR4TwEXaDRXF7WH0RJtXSYyUIHUX6kluPlKuQYkeb8wMOhKrKfEcvHbA2tNYbek5akjf+uBb5A8/+UvyJ5/9FfnzL7zHwASkfud9/06+/EvPWq3p2Gi7VJYWmR2XuT2D2G71CJWOzQMttQojVUpvvSBf/PlrCql5g0FhAJNXS5bGi6XPnPEhabU6TBSzDAacnzXFw3A7OmSzWF/29RXiqofQVS77n6/4yyzk9IQbUiVzfSIpU00lZhXPt3ZIeabeHJgKvEOvxKu3Cqubkc5LWheIdDitVE3ACXceJghUE9ZxLPOk9BZmA5wOWGf0k0cPm4kD9Ue3b2YkcfmCDwehkzEQHbeuDedVFZ3zIDprIHIwOuONDafNcefqSCfjY8wPzMmxhZkISvSzY0gfPe3o8r1gabxua6Y63tUqo+1NMtTSYD3oOhKlZstuLM2Typw9BqKsrY8rmDbIfoVTzrYnJJG7R7prSmSqIymzXc0yRecG/f7HVU1zThqOdBxw6aeeVKVKyRRSloJovwJpn7QWZ0pLUaad83OHAqpL4dRfXWiqice1q6JKFmYqmPZLUl9PW3WpdNVVSpvCkx5+TNZdCSXSy3bw6HvihRZEVWUl117u9fTm6f/whEoqHr1Pquc3WNoueWSLQgmVtEPaTqeA1BWABIwuZUVA6r+aIwPXcjXypOHQLinoekK2lT6QDqYbwGntWAtGt60JoxsppLS03Uul7jyUNuXfJbm9d0tmW4bkVD1uR9UcNQMl6zStC6nN5unpNrBQ7wEiNg7dd/0+4VsHASQUC0CyTbA+nQaM+jzUzFpOU9C5Obs/jrsFb24I+4vobWcqydeSXOou1JNc6o6aTk5Wlr1G+tbRx43Xxe9jTxWwArJHR9pM3VBH+vaHflr+5HPvkv/0lQ/IX331Qwqmd8sfffod8q0PvMUU04u/+Kyl547pY+g9xiiEzsZ66WtrliYFVKUqD1J9qC4HscvyxhMTUbeHuBvP1Zf8BlfqVHW1tsizv8QceR5Mx3XBRfmwWF8KxX4NnGhXDVDuchRWfzlhnbSX9PHDLQn5hSPtMt1cYvUlA5O+FiLAKTSRrdbXUxMUXEjnrYJTSjWFfU1RrYl9a309LqU3NmJwtbQeXRYOLqj6OyQnAAmAYtOrj3MrIw1ER9JBdGTJNsqyJ+lUSNdRQwowioDExFig5GchmVIas9ZBB31DVVoHMXqChqo47OjYPaSKqTeAqaJQmsvyJJG3Vwp2bZZswPTUYxZZWzZK2T49OK3It/rRTAdpuzqD0nhTQqNaxtmT1KBqSeHVV1Ug3SglVUltxQFIe6W5cI8Flw1Oehv36VWI9avC6lGF1aTgqsvfK3UKJtJ4dHygBlZTnJ+CUmsKSpiRONAIYy3arYt4vR5w3GzO+iN92p7IuJbVnSGl4w9JYmGjryVtsdRdq6kkV0PqOh8U0gogXdEjnqu5BqVBhdLg0/kyRFwvsCjseVKKejbJ9tIHbwCnWGxeHWlAuiGUPJBupJJ86u5GUHpo221SOvaIFI88bGDa136L5Cc2WarHTTVtsU7bXbEUHiqH1BvwCSAKwXUonyOhmarej1QdMOuJpQCBD7dhgggqyZkbhpwFXBc/qyXpoui6N9RYPalKF1Tr+J2XZ1BCKdEB26bksukWo8SUgyBQJc1HPemzb71opobvffxt8h++9F75m699RP72Gx9VOH1Q/vyL75E//NTb5Xc/9Fb57fe+Ub74tqdNDfXqYsORam1ZkQ1fa1EoAamfv7won/vpS/LVX35BQfdq+axePjzc6vYv+fpSlMaL6ksVljprjDo+dMr4sLeKq9qgG/bZoJhigRPtSuzcXT4hl323A3rCTY0MyXNzbQqmDplpKZVcBTWvpdDvpypW5VRSqK+ruND2ODkFVy61Pp0HmNLhVJOumkjpYYRgWq9+J+bQwwgBnEjnqnIiJWmDIVU98X4OK6COkW5TyISg6/fpo6kAqhZ2mwPRKVTRsldGMRhFIAowIm0XgIRKmpmwmhLpu0U/kiL0tKN10IxvqjrW0STDrQ0KpjrpT1ZLp4GpQMGUK3UFmVKyd6uCaaNCab1kPrlO9ut5wY4nLcVG7Wi6rV4mW2oMSGPJKo1KixHUkqqfHgwOpO5KAJKCCCAV7Jam/F0WXOa6VgVUh6qpnspchVm+pfvq8/dIjcKRtGJLZbGlGZNlhdKKWUah1E2LKEvVJa3mmdADjGY/1iKMtqirvjn070f6tLMp41pu321SMb1eag48LvWLAUrbY1Dam4JSpJKyFUo5BqWBq04lDT7toeSBNPyMxrOFMvJckcXoc8VS3LvJYnvpQ2tCKA1GPxCQ0lVSei0plrpbUU8CSo/svF2yOx6y914+uU7B/KiBKa/PgSm74gkzCRiUYim8CEq0pPGKKIQBaWnJNsUu+2mxuO6o96CyIrWlagn4kGpDSc17c4NrDTRg90EloXRousrriKfuivTI36XucqWrocqgxGbPw/o7eV2kAOn+QD0JVfWR1xy2VNtvvef1BqW//I0Pyt9/81Pyj7/7GfnPv/Ux/flD8qeqnv7gE78ov/O+N1ndCUfeZ958XopzsqQ0d780V5dJa22VdZy+dHBMflMBR3BfzBPUmHD4AYLiOJjK/P6lWE2HDbrUAQYU0pNYxRVMy3EwxYr+l04dNzfaZT13kbp8SW9HaRzWx073NFvbJBSTgSk7yxrIEik4ufZIDkyhzpRK5zXUfH84tfg6hqX0Oly9yZQTaT19L5F6mp50NS99bQzqQw0SJ2JxMsSyD7v+oLUSOsFjPIwAER0cjgYQaRyxlN2UHF4JJGYhAaVRN46CBquMn6B1EAP6GDdBq6CRFgVTU60MKJi6FExtgAknXNF+qdi/XXK3PW5AynzyUdmncMrZ8pjU5u42N91YY5VMqFICRqP15T7KZKimWPoq86S7LEs6SN0VASRgtFMa83ZIUoNzfub6lsLddr8eak0azaqWanN3SU1+prnx2qpLzC3Y2qD/h6qCnFLSAwPSd/p91eiBRZN+Pygk9jGhmm468H7ET5ntGVI4dJ9Uzqw3peRMDl4pnfRQOrt3lVLqC1BaqZKu56eA9IwC6dmiNChZPF+cuhwDVZHGNlVUAUZrAmlTCkhpTrsfIHW3PvMuWb/3LinoWy+1h540CPOeq+Y22PuvmFonZROPSsmoA1Nm2y1SUeOanbaHKaYeShOWeps1NXSUHnZeGTkgHXLthGx8+rypFuo7PJbncGDrMygd9POa3L6iUVM3PD/w4nfSqSGk7gxKVVVuw2x+fgpK9ZWWDqOetOzTgMwL4ndRT2J/El0bAMfvvP9N8keffrv8zdc/Iv/1O78u//jtz8h/+Z1P6s8flb948f2mmL738V+Q3/3gW+Ub736DfEkV01vPzknB/j3W2JNmnonifBntbDTn3m+pqvrmB95i90VdsRm3o84ZH3DClcfSeG4ooFMnpM04wsU1RfcIwLQQwKQLM3UV50A7Zvt0Lp44anHJ4piLk8fsZ65HVRxQEBwfaZF3nOqXXzjcLk3leaaY8nOyLZ1nyik/NwJT1LMvLZ3ne+etUE6r6k1eOa2CEzWngT4ZGxqw9zQzPmopygMKqMUAKFJ8K4Imq8cOuQBE9vOBeetxB4iOeAjR746BfYw0t5iecOaGqTFZjAGJAX0OSv3WaHXeQ4mhfFN+BIX1sGupl0HrzFAl3TWltm+oRcHUqKqoOnunKSQD0xOPaDwsWZselar9W6WtNEuG6kplXOEEkEbYh1RbIsMKpQFVPT3l2dKpSqnNoOSA1Ji7XZK526QhZ5skNfi5Sa/n9g69b7cqJZRTfd5OSeTskrrCLGkuL7SNtfWVZQqdegNSBKVaN5E26cel4xRlGCBpvZybnR1+NE+bKzKu7evIkOLRh2xRpqZUp4t1w/JmV1M64WtKZ/aoWtI/mgvx9J1C6XKAUl4MSkElFaag9OwKKK0BJmLEwkNMH9O4tEcaF/dYjYrI73pc8jsfl7yOjbK58FXyVIFG/n2yKe9e2zv1ZM698kT2PbK34RHZW/+IlA4/IcWDj0th3wapP7RFkstb7L01LG2W+qWnTBVi7HBw2mDOw4rpdaqaHrV0XlbnbbK//kGDUpsfFAcsMDvQLQF1Q+otCt/PDhihgGwTrN4H1UK6DkgAGvYc8RxACYAEcwM/U28iRch9UUn0bCN1V+9Td1jBS4qLrQlrgNLpaebK9NrmTtQSw+uAIEADBov9jWYF/+o7X2PpuT/+9V+Wv/3Gx+SfvvNZ+W/f/ZzC6bMOTF/7iKXyqDf93sfeZorpa+/6KYPZT184IAPNNVKak2lQGutIyjfe8wb57kd+Tn7vo2/T5/0Zff4XzPyArbyjttw58hRMFX4za8r44OzZKBP6lQGmQQXTVASmWQemo4fNFn3h+BG5cIw4bOcXLQ7LRb3+0nF3/Xm97xF93JCC4dXzHfLO0wPW58+Bab8ZMfJzsyPV5MBU4J15JVIdpfMqvDsvpZrigOIovCnAyWpO9Sk4+Y2cfdjI9f0Mo54UUOPUngCUKqh59hEBqNlpG3G+rLBx57PW+dsCCBmI+HnGQLQMiNggqyCie8Mi1m8PokOTbqy5wWjcTZGNVNJwv81DAkrWOohx5nT7tkF9zTLWlrTmqoPsDaqvkN7aMunwYCJdV6OqpXj3JoXROsl8/CHZu/FB2ffEQ1K6+0lpLtwrfdWqmhoclIZri2UoUSSD1fnSV6HKp3SftJO+U+g05SmQcrYqkDSyt0p99hYLfm5UUDWrcmov3iudCiVSezU5OySRu9dMD7QhqiktlLakquvmpHQ2OyixobbVGRtsCGCL3g6UGusSUlFy04H3I3namcy4ltX1CluAy1UlVM+pPD/4uC7aT6VSeKil0yqxUUsGpv0KJoXSJQ+lKwqlq0Ap/6Wh9GzRKgh9PyiR+uM5hp4p8M+bbylClBkqjdfAa+k+v1/VXKbCc6+0n9ojbSd3S+uJXdJyfKe+hx3SdGS7NB7eJk1H9ejsyFZTgsnDm81lWL+8ydRh7SEF04EN9hkA6LKJR1RBPiB7mjMk0VAYQYkUnoPSiMEEZbIUCwOSVz/B3s19UT8ACdB0msW42yDEc8xMppqn8tyRSmpqtE4NuO6snlRdbVZwetgBJKKvpU4uzA9Z0Z2Gp9jBGdLHc5HyI4XGZldMDl9712vlOx/+WXPdUUv6p+8qlH7vc3r+OUvjAaa//OqHDEx/+rlfNXihhkjPUTfi/Jz+rqeXJ+Xa4Sn53sd+Qf7gk7+kyuud8vuf+CVVYW82W/ln3nLefmdnXbkBoDTW7aFyDTCxkHTFwaTKgsX65OJBK/zTyYB9Oud9XAhxZCm6fJ56zNJB65o90dWoUBq0CIopx8DkVFMKTHlpBoh4Oi+YIOprqlcBKsDJlJNGsweUsyc3Ws2jm1561J1UwQ5GgOpVQPXrexxUQA3L3MSozUQ6hEmC/nU+Fi2mLJZmHIjsOg8j+tzRUuggZgYmxyqM2DBrE2QDjPzQPlJ3dP6mtx1QotEqU2Knuh2UxlUtjbU2WMdv1FKfdWcolY7KAmk1MO2Thvw9UrZ3s2Q/9aiC6UHZu+F+ydz4gORvXS8NqmqoH5lKMigVyiDmhcpc6S3Pki5VQK0Fu6Q5QClbDwizNktd1lNSt/8pO29QOHFbc/4OhZj+DxdnSkPuDqncv13qirKsP15Nca6l8KgrdTYnzfTQyHejBxCVpa5XpfseHJTKigquvdzr683Tv+G0Wxfc3N47PZRUls+GFN4mp5aObrVFvfXkLgXTnhSYFAI9FwKYcleAyUPpeqEHU1EamEZeEkpFa0LJwBRBKd+UGQotDUwKy67z+0zRGZz09bad2q2xy8CK6gOyzce22ftqJIDTEYWTgql+KQWmSv0cyiYfkaLhhyS35x7JTDzkxmr7FB4taFAic9NTBiELr4wsHacwwglHAJsR6+7dZc/BfiKeh5+5HiBRnwrmhkglKQRRSStTd7QVYm9SgVdKFw6O6gLUa/ZkoMTGTp6T5yF1t9SflI++cNTtT1LV83sf/TlL0f39Nz/pofR5+efvfSFSTP9gNaaPO8X02XcpdN5uIPvmB96sauinDT4ooz9WsAEj7vNHn9FzhRiQIp335bc/Zx0fXn901FnFvSMvzfgQAxPpFo5yAdMQYBoeVDCN2SA7CvzszzmrcS4W52MBnM4tH7LrKf7P6qJ/aqJTfuXsiI3bwPwAmLCLU2fK8+m8UGeKDBAKziqfzoubINLhFK87JRyc6hycAqBavRuMTZ5dpp7igOqUYTbj0ilisE8mhwdkmn51tAeaGJMFAjUVi4PxAGQeRDRgXWBqLCMnMDQQCqJ5GqpSR2I4HwqJrt+EKaWOCEoM5KPjN5tkowar9a6XHe2CuqoKFUzZ0qxgShbskcrMLZK7eZ0Bac9j90nmhldJ9pMPSU3WVmlTlTOoqmlII0AJtdSjaqmjaLe05JO+c1Cq268Hgvv0/80HP9d7OAGmNlNXu6V6/1apytktyZJcaSgrcA68xnoDE1BK8t3o30+Jql6+C/v82W+m30llaclNs8OP2mlzWca1fe2vlPz++6R03EGp0qC0ITI8oCZYwFnQIzDpgo8qMTCZYspxYFIoDVzNNzANGZgKPZiKolgJppGV8ewKgEVQiiml6ykoYbKgtkUqkZQiqUVSjICTOhhpR1QewX4r3oeD0zbbhxWBSd8nismgtJCCUvHIg5LXe59src6QqtqUWsKEMGqD4SbN6Wadv2mwSqNVn47jNlTSqK8RobCADMHIBIMSri0F0kqVxJwf4NXo90mRuqv1VnA6MwAkA5PGO547YW1W6JzNRk5Sd3R2wDUICOY7E/Kx1x61eg/7kHDY/ccvv99UEQopQOlfAJNe/odvfdpu+9uvf1T++msfUYC918ADjP7wU+9Q9fQrlt77iy9/wG77y6/+mgGMAFTfVoB9/d2vNzfeJ99wWl5Y6ld1EqzihavAVOMX/4ZIMTUpmDplSpXfgi7ApKywQJ9R6JxZVuW0lAomp57T687rbcTZxQN2Pemt/o5Wef2RYXnX+VF5x8l+A1NjWa5k78u0OlNedko1FeWvTueZmlupmkKsAFTSA8rVnlIpPt6PqacYoHoMUK3Sz+Tb7g4ZVgiP9nXLuKqoSVVR0/StYw8USsrHfCwWxh2I5keJQetzN6cwYow4/e6Y3MqG2VnGiyuIZvq7zQ5O2g4gYXSY7mmzuUgGpY4UlBgpMdxYbSMoaK5KC6AuVUxtgKkoU5L5uyWhACpQhbRv4/2yZ/29svexe+1y5d4nzbzQqyACSANAqVz/L8v0YLFkr7SRwsvdJknSdgohYFST+YSG/s9pBDgBLcDUWrhLGnK2S+W+bVKvaok0Xkt9wlJ4gKlNwd/goYRS4nKTfe41ltZLlJfehNKP2mlrIuNaZmuGFA4+oErpYaujmNlh3kEJI4CBaXmLpb1MMZ3YaepjLTD1m2IKYCp4CTAVrxErYeSV0jNrQOnpVAovHUxZq8DUEQNTXDG16HtBMQElUnkNy09ZCo/3TfquYgbDw8OqlB6QnK57ZWfdLZJbsc06PAAMZu8Am2nbPDnjlBENVmm0SjpuasJqRKGW1Out3aTTgAzA6dGjZgYIMtl2VJUBNSFABbyAH/UgS93F6klYwdmbFIfSL7/6lO2bYX8MYGLS64gu6Oy36WtKWFdw6kmk1b6laof9SH/1m79mJoc0KP3+F+Vf/+BL9vO//P6X5O8UTMR/VPj8hy+9z8AUIMT5f/mdT5kx4u9++5Pyn37jQwYw7oey+tYH32rpPizjuP4MTLE9TGuDqcIWFgMTo651wZ5UJcFCDGRQQKcVOqdVORFnfJxdXDAYnVs64KCkcergnKW2Jrua5APXD8ivnh/zrjxnF89SMJHOy81+qXTe2qopRH1QUD4aPKQiQPmwtJKvd1Cot/5tzY32HnvamqVXIdWvKmqgq91gPNLbJWP9Pfbep1FRPmZiMasBiGbtsoPRDHuRFEZslKW10DROuz6i0zbOWvS0m8lhEpWkUJrobHJQandQGrUpsgmbh0SzVOtnp2oJMLUHMOXtlNrsrVK8Y4PBaO/6exROd0umwqlEr0vmbjeDAyqprzzLoNRTqgeJppa2S2OOQikLKCmQ9iqQ9m6UxJ6Ndl7j4dSQtdlqUC0Kuep9m6Uqd4+ppWRVuaXwABPRkNDvRP9uqstL7fto9J835/w9vdxr7M3TD3na0ZDx4v6OV0rR0EPmNkMZBLMDKbzag09I3aFNZghoUDBRi2k+pn8ogOmkgun0DRTTlZRislTe04UeTjEwxWMFlFIAW5m6K/BAyjdTRaSWruZYGq9vpVo6H1dLLpWXSuPtMCMH74k0pRkeDj7pnHizj5lqLBl7SAoGXiVZ7XcrlG41KIUUnku9DSh0xlyabnbaUnk46AxIqn5QK+Mjw9ZLj04AbL4knQZgmIKKhZvZPSgu4ERKkPvRHy4YHFw9qTZqLRSl7jSAE6m768fnrIs3IyEOsvlWfzdD8GiGutjXIO+7OmsbYeltRzuhP/v8u00FrQklhdG/fO+LdvnvVTGhmv7utz9hgWUcIAEhgtv/9rc+Lv/12581QP39Nz8tf/P1jxmwqDP99vveZMaKT73xjIHpQHddpJjK0/YwldiiUlMRA5Mu4l3NSRnsbJMJXaCZEURR/9j8tAHn1AFi1iamntafzxyal7OEAurMQXd+bG7aFuxz073ywWcO2gypX6bGBJhayxyYSOeFWlMuHSlyonReyp3nak1mZ8ehF+BUXZUGqRSoXDTUVDlIeVg1xgDFnhuO9Nt9fYROGd2qEHvbm03hDaiKGlIoO0B1ywQqKhZThCqiaY0ZgMRlmq/qfWnAOsV+pN5Om+A6iamBwHFHHclg1CzjHU0aHkh0/PZQGvFQYhaSgSlRbBbwTuvSkG2bXxsVFnUKptKdG2X/xlcplO6S3Y/eoYC6Wwq2PKLQ2SJtqnR62INUuk+6FUpdxXulvXCnNJPCyyJ9B5QA0gap1qjaraHnCQUVCop0npkjFHJlmfqY4myFUpml8AATUY8pRYPPuK66Qj/jauuRR02J6/ft3p54udfZm6cf4rSn5ZWS3XVnCkoTj9h+nSpVCon5jU4t6UJNfal+abOBKXl4q6qm7WYgaD252xZ7wNR1Tv/wLgCEbOlbBacCr5wK0wF1w3DqaigKp7ocjPKtdkU4lRSUUhxKvr7klVIKSN74cGyHvYfGI9tMBQJd4Fuz8ISqpA1mCy8df1gKh+6X3N57JbPlDtlWfYvsLH4w2tWP8hke7Dfb9ez0pAGJOs705HgEJObxWOqut8cABIgABfuGgA1pQNQRKTzOUV/dqpLYmMnwudBNwqBk9aRKayuESsIOjtnh8uKEvP7CYZnR17E4P2cqid5sPAeL6weenpcPPXvIui/QqYFed3/x4vsUKh9fE0oopH/9gxej8//2e1+I0nl//ZsfsVqTwep3f13+9Q+/bOfc9x+//Vm7L2D6K73fn33hvfLdj/682c+/9Lbrtn8JMB3sqY9qTM74UEzuPwamMqlVVcIRMItPpy7aAx0tNk11dqjfHGZHZyflBCYIBRRxamHG4HSGAFAap/1l9uyMdLVZLz9mQL33yrRN3MWZh2KiV152ANMa6TynmtyepsigEeBko9dd1N0g6i3t54L3xM9JO6J3i2ezX2BDSor3C4wNUKqi+lRFDXS2ypCqqBGaqurnMB4LZiZNKIgmAZE/B0aMFKcJ64TCaEJhNK4wosUQ3RzGO5pt8yx2cJx3owqkUYDUUicjdO6mwaqH0iCD+2KNVq2fnSqmlsK9ZvGuU/iU79oo2Y8rmNbdKbseuV3P75CcJ+9XsDwpzXnbzOgAkLqK90iHgqpVr2vMfkrqFUq1mUDpMQWSrju71kslsfsxgxRwCoqpet9TUlOwX+pL8qRFPzc+M/4+6lQ5AXmgxN9N0sM/QKqgICfxcq+zN08/4OmJkozE7sYMye25VxffB6V45CGrK2GHRimwOCcW9IjlgFdLi0+ZjZpFvBEw6YLO4o7Dre3Unkg1dZ3zBog14LQmoG4YBaaywv0HruX758iz5yNV2GfhgITZYZXh4WzK8ABAUXjpQNqq72uzgneTvdeq2Q0GZT4H0nZ5ffdKdufdsqfxdtlaeYvsUCiFSaWk3lBAwAcYEagmukgHIAEbFBAAA0rW3FXBQh84UmvAjT5qqKW4SuJ+AKzRQ8nVk6pthIal7mido+dc/uYH3mQ25EOq1OgiQPftYT8p9thYh6qkGXPBASVSd3/wyV+01kL/8K1PqcJZAaXvpaD03//wRTv/Vz3/p+9+XgH2OVNE/2iP4f5flP/x739D/scffUX+15/8pr/vl+02S+d95UPyx599l3znwz9nlnJMFtjE36+QfG6+04Mp1+o3DkzFEZgSBqYyadBFpVkXINob9bc1yagusigC7M5HVDUdVzgxwvuEnp+cm5JTCqjTC8SMXeY6bsOBdmCwQz7xhlM2oPA9l6e9M29ArozWyr69ewxMOR5MqKaCFSaI0NQ1zT0YKacbRblFnT+aD0GDWxbTBgNUpfUVZCxDS10AFJtE6V5Qr4BqkO6WpPQqpPpURQHoIYXsSHe7jBKAKhbjUbTbSHGasDLFdYw9SaqORhVGo4wybwdGSRlpbdColxEF0nBI3dHHTqE02FBhTVbp4k2j1V7GUdD5uyxL2oozpbVwj+0zqlNwVO15XHIVRHsevV12PXyb7FY47XvsLr1+oyRztpjRwUKh1Ja/XdWSHuBm6QFvDEqVO9dLhUb5znV2XgWcPJiwjFdk7ZQGhVIze5MUSPxt1Fa4ibRAvkK/H1S2U6ZVBqWSm1D60TltTWRcw+qc33+/1ZQclB42WzgpPDaTmlpa8GopApNTSyzqLO4s8k417TIrtqs17TM4dZ9X1XJBYXFRwXEpNwJUHFI/SITHEAYifS5ShTwvysyFgxGpRFTbKiAFhXRku8GI91F3SI++Fp5UAD+u73mD7+jggIT5AyBlttwuO+teKZvLM2RH0YN+3k6TAcTN2RmWaYURgWqiSWcAErejkoL6QWWxeZQFDdC4wXdddh8DV3ubjcrgfozspvcacLF6Eqk73xHcVJIewQ92NMr73njJHF10DZifdiqJZqf8DswNKCW6ftPJgc2wNF7966992OzfBqXvePedqpx4XQko/fc/+rKeuwBWKKEUkL4i/1Oh9D//+Kvyf/3Z1/W+X7HL/6JwQjX97Tc+Ln/+xfdZGo+NtdaG6K0X5aP6mgKY8n0D13LqN5FqKpZqhVNCP6daOpRzJKwLTIcu1n26OI/qAkutBMvzsqqmY9NjFsdnxhVAE3LSADUppxRIXD6ll4+oWppVFXH5wLC1TUIxkc5DMVFnYi/TdHOpGSByInfeStWUl9ZxPKWcUjWnmjWjzKI2LRRUsag3QFXEAFXt1IAuvG10MWBvjkKqqykAqtEgPaCQGlIVNexjxAefETHW5YA0qkCiOzhAGqGLg4fRMG67FsIBaaipRoGUsK7gTJMdqC+XAdoG0c8uUWzzkOhP12Vqab+57VoLdxswsHYDoPxND3gwvcJir14u37HeakhtuOoUSERLrh7YmlrSA9+9G6RaAVSpMCrfQTwqZdsftcuVux5ziilbwZe52bqI11eU2OdDD0Yb/udTpHS1R4kCJlQpn3tBTta1l3utvXn6AU/b6zE53KqL7wMGpaLhByOzg6XwVqgl1ESdV0shjbcSTC0ndrmUnldOHWdUOa0BKKs9XcqNQOUiL3U5flsAUAgApM9DqpDn5LldBBBl2u+O71VqPrbTwejwNn39qo4OqTo6oOpo/gl9nxulYmq9lPn2QuxLyusDSHcZkPYkb5MdNa+Qp0ozZLtCqTnpukYDmjAye0phBJAAlEvZDZj6ATZ9ZlxoM1XEY2mMytE2jUl5Hrow9Ot9mNmDSqIfHC1s2JjJxNYGPXoOqbsSn7pDJQGlK8uT8sLZQ2YtRiXRd43XxO85Pt5pAAhQYvMrm1zZn/Sfv/GxdCipWvrnFWYHg5LCCCUEgFBFQArlFNTR//7Tr1kApRDc758VYKT1/uo3P2zGh+/o7wVMtn/pzecsjfe+a3NyfarFlElBXo6ByRZ7nG8GpmIb7Faji36dHg03JSqkva5aeprqbEw2NZKFwR5ZGhuUo5MjFsemRuW4AuoEoZA6CajsfMLuxwL9S08fsbZJH3/dSYMjdSbA9ItHO50BwtJ5mavSefEWRSGll1J5Jc4QEQC1ZpRa1MSitsKBNx50LWhQSCX1/TbWVCqgqnQBrlZAJRRQNQqoWlWOAKrO+hD2KqT6FVKDCihiiFAADfsYicIBaZiNsq1JGaLvnQKJ3ndDCqRBxpp7ILFXCfddv0/d9dlE2SIHpap8a7ZqYCrZ563bOz2YNhlAirY8ZDDa9dCtsvPBW2W3wqlYr6vNfNwUUouFg1Jyf0otkbpzQHpESrc9bFG2w8GpNvMJSSqYyvfvUCgVm1oC4hXFBaaSgFJ5UYEpUYCECiUVXJSXc+3lXmv//3z6vwEAAP//7L13dFTnluaNwTmByUmAcqqsKpVyzhmRc5QASWQDxoABY8BkMBmTo00ymGAbnLFxtrF9nfve2+573dM9fWd65vtm5t89+9nve06dKpUwdvf32Xctaq1nVUkqqU4dSe/vPHvvd+/f1S2xvAPZq+8mr4aSn6GUNlrnlcQtaSg19JFcS7BbUmG88GCKExAATlUhgDIclAEpA1ThNHCh03yOVfL9C+zyswRABoRYCCNWWjfNGqE6DaNCE0bsjiaxO5rA7mhsD0obxe5o+CPiGhHOBJBslXdTUhn/YxXdSTG5Haif34BSkcAErsYY/IZwneGQkEPCWAPkiFBsAOjUVquQnDF6G7kUhPAAH7iawfwcNPdEWXeVtN4vNl0SRj1gKB06bEvIDqE7XhSRTzqyZj5Nn8BOjV8bbWzQcRtww/NnjKgyXQk2zb5zaI3kkxC6+5cPLzA0LguUsC8pXAWeCuEFoKRc0dv0v9kNAUhBUPr+eiswwVX98wcXBUwoEwcQrx/dwI5tueSXEFI88cREWj6hnKr4KhwLfzpaEvk1mFg5vODnMZzyWQWZfirNSafK/CwaWMJX9LywjqmrkI2gTSMH04wxw1jDaebYETSLNZshNRuQgvgxQDVl+CD++hCB49UdKpyIIpAjC0fT/jmDtGNKkzyTqs6zmeG8tuAUGAMfCEOiu0CuASmEI4OU1kr5YQQQm4BCAp8XWjjGCl6AKxlSVQyp6uI8qmFI1ZVqQJUXC6CGag2rUhquNQL3FiANQxeHMgWkodifBDGUhmBgH7sk7FVCWfggcUmpMpwPeSWBUoZTOi9USxgvgcrRy47BhFLvXHZM6dFdKbn73QylOyi20x0CqJSIh9kR9aBSdk0AElTqiDDdUk58d8oClACkqM6UpgVIZcUpMCGUV4DWQwxruMt0r9t0SunsZuFEER6FAKW0FPftsvC/h1tfb7u8uOJ2sviGg5IZwhO31DvYLU3rL3kYCeO1BabZwWCqmpuoxNCoflQBpGaeAkqthpWp+YaSA9AR8ChViwtKkp+nABQKoViVL+LjsobpAs6oD0NXwSh9NLujEV3IO1S5I9fAByRkZ6+6h5LK76aE4rsorqADRWW3p4jUdlLoIKMMSktkfAGgAwAhZGY4JHysXNJA6YOmHJAK3QE0gAwWM5RBA3D4OeiZhtY0NRXlMmuoXEJ3BTp0lyeuCsPyfLriDsUOuP/i/G7Jt0weM0p6rKGxKVzSmPpKGeaH8N0LT7dIU1V0/cb8JEAJTVhRvCBuKQyUrHkluCMFprfNcJ0Bpv/TBpjw/P/+xWv8819mMF2QsnHsbUKZOJq3YszFRZ3fObFkglTEVfGih4VfgcknoZjsNB/l8GKfm47RGarNTDFfJVfkZVBdEV/N86KK/MjE+iqaNryepo8aKpoxeqhAaiZDapYFUgBWw5A6WjVronkc5/k8IZR39PExkmMCnHY1lVNJukvCedYiiNZw0mE9vb8pQybd+gJgNQEVTv4g5YWRgrEVUBkMqEwGVBaVsYuqKMiW5rhVDKlqhlQtO6m60gJxk4PLi2hwBUNKayhDCBpmiM/dUHZIQ9HFoTSfhjCQhgiQcqTVkHR1QIEDSsIxIylXjTjHcL46PZaiRkPJcEvo2FDGDghgQkVdZmxXsvdgMHXiC7qH+f+nYzty8MdZ/PliBlGxnd2Po688LkzmC2AGFr6WEdOFYcRrUmRAcE0AVhE22zqjJXSHc5LqdjKQVOFIhi9FoFSo83i4CODfzW0o/T3csGkWRQ6ugQ8GoDQyGEoI4QXcUm8NpYBbkmo8AVOUFD5YwRQUzhMpeAQBqg0FQBOi2cgLMXxmxalw3Ezkh4z2QcgTsRvSEEJ4rnCqAhFyRnmT+1DORITpevL70zAa2VWqDhWQHpZzIUCqvleF7UrvklxSTF4HisxqTwxycqZHSlgNDgehNmMSKRyKAGnoEPnY6pLggJAnQoEEwnGADK6ukdTH5koUKdQxtCB0zMZGS9UmRbkkNAZFPikQuvNKk9MlzWNp5ZwGuUrGZku0sEF7G+yXmTdxCF1gF3B+3Sxe/OfS688+Kf3uELpDE1Z0cjChZIbwWueV/udX4d2SgOm71mD6PxpMeIzvQe4J3SH+cv2cVON9eWGvCuMdWC1tiBDGe37ZZHEqh+YPo4bqLErBOHMUQGATq98r4ZlsVg4rl4Wee8Vo0JmTRjUFWbKYIlE/YWAFTRlaR80jBlPLSKXpo4YoQLFmMqRmjR0u0JpYX03H1iyQknXZ4LtpniqAWDxeuj/smz2QdjOYglyTkWsKgVOwe9JFEeZQQZ8CrAGoVkoNKE3d51qUZ1VGqrjFwqw0KmJIFWenS3l0KUOqnCFVkW8AKocBlcuAyhNHOYgBBQ0uKzA1RAtAGmIB0mABUjYNKlT97+rZJQFI2EALIGHEOQodUBoeCiW4JXRsKENlnQtFDApM2XHdyN37XopnIMU81I5iWUld7qA0Bk1BUk+BUZGtNxXy4/xEFDswlKI7KygN6EipUP+H5THcUza7qSKE/NJSJPwJKCFcBzBl+DziPCVXx2C6DaW/o1tMQbtliWWovHsoPJR0XglQQkVacG4pBEwtrcEEYFhdk8BkdjCgghVvPseAjmhmrAmfUgM+06O1A2I1MYCaLBCygqihrxQwIGeEMJ3kjcZ210DqYgIpZXBHcg98KAhIRtgull1SdE57GpDRnvqkMJTSIsXBwI0g1AboDJeS7iEiAAkfW10SnBDyRKimK5HSbr6iS1PhHuz6r9F90mor1ShnQKlMt0lBGxt0DUDozq9DdwCSX/JJ42nNvKk0kKE0dthgqufXwfdgEYQzwohyhKcQusNeIYTuMD8JIyr+9cOLUn0XmlcK75betLil8GD632HAhK+j+AG5pX+T/NIL9P3Vo1Imjm4PKBPHsSGMBzAdXjCC9s0aSJMqM8jDziTV46KM1BSGUwplaeWwclM9LDcVpqfIOAMMgRvEiykS9eNqyqhxcDU1DRtITeycmkcMohZIA2rm6KFyP3VYPY2sKqVj6xbSu0fW09WdS+nChkfptK7MO/zYSNnLhJ55GLFuuiabyjW5ndo5Sc4pHKAsDkpDKiNVOcBMcYCpFilHmO0PKAdKCyg3RHCNmG1VyJBC0t8AVFkuu++8THaSWRLmrGInVcOQqmVI1TOglPJokNZgrSG4L1ZQGiRQyqR6DaWBGkp1Gkq1AiU15lygJF3AVcFDJbslARO7pVLnAKmuK0jqJaDx93+QEjopKAFOeJzS937Kie9GBQyjgqQelJ/QnXLju1JWTGdKj+zIIHqYfP0fIl8/vnhmAU5p/Hnkn4rcseIiEb5DbgmCU4LrNApK4EjTb0Pp7+MWX9zujeSK9uQZ1FFBaXgAStJuCFAa30OH8HqZbglgKpgS0SaYzFDejJgg1wTABAAVRm2AyHBBpQIiC4yaLTCaFh5GyBnBHZlAGtMGkOoBpAcYSPfJfiQAKaHEcEntKYpdUv/0O6i3px050gaIg0F4De5nENrEMIBGDB0sApCGDaoPckkI3UmJd4mGEroy8BUcFinEwavQw6u8ROCEVjToOF0moTsFJfV8FbpDTglAwuPPX9hJTSMHUn1ZEQ2prZK9GqjqeqxxhJR/A0gYfY6xEwjdffnis/TH147L/iTsOTJDeJ+GhPDELb3WKrfUGkzXgkJ5wWBSwtdRJi5hvPcvSGeIr19SDV7fPbxO4IkybYDJcEtwKePL/OTDRlYWFhpcAWeysljZPjflsHJ9Lirwu6k0w0uVObxwFmRKon5MVTFNrq8UME0bVif3zQwowGk6ck8sAKtxcK3klz49s1NK1l/dtUw2+Z5dPV3yTMZepj0MJoTzcEz2pERVCGHAqU1A4dhdaiMuukSYkPJoSKUoSKUqJxhO2WGUwy7RFADN95hrVcCQKsxMlQKAYoZUKUOqLCddZl9VMKQq8zOpml1lTWE2DWRADSzKEdUXKw2yqiiL6hlKAxlKGIFeJ/3vUqk228tASqGaLDfVaCjJqHO/TVfhJZpQqtBhvFKzkKGXwCYjqiMld1Fgin5Q3Tt73ikAwtfzErpRblwXyo5lKPFz/QKkB8gbcb8IEEtlOAFMgB1KxAH0VlDSBSRwo7np/ttQ+nu4JZbdSbaqu28RSj2DoCRuKRRMoTmm6dFBcBLnNDPWAin9sVbZLYEoSoGoTWeE0u6+ITDqye9FASltVHggueoekI4NtkoFJFTbiUvKVy4pMrM99fPfQb3c7cieOkBggRAe3A+KFDCeAKXfEAA1tD7gkgZWB4oXADIDSnBKWKgQdpDGnbo3GgCFVjTY9V+iXRK6BKBaz6eT64DSsOoShsweKkr3Ug0vMtjbAiAN589jNPkr2xcJkF7Z9ji98eyT0u/u25cP0k/XX6D/8v6LUugQlFcK55bMPUuBMJ4VTOFyTOHg1BpMp6R56ydndoiDA5heeHqGbPBVeR2AqZ4Wj8hjx2QjLy/6uBrOYGWKXJTFyvY6KYeV73NSMXqiZfmolq/skaRHV4KJteU0dWgtTRMxnBDa04CSj/l+Un01rZ03RSCJHBP2Ukmua1WzOCajZPxZDaZdRkjPAiejI4Qhj9NuAZSDvBZIwf35DUixBFIsga52hVaJQ9QwtirbKnaOOXCPVkBl+KiIIYX8W2m2n8qy06icIVXBkKrKy5Dx4rUMqDpRlmigVn2hhlI+QymPoZTrp9ocn0CpBnuUMt1UneFiIDlMKFXqPUsVGNgHKGEfkof//12RDKZ+VGxHzqgnQ6crZcd0IlfP9hQHMN3PYGI42bq2Y+jcyw6pkwApK+YRygSUBjzIUAKM7iVPn3tYd8s9PpcR9QgVIA/FbsmAUiZDCWFQVGxCcErZt6H0+79JkUMRX/XX3Kuh1LENKAWKHbBnKbcNKAWDKcQ1tYKTRTMCKrWAyIRROBCZuaJgGOVZYTSxVwBIYw0gddXl3iFAGvggnwcGUtW9lFweABKKG2JylUtC6M6AUnqWU3ciLpRQG4oThshQt3oRAIXyblTTAVgI3cFRYXx2uVTUKSih8g5XdUjGVqBdiu6JJlMzJZ8UgBKagaKJqRG6g1tCKfhXF/dSfqqbSnjBQRgIQPrg+EaBEMquDSi9c+hpNfqcXRJaCyF8h5ZBRggPVXj/Zq3Cu3E1TBjPUvggcHoruPjhZ+CEx9IZgsEkDV5ff04au2LMhcxf2vq4VApKK6DF4ySvg4KD3c0VNLkynTz2ZErjBT09xUUZrMwUJ2V6HJSV4qDsFDvleh0yOrssk6/keRFF+Gl4WR6NrymlKUNqaMrgatFUfgxIAVBTBtcwtAbKoLtzO1ZKWBE5prf2r5aScaNy0SgZxyTbPS2VYeFkBZSCVABUHg2qFKcBKQUquEDkQxSoXKgS4/fnVgD2KVBlMLAyTRi3VpbIFSRxkQypPL+HCtL4b4wvXIoYUsUMqdIsAMov+bjK3HQGVDrVAFCiDFGdKF2G/dUxlGo1lGo0lKo1lNCgtSrNzkDSUEo1oKTcEqCEdkJlrgFSYVfCYCq29aJ8dkM5sZ0orf/9lIA80/1KeOzpfRdlRD5EmdEdBUrpgFLEfZQCIPW+m9y97hLhcUrf+ygrtgvlpyTJ3q7iPPU/lSP5N1XVCEBl+n23ofR7v0XltFsWX9JOQlatoDRKQSnDgJLeryQhPANKltySqsZT+5eKTCnXFAynKBM44WTkiayuqDgURIYrCgejcO5orBptLkAaER5IqtLuPrOwIb6YgVTYIeCSAKV0VXnXy8VQynRKSA0hPIwlqEOxAwMIMEIeCYBCY9RBtYHQHSrqwkEJCxLCDNiVboAJrqncmk9CFweUtWoYAUoYmnd07WMCJcw0GllZSMtmTJBxFO8dW0+vIZ+0eb7klBDG++C5TdKA9U+vnxCnpKAUEsLTbskaxgt1TP9Dg8l0TUFwCnZO/ysEThCeb7QhMjqPwzEBBG+zYwIIUJhxasUUARMmx+6fUy8AmISx5smJ5HPaKN3jZDkow20XZbptlO2xUQ6rINVJpeyaKrN9srBiz83YqmJqqK8UNQ6qoimDqk1INdRXMZjqaERFMX3z8mELmFaZlXni4BYZDm6gCSUTTmV+siUmaDhZHJRASsltgsom7k8JoLILpHxaqW6H/F34+T0qCCtQZWgYB8sZpEyPArWhLP5cNkMKYc48v5sB5ZE8XFGGl0oYUqWZPsnJlTOkEP5Ebq6aIVSTa8gvApRqNJSqs1IESlUaSpUGlFKTZSgfRk0ASuUCpRgTSqr8W4OJ3U1hYnfKi+9M2dEPk6NbO4p7QIEpnt2Tq0d7AVY6wyk98kHywynBIfW6kx2WEkJ+7t5wTfdJGXk+wxfl4QA5wpx5uqIRob1Mv/c2lH7vNxQ5SOVd3UNtQ2lst6AKPJVX6i17lvKCoBRwS6pUXEHJdE0mnCJN6ISq2JInMnNFTeFcUZgw3aTeYWAUyB+16ZDqjEo7ax7pzoBLQi5Jh+6QT4rwtaOeznaUluFQjTXRDqZUFzvUVguMACYACrkkFbqrlK9LRV0YKOFKOReDybD3RPfyQpNOgRIGyUnvrhzpGiBhOy102kZ+CFD6+tJ++ualA3oQ33Z6+8Aq6cqNENTVnUskn4Tec/g6ujig8u6f3ztnCeGpKjxUyJluKQyYjByT1TUFw0mH9X7GPZltiD68JPuX0HX8KwYm3BI6PphgenKKcigMJoTy4JhGF3koxZFMKfYkSmMYpbnslO6yyRTcDFaWO5myWfnsmorT3FSR5aVaXmSHFGXTqAqE88poUl0ZTR5YzjCqEEhNHshObGCllJTPnThc2iJ9fv5ZmbZ77ZBycKjMg4NDZd6Rx0YJmLDRdncInMaVpop7AqBsSQnaRWlICaiSGFRJJqzcFsEJpjCoUnS4EvLx+0tlUPkZVGkCYpcGsoJyujtUdlMK2DYtO2Xx8xHuFEClqlxcIUOqiAFenJEiebmyTK+EQKsYUFU5qaJqhruS14RSVaZHoFQpUHIIlCosUCoPgRI2y5a5AKV+AqZSBlOJDWDqRgUJXSgvjteeCP7/e7gdxWowObq3YxjdK3Dy97+PfH3hkjowkDqQs0cHcvS4U+TqdQ95Ix6kfGe0QAkQykr1mtWLiCDcLnT4O7jFFrV7I7G8PbkHPkweXqS9Q28VSuHzSqZbmhbqlgaYoGlLBsBM6cIF5Yz6mSG6QAFDAEbZFhhZc0cGjNIYRv4RnaWvXzggOaqxQTZQ/p1gcUkCpWwVuuufdoeUgwNK6KWF7s8legQzKuawx2iwdGVgl8QOCZDC5+CiUO5dLVAK7D0ClNAvDQlwXNXJpkjdywuOqVzPggGU0I0a7XcMIKHsGKG7Ly9oKF1WUML9RwyfN/eukFY+gBJCd1jov7q0T0J3f3nnjEAJ02bRVPVfdAjP6pYMMJky4fSqCad//zK8c/p3+Zzqf9emg9KbavE62L+E/nhqTtNeKTZQHR8W0rk1M8QxHX18tITy9s6qo906dDaJF343L/p+dk1+ZzKlsdKdSSIDTrkpdirkxbc0wyOLK5L2w9k1jasupvHVJTSxppQmaUgJrBhOY2vK6ZknZomDQ47p41Pb5XhQTm90OT/5ZCODaaTkmrDRFrAMdU5WQCUnxAucACo7H7MDoNKwcmq5khWs3BYpSClQeVlwiApSdoGUCI9dCs5pDOeA1DlJM89NQOr8wFmqkGeej906n6dCv4uKGFTF6W45Z2UMqkqGehUDqTIrRSlTA4lVmeE2oVThtwuUyhlK5RpKZVIaroodkFdSbklBqcwBMZiSe7Jr6sFw6kr58Z3YNT1Iti7KNRlg8jGsAKfUiHvYLd0lLsoBdW9Pdi1Hj7vI1+8hvhhJlsrFTB3CEzBlpN3ePPv3cEsovZMX4jsFSikaSqkmlDrfMpRahfBC3VKzAaZQQKmPbwqiVjDqE9YZhYbqrO4o1QokdoOeQQ9L6bcUNtQol4TiBskllQZySRK6s+aTGEooB+/haCfNNYvMKalF4oLgiAbXqq4MBpDwOdl3BCjpMm+Myi6VQocc6ZOG6iuEYbBjH24JYbxyjDWQfJIa8YyGn9jrgsqtVJmhhCmzo+kPIVBCzuh9nU8ClBC+Q8HDe8c2SK87lIILlN41oKTyStYQntJL4pr+/M55+vLqSfrk8jF654UD9NLRnXRqz0bWJrk/qXXh0Da6eIQX79MMxUvH6OvXz4h+uHae/vIB/7zPrmpIBTbg/j+W/Uto3PqnN07K2PXPz++R40U7JKNUHKEzlIojdAZ3YuR0xpd4yceOyZOcIGDyO5JYiZTGymA4ZWo45VldU65fNoWOqSyksZVFNK6qmCbUlIjG457hhH5wGxY20/dXj4mDg2N679hGBhMfE0P+woa50h4JRRBwcUbfvHBgMgFV4qPxDKmSNCfDKV5AhXs7QKXlSFJyQgIqJQGUASktL8PKB/H7TmVYpcq9lgNK0udDnRO/3aoEkfU8wV0i9JnntUunhMJUp+TnitMY6gypcoZUBQOpAvcMowp2SRXpLhmTXqGhVC5QSqIyhlJZSvxNoNRPQ6kvlbFjKrX3Yjj1oKIk5ZoAJw87IkBJwNStHXkZRqkMJ6+4pfYCK3s3VRyRLLqDbN3ayz4mcYXYOiAl9l6BlN/tug2l3/MNRQ6xhfwLrbqHXYMBpU6toTTOCqVAWXig2OHnQnj9w0ApBEai/gpIN3FH2Phq7DcygGQN12WGCdfBIaHKDvuvDJeE6bFGHkmgVHWvWXGnQncdZF8SXJI1n4QiBxNKsltczfvBBlcpdqhSY64BplZQqiizQEkVMCBPJMUL6MrAiwg2Qqod+qoRZ5m4pBxzcBk2YQJK6KgNKH16epuCEjsgQOlbho7kk46ul6arV3YsllzS9aPr6LOzO+gfXj1GP759KgyUVAjvL++dp6+uPkevP7+bjm5bQ6sXz6MFs5ppZtMUapnaEKTpUxuVpik9OqOJFs6ZTksXzKaV/H1L5s2iNUsX0K51T9KxHevo1ef20LWzB+nTl0/Q92+fo58+YifGTgn6bzq/hDlMcCcAAXrkvaf3MGFzLargAKZDAqahKmxmcSeTylLJlRDLgEqkVMvii0U33YmFN1EWXCy0uPrHlT/232A8w+iKAhpTUchwUoACqDB9FW13Lu9bT39843mG/bPSHglggmtCpSBK7TFaHuFFODkUZGBPk1kEgeNj7Wypph0tNbStuZaeaa6jtVPraEVDLQ0pSqP6wnSGUxwlx8fJvU0UL/d2BpZDy6lBZUJKy2NTSmF5Gc4+hwISQI1zIbJBCVrx5EuG4kSpFqXx19IdCZTJ5yrblcTni2GeYpMxEYUMKZn46ndSKUOqnEFUhnsGrJKDygElv43KBEqJAqVST5x0D8fo81JXlGymRXl4qRVK7JbK7L1ZvajU1lPgVAw4xXemrKgHyNaZwfQgA4jBk9K7g8AJ93BLgJIAqQs24iold7mDMhP7ytYBAMkI47HDvA2l3/NtQE67ZVJ5V33/zaE0NhRKPQNQaggtdghxSyFFD4ZrMqVhFAykfiaQEBY0gRTikqyVdShZN1xShrikrq1cEqBkuqT6gEuS0F2VDt0BSqGhO0s+CVDCHqUo98PSS6tQuyXsJUIZt4y3rqkUIAFOeGyFEgoirFAq1mXecEsIw2ATpOzM12BCJRF+Pkq80fUBHQIQtgOQHmsYLqXgGD8BKH1z+YCUen92ZjtdP7JWwndv7ltB1w49LeE8hPlQ4PBP105rKJ2VCrwf3zlLn106QpcObaWtKxfTnJap1DxlcpBaRA2twNSWAKkZrDnTp9F8hhqANbtlGi2dP5s2rlhEx3eup/MHttLFw9vpGruv799+gd3UJYESHNMPrx6n79gxYZQ6NrQCTCjWOMtgOrm8UTa0Go1Tg5xIUYpcIbsTYwVMWIRTeaFNtSlXoBbcJFlkMbm0ItMrVWXDSnJkbtAoBtQYBtRYBhRANaqiiKGRTZcPbBJQoj0SYAnXZJSNv6Kn6UqIUQ8ORIhRjqmlijYzhJ6eUkeLx1fTo6OrWJU0ZXApjaoqpKpCtAfKospC9LLLkvxRqscpIbykuFgGlZINAqS0HFBiHDkZVq4kKEHCmG52ix6tFJYXoOL37sVjBpGXwSNKgmJDFCPysVL5Y78tjtLt8ZTJ5yzLxUB3J1EeQyqfIVXotVGRj88hQ6rUb8hOZakMJHZKZb5kgVIpuyUMAMSspRKMPmcolQiUBigwOfpJNV6pBUqGDDgVJbJriutI7p53SK4pmQHl4sdwUe5ed5KTwWSzQCmxs+oSkdztTspI7CdQQtEDuq+n3u4S/vu+ReUFKu8ESrxge4f9UihZ80ph3FIQlEIB1b81kKZpIE3VQJrSlkvSQJoQCNuFVtml3cQlueGSbha6M6CUq/JJZpFDKkPJ3Y4iXQ/L3gfDLWFAG0q4ayWEp9wSuioYQEI+yYASQn1BUEIHY/4ZuMJF6S42PBo9zUpkvHOmdJRGexpxSQwkbMpc0DBCoBRU5IA9P6e2isO4fmSdVOC9f3yDTJj9/sphcUmAEsaVf3XlOL11ag+d2r2ONq94nBaxywGQWqZOpqbGSdTcOLkVnNpSixVcbQigguMCqARaTY20avF82rP+Sdq7aSVtf3oZndy9gb545YS0IoJj+ublQ+zwdsoeJoTNEDIzNrQinwNnEgomaGKpjxxxUZSSFGcuxIYr8DOk0nixhRMo4IW1DLmmbK80HB1RynBijWJAjcGAu1LME8qn2eMGSzHGn986JccE1/TJ6e0CJuTqACdrY9lDj4+jp5uH0YSBpTSpvpSmMoTG1RZRXUkuL44ZVFmQzb/fTHmMi5v8kI7hhpBH8vHFCkJ3SbExlBxnSIOKZWd36BABUnHkssgN8TnwsFJMxVJKopInMYY8CdGilCBFibwsX2I0+ZNj2EXFUoY9jrKcCZTDkMpjSOWnJDOg2OGzSnw2VrKSN4mloFTCUCoRKMUwkKIFSujwXYLNtCaY+krRQwBMvancoR/beolrKmQ4+fvdQ0mdGDqPqDwT9ji5et0puSWE7Uy31LU9JXXrQPae9/Lrx8setkKMrnDYlv3W6+7t201uKHJIKG2vKu80lNTYiuB9Sq3DdwaUrHmlELc0zQqmfm2A6RaB1NhXHJlySb1/lUsyc0mDAy5Jhe7uk9CdtXsDQndG1Z01n4Qihwif2qNk8/aVvQ8F2i2hASSKHWokhFeugMQwguCeanXorsrapUGXeQNKqMBDfiA7xUFF7JaMVjHIMRktUjJSfdKyRlrY6NCdKnLYFyhyYMcEAKG3HTbJYugfEvVwUJgwiwasf3rzefr4xQN0Zs96Wrd0AS2eO50enc7uiEHU1DBJgNSWmsNqslbbXw/+/skm8GYymARm7K7msZtaNHcGreVjevv0Xvr+9efpBwYT9jDhPby5b6Xkxs6vnSVgwtTYwwtGmiGzcDmcAJxizQUZrsDHSk2O5YU2jnL56r/Y75I8SV1uqgyzG84SOJWqWUJDinNp2xOzxMWhEwXyXl/xhQCaysI1vbH3KQmXXnpmIT3/9Gx6smUMjawtp0HlhVSSny2/Q1xoFLPaAtCtCOXjKBcXJxUbzXCyKoZsWvb4GAGV0yJXQoyEN90CIwUkdwIUTe74KIsiyR2n5DE1gFL484BUamIUpTGkMuyxlOXgBZ8hletKoHx3IhV4EgVQxSlJrERWAhV74hlKDCZ3LBWzWypmt1TsjJSZSAImhlKJ3rtkgskBKPUxJc5JXFNXyot7hF1Te0p8ROWS4JQAJlevu6QKz9adAdW9A+susvW4m5x9HqACeyRVsivO9zlvh+9+z7f4kjspqbyDLgcPhVLnXwmlcLklBaZQ11TYFIDRzwHJgJLpkiYaLqmHziV1D96LZLqkR7RL6nhzl6R73CGfZA3dIZ9kLXIQKLnaUXJKH9W5GfN9sOCglLsY00ERwisLBpJ2SeGgZITv4JQyEGZwJqvyXNmBnyadjzG6IDs9VdrRoBMAGoCiySpyR1/qfNI3yCcxeL575ZB8DiE85JAMaKHP3FevHKEPz+2jswyjFY/NZghMYwhNpGmTJ8hQwGkNATWZ0qDSH0/7T1QoAJu10wKont2wgt47d0DA9P3V4/SHiwoAABNaAGHP0JlVTQImFD7sR5FBS1Wr0uwAnLzkiI0yF2NDXlG0hKgKvHYqz3BLufMQTFhlDS/KFEBhllBdXjq9eWK7VCv+eO2MzIbC0EK4pg9ObKZrh9fRSzuX057ls2nmxBF8gVIifxNlRfnSraNQX2DczBn9UqEfIEJ+yDUlxkRRklZyrJINYig7GFqO+Gi5d8YruRhArngFJFccFKk1gFyxreWO7W8KkPImRCpAJUVTOkMKs42yHQx5ZzwDKp4KASgGUxFDqYihVCRQYrksYHIMYPVnaTAZjgkg4sfloj5yj8+VwjUld5cqveyYhwVKcE32bncIlLCJFr3x0ILI1fs+kbP3/eSOeJjBxK/D7g1wKkq9Hcb73d26JrTLiyloJ4txWCiN6mw2ZP1FUGrLLQXBqV+rz7cCkkCpr84lWV1SL+2SdNgurEvqYrYQMsN2VpcUpsDBCN0F8kntg4scdCcH7FESKHn6SLfmfHFL6bLooHy7ugwhPHZL6PYtQCoTl9Q2lJRbKmC3hOacaXa+4kRZbrpX+pehEzQStOiLhlY0CNvNHTeQ3j+2QUZVoMgB7kjtTzoonb8BKeSZIGxIxb6kL186RK8f307bVi6ixXNaBERTJ42nqbjXMuFkBZTxseV5QZpkaLxoitbUIFmeF+ZntAIiA2rp/Fl0dNvTdOPyUfrhjZP03ZUj4kzeP76J3jqwSvI4L+oxEzLOHJtrGUy7m8tNhYPThBIv2WMj1WJsOATtCuAEEJ4qSrVLEh+NRzFhdUi+nwahxU5OKs0aUy+TdFGpiE2/P7x6TI4NYLr+3DN0+plltHx2I40ZOlDCuACTsQkaBTFFedkaTP85UGoFKZ+CFAojEqMjRUlQTCQla9n4/dsZVg6+t8qpoeTEY4ZQQP2VYpRcMf2C5OGvpcT1J1/CAPInRlJ6UhRl2qIpmyGV64ilfFccFbjjqNAVy4oRFTGYipxRrEgqYjAVAUz2CFGJva8K5wmIAKUIKndCfU3XhBLyoqTuolx2Tr6Ie3XoDnC6mzKiOlFOXDcZb4EZTL4B/JzILpQZ35tfO4Yq0tCB4vZo9N/VrW9qu2Wq8u5eXqQVlIyNs0FQuiWn1FtDKZxbCgOmsECKaA0ka9husgJSjgGkVi6pm3JJo8O4pCEWl2QN3VkKHJLMfFIHXQquQ3e6yGGALnIw9igle3qruT4y4yZdNuuVS16pSBYiuKU6E0ilZoPV0JyS0T6oIDdHbaK1xVOOx075fjflp3mlfxnKWtETDe1o0EcNbYM+PvmMWeRghO4AH0Dpe14kv0ZpOLuLGxcP0NvP76SDG5fTsnkzqJkX/SkTx5nwmGIFR1jgjA96rqmJ46mRf86vlRzDxOCfaX3tmdMa6Okl8+nDC4foH948Tf+IXA4D9uvLB+ldncdBqTiq31Q37/F0ZOEo2VyLzg8/V5qN/U1TarJlMYZLcGDBjTYW2X4Skir22WT/jYxoYFWxi0KV2dvP75BNv//68WX6J3ZMyDOhZPyD0zvpuS3LqWXiaBo5ZCANrqtWhS5V5dJkt5L/NrD3TEr8+e/l/0s4WXNSXqdNiiISowaYSooeQMlathglu5ZDQBQMJ5yfgPqRIxqKEDmhqL7k4nt3TIScPy9DKpUhlcaQykyOomxbFOXaoynfGSPzjwocUaJCB6CkwWTvJ2MoTDhJAYTey+Q0wKSkqvW0bHBQyD/1ZUj1lNZFAJO9x53kj+woQwLToroIlFwRncje52HyRPagtIR+y37rdfj2zXKL0pV3dlTeGVAaGoCSFDncQvgu14BSGyE85ZbCg8mEkaEwQFJQ6h0Utss2gCRQ6h7GJXXWuaRgl2SE7lx12iVV39sqdGdCycgnZQdX3gmUHO3I642jXEBDuyVU9pRJXgkhPOWWgoBkQAn97IKgpGYkqRBetlRNSekydtynuqXJJnq8oeUM2tK0DC2jt/avpM/P7QwUOYRA6bsrh+kbvv/y8iG6dnIn7Vu/lBbNbqbGCWNvCoVw4Jmin2sCZcI4+TkNVo2HxtDkn1FDyGPj+4OPS732oy1TaPmCWfTJxcMCJbgSDAeE81Phsk1m+x/MikK5OIofUJVntAC6GZjwdWx6BcxahpbSzOHlZOeF1s6Lq21Ab7L170WuqD58xR9Dxd5kVebMKmVQNQ+rpL+xW0JTWTgmhPNkzPuL++nC3nU0dxqDf9xIGlZfS0MG1kjRy0ApdimTvwvV01B36kBYzwDU/y+QUhtxkW9KjOpvKomVHK1kg0Ig5YixgCm6v4YSKypCqy+rDzkiod4MqT5y/jzRfSklNoJS4/oxBPpTRtIAykoeQLm2SMq3R7EiqcA+QFRo7y8j1AGmAJz6BuAkQOpHFS4tp1Klsz9ViQZQtTuKFU01nhiqTomR78uO7SLzmjCLKS26K2Ul9KFiTxz91mvw7VvILcLf7g1U3jlqHtBQsnZzCEApOHzXPYxT6iVQCoTw+mgotQZTgaGpEeFhhE24AqQ+QUAyXJIJJIZjUHGDuKSu4pIESqG5JIESA2mQniZbpwscqgOhu7D7k0KhlBrYo+RNiVOD5tJ8MhEUeaVSySsVULV2S7UCpBKR4ZIqg6BUIFAyRlLALWGUNspypSMB2uewsIMfGyYxjRVtdxC6ayufJKE6dhM32CW9dHATbVw2n2ZNmxwWAG0Jbmp2UwPNaWqkGVORT5rAn5tAC2dNo5ULZ9O6Jx6lNYvn0ooFM+lx/tz0xonycyeNG600NoysXxsX0GRIg6qFf87iOc20ful8OrLlKXr58Fb66pXj9Ke3TsvC/1cdLvvmpUPSlw4bhKUL+rZFcl5Or5wmlW8ofgBw4JoApnBwQmEECiTQKggl5ijpxn6u3Uua6PGGYbSsabSEpRL7dqPkCL7yjuzFV/0DKMcRS+vmNcrmYmw0BpSw8fin987Tt1eP03und9O+dUto58rHaEHzJGoYgwnANeKaEM6rY9ek/h6KA70N4ZYZTIV6ZHc4mKBAApNl64pzaWBJLtUU5UgJuZGjkrHfKIzh5xX+Arh57EnSlggOPTGyHyWwEqP6MaT6UXIoqFh2U/00xCO0+pKdgaTUm+wDoF4iBwvnzx3Vi1Kie5Mvtg/54/pSRkIEZSX1Y0ANYDixbP1YvB7wPeBUKHDqK7LCqdzVn6HUn6o9kQyfKKpNiaY6BpChWo9SnTeWFUe13niq4cciHz9OTcTrLvut1+Dbt5BbfEl7QuWds/YhgZLsURpmdHMIhlJmWCj1bBNKrdzSzRQCJCuUchssYTuBUs8QKIVzSQaUOlmg9HAgdGeFEkJ3lXerfFLZXarIIWTTrLW9EMrB+3gUlGSOj8ywUW4JeSWUb6M9UJV2SwaMDGEURRCULHOS4JYK0AeP3RKqq1Qps9pvgr0nZRlucQGo8ELJt+mUjP1JCG2xbry4j94/vYuuHN5Mu1YvokebG1s7GwNOFs2YOpmWPjpdoLN+6TzavWYJHd68gs7sXktXj26ld0/tpuu84L53Zg+9f2a3CGGs149tpVcObWaHsJ6e27aStj+1kJbPa6HZ0ybxzx1DE8eMDNIE68djR4nwvJkMv8Wzm2gDv/ahTU/SpQOb6MuXDsum1R/fxr4q9Oo7J/qWXaBRKm5sZL0qI9Xn6ZZEUxWcsJdJN3INl2NCKTm+DjDBaaGc+7Xdy+n60fXSUQIARBn45QMb6eUDG+jl/eslZGeF0T8zjHBMOL5/fPuUVAt+cHYPPb/tKdqwZA4tntlIU8ePpLHDB9Pw+loFp6py84JFwQkXKHlmSA+l4rUMnxGVBTRpYDFNG1JG09nJzRtdSYvGV9MTE2tE2Pe0cFw1zR2l9j2NrSmk4RUFNLQ8n+pL8wRcquT85+FUyM8bXJZHE6tzaVRxKosvtFISGVIRDKsIAZYCVUC2KEBJgckGRbLLZCiZ0o7T1r8nqwfZ+vUgB987Wa4BPcgT1ZO80b3IH9ub0uPYlbKDyUni///kCBavBawCViGDCioyw3qqG0SFi50RoOQFgLQAKHyOJY+9Ck41GJ/hUnkrFDz81uvv7VuYGyrvEss6MJQelMUaUPIBSiMsUBpjOCWMRO9mgRJrssUtNbaVV7oFMBlA+hmXFIBSj5DQXTfdUihc6E65pBQjdFf/oIKSmU+6J5BPKtNFDkXBRQ6h5eDYONvD3k46LmNuTY7MrfFJQUKJkVdCdwe4JQzs0wKQELaRvEIQlAqo2Bjgp0edZ2Wkk9umQiz2+FiaUpdH+/mqH6MT4AxQ7o2ybxNKLx2QfIu0wjm7m87uXkNPzp9BM6Ygf2SE2AIhs6bJ42lOcwM9wRDavHyBQOD0LgWfD17YSx+d36eB8Jy0JJIOC5LQPypVfD+wkLdCmBDhQrizr9idfX5hH33Er//GsWfo7K6n6dk1i2nT0kdp2aMttIgdFUA1vXE8TeNjap40jloaxlMT309jLZjeSGsXz6H965fSCwzCd07upC8uH5LXRtgOOSXkbxDGA6T+4dXjkl+6IRtZN9M7h9aYE3bFNT3FrklPjT0wd0jYjt7oBoFNrtjsio4MGIGOPoFobYQybxRWICwHFxQEInZtJoz4eGTfFx8fztf3fFyfvrhfYH144zLazO9/4fQGahw3ksYwmKDRQ+tpWH2NDGMcVldJI+uraHR9JU0cUk2TBldQy8hqWjShjtZOq6fNTXW0vaWGdjVXqu4QfNzoDoHPbW+ppW0sPDY+t5Gfv2JyLS2bVEPzx1RRyzD08isRwNUW5wjwwkHJgCE29M4aUUErG2ppS3Md/9wqWjQsh8YVeWhcsYfiB/SlhAEMKVZSZEDJDCRI4BSl4TQgBEz9AKbuZGPnaYvoKveOft0YUt3IPaAbeSK7ky+qO/ljelB6LF98JvD/fmIfAZQJKQNODpVzUuG8/lTlRugO6k81WniM4ojCJF6v4ngNi+lCKREd3+jbtVPeb73+3r6F3NBeSFXe3UWuWuUgVOXdr4SSBlMAStYQ3k3gZMDICiTTJfXWULIAaWKwSwpAqau4ugCUHgl2STp0J1CCS6oNySeZlXcdWlXeRQVV3qk9SoBSltep3ZJH3FI+9hYZeSUdwqvGsD49F0kBSYVsUCZcLqXCFjAht8SCW8pMTycfOoB73LR8XKkMu8PVPDZnon0QnJIJpYsBKMElXdq/gbY8uYCmThyncjfijFR4rJFhMKepgd3QLDqwcTldOfIMfcwA+vwSQ+WVo/Tt1WOysP75zedlT9OfNJT++BrAdFycQwBIR0wg4bVVI9gDsokXoMRxfXb+WXZtO+m1I5vpxT1r6MTWFXRow1Lav24JHWAd3bycnt/6FJ3duZquHNpIVw9vojd5Mb9+aid9cm4vffXSIXkdAAjHgeOSzb/vnBEI4HgADjgmVOVhgy3aKsnod5SMM2ROLJ0o7X8Qzts7s6ZVayKUkQP4yENhDDu+52XdvPaTU9vEleF1DRj9ZIURHweOB1/H8eF40Fn8i4sH6KMX9tBbJ7bRywc30vndT9NJfu/71zxOu1YuoPWPz6DV85to5dxGevrRRlo/fwpteWwK7V48lQ480UjHlk6WNkoIL/5cwYap0Gaw/L6eaa6lTQyp9VPraGVjrbiqxkElNKwiX8KAgFCBDhcaYUCE/uDS4L7QCmmHALF1o9lFw7JNUCX07yNKZGAlMYgMJZvqTckMpmQGUzKDSRTRXcKior5dKblPF7L16Uz2vo+QI6IzuVju/gyRAV3JG9mN/NHdGVT8fx/Ha0B8T8pJ6Clj0KF8FDfI+IuulBP7CGVFd6S0AQ+Qt+895NQdxO09+f+8d8fbDun3ehuQpSvveFFGObjb3DhrgdLoXw6lvCl9fgZMWrp03ATSlD5BQMoLAVKQSwoK3XWz5JO6SMWgQMkauhtsQOnB8PkkKXK4i6F0J8WHQCnK7HkXKHIAlPrb7qdMj13cEsAkUz7TfbKnSEZP6BCeAEkmySoJkLRLKguFEpqzslNC+C4jLc2EEq7yEYpCC5vXdi+lD05s1FDaYRY6IHwHILx7cgdtX7mQFsyYIiE5FCgYDgnhsbVLHqUX9qyj988+S18zhL6HC+EF9R/fPCmbaiFsDMUia4LpdcMtHZe+eSaUACTJYR3UVXEBIGHvzh8u7JVu38h7YbSG0h65/0Lrxvk99Nm5PfTpud300Zld9MkLu+WxbAa2jOEAmPC6OAZjA/CP7E5kEyt/Hq9949wu+uj5Z8zu4gjnYbAh+tKpsvHxstADPsgnAUxGSA996tB9HF/DeUbXiFd3L5OuGDhOvAYg9FMQjE6rjch8PAJsfk4A0upc4P3dYDB/fJaPDTq9gz44uZXeObqB3jm8TsZhYN/VVTg8DDZcP4de0BuD0YEcTg/HBHDeEpjaEn8/XBQgtWFaHT3FLgjQGcnuqdAS3gOYCuRvOEsc04KxVbSVv2fXLb7+40OzaWyhm4q8iZKXSujXm9WLErWSWMn9DDhpQEX0CICpbxeGU2etR0S2Pp1EdgYKquYcfR4ip4j/n/vcT85e97HuJQdDBx3C7bJpVnd3YOFrzn6dZcN0SnLC7Y2zv9cbKu9iUXlXdV/wHqXh4aDU5dahFOKW8qdaO4gHQ8kKpPxGK5R6a5fUSybcWl2SASXkt0wowSUZUGIg+dklAUrIj0nobshDN4HS3SaUzMo7A0ptVN5hj1I/230yTM4YnAa3hNLtwqx0GT1hzEMCmAwBSMgdWF0S9ioBSgjfwSUV5uVRbnYWpaf5yZuSQh63W7piI9dxadOj7ARWyzRZlINjY+wXBpR4EUTo7Pyza+npRXMEQAiJIUy3dslcyQu9f2YPfcdO6E/aCUEGiEJlgumN50231ApKltBdEJQu6j1SAJIGEY7zi/N7ZF9VsPTnNaxEF5TUPiujU4XafwU4wDWZYHpbh834+PB15IHgbuCaMEsKm2wvb3lMd4BokRAdZEyyNbpAAFB4jPyShPFWNcv3ocrxY4YI3tuf+fWQN0IIUbmjkwJsnBOcDwBanYf9JpT/YEA5CMzPirP7iH+HqCAE+NCbEB3dAVK4PMAUFYXn1840Nwgbvf4UUP8DgLIIob9V7KBmj6yQ8J4BJ0CptihHclnrp6kQ3i/5uYtH5JPTYSeX00Euh0M6nydhM29MFCVG9qV4BlECK1ErSdRduae+3ShJAKUFQPXuRMm9OrIeZj1EyT0foOQe97H4orI7dLcpe8/7KKkbw6lvJ0p3xMsk5qJMv4z08NgSlv3Wa+/tWxu3qLx2y+KKVSNWA0qq8k5DaVQwlDLbhFJPXRbeBpSmBBc/tFafEJfUO4xL0kCaaHFJAqVubYfuTCg9HAKl+zWU7mUg3yNFDkmWIgdVDt4+sEcppPLOgFJE8n1SHSfjt71ONXKa3VKh5JUyZR5SJbslNahPT5EtNoBUIBVXBpCM0J2RT8rJyqQ0VOCleKg6P0Ou3C9vmS8FDu8eWauhtIUXtu2ysBtO6QN2GtueeozmNjdIRdz6Jx6lE1tXSjHC5xcPSmjOAJIJIF5cfwwRFnkFpoBbUiG84wKEH0LdkhG+u6zmOAU5JXFEASB9fm63VA2GSgAlYNpjgsmAEsJzgEIQmKyOSR8zPodjQY4JIEFlHvJMr+1ZLvuZsNjDMZ1+aqqA54jONUlHb5mFVC4FEQATxlFg/Pkr2xdJbztABHOejNcywnUCJO2QBEimU9zbBpgDQMa5+AxzmhhOONZ3D6/RIF0qAxlNOG2YI5WBCCsivIi9WMboDoxkb6uDxa2F/ColF2V0LUchxYS6YgnfobIPxRIoptjWEr6F082EUfQGlFwAlEiNh3fak2Uar9G7zyhJh+CslLvqSYl9uoqS+gQcVBIDKqH3I5TQqxN/Xrkpd0wf6WeYqedDoU0X/iezMAomyy8fY4SHJ+k2lH63t9jCO96IL7lDysFdA38eSsFOiSVQ6hEMJTOEdzMwhVEokEJckgklM3SnXZJAqasFSjp0x8cfKHKwQukBBaVaBaWgIofSuyzl4GGgZFTepaiNs4mOrtJ5AX3qoByMmWa3ZHT4NqfHWsBUoWUASaBk5JIslXdZmRnkT/WR1+Oh5iElAqVXdz0hCxY2jaK5Kjp+o42QdHTQUPr0/LN0cvsq2rHqcTqyeQW9fHCT5ItQoIBkvcDIBJIBodMhOiWgasst/dFwS3oxDgUT4PGV4ZaCoBQAEnJh4aTgFHBM4jR093MFJRXKw2vi9f8oBRDPyXGq93NaPsbxSDjvBRXOQyUd8kOAE8JyKGTAJFuERI8uHG26JizuGBwIN3J88TgpL0cOD0UPcDQAJF5TQP16IGQnLskI2V22vPcLgZClev+tYWycj49PbZXXQOgRx/oWQnroPo6ZTRvnSuEGwpBnVzfLsT+3dKLkyA7oDhb/IceEfJEO76Gb+fJJNdQ0tEyaxyKE99hYlZv6pT930fBccjCAgqFkFygJmGzJWnoSrzE+Xs+SUuM6VDd0uy74EaGvn+7th8pUwAbj3gEhjEFHe67CDJ9EMJD3LWEo4fPolO5Jilv2W6+9t29t3OKKO0g5eGCPUltQ6nxTKIlbaggtDe8dpkS8bYUL292qS1JQ6iKhOwWlRzSUOgagNBjvDxWGBpTuC4aSzidJkYOGUpvl4BpKsUmPSFt/CeF5Am4pP90rjVTLEMKT6bF5aoKsFoBUbgFSYONsLrukbAndocgh1eeVfNLMkVXSvQEjKBSU1sgeJUDp0zPbZFHDAigho8uqg8Mn5/dKlRwWboypMN2RBpLpiq6dlqoxQ/i4TTDdSn7pZmBi2LQFJYQhoQCYdivHpN2SajZ7QI/lOBTsll4POD+z+znCeQwPVOZ9YYbzNgrQsdBDlzdbKvSemKDdB+Yz1clCDxf13LJJ8hxszkUBBXJWOA5UArZySS8H3jfgZQAJQP78vOV9n7W+910iBafdcg4wqh7His7u+F0jXPu6MaiRnROAigIOlL3DOZ1c3iDHDneHIo7/jJAenNOWpjoJ62He07pputjhV/ys0gx3MJAsUHLZW0PJmawn8d4MSvExWrHS/TwlOV4m6iKUjg77BWjPxcLHgBWglONz8fPi0JA277dee2/f2rhF57VT5eA1DyooDbZAaWTHVlAKhO+6BaAUNoQXDKZbBlKj4ZJ6WVxSTw2lHhYodbdASbskgVJnXeTQKQRKgdCdu/5+qbwDlOzV9zCU7m4NpcIQKEnl3R1mI1Zj46zD3VPN5XHzPwMKHlKc8oefhyu1rDQZOVFeALeUK46pwpgiy2BCc84yflxaGLxpFkBC6A75JBQ5IJ90afM8ep2v8MNC6bQBpWfVcL9XDjEkjshiCUfzRxNIwQu3sXgrnQkC0z9dC3ZNweG8k62q8lpV5LW5QAfcgrkon90pYbFwUPpCQwlAshY9fKN7+/1ghdIbwVCS/UL8MUKNqJwzRkwgpAe4QHBNxph4NdZ8it50q4YHoo8eKh4R7sNzAAacc0DOfO+WXFJwPs36nvcEA+lsWw5xtxnm/JQd8CenVIf3D6ATKgyJrQAI7eG4X9rymBwXnB9yTzLLSYclZdPwrLrAkMH/iIPSwwmhX/tzHAyeYDCFQin5F0ApxpRDup7HCpQwMwuTdbMNMPH/IYCU7rJRcaZP/kfRiPe3Xndv39q49U1rlxedrxqxBvYoPSw5GOWUfgmUwoXwrPmltsFkwigESFYoBbmkCRYgjQu4JDN0N0q5JKm8EygZobsHA6E7KQe/V0Gp8u6frbwzoeQPhlK6N5qdUqyMkEYMW0J4gJLfI0nV0lyMNM8WMCG/VF6YK/uXyrSwUTKo510OgJRBmRnpZujO43ZJbiEYSms1lDYLlKQsXEPpOwNKryFcd1xc0p/fCAXS6RAgnZFKMvNxuI+DYBWccwotgvg+tAJNh7NwjKGuwYCRVYGFWhVBBMZyqJzStyFQCoBX58dwrAwltXfojBzjD1ePyffCuWDvEdwIQmQIy2GRR74JuRu4JlS8YWGHe0KTV4ROUSSB3NK7klvaIa9vdUrf6i4aARDvVTDi93rDAuHw73VXUNjSCFniXGEv2ic6rGfMxgJQ39QjMnDcgBOghLyTNfck7i+oMKJ1SfcvBtSv/N7SDA85JYwX6paSw4Twfi58F3BJ6ICOjucYw+G1gAlVsXmpHumGAkgVZ3gpnZ2U+zaUfr83lIOrPUr3BKA05OZQUuG7rgEosXLChPDCgQk5JlON4WV8b1iXZM0lMRgNlxQI3XVuFbpDaXsQlIzQXZ0K3QWgdBdDiV2SCaX2gcq7kHJwdAc3ujkASjJPxpGoQ3h2nVdyU6GRV4Jb0mAqKzBGm6vx5mgro2YpqZEVueyQsGE2g11SqtdLKeySZo+plVzS63uWBUPpuIKSdQNtAEpHNZQCYbuzz+6gC0eO0qXjz9PqVftpy/aXacuOKzRt+TWatoy1/B3Wu6zrAT1pkf7cM7teo2d2vkpbdl6lzdteog3PXKALx47T+UMHTUAZzsl0TUY4zwqmc2HAdCb8Ym1tpWRtNvuD6QaVUwKUlFM6I1D6qy7fxn4iwBTnA/OP5LUZAB/pQghV9bbCHND3ou6hh+m2cEl4DCjBkaASD4DAsRggFghfOayhpACs3uMuHZ5rA0hnd7YKVwJIZv6M4QvAoaQec6SQG8Nr7129nA6sX0cHNmykxxZsoaXLD9OSpYdo0ZJDNGbuJdZlGs0aNecSjZp9kUbOepGGzzhHw1rO0tDm0zS0CTolamlaQy3TnqaWqSupceIiemLyWFo8YeR/SgjQqidGFZA9yC3ZAiG8sE5JQckY/Y7JuoEhhgpMgJWdgWST7uZRMidKJgzbE1UoT1ySGgEDYeKwOyHmdjn47/Um5eCFgXLwVlAyw3ePhIVS1sTQvJLhlsKBKTTPFCr13GCXFCZsF+SSuga7pNHKJQWF7oYhHPmQgtKgB1Tozswn3cNQulu3F2KXBCiVdAiCUrQFSv0tUOqtN84W+52U4+Yrs+S4QAgPDVR9bolpF2enKbckI82ztRSYMAwQXaKL89W4CgApWwMpjV2SL0W5pHkTB9OrOwNQugYoHWkDSryAPbd9E108foo2PnORpi59m6Yse4dymz+l3KaA8vjjgpZPqXD6Z1Q84waVz7pB1XO/oIHzvqTBC/5Awx//ikYt+prGLPmGxi/9liYt/44mPfkdjX3iGxrx+NfyvIrZN6iIvx8/y/j5efq+cs4X8rpTll6jjVsu0uo1J+jsgUN0fOsGVZV2Ya8JphsWMH2qZz9Z3ZKACQu2xS1JoYOUhVsLHVS3B6tLAoywyVU6L8jsIzVpF6PMEdLDYv8Zv8aHKISQ4oJV4pyubF9shvUggAqO5KrOK6l9S3vkOKx7k6SbBlzSBeWSwgIpBLwC3SAg7acTfJ5wvlas2MvQv8Tn8W1qXPoOVT36RdB5xnnHY/wey/h3WDP3c/P3N3rx1zSKhcdDHvsDDZr/JdXx99fw77lyzufy/OIZn8n35vPfQr7l92iKPwbEWprWCrTGDJ74q6G0REPJkZzcRvhOAQlDC13JhhJl0q7blkgeFtpsYdS7GvuuRr/b46IESjaM4ogZIKNIfHYFJgApzZlERQykPJ9LJg67EqKW/dZr7+1bG7fovHZvxOru4KFQEpcUFkpdAlAKE8IL5JbaAlMYGTAKAyT83ACUurdySelju7R2SQKljiaUUoYGQncBKN0rUJJ8kpSDW6BUFAKlcHuUNJRK/C4q8tnJlxRDWe7koBBeQZpXylBL4ZYMMOVlU2l+tjRshYrzc5RLys6knMx0ytRAStUbZt0uF+1cNDUYSgdXW6C0RaB0et8halj0eivwYLEpbPlMFpy85k/48x9TzrSPKGfqh5Q95X3We5TV+C5lNrzDukYZk9+ijElvst4SZU5+OyB+Dp6b1Xhdfe/UD/hnfUi5/PPy+WcDUoDW41v/ibae+Hd69uz/S0t3/iQLYunMG4EFj+8blrxFazdeoJWrjtNzu3YHFu0zGkxnWjsJhLWCoHRF5c1UkUOg8g5hx7+8ezYISOjCgNZARnsgyYvx8wEntGT6QvYM7ZA9Q8jbYNMt8k0obgCc0B1CleKvk7AfYIrjMEKH3wdBSbvB87tbAQnvLRS8J7Zvp7MHj/Hv71U5L1YwABo4f0/s+CvtOPk/aMPhf6N5G/9MIxd9RWV8TnHe5ffJvwf8PvB7ycLvtOFd+X1af3/G7xS/X/X7vGb5fb4n34u/C/w8/J3kNn1i/g3lhQKLHwNUo+pG3zKUFo3I479np+xbkvxSmEIHAMnNH0MYtSEj4F2qEbHIkSzy2pMoheVmMNljDSgFRm8ATOgZmcpwQk4JLiknxU4piTEYT7Lst157b9/auEXntnsDe5Ts5h4lBSXfLUApMwhKYcDUEAymsHCywsgEUs9gIE2yAGmCBtL4UJfUOaxL8g23uCSBEr9PKXK4T+WTbgaln9ujpKFUmqaghBBepsuSV/K6zLLUkux0ARMcEwofsKkWQtPWInZIBQjbMZCy0v2UzkDyM5AMl+R2OvmqfZHOKTGU9ikoXWcoHd+xhyYufC0IQuoK+hMNnfd48blG6RNeo9Qxl8k74iy5Bh0hW/UuGjPzAI1s2kEjpmyh4Q0baOjkdTR4/FO0YcMBWr9hv9YB2rAROshfW0FDJqyk4Y2baMS0bTSqeTeNmbGff9ZOPo97+OceJs/Q58k78hy/1iVKG/cKpU98XUAmix0vdIW8uI1a/BWt3v8vtOv0/xQHBqdlHP+kRW/S6rWn6eD6VRpM2y1g2qUHGSonYexVgkMRKOkNtChu+ElgdM50RyaQPrpE//rRZenqLV/jz0tID+XjMjhQwUmVZW+WfUmAEzbeIucEKMFFIdyH48ExyD4lhO90ObjaMLtXXE9QaPJMAEjHtm2jp1adkPdrvHdcNMCJAuSr9/2LQAfnC+cN5w/nEecT5xXnF+cZ5xvnHecfv4cRTc/S0CnbafCkTVQ/YS3VjVpGNSOX0PLl22jZsmfoiSWbafHijbRo0Xq5rxq2iGpGraDaMaupduzTVDduA9VP3sHrwW5yDz4mfy/+sS/L62ZZfo/4+zLAZBw/QoCTRs/5WTABShCgFABTAEoCI6dDGhH7PRjT4qQ0vk/zOJXcDpGfQZXKkHIZUIoJhpKE8uCYUJHnSBSnhL1LerLust967b19a+Mm5eDYo/RroBQmhNe66KE1mG4qA0iTg4HU2iV11VAKcUkmlDqGhO4eZCg9oKBk5JOkyOFuDaW7GEp3UmJpBw2l9oHKOxNKdwiUIiwbZ2PcD1Fpuls5pYQoyrBU4WEGkhQ7ZPikFLXUAiY0a4UwDBBjsdFnLJuBlOHXQGKH5GUBSo+OHyTJdUBp96qnaPET+2j8Y1eDQyxN6moZV71p46/KYjJuzgkaPnUbrdtwiF47/yK9cuYM/e3r6/S3P7xD//7t+/S3r96l//rl2/Tfv35PHpvir//tq3foX/lrf/30DfrLJ6/TT3L/Gn1//WXWS/TnD67K5/7Kn/vzB6+wrsjXf/zwCp0/dowuPvccrXhyC61atZvWbzpGIxlgyZXbyFl/kFKGn+KF7iW5WscVOo67ePqnNHv9n2j+5h+poCUAqdXrzgmgrGEuNcxQu6VXVAhP7RlS7YYMKP1ziENCE1V09QaQ/usnL8n8o3/79GWBFNwUQnpq0+1h1dxVSrN3SkEE9jchhwdIwUUhpwNHBTf0nc5rydyqVi5plwaSAtGkhVeoZMYNeW+A8bJdP9GCLT/K+4fTgcPBefHzBQTOE87X2FlH+eJhF180bODzuYsunzxJLx4/zuf5KF1g/eNHr9Kf3n+Zz/0r9A/vXqLvrl2iG6+epY8uP083rpyiG6+cpE8uP0efXDou+vTSUfrg3EG6fmYfvXtqL10/vY/eO7Of3j93SD6+9vweunZyL1059AxdObiVdq1dT7NmLKX5CzbSwiW7aMi0g+QbdV6BSv/+TEiZgFpLjRMX02MjW1fqVeammmCyYz+SgEnJ4+T/I4YQYIRBlkpuyvSlsDxK+JiVkeJkuVSxgwklA0yRevZTpFTa4WKxINVJ6QwnTNP9rdfdv5fb/wUAAP//7L13dFRnlu7t7p7Uwd1ud27bZJBAOeeAQASRgxIZEQUIgQAFlHOOoJwRSggBQkJkkUXO2djG2dP9TeiZOzfPvc/de59zSlVSCTz3+8O+a1Fr7XVKpVT1nnPe3/vs9H4njzGcDi41Sj9RC2fflqQALclhcEzJZcW7CpT040rG1JJRMBkDlPqa6vIbFkghr1BJy99VoaQCSQcldkMOqCSDeNL8v9PFk5R0cD0oSY3SMFDSapQ0KFm/jRkEJV9HgpC1KVwsTAzUkjcnO3BcidWSu7MopmmeLpL8wA1b2bjppbebM9wFSLYCJDuCkbjunGdjyZpcrNh1YhCEVBBtuiUuG9eQc7AL7EBQaDnOEIDOdnXhz48YLJfw9V2Cx63T+Ow6TVzXevHp1WN42d+DT65048WFw3hx8RCenz+Ip30deHK2g44H6etDeEbHO8ebcbN7H+720rFnHy52VONsSynONpfh4oEqsgqcaS5FL01g/PXVw/XoP1yHq0fqaQJsxuMzB/HhhSNi/Lf52LWvEWkpJQKsoI2lmORXAuvF+2UiZlXHCo/jWxH5L3Uqak3sOSSnNhioJY6d6Vx4BBMdlK6oUFKB9M11VSEJkBhGxwVGvDHfP9w9ieMtjehtbhBwackQkklHcGL4sZtO0shJPXF6Nn+t1YNpDWJ18SQ1keOBnkrqqGmk96+4VTmGE1PyOfzoyJ+TXWiseli9LtvagMD1xUhPr0BPayvBpx2fEmw+JtB8dLkHz+lc3TvRhmtdjTLO12iMLx2swcmmPXQOynC+vYLOQSXOtOzFyX0EFLLzbWU417KH4FKIk/X5ONdUhPP7i3B2XwFO1+XieFUmjlWk4ejeJBwuTqBjMnqrsnCiJgfHq7NxtCwdh0tScGRvOo5V5eFMU5nY5c4G7NyRARPfHAJUt7gBGaqeAqfbQ65ViUdtSBMo+Xk66KDEXgAGEyskW0sGEikiOxvZxt3N0Z7uCcU8nR3goR65E7+Hoy3cCVCu9tYwJyAZQmm0qpRGy55PthPHyUaZk+0tpJ6Qt3D/rufdN49hHr+3fsuba5TYbaUrnF08HJTeMYDS4LiSe8hwbrzBMaYBAOmbPow0G4DSb1XX3W+MqqQB1907BippwHU3oJIUKP3YEEp6mXdGoaQrnP2BYeEsQcnK7o+Y4WqLaU5WopYcJ42FG90AHFtiKHlJXMlO1BLHllgxceIDF9WycX883qnW08VRVoUOtEK0o5uVoeS+dL9REGnGK1R26bAq8l9bgG5aPX9CE9gn/b0ElcN4dLIFD0804/7xJjwgu9+7T44Pj++X1/n7j0+14MnpVrI23OvdT5NdLUGnDFc6awhAVQSbItn64mBZBjrLM9CxNw1N+fEoT9mJhuxoNOXGyrEhKwoHihJoIsvEoT1JaCuMk68PliShuyIDJ2pz0UcTIvfc4//ziP7fs75OAmIXHp5speNRJMbnISunXiDFgOWVOAN3dsR9CcxrcNoZFq3ElmSbDtWFx3Elvb2WNNfdgEpSgNS7vwHne05jU2o/poXfM0gY8FbHmJXaxuTLKCjqUuHUKP+PgSjuNwIUf82vax3TDVx3kuBQidayMqzZrcAoIPoRfY578nnYlcoqiCG0YEUGDhGkP+k/hg9pLNienO3EAxqTm0dqcamtFKcbCtBDoDi0N0XGtLUgDh0EkN5KOh/FiTT+Uain8d+Xu5uex6CCzk1jbhzaCCbtJaloLkykc5aAtmICT2ma/J2W/Fh00rk5VplOcMrGqZos9JYTfIrpb+dFoi0rQmct6dvQmBiKqujVqNm9Fg2JW9BB10B3ZQ56q/OxdXMcTKZmyaKCld6AcjIOKKdZcQNQEjBZwmLSRBVM5qKUGExujgQfhhDdG94uTsquzq5O0uyYzYO+72RjKZl3WqKDBicGkhVva09HG9Ox4sHwsjWDw8SxsH+TDv79fYxwfStJapQISlbfCkq/VKBk1IU3kB6uA9Pawfb7V9jvhgdSiB6QVg0C0nK9WJIBlBSVNMR1p0FJkhwGXHdmfsp+UqYalKb80GjhrAKlt3TdHKzs/kBKyVYXV3IwHS1QYt+1h+rC8xEXnr0U7rFiYuP6JTYfV+Vm49WgowDJUqDkODOKbu5bsvJkNTRwVE0Fko1/K1JT9uBjWknf6WnEjUM1uHm4GreOVON2Vy3udNfjHr1+71gj7h9ToXSiCY8ISgynB2R3e5vEbtP3lZV2Kfpay9FHx5ONxQKimqxolCZvR3bkRiRsXonIdUGIXheMmPXBdAxC3MYlSNu6Evm71iF351qkh6/C3rhNaM6hyTJzF/bTxNlRFIfu8lScrs/Bhf0FuNRcjH6adK8eKKP3TZP+sSY8Pt2Bx2dZtXUiNbWMzk8ZKYke+awc0NdAkpV7WOI2WsIDKxVONtCPKX1z/ajObXdsfz1CkwbiN7O235eEDM5GmxF+V/72dDrO2/lAADJDLymjcO8JAQ+roieSEFElGXusohiInGhhkOBAwAqJOSW/y0Dlv83v33FZD5aFN+FYRyeONBHEznUKkG911eH6oUr0t5fiYksxjU0hztTnooeAcbA4nsYwGo00hk1ZkahI2IL0bauQHRGCfBrnjG2rkRC6VM6BnAuyyLVBiN+8Apk712NP4nZUp0ehtSQZPTW5OEbWTQqoszQVnXvotQpSQGTHq9JJHWUKnE5WZ6CHlNOhgmi0ZW4nMJFlEpwytqEhYSOqIleimgBVsXMFQWo99qfvICVWgp07s0g1HdWBSbl+bw29fklR2bnNNVBL1hqYzJSYkr0aT+KFGrvu+P4QpSSmKCV23dmZT4Qlp4WbjIUlQchKO6pmTcYxJE+bifCwNoXthFGwMx33Bkrf1weng0uN0iwunP2pWjj7fwOlXw+vlozCaZANhtGa3+kApwHJUCX9Ss24U912ywYDSc91x1l3/j8lKP1EjSepKmkeqaS5g+JJM9R4ku8PB2qU9Les0Lo5DILSdA1KjgSU8SPhyi48VS15klqa7MQuPDsBk2IOYtyTi1sReTnbw4VWhnwjigvDzhYugTUDN7Yx23gDDkuOEJBKcPfYflw7WCk7zPIOsDcOVQmYBEpH63C3p0H2SBKl1MtQIqV0spme70c/KZfjDUU421qGs82l6KrOlR1jmwqT0FyUjAZSQvkxm7F5+ULMn+4tmxdy4oa9tYXUldhYmCuZUpZmcFQzpOzIfGhMVs2bim3L5iFufSAyt61EefxmtOZG4XBJAo6WJcskeJYAdX5fAU3ERbhIxqC61FKCywSr20cJACfbEBOVgdyigzSpd8uEN0MFE7vEHh9Ttn5npcJQ+lTt3i1QuqZAKa+gXV2938FkmhzF3bnmHJxW9NK10QqrhY2SKMBHhjwnhLA71IPGWFvp8+9nZTfrioX5qHWzkH2T1ILZ5uJcUkdn5HcYchxzYfdc4IYytNdUk2ptJgBVo59AfKm5SD73haYCGoN8GYuTNCZHS5NxeE8C2vOjUZO8FTnbVyN+QxB2rJyPNQumy+LGjRY7PN487qwu9M2e1IMPnaOZk90wb5oXQpcuQFZkKOpzYrG/IBH1pKL25ZFy2pOCroosHC5PR3N+HA6TgjpelYHTtVlkino6Vk7vpXC3QImtPXsHmtPCsS8pFHVx61EVtQoVu1ahPmET2kmpzQpKhvOqU6+4dm+KmTkHGkCJ1RKDyZxrkTgFXJIdLODISQ0MJwKQqxpLcuPndkrCg5IePgHWE5WODjZyHMd1SASjsbAllWRHxkBys6CfG/cBHCa9UUrf24dWo2Q+++/0CmffluQAQyj9YgBKkuygxpVWfQu1NByY1gwHo1cASV8lrRgUSxpOJQUM47r7tlDS1Sj9QK+bgwolSw1KNphGUPJ1soSnlQmczdhdYAJ360mklsylNoLTUacymFTjOBPXMHnTqs/dwUYmGFs12MuJDhJAVlNzjd3YHHuZMDVDYjY8wfV3lOEqQ4mMV936ULrHakmFEttdfk5gYvfdTVqln20tFVV0vq0cJ/eRMipLR2rEBqxaPBvBc6dhzlQPmRTMueWL+SSYmphg/PjxmGRqIjbRZAK9NgFmphMwbuxYjCUbM2aM2PhxY6VR5mwvJ9nKO26dP02yK7F390bUp27HgfzdNBGmkTLIwbnGPJwnBXW+qZAm6kJlsia71LIHVzsqEBOZIVmDDAxvTlfmbDUCAMNAoKTGlTgd/Es1plRY1KkbQ04CYbBNmlmM+cG7sSAwAmcPNOM02YnWJpxu34+c1HykJeZihMMWuh4KFBDS7ynjfgO5+UpHDK2rBWf9vRAXXwOaS/LkZ7TUe36fy7e1oKOuFtc6KkUBXSQQMYTZzhGI+ugz82fnMegkJdmYHoFyUph5O0KQuDEImwL8sMDHBa6kunksx9KY8viOGzcOE+gcmE800Z0Hs4mmYiZ0fibSkbtv26iJA3OmeGLp/BkIXbYQSdvXoZkWHV1V2ThRX4hjtXlkubJDMC8GztGYM5xO1bAp6qm3IgWHi3bjYG4kOsjas3cKnPanhqE2dh0qo0IITJtRnpUNy/l1apaecSjxosB+Xr5RKHHtkiUnPxCcuDaJ7wl7/gx0f7Crzkky7ywk886egGxnMRH2ZHZm0mBVujnYSlcHek5fM4B47yRvUkoudF9ajn5Pkh2+67n3zWOYx7gpPzinFM7+Hazn/0x2Yx2A0s+HQMl5uV6yw+vUkg5Mvx0CoCEgGqSOhgOSppJcVSApUPolQekdFUq/MExwGOK6+zFB6e9UKP2NGk9SXHfDQUmX5MBQMtLNwc1xAqbpoGSFKfYWcKcVmSuZm5WpqCVve1q5slpyttFVlfuwOdlKga2LLSksBhKtEDk91tnBXnWB3NCtLAff2E4rTyA5qUQm6yvtpQKmqx3lAqUbnYpSutVVgzvdA0rpTncDrtHrZ5v34ByB6DKpq3OkkLppUuooy0AjraKLEiIQHboSUz1cpB0Mg8iMjI82lkrqLn+O7etXoqooBxVFuSjLz0JZXgYKMlNRlJWKvPRkrF8eiJVzJmPihHGYRDZ2zGiYjBsDc1rNzpvshO3L5qAkai32pTOYotFdligT4Nn6bIHTuX15MmmznW/M1z2/cbgG2fmtcKbP76Wqn5CoXsWNJlBql04OX/YfRmFxpzKGBHdOo540owjzAiJwvHWfJDj8/Y1jYtrOsZrx16ywEndnIjU+m66NEhlvZZFwAwWFSsNabe8mBiK3UWJ4cT0Pvy/OgMzKbRYFe5HUn7x/9XP1NeairyGXYERqpDYTvaRGOgt2Yz8pkYq4UOxeswgBvm4y2Y4bO0bGjrd0cKNrxdfNHhtXsHtuFfIzkmWsS3PTsTc3AxWF2aSckxG3Yys2+PtJSrWZLCSU1Gutk8JkUrvJ29ejLC0KtTlxaKLz3rE3Fb11+TjTVESgKkBPNb23+lxxIzKU+H3y8XhFKrpK4nGkOBaddN7asnYImOrjOea0Fq1ZUZi7PEdqoYxdtxqUnBaXD4orqWBSu4hbcEEsgZWLZzU42XFtkmZcn0T3C8NJzMoMDjRe3FrIwdyEjhOlcwN377efNA5eVhPgaDoatuNHwMHsjVL63j6kRkkKZ38sULJ9BZSGuvAM1ZIOSsOASVNOQ+23Q2FkDEir9IC04l0jrjsVSMGczv62CqWfGbrudFD6W4knKZ0cNCj9yCAd3BiUDLo5qFBy1aDEGXgMHUdLufjdLMaTWppAamkivOws4ONIaslJMR82RxtMJuPOD450k1mr7VQ8XJ1hY++lK0o1CiWaHO2COnGvt5mAVIYrtLrleIQOSqSUtJjSXYISq6TbpJb6O6pIDZXKFukMoYPlmWguTkFV1m5kx4Rh+aLZcHOyJwCRGqKVN5sVgWiWjwcydmzAsWPHcPX8GXz2+ed4/uELPHj0BLfv3sf5y1fRdewUOo/24lD3cXp+Eqf6LuLKtZu4efsuSghU8bGxmOftgFGjRmI0GQNqrrcjkkOD0JC6Fe20+j5Ck93xylScpgmQJ2yeuHkil0mcj/Q1u7k4WSKnoE0SIbzVAs/U5Ao12aFNVExRSZeuOJjjHCOdCUYt+yQNnGNMrKK+7O8S++KKIZQ0MClqqxtJsZkY7bpL/o5WXFpQpDR6ZXXGQMzI2KcUmtL7cVl9BumZDbhO75Pf/9mGXB2I2EV3ti5bPuMJ+qxde+JxIC8KTaQ68ravwJKZnrCaOAFjR48S46SYxC2r0N7ajINtLTTW/eg5cQadXcdw8MgxHO45jt5TfXIObtG5uPfgIZ48fYaPPv4Yn3zyCdqrSpCamorgOb6knmhxYWZGoJok20i4OztgxeI5yIsNR3XmbuwjOLUUJ0tixKFyUkmNhTjXUoKLrSWiWE8TlM7U5Yh773hlGrpLSW2VJOBAzi60kXJqTNqMuvhNKMvMlpT/4aFEi4TAGkMoWRuqJTZWgWx8X8iCjd16emZN6kjfnedKizvudcethVytzUQRuVlNgiNBycNiHOzGfyBlG/YT37QY+t4+eGsGE99vAaXBcaVhXXgDakkB0zBwChlqWsq3DmzGgGREJencdoNU0iuz7uYpUDI3CqUfKlDiJIfJQ2uUpJuD1mKIoDTNxVZnvlyvRMDxtGZXwRi4mtPq1tIEnqSWJrNaclBsspgVvOg1Vxtz2JqZSKNJRzsbeHNncI9ZdONe03PfDdzcXGXPE6PVfA6O1+BS215c1lNK1zvZdVdFUKrBbY4nEYxYKV0mRXWqqRgnG4tkn6UmiS3EozB+O9J2hWLTCn/Y21oLiCZMmCAuIH9/f/T09OCrr74S++zzL/Dhhx/h/oPH6D5+Ghn5JQhcFYqZAasxb3koFq7eikUh4VgcEoYFKzbCn2zzjhhU1DXhzPlLuHvvAWoKsxBLgDIlKH3wwQd0HI2lMz2Qt20F6pLDZIJm1cTB9jN1WTKJ9zXQRC5GEzu7+RryJC4TtKlO3JxcYMpFwu3lJeJOWx/fp3PX2fi3YG7ATkkBZ/XD9UispD45f4CUVasYb+3x7GSTbNzHyQxS99TXJtl83PFBcwXOC46Vv6e587iFEyc5tJUWySJiatgd+V5e8SFRsPx+FcvRwegM2cnqdPSWsTqKQSPBqGRXCDYs8iUYkaIcPVLU5KJ5c9Hc3IIbN2/j1NkLNIb7EB4Vj1kBKzF7yTrMW7EZ/mu20ZiHYeHKzVhEY718/Vak5RTh6PFTuP/wET588RE+JjB98cUX+JwWEofq9mLJdDdMIigxoCaRinJxsMPmFQFI37UJhYkRqMsl5URQat9D0KnOUdx6LXtEeXNCCqs+ZYGQR+opCyfoPDGYDubHEJwi0Zq5E1mROyXeqVy/xqEk52YIlAzVktaslRWTOd0f3JTVStoLKcZgksQHRyXxQXZ95n2TeD8l3tvM1lxiu06cEUv3o/WYP0qBu73p2DdQ+r4+xni9pRbOsoL4DyglXWr4IDCtHgqmIXAyBqOQ3xjASAHSr40DaYWe227ZO0NVUtCASrLTU0k2+iqJXXcSTyIgzSIgMZRmGEJpuMLZEU5vGbYY0kHJDr6uSryIayKcTEfCZRKBiRSTu5UpvO3MCUyq0XNvUk980zhZTIQVTULs4uKODtyQ1dVzziuhxJX12XltpBiqcbl1r8QBGErXCEo3Og3jSXe7G+h5HS4dKKeVb5GkdjfkxaM8LQoV6VFYEzgP073dBEIMo4mmpggICEB3dzc+++wzvHz5Ei9ocnv+/EPcvf8AbZ1d2B6dgOWbdmLa8q1wWbINzst3wXlFFFxXRcNFLAZO9Jpj8Ha4BW3B9CWhWLJuK+JSsmjCPIlHj5+gYU8uwWk3Ro74AKNHjiDlaInkDQGojA9Fa/YuHN2bgBNV6TrVpIOSapcJxgdqanRBdaV90h0C0jkZI852s5xXg9T4LCmUZaiwAmLQcP3R0+ONyo64PXV40FUtjVmlB99hZT+jh0drpLODUge1XwprGU7JpJrM51ZKKyY5HxuvSmyL40jiViWF8PBUGy6SwjirKSMyBix/FgbSsdJEdBB8a0hZ5IQvwyIfZxkHdtH5z5+L1rY2PHz0mBTRaSRn5mP5hm3wW7aJxnIzjek2GVuXlcp4u9JYu9Jz52U74RK0FTPonKygcxO2KxbN7Ydw6849UU7Pnz8X5cR2oHoPVs7xEfcsw4ltqqerXAvVpJrL6bqop2ukszxLFjHn6RpjBX7zSLUsdq52lNF1t0eSNPgznqjKEOV0qDAWh4vp94oSpO6KF09KS6tbetfxK6CkqiUbq6G703KcycxkgoyRBiduMcS1SpyN5+3McLKRYnUuw/Cyt5L7i1PBGUouE0fBctTvJdnB9k03h+/n49emSo0Sx1GUwlkVSgH6UPq5HpS0uNJwLrxXg2lYW/3/F0iGKkkfSuK6W2TEdafFk3RQ+pGMgwaloYWzPzAKpbHWb5M6UmA0zc2BTE33drWHo+kouREYTOzKY/XkbTtJNTNST5MEXpwlxG33ne1tpffdFG9POLvPVPvKGYcSFyomJZXi6sFKgdIVDUriuqvSue44e41jSldJVVyhn+1r2YuDpekoiA1DYvgabCF1tGCGjw5Is329UV6Yg48++kiMJ7CPPvoYzwhI5y/1yyo8ZEsUPIO30HnYBfe1cfDakADvjYnw2ZSMqVuSMWVTEj1PhDe97rk+Hm5rYmmijoRjUDimBG3E2q2RKCytwtXrN2Xi7agswIrZ3hg1YgRMxozG7tULUENgas9RwHSSJjuONbHC0CZ4ngh5QrxxuBYrd3bIWLHbbM6Oe+JCc151BlYLGpAWnymuum/0Wgm9OMPdvJtFFWlK6dMLHCPqFPAoWXXtys8QjJ5KN3KlQJbjVQy2lNgM2Aa0SQYf/z8fAiKnffP7KNjbjSt0LjhZg1UdA1UD0omqNPTsVYBUl7QFmVuWyHYnowhI0+gaamlpwQNSONdobMpqGrA+PArTl26CE8GGoe++Zjc818XR2MbDR7UpoTT2GxMwmcbbi8bbPWQ3XAhQHgSw1WFRSMslqFzsx1M6h3wuP/74Y1K7H+LZs2coLcjWQYnNf7Yvtq8JRsLWtaSgwwlKmaSS6PrqqJQFECtvNgYTp/BfPVgu113fvgKJPXHmYNceOmekrvw31op6HQolpT8fX8MKiKxVMwYmS51a4oQNLpeYOJ7uFwITQ4mTHzgtnKE02cUBk53tdVDiGkF3azMVSnR/mYyAw4QRcDXjvnejkr7r+ffNw8hjlLuyjxIH+HVQWmwIJQeB0s9V950KpSFxJeNgMoDTtzR9GA0HJP7fOredppIESgNAsmeVFGBEJS34W53rzgBKM3+kV6NkHEqj1G4OIzgdXO3mIFDS6o+4MNZD6djARbHO5hPgNOEDOKuKycNyArysTeFlM1HM03oS/YyJ1FRwGq+mkniTPzvHyRIo5mQHJbZkCCVuQ9NcXkaTX4W47ziuJK47HZRqBEp8vEjf62veizP7i3G2qRj1ObsRsWaJ9N/z9XSRQDjf9H7errhwqlcmLbYXL17IxHWbVtptnUewZWcspgVvELi4rY6WiXHq5mTM2JqKWdvTCAjpmLsrkyxDbM6ODPhtT8f08FQCVTI8aDJ1XrELTgFbxL0XlZiOcxcu48GDh2QPsDs6CiM++ABjR43E9qWzUZuwCW0Epm5WTASm0xqY9ODEsaWEhGKlC4SqljihgQtTU+PSRdmwq+5jdbvy56qLjjuDP5Gi2yZx22nKSekarrjwFNsv7YZYKfH3+KjUQnUgKSZNipb5/2kNUfmcRUflyiJBFzuqU5IETkoMJkGAVJ8ShtTQQIwbPRIj3n8fW1YFo/dIB+6TEu07f5HUUR6C15MCDdgsqsidwD6Z4DMtLIXGNBWzI2isd2YoRmPOYz87Ig0zaax96Zz4bEiEBwHMOTgcvkEbEEbnruNIN+7cvU/n9LmcWz7HvPBoq6SFxgJfHZiUDSk9EB26QlLI+/i62V9C19AeXKJr6WZXDV1XtaLG2VXM190Vqa9iZcjxvwKcqM7G7rhyca0aQkkBEr8+Z3H0ICgpZifdTGwMFJMt1+1xmYSDvSTbWJBS4vgSp4q72tmIWmKlxFDi7WK4NtCdXXd0j3GHFaeJY+Aw7j04Epj4XrQeNyLpu55/3zyMPGi1nzRONvf7a1jNo4nbAEpv6ymlASg5GUDplwYuPNdVg8A0BE7GAKX+zKqhZhxIRtx2OiAN77obrJIUKP21AiU/PSix607LvDMonP2BYeGsCiVLuz8SlBQgcUCaWwdN4752dGN7ONjAyeQDOE54X8DkZj5WwMQp4x5WJpKZx92KzcaNkZ53mkpiKPEW6CbWM2jCOzVIMSlQ4kB6c9keWqVWiBtrAEqa665GJo8rHRXorslFa1EyDpdnoJNUUlN+HHasDYYr3cjmZpNgYT4JYWuWi3vnyZMnePTokUDi8eMnMom1HzqKzTvj4LJ4A52LXfBaFw9fUkM8Ac7dmY4FUZlYHJOFxdF0jM7Aoqg0snQsoucL6bX5u3jCTMV0mlAn04rebXUMna9w+JECiExIQ9+FSzIZP3z4EBmJsTCfMBajRo5ADCkmAVNuJHpKE0VlCJhqsySFuk+FUmdjo7jqZPLj2q1l3QSMFDUzrk23r9NzteMCN1yVwtfuWnnO6eSPdDvEKi47NvladeE97K7RbSzIINMKdROjk6VZqafUM90SOO4vo/NxoFxRSFzvU6MAqacsEZ0F0WhIDkNW2FKMGTUCE8aMQl5KPO7cuYNbt27jzLnziE3JwrxVW+ha3iruOYb/tLAkzCYYzY+kcY3KkLFdHJ2uWEwG/HfT+O/Optfpd2lBwIuEaaRaJ9Pvuq3cBdfF67GJzuEBOpd37t2X88zj/fjxY3n+9OlTbF27AmZ0PXC8iVv5RG9cJp07+Jph4+QHTh3v52vsCBdo14irmNV5/4FSuQ4vSUJEoSyWYnYXS5dyfShpQJq1pBBxSybroMQ7K7u4OMPT3R0+k70xZfJkTPbyhLubq3TLZ+OtXLh7Prfh4vo4zix0pef8Xr3UDg9cXuFJ952oJBsziSe5WNDicOJo2Iz+Hbyt6bnpKFi+gdL382FYOMtqYhgoGbjwNCi9MwAlo2rpV4aQWa1nq4YHkWK/+nZAWvqLAbedMZXk/xMVSgSkhYpKMognzVFU0uugNMYYlOwUKFkQlKa6OhKUnEl1uAqMpvF2FLxP0mQvOJiMohXaHwhMH9AKbTTcOb5EYOLkB17BSbNICzNRSdwl3JduSB+BkjMWTPdC7o5N8A9tohv5qs79wTe58+rT2Le3BP0dFRJPEihxfZJePOkm2Q1a0R6ry0NVeiT25cZiy/JFCFnsh4XTaUKgFSjHFLaELBMI8STFkxOvojmO9JRW1Bwwj4hLgxMByZ1gwopnRngaTXyZWBSTLRCaty0W09dsgWfACrjMC4Tz7EVwnhtAX6/E9LVbMX97PE2W6TSh0mQZwSv5JFJNsQKm6cHrEc2K6eJlAuBdeR/5aQmYOH6MZOglbQgQN1dHfjRN6skSY2LVobny+mny76irEyixSuJJj3voSYq2GgsSlXNSUUKPBSyN6g6xTfj4XLu46j6/fFiXFv65bJ/eoW7a16yD0eOeuoHO5JwMoRq3Q+JFg7cGpdK9MkGfUTPsThJMpQC1aDcaU7YiN3wZzAi8JuNGoyBVAdLt23dw4dIVxCSlY87yTaRGwwhIUQTxOPiFp9B4p2FBZBrmhsdh2powGWvX+UFwnrMYrvMC4BVIYx2yBfO3xcGfgUWLhPkEJ79taZjKKjUkRhYVW6OTcLj7hJxbJVb4Qs45n/t79+7J4oTVCauSBXSNrFgwE5vpmmmka6cuKwYn6vMlwYTbHykuvCoVSmUqlPbgQjNdlwd5sdAk46HbJiVU6fMXsjRc15jV2sqKgGQPV1cXeHl6CJCmTvGB79QpcpxCX3vT67zhpYdqrrwTs40V7Oj6ZSh5SQsiR4GSF0NJEh0spCmyQIk9FhNHwXbCSHhZjhcXnvW4Ud7f9fz75mHkoSucfQWUHIL11JLRuJK+WnoNmF5rvzIEkkDp3UFuu3eGddspUPrZaxMcBrvuzPx+ZBxKBt0chkKJuzkwlHhn2akCJTfZhoI37Js+ZTJmTPWRG8VuzO9gP/YPpJpGwtVsLCmmcdLxgQv6uGeXu7MjfDzcRSX5+ihQclWh1JW7DT35O6TzwIAL76a4jO70NMmkLEkO7Wo8qbNSJoubqnFsg3umVaREIGfXeiybP0MmHU7ztqWV5pY1y3QgYlcOqyVtkuo+fhIJ6blwWbAGrst3YvL6eMwIS0Ze40E8+fJP+OxPf8KxsxfgMGMezJzcMcHCBmNMJ2H0BFM5jre0gbmrF0FqMXxXb8aCHYm0ms8SdTV9ayoprjg6h9vElVdcThMdTcz8f3mSLiAwmZuMk7Tx3G0rZDI/RJP6sfIUmuTTda48hvGB2hqZ/CarUEqIydFtI64pHN5oT9meXNtGXekCLu66E4orj4HFrz0haD3V3Hgnm+Q1hhAnRCgKq0bXoZwbwvqvKVZjWrfFfddUypPzXkmb5gzCXq7rKY7F/ozt2BO1BvbmppLUkp8ah2vXrhGQbuPqtesoKClHAEHcITBM3HVTNiUiPKcCdz/6Ep/TWF+8eReTFwbRmHpiAo3tWFMzGedxE81hYmULSx7rWQvhu3IDFkYkIJDGemFkpkDNNzQBHqSY3BaEICEjD8dOnBZFzOeazzm78vjIymnr2pXSENjGmq8TS2xcMh/FsVtQkRyB47U5uNxeLtfWDVr8CJTommMoXWlXoHSRC3BJKR2sb6DzckEHJQb3ulUxBt3C/Twc4OToCA93NwHS9GnTMHuWH+bOmY05s2dh5vTpAiZP+r6nuys8STm50f3C8VfufsL98TQoeXGPPMnAs1KgZD1J4knOZuNFKTlMeB8eFmNhP/59btbq/V3Pv28eRh4CpakalH5qBErGXXgDcSVjaskYmF5vBiASe9cokIy77d5+jUoamnWnc92pSQ5K5t0Ph0BprEDpBwPdHJzfGujmQFAyJyj5EJS4qepU7vhNYOFtzacTkNhm0IqPV2Z2496nm+EDONPN4WI+XuJN1iZjpJUKq6SpAqTJYgwlF2eC0jQFSrz19pzgNL0K+ZvS+PJ29z6B0uAkh+ud1eL7P8oNPEtTcaA4AftyYtBekoSd65ZIfQrHDtYumIbzJ4/JxDTgsnssQfAbt+6gprEVc5eH0jnYCZ/QJMykVfeBM1fwJ5og2f6e7KtvvhGQjBw1CiNGjJAUbwOj10aOHQ9TOydRUXPDYuC/Oxvzo7IkFsVBe5egLVi1KQJHe09Kdh//vVu3biEvNQHjx9J4WZujNGYdWrN2ontvohRvcqcBnvQ5ltFWXaXri8euoWhSC9LJW902gtWNpnCeqq2AHulUjwIgAdHxRgEQg+uR/I7i1tPcedrf0XaTVXaULUdcTK78X6W/3SU8ONUuHSj4PZ6g98qJDQdyd6E6YRN8nG1IJY1DSmyUDkg3b93GkZ5ebNgWDaeAzXBhRUpqcveexiFjzbVHI0eNprEdIePNNnLkSLJRGDV6DMbSgsDMwQVupFTnhkUjKI7VbBbmRGRg2pZUeKzahbkrN6O2qQ137j2Qc83uu/v378u55xjipdO90nnDzMxMtk1J3LoGR8oz0JgdI811O4qTcLQyE5fomuPOIdcFSkpciWHMsSV23+0vLxdIa1DiMQr0WzAESuy6Y5U0dcoU+M2ciXlz52DB/PlYtGA+FsybhzkEqRnTfOHj5YnJrJpowebiaA8nAhLvs8T98LxEJdmLy9zdzopUkrkOSpx5ZzvmD7IwdDcbTc//+KZw9vv60ApnzWezW0uBkp0+lFQwDYkrDaeW9MH0H4aQEXU0HJA0t92SQW67QAVImkrSd91ZG3Hdmc/+K4MkBx2UBhfO6kPJyRBKjg4m0rXYh6A0xdMdUyd7CVimTfFRwTRFivvsTEbDbsJIadbKhXzcj4vb7bs5OYrbbhr9zgzfqfCl35ssUHLCtmVzdVAq2R0haeCaC48be97ubhyAEhfNsuuOoMRuvBN1eajPisb+PKVvXeLW1UgOWy2KjuMG4av80VZRqJuMeJWsZdw9o+edR3qwfXcKHPxD4c0KiQCyODoHf/7zn2WS/IYnya+/xpdffim2d+9eAyi9//77Yu+9957Y+/TaGFrZO8ych7lbouAfm425O1RX3upoTA3egMTMfFy7cQuPaZLU3Ikblgdg3JjRCJrhiXqdWkrWJT5wkseBOqWTArvv2D20fdMu2WLi1oESgYYWL9KAw2DSMvBeSh+7g1JA+9XVo6p1iTuPXXucmfdEVVY6KPXU6sDEu/1GEQT5/3qrUGypqJDefexq5E4NR0riRCVFrlogyi9m107cvHlTwMufkzPtEtJyJDPRacUuyaKbuS0Fn6hAkrH+6it8yaaOtTbO+mAaRQsDttEEp/GTzOA0Yy7mE5iC43OwOCZbwORL6ss1YBO2x6bicM8J3XlnpcRA4muBrwm+NubPmAJLSwtS/25IDg9B7KZV2JsUIZ3I9+fH4lQ9na+DilJSuoqUGUCpqbRUzU5UoMQtlwbvqzTTwx52trbwZE8B3QMzZ8wQlSRQWrhAwDRvzhzM8pshYOL7Slx4Tg6ilhhK3KyVwcQdwwegZCFZjey6c5w4BlajfovJlmPhOnEEbMe+gdL39qHtOMtQstag5K/VKemppeC3jUPJQC0ZU0z6W1woiRDDw0j9XQMg/dIQSMsUIH17lWSYdWc1/28GKSVD150+lMYbFM7+QK/F0Fu6bg7c987BfoLSTl+NCbELbiopJQ1MGpy4cST34OLt0nl7Zu5kzI1Xvdxc5WcZSDP5piOIGYNSQVS4WhejB6Wj+yTR4YrWyYEnBzL27Z+sz5UGm7ylxMYlC2Ri4f2aLC0sYGFujgOVBTq3Ha+WNbXEILhx8xYq6/fDe1EI3FZGYiqppFnbUxGzp05vkhwAEtupU6eMQmkwmEabTJSY0+LIVATG5WLezkxZwbsv246gtWE4ceYc7qlqiSdsduXN8naB1SQTpGxaQoojUrLxWC1xvU9/RyVS06oG3GchfajNTsGNtiKxWwf24N6RCqlB0rLrGEgcR+LiWaVrgwqka0d1YOLXOLbEaeQvCF4CJ1ZY3TXKFhZHKmTzPwZfQ06qrrMEv4/D+9vFxcXvsac0SVrx7IleDxtzUyyfMwVXr14VKHEM5/aduzh+8iyWrlPcdpyhyK7NBaRuDICkN9Znz559DZRGKz0HJ06CMy0CFkXEI5AWAYsiMzGL1K7PmhhMDVwn5/jmLcVlyueeocTXghZn4g4eVlaWopYm06Jrtq8XdpHSbszZjUNlqTjTkC+1SlfULiIGUKLzokDpvA5K/qEtqNzsZwCltbPdYGtrA1cXF7ruvTFj+jTMmc1QmqdAiUxTS7NmzqD7w0ep43NUoORKIOKEnaFQMpdyC/ZI8GLQhqDkbTEazhPeh/XoP7wpnP2+Prhw1mQa971TobRIVUr+SjcEAyhpYNJBSV8tvQ5M7w4PIj0YGQXS8nf0VNIv9JIbfj68SvIfrJIGQ+mvjULJlKGknw4+eZgaJb0WQ1xJzr5snvA5e87Hy0Oy56ZywJbdcVMUOLEvnFvsc9NILpRlf7gnu+3o5xhIs2ZMhx/dkAwlH7o5nZ1UKOWEC5R6iyJlpamD0vJj4r6TFapezzves4j3xzlCk0ZLQTzai+JRmrgdEWuC4UmKzoKgtGKWl0GAmyd/duHwhMR1SdweKKuoDI7+m+ATmgy/iEws2p2DTZl78CdSSgKkQRPlvn37hrjv9MGkwYnBNM7cCtNWbcSS+FxSX9kyUU5euxu+NFGW1TWJ61CLb/D7a2veL41eF0/zRENquBRoHpOkhzRShVXIK+xQst9Cb0nhamVaAq405eBqcz5utBfrXHjafktaESxv/PeP907jn+6fwb88Po9/fXJBjn95dE5e+/PtE9IXT+qb+pRO4Bxj4r/FCkzZLr0A1RmJ0udOy/472naYFgZlkjHIPeJasnZg5dypsKJzX1eQJgqJgcRjzlDgTg1+yzZLLdfkjYmYvSNNsuu+1uA/aKzb29sNgDQclMaMGQtTCytMX7kRS+OzsTSxkBRTHo13BjyWhCEtvxR9F69IwoPmxtNPeLl4uhfrFk6TZIRZU70RHxaCvN2bZbuLzpJkHK1IR3dlBk435CvJDu1KssPFlj2yWNhfNghKG5vQHLvCAEprGEo2NnBycoS3lxem+fpKLEmB0kIsXrRIVUuzBUrTfadI3NWNN8O0s1G2tXBUt7UYBCVuMeRkNl4SHOxH/xaeZiMl6chyxG+Tvuu5981jmMcY77doIv4BTdCDoBQwFEoKmPSy8JYNqCUdmPRcecPD6d1Xw+g1QFJU0s+NJzcMVkkGrru/GUhyICgNZN5pUNKLJ32LwlkNStzaRFJSXZ3h7e4qqzj2fXNcaIoOTIobb8a0qToXhPI9b/l6Nt1sc9WV4HQC1GSBkiPClxpCidPANSg56aBUKVDiSYGLSTv3JsumezVpu1CeHIGCmC0ojN0iK9x50ydLceyR2hIDt51Wl8T2CU1QbQe7EBIWLenfvmGpmLsrCwGxpGrCd+M6Taj6EyTbp59+Cjs7O90EOTiuNBhOI0aOgrXnFAREpiAoPg8LIrMwIyyFJsot2LwrTrLQeFLkSVJLXd66ZjmcabLJjViN9rwo9JQlSUHttUM1KCjt1Y0Lb9F9qSELl/dl40Jdug5KrJCke/ilTtmB9p8f9uFfCUD/9cVV/LePruK/f3yN7Dr+Gx356//6oh//+fll/KenF6VxKxfganDiPnfsumMoXeUt0gmArFy195BbdBgXW0tFJXUUxKAsdiMWTHWXOixNISnp2E9wuf8atuyIgUfQFiky5jqkBVGc0RiPziNHhwCJ2wU50YJlMJA0KDGQBqCkdBO38ZiMwMhkrEgtxpKEQhrvXPiu342QbbFo6+wWKPFiRLsGtAUBXyN1KdsRPN8P/rN86RpaKlAqSdiOuqxoVKTuQF1mNHqrsySG1q/VK7WqUCrdOwAlgvWOiAIcoeu5OmzOIChZw9HBHl5033DW3Sw/P8wndbR40UL4L14kxwXz5upiSwwljinx3mMKmAhEDCbZiZb74FlK3ztuxMqucpvxI2E36tdwn/iBJB2Zv4HS9/MhhbMCpR8SlP5uKJT03XevU0sqmAxjTIPgpA+pFa9WR/ouu6FA0lTS20ZU0k8MVJINA8kYlHTxJAVIkuQwLJR+MGw3B4aSu7gOeGdMJ3HFeZNa4hTWyYPAxAqIgcPg8SNVNHO6rxz5RuNV4FxaHc7ym0krRQVKnJFUGLFchVIEeosjERDaZAilHgVKnORwbl8h+hoL0VWWhqbsaOyJC0N6xDpsWb4YAbOnYdXiOXC0t0PI3MniquGVsRZD4omIJ6ZPuaUQAaa54wg8Fq2F9/oEUklZWBSbR/DIxbSVoZgwyUyasvLkyJMku9e4JZE2MbLpT5hDEh/UFf5Y00mYt3knVqUV098uwLyd2ZiyNgaec4Kk4ehTtS2OloBxuvsQZvu4YevSeWjO2omjexKle8CNw3VYE3tKEkA4825RyF5cISBdasjE+VqCUluxuNrYZcfqiOHCKohh818+vEIAUmD03z9RjcFErzGs+Pv/9uwS/oWU0z8/OCtdIRhqnCrObjx2DfY35aKvKlm6OyhFzrcQEnMC1+l9cbPS9twoJGwMhpeTLRqKswRIPNkzbDl2dunKNazYEA7XZRHw3pCIWRHpkggyfW0YxpPKaW1tlVZPPNY8DsHBwQYgGqyQBgOJt7cwmTgJczZsQ0j6HqxKL6XxLsKc7enwXboZDa2dct75f2hg0q4LHv+zvV1IWreIVLYzli2cBT9STLs3rSQwbUNV2k5R46fqcnG6Pk8UErvwuMMIK9jmsr26RAcem21bkgVKjZFBQ6CkJDt4Sho4JzvMJwixSgrwXyxgYrU0V1VLvOjjWCxDiWNKvBEgu/DcHNTGrDYWcLGaBCdzE9ll1mr0e/A2HwlXk/dgM/LXMB/1e+/vev598zDy0HVzoAlZH0q2i43ElIaBkqKWjIHpnQHADALUUFO/b0QdvRZIqkoaDko6IA1y3Zm/Kp40pHBWH0pvGUBplNXP6EawFdeBO0GJA7DspvPycB8Ak55aYjAxhBhADKL5c+fIzbdw/jzJONKgxG4MQyjtECj5r6/TdQ3nFPE7DCXZFqFEXCjHqzJlh9LO4kTUZexCbmQomvJiEUpgYhUXMHcmuur3GMQONCjxhMRgekwwqKhrhtOiDfAJTcFsgkUAQSMoPgdu8wIw3sRUt1eStbW1biJk0yZH/QlzOBtNvz8laBXWZOzB8pQS+McWYBZn481dgt7T5/DkmdKnTWuHw3CK3hQC/xmTafW+TbLwTtflyOS/PlGd+DZcRSRNtqyQ2M7XpolS4sQEVkncHZzhogFJVBIrJILR//jkhtgAmBQo/WeC0n96cgF/edSHf7x3SlFMlw5KJh8rJVZJZyuTMG9Zlq6lztq4PlJwtQSlRLRk70Jo0BwkJcTj7t27opA0Vyn3/zt59jyWrN8Gj9UxmLolDfMjs2UB4LFoKcZNNNONJ4/vYAi9CkYakHjPKzYf/2VYk16MNVllWJa8B4ujcjFleTjK6vbTOX8+RC3xdaGNfUP6TqwImI/Z03yQsHUNusozUEyLnoasGHET83bsJ0gt9dHC6KK6OePVzmqCUukAlDZcw+Y12wVKhzI2D4GSvZ2tFMoqyQ7T6X7QoOQvYOLY0vy5ilqSkgmCkgP/nrWlFNEqnR2sZQsYztbkfpKOZuMlwchh/HvwMhsB5/G/h/WIX8HUdJz3dz3/vnkYeQy0GPqR0ox1MJQChofStwfTOwbqxwBSg19Xf++VQNLcdsEDbjsdkAL0gLT4x8Zddzoo/dVQ192roOSuthgiKOm6OahQkp0wHe2kdoJTVQVM7m4KmDS1RDeappb4xlq0QAngsltCyzDi12f7+YlPXYGSwyAoRWHh6hJdZwepUzq2X2JK5/YX4fCeZLTkxqCOJpAaWsHysTg2DKk71iOQYMQKbkugn7jFBkNJ63HHrrvb9x6gqKIOzoFbZJKcF5mLoESCUmwmHHxmYMIEE5ns2MYO2syPTR9Sr7Ix9HsufvOwLqsUIZllWJJUggW7sjFz6QYcPXEGT5+/0K3e+X3yqr3nSCcWz/RBScxGdJFSOkOr81vd+yQr0VttUrtzc5QAiV14F0gp3T5YKq47bsbKQPrXJ+dF/Sgq6aoASID08qZiKpgUtaS68DjWRFD6p/unCWxKY1fu6HD3UJkKpUTMXhwl/1+a5a7vp0m5lpRcNqqTw7F07jR0VBaKS4zHX1sI8AKAt6BYsnGHdMmYHp6BxbvzEZyYL5lz40wmGh1T/fE2BiJ9GHE/QzbXGXMQklqA9bkVpJbK6HwWYvqaXSiuasStew+lk7i+UtLGnK+VK2d6kbdzrRSwBs+fhYTwtSgmpcTF2FxqUJ22C+0FceLGu7C/WBQT98lrLi/XFc8ylDaFbFWglLkZ1VvnDIES1+bxIo6THXiRxvdHIEGJjZ8vnD9fXp9J39egxDvT2luZSw88TiZy5n2V1P2U7EklcTxJ6pMmvg+HMb+D5Qe/epN59319aN0cuDu25Vx9KKkZeMO58JYMVUsGYFpuDEyvNuf/KyDpue2Mue4WsevOUCVZ6ic4zPrRUCj5GqaDjxtUozTS+S2DFkOm1r9Xtmh2sJMUVTdSS+6uBCZa8TGYWC1pLjxOXmD3HUMoKMBfLJBWgLwKXLxQ8Zlz0aACJU84OhCUthtCaWd4qrhBOKDvsuq07KXEE0BPWQo6aFJoytmNwphNyNqxFlUpO7B9zVKEBC+UQt6gBbPR3ViqgxJPOIOh9PLlp7hx6y5y91TDbck2TAvLwILoPAJGEQJj0mHnMdC4lU2b+AZDajCo9CdNzcYT3Jx8/bAhp5QmykqsTCtFQEweFq0NJyidxTOCEmed8XYL+nBaFzgX8aHLcbgkEedJIbZV16pblnPrpbMI37Bd3Hf9EuvJxWNSSdwO6B/unMBfHvYJYFj9MHDEdccq6eUN/E8C0v/UB9PH1wziSv8iyQ8KlL65flT2UeIsvGst+aKUqtPj5f9rrqrmyhpSrwXI3rEOCaHLRB1p/eb48/Bn+/DFxzh28iyCN3IaeBL8tmfCn1TpkoRcOEyZSarUZMi46ps27voQ0gcRnytTU1Mx5ynTsSYlH6H51VibVYlliSWYvSEa+eV1uHHnnq57uAYkXrRoSonf+/6sKMyZ4Yt5ftOwK3QlYreuRXN+AiqSd6AqdScOFCWga28yTtXmSEcHjvW1Vlbq2j+xiszbuUUHpcZdgQPZdyqUOOOUXdfTp/lirgYlvk/IxIUnmXjKfcKthrirg2z/rm7+58Bw4qO5KewmjYetifS4g6vJ+3Cd8AfYjfoNLN7/1ZvMu+/rQ9diyO+vFSgt+JZQ0rnwjKmloWAyBidjEBpI+/7Fa4GkU0nGgLRYA5LmuiMYGcu643jSMEkOwxXODoGS1e/gzC4DukE48MqrN+7NJS1RVDcep3f7qK1SeIXHN9eSoCAsDQ5GcGAgggID4L9okWQb6UPJwcEeRXpQOk5Q2hGWqNsKgCfAe8dbpRtzd2kKDhKU9qVHoC41QpQSp+3yfkn7CpIQH74embs24WhDqUwwGpT01ZIyKb3Ezdv3UFBaA/el22TlvpCgtDS5CEEEJXuvKVJ0q010POnpQ0ofVINN/2fYTCdNgrvffGzKq5CJck1GBYLjCrGYoUQT9fMXH0kcRYMSJ1OwlSRGIC50BSnDRPQfrEZWwaGBjMSlRwlGuWKcDn7zQIkkJXAsiV1v7IITKBFoBEoEHgaQAOnTW4oJmG4YuPD+jaH0WMnIYxcgQ4ljS7z9+Z3OUpyvTZUMPP7/2ns52nYU51tKkRcViuL8XF1mI38W/kz82Xivo+Onz2PF5mhM4XjSjmwExhdiaVI+nKfNgunESUPGbTjTzoV2brTmqtzHbpKZGVx9Z2J9RhG2FNViQ241VqXsxdzQaBRU1OPG3fuilPRVkqaUtISThvRd2B22FpWZseiuzUdvXQF6avLQXpyEA4XxOFScgFM1OegpT5NmrNcP19KCoVrX+072mNKDUmvCahVK7jooccYp3y98D3D8iBdrgQEBYrrFG7u66XsuTg46KPGutDbmE2FrPrAluo3pWFiPH0VQGgkP0z/CedzvlHjS++8mfddz75vHMA+txZBxKP3MOJSGqKWfG1FLQ115BhAaBkbO+jD6NkAy4razVd12RlWSnutOH0pD4kkG6eA/MA4lte+dCUGJg6xcL+FMasnF0YFuFkdpHOmuuvG02JKXh4fEjNgVsXTJEixbugRLGExBgQSqxSqUZskNyVlI3A/sUOYWAyht3xSjgxKnh988ug+9lVnoyIvB/rRtcjxcnIgjBClODedtw+8f34+LHVXiztNvvqkPJW0Fz1C6e/8Rymqa4LkkHDMFSvlYllwiKcUupGy4yp9NJjvV9Lc+0CbFwab/M/w75paW8A1YirCiGmwurMX6nCosTyjCopAtOHHuEp5/9LFM3J+pQXgGEsc9Lp45icydG9BVmoobR+pRWHFOl+TAeyexcrnRXiSuNU5w4KQEhtI/3TstaodVjwIl1XXHKunTm/h3AtK/64FJceENJDtwpt4/PzgjGwVywsMXl7nzeItk4bEyu9FWSAuiZl2yAydfXGyvRFFcOHr2V8n71z6LBqUXH32Cvov9WLc9FlM3JGD2jmxJQliRUgSPuYthZmE5ZHyHM/3zoZ0jc3NzMS4DmDxvMTaRKt1aXI9NBbVYk16OeRujUFbXjDsPHkqnCE01a0qJFy8alHr2leNyZy2enCGFeKIFt3sacKurTlQRJ9kc3ZuEzsJYWSAxmC62leFQU7PASNv/S6CUvVViSgfTNkrNkj6UOI7qrWbgcVo4K6NA8SqoUGIXHru6SS3xvWbPzVxJJcmOtLLpnwlsBEi8NcVoWJFKshz7AdxIJTmM+Q2sRjCUfp30Xc+9bx7DPAyh9BMjUPqZLq706tjScIppEKCGA5FmQ4D0c+NACjIEknG33YBKMnDdDRNPMgol/cw7I1D6PXcItxoDJ87+sbOBk70dnEjdSEdjBpOLM4FJUUsMJK5Y5xuNV30MpGVLl8oxmFQT33Bcwa6DkqenZCMNhlJZcqxuKwBOta0vKkRnUTwBaTtas3bgSEkCjlWkoa+pULpnPzrZgqdn2vHRxcO4RhP4xVPHdHGNwWpJS3Z4+uxD1Dd3wCMgFDO3puugtDKlEFP8l8KSYKIZT3Zs2uTHpk2I+qb/fe13rO3ssCh0GyJKGxBe3IDQvFqsTCClFLIZl67dwscvP5UMP30oaVaZFomeqmyBsn4cJ3pHKm51lAiQHnRVSpsh3v+IlQ273hhK/6bLursq4NFU0r9/dlsxTS2RgmL33n/5sN8ASuwG/HuB0iFxCz45VkuKrBi3O/ZgTnCq7vysS7yIiweqUJsZYwAkzRhKn9BnZGW6ZVcCpq6LxRwVSqvS92LGivU0Rva68RrOBo+r/vmxsrIS44SUeas3ILywisZ7H4GpAesyK7AgNBK1dK45qeTjj4e67jSlxNdMd2MZPr3aiw8vHMKT0214eLIZ9441SWPWi9K9IlOA1J4TRYBKxtnGYiSnVMnWK+xu5h54fB1rUOogKNVFLMLaOe5Sp6RAyUGXgcfxVY69cqKDqCU1rsSg4g4Pbs7OsreSjbmZ7KtkxZv+mU6QGkCrCWNgOW4ULMZ8APuxvyeV9FvYjvr1m3jS9/0x2uutc9z37lVQEjCpqoRh4MAWPEgtDQbTKwH1C0MQvRZIAzVShtl2w7nttDTwvx1IcDBw3f2V0XjSsJl3eungur53es1YLS1Hw5FuDElN5T5c3PZEhZOT2mqfM4o83NxUKM1WlVIwli9bKqZAyV+Fkp8OSvZ2g6BUEoXi2B3SW03b5K8mLx9t2VFoydiBA3nR6C5Lxen6XEl+uNPTSFBqJSgdwCeXu/Bp/zEcb63R1f7oJztoxkqEJ8y2Q0cxY8lGzNycgkXRBVieskfSiRdu3gl7RyfY2trChve7IeMJT9+0iVB/QtQ35fds4eLpjfXJOYis2I+IvU0IK6jHytgcLN8cQSv3R/hCrckZDCSBUm4Kemtycf+EkoatKMc+7NwSKe60+4cr8PBolTRk5aw7LQ2cwTKQ5DDguvv3z/SgRMaQUlx4alyJofTkvCRKcM0Sb6n+xZVD+ORcq7jwbrYrUKpKi5PODlpg/8qhehxtqtK5ILXPwkf+bPwZeeO9bdFJmL4mCnMisgRKIZmlCNwRD2evyQZjbWy8h46tYvx7bFw/5ujsglX0P3bRAmBneTO272nChowyBIdFY38HXRuffjYknqQlOWhQen6OlOGlLrwgKD0904ZHJ5pJMTXjASlxbszKSSe9lRmi1luzduE4nZ/E1Dpdv0Z2N2tQ6mQopW5AQ2Qg/DwdBkHJQxKD2KvAqogXbKyWJDV80SJ5jV17fF/ZcmNhUkm8t5IFwcjSZBzZWOm8bzFmBMxH/RG2I38Nh9G/Eted1cjfvoHS9/mh9b0zm6UPpZ8OQMl/KJQUMOlD6TVgWmoEQMPBSID08wEgLXl7AEoGbrufvsZt92qVZDSeNLjnnVEovTWkGasEVa0t4EBqyYHAxJ2VHejmEmM4CZicRTWxG49vJr652G2nQWlJsKaUtJjSVLkxuR8Y+96P6KAUjRKCErvtNB99dUExWrOjZRLoLIyTbK8L+0tknxueLB7TivbZmQ68OH+IoNSDL2+exImW6mHjSgwlnkB7Tp5FRFw6ZmyIw6IoUkpJe7A2qwyrkvLgPWsuHJ2c4ODgoDN7e3sD44lQs8Hf4593caexWB6CyNJ67K5uIzC10Cq+HiHRacjZW4X7j55K0ah+PEn/eLA8B+daK5C7p1dtUHsDDkuO4M7BvbhHKun+kQpRStx5gRMS/nyrV1QOQ0mX5KDFk1SV9L8+Z7ujU0uc8MDuPf0MvL88PIt/lEJaGsv+w3h5jgtpGyV2dZdgWJEaC/slh3Vp+4dau3Cm54h8jsGfhb+WZIePPkHB3koEbd6NOeEZCIwlKGWUSvr2jKDlcHZ1MxhrY+OtP7aaOTo6ijnR9TdjUSC2F5QjtqYVMTTeO8uasS65CHE5JTjce4rez+e6RBLN9JMcXt46RwubowIlhtOT0+14dIrVUou48u4ea8Sllr1Sq3SkJBEHC2LRVZqOxLQm3QaVXPg9AKVNAqWmmKWY5eVoACVPDw/ZS8lvxgy5J9i1rQ8lfo1LKrw83GTrFUtSSbw9uvmEcdJLUoyAZDbyj5j0wW/hNPpdAtOvYDXiV2/iSd/3h9b3zhiUbPWhZEwtBWkuPGNgGgZOrzR9GA0CUrCh206B0k+GT24YTiVprrvZP9KD0g91UBqc5DBsjRK3GFKhZE9QsueUVFJL9uwXJyjpmwNNys4SZ3KSuJKS5rpI4kgMJM19xzce+8lnEZR8pypQ4n5g7ObQh9LpsjjJupMYCq1A91ftw8FCmgTy2Zev9iJrL8Pt7gZaybbgyZl2PDvbgQ/PHcLHF48ImL64fgInWmuHxJW0NGWeMG/cvou91Y2YsWoHFu7KxdIEhlI5NmaXIWhbNLx8p8PV1RUuLi46c6bJ71Wm/ZybmztmBQQjLLMQSY0HkdjQSWBqx9a8aoTFpeHoyT48U5McBqsL7XjqYDP6SYWsT7ooW5FzZteikGIBErf/0aDEveoYSqxu/qKmg2tJDko8SY0lfaYASbHbopwM4kpqBp5+rdJX/TSe59sFSvw/2bi7g+X8Wl3cb13CedzoOyGqaDCUtAy8jz95ieNnziMsOgVzNicjMKYAq1JLsTG3Esujk+E7fzHc3N0NxtrYeOt/j8+NZj7TZyI0MRMJtW1I3ncI8fUHEUlQWh2Tjqr9B3D5xm1ZjGg7Deu77hhKn905j0+vdAuUPrpwGM/7DuLp2QOy4GEl/vhUKy2AmqUz/YXmPXIdKnHNdKTmHJRODtJiaEP9ECg1x62UTf50UHJwEI8CJwZxrRL3vOPEoED/ASjNl84Os2SRp0Fp0vixmDRuNCaNHQWzsSMxaeR7MP/g17Ab9UvYj/wFbEa8C8sP3sWkN50cvt8P7nunQEnZS0kHJX21FPAKMAUPBtPbg8D0OkCp31/yHwWS8ZokLblhiEoaznXnZzyeNAAlJcnBKJTUZqz2FmZSIyFQopvLjusmxJTtnO1tFXceG99orJQkJTxQiytpUFJuNm6vooOSjQoluok19x1DSWtnwyvQuOR6WZF2l6WRSsqRFOmrnVW427NPVrM8eTxnKJFS+oigxBPLZ/3HxJXXd2i/UShxR4cX9LzjSC+CNxCUtmUQlEqwJqMcm/KrsDGzGAtWb4C3zxR4enqKedDqVt/caRLVN+11T08vzJg7H5uTMpHWdBBZ7d1Ib+6iCbMDYRkliM8uxP3HT/GSVu48kQ+GkaYwLnQfxINTHbpiVe7QHRMerSQ3qFC6f6RSMu+4NZBk3nE6+NMLAhj9eBIDaABId3RqiZMflLiSXgYep4XfOy3K6+urXbIlOv8P/p/cLZyz/mb7R8r7UVLDr+Hm+VMCHw1M+p9FyS78Ak8//Agp2UVYuCkOAVF5WJmyFxtzqrAptwzBWyPhO3suPL28jI61vmnng82Lfn7ylCkI2RGD5Po2ZLUdRWZrN1KburCrpB6bSQm3d/VKQgnXp+ln3fE1wQkln9+5iJcEpJeskuj6eUFQ+pCUEi90+Nria+yxare66nGlvVyyQXvK6ZqsyMbSCDUzksC0aE3FAJTSFShxBh7vOjsclPie8Fe7OgQsVrLveGHHHgWO1XJMyZIUktmo9zCRlJHp6BGYOOp9ee40+h0Bku2Id2BNQLJ4/903rrvv+0NrxmpuFErcQ+6nr40tORoBk3HlZMSMwcgIkByMAGlAJQ1y271GJb02nsRJDrp0cBVK7sahNMKC3ofFJNhZmksBH98gdrzqU+HEGUV2tsrNxu48TnXlRAbFT67EldiCAgMlgMsV7H5+M2VPGXZh8O/zilIHpWIFSgEbG3TuoaXbDuBUQxFOVOfgbGMhLh8ol7Y793ubadLokMmD3S0vNChd6pJJ5jNSTC+v9ODD25eHFNFqLrxL/ddRWF6L+RtisJRdSmkEpbwahBfXITS9CP5rN2HazFnwoffr4+Ojs8m8jbURm0KwnRcQhM0JachuPoTirtMoOnIaOR3HEV/Vgsj0fLQeOSYTtL7rTj+mpMVirp3tRf7e47q9pbjfXUNehsCBXXhKokOV7C771dUjapJDn16Sg+a6u6lTSf/7i7tiAiYtrsRQUuNKumSH+1oGHqeFcwfxJvm/WrIDdwx3XHZMlxred+EBvvnmGx2Y9OGqufA+JQgf6j6B7XEZ8I/IwIrEPdiQVYmwwjpsySnFMlKnfgsW0xj6Goy1MZtC54PH2o/gH7I9Eml1rSg+chIlR8+g4PAppLd0YWtGMcr3teHclevyHl4OgtK5Iy2S1MDXyqd0nby8TErpIseTjsgCh9XSM/X6etbXIXHLu8eaSC3VoK+pGKfqC3C8Jg/Oq05JkgMvoCLCUlQohRGUQnEgZT1yNvvT/aIs4oxCSbo6LBQgsXHig7QaovuEocS747IyYihNGvE7TPzjuzD9zY9h8fsfE5DeESCxSnrjuvt/5PHtoPRTXXEq1wQxGOyDfqq68PSSHoyC6e1B0FFBNRhC+mYAJOV/KCrJGJAG3HYGyQ2aShqc4CBQ+pEelH44tJODkXRw/W4O+i2GGEpSF2FpJlDioKsYp6nSkc1OdelxrMmbVq98M2k9vdiFx/VK7C9XbrY58Js5Q4ESKaX5vp6yolSgFCFQOkVQWrAiX1dAuzKqF+eay2giKBEgcb+xW10NeHiiVWDExq47drt8TJMKr3hloiGl9BlNOmx/f6cP1091GbQb4hjDsw9foOv4aWyNSUHwjgyEpJQhNLsa4UX12LG3EeG5pVi9MxYLgpdh5qzZmD59OqZNmzZg/DUZvz57wUKs2LwVsUXlKDrYjepTl1Bz5jIqTlxEXscx7C6sRHFNI27df4xPPv3MwHWnDyZtEn9+4SgqGm+I646zuyzmlEuCA28jIYkOpJS4Nx1nx319rUsXT/o3/XjSSyWe9L8GQUkD00BcaaCIlt1/f1GTHf50owdfSrJDmxTR8v/mhAcGouX8Op0Lb0vOXdmCQtt+wlgW3meklp48+xAllfVYFZGEZbsLsDa9AlvyaxFR0oBtBZVYF5sK/9Xr4DdnntGxnq7arDlzEbxmPXZlFyCv5TCN9UXUnulH9Zkr2NtzDsm1rUgoKMXhk2fxhM4xK2MtyeHhzX58ce8yvrhOKunacbo+jg1A6dJRuYZYLfEih68rucbo+bO+TnHh3SS1dKmtnK7Jveij65JbDPF2IpyRuGWN4oY+nBWGgyqUtgTOMISSowKlKYOgxJ6EADLu6MDxJI438c9x3ztx1434gwDJ5Hc/xaQ/vC3NV21HvitAsh6pZN1N+uMbKH2vH9xiiKFkOp33UhoGSotVKOmDKVAD08+Mg2lYOL3G9GGkAsleD0i6OJLmtnuVSjJw3RlRSUbiSUMy7wbXKGkthpwGWgwJlLhQz8JMqSq3tCAQWYifW0wAZS0uPAYT30R8ozF8lK4OAVI8G7BYSQfnFSBvcMbpsKyUhoPSji1KWjjf7CGxZ9HfWUtAqkR/R5X0W7t3rBmPTx9QJo8LR8Q+IoXErjueXD69QkDqV4D0+fUTMgF9eeMUvrlzFp/cu4YHNDExADgz7NbdB5IeviJ8N1bSRLkxs0qy5HbsbUJ0RTN27aGVfGoeVm2LRPDajVi8dAUWBgZjASmihUHBCFyxGqvDtmNbSiYy6ppRffwcWq7cRvu1e2jpv4PqkxeRXtuC7PIanLl8FR/T/+WtGvRVkr49vHkVn9w8h6/v9olLiMeAs7piSEmw+0yL7dztLBNQsHuN4z+coKBfNMvxJMV1pw+ke6rdNXDh6ceVFBeeElf6861j+JpUGCc7PD5Wq3PhMZjmLAzXJaTwAuJzmui/VjdE1E96GFBLX4udv3wN2cWVWL4jBSFJe7EppwbbihoQWbYfkZw6n1WCtbvisHT9ZvgvX0VjvEQZaxrzgOUrsSI0DJvjkpFUXofy7lNouXwLB67fR9v1e2i6dBMlh08gjhYGrUd7cbHvNJ7cvYHPXzzFF3cv0fnvw1c3T8u1wHFHhtLnV4+Lu/elBiayjwlOHxGcPrqoXFsv1OOjU+24dbRRrsH+gzW43FGjbLy4SUkHL4zeJtexQCmNoJS8zhBKtq+GEtsCNZ7E3+Pt07k2cOLoDzBxxO9h8vtfYMKv/xaWI38H61G/k/2TbOhoNVK6OLxx3X3fHwIldduKASjxhnhassProKSnlgRMPzOAymsBFWxoRtVR0E+HAMnAbfctVJJh1t2PDOJJAqXpr8m8G66bA0FpnBmtxCaZwsZsohTw2XBlOcHImo7WFmQqmOzVjDx3Nzdpn6LsFaOkujKYtIwifp1vtik+PnJjzvP1EDcH38RKl3AFSnsTlJiF3OzrLuPu8TbcONJAE8I+UkmNeMBp4Gc7ZPJg4xUuTyY8sXwq8SSC0bVemXR48vnyxkmajE7h61tn8PXNM/j7u+dEPfHxm8c38PLORTy40It9dbXY39yMtgMdOHCwEy3tbWjvaKOvW1BTXY6q8j3ILC5BQnom4lLTEJ+Wjt00AabXtaDk0HE09PXj4I0HOPrgOY4+/BCtBKWiA0dRVL8fXaf68OKlAkL9ifvu1Ut4eOcGnl3qlfgGv6c/3z+P6qZ+xXVHYLINPCBbU2iuO3ah8XNOcuCiWXa1SX3Ss4H6pP/B8SQDlXQP+FKx//3lPUO1pKtXGlREe/s4/v6G0jX8Kf2v26rbkJMt6vPSYRd0UHHh0Xm6fv4m/kTv+8v7l/H8Fp2z8ycMoKRsS/GVxJd6TpxFRmEZQqIysSGtHOH59dhJi4CYyhbEVbcitmIfoooqsSO7GNszCrAtLZfGOxWJmdmkNutQ1XYAnZ1t6Dt/Bo9vnMOzO5fw4d0reHb7Eh700/t+cInG8AKNZR/+fO88nWvlfH9z+yy+ukVQ0oHpJNlxuVZ4AfOpGovk6+gTFVC80NFA9ZTU0l1aEN2ga/BObwsSU/TSwVedlkSdAShtHICSjSGUvPSgxPEjXsBp21do/SG5Nx4Xp7s42MOUVJLJe78hKP0ck97/DazGvAfrMX+EDRnDyXLEmy4O/088NCjxpGwUSsO48AaDyf4VYDIKqcEQ0tnPhrjrhgBpWJX0tyqU/saoSjLqumMbLsnBR0lyMCycfWsIlMZO+iWsJ05QKsm5zQlXlpNZsXFBH4FJoMR7xdjbSUEtJzFoLjwtq0huNrWf14zp06VGw8NdgdJBDUp5KpRKFSi5hJzV+eq72o7g4akO3OttlQatT84cxPPzh2nyoAmEJ5Irxwbcdbz6FXWkwOhLghGvjr9iINGkxGqJJ/4/0WT153sXaAK7iP/v4SX8A9k/PrqMf3rcj39+0o+/PL2Kf352DX95dh1/eX4d//L8hjzn479+eJPshvLa02v081fxj4+vyN/iSfCrm8pkd//yCdy/2Itn/afwGQHni3uXZAL8gt4Xvw+2PwkgzyoTKE3qPJny3+MEB1ZJDOVF/0cJPeAhO1ClAOstgXpJN3YuBK+Qe3t+F7CXhFgK/hM6dAeqcGC9JEiFdBGK0XpLWJeG7wMvDX8FXYV3e88SeE8J5obA2E7oaQZn/+e0nQKGwTFwOILCAeQfEAaF+SNQj/Xcwf+3ju/6f+/U3v83jmz/f2bnmv+HNi79v2vVgv+71y35v2/Tiv+Htq75f3LP5v9nDm7/f/7ILmAc7f//DhgXH0HhDsUfgHECpqHxAYqj96C4AqoDxR0oHt4A4xHmDlB4gswBN0DOQdwDbpwAKydQQwVWOT0C95x2QIf0toEbNrDh3wdQDEpzl3auAO8du7Jn7f+uSYh5NdCcH6JSygFXSisbU/77u9hgVkqgfUqgSgmYF/yhC4NADTfwplnoSfqgxh2oUrIwNvyvpST/X01S6L+2vOR/ffCxQnL/DZRlwRWTPrBS0pUV+a8hIeAw0GXuUAYAAAAA///svQd0VVeyrtt9z+m2u98b45433r197ulom2CbIIkMIudsgrGNc24HMBlMRuSMQAKhnLOEACEQQTnnnIXIyRgHMM7dXa/+mnOtHbQlhH26/boHa4waa2tvaWvvNdesr/6aNef8hxzGXkpIX9lC6dcCpV72ULIG03P2YHKkmtqHlM3vzLYG0v/VISD1NlSSo4o7O5VkVt05GE9qq8hBoDTMdo6S/bp3jz3xP8mp62Myg1zA1L0bw6ibAlIPAEql8froDcwwoVYtyz9BZqTLAK5ekn+aVQSooDSYO+xQ6byAUqIJpVWy+Cc6udHhX116mOrSj1AtwwgOoTEdKZVEiyPRZ0nT6VSdAaNrVjC6rtURgPQRO6ubAqQsdmIAUq44NThBODnD+QE8twEggKi5ROwLw87CSumuti+aSy2vNZUIvPB3txuLNdQYcnUKYoYDxf8FDGGfMeAAO+/ANEuBw0vHaMm8FQICjCMBTlBN1cf8ZRXv6wWJkm6zrrr77pwldfc3Bo8A6WqlrRlgaqsKrzadPrNbnLUq0VdWkJBCi0NeFLp7i+wOrNqJ1VJmoYI4f0/5brU56vvV4trmmtf1c/O68jVtLJbr9IXVdb1rfU3PWq6pcf3lmhpBgf5/eO9PbcCULcHGzcosaesb5RkmmOReMOGUInASQGlIIZhRKuqUBpaC1tnsY3IPVp+KobO5yfTWmnRzEvGShVsl/YzgChPCUXkX4/aWpO5664pVZBRslNL48apadcZ0m0mzGHfFXL7BgwbKEl9Okq3g/vck90Pujy5d/mRCCam8Byrpn+RoH0rK1KRUA0wqdWZC4rlftw8ma0A5en62AxjZAOnX7QNp1sMaSlYqaboDlfSUlUpqY35SW1B6bJiDibNW6965uDxGPTo/IrPIZYmT7k+yWUGJgSQdzsVZgNS/b19ZAXnCuHFqXa8ZM8zNywApRIB4bdTIkTJb3YQSd+LEXQtlPyUDStNf2GQ1Fyado9REaspMpBpWTABSSw5H8MUpKhUDJWRYiVZFJozSLDBix2QDJDZE1LesFJJE3fWG4ywUSNg4TQNELbAyx3bWYl+0aMfKdsd0rBanajhW/I8vz5XTNxeq6INtparA4c95UuCAKruy+AMyL6lcJs6q+UlYXugmQwMAuadKAoiuVSm7WiU/W9RSiblAq1JL2ZatLDC2VHpCxq7qTgSqzyKFFvgsB/n+08vsQC1tLZTr8tX5cg1jy3dU6rLYvH4K5sZ10hBq63qa17DEClBtgSlfA9FaMSk4QRmre0ApJxv1VGqAKlXuH+MeUo/P0GW+t86xIm/ggAjWlJ2kxj3nlMrWFe+99r5ACfexBUpvtgEltaKDAaWZAqWZ5qRZpPWwNxkWPsaCrM4OoOTMUHJ+9L+o5x9/Q0/89j/cfmp/++DowMFQcrsnlEwwKSDYQOnZXws4+hpwmm1rHYaQIxh1GEgdVEmtUnf/o93KO5ty8DaghHXv+vZ7nPr2fFJmkPfs2pl6PtlVoraeYk/KuBLGkno79xQoodMhNYEoD6po5nQ1MXDmdMuOmkhLoBx2sKurpDbQeRMMKO1dRqc0lPw2r1PjSnOUc27hyLQl9wTVpSZQCzuEc/z4mgaOOBYDPqali9mACOm6yixxUrfYPqnOsVVIddZAMhxpiZglgteOlJ3lly3lDJIygcm9zAIsKwVg5Wi/Ol9BX1+oJG8/te05UpfYT2rtsnUMAj8GgZcoFVFJiX56ZfDDkrpTZeAOVFIrIFVrq7JRS5Y5S4VWY0tZdIdhhwIKVOKh4AHKrPqYn54r5S027en5NPC1M2o7cP7cOafS5LvAoBzvmgAqtbpuVtesRVtb106/bg0wvO8drUTvWIHpM51KNRVTjVKit7id0d4fV9kByoBUeYZ5v1iM76dyy711lYF1If8kB0TH2JJop7uaNIvvjbJwTGU4YUBpyxypvIte96YAyRpKA62WGcKK+gKl6dNst0Pn57E3GX63j16MVaD0hIKSM6D02O/J6ZH/om4PFl/95znsoeRkDaVWaskCBnsw9bEGkwM4tWvP2cKoXSA90waQ2htLcqCS2krd2RQ5tFF5h3Jwc4khhlLvPl1lG3RMoO3W6VHqznDqzqpJrGsXUUuYR4FJtehAABTWwEN1HQA0QyYGWiJAIy2hoDRIlJKC0hxK3LmAju9dSqf2r5IN5bzcVtCAV5LNFN6pxBS6VJTCUepRgdOFglN0A06lUjuXCg0fw9lUKAjBAQFENw0YwUFVG2kl5bw+q80XZ4bxoc/rrVJLpkIyAFJm61jZWX51zrAK0748V8lWYWetnfBdDTX8zXeXa+nbSzUUkFCvV3AopJ7T/GRH2UpWJ1AoUCZVst5dAJ1NiZCVvFGQYKm4c6CSrIF03cqswGQpD1dr4X3TbFuJhzQeFmhFCg9VeAYcoZbC3HfwvRmsVa1SS/ge+D4Akwkc/b2/0tcBakqZAphx3b4SM66l5W/vajCZMEebGCnSxmIZY5KxpnoNJzalmvKU1eSxcrIA6lZVDt8XetxJ7pNMC6js7AbfV9dZVV0sPC333nmGk4dflhR4AEyYV3daoLSM7+OFsu6dgtIbJpR6W0EJKzWMMaAkRUHT9CaYUzmYQzZhrOxNhq0rpMCoB0Op2+MCJSzE6tz5T+T02O+o+x/+N6ukB6m7f5pDoDRSQ2nyL9UyQ9PbSuF1FEy/tgONHahavfbrNmFkAdKvHALJJm3XUZVkl7q7Z5GDAyj93mrdu0G9XSxbobNhTxekEqCWVAqvm0AJc5SglLAWHmBjmRg4lWbpTcuMMtdxYxSUXAcNog9mT6Q47ryILI8CSu6A0kpK9V5HGf4b6ek3D5jODtuBXyg4TfUZiXK+jCo6KVRg58KO5mPtaCRdY1qOvG4DohrloEQdaRh9pmH0eYNONTUaYx0WIMEhfmmtkFoqbEAkph3s1+fZsTo0iwNWjxW8vruigOTtrybLSvT96mlav3wD1SeHmOXfKC7A3CSopEs5h0TBIM1mbObX5lgSACQwqrEYINWOWrIUPWQotVR2kq7mH5W0IT6DghLDMtGfpj69WNZ9M9RSSQ6/19U6+V7mdz6v4IzvjuvT/jWywAnX2YS6lWqyAZNuL4FTQ5ECUx2swDS0tRjavzpXTMCE+6MyR9072gwl/bGR+mP7iO1KSRq15CXT2ZzjrN7zafTcMlHxi+eulgIdKH3cx5gQjso7mTirVZKaOtFLtn1pBSXuHzP1HkqSTeDADUt2DeQ+1atnN1X9KlDqzFB6lJw6/ZF6QiU9ANI/13FPKP0oMHXMHIHIpuz7PoDUYZVklbrrcOXd4J+1XmKIodTfpafsOgswYedZ7KmERVmNcaXxrr3kZ8ylGNBXbWkhO2tyh0K0N00P4s54SqUl0AmxjwxWfsACroASIkp0YqwUbkAphaGU7reRArZtlPkf6PyAU3JcgowtXSw4Q1dL08VZwNF8YjicWiNtk6+sWgOoJk+/zg6qVjmpz8VUZH27HlE2UkDs2BpsgXRXDAqpXEwcI842MFIOVTnbKjGMDcG+Nq3SNPld/fibi1X01+uN9P2VOgo83KBVUoGM1TSeCmcABIhCqk5UIKhPDqZmVkkABJYDQprN3PLcVEnWqTtDJTGIbmgTMFWr164YY0vGlhaWzf++bs5Vq4fLKg9q6SHs3VR/IlhUkgElpZaC9JJIrJa2FQtk8b2+vVht873Na3XBcq2+tr5O8pzV71rDqaXcbAdpE4GSTuU1luiCEtWGaE+06+f1VpDS7W/ASQHK6h4xnrOxXFFYHzPErpVnCJR2eeoU6/sqxYp0M8ZCTShtfl8q7wAlWZIL40ouzlKlaoHSKOkP6BeAEkxNmlXjSSiGwH5KKC5S40ldJXUnQHr0t0jbPZiX9M92YC8lBaV/awUlFzsodRhMVoDqYwUeGwi1ByMTSBYYmUCyL2xwqJJ+0a5KMlJ37RY5tFUObrWagwGlvhylDXBxYjD1kp1nsacSVgt30YUOb052panD+6nUHVIT3OGQwsNALqI9dDJEgGZaAlDiDjdy+HBZWRxzOBBRohMbUDrpuZLOHFwjUPLZuIb6v3RMO4BSemt1CjVnH2eVlEbXK5CSy2aVU6itQEfH+uc6q5/rtBLSDkoUkQaQcmTKqRkGRyfGju+L5jKtkpQ6+vKscpBfaaX0NTtNMcPBMmS+YUf8zQVteIzn5Gf9ugEsfvz91XpWFHXkF6Hmu2AsacArJ2nDik1UdzxYoATnrwDgJ0rlXLoqcMDqC9Zbnn+vF1+1hZIjpdR6XMkCJUMt5ct7Y6wKaTyML2E+FNbZg3qr5s9VJWlFf/5sfqyWFplL7qC9SguqRClBManvWy3f14CQ+dyFKptrZYLpnFZTOqWnoKTTgdwGd5sVmKSNmtgaS8WMNrzdUKLat77YAicEIQInK0Bx8GI8trZPDXhJCrCAbvHja2WZdKk4ld5dn0ejECi9W0Sz3vJmZe8maWekn3EfY5oDKu+2vz9LqyTnVlAay0oJgRughP6BAM4I3MaMGiGbZw7s24c2vTFZNvZzwZYVnf/EQELa7jfU9Tf/t9tP7WMfHPd5PDr0Z+md7aDkbEBpRmso9Zp1n2D6AWavjtpUSG2l7exVUhsFDiaUHKikVuXgVlBCkYMJJaefUZ8eT8oq4QN6OcmW6NhTCdVAmEQLtYStnqcM7SsRHWA0SEMJHWrs6NE0lUGECBAdbsqkCdIJMd6EnTexDxOghM6LToxVHZL2LGEoraAzXgpKOcHb6annVstcnbEflEv+/mzOCY5WT9JHGA/gKPdzK4Vz2xo2DUaUXGTlmJSTusMO644oIjiwUtNU1F2qnJxE4gyjZkMhKSB91WJxlF9Zweib81YgulDDDrZG1MK3F9VjBSc749f/dqNJoKT2TDIq7rzpbEoUKxKszu0jKglqqeZYILWkRYtKwlgSYGELJWOtOzswXTFKwascl4XrCjz8Ld7DOoWHogdU40ExYe7StYJEaj4TQbVJgVKAAVji80Xs2y274qoNAEtp3o5y+f5/u97E31N9328vKjCb0JbrUGM5X7Bcw6/PV8t1/epcleV687WXoEBDSdrGgBO32R0Npi+MNpV21oDidv9cDHBShoDl81oLrIzXPtMK+nMz4CkSKCF9t2vfUQkeACXsKzX3rfmSbkYwhaAK9zEqSlHksP29WVoptYbSGA0lBGuAEgI41UfG0KgRw2molIP3osjVr9I0DvycujxCPRhImDy74NmxFLBopttP7WMfHPd5mFAab6TvfmVW4DlK4bWllkww/RA42afpbID0cIeAZJ22c6iS7jd110blnf3EWdcRv2Eg9ZBlhvo595A1uGBYLRxLDk0c3FugtPZFVSWk8uUDpOOh3BudDvlxIwrEY4HSKAUlpPnmPjtBymbRibGIZdIeY/sKhpLvBobSNvLful6vGl6ixpbWZtL5/NP0cU0efVyVKxC5o1M49opHxhm0YzIBZP4Mx1UmphxZmdjdpnJxcDjfba4wneBXclaOEfY1nKWhjs5bYAQIKcM4kRorUudaE1DyOv/8F1ZJUBIB8dXy3bAIbd8XjtC65aySkCI7jOIGPXbDAGg4GSoqCcsKYQUHo+JOoNSixpRkvTvZadbYssJ2LyV1ttqB1lBHAqMigZsUO8j7slpiKKHoAVC6zVC6WZJMFzKxcniYhqW3qeRWL1lvo2z9Y8oFuFCD317SUBI4aWCbVquviwY6TEPp63PV6lq3WK79V0Z7cPuo9irXaqncbEdp24ZSbSVyvl1foqxOBSef41xXpGFla0Zwo8YZS+gTVttQSggexnCABJXkMjOEMgO2SLoZUEpyXyJQQvEOihy2vfe0CaTeeusXV0Bp6BBRQxNQpTpxgqmSJk8YT+PHjGZoDeHf60czRrtSNPePI9vn06LnJ8neSYtfmERpfusfpO7+GQ+B0igHUGonhecYTL9qZe1CSl5r/Tetxo/uBST7tF17KsmqwKGt1J0FSj/vEJQGDvt/KWD9B5LLhmICmPphlXBZ+64HvTl5kEBpzQsjZUwJ6TuApi+KIzjKw+RA5Menc4ebxlEgOhw6IWCFSBEAm/PseIko0YnVUkOL9QRaBaXsoG1UELGHnpq9VtTS1MWV4uyOHzpNV0vSWSnlK4Agcj6romYFFOWYLGkdAz5GNK1fw+82Gr+rnJvAqEk7vGZ1/rIZjlBbi4re4Si/OaeBdL7GdKbfXlBA+k6D6LtLdVKJhp/lzPY97Ip6vji3VICL1Ruw/fszb+xmJRLJSiRIjyP5SKoMyqTpdDhdy0+kW2W6wIGBIUpJ1FK+nSlQWaxQA8cwy2v2f4v3VJYrSgnwM+Yu4X9fzTsqiq0hOVTUW/VRfE6kFwNo+stb9LYWpQKngvQ8XY1XZ37/b81rU2sFb/XYuI5fn69R19aEkgbT2SoJDtAmZhtxe0n7NWprKFMmYGKrLxVTUCrVP5eo5zSwxAyF1WS5P27r566XZ9P+AKjAMho5p1QKO+a9s4gy/TdrKK0QpY/72NiyYu6z4yxQcraD0kgFJQRrTzGQoJImIb3N/WPYEFdJ3c2bPVEgh0AN41bZHKQVRe9FdsHtp/avD44fcJhQYgeN/ZScpiootZvCs0njWVJsbQLmfowhZKojq/GjewPJWiX9u+MCh8l2KuleULKrvLOZo6Sh9J/OP0uP3/Re+rPjh1MvgElvYQGVhDJVt5fHCpRgQwYNkOo7Sd8xnFx1sQPy4wDSUxpK4+2h9Mw47rxvKChtnavWv9urlhoClLICtwqU/LesVwPpHKW+slaVTKM8/KPKHJ1mKxcwqbSOYTq1w84KTsuEDc6N5WaEfdcaRPJ7FSaUxPGdVQZnCMf49TnDqrVCsoXRtxfrtANmhSDnen2uExB9f6VeFBIcNZ6ft6tKgITiBpenQ2n1so3s7MNEGQFIhhKpPxkiKulGYZJsUyFzk1jBABhijQ7M+rUmC2Ac/Y2k6GzMeD7HTN8BStguHQUPF7MOiXKrZhBB0eGzAlARHnvIZVa4WTU5b2eljBNBHf3laoO6Bvp6ANjf67OCeJ2+hhpOGky41l+ZYKqS4MAGTEa7NTKcGqzBxOd6DSYBj62asjW7+4HvnTtNKpjB2OU+73QB0lsbGmkIB0gfLtpMeWG7KANQOriOwbFCrxA+V4p3Ite8Jvd3H62S2obSeElzm0EbPz/UdZCM386dNVZAl+a7XvaxKojcQ8Uxeylg0Sy3n9q/Pjh+wGENpR5tQMlUSzZw0mvOWUPpx8DJHkZtAWlmO0CyUkkqdfdvrQsc7FN37S0vZAMlXeRgB6X/4/Qzt6Als0ZEbF8mSw2hJLV3j26yYjjWwQtc9LQJJaPYAVDqr8eWkIJAug5RIGySPZQGaiiteV06scxVMibQ7l9NaT7rGUpbqCB8N+WF7qTFcz4003ivrmugOVtKWS1l0K3qPEnFCHx0SudLnWqzOK5KEzB3m2ydmGnWQGqy/M1XBpDOsnNsUTD65pxymIZ9e0HDSJwrIKTtSoPYX66ox3DKf7nWKA4alWWBR5rE0RlbnW9YtZWaU6LEuVck+LApINUeD5JxnMs5h0WpAAyyIjiDAtV3YvWwTDEsOYRS7i/sHpuvyXP6eYeWqd9Lva8BpC9q1Zp4+AxQbC1pMQymMFZKAerzMpwAKKwgbuy3BDAFHmqQogWVsmwQMJumr5VSlOqMa4lraigmgdO5GgWnlmrdHqyYmqukrazb8osGDaYGC5juNFipKAQkxu/qx19Y3xM6WAGMPqsrok9qCijnTIG004f7Lkpg1Gf2Ib4nd8l9meG/ic54raXkfctlqSzcxyjewVjQnGfG3gNKowVKU9igksaPGUWjhg+lwQP7y/jt4W3zJEDLCdkuCgnLTKEI6Kf2rQ+OH3g4gpLTtF8JlFqD6VcWGFnbLHs4PWxrNgB62GJ2v+cQRk9bYCRmP47kIG3ncCzpHuNJjzsqcnBUDu4ASriOSBus/vPzAiZUAaE8dd7sCRS89FkTSn+eOkSq6QCjAXoNvOFDBjOEVLGDgtI4yZcjl25RSmMlooxBBZ6UhWOuEkPJc5VUNCFfn8/RaHbQdiqO9qClDCaU4MLRvbu5meZuKaPrpRn0cWWuOBCkZBScLBAy4WKASZyY5Xy3qdIGRndNICFNxM6vucp0gl+3VItzNGF0Ho5TRfbfaSh9r6H0F4ERQNRonv96rVEAhaq9wMON4uiMsuIZL6yhltQYqk8OlWq2sviDJpRQ7YbCh+uskj6pOEN3atIZEBkmcFCyjeq4OzVpMtlVWaq2NKuznVWn2prV78n7sRmgUv9D2aeVKXSj6LioJYwtIbWooARl5yOpx6dmr6ZBr6uVHvA9A+PrBExKKTbqs7pGJsQBJQDJCkxyjU0o1UgbKDBVqzYy2tQILhqUfaFVk/ysYWUTgDTaKmP1nAIZxpo+rSmkm+XZlHlSpez2Rnxijvkten+ZpJZzQzSUDqwVhX9UT5xF8Q62QZ8za6xsjGnsQ2YLpeHSP6CQJnPfmDhuDI0bzQHb0ME0qF9vGU9CeXma3wYG0j5WpL6yLX3Ug9TdP+9hPabU3RpKAqZfkQtshjZAqS0wmXCywKUVnNowW3X00L2B5GAcyTptZ6OSHKTu7jWe1GXkz9suB7db986AUrTbm+lYc23Vn2eT0+OdaOmr02WvmPAVL5lQWvvCSFE+rhzhQTH1l5UdBnEnG0VTJWc+UUeCoyVCRKcElJ4aNUg6r6UCbz4l7VFl4SkHAaXNEpGi85fFeVFB2B6a8swKVXrMzm5v+CfiMHyC2YFUYBJkHn3GzgSpGqNoQTmfShv1Yw2mL5uqLI8bK61+1wBStVZJhtVopVSrnOaFOq2S6hWQBErK2f5VQNREf7veTHSjWZ7D4L0BJGMcqcvI9XQp+zDDJ4xq2KEDSGWHDkq5NcaVzmfE0cXMeFEoKDYAlG6LWeCCCa6fV6XIfKI2rcrurO3TytNilt9L4fdLkfdU76+tJl2gZFFLx+h8eqyMgQFKgGlJ7H753FGee7nv7dZbkJQqMB2qF4UIMOOaoDLvr1eb+GcFbly77wzDNb2gFRPAdK5Wrr20gW6Tr5qrpY3Qhqr9uC25De82VJowMkHVaG8KZHe0okJq73ZdCX1aXUAfMYxulmWTf0SFfG6vmM/NlcAXvruESqI9KS9E3ZcZfptkDBTBFIIqTG9AcULEqpfp/afHWEGpZ2sojRktQJo0fixNYJU0lp8bPlil7hY8P5mO72X4BW+VrUpqkvypMMqd/BbMGvHTetYHxw8+HhliC6We7UHJGkyt4KQVjj1kHACq9esP2cDIAqRfdgxIjlSSPZSsVVIHihzaKgcXKPVrDSW/BdNH5EfskvXOkNfGoO6RHfMpfOXL5DdvqgkmV62S1HJDvWjIoIE0llXRFGz6N2midLxx3PFGayi5MpSmjmQorXpFih3UauHY7G8JnfRYIXl65OvR8QvC91BR5D7KD91NhRH7aPGcVTTgZTWB0TPyUxo+p4wCIqsESjfLc+gTPn9aXciAKmJHo8YSDEekoupKWxA12j3HTu4rWHO1FZQs0Toc5LfnFZC+M4HEILrcKA4WjvZv15oVjK6fFSCpQoc6CjrcbAOk7pM86bC/DyuhaHHqcO4lcQeo/JC3pPFQFg4gIV2Gde7uGDDSEDJABKh8UnGKf+ekGFZgsDbjeWtTryVrs/pdfh8sxGoCSizVAsTqNLVleulJuswwPZcWI8UOUEilHDyUHfKW7/LhwjV8L9qCKSi+XlUhXqiWa4Nr9NdrzQLvv1xRgALUcT2/u1ivoG8DpRoNpRoNpragpE3DB49Vak9B6g6snlVRTTF9Vl3E90yB3Dsfl+VS9slcmretgiYuqKRFu85LpV3f5xNoMSukvGDcg3sFSjnBOyjdl6G0fzUd37OMg6oFErBFr32D+8dLNHXEQOqjgYQNMi1QGkxjRgyXdB36xURWTONZJY0ePoSGcGDXz6WnFDkgJZgXtlPSdg0nQzDm6vbTetUHx486DCjBQXefpKH0lAVKzg6gZJgC08OOrQ04mRCytvbUkQMgKSg5ANJTbQBJoPQ/7q/IwVHlnd26dwKlHj8bYVzLY7sWpmOZm6KYfZQZuFnGfZByC1gwQ4DkM2cSTR/tqvZUkoVZXSQvPmbEMJqMpVQmTdDpCYYSd0bMVkcxBKCEzotKJVXsgC0sFnNnXCF5ekShudzxASU4gvzQPayW3Pm5XbT4vWXU57k4GVB/c30jzd12VpxeAEe3H5fn0scVuRzt5tItfgync7u2RJzQF/XlVqkcw2lViSnnBiBVm0D6+qx2hC3KMYpCOl8nBqf53aWGVkAyzBhjwmB9WV41zd9dSyPnqJQdgNRt4j46GugvhQ11DJ+SWOyZ5MWO/YCMzeA5pO2u5SUKAAAGayhgRQfseQQDWD4uPSG7xcI+Kk6ysmPa+HGR1bnI9rmbMP5bvA/ez3hv/B/AyVox3a5OF0ii8OJSVoJU4tUeD1Yqj6007qCMMS1fuJbvyT38fVVF3gj+/gAzro0aM6pWavKqRTV9r6/pdxpM311QcPqGr/k3LbXSFgpONVaKqVqg5AhMBozQ9rgHbteWMoxYFVUVCoRuljKM2LKOZ9EHW8vkPtod+jGNn18hVZ8osgncsonyQ/bIvVcYrqEUtJ3SfDbKGCgUPoIqqbxb8xqFrXiRoTRAQUnv1Iw5fgKlIYO5HwxjEI1iII0xVdLIIa40qG8vWYQV46uoussP3yXLSyFbEbL8BbefzqM+OH70wVAiWyg93D6UbMCkdnttE0zW6seBGrqnOuoAkBSU/r3VWFJbKumeRQ52a945gtLv24BS0PLZI0riPGTLguyQbdJZMJgbsmw2BS6aSUGLZ9GMsUNkTEnmLElE2I9GDRtKkxhGT02cYObM0Rkx3oTOCSih82JcSS03NEfy8if2LqczUha+UaLRgnB3NuUIcoN2SrSaF7yHFr67jK+Tn2zLjQKIDT7XaOayag2nKspIymQo5dFHJdnifG6V5fGZVVRVEd2pK7NAqr7CdGAqhWcNJuX8vrGH0oV65TAv1ptOFBG+OFoZ91BzavJTCygotk4+0wR2clB3GEOCowaQmk9HscIIppKYA1QU7SHpL1TcwcFjjOlS1iH6uCRZwAAQKDCkmkDCfkeohgNUbhQmymreV/MOsyXQldwEObdleN0w/A3+Fob3+agoSd4X74//A9Uk6Tz5/+kajgymstN0vSBJih6wLJJK4eG7eFJxzH6Gq5+k8h4fs1V2Z8X3xzwfSedFq+uESjej3B7jRyaUBEjqWhuBgAkltEuzBpMBJAQVBpC4Tb+oYwix3a4DiMpYDRXSrYoC+ogBdLOUAxc23Bs5p4to3lb1mV53a6A32KSd+PPOfHk7BW/fSiWRB/je2005gTsZTrtZwe+i7MBtDKUNMgYKhZ/AQVXM+j9LkUPo8hdoyvD+MoVCQamHLFyMfjGc4TN6+DAahwm0DKTxo0bQGFZJw1HFyuCaMtjFhBIq7rAALsZ2f0J3+uD47zhMKI2zhZJ1Cs8WTA8rm2lrtnC6N4BsYfTL1jD6oUByqJJap+6MIgcTSo7GkwClIYDSzzoEJRxZQVsESojc0v02SL4bqQrk0NGBFrw41Sx0kJnr/fvSyKGDJTUxFQO5fB7HnW/UcCsojRgonRedGGuFyXJD21Wxw2mpwNsoRQ4YSwKY8jhKzWUgwTlk+m2j3MDdVBTuScvnu1HvZ6MlqoUKWep+geZsPasLCcrIP7ySsk/kKUdUps6Ijm+W5DC08tnhFtKnlUVin1UVSSStoKWAJdAylJWZ2qsyB8vvGJNujXEsdrIlOTU0f1eN/P9x8ypEIWG1A2whPuPFtXQ5+6ik7OqOh1BhpAeVH/KhvLDd4tQxLwnjNBczD4nD/6zCSJ+ly1lUEqsUAAPwuJZ/VMByKTueLmTG0PmMaLqQEcN/H8vPxdHlnEMmeAzDz3j+Ulac/O4F/hv8HfZNwvvgdWwgiIm6+D/4f/i/xucAlO7UZDAcUxhMZ6Qy8EJGvCyNhGq80lgvKojYJ+eyeB+qPxFG02avpr4vHJY18rAiggEnKCf/0EJL5RvGd+pL1fyjRlXCj7YwU6+NlabyEfUj8OH24na7zQroM2lLVkGlCELy+TvkMHxUe39UnC33QO6pEvpgSynN21Yp6g33zOyVtRLcuL6ZKatTrF64jqri/KgozFPuteyAHRIQAUy5wTspK2AbpXqvp5MeK0XhH9oyl2Lc3paUdOiHz8suzQCSTKPQUEK/wLjR6OFDpT9MGD2Cxo0cRqOHutLQAX2pn1N3envSQHPTy4KI3ZK+ezA36V/gaAWlKY6h5Dz9YTETSg7ApEyl39oFkGGOQKRhZJjtOJItkFrNSdJAaqsMvK3U3eNtFTncA0r/xwGUgpc8k27sfIo8d0bAJlk8FR0Hy6scWPG2pOQG9O0jUMLkvxHc+RAJTtF587ECpaESKSooDZDOK+NKsrIDtkZXxQ6IPtO8N0jHx1hSQdheSZ9kMYyy/XdQtt8Oyg/eK1YS7kVL3l9Js15zZ+UaoZVTsaRflrlfpOfZ2QyfowA1f1sVBUXVkpd/IWUcyxZndaMoWzkudlgA1i12ZDdLck2IwbEBXp9UsnGkjfEHjEVIKqiuRCw7OYdKCxpNEAFCUG2jPyiTMmJsw4HxlfUrt9HlrCOikGoSAyXNBZUEIJXFq7EYlFmfT49TabsSpO3SBABImwEKAAQKDQAkAOZiZhydS4tkkIVR0+lQOeNnAAZwMdTPDZ2yw1lUVcERBTP+vXPpUZa/Twnnv4/i5+P5MxwRMH1SptJ4FihlSIn4nZpMhkAqv+cJGV86mxpNNceCZEwMagnAhVUfDaLaY8Hktnwz37/7WYWckuuC6zN5kQKDAOpQE/mGlEi1I9KuqgChVB5D4eL636rIV22CtinVQYYAh61ItaMYt+vN4lxWzHlUmFbFbV8pEJIxPf5/L6+plypOtBWWsHJ9PY2cZgTRlBkLKHK3O1XF+lNZ5EEqDPWgPIZSpu82vv+2U46GU6b/Vko5uF7SzUd3LuL7930ZH0VKGlkETJ3obcztEyg50aB+ql9g/AhQGjdyOI3lxyMHDyDXPi6ygsqG18ZLoIcJuVBKOSHbHqikf4XDMZTswfSwjbUNpofasXYg1JY6ahdI/9662u4eKqm91F2rIocOQsn+ei6fPWIECh2wCCe25kbxQ1bwVqkOQsfxWzfXhBKq7wZiDTzXgTR+1HCaPG40TdR581HDhnCk6Crr5U0d0V86rxpXeoPiNrwr40qq2GGlRKHo+Hkhu6mQoSRKKWiXUko+2ynDmwHlt4sKgjkij/SmmkNBtHTOalq1cCNfPx+plkLUO1Q2YyulpxkSy/ZepBdX1dHkhRZHKLDaXiUWFF3HVk8HA4vpYEAR5aWUUz5bUUY1FWVWUUlWDSuvCgqKraf5O6vZFIQAvUn8nkj/zPqwRhTbkLdzZW5VjykHafoziykxMIDVBMZfwtlJKyAVRXlK8YYqAVcrgyNtdyX3qAmkL2qzFJT0WBIAcbP4hADjfHoMAw6riftJ2TB2hz2bGsFAihVgAT6240SWAgc8D0BdzT8sAGvhv6vnv5f3Oa72bALwoJjw//B/8f9VwYOC0t06LNaayaBM4f91XCoFm05HCpgAWQAJ3zEv1F1SeTWJwfx5o2nd8q18Hx+Q62OslzdjaTU9t6KWxs6rsLQLX9+guEa53ihmKebrX5RRxW1Sxm2jzC+0nK1C2s5oR5jxHmhnFC2g3d/b0sztVKG2MWcoIoDBvCOn6QE0feY8inbfR7XxQVQdF0jlUT5UGOJBOXyPZfmqQCgngAMyny1yL2b4baEzB9ZJuvnojoUUt/E9mXcXtvxFmTLhbA0lVk2oxBvE/WM494vR3A+gkACk0UMH0fCBfWmAc3dyfrwzB2ovyLgtVh5Hxd3hrXPdfgIX+uD47z7sodQDUJqqwTSNITTt4VZQErMG04z2YNRBILUBIxNINlCyAlI7JeBmgYOdSrofKD3aBpR+q/dScnRNubNJeTh2H8U2ClBNJbEeMrEPwHLVk2cBJmxzMXRgfxo3YihNYiBNGD2Sxo4YpqE0SNIY2LkWnRedOHL1axTjhr2V5qpih70rKMXLjTv+ZkmVFIbvo6JwD8oN3MVA2sZA2ipQyvLdSbn+eziSVYqpPMqXI9xAqj0UQsvnraPVizZRtwl7yXlmsKzLpiBVaE7sRArp2eU19OeNTbTE/QKt8LgkFVdv88+vrWugF1fXibMEcGYsraJnGDh4DjP75+84J5E2IIT3wXsihYjKQGx8N+vVbTTtmUV0LCiQLmawimBnXJeEVRBQpeYtzhoGpaSAFCGFDZdzjjAEkkWBQJUoRZIhgIJawRgTqvEAjIaTwVIZWRa/XwbDoXSQwgOQoIpuYUyoQo8JGaXeRsVehSqQwHgU1BTSffh7vA/KkKGMsdss0nzXC46pNJ6oJQuUvqjDBFusi5fBwMNmgCckjdfE38UAU344t02MFwOK3/Owv4Cp4UQExXt70boPt1Dn4Wu5fUJFTWK1BGPcaTpfd7QBrvELDJRnuJ1m8nNTWFlNWFBB05dUyXN47bV19fQ+AwdtAvC8tLqenlpcJWlCY8kjFMW4vpkuwQrap8fUg/TU9HkUt28/NR6JoDq+Z6r53imP5MArnBVSMCukAHeG0U5KP7iVUg9sFKWE8UyMbWb4bqbT+9fS8T0fynSG2PXvUgTfx1D/wUuekdX0MdkcJlBy7snBWi8aNqg/jRrqKuNIY/g80rU/DenrQv16PEEfzBojc/bUosQb+Jrtoa2vjXH7x3rPB8ff5bCB0kSG0uSH9biSgtK9wfSQrXUESI7Scx2CUTtAsl+9oZ3UXavxJBNKP78nlP7QAShtfG3MiKJod3Fc2EIBhv19EFEDVC/NnGzOU8KMdGwMOGbYYJo4WuXOUY03auhgVlCDJI2BnHsQd1504nApDX+L4jfNkajzhPtymZSIktucwB2SvisIZfixSgKYcvx3CZTSDmyhTO/tlOWzk/ID91Fx6AF2KAzMcB+qjA4Qq4sPpeg9+2j1gvW0asEG6jRsFV+f7aKmUMEHZ4i1zAAsqJsh7+QLuKCwkNYxdr8V45/lNXZwABBWih7wygl5H1TTzXhhPc1gECUGBtKlzKN0IS2Bzp6JpfrjYVR7LITh40fF0QeoKNJTnHRJrJcoCFTgNZ+Jois5R2UcCQ4ejh5O/4uaTIETVArSdtgFFqk1KCRUZmG5m5LYfaJukIZDSg6gucWqCHOSMCnWnAhrTrhVpeWoqoN6gmoCyDCuBLVUzO+HNC2UcUtqJH+uBEkXorDBgCVSdwaU7ujPeLPkFF3NTWQFFy+QhSIsj/ehXFROsiLEdy6N9aaqw4FUdyyUGk9E0rkz8bR66SYG1Fb6Q9/3+X73YvUSR/0Z7lAyaBNcbwkmHLaH0Sb50iaobESRQv+Xj1PvZ2Nkbyq091PPrKapDKF4hlC0uydDKIzqE8KpKiZQDDAq43sH91BBoAdl+/I9dnAbpXttlTPUEqCEsSWMK6V7b6LTnmsoafdSVjPzJKjCfQz1H7BwBk0c3MsWSqyYBuh+MQJqacggGsVAGta/Nw1yYTX1RCdaMHu8pO2QsssN3UHJ+z58kLr7VznahZI9mKbZAsmZIeRsDyVrMM1oDaGOAekX9wGke6ikdsaTOgqlR+4TSjjiNr6TDkd4XgbGY2SL7Ja0KAZVGG1Z+p5UF/XnaBArimNzQHS8CSOHSRpvzPChUvyAtB6UFHLuqNwLWfYcha14maLWvCEpEMz3SNqNlR3WUJrPJnYC22U8qTjCk4rDPRlM7pK+A4yUw9hOGV4A0y7K8mZg+e2hHF93Kg7xYgfjRSWhB6ki0p8dTxBVs9XEBlNNXAhF7HSnD+eupRUfrBNgTXpqHk2ZuZSv2RYG12rqMnKjODNUynWb5CHnx8dsk8munTi6n/bcKpo6cyFtWLGNErx9xFpOx1HzyRhqOhlNDcc5+j4GGIVSxSE/MQCpNPagKAcUAFQnBkqxw9kz0QyawzIh1QRSbZY4fVFJlayS+Hmk0a7mHaGWlEiqOuIjK6kjhYo2QRtczo6XlBzUEarlAKAvG7JkrTtjAdevjUVWZfmgDF3Nd1pKwgG0synhopLwvrmh21nZ+Ema8Hp+oqoE5M+Bz2OdwjPA9Bk/f7P4pMD1XFocNZ6MpMoEpO2C5LuXRHObRPE1iPGming/fo1VbWIoWxgDiu+j5GiK8dxPqxdvJLdlm+mpZ1dSp6ErJZCwtIe7pT34585oj2FruD3caPL0RTRl2jxaw+25cr4bRe3aR5G79lItt3d1TDBVRwdRVXQgVUYFyBn3htwnbHn+e/m+2cMw2k3ZPrvkvkr3UoFPutcWuecwtlQQ4i73ZNrBjXRy3ypK3LlEihwQVIWteIlV0rPk+8EUmujaS2AkUJJUXnfuF07SL4YNZDAN6kfDB/SmIX2cWCU9Ti5d/kRnDq6VaRfIPiBFvu/dCW7/QLf54Ph7HtZQ6iZQesghlForpoeUOYLSjIc6DiEbIP2i40Bqr7jBWiXZzU1qVeRgUw7+c3OOUrtQ6ntvKO18a8wIOCsMhhtVWlfzj9BlPif6bKPBAwdwx3ORFcVdGU4jXQfQuOFDaPzIoayahshcjGEofeXXsCfThtcmSCcOlRTe65ICQdR5bNcS6fCpBzdQlv82UUhI36HarjBkH+UH7ZVcv0SyB7ZSisdmPm+jjAPblWPx2UP5Afso15c7d4AHFQR48pn/NohVCltxyEEqDfPhyNiX1VSgAKtSGx5XMbhqEUkfiaSGo5HUlBRDzWxnT8SxxSpLjqVmPjfjnBwjVn8sXJxs9eFgqjwUIFZxyJ/KYvl/xfkIkAAjqIfyQ76S4mpJQfXbIfqoEOM+SI+l24zXKJWUSrdKT0kaDWm7uuOBomRQKowKrdokfwZHNL9+VJQPVBDWxMNK38a2FsaWFmojvyJ5XrY9l91l0wVMSPlhPKo+OUhSRynsJPPDd7OSC2bg4TMel8+hKgINMCl43q3j92GYYnzpo6JkvjcSZfyo6WSkKMSyOG9RSQImNoCpNMaHrw9fo3h/sZojIVR7JJQajvE1P8F/e1xbUjQ1H49R56QYaY/GxChumyiqY7WDtkKbVXBbVjBwrK0s3I9KQ32oOPigtD3uhYKA/ZTnt1ce5/i4M5D2qfvGe7cEOGn71T2Vtn+LBD5ZPqyO/HbKfZgXtEeqP1MOrKfkvStZ2S8ShR+19k1W/S9KoIW5exNdXRSM2HrpdSMxMXZQb2ca0q8XDWUb0tuJBjrza6ySlrw0RQIBAAlBRqrPugcq6V/pECiNNKD0CwUl63ElezAZMLKCkmPF1EEYTbe2jgPJXiW1hpJjleSw8q4tKA11DKXfWXadTW/v2sZteie9/NABS/mwLjFO9N1OQxhK2CJdKo248w0f0JfGDnWl8SN0/nzwIMmpQ0k5dXuS1r86XjqxpPBWviopkEOb50pHR4dPOeBGGb5bpcChMHQflURwlM1WGMzACdgjabtM7x0mkFI9trBT2UFn9m5i1cQO5sAOyjrIka/3HgFUjs9ecUI5/DjPz4Ny/faJQyoI3E8FgFUoO0oGVWkEK5voALFypAFjg8SqD4VQVTxH3IdYbSWEUGU8Px8fSKXR/DfRPlQQ5sngZEUQxWooWjldBSPlkPEY4ypIa6FMGmmuS5mHGSbH6ZNSKBBLWuyO9VgSq5OPilgl5R6RtF1prKeseoEVNjCuh3XR0AYoYkC5Nlb4/oahAwD99aL1hn8VNrvNAlKAE1YQxxJCUFgYX8JYEsYMsUI11iGsSDgo6uxa3lFRa6KW7CrxBE5stxmqn5anCphQ+n4uNY6aTkVR9ZFABWhcDwZSSQyukbLiKAZV5EGxwrD9fA0ZWlF87aJZTcUFisn15jaoilNtURHDbQPoRDLwWAmXcZsVcbCBNkR7IgiRNjbanc9Z3nvkXsjxdpcz7o30/ay6vRjwHlspzVPb/q0KSAdU6i7bdyffH3vlHkT6GMUOZ/avo+N7ltORbQspbsN7ElSFLHveXKx4wiBn6tX9SQ0ldcYWMAMZTK4MI9deDCgGUr/uXagXq6RlL0+VCeoY0yuM2kN+C6a7/YPc5YPjH3EYUIKDtoaSjVoywfSQWCswTbcG032oIysgOf1YIDmquPvvhpLVYqwdgZLnuxNELcERIn13CfNgMB7BkToKGGR/JRdnGsCdD9Hg6MEDGEyDJJU3gpUTcuoKSk/IFhjoxMjDSwpv7VsUv/F96ejo8Kc911G692apeioI2UvF4fvZAXlTcRggwoopEM6GHQsDKevgToGS4WAQ9cLhpO/fwc+xIzmwkzL271Q/H9hFWV67lZOSSNlDnFa2rztlsqNKw98x0DL5PfKDGDRh7OzCGCyRvlQcwQ6VrSzKV5xmeQwDLA6qKFCUUXVCMFUlqMeVCUotwQnDGZfH+8pAP8aYUBaOarxrecfo45JTopDu6LSdGqNRQJIlfUqS6Xr+MbqQHst/7y8rqGOrBCglFDqghBvjSEjZAUjYMwkb/AmMjC3Rr1XrbdEt26HjdWz4ByUFMEFhoVIPRQ9wjjInzX2prIgNdXYpM55uoOih5KSplgwwCUzZ7lRn8mtpMn/pesEJge75tHj5zjVHgwVMAiWGUSkbFFJ5HIMllgEUz6CJ9ZdrijOubylf59JIHyphk3bAuA9bUSiKEQ5wcOLBamYnpXF7pXpuk/ZDu6I9czWI8FyGl2p7457AvZDB5zSPbXLPpPHfAki4h9I8EdzgvXaoQhoOgFCJVxDM95s/Ch820ymPtZS0axklbJnPwdQ7FLHqVVb9z5HvB2r5rTcnDiCX7k8oKAmcnqS+PbtJld1AmFM36t/jcerzxGPk9Mh/iULCGB4qKFO81z5QSf9qBxzuvaH0kAmkNqEk1oEU3X0B6RftA+leqbuJ9668s5mjNEqPJzlaIfwHQAlH7Ia301GhhUFwKCaZiMmq6ZVZUyU1h0qj/tzpBnNEOHJgXwHTKLbhrJKQU+/Hr/d88nGaNKS3DApLCu9DpPDeoFgpDZ9Px7jDn9q3mlK9dNVT0B52RJ4MJS8BU0nYAQWmAAWmbG8GzUE1rnRm72aGzi5K99wuAMpkIAFMUE/ZWinlmMppr0AJqqkgiKN0GYviCD7cRxRTUaiXhhLmrHgxHPdzNH+Ao3l+LuIglcX4sjLyFicqyoh/LuNzKZSSqKWDogqqDjOwjgRRw4lwGUO6yEC6no90GCrhUsWpG2YA6fPKVD2WlCwqqelUGL+Xh1RnJe5cKFBCkQmuPQobUMiADf6wq6wNkARGNUQ3atS5FZhKRDEhlYf9mlD0AAhhfAN7+kCVlcUf4M9tqCU1tiRgqkwTdYTPfLsqQ8Aqn59V38clp+U74rs2s1rCdweYKnVKEwqpRF8nXENcOyjOkkhvUZ84wwpC+ZqHHqD8YE8JEgpDDkhbFHJbQR2VRvDvhvnI48JgL7M9JdAQdeQu7W6oIwlSJDgBjLaLokYgA2AhuMlktZ3lvVPGlhD4oBIP915eIP+97za5J5P3rpbxpPhNGE96m8I5qELhju/cyQKlNwAlbPkCIGnry2Dq31MbA6nvk52oV+c/0qo3n5bgAtWUSMc+2O78X/CAw+0kUPo5dZugoNRjihpXUmB6yNbaBJMVaDqcrtMLq943kH68SnJU5GBOnLWB0s9+FJSgljDegPkxsoKArB4QT0c4ghw8oB9DqQd3wCdoEEeEw/q5MJj60AiG07ABfWhQHxfq49Sdej7RVQaD/RdM1wUPL3C0qUrDD3FHT9yxhJLdV0nuPtNnK0fEu2U8qST8AJWzo4KVAQwh+wVMGENC2gUKCQ4GgAKUVCS8yzRRTNoEVAf3mE7MOGf57DEtF2NTbICTROlaKYnjjPIRJyopO/65kJUcUndlsQpMcLzlcb5S5FDJUEJJOErDJWUHILHT/gxA0o7cMKgmA0gYw7lRkMSqKk5UUm7IDimbx7I2gBLaAKk7wARQAVxMlXTFgUoSIGkoXbFTS6yyoLauFyaKgwSUsKZb0u4lsuFi3fEgWfoIa97hc6EoA+NdAJP6zLb2WXmqpCVviGI6Qi1nYgVMkspjdSTjSgIkpO5UCq+AnX8+qxKAH4brCvjjuheHq+AAQUI+BxC5/iq4yORABKoWQQfaDwpJoMQBR6bXbmlrpZJ22LQ97o/UfVsFSlBJ6fu3May2SYCT5+dOhUEeHKDslwBIpYx3yXSEM/vX04k9K1nRL6K4De9T1Bo1noRlt4xFit+YMEB2bsaEWMP6sKH0u1/3rtSvWxfq3fUR6tXpd7T8temiTFFggs0u/xE+8sHxDz4ESiMsUOpuQkmbPZQcqqbWsLmXOVkDaVoHgNSRtN29oGSvku4DSj8kfWccDJJ0TO7DIPu5dAWmwwwl1359qC8roX7dH6cBHA0O6dWDhjOYhmFgt28vGtjLSVIZPR/vQk6sltxeGSudOXjpcxxtviIpPHR0SeHtNlJ4Wyjbfyc7Ind2Ep5UGu5FFVG+VB7BUICCQYqNnVQBwyMPUGEgYewoy0upJziddB0ZyxiTj07vwIFpGMnP/vw4wEMMqqkgmNVY8H6JzBGhI1LPYQDmAoIhnjL+gYi+jK0qIYjVkp85aC8w4nNlgr+og4bj4XQuJY6uZB8VIN0sOilOWxw6O3BRG3Ds4tzTRIXA8X9UdFy2IMdGfxjbSffbJCtfxG18V6q1MNkVUPqk4jQrpSzZ0rzVWBIUk70ZY0v8e/j9b7RSQpk4JswKlAI2Uzz/H1REYifgqiO+5tgSPhcWikVhA8Dq0Pj7AbwfF5+ia7lJdJnBdC4lVq5F9eFAUUy4TuUCcb6GhxSsKlh1wgwg5bNSgWX7qSAhLxCrLHhKG+Vj/IjPaDNpP92WZvv6KkhBLRkqCfcC0nWioOWe2CX3Sg7fF4BRPsNO7qlgda8VhXjKvSdzlrw2s4Jfy0r+Q0rYbKTuXqeQpc+T3/xpJpTWPD9CoNSL+0FvKKZuXakPW1/Yk50lbder0++pd+c/yAR0AAnz/fzmPeX2d3aPD46f4viThlJXhtKTE/6dnbqGkhWY2oaS2vX1BwPJAYzsV/12qJKm3IdKsi8Fbw9KDtN3FijZbPB3H1CCWkrcuYAwdwmpHoAJc5ZenTWFBvR2pt5PdqF+T3aiQT2fEDCh9NW1d0/qz+oJaY0eXTszlLrS2pdGU4CoJcxZeklSeDFu70qu/thOpPDWUKrXJsry3c6OR6ulMKWWKjEQHuVH5axgSlHeyxApZCeVzc4HlVXZB1W6xih2AIyy9RgDImhRT/wYjgxODWMUSP8IkODwgjxNGAmcOGqW9F3oAY7avcRhQi1BIUEt5QXvpYIwDyqK2C/jJRhPApAakyPpfGo8Xck6KqoBTvrTshQZe/kcVmkxw6F/UnpaigpQin05O4EaT4ZSSYwqcACQIte8LnNaKhK8ZP06LKCKMSFsYQ4wocLu+wslooL+eqmsleF5vP7d+SIBklHscKv8lFRTok0xphS1Ti0BhS3qy+O9qOl0uHwefK6bRScEnABTKytTBqUEu1mYTNfzjss1wLVoPBEh6UxACcqyKIKvaYQX5Yd6iFrC9YRSwjUuDFXXPi/IQ6XwdBoPBkDlB+7XbXZA0q8odFBwcrdRybBsXeyAe0SCFrZc/r0c7z1SkVfIsMN9VMJtDCVegv8tKkmtJJK6fyOrpFV0dPsSBvZcDqLeliIdGU+aO8UWSk90oV4MIQAJ/aG3wKgT9Xn8Uerd5Y/U67H/omUvTpTxJAR42Fvs7+0bHxw/0WFCaYwBJV0Wbq2WHILplw6tYzD6EUDqiEpyNJbkIHV3v0rph0IJx+pXJ6an+bjJigKIrFvSIuml6RMZPD2p1xNIT/yJ+j/5GLk6PUGuLt1UtVGPJ8iZX+vRtRM5GSk8jjADF86SaDN85WsUve7P0uGPblssaZIznuslbYJJs6iCMtVSpA9VRftTdXQAVUX5y6TZighfKf0FpAoD9gukAKhcPfCdZ0TPfh5SoSVKKcBDihyQrkMayEgHZfvu0VG5hx7HYOXEUTOsSMaVUCXmLc5U0nVsAFHt0RCqTwqjJsCI1dHF9ARRCjfyT4hyMBw2qtRg1upCOXWVtkMJNlQJ5gkhdVYYuVdWUI/d8A6FLX+JEBQUx+yVajmU5gMot2vT6S4rHkAG40soegCgAB/TpCS8UF6XsnAG2Z26DEkBYpIsilaQTsJSN+ErX5EloFCFh/GshuQQSSXicyGNh6IHTKpFYcOnbJ8YpmGE72uopY9ZHV4XxYSJxYeo+WQUNR6P4OulSuihkkoiDwqgbKF0QKAkwUGICgwAJKimHH+VvpNCBrYsH13o4LfXJi1rjCGi7VU15j5WRHwPsLoCiKC0SxhouG/Kwry1CtcqKdBd7r30g1votIcbJe1aToe3LGSIoOruTQrltghc9AwdfG+iCaXXx/cj58c7US+GkRjDqPfjj6mUHasjFwaSy5/+N2GxY7ThKb7WPg9U0r/uwVBKf8yA0ngLlHrYQck2lecYSKa1ApDV8z8KSA62pWhHJTlM3XU0fTes9ZhSKyi5dBxKA/v3dUveu5Syg7fIQC3mtyTs3yDl4L1YDbk89jvq0/l3NKBbJxrYowsN6N6V+nAH7dn1MereBVDqQs5I4b08Vhc8PMfO9mXp6LHr35OOn7TrQ0mXpHltlln1GGxG5IoIFpFsRaSvAKkmJpBqYoOoNjZY/xxElZHs6CL8WUn5KYtQ5zIxX5mrJPOV+HlYOf9dpZ7rglJjVNvJWBLGMHSEjtRdXtA+02FKyo6dac3hYIERnGzzyWhqOR0rjhcpKyiEjwqS2TErB204bJiCk6EutGMXlZQs85JQ4ICUGbYdLwKUvBhK69+R8uNojqzh1GqPB8hkZqTdUBaOcaE7smV6lgDnK5kwa2t4/m59lrmbLNJ/WHwVKqnxdKis6oDdVPF/AEEDSvUMx3Op0fy5Dsvnu1mUzN/plED0Vulp+ewwgRFAJHaSldJJuQYfMZhv8PW4mp1IlxjWgDbg1MTKSQB1JFin8fwF+ICUpO/4mmf77aacAHfKDdyrqiIZVmgfFDqUMkSMuUnlUiLuK+X9JaiaDFftjPZH4FKOtg/1Zviox1X8+5WRSnXj3kFgo1QSwzAIUMP4olJJJ93XUOL2pRw0zaPote9IEIXxpIAFlvEkBaX+5Mz3uQvABOv6qJR+C5AeVUBa9Oxoyub2ywrcjApUt7+fR3xw/OSHQGl4G1ByCKZfKijdC0xtmmWFb8N62tgPANL9QKkjSml4B6DU6/6UUt++LiOemTSKktyXUGbAJkklYeBdjRuxIpLO97+ob9c/Uv8nHqV+yKNz5+zR+RGtlNS4kqmWFj0jHRw5+uh179ChTfPEAZzYs5pSGHZQS7n+u6UiChEsItnyCG92KOxYWC3VYN27uGCqi2OlcihUAFUXF2pjmN2PFR1q40PNszEBE0vP1PDPmAtjbdXxfMZCneYcJQbQkRCqO8J/ezSM6o+FUUNSuDjVltMxdCGVYZTBMMphdZR3QpwxnDKUApy0oR5MOFnB6JY49FMyL8lI3WE8qeaYPxVF7ZP0HdJpwUtnU8iHL0jJNtI/9SeCBExQTIAL4KQ26EsV6Nw2t1FPl5/xPJQR1BVSfwAayvtl2ahEXylywEK5CBSwAnaaz3oqjvagOobjWYYkPhfW4IOaA3SgmCxwssAI3xmpu48KGEb5xwVI13KP0bWcRAWmjMN0EcsxnYoRmDdgFYyjIQInXOfqhCCBVFV8IFXGBlAlyu9xjg00TdpJn2vR7tyOyriN463aG5Oi0f5Y1QOP5awCmVrMQ8OctAi13BCAhDGlgsC9Mk8J69+d8VhPx3et5GBpEQcGczh4eouDqFe4LZ6XVRysoSQl4QwjF77fxRhILp1+L0By/uP/Iuc//ActmDWSMvw3UtKexQ/Sdv/qB6Ak6bvRGkp6VQdHKbyeU38pUPpxYLJWRfcDpPuHknXq7r7Sd9Yb/LWnlO4HSi4uI8aMHEGLXppMCVvmUEbARiqN96QXpo6V8leXLo9Qz9//B/UCmLr8nvp04Six0x+oR6c/sVpiKEmxQ1caP9AZA7yslp6mkKUvUNiKVylqzdvS8eEAknatYLW0TtRSNtRSgFJLqLxDoQNSLYh0q2MCFIjYETWwU2pk2DQdiaTmo1FsrF6OxdK543F0/kQ8n+PpfPIhasHP+nyOn2/Bqg3HY2UFAVlF4BhH8UlR1JAYISYQSmQAJUVS0/EoajnF73k6ji6lHRYQXc1KFLuWfUygdD0vSZwxnDKc800DTAacSk/rlJdWGHDo7OAldacXXjWghDEljO0kbPlAqhUDFs4UtXTGa7WMSSAgaDoTLnC6nJMgey3dKEoSSN0sSdabAjIgGEJ4/hqDCHPMZJXwtCjZdhsD7jmh20UlBS15lqE0WxbKzfDfRKWx+0WxAUqYs2Sk8KDq8JlNMJVodWQAqZD/XwGAxNfDBNJRUZGXMhIYSodEVV5IjacLKdw2rDLPMqCaTuAaR/J1DxerPYxAgK//0XBpi0as/MDto1Z5iJZ2M9pPHnObtuj2buGfz/NrLUmxcj/gvmg8zG2aECb3C5S2UkmqeAb3FlQSgiAsaZW6fxOrpLUcJC2jQxvns0p6l1XS6zIOGrjoWfKZO1lWcjCgNHGgEzl1eZScAaPOCkgI0pxZITn97n/SB9MHy4oZWIB191vj3P6O7vDB8f+HwwIlrOrwbzZQslVLv7SYPZg6DCf7vZDagNIPAJL9Cg6toORIKY0xoPRzh+ve/XdCCcfIYUNp8oTxtOPd6bIPDCK/sG1LqV/PJ6UsvAd3wJ7/+Uvq9chvZGDX6dHfUvfH/igpvJ6Pd5ZxJeduT3CnnkL+C2ZQ0OLnpKNHrHyD1dK74gASdyyjZKglT6WWELmKWuJI1hiQRsrFSOMppWSB0tlEACmGzrODusAAunjqMF06zQ7xzBG6fIYdc+oxugpLS6Kr6cqupCWKXUw5LHb+VLxYy0mG1yl+nzP8PqkJdDn9iNil9MNilzMUnDCgDyUAVXA9V4MJUGKDelBQskt5larn4OTh7OH0sfjqWUnfBchW6TJxdtdiGevxnz9DCkSwDTfGf3LDdsgK35i7BMAYeyOpdQrjGD7xAqDzGbGqMCU1UtbMw4RNwAiKCwoJE3Pl/bk9MF6CTeeyg7ZSGf9/KKWWFLXfEqoCb0gKD8UbyQKiWwInA0rJYkolKUBbgHTYBBJSeOfOAO4xDHllABNgD0i1nOTnkgEeDjBOcFsmx0pbXDjDf3/msNlW0nZpx7g9E8Uup/D/4Ta+dJrb8GSCDkYYWMeiGUyAUrhW1FolRVrSdkVBHpTnj/lNrJIObKHT+6CSVtGRLYsp1o1V0qq3+dq8yioJwcEsUfp+H0yV4EqWGRrYk7pz8OXU6Y/k9NgfGEi/JScA6ff/D3X/z4dp/qxRMtfswZykn/74/wAAAP//7J0HeFTnsfcdG5zEcTe2KaKDUNeq994bzXQDNmDTe+8IRO+ILgmhggpFhSZAgCimdxtMsTHudnJvchPnliT3fveZb/7znnN2V1oJgUtyY53nmeds0+7qnLPze/8z8877k2yAUtvQJ6ijBiX0v5MKPA1KCkxPW0PJAkw14FQnoOoHpDqhZBNIdVfd1SgH/wGg1PwRc0rYQoICTiQnxFNyYgKtGNGdypeNlfkzveJCycTgcW9nR86v/IJHh89JKM+19evkxD9S144MJVTgOXSk+AATrR8eLz/o7Ak95Yeezz/4wtlKLZUvmSRhkyNrU6lq4yIZuWIEi9DK5ZwNKoy3Y4tSS8XbxMnA2dzVldI+VjQ8mn5gQKmUvmAwfXl0rzgucWJV+8WhfXPCDKavT+5XdoKf1+zLEwyKqnJRRoDSZ8dKxHGK8Uj/8+MlkiuBCvjqdLmACeoADrmGWrKAkh62g9qAk0e+RqDEigQ5pTsVOXSjdIt0V8AiiFjlFMUhmWO7sLrsLUvUH1wzWY79mdxldLF4jax9hT5qWFIbSuvDg9kCt5v7MklftPHyznXS/BMwQrK9bOloWXgRwEOepHDOYFnfCp/7Pn8++uAJlE4pKOF7ojz8XzQo6aE821DiY8lQwnH5UsJ2OpAAIgbFoULDkGP6uKJIgAQ4fVrJx5aP9RfH+bzx8f+yaq+C0QmcH7PJYzag9NnhEkMxAUofMZRwfYhKQvsiHtAYxQ3IH8qkbNVf8Vh6Gh1ePYf2L5vGg6TxrOKhkgazWu3ParIPbRmdIjlRhPCgXjGB1s2+PbkylNw78ACsDQ/G+Lp3afESOb32KxqZEiC/k4VDkhrCdj+XrXWABqVIDUrxT5vzSgKmp8VqQOlhYNLhZNyvLYf0CEB6XJVUV+juJ4RSkL/fCSilzslJ1IVt+fButJMd5OYZ70pMHfMxXF5/hpyb/IJcWzxPznZNZASpoNRe1FKMvzv1i/FXITx2hPih504bID98hElELS2DWppDR9MXSJNMjGCRgJYJjloYD6EXQy0hhFeaz1AqUFDar6D06aE9CkrsqMRpHdOcmIy0Ned28oDZyekwqlIwAogUjPaIszSP6tVequ2q9kjFHcAEVQB1IGG8CwcllAVHrVSFOQejqyQJ3VlC6XQJq51iKQnHPKHLxeskhIfGtShCwNwYgAndBLC0/J6Fw7WVS2dKU0+sEoy2UGo5hGUCLNwGhKoy57PCmk0H105hGI2RlVPRh3Db+G7SLgfhOz2fdKlorXz+vSP58n3wvb6pASULMAFKl81Q+pahBNWoQwkq6TM+Tp8e20WfoHHrIRQ6ID+XR3f25YrdxfIWB3YwnAoFTp9WKoVqBSZjwKCdKw1KX2pQ+oKV1OeVpQKlBwjfISyLkKxAKV9ykAj73tBUEpauuJiN6kw9bLdIBkMHVyCXBJUEaLNKmoYy8H6SB00flsCDqgRW+4nSNgtKCZEA5JKcWjUlpxavkFOzF8mRgeTc/EX5fSwakixrj/1YPrBh+wfbBEohOpSeNKDknAQwPW2GUm1gqgYn24CqA0gpjaysJpAaPQRIDy9wqLPI4XtAqdkjQsnfx/tEQmw0de2cTF1TlC0b1lUcHOZmoLDB1K45ObzM/9OrjciJoYRYu4KSCuGh5RAW/ZvzZhQ72K7yQ4daytPVEjsCOISDyC2tmUfH1y+kUzyCxUj2/DY1816F8baIc7FUS1jADTkEjI4RugGUPmMofc5QkvCdoZSqgak6kI5ryuionvPYqY3otVE9375/pEgrdEAZeImoga/eKzdD6bwNKFmCScvLYH4Swnd6ocNnJ3dJix9Uvl0v2SRdHQAdLJcgTpBH6ir82VVNQp45gJ8bLGE95PrKl4+jvSvGS7gIZeS4XbpktAAMc2MKGGaAUTZG+ejdNipZlBI6bBxcO43O5CyTz71zMEe+B76PPlcJ3/N3RvjOnFsywCRQOmihlPbKkvA6lKCScNxwDO8cyKNb5dvpVlk23cSkY96j4OE2qhoZTvcPFdGnR7XQ6bFSOS+6faUrpyp1vr48Xq4BiVXSEVZJh/mzDiHXtFMGKXfLd8jCfrdQJFFsrZLMYbsldHTdAjq0ag7tWzpNBkdQSfkzBvFxZpU0qQ8D/A0yublSv1h/Sh8aJ4ODrSMT+PpuK6E7QMnR7lUG08vkzDY8JZjSBsXLumNYgdnk4hD+I7nBhu0fabOEkvS/06GUqEHpMcFkttqKGgCkxo8PpPpU3NkoBa8vlKpX31Wfp/Q4SsnX05QaGxVJ3RhK3bt0pu5du1AXBtPoXrE0vHOo/DC9ZG6GHbk0e45c29lJqaxLh7YCJTeGEoDkzhYf7MVOURU84AefO5XV0gxrtVSxajY7ivlUtUEL42WqMJ7MvpdqvK0yqRaVeLf35NDdsnwZFQNKnxhQKpHRM5zWl8fKNYemh4Msba8K1wFI7AThED9BAv5goTjJuwcwslcj+rvavCSM+tG1AGrpi1OlAqWvbSglA0hXzCpJ3VYKA44e7YVQEo78zadV2tLn+7Loyq71rIAWSW4JjUABEIBk08hE3idpRSPdpH0TVvcFcPKmo4DkTcrnPe4j5AcHinAT8iGAGv5+08gkUV5YERgrqh5H1d3OdPlczIfC95B8En+v3xoqqUKaxhowMsB0yOp/AZS+qaaUHhwDlPh4VjAk9ucwlLLp/T3o8rCVjQcZuzL4fiZ9WMaDjH15EtJ7cITP49E9GpjKDdWkYITzxe+PXOBR/ozKEpUPPMTnDkuOHODzh6IVvi4+3KOppKIMq5ZVErbbpIft5tGB5TOobBGrpHmskma+y9flW3xs+0mBw1C+xgEl3QbGB0ihA+YoubRryVBqxlB6jZxavkqp/aNocFKQKCQACV31G6D0M9laBT6RCih1MKDUuFYoGVYblGrAqX5AcqkVSI1s55Hqq5IeEUp1lYTbghIrpUcKKfh7m8JjIsNFIQFKb3TryoBKoaSEeIoMDyM3VB51bE3eDu3I16mD9PxSUGqjKaWOBpRg6PCQObab/OC3T+4nYRIklUUtsWOAgzi8eq4K421cTKe3LNfApKrxjLlL7GwwCr5TCrW0Q0I2CN0ghINRswEmdl4YVVuNujUYfamF65A3Qujo/qFigdFtKVlWI3oZze/dzlDKYyjtkFE/QlKfnTBDSVdKKqdUoTnuI1bze8xhvMPi4JFXgsOHEvlaC+N9fnK3MWcJDVL1buFYhlvmyTCYNo5IpA3DE8R0SCHXAQVkaXh880j1WoSeNoxI4PtJAjgsVle+dCydyEyjq7s3aMUNhVIJKKXgWtWdUkkHrarvVAWeVvBwWQMT/hcGsgrh7ZNj8sXJEj5Gu62gBMDfLMP6SmjMil54G+gK29WiTQKpm6Xb5NgjnGcJJnM4r9w2kA7vluKI+weL+TooZJWUT7dLoZKyZQCDaQVQ2mjwa4Tt1uthu1m0d8kU2rOAVdJsVknTWSVNRsVdb1amb9A7rHwUkFwMiwrwJGcebDm3sSPntnYU5+NECTzgSgj2Jh9PDwrwYyAF+FFYUEADlH4uGzvaVMvlKxwBpYRqIbz6gqmGaqoLSI3rB6Q6w3Z1d3Cwai1UvcjBAkodbUBJhe+e+EGhhLLwKIZPl+REgVIPQIn3KH6Ii4mW5qtu7VtKaxUACc0oTQ7tVXgDcHKwt4KSUktd5AefPbGPhEmglhA2gWOAg0B8H2E8jGSN/NK21UYYT+YusbO5CbVUoqmlfYUySn7Ao+UH7KSkeoudFpwXnNgXlmAygFQmQELuCCN0mUPDMIJzxGj+xm70a2NVxlCCQ0Ve5H5lkSglKyixI4ZDhlJSlWqHqwGp0iq3JFC6rFuFlIf/VssxAQoPWK2g3c/7ZVtksT/khUoWjxKY6Al3wGn9sHhaNxQWp/bG/XhK59vpvN84IsEI/UFBoYURQoNYjhvvj89BRwmrcN1FpY4sTWB0VbcjBpwMKF1UIbxvzikofcnH5nMdSpWFAvQ7opQApa10pWgjXdyxji7kraWL+etkkcdrxZv5eGdJvskMpt0CJis7WiIhPpxjnOtPKnYKkD5iIN3by59ThrlMmNuUJSoJ3UHQCfzctjWyRhcGO1DjetiudOEE2jl3JF+H77DCHEjZk/ryce5JmeO6y7VbH/NgcHl7mEQlhTKMwoODKDI0uAFKP5fNCkrRUBYWULJUS7WAqXY4/URAekyVZDVH6VGh5GOGUlPTE+H1PdYuDg7hkWEh1DkxgaGUwlDqInBCNV58bAyFBgdKSSxms3trUPJw6KCA1KGt8aN1t1JL0fyD7yY/fIRJ8qa+JWGTnfNGiYOAo6hYOZsqeSSL/JJaiE3ll/QmmteLtrJayqJbe6CWcsUZwSnBOWHUXB1M+ohbN0MhsdP7+JACElQRQHQN6yPt3CwGOCHkdOdArlJKAqWd9FnVbisowSGr0F11KB3R2vQo09WSKKarFo7dAgDSpPU8qydjYm2mzFNC5R26TCOXhHBd9qQ3JDQHZQTwQB1hj/CeuTt7H8kroTji+JZ50hwUjV9RpYdSdJSSQ6n9zgpAFspI/54ajKyKNgylpM9VOiDrR6m8EqDEKub4LvrkaJGCEh9DA0rFrFzy19K53NV0ZttyWfUVcIKC+qA0SwvlAUw7RTFJ9aMGo88q94iyfXB4l5SSf3yQ339/Ad0VIOUKkG7uwiKO6ASx2dxKKGMFndy0RAvbzTWH7VLHsFrnYzrtbT5mb/J1ySpp3Bv0bkpIvaEEBQWVFMgqKYx/E/jNRIYEEQZ1P54nbNj+YTY7/yfCZU0laTVUE0p1qqVaVVPjh1rtMFJWVx6p1rDdo0DJMnRXa6GDbSjZ+ajl0KWrwyNCKSIkmFJYGXXvbIZSCkMpgaEUFxMlLfsBJjSjBJjQB8zNRuhOmbOEOkQt8Q8/mx0A1FL+dFZLs4fR7vljpehh/7LpMpKt1PNLm5fRGYTxpDfeBrrGzgZO5+bubeKEMDq+K2Aq0MC0UwOTOXFumFFdt0uS68gXKSCpEfylgnQJLV3duYneL6kJJThaOFyoga/PlIs6gEMWhXHJPJ9HgHS10gpKBpyqP3ZdGfrioVMD7A9smASLibKYe3TvSJ6aZLsrXSrssHJsxdqpUtiA6rqSRSOl5BsTY2WdpC1zpU0RQIQ5SigRx9/fOZRDD6COzpbJBF5MugV49O+gvp8FgK4dsb5vhCFt5JXOo3USFF+ZCuFVaVA6vIPuHmQo7c2WY3q1GEppLZ3JXkGns5bKEuRYgRjKCWBCIQQq9e4fLhIwqbJxZZhHBiDdryg2A2lfPt3Gcuul6MzBSncnVqzdLNcKrhlcOyiewSTZI2vnSdiufLEK2xXPGcHX3xDKmTxA1HvW+B4SYkZ+qL5Q8vJwlwUwQwL9CRPO46IiGqD0c9oApdbaQn9QDejq4FQNSvUFk8tPBqR6qKRHgJLNQoewWqDkp6DUwgyl1Poea0AJI7/k+DgNSl3pja4MpSQFpfiYaPkhurRtLpV46JQsOaWO7WyqJEAJhvwIfvhZ43uyI+grYROET4rnjmRHMV4cxoHlM438UpWeX8L8pe3rZHVagAnOxwymXANMcFbIEUkICM4Mo21txP3pUXNXAR1IyGkARBJSyl8jYFJQyqQP9zGU2KHCsSoo7aTPT+4RNVADSlr+RYcSnLkt+JjvKwBhBVq0BvoOy4/fPiWmtw3SuzQAIpgoi5Ab4HKjfAtdZkDBoKSwgNyFwlUCIRjgdWX3erpRtoVusTJCuTfg9tnpPQy7g/TtxQPaZ6tWRVgCHd9DgGh8ZwsoXbMBpSuqKs8SSt8wlL4ClE7peSWGxxEGR0WeHMsPytA5fBMf43V0NmclA2kJndi6SOw9Vk2X+BxggIDBwD0+PwATzpU+8Ra371cUqYKU/ayO9uZZA2lXJl3HOk5o+pqrOoCjtx3mwGGQg2IaCdulTRB1XjBzKF9/b/F12I+2je8lYTuoJP1atTRbQPJ0d2OVZGKV5CsqCUBK4MEaoOTfAKWfx6ZDSW815BBbDUqPpJgai30/IDWqE0i15ZIeFUr2D1FKtqDUOuD7QQkbfmhJ8bFG+A5Q6mwBpdjoKBWya99S5m5gUiGWQ7eGkvbDdlE2hEehUEuZY7uLI0DYBOGTgllDaRc7ipKFE2jvkqkqv8Qj22PrkV9iMG3V2xCli9O5VrRFnBCcEZzSnfI8GTXfEzAVCpg+4VG1ASeZc7RLJnPeO4iihhx6fzeWQV9P5/PWsJNcxfvVDKh0urYbK8oCSttllP/x4QIZ9X/Ko3+BEjteqIIaSskCSn+4ppu1GhIYGUA6rpYeZwABRv9xR3UB/8tH5+g/756h/7qHZSdOKeUkTVXL6QHDBS2HPjy4XSbNfiATZreabW+Geq5iO91jiEEZfXGmjL5l5fWv/H3+KJ93UgPfSXn/P394wgwm7TtaqztLMJmhVF0pITf21RkFJRRvAOL3+bjdO8Rq5kAO3SzPout7GKhF6XKs39vGwNicRsc3LaCTGYvpXO4qVqwbJJ+H8/NRxQ5Vks8w+rhClenfO1AgIVcFJPTR04GUIUC6ik7keenS4Betq3DtYHCDuXD7l0+XsN1uI2w3mK+//hK2y2T1njGmq1yf+rVawwxAOUvYzsvkTn5enhQS4C95pMTYaEqOi2mA0s9pEyixw20f9oQ4Z4ESysJtgMkqv2QTTo2VpdRltQOp/irp4QUOVkCqJ5Tq6n2nQ6kVoGTRauhR5yqFBTGU+Eemh+8MKMUpKMUxlFAMgdZD7h1ak4tWBl4DSK7WP+4to1ApxmppXA92CCh6GKCF8YZLnL900UQtvzRLKqUQepE2RJlqQUA4nasFm8QJWYIJo2YFph0ymkaIzjzS5lH2kWI1b2afqgZDuAj5jfeyWYltXyFK6UrxBnGccKAoZb5XkU8fVxZIB22M/tHxAMUBNsN3epXaVQsgGVDSYCRAOiYAAAi+u6mABAj9BctSfHxeLUuhLdD3F77/7wyr7z48Sf/GrwdY/oXB8PWFffT1+X301XkGwblqxo/hud8iV4TvwlD7EyDE7/GfDDosgYHPwx4g1NUZICkhRAGTDcVUI3xnriQ0lBJD6cvTJbIMBqAEmH98ZAerJVY0+7Pp/dKtdJXV0sWCtXQmZwWdzFxMVVsYTAwnQAqhPZSM4/ygyAQDCNVpfIdUSCLnJFWSZdsZSGjomiXl5QKkQixxrxbuO8PXCq6ZYxvSpHjmAA9yyvVquzkjaIeE7Qby9deXr8OelDmmmwyWagVSNcM1jgIHhO5QbRcdHkqJrJI6J8RSVAOUfj6bDiV0CodjdohRXR1ELVUHU/VQXpININUJpocB6cdVSY8CJSkJD1VQamsJpe9ZgYcfG6D0hq6UuigoJRpQiqSYyAgKDwkmb3c3+ZGaoVQTRrrN7hdJW0d3VmG8cT0lfII5IhLGY4exmx0HRrQY2R5aNZsq1zGYNi6kU1uWyvo3AiZ2PtXBdEsDExzXXQFTgYywUdCgllEolLAdKu0QJkKo7hwrpDMMJIzSLxask/DSB6UZdGtftjjSjw7ny8TST44Vm5WSrfDdpQothHdIFQdcqxnC06H0RwNKVbLEBJaawJLlUEiy7PlnV9SCfdpifn97cIn+cv8C/ScW7ANAWN38/gY6gVfS7/jzEJIzjEGBx2EAEZQQ4AO4wQC7vz24KCZrLjGc/v32aU0tVQkwJYx33QJINkJ3Uhwh1XcHpIIQFXxfVw/fMchx7HAMcSxvH2CQ7GVVw8f3ys4NdAG5pe3LJXx3nMGEcB4KIBA+/aA0U0ry72hzxVCaj8EEFJRRKSmr2WKFYA1IO7DkOr/ntpV0autSLWyXShWrZvEgZ6q0Eto5d5SakzTlbb7u3qQshO3GWqokpzrMfA2j6s4XBQ6+3hTBEIqJCKME/j2kxMdQVGgQebu5pP5IbrBh+0fb4GwVlFAW/hQ79FqgZAEm63Be49otxXJfC4ySLO1hQHqqXkB6HCjVCN89DEqPUewQHhxoBSWE8VDokKiH76IUlCLDQik4wF9ms3ua3OoEEiw+yJO2jEymjNFdxCFsG9/bIoz3rjgOyS8tmcwj3BlaG6L50k38VMYyOstO5wI7HwFToQ6mDBk1Y/QMp4XRNMI8GF1jpA1A3T3IQNqXo1TSzo2ijOAUkd/ACB2P3SjZIo4T4SY40nuHlVJS4budEpbC3CIoAjhhKATzvJ4Kc25JA1MNtXTDrJS+E2icVGE7VjCAhq0lz//3i+vGqrKACgyQUqA6x9A5Y2U6gKC4/iYLAV6WvwXkZKn0L7A67WVZDBCfq6+/9B2WvpAQXqUZStW6UpgVklYOftE6dPfle1rojo8VeunpKgmLGQJKUEu39m1jJZpJ13ZvkuP+XvYyOpnB5zZzsUDpctEGrdBkm5yv2/tyZMFAfQ4Zzh8m3iIfiHLyK4UbpbT8fC7WZFolqxljeXMsIomGv+htB/WNOXEqbDdIhe34ussc20OAJCrJ2aleZuJr2IsHYX7eCN35MYSCKYaVUnxUOKXERVM0Q8nf0y31x/OCDds/1NYKUAq1Lgs31FIdUDKDqQ4oGfYYQKpH2O6RQnePASXLvFJri2KHFnpe6RFDeBgBAko9WCH1ZChh8iyq8SSnFB2lQSmconmUiDka+JEi+VsXkKzVUoo4BDgGCeNNHkD50wZT4exhMsseI1vMXzqwciYdXjtX1l7CKqGnM5eL8xEw7VBggnO6wU5KwGS0sclRvdZ4lA0gwblJZwF2eMhdAErncleqsB2P3N/XFJIOpDtsZjDtECf72QlWS1oID05Y+sQhVKZ1QfjdJevyajOcNENuSStwQOjuz7d0paRWlAUsqkOJvvlA2bc3H930v8X78PtZQgnQ+i99UUD+HlBK+F74jkohaaXhVw4Z6kj+Rx1GmGMlCqlcjgc6QqBV0YPjRVLSfu9Qriy/fnNvJr1fxuemfCvfzuLH88QAKAwCEMoDmE5lLRHFerlovSjZm2VZktf7cG+2nLdbDCNU5ykgbZHwKybhAki4Fs5uX0XvZbHy2rJYrpXDa+fwoGa6dABHdae0EtKq7RC2y2SVjjDyVh4cDUkMsgCPYzUQOVqYgpI3D74CfLwoVKAURNFhwRQbEUpJMZEUy7f9PdwfKVTesP0f3gAl6eoQoZWFxzZ+aAjPbI3F6gbT9wPSI6mkukJ39YVSLWXhratX4D1iDzwXhw7hSN4icdujqwallGRKTogj9MRD6C42KkKghLxSZGgIBfn7STWSh5tLPeLyTrR5RJI4BJVf6iVhvBxU47HjKJozTOWXMH9p2VTVTXzdPMkRnGSnA+djCSaMlgVM7Mxk4is7MIysEQICjJCfgIO7acyXUVC6sAN5pPXsNDMERgg1fcSje/SD+3D/NlZNWXRzX5Z0P0DzVIHTcQUnOOGacFLhPOs2PYe0OT86mBSU9EX6BEofnZXQXU2lpEHlGx00tx7BLMCE9/nqfQUlfn98Dj4PeSyE777TFwiU0N0RA0YGiC5Zgwj/rw4jQBrHA+E6HB8srY75UAAROkeg6eu5/JV0fscq6YiO16jw3k6pzAOYzuevFjBJsQmgxOcI50oBaZsACiE9DCh0IF3WgZRnBtLJrYvp+KY0uVYOrppJe5dOkcFN8dwR2iRZVW2H6y1jTHe5/qDa3TTouNXDACUfD3cK8vOmiOAAKWyIFrUUQonRERQXHkwBHq4NUPq5bK39Vf87VYEHB65BqTYwJVoDyQpMNuFUW/7o+4XtHjl0V9+ckg0o6SG8VnoF3mOE8EwuLuHRYSGUHK+gBOuaksTKKZbiY6IoTgvdYW6GGUq+MpHQ0931oUCCDU4MVEUPWhgva3xvifPr+aUiyS+NkQUB9y+fJqGYyvRUdjoL6VTGUnFCmHwJpwTnVB1MCPPICJsdm4SAqkEJoSM4QJQqwzlK3ujELqkYQ7gJ6wxdKFhNFwvXSF86OFQACstNoMwa+RJ01kZSH3kUHVCqMs+soPTw3u80SGH1WKgRvdgBoTMolr/eP0///eCSkVOyUkrVgfTbOqw6mAwoKaX0/z6/Ip+Dz8Py6Sh0+JMGJCgkWTRQbx6rqyELCElrJAbRpxqIcBwAbBwXHB8cJxwvHDs0fa3auoAqVk9jSEyVtaOgpr6RkN8+ydNBkV7fs1kGCJcK18m5uVGyVc4bQqkoOgGQcN4ESDs3SYgPOUGZiJuzSkrKT2YsoSq+No6uT6VDa2bJel2liyZIVad0AJ/6thG2y0DYbnRXyW0OSgggNyfHmuas33YwHgO4vHjQ5e/lISopAhNmQwIpii2GFVJiVDjFM5yCvEwNncJ/LhughK4OgFJHQCmmkcorWUKpBpga1w6lpB8BSI+gkh6WTzLmKFWbp2QbSjbySn7mSbRGCM/j4WrJ2+SWGhsRRinxsQaU0HIo0QjdRRihu6jwUJnJjhJyVCNJCK8WEIlZhEZm94uiraM6i4NQYbze4jgkvzTzXTV/KW2srL2EUMyhNbPF6VRtBpiWiDOCU7qAljXspBCWQ0cGODCMqtElQOUmWDHt16G0ha7v3qwUUulWARIqxb46U86Od59ABiGnU9sWU+WGOXRs0zy5jdE+li5HfzqogFuspARQUgxRIOE9tArC38Npf/Geyj19xc78ax1SF9WKsXD8AABA8N2tqppq6QtNLRnhOxtQqo9S+uamVfgOsNNDdyiswOd+9+EJ+R5QR1hCXRYiRHXfOU0JaWE5tCX6RAvNfcRQVooomz7gY3WjZLNAHMfnbO4KOpW5iFXtPCpNHU3TkgJpblh7Su8TJioUkNNbMaETBBQTQnkIoSKvh1zT+wIlDUhlmkLarYB0xQJI59EZInuFXAu4Jo5umG+E7cokbDdaVDeqO9Hbbtv4PiqPNLqbXHdz+kVr0KmfefD1621ypUC+zsMD/ZVSYoviax+5pITIUEpkC/Zyb4DSz2Xjkb+CkhQ7wHFbQKlWMDWuASbbSulhYbtGtQLJWiU9RujucaD0sLxSgO0QHuxhx9nf05Qax9DpnBBHPRlIKHboLN0cokUlxfJzqDhCKWxUWKgoJfT9QrsVFcJztapa8kBFno2kcXygJ20emazANKabxPkR75f80vRBVDhrKO2cN5JKFo6nvUsnyzIXcDrHNi6gE1sWSUcAOCU4p4vspC4XrpdWNjqYMMKWMNC+bHZ828XJIXcEw+gcj2GSJ4AkPemuHBZFAOe5f+lEWhjvTHnj+1Lx9CFUsWKaONrT25bQubyVsow5Rv7X2SFjTSKE+7AMBZw1nDacN5w41BRUBZw7ujTA2X97UeWgAII/fnBMqt9Uldw5VjEXVVFCdbX0zaPkkmoCSamkqxYq6T1Rafh8hOxkKXWUmZ8tM0CE735fgxAADAipHNEWWUb9YsEaOp+/is7msFJBaTcfn4N8nkpmj6CMwSkU0/IFSmrzCm3sG0WXclZLzg2FHt/dPCk5NXS4wLHHBGUMEAAkhPMAIgGSdr6gnK7JQIKBVGgBpO2qMwQq+I5tWkBH0ufSwdUz5FrBYEaF7YZQ7pQBlG3kkbSwHav0QfH+5ObYycIc1F4HkX4fy7CwSvJwdSZfDzcK9vVWUAryp8ggHUwBErpLApS8TVihOfwncIkN2997Q/87TKDVy8I7RT9VA0rWYbzG1mZLMWlQqgmgH1ElPSaUOtqCUn3ySloID2pJA1NqXcc5LMDvRGJMJHVJihcode+cTCnIJ8WwSopklRTBKincrJKQfwoPCVIhPA8TeQJKOnwYTPp9W3Ca1TdSgUnyS92lTFfKxKcMpPwZqg0RlqouXTSe9i2fQhWrZ4rzgROCMzqdtUxa1SAfISE5BhPa2UANwaHBwWHUDTDpo2+xvVkCH0yG/ZfLDIcbajIrRvEIL907mEd5Y/pQL49OFN7iOercqTntGNefylPHiOOtXDOLjvP3OJ2xiN7LWsJwXMbOEol6lJbj8zHi3yLVZjqodEUllXyndgsEoE7+cKOS/nTzuJqzZJSHq/lK/4PS8M+u0v9+fk2UjqrG0wyP6Wb5+BfqMfzd/3x6RZWCQx19rIfsTktO69/4c6Hcvjm/V74PuobjmNw9mCN5NFTJ4f+4UriOob+GLuSupLNoD4RJr+vmUVW6ssoVM6hq7Vw6sGgijQ9xIefnGtELTzwhVjxpEJ1YO48+OVzEx5fhe1ubJ8V7zI367cWDcjxQnYfcHs4NzhU+W1QSoLRni6gohFtxjs/lrZKqScxtUnmkBVS5fh5VrJlJ+yVsN552po6kglnvqCUpkEcar+eRujKQOtNghO0EOPbVrFM1szeghEbEPGCjEB58hQf6UQRMwKQsNjSQEiNCKMzXg/zcHRvySj+HzZirJBV4GpRiG9sEk1NC45pQqhVMDwNSo1oV0uOqpEeCUlQ1KD0khNfGRmm4oZa8FJzqOs74oSWzKuqekihQ6paSRMnxsRQfrVXchesqSQEJlXpQSphwG+DjTV4mN0kIA0gAEUpoASAdTpgVr1c2xQd60KbhSbRlZIo4jMwx5jJxlV8aQkVzh9PuBaOpbMlE2s+KBTmDSh6VSzcAgImdE5yUgKlgnTgvzDnCCFsfdQuYWBmJatLmIcEZoqT5D9eOqmq4D0/JKB7OEktSXM5ZQ0UT3yLHZxvR8+xgYfEtf0O5o3rTnpnD6NCSKXRs1WxxyCfTU3k/T+z0Zv5Omxcq25TGtpDOsPM8hwmiOavoEhL6qPrD3Cj+ru8zQG+VZTEIc0W5fYY+e1W7pdceesl9ebJUDEuyf3GiROxLrIJ7skztNZPnq0rUuk9V6nWfH98ty248OFpMDyqxYCG6d6PNUibdgKNn1XGBoY7vdpaV53t8PE+xEsX/dHTlTDqxLpXvp9Gp9XyscZv3J1B0smqWwGjPjKE0KyWU3nF5heyfbSzHSAdSHx8XOrx0Gl3OXUe/u3iIYXue/vrRBdn/192zUvWHQQAGBoAhAI5QnqjavVBKmZqC0lQSHy8URQiQUEquTb49ytfCobWz6cDKaVTO14iE7WYPZbX9Nm2frJqtIm+J6wuqHOtLuTnYi7naMDcb5qHlkwK8PSjUn6EU4GuAKVKzmJAASggPogg/TwoyOTdA6eewWUMJxQ5PSbFDTSg1VlCyBaYkW1ZPKNUFpO8DpVjbULKvBiX76lCyMYnWahXagGpqyad+agklrpgI2IMVUo8uKdQ1OZGS0IgVuaQISyBZQilQZrdjQiGqkzzdXAwQQT2hKs/LXVNM2nMCLt4j2bwJ1Xh6GE/PL01+U9ZeKpj5jiwKuCdtDJUvnSTO5zA7oaMbUqVVDea4oDMDSoqlh11hutGdASNtgdI+Nf8IlXUwzD9CgQJCSoDQn2+xSrlzhkfxZ2X/Z4bT3fJcem/jIkrrk2xASTfXZq/S28GONCvOgzIGpdCuae9QxaJJdGTZNHHmgJWlVWIyMEOsAqvtLpxAB3lfsWQyHVqqHsPtw/y3R5ZPk9ceZYd/bPVsseNr5goITqbPp5PrlQEOpzbA0tQe0ODnAREY4Hh8zRz5Lng/vLf58yfSgTRWnvPH0l5WfrDyeaOpfO4ouX0gbYLYwYX8vVj9VCyaTAcWTKCy2aOocPxblD20O82MdqXRAW3IvfkrNY4NgNTdpT3tnTeWLmStkhZP//7hafrrxxfob/cvCZSgljAIQDgPRQ8oNEF+zzzRNkuU0w3pAoF8VboUQ0AlSQk5gLR1ISvm+XQ4fQ4dXD2d9i6bJNdI8dxhsjQKuoVguoFlHgmq/O14f4ZPR7N1sjAHW2ZPXq5OmBRLQT6eFBagQYktIlBZJFt0kB/FhQZQdIA3BZtYVbl0CP/pvGPD9nfZ7LyfCDfmKukVeDEKSo7xlmCqA0o1wFQfINUDSgk1oVRX6O6hRQ6WULLMKVmAyXYIz3ppdFu5JV0x2TrGgZ6m1ISocOoi+aQUgVKXxHiZsR4rKkkBCZMGASSUxFpCKVhCeGYoAUS4D/WEPZST/hxi9Cbeo9JpVp+IavklBpO29hJGvIWz36GdqSOoZNFY2rd8sjihI+koRGAnzM4J81wwGRZOS6+sg1rCSBsjbkAJMJJ5MofzpXIMlXIYqSOshJDWf9w5o0bz7Dz/cu8c/fZcBd0uyZbwU/8gT8PpPqeZQ9s2lJyUQN27daa34oJoeIwXzYzsREuj7Cm9RwhlvJ1MuSN7U+GEAaK4dk4ZLLZrKqu/SW+J4bmC8f1lXzhhIBVOHCiPF09+m187iGE3hPZMf5dKWJmVzh5BZXNGCjzEGCR75zFUNKDgObymZNYwUTC7GZT4vOJJb8v74nN2jO1HeaP7sNrrxd+tJ+UM78H7XpSPx3ifO6InbR/2hhi+//qeobQizplmRrSjScEtaUByFPVJjKIUHqj4enkYx+I5Cyi5vPhrKp01kmG5UCYw//7qUTmu//PgMv33JwpKONZQSoASQngoEMFAAefmNp8nnC9A6fqeTVIEgflMUMJnc1bIuT6hAenI+rlUsWYG7VsxmUoXjZNrpGDWEFbZA6XpL9pZSdhuVBdR48gjWUGoUwdl9srcHCweE+soj3khn2RypRA/LwqDUhK15EMRmkWyRQX6UEywH8UG+VCopwuDqSGE97PY9LlKUhYeqVXgWamlxsrqBaYfCEiPAaWHhu5qK3SwEcKr3gdPwFQ9hOdnHcbTCh9Sqx/fiCD/E8mxUdQtKZ56IZ+UkiRVePFQSbUACaWxOpRCA/3Jj50VIATwAES47+tpUnBCSyJ+DmCCCZScHCkuwIM2Dk/Uwnhafmmc3k18AOXPGERFc4bSrvmjqHTxeNq/YorkEOCU4JzgpE6zs4LTQogH5cVIxqOgAWXfOpQQJkIZM1oGoeQZHReUUjopeQ44TORf/vrxRbn/1am99MHODFYuM6mvv7uVE9bNrZM99XijG/Xt3ZP69+tDAwf0o8HdE2lUnA+NT/KmWRFtaHFwc1oe40CrEk20tqsfreseSBt6h9PmN6Npy4A4sa1vJTAIEilzUBJlDelM2e92FTjkjOghIUOAI39MXwbLm1QwDtafQaOghvsATv7ovgJCwAaKZts7XSlzcAq/LyvRgfH8eTG0qW8UbeRBAICztqs/rU72opUJbrQ8moEa3obSfJ+jaSHNaXygHb3TPYHe7pZIA/r3o359e1HPHt3lPNu9/JLNY+H0/NNUOnMkHV89l64XbaavTu9l4KNrxTkBEoAv7Y0kVHpCoAS1ilJzVOJZQgnl5UolrVMqKRdhu6V0ImMRHd88nyr53B9aO5P2r5xCZUvG0+75I2XwAnWNNbvQjT7TorABatwAkb1u7cVc2NwMQKn76jkFKm/kkzzcKBRQ8vNmKCkzQ8mbotiiGUzxIX4U7u1GYZ7OFOxmX+M31rD9k21wsAIlvQIvupEWwmssq9FWh5LN3NJPoJJ+ECjZCOHVgJLNKrw61JIexvO2nVuKDgmkLvEx9AaPhHt2SaaurASSUHUXGUbRBpCCBEgKSgpI4eyo4KzQegWz3X0kr8RQMikoYW6HnwYmQAkKCobX6NVOCKtsHGGRX5L5S70UmKYOoB0zB0loZncaK4MlE9gZTRWnVLlhLjupBeKs4LSkU0PBGrpcnK5KjFHCbQElOD84QUx2RQUYHCOKHOAokev46/2L9Lf7F8WB/vH6cbq3L5+u5K6jI0unUw8PB5vOGObF/0uf3j2o/5t96O23BtCQwW/RsKFDaMTwd2n0qOE0pv8bNC45iKZ0CaLpYa1pTnR7WuD3HKX5PU+Lgl6nxSEtGAptaWlkB1oW1Ykh5kgr4l0EGKsSPQQea1J8aG0XP4GJsgC+709rOvvyc978Gm9aleQp8FsZ70rLY534vexpSRiDMbQVLQltyZ/1Gi0MeInme/2SZkW2oakhdjSxSzCN69+dRvXrTiNHDKWh7w7m7/82DR40kIHUl/r26SVFLa2avFLr/w9DiK9y2Qy6tH2tLEGBAhKoIgAJxxRwQtjuT+9XieHYY14U8kqy+u4RBSXMecKAAlWOqPJDxeN729H5AXmkBXR04zw6vG4WHeBroHzpBNrD10TR3KE8eHmbcow8kl7YoID0dpxvDRC5YA0w7Du2I3eGD/ZWxs+ZHO3J192FAj3dKdjHQwOTl4KSZoASDKG7+GBfivIzUYSXM0V4OpG/Q5vUv4OrbNh+qq0lJtAGaxV4EdWgFGcBpbrAZAmlxHpAqS6F9Kgq6XtCqf4hPE0t6ZV4+rylamCy8zarpWBvUyomAHZLjKWenZPoDVZJ6HycoKskBlKUAaRAUUhKJQUoKLFKggX6eokyAnywD/D2FFABTpaqSRSTq7PVXJCZPIKHA0GFlA4mtcxFPx4BD6SCWYNp57xhtGch8ksT6cCqaeKckOyGs4LTOpOzXEqVLxaip90G1dPOEkpVailwzMmRTgtas1Q4SYTxUP0GIMH+g+9/dbKc7pRtp4tZK+nIsunU08PRpkN+4akn6ZWnG1HHZq+Tv8lVFOawd4fQGAbS2NEjadKEsTR96iSaxjZn1nRaMH8uLVm8gJYvXUQLJo2hpVNH04ppI2nRW4m0lNXS0kGJtHxwEqXF29NCtkUJnWhhAvb2tDixk7FfGN+R0uIYcHEdeN+BFsR2oPls86I70CJWYGn9Yym1fzwtnvAuLZo0guaPG0ZLF6fRwgXzaO7sGTRz+hSaOnkCTRg/hsaOGUmjRg6j4cPeESAlx0UT5qy1a/oavdjoyVphZP/ML2jJgG5UuXwGXdi2mm7uzqR/5WOL3n5ooYRjiXZKOL7SkdyiazrK8VGKj8KTewKl7VJmjwEFcknnd6yW+U8oxz+RkSYh28PrZ9PB1dOofNlEKuFrAdfEjpmDWVX3l0Uk9eUoVB4piQbF+VnDiIHjqpkbHgeUOrWXlZPFOrZVr+HnPJwAJSglVwUmbxOF+npSOIMpwl9ZpGZRAV4SvosL5Ns+rhTt7ULRXo4U7NQutXav1rD9n970uUp6BZ4UOyCv9BC1VFMx1QdGjwKkx8wn1Td8V9+Ch4dU4lmCyc4MpnAcW5S0dmEn9AZCd6ySEMJDFV4cihvCgqUtP2AkFqxDSQEpPMhfg5Ifhfj7CpiglqCQgv18pC0LJh0CUH5eJlFNvkbuyVGbE+JAcf4m2jAs0brwgR3Mtgm9eATMYJr+llV+CcltOKfD6bNVfomdFpwXnNgFdmailvZskvk1cHYYiQNKmNiKXIbedPRfZXG+SgGT3iQVo3oACmGmB0eK6ebOTDq3dZk43l5eTjUc8/MMpVefbkxNf/U02T3zS2r5zK+o1W9+TUF8HILZmSEsOmrEMIESgAAwrFqxlFavXEYb16+hTRvW0tbNG8S2ZW6m3O2ZlJ+7jfJysmQP25GXbXUflsv3c7IzaPu2rZSdtYX3GZSVsUneI5P3uJ25dRNt3riO1qxezp+3lJYtWUiLF84XWzB/Dk2fNlnUHM45pgO4tbYjl5bN5fs3//XT9Povn6YXn7INJQBpX+o4OS7nMpbT9YIN9PmJEpkHheOn1og6K0oUXdL1Nka/1445lBLyezgv6A6BcnRjLlThWk0lLaWTmQvp2OZUOrJ+DlWsma7ySIvH0q4FI/iaGEK50wZQ9qQ+Wh7JXNiAsLCroYo0Exip224W9507tBFzEWsrwPJgpYQlWnwRwjNBMblpYPKoBiZPimKLYTDFBXlTDKulWF9Xivd1oQRfZwp1aQDTP+XGzlTNVZJiBzOU6qOWzGCqh0JKrAmlGkCqDUoPUUl1QenhYKoGpTrKw2stEdfzS2YwnQhlldQ5JoK6JcRQz5RE6sHWOT6GUPQQGx6iKSQFo0gNRmJBGpQCzVBCCxaACOWzAFEwAynE30fByddbwCThPIGSs8wBsZwbgjDeBnYkloUPcDTZE7GM+puUP+MtKprzDu1eMJKd0jhxTnBSR3j0DKcF54VQD5wZeq/BuSGEh6ouKXKwgBIap+oL1mFCqyp8UKE85D5kTg1D6vdXjtCd8hy6UbiZzjOYkGPqVz3H9ItfiPOGEweQWrNDb/vsM9TuuWeo/XO/oQ4vPEsdX3iOPNq0JM+2rSiMHVuEjyd1YTXaNTFOYLUoLZU2pK9hkGwWwABAhfnbqaggl3YW5YvtKt4hpt8vLswzDK/DvnBHjgArO2srA2kjbdmUTsuWLqTZM6fTwD495TM78wAknM+RV7vW8n3sX3xOvl/7F35D7Z5/htry927Dhv+lGYP2paeeqgEk15efowMLJtLx1XPoQtYKurZjAz2oLJZj+J/amk0wvdIOK+pCocL0ruo4Dyp8VyxQuoXQXckmGVBc2LFK2hWdzMISF/Oly8ahtTO0PNI4uQZwLeRPH0jbJ/dlVd3TGkg8uBkY62OE4wAnNzENRKKWGD4wQKl9awtrI495OHYkL+dOmBDLYHIiP1ZNgayagr3cKNTHxGDylDLwSLYoPw+KZjBBKWFyeDwPshID3CnJ342S/Vwo3KUhlPdPt2FUj3CUXuyg8koalGypJZthvIdAKfEnhlJ9Q3iPkVtqF1wHmCyKH8JCXKlbXBSrpDjq3SVJ1BK6HscxkNBCJUqAFGCYFZBYJYVrQNKhFBrgK5MMoZoAJLnt5yOAChbVxIqJ1YOXASXrCYwzeofLCNcKTON7yEg4d2p/2jHzbSqeO5R2p40S57R/5WQ6tG6GOC04r5NaGA892JCXQOcFtAaC04Pz++K9UvoWDVQvVWgrqO43WgFJpwWt+AGjfbUy7Gn69tx+ul2WTR8Ub2XFtJSOr5xNA0J86JVf/VIc9DNszTSV1Po3vxIgtWen3uH537Czf5bs2eE7sON3fOl5cnz5BXKCvfICOYu9SC5NzObLo3Q/GDtLX7ZIVp71tSg2/K3xHtpt/b3xWWZT3wHfxfHl5+X7KTg9KxAFmFrx/9KCQfssQxf/54tPP00tmjShlPav08G0SVS1ei6dzwSQ1tPdfTnS4BXHTJbEuHVCm6h7VBSRNHPV2i7pndUxVwytmVCAAjWLVXTRzBV9B8/kLpc2T+ihd3TjXFbEM+nAqilUvgx5pJF8DbwrgxSo6G0Teso6XarRqpZHivXVgNRWUz4WKklgpPbuUEy8d27XymxYTZkfN3VqL6ssezrZkzfDycfVgfwYTgEmZ1bADCZvdwr35QGGZsgnxfh7UEKQFyUGeVJSoIlSYAymFD9WWx2apv69/WjD9gNuell4jWKH+qqlxGrQeVwoJdiyHwhK9QrjPVlnbsl63lItobxqVXlvsErqlZLAlkhdkUuKDKMYG0BCaxVMsIXpQArXgBSmAUlMB5IBJW8xQCmIHac/Q8nb3UV6itmasKjAlCSdnOFoMjUwbTfANIiK5w2lPQtHiZOCszq0biZVsvOCE4MzO8tO7SKrJfSsQ54CeSWpvmMnKAv1aaN2WRPobLkYqvLQn06WmsAaQ1pXb4z+vzxdxmppI71ftJkusCOGQ94wdhA5PKOUQ5PGjURZtGGVBIXUkYFkz86904sKSE4MJGcGAMyFYeDKkIC5vfqSmPurL5P7azaMH3cTe0ler+Bihpn5fV7k12rvo1st7+PWRHsvvMcr6jsBlg78HfF9AVH8D62f/TX/Twq8zV95mVxdnGlYYgQdXjKVTq9PY4W0UhTSrZIMUT5qNdsqOW6yFAZDHm2Mvj6/V3J5snrvuXLj2Kt80i5RsZg0i3ArKu7O5a2g09kMpAwG0qZ5dHj9LDq4eirt5XNdsnC0nPsCHpzksnrOntBLChsyLCrtFJDamvNEHdoYMAKEXPm+qZPFHuqoXUtybqvMhcHk1rGNwMpdg5MnVBPDyYfh5MtwCnB3oiAPFwph1RTm7SZVdxE+bjwwcKdYqCSGUjIboNSZFVNnfxdK8OpIJrtfhf+9fWnD9gNtAiWtAk8vdrCPsoDSQ9XSPwaUvl8IzxJMT9baeqh96JN1K6ZqVXmOgS8JlLonxlIy2vCHBVN0CPp6mVup6KZDKUIDkhlKvmIAEma+h1YDkg6lYIZSgJeJfEyu5AkoOdacWR/r50brhyWowgdjYcButE0DU960AarwIXUYlSwaLc7qADutw+mzxIlVIb+UvUQ1Uy1ep9TSvizJK6EfHUJ4GKUDQpZdsL/EchQYyV8+KOEmaaDKjhXdtGGfHtvJTjidbhRspItZK6TTweHFU6mzvR09z2oCDrwtO3IdSI5QRxZAAgDcGARuTRRATAwJj9dgr5Dn67Am5GXDPMVeIQ8202uwlw3zeF3/21f4ta889O899L8XcL0k3wVwctYUnKMGJqg8KL6XG6nQnaurM22a8C4dXT6TzmxcRJe3r6Fr+XwsijfKSrRolyT99G5UynFDd/RvL1j01DulGtZ+pR1jDAZwzO8fUyoJZeAI22GpC+SRTmSm0bHN8+gIgLSGgbR8Ip/rMXLOC2YN4mugv4R1s8ZZAwmDGR1EMITioHzcGT647+HQXmDkwffdOrQmD4aOiwDJjpzb2JETG6AEUMHwGncGlAnhPAfAqQN5O3UkX5dO5O/mSIFQTQwnzE8K83KhCG9XimI4xfm7s1LyoCQGUrK/qyilRC97CnNo2jCH6Z9pgxM1ih3CFZQkhFdNLdUsemikrC61VP25OkvAfyIoPQxMkZZgelKOCax92JMamJ60nWMKrAmm2Bgf6hwbSQkRIaySAgVIUQaM/AyL0E0DkpgGJAUlBaRQCxiFMIgAo2AfT5kZH+jtQT6slAAlk1OnmjPreT+QR7sGmIylLrpLqCZncl/JJRTOZjDNHy7OCk4LzgtODM4MhQ9wbqjgQhgPk2nRXPT+sSJZE+lrrYu3OM1TqhEp+sBhFVWoJjjOb2UJiv2qT911tS7S/SMFdDl3DV3fsZEubWMHumGhOOr+gZ7U4ldPkz07cyd26q4MIE92/N4aLHybNiEPuc+AAIQ0w3N4zKfpq+TbTLfXbNir5MPmDeP3gvloj8nfNH+N/AxT963+tqn2dwIqM8jwHdybKDh5MqwATii7TqyW2jBgUeTgx456/ZhBVLVqDp3dvESAdDUvnS7nrZEVZ3/PxwaG4/S7ywek8SwUEY7zpyd3Stj0wYliOcails6WC5DQgRxhVagk5P/0ZS9OZi2kY1tS6ciG2VSxdhrtWzGRShePoV18rlHYkDd9gAxOsoxKOwWkDXy9RHg4GCCyNKgdF94DLG4alAAbz04KSk5tWihr3Zxc2gJMdvK4K5tb+1YWcGorf+vFcPJhOPkxnAIYTkEmJwphC/VwonBPJ4rydqZYXxeK92PzcaI4Tx5smdpRpHMLVriNwv/evrRh+4E2qcCzLHaIfMo6hGehlhxtQakutfRDQKkeJeEPg9JDc0vR1dWSZoBShAWUwizgFGIO57WpXi5u0fUhMTKEVVIgRQuQ/MQiq5kOJAUlX6PtClqwhFnCSECkIBSEwgcYK6QAT3cxHzdnhpIjmRw7VZtJb7a3GEwbLME0hsE0TgPTFAbTjIFUNGcI7VowXJwWnNfBNdPEmcGpwbkhv4T5LujsjfJwpZZ2isNUS3mXSlcBcZ78OPaAkyxBwcD66lyZ6vB9AU1UkQs5QB+WZ9HF7JUMpg3ioOGoEc6rSJtMA70cyMQOHjAKZDCE2jWl8JbNKIYdXkSr5ry3o+jWdhTbtiVF82ORrflxthB+TSg/H8x73A5s0ZTtdQq0M1tAC2X+mun31fNNq5l6HO8XZNeMgu3U++G9w/lzwlphryyMH8N3C+LnfV5X8HRmxWT366fpzQBPmacFVYhCj6u56xhI6+hS7mr65GihqEoYQIQGr7L0xZkSVke7pVv6/WMFYp8cL+TjrI4tBgE41h9V7tBU0maptpPlL7YtltygAaSVk6h0yRjajUo7Ptf5ANJkVkjjNSCN1oGUSAOjvaxzQ5oBRlLQYMCoLXkynAAYL4TvGEBOrZsZ5tymuWYMkLbK8Bq39gyoDq3InQFlsldA8+L3ETg5d6QAF3sKdIV1pGC2MHd7ijB1okhTR4p0a0cRLq0opFNTcmvTJPXv7Usbth9os9OgpPJKyKkwlCxCeLWrpX9gKD2OWoqurpZqgskKThaqyeY8Jg1MnfxfYCChyaSarR4e4G3VUiVC6/mlQGSGkAKRlwGiYB1EDKFAL3cNRG4yM97P5GqYpzM7cCd7Yx6JLasNTNkTLcA0dwg7reHivARMaxWYjjOYJL+Ut0Kq8VBuDLWEVVAfSMfuPZrtltE8nCic5ydVRQIuOFZLwxIU31zYK6C6pYEJigF2PmMZnUqfT5XLZtL4+FCKb/UyRbHDT2EH1t2+HfXikXV3dmK92YH15v/5TR5hw/pp1tvZnvrwvo+rA/Vle4Nf153/prNDO0pm5xnH7xPFIAtnRxnM7wsLEWtOkTyyj+XRfDyP5FP4M/A38vdOHag3v2cvfu9ezp2oJ+97a9bDsSP15Nf04M94gx1rCjvsRH4PAApgGuhlL8UMx1kdQQ0iXHktfz1dyV1LF3NX0ccM96/PIRRXboDoi/cQpsMaTMVyHD+qzKd7R/JkjzCdLOfBagnHWQcSqiOxOCBCrQi5Ht+6gCoFSNMFSGVLxtLutBFyjvNnDGCV3IcHJT1YNavF+tBkFRWbA6M9JR/kxMdCmTlH5Nq+lXUojs2Djymg4sl7QMeJj6VTq6bkDCjB+LbVfTYXBpWrDihWUO4MKFNHhADbMNzakrdYG/KB2bcin44tyb8Tm30LCrBvTv4dXiOf1i+QU5MnU//evrRh+4E2TPg0KvAs8ko2Q3gCJgZRfCMrKNkM4dUHSD8glH4QMNXIL5nB1NECTDXDeU9aFUBYgcn3CXLzbSYTBEMxgx2G27oxeMR8ASBPCvHxlJnuwQygIG+TNYQ8LCHkQn7uLjIREXM+oJKw92KlBDDVmE1vzKpXM+ttgSlLwNSLcqf2ox0zAaZ3xHmVshODM4NTA5hQ+KDnl66y85Oih4rt2hLnxcZCdrKGEI/oPz66Q1sTCU60SMJOsE+qClUIip0unC8gdbMsgy7lrBIoQTUhnHdm02I6sWYeHVkynaYnhFEXdlq9HNvTIHcnGmJypmFebjTc251G+5pojJ8HjfP3pLFso/n2GH8vGsn70Xx/mI+Jhvq40zB+Hexdvj3E240GebnSQA9nGsD2tqcLDebHhuI1/Hew4X64bf6bkX6exnuO0m6P9PWgofg7/i6D+X0GujlSHwZUZ1YQAzydKX1IbwlJnlo3n85tUeE6/H8CJP5/b+/fZnUcDBDx8boPGB1VMLp7OIfuHMpRS8rzccVzgNPHAqRsqbbTgSR5pAwG0sY5cu5QVVm2dJwGpHdk8IFBiCWQNo9IVkCK8pScEMJvjgwXBzbsHVurkJxzWxWK08NxrhKO04DCBtgAQI4tXxcYObcGkF4np5bW5txKfx6AasaAUpBya6fMnWHljn3bZuTW+nVya/UqubZ8mdzsXiS3Fs+RW7Nfk3OTJxsWAvxn2owKPC2vZIaSjRCeJZSqgakmhH4iKNUGJhshvEdVTA9TTR2qganWlkQMJi+v9jJRMAjGkDGbyTDAR0xTQQpCrtLRABAyA8iJfNBp2dWRvF10czD2JseO5tJdbTa9LZvRK+whYHrLABNG1/tWKDDBycHZvbd9iSTRUXL8wV4NTNqCfOJM4SzZcSK8h5G9wEkLPWEPR/sx7JhyrgAUXvNB6VY6n7WMruStoxsFmwRQFzKXi7pASO/w4mmU1jWWhpk60mgGzZRgX5oW4kezwgJoTnggpUYG0YKoYEplWxAdSmkxYbQoLoIW8H5+TCjNiw6hudHBNJtfNy08gKaE+dPYIG+x8cE+NDHUjx8PpFlRQTSb3wOvhy2IDeW/D6OFceG0MDZc3m9uZDDNigiimfz6qfwdprIqBhTfYRCNCvKijOH9RemdXJsqxQyoMryat56uF2ykS9tX0fntK+gmHzsA+9OTxVq+SIFIjl2lDqLtdLsiW44x7C7ApCkm7G/zYzgHCkiWlXZz6dA6DUhLzEDCubUEUoYlkBCy03JBTi2bUqdmL1HHJs9Qx1efo04tXmVANRVA4Xnn1tZhOQUUO4EMgOTY8jVyYSA5C5BeI0e7V8mxRRMrc7Jja/kqOfPzzgaolLnInh/Ha5q/RE5NnyPH158hx1efJodXniKHl35BHZ6te02zhu37bf8fAAD//+ydh3tU1dbGh/SEkIQkRESQkkmhB8SGKAEFAlISOgQQLCCCggoElRJQpARC7xAIHQugYkMxoCJg93r9vu+/2d961y5nnzMzyUwAyb2e/TzvM73kDOzfeddea+27MjjZ4TEr2WFoghPCC0l4SIjOLd1S6C5GKEWxhUWjYArbtDUymAq8YDLrTOHBhOMbHJDG9RiPoMUKVCIr2r2C+0FB4cMKQCgwlBBy4PNAz2IuQOzfo4jrPbRwn7y/kNN1e1nV9C5ZsFpOYNLJD/sbA9NaCSZMbp/RJPfVnpU86WHyu35is/iVwPTnxwfltubYLfbSCTWpHqdJtZ4nTtYlJb5dzxMuhOt4rnQE9eKPc3vF9bpN4mbdFp7AIbgLrMEgdRohMDin00vmic3lwwhEg8SG4YNFzcihovbpp8T2McPFzrEjxO7yUWIXae/4p8XuilGsXeUjxU7SjnEjRe2YEWILPbdm9FNGm8cME1vHDhfbx5WJHeVlYlfFSBZei9ftrniaLkeJ7WPL6PXDxSb6vI30uWsJXNVDHhH7Zk8kcNIx2vQWOzzA9PqBTeLno9vl30IO6eaRzeLHE1t57QfHh9eJLktgS9DUGxD9dfGw+PfFQ6y/Pj3MUPofBSZc/+uTQ+xWNZCuHl4nLu9fQycPKxSQ7JCdA6Q6VYskgWSF7BhIMvQGaBS1SxWF2fGioDX9Ow4ESoN5GdWFHXKri+7LE8UMHikOzVmuqHtHCSHApoeCUXGHHFF8b7altqzuUIdsj3B/FilTdCcYFeeliaLcJFHYlv4PZrUSBW0CDcEU2UHFH/9lwyQ7PC6hhHWl8CG8hNsLpSjBFBWUwvXBizLp4Zbh1AiYuqhQHoPpwTTxYK8iUrEUgSZEtvNR8NGggVARzyoOskrUZb/uQVP3gdt9FZTsivpe+V0sUDmwWj7piUYcU6UC03MKTC/zJIcF80tqjYnBdFI7pv08iSLEhMmWgfSFgs/nlqyzf0y0xgWox/AeqIe6ebyWJ3AUk/5xaq8M6dXVih/2bRDfEZwaalezE/l83TJxaPYksbNiuNhH0KibXC6OThsvTs2YLM7MmiLenz1NnH1mKuvMLKnT9Njx6RNE/VT6WyePE4dJR6aUi/ppFeJk5QRxetYkceaZyfSaKeLMbHotvcdpvI7e48TMyfz+ByaNJfgNE7smjRanFz8vviQYfV2zgmBULWFEEJWp3rs47R3u7/rhTeL6sRrutIC/HW6IgcyuqJ6BwyD65CCB/oD4lxKuazDheP0bMCJ39BuB7aezOwhIm1SW3Wrx5a63eB3QBtIZ+g0Rlq1fOt0C0hjuZ7frxZEcsuuhgQTQ3AeAZIlCAkFBJv37TQ6I/FYBV/o1A6p9djWgVATgADy2cB+DqK0oak/vdU+mueTr92SQ2lhKF0V5UGuCIUGoXYoozCEQZScwiIIZ9B0Ijt3SfHf0Xz06PhhocNaVkA4db4XwVJPW4QkSSiMiQKlJMDUHSlGmhjcGpdsBJg+cCl1giicwKYUkQISCqbgkm+GhAWLLdj39w8AHKbgQgGOrhIsRZc3HA/zegFJXzpByMqY6h6T0yjRfqSoCk3RMowhMoy0wTbLWmDzJD0gXp8nva05+WMeOCWfrqI+Ba9JwAnw0gFz6VLkAmlxZmHDpNosmXkzEv36wiyfw7w+8y+svcBoI6f3KWXrb2IEgLIa1msubV0pAvbNMnJn/jDj+7FRxeNo48cnCueLrpYvE5apXRUPVa+IyXf/q1QXiy5fniYsvzhEfvzBLnHu2UpybM12cf65SXHhhprg4f474/OW54stXX6LXviK+gpa8Ii7Se12YN0ccrxwvTi94Rpxb+iK7oksb3uT07qvb1/IaGL4Xvh8giu+MhIabR7aI7w6+y38P/i5AB8fl/xS0/1fBCPD548I+1u/n94o/ILoO4DOYFKywfoT3Qd0YCptRh/TV3lXii51v8m/Dad+cZfeiA6Rl0/g3PbTIBtKoiEACGNiZpNHckEAKSLcUaS4J5qaXhiqltEuWu8AV9wVz06oL2rUWhfiMXHJjuckSQDmJCkJxEoZtSK0ZRr4z+qcMk+xgryuZEB6gJHVrUEqIorVQeCjFEr6LBUzNWndyOad4qSHxDpwGx7tcE44pw8kCU2GftgwRqfwwkqBxwKP6ibG6SAWV6Lpd64G0XJ2ai4JFzpZCIWOYtF4GlQWrqkmPM5h2GzCNdcC0dJo4obLy3ls7T5x7d6H4aNOrNPktpUnwDZ4MrxCYED7CWfuvH+7mSRQTKACjYaPDUCyGURg3QPfhsT/pEpPyz+/tYOB9d3CduHZgA6dPw3X8fmoP1zb9Ur+DEyLgnhhQO9YSIFYxoACMz95eKi4uXSAuvEoQWjxP/PD2KnFjXbW4+fZKcX3VcvHD8tfE9wSq7wg61whc1954TVxfWSVurF0hrtNzzhKgPl00V5x/5Xnx8fIF4jOCng7PYY2LQUSfi8/H98D3wfcCPNnZHanlbdyvHHhbHZ/t0lF+qqANGH3qwOi3c3v4+Gnh9u8KTDasfnmfQHcKdUgbOJSqw3UXa5fyb6OBdDoskMZaDqmfXD8yQMqVQCLHwmG7dIJCEkEhjuaHAKv6ds4/XbISSoPZSdXBrISGwpxkghH9P8poxQKIumXEVXfxYfTPGrqzg3ddye2WmoBSk+G7CFCKBkwxhO9iycZrVE05qCfjpTxgKlCuyQWmxz1ZeaQexe0dwHilgRPsLHoHO5tKeJmGS+pmSWU99S1w13kgRRePo6KeK+tZnSxIhQcVFrl3ziuTmwQaMFVY6eIzxamVzzKYPiQwXdi0WFzcsoQnQyyq42z92rFNdPa+lc/ieTKlCVgDxwYQix7D4/aEqx0BoITrmJR/em+7BNOR9dJtHNokux8QmNDYld3T8V28VxPCe3Aq18ixIIR2hVwUXAwggnWoL9ZVsZv6cs0y8fmq1+hyqbi8mrRqqfia9Olbi8RnKxaLz1e/zkDD8y9teEN8DQgR7PB+eN9ryhHh8/C5+PzfNCxVqO6HgxvFtwfWcYgTxwWAxd8IKGu3CAhrGP3ywU7x8/s7+Hk/E3QAHhzH3xScGFR0G8fjxilyXkfXi2/2V6tw3TLxyZbXxYWNi/i3ef/teeI0/VY4mfACieuQCEgzNZDuV0Dq2E6u9dzTRobtMmg+SJFAyg/cGSj5wx9hB87gO5t6JXtd6fZBKbpGrLfglsKAKaJzagakDKieimcZMLnglGDAxK5JtScKAROdBHQvzHMDRkmn2rqE/mFIwzW6jy9NfUe+U9/Rv6grX6JqvgdSc1VlfU+VyutWJ0vy9syn+osdcEyqiSvAdJDBNJHANJWLLU+tnCPeWzNXfLDuJXF+A1LGX+NJEWfryMz7/thGmjRreXLlSTXM2T5qnHAfix7/Tel3E646wGHAPzSYyGFgYr9aR27oIEHh8AYOiTGcCErooQcZB3VsJycX/Fi3lbPefti3kUNrAAqSJeBwkBWHZASsTQE439Al1oNwPx7H8ySA1vP6EPaBYggd3S6z6JQjYjAqGKEYFvVW3x8CMNaIq4ff4fUewIbdI4DEoctDDObfFYzw9/14ZpvU2W18G8cPYMLjuMTtm6e3ygy7I++KywykN9kdfVzzKv8W+E1w0sBA4jWkafzbMZBedhzSzKH9nIQGZMYhG64DAal9pitsxy4p3oFS0IeSP/6OgWQHHcIz60pDm4BSM5Md7jiYGgFUo5BqEljxUsMISsPiQ+FEx6sAYjAluMJ5Gkw4vhpMXfsnuyrd3epgZEIrVtGhLjzUxYdIwy3J7yT6Fdwv+hOc+hd2JlB14pRd+Vr1Prr1SxPChLVjbhlPXpjEtGNCCjGD6Y0Z4tSK2eJs9fPig3dkAgQmRaxlMJgOruGz+B9O1LBr+gmTK02sdkiKz/51mIrA9QvpVyXcr12Tlg7l3Ti5RU7I+wgoNOlfq9vIbYqQDIGwnoTTPiUHFliHwtoOwmtwNj8f3cbrPlJbperUJd0H8OB5eD4AxE7IQGgPJ178ccqBIN77x6O1DMvLe1fzccD3BJzxNwFAf6nQ5Z/KHbHrIfjcPF3Lz4P7QUgO4AGc8JgW7rt+kmBXv0FcOSwTGhA6vVi7RHxEjvUcu6P59Ju8wCcNXBhLv5UEUjn/hnBICNHOGFpi6og4TVslIzCQ8lrz2g5ckoGSckr5rUJ3WPaHP+7IwD5ASF+2++AV6BDesCjdkgLTnUl4iCGM14y1p6bBFS8VAUyAN46VC0wWnDSYuoWAKcmk1EYrU3TYub3oRcDp3eVe0adrBy4yLMnvKPoFJZwAJRQk9uBK+ntdbV9CdP+91nMkwCqHlIjtFpjQfuYgTW6HX50gji6ZIo4trxQn33pGnFn9HE2GSIBYKD6qWSwubl3CZ+/fHCC3UfcOuyZMpphUXWf/lkzIioTQFD8H4T+ClwOnAwwmQOwmgQ6uCZNzw8G1DAE4ExSi/sJhPRlG02tPRif3qLRsmZr9q9Zxj9T9v2mptHSZaLFbwWk3b8L3y/Ht4kZdjbiyd634atdKDqfhe10jd4S/F99ZZ84xjJTz064Hxwbwvs7azNDVYGLRdTwH7wfQ4+/9au9K8fn2KvHJltfEhY2vEJAW8G+A3wInC8fptzm6dAoBaQL/Zrp10E76LZ8sCTowus+BEUJ2RTrtWqZcc+gumOgK31Xf7bnKH/+QoYtoXanhIVl4UUApiiy8Zq8txZqNd4uOylG8SwZMBk7yGNlgKowBTF36JYqie3M4pbaoQ66Suq3uL1bptrLYUBUaquLC3gSn3l3Q/+te0VfBiQFF6mWKGJ1aElshwPM8PrRvUFRNHMTrTFzLtHC0OPjKOALTeHFkySRxrEpn5mGdaa74kCbHC5sW0dn763wWj7P5hkNvS9dEk6qEU22IC/jp7DYndHVmq3RXCmCAECZ2l2vCpE4gw4R97Rgajq7lyfob9Ofbv1amXR+u4TonFN/CRf1m4LNTOia0M6qXbkhqm5Jzn255xM9n7eC1opuHN/N60Q91m8TVA++wY/vmwBr+DoAwvj+gCqAiBKnXx3SCAh4HgHBM8P0BHFxnONExQoq9lHwO3BHClgjXXdqN9SMdrntZfLhuPh97AOnkimf4NzmyZDKfPOC3ApCQvLJ80iAxpHdX+jekYZTtwAjp1zr7LVtmvWmXFEyQDskHkj/+1tG+RCY7OKnhcdGF8G4nlKIG0x0ElEvxodJgMnBSx8YLpjBwMmnjvHGgApMusu0TJ4KZ9Jy29NzsJBHMTRVIly3IayMKUcuByQOFhB2yRQ+aUCBUuffs1I7AlCd6M5yk+nQGoCSkUE3PZ8RcyKjUSaljXuP3d3IuZw7p60qAOIhw3uIKceT1iaK+ahqBaaY4vXK2OLvmefEBTZKYLHEWj7N5WWi7hkNZmFw1nG6wG7AcAa6rEBbcAoeyFMAwkev1Jg0mTg4gYDGc6HnaScClfEsT+HdH6bPqa8SPxwlyx2p5neeGAhUy4iC+Trrpkb5PPwevxfrVT8e38ftdP4Yw2kZeLwKI8LfBueF74Lua76mTOVSoDn8Lu55jEjRaBkwEJdbxGr6Nx/DeVwjsX+9bZYXrFhl3hGOOk4KTb80i9zqdHNJkPmkAkPBb7Z4/UlRNeEyG6DqogtX2WQSjDFkPlJui0rDj2SEVAkjplkuKJyDF+UDyx10YHb3rSqXx7hCenRrebChFAaaYARV3BwAVBkgeMGlAu8Ck4cRgov/oQx1JOMWr3nkOmHQCRJfeAQ6ZYFLA2SqftdLZKyrqi2nywBktqtt7EJx6dCDdly16MpwkoHp10pKg0sJZsbe1i1s5RqbY0ZZ6XuXgPmIHwEST3L4FT9OkN1YcXlwuwbR0ijj+RqU4tUKH8+ZxOA9n859tWya+pLP7y/tXEzDeNnDCpMshKwUgBpF2B3pyVs4BsIJz+kVn9KmQHmp1/tAORK3P4L0wqUvJif7HU7WyuPc8ve78fm5l9O/z5GBIuPzr/CHxPx8dFn+5dEj8eYGec+EAvwbFrvz9Tmx2AQTfH07vF5XQ8YeGpvpecHr6ewE+gCWOAWcSEkQlmDZKMClpGAF6ADrA/vmO5Sq77hVyRy8Zd3SKTgZOvDmDHNI0dq8A0qFF4/g3wm81Y3Bv1TkhywrTtZadGtgZxXNSQ2FWQK4jIWyXSnNAEtcmNXRJ8NOx/XGXBq8rDdTrSq0aD+E1u7NDjGBqLpyaJaxbRVrPciThpI6BDSaXa0pkMZi0GE4JKn08jjcQxOaKJjNPwSk/T8GJJgnu75WbJIrbJROYUmXfr3vSue1KDwZUpgRUh7YEqGxLOSw4Ks6oQqimgyXT4iVL1qRA7aUKdcV9+0y+zvfzc7NFaa/ODCa5zjRKHHh5DE+Ada+N5zN0TIw4Yz+9ao4K573EZ/VOPRO5poMyI01PyDJ0VeMCkXYKcBSYpNldnZChP0zwv7rgdIClM/rgnky2mspYM8A4L5+vC3tlT76TquP2abM1BNokyZ5ydXId6LxO2Zbp2HrdCy5Nhxft7MIQGLGLk6CBi5NOzoaSI4YRPc5rZftWc7gOYP94M8J1C8UH78AdvcDHGMcaJwP1y6byycHhVyv4ZGHvAqwflYlpT/RUIMpwwyjXA6NMBSMUySIFPNGHkT9awIi4rqQKaaNySzFAKSYw3XY4xRoqtOVkH9pgYqntPtCeSYPJyAWoeNOmCN3Z4ZpwMtBFhfQYTOnSNRW1bSWKsgGnRAWoFAtQrRlQ3dtnyB5hRlkucVaVlmrvUohalDwlul3QLr0h2DZRBDPpO+ES4UOkBqPqPk+2gSlWYcTKwb1kOG/+KF5nOrRoLE+I7JqWqey8lSo7b918PrvHOhPO9r/as4LXRrDWdFVNzq4QFmCkgPS9cg3GTRg4yYw+G04u93RBhsx+110RdIq5KsxFsSo6KehGsXp/IqcRquzZ99endWo9SELPm7r+u77k63sdcFkwskFzVQGJnZKCkpZ+Dtwk3NHXe1dxwgiAjgSSc+sXsAM9U63d0UwTrkNCw6HF5XySsIdOFpZPGChKe3aSITpu3aNa9gBGOQnSiSOZQcOoNcOowS9S9UeLGlhX4nolz7pSQSOFtLF3C48iE++W1pliVMwwDA1XOmByGtdqMBkZOCU5Dooz9XQPPQkmdk0qpNc1P4AOyDxpYPLAGS0mkyKaVJAhVZybLAHF4b00GeLjMF86y+4pVojq/DzZ0gUdnwGaYG5qQzA7pRotX+x/B+grhh5jQbR4aUu/P9KDse6AxXCcaQNONNlNf7yHyc6T4bwxPDFigkTmFybMk1Y4T68zfba9is/+kQQB18RrQGqSZvi4wlgOlOA0NJy8zgnO6DflWCSgnBCaztxDwgF3i1B1QnavPdk0tt7V8ke3QbKhpF2Qll3QCueEBAaE+ADU7zwwuqph5AGSdk8mk3D/aga3vX4ExynDdc/yMTXuaMkkUafCdTg5kOG6ntIVeZ2RWjdyte9JDzTkp/ow8kcLHtwHT21lkW+H8KJNeIgJSm4wNQtOzQFXE5/j/U7ye4VPd3dck9z8kHfo1XAa7oVTkpEDpwSucQKcsPOvdk0GToMC1QyJ9EB1QSYmE4jOcFHYCGCgR1h2IoND9g1L5nWoghy3gjnJDSy0dMmKbuvoLumBUoJTdRCTWLZMwCh0wSmdJz9Mgpyd95J2TeOka6IJs75qqkyCUOE8nO1/TGf9KLSFC+Bw3gHHNbngpADlBtP6iHBCEoEp1g0TUnPgpB3TQavnnrv9EQBmJymEg5AuZsXnImkDYUd7zehbD4y87kjfh7R5JDLgOMAdAdgy3VuuH8FpcjLDyjnixFvaHU2R4brFMlyHk4JdBKQhPe5TrihVJjAoGPG/FTQ0pX87BKOG/HQfRP74DxkdVB88u+WQhpKd8NDdu7bUbCjdApxiDf9FAZ/waqJ90shER9buvBpMUkms4uFJLjhpB1XIRbg41q3YNeVr56QBNdDJfiJAlXYjSHXLkApqZcVVo08YFMwioJAAltvx7wKfU5CT0hDUIFRJGNxIkyA1/fHu5JpG8MRoJ0HANZkkCJWdh0V6nP2jnonXmXQ4j1zCVa9r0mDywMkV0rPWnLjGx1MPxQW5umAX4bZze0OAJcHjho8LQBaEZOcFp35IpmxvdIHGlr129J0Ca3h3tJJB7awfvSzXjxCuI3d04o0ZDPmjcEevSXekw3VV4x8Rg4vucTc0bStdUVC6Ih9E/vjPHJwa/qgnhFcq2+dEW7MUcQIPuyNtZDA1a92pWdCJIHtr97BKpOc5Cgen7iOS3BqeFAFQiTKdnOAkd72lYz9EwWlwwEmIGHT3U3M1AGX6unRpBCx2UZUEJyyw7+EkCO2aVE0TwnlvzVJdIF5kFwA3gHUmGc5bZcJ5Ia7pmCc7zSN7Peq6ytiTKeXuzgi6QPdnT/GuU8TrFPLq1+D1uogV7ylBVGPCi3BGxgGpjLrvPOC0nZ5ZOzqk1o72SXf0BR2HTwnUrvWj1TLVG8Ww9dodkQvFGt6+haM5dFo5qFB2YGAQEYQIRPmZBKHM+IbgbTop8Yc/7urgdSUTwouLOYTXKJRsxQCmxiB1a+CJpCiApDUqVD1GJkmVSXUvSwoFlAdSDCrAibP30PS1FcMpqOAESHWT4b3qu/1vRA84sW4WpIIEqWmPFaokiDCp48umcvoyJlu5zrSQ++Z9tl1ug6HDeVfChPMcKKlEiDD6QWfyHa9xFaKauidPbRQ7njNbrVqp0Hopk6JuEjA2ehIwLPi44OlkD7qABHekwnX4e9kdba/iRJALZv1IZtdxMkPVNHJH7mQGZD5WVTwsnijI5RMDQIh/Bx9C/vhvHPc9EGgwXcMfbxUxhBcRTNEAqUlA3Qan0yR4ooNRr9FeJTqy4WQglSSlwWTBySULTj1CQJXIxxcNYAufCpB7CkhADbXcUwuCkz10aHH6wGCIa9Kp4zjzRziP15neVetMVtq4nZ0XAiYbPnY904nNsktCmPtYJze7uiXc8Eh3UGDZ76XqnWzIeAEZktJuQcwO7TnhumoO12HvI4TrPiEwy3DdfHaSp+xkBssd6WSGBWUl7IL8cJw//hGjse4OUYXwmgOl2wmomCDUuCsKBZIHSh5A9XqaYPR0kgMmL6DCwYmV7JFyWMjk4+4R6FDeihQwkNJwagkhvUij5tnh1Wjs6nZNMnVc1zS508aXqLTxlbzOEm6dye5+oGFzw3JDLlnACXlOY1CywBQWdCfDf655Dw0lqxBWAwlZh5c4u06G6z7mcN1CV7jOm+p9ULkjcqANNbOfKr3bv6s//PG3j06PqIahgySU3NukxxjCiwVIjULqDsHIAx3vbdYYKNEtF5SSHGkwRYBTqJLdGpXiiO/TjitRFe6iQSwBargDp4InWzV0KGm5cNo6t6xaZ+g5BbcydRzhPLTJQcscuz0Rd4FA77wwaeNwKHAnEhBbPN21tbZ55DzmDteFCd+F1VZX2M/9XrVh1pycgtkrqjMD1o++VNl1JlyH7gwohkV2HR2L8O5olNj6/PDqu/07+sMfd20gNdzZ+C80NTwkC2/EHYRSo2q+CwoHpLBSQOqt5IVT7zFJrF5jkkLgZCsspEYle5RCz9VK9YjuGw0l83vBkQJQgBPCet1KW25ID2PNjKHVO+hM3+WaVOr4cXIGHM6jydnVnsikja+RLYpMsa3llkxSQ62BkSupQSU2hJX9nBjlTYTgrScIkDI13KlTumKtHyE86Q7XOdl1xyMUwuKYrffdkT/+6aPZIby/HUpRarRbTYLIwMgNpPBKCpELTmEgJZ1UMl33SgKp9+hUpTR6vzTRBxor1XdcOqk1X+8NSDHs6LcZJuGES/rtqu/2v6FIYwud8Zu6Jqw16dRxcggn35rJxbYmbbzWnTZ+xe4CYYXx7O0eDJTe1xvk7XL2cdKyOjNElL3fk5JJDXelh29T+yFt4bAdtxQCkFSGHXf2pu+PsKTZ+2j9Al5Pg0PUyQzuzLqnxR5yR1t8d+QPfzjDFcJ7IsYQXkuBUrQAckHILQOfsZbMfUmOwsApIqQ0hEZrSRfUW2tMKoEo1cCo77g0BlFJebooqUgX/SrasErK21iASnac05NyvanjQy0XTgjpOd0gpGtClhkcA0JZ79OkLcN5r1tdIFZxOE8nQJiu46ZGqda17YV3O/GQ+iRrO4x/WY1Uvd0b7LolgAlQ4h54Z7VLUo1aj8lO5bp3nQ7XfWbtfeRKZrD2PTpsuaNtL4xoqJ5RWnq3fyN/+KNFjY4DAg1IDzchPK9bClNIGzaEd5eAdKswiggkl5LCKyKgkqVGK/HtFJcYRmNTLWeURvBprWBEGt9G9J+YIfpPgDJF//EZdF8GA4rhRO9ZXBYQBU+pNPLSlgsmJEI4a02jeYdUxzXJJAjsF/SRJzuPw3mHrI7jxyzHZO3XxG7JKp61O4xzI9ePVYcHS7KTg7ubg3ZOrk4OFpDw2d8f22i2zuDO3ipcZ3rXvavdkUz1RiGs3USVuzK8WCa2z/XdkT/8EXYghNdlYCunZokTHuIjuyXPNul3DUrRhOgiQshW00Dq04RckBqbLDXGlgYRaWyKgpGUdEekcoJSRWsCTzpBqA3rgUkZpEwxgITLByZmGkCVVLTh1+FYFI+QyRAI69ldIVra2DFvRAN3Hg9xTZW8TxPXNK1f6CRB7JK983R2HvrJfc+dHWrMXk0ux6S2YrfBZPfF+5cLSPtD2wvp/nbKIemQnb0J37e6s/d+1dlbuSO9doRGqidda0d2zzqsHY0Q+14qE3tfKqu+27+HP/zRYoc74SEuph1pJZRUQWlLcUaxwCgCkPqwPAAaF0YhkEoOoxRLBKNxgFGqAyMGUpoDpIkEJNKAyQSkKZniQVYWa8DkLBeg+hk4xTuZekNaJpz2LShrwIS8+0WZPq576NmuCWtNCH3ZHccv7V4hU8cPrTVrTdx2yNqHiV0Ttpqw1pecUN4+q9WQO2wXqc8drx+ddNyRzK5TyQxI9VZrRzqzDttMIIkDndPrl00Rda+rNO9XZKhu6/PDGEZaPpT84Y9GBraz0J3DUUgbkvDQSAjPDSWvLJhYuqNrR9EAKaIrsoAUDkCNKllKg0jfHpdiScGoPFU5I0f9xpNLmpAugTSJNDlDwmgqlCUemqY01YHTgElZDpzGt+HP6DEqrkXCKSU3UGpPytvmDuc+epiwMXGjrumolaGHSR7brtuJEJf2rHDqmqwMPXsLdk6COLvNrDWFJEBoCHlAZPe6YxiRG7NrjxoN1a1UoTrV0Vs3UJU1RyNY9t8OzS8vaUjKbhm/jT/80SJH50dbccID9lhqMuHBBaXEiFBy1/jEsP7TXDXqjGIBUpRQKk8iuEDJLAdEUn0JEkblKQpGqcYZSRhpILUmIKUzkAZMJk3JYCBpGD08HWorHq7Mpstsuq8tAaqtA6jJGlBtGIqAkw7rocbpbhXfJqQHSlu3DzRkdooLmZghOWmXcY83TOTYogFOA41Jues40sdVNwhddAvnZPfQk7VNG0ymXrj0cYBKp3cjcUHXNZkEBlV39L3uAG761jltgtD1/CNdBOtdN+LdYCWM4ADltvKhMNJaNvVhkdU5XrTp2KohKcuHkz/8ETKwTTonPAz0JDw86alZigVKIWC6A4BqMkxnheuaglEkIJVblwZEbiCFKsUjglGFloZRGsNIA8lAaYp0SQ9NI01XQKpsKx6ZkS0ehWZm8/VHFKAenkaQmppNEFOQIgfFcCIw9hwdz3DqXqYSIp4IVP9d7iklL1CdeX+8yOoSL7K7JkScoCGstex8caTZTFCG9FTRraptQpgM4TLO1CNAfKHqm1B8q5MiTMsie/txb788u7+d7uqtd4L1NFA1Kd6uJAYrxVvBSBfAIomhMRhpVRGUsrsl0HGh49M5TqR39MHkD3+4BkJ4HR8KOG5JdQ53FdIOc0J40UAp1C3dZkBFs27UhDOKBkh9I6kCSnbkBVJFigUiJQMjqf4TW7MemOS4pAeNS8pUQMoiCLVlGA2clSMGPpMjL0mPzsyhx0iVOQZSDKgpBCh2TxkMxF6j4xlMqG+Ce+pWeucAlZIVKIUD0DDK6ZYoBgzIa3Ki1s4pZL1Jb4uxYrbpPg638hG7JwWoncs5LRuQQnIE6oYAF4T6sBYFYNni+0lwQggJAkJYK4Ij+pw7eS+1tpaYb9aMeGuJZaEZdU05oxAoTXtE5OQn8rHBMWpLxyrz/jgBkN/u38Mf/viPHWETHhoL4Y2U+wzdGpSaCadG145iAJGBkQdKjcFIAamEQBReKZYAIql+4YA0SQMpXYXtCEpTMxoBUq54bDbUTomu030DZ+UaSD1KkHI5KAIUkiPg0JAl2PPpOE4nL7LCe10HBxoQ4iOV3sq/IUyqCEthkoUTwKSbm58kHnzwnqgnbHZOc0dwo1dM+KbJ65LJamsMuaEgQAFAoeM24IEQH1wU9nACqJAZB8BgHUjqTYYOX6f78Rg6lwNAcEOAENawADyASLuicH3qnE4MI8gdRQ8jW7nBJD42gJNxTXTc0tr7YPKHP3hwwsNDYRIeGl1Xak74rjnS4AnXAiiMbgVI4aBU4VZJOCiNt4A0PsWCUaoBkQOkNAdIk0OB9ND0TAWkLA+Q2olBc9qJx5/NMxoEzSFZoAKk2EVVAlA5FqCyuP6JATUGXSLiRPeRrRhQ2kWpuid2UuymCFS2vP9ucoPyfgOkrgpINNli4m1XkCSmlBU3a+LePnc4h8T2qq3Y9fYYvBV71XQOo6FAlSFFLgogQWo56p4AK3RVwNYZgBZro7ok8AA+eA4AhNcAcmiWypvtvTnDAdHrsuiVuzDQ99g9X2YQNufvsYXj0g5gCia5XJMPJn/4wxrkltC+xtXhIVLbIQ0lA6bbAaUw0GlMEdsCNQWjECBFcEkVEYA0PjmMUoz6sQAjC0gTFYwMkForIKUrILUhIGUQRACkTAOkRwlIjxkgSRA98dw94onnLdHtxy0BVHg+QDZwJgFqRq4FKCk4KAAKqejIBkSCBLIce4yUTophNTxgWhvxhoRDnI0Jjeh2u+4BXrjX4To4AA2kdgXJzYaSG1AjrE7kY5zNBRlSk3mNBzVPSMvGluJwOAAMwm6nlU5p0f14HM/TAEJYDu+D99P1RfgcvZUEf34zXVE45dFxkccnSbkmBaZuMpzng8kf/giwW6o2CQ/RuKXbAaUYQdQolGJeQwoFUiQolRgghYMSQWiCrVRHNowYSGkKSK0JRo0DaeCsbF5DgvsBaAAcCaT2YvAL0L3qMlSAFQNqjgTUY8+0Uw6KAKUhpQD10FSC1ORs+l5Zqjg3neufUFeFwt9e3J0ihTtK9CvPEH3HpnN7JPTtu7dPorDXj9xAShJ5hbcHSiGA4nqnUQwN2ZV8LIfWsNYDqEhNYMh4hfuR6YfnIoUbAMLr0XEC0Nur1ok2z3lSbHth2G397loPPHgPH5uwYIJjIsin+WtM/vgbxv8DAAD//+ydiXdVVZbGSRTCPCdkTghkDkNCRhCIzBACUWRISEIYBARERBBE5kERnMrWsu3SLkut0rKsLrVdPVTXaqu7q2tV9VDdtVb/P6fP3mfa59xz7nsvJAb1nrX2Cry8JPCS3N/9vv2dfe7rhYGHFnseXiTwoPYsoYU3PmjhBaF0DxAKQikNGI0ckGwoNe7IiQLpMVU2jBBIu6bImopQAiC19HIo9U0nQJplAwksO6mOVh8SMOo87NQRp+TjClCopg5Imw8BlYuAEipKVFufKIAU1m5QVACsOax5pyj4c8su/rw9uaxuw8wYhTQB1QBceM/3to/KhV3Vq4c2YEjiTRkxf/tEN6obgBb0fqDelrCBPyPMTm7Ho8bh+dDDgv4QKKE3PPuKRqPa2gSUooppggbTjLJsNrcmAVOyvucLTqW15uHFBB4UlHxqabhQosonbZU0AsGGuD5SWkB6bCKCqMkqAiMCJKGQeO2RKqlvGgESLw6kFUNKIQGQ8gSQOGAMhArZw0eK2MNHTa2BeoIUPg7PK9SgQkghoLiKGsrTgMIaAFDx6ie1V1S7fNvRn8efN4+tGMxn04qyhUqqeBDv8n1AgvomLvLfttJQigET9OfmVmezKnF0ydX7efhuspI1agvUUlGLfQBgfODBr5bShVLckREjGmwI9ZBCabu0gJRDgDRRgGinKgojUc27p8gCheRRSQgkrpL2cSjt9wPp4SMCMgZCxbrWHoMqYWuPkzomHqewAlAhoA4VcEDlC0DtlzUUqnyslfv5xxwoZBXt04VKckINLpASKPkLLE36GuU6YFKpPHiNa9eLfWe1m8dh6rXiPh7Am6xkjcqKU0s16/1qqX5zZlCKP78ow8pIHaWhklJAyQVSUyZA2hMAkrLt9gmVFAKSUkNrn5AA4rUO6jhUKVt3opSth3pSlvy7eL+otcclqEBJcbXVebiQf41CCSl/rT4I7+cwe7yYf0wpq1o9ExvyGkgk2EAvtgmU0oNSCEyglvJqx7O23rmsZfdsHCkFP/OQmKxen/X1/XzoY7KSNWIr0luKVUt+Cy8d2260gJSJQkofSLx2UCDlECBN1EBSEDIwmuyHEQFSW79SSbMRSg9xlRQLJKmIEELHFXjKOITK2Aaok1DlbONTojY8pR4TpYC1TsIKPheqraMAnGIJKlXFuh4+DM8p5UAswzt4sJhSqaQESv6CPpv7OlEwKRsP1BJsrF20ZRZap+19udjng2NNYMhv3ZYsPMJkIVdP9/PBj8lK1j0vSy2t9KglCiWPhWcppdEAUtpz7GLm2aXqIzkqycAoXSAJddSigNQbBRIoJASSo5JWcSitfnyeA6RiC0hCESkQlRMQzWebTvlr46lyUQpYJ8XHw+cRigqgA8VBdbQEIUQLgFTVOVNDCS6cSiX5gJRAKRWUJsry95fgNYa+XW5NDlt5oACt1OUDedjja90zlzXvnIXHnsDvmTpja6xmHSYrWaO64KwlUEtlMWopDkoRtTQSMBp2ys4zzy6jtB1RSRRIOwWQllEg7SbqSAPJhpEBEukj6bTdHFslHSnAHpBQSMamA4AoGG08KUAkYFSBtflpXqdTFH/OpqcVrOYLUAHcnixH5bXuOK9jdgGUqjuldVcx3tqP5ANSAiV/GftuYhBMurc0/0GW3zARlerqQ0VsFcIpX8MJE5OonmZglB96T/VbJyThiGR995avt1TF1ZJt4Y2PpvACamm0IBTfSxoGkB6NVsSySxdIrjpSlt1e27JTQIKAgwASUUnSskMgSatOA0mrIgqjBWwL1DNQC7G6oM64pZ4jnq9BxT/Pxqd4nZzPv858/vV4HS/HWnesnBUsmiRi4PyCGVZJ5iI72pHwb2P5oWReM62WwMLjr/W04mz+fShHFbvmSAnrfNyGUwfCiaqnqTgFBTZA12zKQntvrK8nyUrWPS9QS0XNMWrJ6SvVp2HhjQaIMpr4naqH5IESte0sIO0KAInYda0WkGY4PSRj2Yn9SCJxR1WSse1CQAK1AzBZgDBCIGkIVbKus5VsK6nuZ+2Cx7p0CVghyOBz8c+5CeFUwb9mhQZU0ZLJeKEMqyT7IptAKQSliWweKRtKRi1hX6kkm7XtLsQbBYATqFawV5V6glTkisF5rEOpJxmMgInxcHwKqCc5neNqYu8l61u9UC212r2lOLXkTg6PKqUJ/sJjxUcCSDEnxcYAKaiSXNvOByRfoMEF0l4CJCdph/Hv/bk2kA67tp0B0kYCJKOMJEye4XCBOqNAVMXhI+tcFdt2rpptO0/qnHhcP4fXVqgz4vPA5918CuC0QMOpeCmHErHubJUUvfNva81sIOt3sWBaxLuntvO3Xfhn9VrNC4HJgtJ4hFJHb5H4fvCbBVCyYLOCxQrqCQIqlrUHgOrPxWAEbISG87Zg5mGDPM5k4VoxhHesry/JSlbGS6klOhMvTi3FWXhhGA2nKJDSOLo8ow2yAKMJ/qSdJ9RggDTFBhLpH9lAUrbdHLMfCccI5eHEBp9tZ/WQXCChMhIgEjCq0iVgVC1hVIO1/TlSF+Rb+T5R4vkIqDNVAk5PV3I4LUQ4lTSGoDTRutDSO/9z3ze1dHwzji9658QWHH+EI47O7MTxR88PrrahVB1SSybsAFBa3leMNx1b1M2CB07a2jtYKNTTvnnE3pvLmnfNYo0QjOh+UBwEuU4M3x3r60yykpXRKuBqqVhPEDc2Xkq1FLHw7h1GCjyhx9MGUhyUgkCKqiQFpBYAUu/UcP+of6YuoZLICCEJJFBJNG0He5FCQFKWHVycjDKSIEIYVWNtO1cjCmB0vpYDqJb1XJD1fC175Pk6LP0YKYAVfCx8Hvi8Xc9U8a9XyYobp1j2nQ9I7kW2rS0fVQK9aI85OEZJEQkQifOgYMq4Oiod3n74XB/r37bUBhIt8pqBhaehVJrNVvSX6O8F3iycqcQbEmWzCnsVrL1Sy9qDfWYP7c9HQKG9J9UTDOSF3w8MRnRlCWvvGzoEMlnJuqdF1ZIdeiBJvA2eJJ4FpQkGShkCyFex7x9O/DtdIEWCDVIhKSD1qbFB0y11pKPfg2LQKka/YT8SAZKx7UgfSdt25Y5tpyw7B0gSRt3POjDi1YNAqtMgeuRiPdajUJfkW1n4PoRVHX6sgFMN/xrVrHgphVJO1IoKXGSfH1zFfoSDT7vw7TvHt4w5REYaSDgQ9hlxci4esXG+j/3skphW/ul1cTyGfr1cIFVHLTwLSntL9Pe1WynZswpOlQJOp1RAJaqeYPPzygMcTkNGPbX2zpHnbU1idV2m71SRBCOSdb+vwqZxV4MRcd+EB6mWvFCKAVMciGLLB6IQlGJsuzggUdvOa9kpIPU5QBpwh6zOiY4Rith2NpC8tp1USXDXbIAkYXSuVsNo+3McLs/VSSDVYwkQNWDtgLrsKXj/RfF8+HgBp1rWsDEX985QKNlAmuS50Oaw9o5CfqHeaR0PARdyOCJirIFyLwUn0AJkAUbwf4NjNH56cRDPePr5tUPs0xuHxWGELz3JDuzqMK+Xfq0m2a+ZAyUVdFi5rwyVrq7zRsl2nyVWK/+52HRKWXuQnORwourpcameAE6Dedh7AmsPztuCgygbuh/APU8AqIoETsm6n5eOiC+noQd3yoNPLU2IhVLGwMkERrLSStqlBNKkqEJKAaQOkrJTlh3tI8FwVDX529h2BkjrXdvulGvbxQFJwgiBVE+ARGG0iD0GdQVqMdt51RT8HR4XcGpgj1wQcFq5rxw3z+LGWWnf+S+y5mKr7v4Hepq4eujFC/f7XE2ArSWOFhdgAutrrCGTGZC6xcm4Z3eJY9u5KvrkykFURXDI4Bd4Iu5pLDjp1lZJ/tdKqyUFJYiEF2WzVUPlUsEaFYtK1gGUVk9W34lYe/znC4IRnRJOK6m1h5tyRWoP+rV1W8bhQNiKBE7Juh+XtvFSbKj19pa2CjClDaU0YZNWpRofFAFSTlAh6ei3D0iuZRcT+16pzkdC267Ab9vpzbHzsWcQsu26z3qARGGkgSTgArXj0iIBJACRhtEStvPaErbLKQTU5cX4MQgn/rnATgJbyYaS7yIbBdPQjlZUEKAmNJy4wgA4YTjgW2DrKXWkDhkEIIE1B0e0f37nJB6vjsetv36W/dMPL2Kt6lxAekkxr5WEUi6FUmG2+J7Jm4lHlYpVSvZCnewD1qJli/Ye/7mAmxboA+q+k4qUU2vvsGPtSfUkrL3p+PsDcIJ5e0nfKVn33SpolKGHDlstVaWpllJCaQRB5LPsYscH+aLfEcsuHSBJlaQU0pAJNWjLTgPJnm0nBqzSPtL8aB/Jsu1koOHZqEKyYKSBtAgvbgAZAaQlCKNd15bq2n3dLngMniOUk/iYsuZpeLGEzbNeKNWQ8oBp/6526xhyOAEW+jAQDlCptb860TXm8PHBCA4EBIUHMIJ/N/z74f8CR6yDMvrqtTPs1289z3773g2sr390jR0dXJOGovRAiatRsEqnFmQbVQvfu8vipsICFFFQQj3VOkEVx9qje54c9QQT41fsyxNTIzC1B32nidh3QjitS/Y7Jes+WaCWCptk6EHaeHgQ4FpP6CFOLaWbnLsXEA0XSJ7odzj2HVBIvCIH9ZFQgzo9Vp+NdNRM/ta9JGXbPeWz7VyV5Fh2WiEpIPELmATSjstC+VAgCQA1st03Gtkep+AxBSd87rVGtvZIpbbwwGayoIQwmuxUFEyH+lZyVfEU++zWE+yTqwfxiHI4zvx9BadTPfeVnQf9L2XVfXRBHLn+C66MwKb721eeYX//xnn2m3eusH/mEPqXv77FfvfBbfavP36BHRta5weSF9wUSnL2HX+dl3Tl65sCq0DBXl6kVZS48aDqyQ2qVAn1hMEItQdN2Xu09xQNRsBBkK17ZrGmHZP577Ow9QBOpYlyStZYLw6mqzSN59+7lJ5aGhGVFIJRqsP6QlO/UwJpahBIHdYsO5Oyc4+i0JadPKxPqySc/A29JKWSDJA2n6abY5VKUim7dIC0WN5lwwUNgMQhA3WtEYG050aTqJtNrJfUHlXk/VDTS5SF50JpMsv3FMLJuvDmsMf3rmJfvXoG4QQX90+vH0Zb7yfn9qA1psA0lqpJbHjtEserc4UE6ghCDABTsOmERXeJK6Lr7N/ef4H9/qO77A8fv8p+/+EdduLghmgfqcYFtwMmHQk3G2cXcyihveorC1JEQbmAeq4uqp4IoGhyzwAK1FOhpZ7gIMi23tls2U4YZZSFyqmKwynZ75SsMV1g45W0mjTewtVi0oOdxhNgMmppglctDQtKcSCKHbDqnomUQw7pCwBpj9yHRGfZpRVq8KTsHo8qpDXBCLhSSQvwomGFG854VBL2kXxAWkyAtEQA6YofSL03l7HeW6L6aL3QLOpWs/5zWfMMNqtcWXipoWTg5F58c9iR/k725Sun0QL7xY3D7OPL+7kSGUA4QaoN+k0AJmuv0ygXwBD6W6COAJDQN/oY+kYcRtA3Apj+45sX2Nfvchj95DbC6I+fvMb+4+evsz9yKJ08tCkIpAisXSjBRAcScqD26q7rTl0zFqsFKa2iGnQvUAFK9J5cQJF9TxJQpv9UgjdPcOaWOLVY9J7a+uYgnBZvz2a1WxI4JWuMl9fGk2k8C0ybCZTcJF4mQPINUw2AyIJRCEg+u84LpKnOxljPWUhkuKoINRDbTse+50WBRA/r04m7crRTNrrhhtOVTi+phvSSfCppkewhGSDtdIHEa891G0gUPHuhXmyJVD+vDcdqdOCBWnhxQIpTTdB3ee38AFphn790Eq0x6NcADCAQIcIQj35jcMI9RxxIsNcI1BGoOFBzAKN/4DD6zV9eQRj9+wd3EER/+uxN9qdfvsX+69M32JoNNQEgpX49VPJuDvSTyh5gpU3TET5osd6Is1gbCbyW8O/xEtMLJDafBpRMU3r7TyS9JwISjno6zNWTBBSqp37oO03TcILeUwKnZH3jyxpBtCKQxttg23gNHrWUzjSGdFVRFEY5zHuMecwepCCQ+iiQppujJwZmOUCSKTsabPAe2Fesgw3mwD4acKAqqTKokgyU/CrpsUs2kIRtJ4C0G4G0TADpplJCHDwvUAC1sv7b/ppamI1qaS5RS5GLbi2pkGqqNjFogNPhvavZl3dP4d4egAH0nD7kYABAKDiNhq333qkehBH0tT7kX+unF/fh1wd1BLFutOrevsx++95N9jsOJFBE//3ZX7A/f/EO+/Pnb7P37z7tTyTWxMPahRJad1wlgUW6tLvAgOhmo7BXb3lK2qoKULtdFXXFBVRUQfXEBiQqsMcpNuaqaHkRWtGQJAX11DHA4bSbw6knGydFJGOMkvWNL+gvuWk8dRigiYk7amlrGmopFYiGC6O05thN9vaPaA+JnoVkAWk/jX2HgYR7kWgP6YQqqZJOVuAdKjSijUqqMirpbI2x7s7Vyv1ItkoyfaQlEkoeIF1fJqHkAqmVwKgNawDqJbvgLh7spdnzVW/JUQMcRAWecgHlC0KsXrMQbT2AAfScwNaDKDmEIQBOwtYTcLpXQEHiDwrsQthH9fHlA5gMFCGG0yLEwJURwuiDl9gffvYK+0+uiP73V2+z//vqXfbRa2fZuk31cg4giX2ngFEESvL/TlN3S7oKTJ8PAQR2arjgOaYH6ADqqgdQl4yCMpByQxKesUZaPZXgzzT8fK86mI+9p+WDuXiO2KJtWWJC+boETMn6Bhf0l0rb5Gy8VVlCLbmn1G7ygymoloYFIxtEviBDEEi77z3QsMKBkUnauWcjlVjKyMCoPEYlVZlwgwRSt2Xd1UvrjqikS1QlLZW2XaO07ZqkbSeAJKDkAikEo3ZZbWzj8Vo2eV4WNuPnVHjUUgBKmcAJVMORgU52qHclqidQLaBeYHQPqqdzvQJQpzmgjm/WkPIm9/j7YcMrFKgiCFJAgAEgh3uNuCKDggkMX96FvUbnUBlpq+7DOwij//mbH7IPOYjWb26whtKmE/iIgxKqJDlaCFRSadM0AqMm2d8TPb69L8q63WL+/KKyXmVv8GY6gDI9KL+Kknugztvqyeo9PVmGcxrh5xvhdMjAadkuCESM04GIsb5eJet7sPIbxnUWLhvH1IGAOo23xlFL6YApDkoREOVEQeTCiIIodmSQUEdxQGq3+kd2oCGijnz7kJzxQXqEkOwhwb4RKEslPU1VkgOkZ0PWHe0lGZWEQLoqgKRUUu8NAyQBJQdIERC1s8E7puB9jd1FbAq/o8eIOL+giguzuNgaAE0JlB9Q0Z6TAdSqzgoOqIfY7ad2cHgcxz1CEIz4+PIQwkWpKOgH6dCChBX0onAuHS+AGhRseIX6gquxv3v9Waxfv3XRJOpkiOG9l06yH995GhWROx3djnp7wFM7Od7GJAEHgDu8lmCNNnYXRtUQAVA/B5JbFFIinKIAtSwMqFBQQvWgyLipbefD1p4FpyMFOK0E+k7LB+fi71o9h9PSRydBnPzqWF+3kvUdX/mLx10taiFHXHgPBKRgmqDBFLLwfFDSIMoERgRE/infJGEXGawaVkdRIOVpIJlAg7Mxls6zw5l284UyOqlOe63wq6QglOq8UDKJO1slUSChSuJQ6rtpgCRUElVIEkQWjDpktWtolTTOwKkDs2V/KQqmEJSigIpTT74zh1auns8O7l7ODvB64UQPFsybA1iBooK3CB6usH556xgm/KCgX/Wr20+iNQgbXmECww8u7MN668ohduLARrZmfQ1bu6E2cpihb89RCESpFCJVSXSsEChQF0JUHWkQvdTKvwet+NZUi6jbqjdoFJSBVIyKIpACQBn1JBS5nhzhwEmMNZqPU+3hZx323sHPP/w+gHJq75/NfydzEE41m8Z9XdycwClZo7gATDC0tdTXX3JsvLTAFAKSC6PYiLdndl0Gdp1fHZmEXQRIhxwgHaXHUDgDVqVNhxDStUAAyYESAIlCSaskC0oNcpSQsu6ISrpiVBICKaiSQkASINp3V9Tg3Q5LMW08Ucsm5WXhxXQWBVONAlM6UMoEUC6kDKgErMyR4lAPcXCpWsmVFtSqhxdYz8mtNB/vHlro3/jqV0RxdqUXSlIl5ZKzk6bkZ7OmbUUSQH5FJMAjgDRwR5YXUK1GRb3YErH5FKQsQKk0nzvRQ6onld7b7ionq+80X/adSvFcMISTtPXa9s7kv6MTWG2X2IA71teuZH2Hlx5DpIe2PqDBpNJ49hEXE6xNtW5vKRWUDIwmisoESEF1NN2MCwrYdXagwW/Xicg3PRepzFZHCkSnCIhOLRQ77RWQThuVtBWAJMuGUr2Gkmvd7bwcUknNEkpEJVlQigKJQonW4F0BpqbtxQJMKpG3QPSY8uPAVJchoCKQckFlT9u2z3Wyyz37yUw2dz5fTJQ7CqE0/y8aSJMxHJKLtt14NrNUhBsQSBRGHEA+4AxYUGozRd9HP+52q2PzRZVUrw9SKm6uQhLOLMTIxly9KVf0nSic4GYNek4rhvL4TeB0tmi7nA6xJoFTskZp0Wni2F/qfMA6Ql3beLCxVoEplVq6JyBFYWSpIw0jG0gCRu4MO6mOIptiw5FvM2CVzLKTe5CUTUcLTnkFIBnrrjoAJaGSolByrbtUKqlVWndtUSgRIAkoLScVBdMyAFNuFvZDZpZJMFVSK49eoKdyKPkqFazCkIoCi0xM8JZ5XjCIELThMlV/5t9Pbbtc0kcCpVm6bLoDJAc+HuAoGA3KSgtQXkh5whLK6nP2QnnhJCdHwMZcBacuB04iTl4s03qi3wR7BvE8p0Q1JWs01twGsX9JBx9Uf8kHJo+NlxmUwkCyj5oAGIX3HgXtusGQXWcDqfNwYA8S3X8kFZKe0kAsOrdQIUmVpKCkgNQNQKL9JAdKop+0JAwlqZJ0L+kWUUkvSiDdBpUUByReL6uiYGrjd/kSTBB+4Hf+cMFVcfFojykEJgdSaSqQiEWWQfmttuGCJw0gVUWBBH0k16JzwRNXg54KP9+npGxAWRZfpP/U6LX2IP2pNuZqOKnE3ukFdiBCRskhDNHaN4P/nmezms3JURnJGoWlwARRcWtj7Zpo8AHVUkxvaUlPTgRKYSDZdp0NI2XVTSUbYT123aCnf7TfnmEXAdIR+xhzE2ogG2KJXecCCTfGPlMVKAdKZ2sjIYee5xosKIl+0lLST2qyoXRTQalVQkmqpBfbpUrqsKBEYTQkYTT0svkz7TMNEDBNKchi04tlAILYeQU1mYIpUzU1wqW+Xib/xlggmR4SBdLG4zVOWMGvhIJ1t03cHNxtsystYEUBZasnqpr8cNrppvaej8JJ2HoVeJIy7TeBpbd8Xy7eVEIQIlFNyRrxlddgJ/IWRhJ548n+pbBasqD0iIKSARKFUQRIqncUglGsXUf3H8211FEk0OAFkjykLzLHboFl02n4nJElQaRKhRy2nvFBqT4IJdFPojFwat21EOuuLVYluQpp6GW7FJSojQcXuU0n6hBMcLGFPpNXNdWE7bxCp4YNrtgazudNF0pTo0Cqnqz3Is2Wx5yD1SmAVBvtFZF+kQFP+zArHlRBQIWUE+k70TFHEeV00aOc8JynhY6lZ1RTW99Mtrgni1VvGsfKHxrXOdbXsmR9hxZGxeUoIgw+RI5RH+/dWGuBqSeqliwoWUAKhxlCMGofMEDyq6O5EbsulLALAWmj00OKAIkk7HQFgGTbd/Vo3z2CUFoUC6WodSd7STEqad+deCBpKFEbT6XydJ+pBAMQSjVBCALhtJBaen44uWBKtzKBx3C/RuzXJEDSPS5p14FihNcANsfC/i4E0okAkFyVNGwgpQBVHKCCyqnZjpcDnHQgYqkVJ/cGIvAQwkodI4ffF/j9QdV0EGbq5YqE3pYkBJGsEV44iohExekephoFJp+VR2w8hJICUwBKsUDq9YcZDJD86kjYdQ6QiF1HE3aRoaok9m1su4WObecCqYaU/Zilkp6ts5J3PRpKiy0o+a072ktyVVIYSAJKK0j5FVPkwsfBtPnJOlbaNAMvwKAM4ILswikahhh5cKRf09IoD5ACMIKwh9iDJBJ2aNflZ7GyZTO4oqz1hBECvaIYwOxLUcMBVKy1R1N7lnJqtOFEAhEiDCGj5OeEauqSqgktPQ4nVE1Hi/TeJvhdBjuvct24r8f6Wpas79AqbBJgwhl5D6UAk4yJ6/4SsfFcpdT0mKOSYoAU7R/ZQFoBQKLqSMEopn8kpjQU6zl21j4kN2UX6SNFgaT6Rjac+GM+6+5cvQw5NIShdFVByVh36faSoiqJg+gVWbFQomVPgEDVJC09CEIAnCClB3DCoa6Q1Eth7WUGjtEqF0Q2jFTUO08qI9U7AqU4Vaqj5p5iqURoRYGUCkqpYDQ8UNmA8ll7KrkXgRNMjnCi5Fo1OUm97Wjn1Viji4xqKrbsvIZt4xI7bxTW/wMAAP//7J2Hc1RHEsbFkZPBBlMkCRkThAJICAmBXTZlMBgRJRFMxj5suAPjw0cORmCZ4PA33Z+293piT0/PvLe7b7WLmK6aMgZKVsm777ff1990v9dlwLQ3pJjw8FbfxnOgNO5CiV85wdt2nGXnAkmqoy+c/hEC0g0MpHaRIjpwy78YS0MNjm1HknU47k2hhH/fse4QlMY8KPUzUKLWXQYjDaU3CEoESI46yoD03d8RteTdYUJgQg+9XScJnNbLnhMoCa2eVqGpEJ6C8iDVPAj5IFogvn+AkVBGGkaqdwTqCJRjPBkXSNQVBhK9T1aegvLgxCgnx9LTcCKqSaf0pGrqUqrJji06iOw8mEK+59KKyo6x2cLOS5PHU5VWAKZ1jGKiqy48tSTApO27BZ5S8kYHhaBEUnZ7r3xoLDuskL64RvtHCEj/wpFvBaSf4kAadaLfOtjgK6Tw2eZYd3Eo7XCgJEIOGkoApClq3Y0Q6y5k1yEoGcVE1VLgcq05ElT6zwycoOe0WgYilin1BA/0lRpQSkFZSNFk2xIPVrztF7bg+L4QByAEoQCIwJpcpmw6rYxgKeLh291IOcYj23y6Lg9K/AXnIoCqDUw8nHxLb2dB1aQTehmY7mxUazJkdFxfuN15er7YeLsxxcZTlVUGTHshlecrJsfGc9TSfKSWdE9pIQKTDyV+bNAyCySzsnwFD6QffSDtp0BiLTs/ZecGG/yYt3sCv4/7SUWg9JyBUsC642w7CiTHwgtB6S9OLQUekOLv783g1FHZNdZh1BMEAOCBrhWU6D8BpD6VkJIjgRCotuILr3kRbx80zula7FyedeCjASQ2w2prTiuiDETtGYiUKoJgh1ZGo7d7vD4bBhN92PMR7pB1VwRExQBVSDUVBJOrmvwwBK+aZAhCjyzS0XF4n8F7T4wpysAk1mKcnJ0CEKnKK2zleWAK2XgclCZiUFoSndTg2Ha4h5RBqTogbQgDyYMRsuzuhoDkn+PKtpO/JkrpYQhKAwZKbhTchVIs4ICh9N3f7uHAFIJS8KGooITvPTmAWmUtPg0pUCBCSXXOFaAS/SgNKwQscQBaBY8GjoTOAvP1oNeF4aOVEMASVB18T0YRrZ5lVNHQWLuAUVA1/hGGUx6MCkOJ+f+RB6dqwFQkqRdL6QnV9Ks7U08n9LSdZ/pM6k6TDECsEvPzYETR1q9TACJVSYXDD3iyuLlcK6Li89w0ngHTAgUmH0qD6G5S1La78pE7pUGrpB9oqGGNG2qIAmmjCyR8KfZuIOJd8BjrjrHvTgahtNOH0hSGErXuLJSuBvpJHphyoJT/0HShhM/o7V4BqQ2Dyx1IgdUnQLVWAgHgIGClgPUhnM45BiIaXt5Rf25OpwLOBnUAPBQ+ayWAtBKC76lzaFmlMwPR6M+9JCof6LGxYKKAygdEEEp/RU4pcIqDSd9vuviGmavHgOk0Gfbq2Xm/wJiiT0yfCYNJTIH4pq2yaV8KQKQqofLAhPtLACbHxlNQGjBhhxwoeWm7FYxKwradBJJRSRpINwsCCW+LZftHNQJJQKlHQOmEse/6IlBiQg6/7+ah9BZDKQ4kq5bonaUqwJQDJXPUf2v05z6houBoUMEdKA0rcVZL+0+CQ/5THAUw56x1jwWOOqtnGfUDp3PXcnE2ZAe+Fzj0Z5D3s+Ai8+wpBCQGSjEgFYJTQTDl3G26pKdSxEIQeNDrJIqOP0VgeqADEBJM0L+Fni5eh9E/MTuNJ0pVXrlgUlbeVwyYaH/JU0vEvkP9pFC44bNAL8mz7TIg7b9pRwc5QPpPDEhcuk72ho7dL2bZeUC6L1WSA6XHAKXsDc1BaTKD0guA0hAPpdeBkMOfvHV3tYlQokd/H0cyOMAZymClT0cGrQ07l1c61AGIGZB9PMv8O3fw19FfO2hfMj+HmFpiwVTlYYFUFEaF4FQ9mIqOLOLAdJasyJAhiB60kh3eRy6YtJUHkXFI5vVPzBGrMDYmMKUqo9YMtv0PKyaY/LAlCqYMSieIjedBiSolNLXhKrXueJX0FVFJX+ukHaOQIMrqKaR7OMzQ5cGmKnVErDtp3/nW3cTT/giUhvOhFFBK4VPsQRwDUr1Qqv58jk5tX6MqKJUIpposuzrhVBaYLgbAJO80UTD1WjA9UmC6Z8F08La+y2S328IEiJ6jwsqbbPYzLdUMKAqmTzWYaFSc6S8NjGsbT4NJBR20WqJQQv0kGCHEXpCltp2Jfm8QiSCtkqRCUlDSPaS7W0i6riugfGJQYoBErTsGSgAkD0ovc6D0NgdKeWAq+CCuSSXNUChVC6Zo7LteIDUKTKEp5BhMv+9EkyAKgum/FExrxF2mvVcQmFIyL1UZFQKTiYqjRB7YeJ5aOoXV0hJk4SEooXUU2LpzRgjdWKPuI7kqybPt7mwkQNpsgGRUEobRg257HNiQhF0ESicYKI0/3u5CKQOS11N6iaD0KtBTQlBiI+EGQrXZVv5DtHaVVB6UWhtMhWLf0wClKJgK9Zd4MJ2nO5sUnCiYxp5IMB0Lgem62s8kwDSn0n00bbVNVVKtU2DqoFaeAZNM5Bkb7+QCqZYUlIxacmLhKg6OldJ3PpRqUknCttuEgIRsO7S6XNpu3S6YPDh1R4GErTsLpT4BpYknO5x+0ukMSG7QoRiUHLXEXJ71QVUrlOqz7mqHEgVSc6EUAkDhC7FlAanBULJg4nc2gWKSqokB068FrbzreHHg3ASmVOWVB6Z9rmLqOWwnPkgbD9TSQk8tWSh9YKF0mULJte4K9ZIKqiQKJPf0WEiFIBSy7nQ/6aFM3gkoPd3hhRzOTA4GoXQx0FOKqiXvhB7CDJS8h2Ar9JMaD6WaAiDVnIZDyYIpDKVYbymilt6oieOvOTD1V84IMG3PwNQnFJNJ5T3qMqm8w7/AINdOFRe3YILwA4CpJ4EpVVnVPjTLDT8AmPYjMI0SMI1JMLlqSfaVDJQuLWfuJyEoIetu/7/XqcQdb92xQLpHVBIFklpfbk4RMD2IqCQCpVNMyOHsi11sT0lA6dWIUkt72L6SXVdRDEgslIIPwXcfSjWppTLBVCaQGhZ4YKD0dogB06ALJtNj2mHANP4MjyWC9xjcAdQTxjuzD44d4n2re0x7Ln0ke0zHUvghVUm1jqbyODCJ4MN8ASZs4xkLT/SVZAKPQsnsSXL6SQHr7vYG8cL/hoNSxLaTIGKAVARMyObDQPJCDo/dKDhN3n37ckhC6bdhdXnWKiUDJdpX8sC0NxdIHpTqBdK0QWma1VJZYHrHoEQtvBiYQC1RMMndTLK/dPJx9v562GX6SwZMt/TCwNUOmCAunsCUqpRaO9hWWT+shrjCokABJjUnTyXy+o7i/tJCExGXKTwadpD3lDylFIASZ93BGwD8bBgcCSrpqFJJsLiMBxKGiTw+mHocVUSPVUiuShozIYd+3rrDUJqyULqAofTavUBrbLzIcr84kBKUCoGpHjg1Akg5Fl4cSrEUXtjCw1DSa9fPv3L7S8LGe8EHH6C/dEQHHxSYDtxqt2D63lp52w6nyQ+pSqiVvW37MsVUaR+2ay/snDwVFSfBh4FxrJa0hQdhBzTRQfSUsH0XhlLIusO2nQUSsu0e4kV85HCAwqrJ6T35CklPcpDJO3U/iagkbd1JKA0r+263ByXOwuNtvPDDtiFQCgCp5aEUVUslgakJUCq1r+RYeGijrVJLLpiQjfcr6S9pG48EH+R08bXmgi1Mfth5el5l66EEplQl1GoA0xAC0xcETCb4gG28RUQtob7SZRwJz4HSTx2udXfHhZKx7RwguSrJh5IGiwUUp5x8IKGp4FglKSiZ1N0kY91NMVB6NRKw8Hy1FILTleB5P6BUilqqBk6NgtE0QSnPwrsAUHL6SwMSTMrGMyvWTX9J2ngCTCL4gKY+ZO9f6BFDv1gsC7ywvNI/Pqey5WBbpdnPtFQzoFZvb5sUimm3CyaY+mASeaq/pNN4Qi0JMCG1ZCw81VcSkfAAlG4RKGUvdse6uyuhZFTSgy4FJAklViE97kVQQnDi+k3U9kPDV82F2SdoisNzrJJs6g73k/KghLfPUrUkDgekPxkgFQg5TL91F4PS9Fh4uWBq5okCsWwoRSw8Ri19y6TxTH/pEQbTJpXI+0QFH1QiL3uPw9qL4fPLKtvHZqXp4qnKqdX9GZh2tVU6RtoqnZ+12Tl5JPhgbTydxKNqSQ9ltX0lGQkP2HcESocxlO5xUOrmofQ4exM97rWnIJQcIFEo4QuzzweIStJQGnb7SQyUQmrJgxIB0FUOTNFP9s3sJ00jlN5FMDUUSnl9JV4txWy8cWXj4f6SDD5sMv0lG3yQYPrsysdyH9OJNPUhVUm1ZoC5wySCD9Bf0hdrYTaeDj1IKIFaGkJqyVp4tq9k7yn5PSW4NGvsuxiUHvJQGqNAcsAU6TNR2y6kkrB1p1SStu5qglIemCigqFoKKqX3AUpF1VKLgalloOSrJWzjnX6h1JK6VCv6S0/Q/SWmvwQfNr9UiTy4XAv9ZjUnb1+zn2mp3vGC/tJaJvggbLyD1saTamlhoLcEFh5cotXR8EBfqQYoWeuumyikAJTUCQYhHulJ4AhIObPu8GihXChhC+/1CFFK9lyBkwsmDZ3Yw2/mQak+tdRCYGpJKA1WzuWEHsafAZi6SX9J2nh2D9N6CaYfcCJPBh86P09gSlVnaRsP+kude5GNd2BuZduheSomDqEHqZZkEm+xSuLJ1ejUwoNb4AJKjoWH7ymhO0oF7DsDJQ5ITwpACassBKXxJxpIeXeTUD9JhxymdtueUlVqSYEp+MAitl0ZUAoqkEZCaXrVUnWJxfcXSjG1ZMAUsPHw/SUBpusy+CCWBJ6H4MPsyub9qb+UqoQyNt4IsfEOShtPpvEWGLU0eJpYeEotyYu0qq90TfWVruO+koQSnXmH03dBpRQC0pMQmHqNMsK/doFEe0m8SvJSdyrkAGCKqqUIlMoB03sGpQJgahnVNN1QCibwmL4SVUsv7aQHsPEmnikbj6Tx8MXaA7q/dN32l+CZ0Hs87WFKVUJlammfVkuujWfVUq9RS4uQWkIWnlBLvIXn9pXC95ScSDhVSnlQYsCk4TTmBBuISiLL/EzA4UVEJSkQ+UqJpvDUeeuD6UoUSsyDDT/sCJRaz7prLpRaAkx1Q2mkRCjtCkLJ2njbHTAJG89RS9LG8+8v4Yu1MLx1fmXbaFulcyTZeKnqrDX9mVoaVmpJpfFw6KH3yHyrlkQSL4PSmSWit7T7PA48xC0821fKV0omfafsuzEKpgJQwiEICqRQL+kMo5LY+0n0vHJHDrFgCiily0XA5EFqZkKpfDA1AU7TBKVSLDytlsDGm+zLwBRQS3QMkYqJy/4StvHmJhsvVTnFhx5wbymD0omFSC0tkWrp3DISeMApPGzhtRsLz1FL2acvZ6LD/a1mCCu9pxSEUgxIzon0kp6jvUlaJTEBBwwlqpaqBdNlBaS4ncdBqZVDDq0BpabCKQdK+WOGpg9KcG/pbAYlTy15vSUdekBqSY8hcmy8pWJwawo9pKq71u5sm1zH9Ja2HZxn1NL249LCs72lpSTwsEKppVVWLQGUbqC+Elh4PzEWXjTsELifVNWxEXADpWd0RQWOgVvrLgQlqpTwfqXCYMrtMdUDpWb1kxph4dUOpmmHU4sppVhf6dupfra3pC28cG/JTnuwY4hWCRuvf2JeZfOBpJZSlVA4iScmPYjdSxJKPaPKwjuhLLxTi4VaMhaeCTysVGopg9I1beHB9tkMStTC+5mbf+eOGnLuKhWIhBdRSV7A4Tln3XGpuwiUPBtPHwylCJiqgtKeYlCKPOBbGUplq6UwnBoEqJaDUiAazll4GEpMEs9VS24aT6ilq3Cp9oPK9pOzklpKVX9xF2q37p8r1FLP4fmV3qMLMrWkLLyJDEqnlyi1lEHpwnIx3l6qpY9R4EFZeDeQhccGHjYzvSVm1FAESjZhx5wnRCVx1h2dCB5I3l0IWXieYuLBdBlOSWrp/YJSOWBquHJqMpTiYYeQhefuXIqrJT3pQd5dEqEHMk0c1NLWQ0ktpaqzVnbZJJ4cPzSrsuWrOUYtCQvv2MLKjpOLlFqSUBoSFt7yyghYeJcZC89RS8jCux3YqWQ2zvLjhjy1hObfFbPuAivPmTUVHpRifaUiYHobAVM1UPqzdijVB6SZAaWGwqlEKMXWV9SWwMMW3kC+hUe21Lq9pY2OWtrnqKWlIvSwPiXxUtVbsBDQBh7aROBBQOkQtvAWqcADWHhL1YQHZOFdsRbeF2DhGbW0nqilT7JPW3BbHHzqTUotbSETw/PWV7hDWcceubAKQ4mk7vCaCgql34aDYDpfDZjeuGAygPpjpGa1NFOhNJ1gulo2mEoMOtQOJaavFISStfDigQeklhSUdG+JrrgQEXHoLaWBranqLbi3RC/TCgvvELbwFqnAg2vh7UYWnoASsvD2/bhWqaV2Xy3R3pIAk94+q1ZY5O1VigJK70uiUfABpJQGg1A6x0FJrUTXhwWUp5Z2u/2lkHKqQi21NpQarJZaFUxNgVKBsINn37nRcNbCe+pbeEfv2ikPMJ0F1JJ3oRbU0jnoLc2uwDOl2c+1VO94rduVqSVl4UHgYYsJPGRQOqL6SsLCWywsPKmWPhD3FEYuuhaeE3i4vo6opc4MTCG1pKB0Dy37e9DtbJ31DgumPgdKcviqCyUTckCjhQpBiQPUlIUUr5YQmN6QXtMfVjXVb+E1qp/UClBqjFoqDUx1Q2l3GEqh9RVFwg6vUNghBCU2hYcXASoLT0DJVUvwvjZz8f4pe0s7xv+Rpoinqr/gk41r4WVq6QBYePMrPaMLKn3QVzqRQWksg9JEBqXTS5Fa+lCqpcsrVeDBWnhCLV3PoKTV0k2iljIwjd7Z7IHpOKOWgqspHvJQEov8zHZZDKWdPpQ8paTAVAROUxhMwy6YXlkwyTPiQorYeWzqjkIppJYiD/R3BUrNUEulgKmRPaXpgBJN4WkoKQtP9pWshWfU0k1//JCaIp4svFT1l7/Wwqbw+o4uRBbekkwtZVASammZUksfVfaAWspelHDTG8D05TUNJVBL7RmYOrIX8Qarlm7DixuppV/ghZ99KrvbZcF036oldrushhI+ACVmu+yppzyUzk5aKOEEnu4tnUOnMJgQnLBiwof2msSDqYhSCqmlGQ+l6bDxagRTw6FUYyw8D0peNBxvpuX6SkQtmXi4mvLw/SrxIbXvZFtlZe/MtvD+DwAA///s3ftXFEcWB3B295w8TGRVfEFYBeTNAAOMQAS1V4mQoAiKMoFBiKigICAQeThZOzuwrsfN/kv9p01uvbqrqqt6BpmZHqDuOffk95yxP3xv3a42VYDCCw+93givzjfCO0G38OgID9LS1YlSSEunaFoqo2npPMAEaWnuIj1b+g6nJXS2dPsVD1MNTktDq+iHLqYlAlOTt/SAW/G5cxVMDKVtLim9U6D03kPJPVfS4KTdysuQmBLS+ZIMlOqMKZuktB+UDg5SYVHKOi0V0/lSxj8m8o+ScgMvAKV4ii07oJvDpc+lJzmUhBFenbuFx9bD0QgPvf7Bf3MJf9rCLDyYOmhlO8KL8iO8x6ViWpo+S9LS7Hk6xgOUnktp6RWgtCilJRcm9MOnKLkwNXtNIRrxwRSB/zKYPJTGMqAkwCTgpIeJjfYCk5NqlKeAyT/GC1p68H+H6fihVKQwhYVShg08FUps+46hNKFCiSYl9Ll09N7gPWGEVyuO8KQv1PbjhYeT6a6Jr9NhP9NMHYHSj/C+8kZ4o99AWiIjvC46wkNpqXcKUEqgtHROTEsYJpqWeJhoWhpchr+8VgCl1Tp8vjTMwwQo+WDC3YLbn5wISgQmitIOQ6mDoPRbJ4aJ4MRgklGSzpm0OLH0dJW2uAShHOOpYMpqVfywoJTvEd5hhGl/yw55Q2lXvC3cW3TgUEoSlMZ2yI39CKURCSV3hIffWaILD/MVGCV89RD8gdo+9pd045AZ4Zk6YKH78MQXafkRHqB0j43wAKWHJ+nCQ2m6O34K0tJpSEtlXFpCP9CLAFM5wFRBx3go6l8CmNB7DugHXa2AqZ4mpkYBpnu/Nrs9wpri5CEFKG1yKG17KD1EKCUpSr+JKAkw2X6Y+PbB5IIk3wQhwaRCicH0UUpLylXx44NScaSlfcJ0CFCKM5RSqpVwdDekh9KohBK6dQW96I5eeOfPldwbHtAIj96Hh/79dz7+0iw8mMpNVfaUOJfxuRIZ4TXyI7y7J9wRHlp46Br3RnjdP58maQlQwmlphqSl60/LKUwo4kNaAphuA0wDL+kYbwl+3EqYGghM62iU18R1M2kMU4vXCKW3EQ4mD6UHCCU3LXVyaQlA+leXiFNgcoopx3qTu3LLY7yAxKQ5W/InJukT6scapSKEKRSUMtwWzlDaU6CEQaIovUefSJdRahFRQudKG+RciaQlipI8wpsjn7VA316LjJjVcFM5qsvflzjV1+mLtPhzFl/iER5OS/IIDy88kBFez+QZnJauYZjgL6ZZ9AOFtAQw3ZyrIGO8F/BX1TykpQX4C+slpKXFagrTFYCpFmCCv8RW6zFMwwimNQLT3fUmrps9nDY4nBBKGCaKEoYJUNohKD18R9LSeLLThxMPlPqcScRJn5Y4mPZkmDSpyTfG092PF3Bb+LFDqcjGeEWM0s88SjgleSjxozuM0rsAlBQjPPGSVjLC68e3h5eZMyVTua2q/hL7ys2SdP3tv9HPWXzljfDufwNp6VtISydpWvo7pCVACaelsvT3CZaWLpAx3i/lBCaUlp5XBsI0JMAEKL1pxDARnHQwAUgbLDUhmFpxWnJR2o5SmDrcFlKTCxSXnGxxO49v5Qu3u2IrYQo4Y5rWwZQNSnkFKRyUPist5QWmAozwMqGU5btK8gaegNIuh9K/O7yUxFDCKSkTSmyEJ6PknSuxEV7/7Hk77GeYqSNYNTdK7Lpbf3XPlVp++tob4QlpqZSmpdMkLSGYps+RtIRhukjHeBUUJvgBv4DIPw8/5gWI/y+r0z+8gh/4EqSl14DSch3AVE9gWm0AnBpxD681uS3C1MLBRFAiMLXRMR4H0w4H0zuamqTk5BvpuclJvppISk3ZwMQlpqBtPH6Ml/FWh2OLUn5hKlhaygol1WfRM6MkpqRODiSSkh69b+dGdx5K6BJkcqsDeZEd3UupOldiKA3Q1XBrvtyxnl20wn52mTri1Tjwhc1GeK3DJ7wR3hi38OCmpTMAE01L0+c8lHBagng/9x3AVJk9TCsUplUKE24K01ozhgnjtM5gigBMrRSmNgzT2FY7dFSZmDycOgJh8iEVNM5LSTAJSSkIJsWKuOpsSXh45vOl2XBRChum3C48FPZdpcn/xIJTks1Gdx5KD5P89h17V6lZQOkuj9JKDX61A6O0eCk9sFBphf2sMnWMqvnOF7Z7rqQb4U2commpDNLSWYBJSksUppsAk/XsHwDTJYDpMsBUBTBVA0w1ANOV9J3F2vTgEqD0GnoZYEK9QmFapSjxMK1RlDBMEQ4mgtLoZjuBaTsqJqadDv9IjyYnYXVcAVRgYvKdNwWcL+nuycNpSZOU+KuGAh7W4aFUBGkpLJgC0lJB3lXiR3d7BCUeJIbSI4TSezK686MkjvBGtlQo1WKUBl9XOwNLVVbYzydTx7giP52wISnZPEpshBdDI7z4aZyWenFaApSmAaUngNIMQen6LzQtzVVimP4JMN0CmG7Pe2nph0WAaQlgQii9rsf943IDgWmlkeJEYXrTTBMTRWmdQ+nXNi8tbZK05CYmvqWxnn4hAgEl3Qjxe5eUmPw4TXKJKeNGnpyWBJjEtXCDUiFhyiNKOVoLn6IoiSmpyx3bEZA6aEqKuqM7YXwnoXSfojTCoTS8XucASs7Qaq0V9vPIlCmhog++tQWU6Aivm47wvLR0gaalcpqWCEo3s0hLJDHxMHEorRKUCEwtuBFKBKZWCaZ2LzFRnFByGgvCKclwklfJGU5d2nMmOTn5zpcC1sRZWvKvh18TOmh8l8sRWpgoFQNM+0pL+TpXymIDb+qDBiV2npQSk9K4gFIbd6YUoeM7ghL+GvRmowMw2Xc3Gq2wnzumTGWszvFSO/a41O56xEZ4EkosLc1yaempKi0RlAhMtRxMBKUhhNIyTUsrIkwuSmstHkobFCXoUQTTWwqTi5MIFIOJ4BSVUhN3I4R8K0QATC5O0uIDn5aCFx7kcyUFTAal4klLIaHEQNKfJ4lnSlqUvKTkjKLeilhhP19MmTpQxeKnrO74GbtnqswJHOGxtDQHaekZpKXn6rR0Z5GkpUGclhoITDxKUlJiaWlkvZWmpTYvLXEwicmpXVyG4HGSU5PvqqLMMGnTkmZFXIdSIExSajpKKBUDTLlJS3lYC3fHdnxKirkpSYmSO7rjUWp3HiTb7PFkxBpNGohMHeHqTZy1ryXO233TF5w+hNKsh9KNpxJKL6pIWlrIgNIyQqmJJiWK0psW9QhPgum+AiYBqO2otBCROTHJMGnHeNptPM25khYmEaWZokQprLSUb5gKs+yQ9Vq4CxI0BYktOLijOwklSEkOpCRn3I5aqMN+RpgyFXrdeFphA0i29azSBpSczCjR8Z2QlCSU3PFdRI8St/gQhJI/LalhGhdQUiw/aGHKsPCgQikAJiEp/e9oopSTtHRAmLJOS58zwtvnBp5qdDfpR8lBDSDZ8VTMiqcMQKZM7asGFqqsWws1NqBk33lVaw8u1jqDi3XO4FKDAyDhBpBwD680Od74TjxPIt2qR8mFSQSKjfFklLzEFJWWHzq0aWlCtyoegJILE/5CLQ+THyUeJoPSYUpLuTlXIiC5KDmAkjO5F7MTH2JWAgAK+9+yKVOmAmp0I2KNbkRJv22zcW/R3mx3eJwCYRLuz+Ng0qUlLUryerj83SUJJQVM6qTkwXQUUSoGmHKRlj4LpU89DvzXefKxG+DptViH/W/LlClTea7Rraj1YCtqA0K4ASIHtYcSSUt8YpLTkoBSSrUaLqclf1KaDkBphkdJ+fAsBpCKGKWcwJRblCBBOayffOy1Zz8BOp8MOqZMmcpQ48moRbrTJt3hQFpyXJRsDUqaW8SFDTwuKflQ+i//Im3AeVLOR3iHGaWiSEsO37OfrmFwWIf9ezZlytQRr7gds3D/HrNRT6ZiNqDkTO1edfSftVB8Nn3fSalP3X8cFKiDoHRUYepzZnAzZFgbbEyZMnVIK5HqtXDvdduJvV7cUx96nITbnzO+08NkUFKh1OcILQDTb/Ed9u/FlClTpoqq0KH2LO0nH/mHJ9fyQ5b1gdJSkaD0/z6H71nWf/TbvpZAMaiYMmXK1CEq1UO80B32/wNTpvZTfwIAAP//AwDaFkdLzFD0kQAAAABJRU5ErkJggg==
How many ways might we read a text such as the [[Crito]]?
<$details class="success" summary="1. historical">
;What events are portrayed here? Did they happen, more or less as the text portrays? How do we put this text together with other sources to improve our empirical understanding of what happened?
:<br>
:What might we learn about Athens and its laws, culture, social attitudes?
:What might we learn about Socrates, Socrates' friends, and Socrates' final days?
</$details>
<$details class="success" summary="2. literary">
;How is this text structured and made rhetorically effective? How do the characters and their relations engage our interest?
:<br>
:Should we read this dialogue as a dramatic play? If so, how should we fill in the expressive details?
:What kind of rhetorical technique is Plato having Socrates use when Socrates invokes "the Laws" toward the end, and puts //their// voice, rather than his own, in the role of addressing Crito?
</$details>
<$details class="success" summary="3. philosophical">
;PROBLEMS
:How does the text frame an issue as perplexing or difficult? How can we articulate its central [[problem]] in a clear way? Does the text draw attention to philosophical problems that it does not resolve?
;@@.hl ARGUMENTS@@
: In addressing a philosophical problem, what [[argument]] emerges from the text? How might its reasoning be made more explicit? (Are there multiple ways to do so?) How should we analyze it and recognize its potential strengths and limitations as an argument? What background assumptions or commitments does the argument presuppose?
;CONCEPTS
:Does the text introduce new concepts or distinctions in order to address its philosophical problems? Does it portray a familiar concept in a new light, helping the reader think in new ways about it?
</$details>
<$details summary="others...?">
So //many// other specialized ways of reading could be mentioned! <br>reading aloud as performance, reading with attention to linguistic and translation questions, reading as a copy-editor or proofreader, reading for signs of meaning below the surface (an esoteric interpretation, or even a hidden message or code), reading to distract someone or to make them sleepy...
</$details>
Central to [[philosophy]] is [[reading for argument]]. Yet philosophy texts generally have many layers of meaning beyond explicit [[argument]]. We may find ourselves reading with attention (for example) to how the text offers guidance to readers, or with attention to [[irony]], to rhetorical style, to an author's political or social projects, to problems of [[translation|translation_notes]], or even to what a text betrays, unwittingly, about its author's assumptions or biases.
To read a text philosophically, you don't need to //ignore// these other dimensions. Sometimes they will be deeply interconnected with philosophical reading. But philosophical reading, reflection, and writing should bring reasoning — especially reasoned [[argument]] about a philosophical [[problem]] — into the foreground.
[img width=15% class=img-right [elise_camping.jpg]]
Welcome to online resources for PHIL/ENVS 212 (Introduction to Ethics at [[Wesleyan University|http://www.wesleyan.edu]]).
This is the primary source for classroom and study materials, since it has a much more flexible structure[[*|TiddlyWiki]] than moodle.
{{clear-both}}
<$macrocall
$name="toc-tabbed-internal-nav"
tag="welcome"
selectedTiddler="$:/temp/toc/welcome/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing.</p>"
/>
After surveying some familiar examples of what people call injustice, Mill invites us to consider what they have in common.
<<<.fm
It is amatter of some difficulty to seize the mental link which holds them together, or on which the moral sentiment adhering to the term essentially depends.
<<< //[[Utilitarianism|Mill, Utilitarianism]]// Ch 5 ¶11 (p. 47, Hackett 2e)
We can start by noting the etymological link to //justum// (law), although the "sentiment of justice" attaches not to actual law-breaking but to "violations of such laws as //ought// to exist..."
And yet the fact that we want violations to be punished — at least in principle (though sometimes we don't trust "magistrates" (governing officials) with this kind of power) — does not distinguish "injustice" per se, since it's true of "wrongness" as well.
By ¶15 (p. 49), Mill gets to the main point:
<<<.dark
Now it is known that ethical writers divide moral duties into two classes, denoted by the ill-chosen expressions, duties of __perfect__ and of __imperfect__ obligation... duties of perfect obligation are those duties in virtue of which a correlative //right// resides in some person or persons... this distinction exactly concides with that which exists between justice and the other obligations of morality.
<<< //[[Utilitarianism|Mill, Utilitarianism]]// Ch 5 ¶15 (p. 49-50, Hackett 2e)
Mill has appealed to a distinction we also saw in [[Kant]]'s ethics — [[perfect vs imperfect duties]].
Mill's version of this distinction:
|!imperfect duties|!perfect duties|
|obligations with some latitude for choice in execution|obligations with clear lines between compliance and failure|
|no particular person is wronged by any given failure|particular individuals can claim an //entitlement// for the action in question to be compelled; their //right// has been violated if the obligation is avoided.|
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c8+0cPawReShdQMLuJwAD7dK6RTcSyxzTjcFBU45HNakXhazt7ZbW3mkVEBAzgnk59BVRvDN4skbx3gKqclSpAPOfU0WC5wd20cDGJ1ACnjJqn59v6L+Z/xrrz4Y10SsZjDOhJ24O0jnjPHpT/8AhGdT/wCeMf8A33/9ak4lcyP/0P25vrC023NvLGhVSijvyxHUdec9afHErs63A3RJJKxB9N3DDpmu4FrbgsQgyxBPuR0pPsdtu3bBnG3v09KAOeMX2UIbPCAkcAAZHJxn3q6kjypuWRiDnr6itRrO3bAK8L05NKLWFRhRge3vTTAxrSeWaJEeQ+YFBPoR2NYniRJXitUa4VFWeOQ+Y20YRweD6+1dillbxACNduBjj0rH1uxvZYom0s4mVsHc+0bD15HPpQ2CLgaRhuEpweRzVWGWUu8ckjcs2w+vqPqK1Y7WMRqFJwAB2PSo106BW3gnduLZ46n/APXTuBDhz1kb86pWskxXypZGDZO05PzLnt9O9bP2Yf3jVZNMVGV93zKSc49fxoTAzZtMtbiQyzLvY9SSf8ao2tlbRXMkRQIN2Izzg8AkdeveunNs3Zh+X/16qDTn8x5GYHcwYcnjAHbp2ouAm12GDISDVK+eeGOJ43OFkXIHcHg/zrX+zy/7J/E/4VVu7O4mjCoBkMh+9joQT29KdwGgu6B0myp5BFLiX/nqafDaTRKy7cgsWHPrUhim/uE/iP8AGi4GQ8k0eoCNpTtljGPTcpPv3zVplm/56moLyzupp1KxsFMcinhTySCtXAkuBujbPU8UwKFzbancR7LCcJJnJL5xtH59yKpf2V4q/wCfyL9f8K6C3cxyZKN0/unuau/aR/cb/vk07isf/9H9/KKKKACiiigApjRROQzoGI6EjNPooAQAKMAYApaKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//T/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9T9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1f38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//W/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9L9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0/38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//ZAAAPAQAABAAAAAEAAAjJAQEABAAAAAEAAAu4AQ4AAgAAAEMAAAAIAQ8AAgAAABIAAABMARAAAgAAAAsAAABeARIAAwAAAAEAAQAAARoABQAAAAEAAABqARsABQAAAAEAAAByASgAAwAAAAEAAgAAATEAAgAAACAAAAB6ATIAAgAAABQAAACaATsAAgAAAA0AAACuAhMAAwAAAAEAAgAAgpgAAgAAACkAAAC8h2kABAAAAAEAABMwAAAVHAAmgpoABQAAAAEAAADmgp0ABQAAAAEAAADuiCIAAwAAAAEAAgAAiCcAAwAAAAEBQAAAiDAAAwAAAAEAAgAAkAAABwAAAAQwMjMwkAMAAgAAABQAAAD2kAQAAgAAABQAAAEKkQEABwAAAAQBAgMAkQIABQAAAAEAAAEekgEACgAAAAEAAAEmkgIABQAAAAEAAAEukgQACgAAAAEAAAE2kgUABQAAAAEAAAE+kgcAAwAAAAEAAwAAkggAAwAAAAEAAAAAkgkAAwAAAAEAEAAAkgoABQAAAAEAAAFGoAAABwAAAAQwMTAwoAEAAwAAAAEAAQAAoAIABAAAAAEAAAjJoAMABAAAAAEAAAu4oAUABAAAAAEAABT+ohcAAwAAAAEAAgAAowAABwAAAAEDAAAAowEABwAAAAEBAAAAowIABwAAAAgAAAFOpAEAAwAAAAEAAAAApAIAAwAAAAEAAAAApAMAAwAAAAEAAAAApAQABQAAAAEAAAFWpAUAAwAAAAEAOAAApAYAAwAAAAEAAAAApAcAAwAAAAEAAAAApAgAAwAAAAEAAAAApAkAAwAAAAEAAAAApAoAAwAAAAEAAAAApAwAAwAAAAEAAAAAAAAAAAACAAEAAgAAAARSOTgAAAIABwAAAAQwMTAwAAAAAAAGAQAABAAAAAEAAACWAQEABAAAAAEAAADIAQMAAwAAAAEABgAAARIAAwAAAAEAAQAAAgEABAAAAAEAAAFeAgIABAAAAAEAABEXAAAAAP/hI75odHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5WZXIuMS4wMDwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0wMS0wOVQxMjoyMDo0Ni0wNTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTAxLTA4VDIzOjA3OjQ3PC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wMS0wOVQxMjoyMDo0Ni0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyI+CiAgICAgICAgIDxwaG90b3Nob3A6RGF0ZUNyZWF0ZWQ+MjAxNS0wMS0wODwvcGhvdG9zaG9wOkRhdGVDcmVhdGVkPgogICAgICAgICA8cGhvdG9zaG9wOkF1dGhvcnNQb3NpdGlvbj5FZGl0b3IsIENhbXB1cyBQaG90b2dyYXBoZXI8L3Bob3Rvc2hvcDpBdXRob3JzUG9zaXRpb24+CiAgICAgICAgIDxwaG90b3Nob3A6TGVnYWN5SVBUQ0RpZ2VzdD5FRDMyNjgyOUNFRjA3RUVENkNERDRBRkUyODAxM0EzRjwvcGhvdG9zaG9wOkxlZ2FjeUlQVENEaWdlc3Q+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyI+CiAgICAgICAgIDx4bXBNTTpQcmVzZXJ2ZWRGaWxlTmFtZT5jYW1fd2ludGVyXzIwMTUtMDEwODIzMDc0Ny5KUEc8L3htcE1NOlByZXNlcnZlZEZpbGVOYW1lPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjExMjM1OEJEMzMyMzY4MTE4MjJBOEQyRURDMEU1RjdDPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOkYyMkQ2Q0U0MUQyMzY4MTE4MDgzQUExOTY4NTkzNzJCPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6RjIyRDZDRTQxRDIzNjgxMTgwODNBQTE5Njg1OTM3MkI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkYyMkQ2Q0U0MUQyMzY4MTE4MDgzQUExOTY4NTkzNzJCPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTAxLTA5VDExOjQyOjI0LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBCcmlkZ2UgQ1M2IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vbWV0YWRhdGE8L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOkI0QjQxMjQ2MUUyMzY4MTE4MDgzQUExOTY4NTkzNzJCPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTAxLTA5VDExOjQ1OjA5LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBCcmlkZ2UgQ1M2IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vbWV0YWRhdGE8L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjEwMjM1OEJEMzMyMzY4MTE4MjJBOEQyRURDMEU1RjdDPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTAxLTA5VDEyOjIwOjQ2LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxMTIzNThCRDMzMjM2ODExODIyQThEMkVEQzBFNUY3Qzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMS0wOVQxMjoyMDo0Ni0wNTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyI+CiAgICAgICAgIDx4bXBSaWdodHM6TWFya2VkPlRydWU8L3htcFJpZ2h0czpNYXJrZWQ+CiAgICAgICAgIDx4bXBSaWdodHM6VXNhZ2VUZXJtcz4KICAgICAgICAgICAgPHJkZjpBbHQ+CiAgICAgICAgICAgICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCI+UGxlYXNlIGNvbnRhY3QgV2VzbGV5YW4gVW5pdmVyc2l0eSBmb3IgcGhvdG8gcGVybWlzc2lvbnMgYnkgZS1tYWlsaW5nIG5ld3NsZXR0ZXJAd2VzbGV5YW4uZWR1LiYjeEE7PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkFsdD4KICAgICAgICAgPC94bXBSaWdodHM6VXNhZ2VUZXJtcz4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9ybWF0PgogICAgICAgICA8ZGM6ZGVzY3JpcHRpb24+CiAgICAgICAgICAgIDxyZGY6QWx0PgogICAgICAgICAgICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPldpbnRlciBhdCBXZXNsZXlhbiwgSmFuLiA5LCAyMDE1LiAoUGhvdG8gYnkgT2xpdmlhIERyYWtlIE1BTFMgJzA4KTwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6ZGVzY3JpcHRpb24+CiAgICAgICAgIDxkYzpjcmVhdG9yPgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT5PbGl2aWEgRHJha2U8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L2RjOmNyZWF0b3I+CiAgICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaT53aW50ZXI8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT5zbm93PC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+Y2FtcHVzPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC9kYzpzdWJqZWN0PgogICAgICAgICA8ZGM6cmlnaHRzPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5BbGwgUmlnaHRzIFJlc2VydmVkLCBXZXNsZXlhbiBVbml2ZXJzaXR5PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkFsdD4KICAgICAgICAgPC9kYzpyaWdodHM+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczphdXg9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvYXV4LyI+CiAgICAgICAgIDxhdXg6TGVuc0luZm8+MjQwLzEwIDcwMC8xMCAyOC8xMCAyOC8xMDwvYXV4OkxlbnNJbmZvPgogICAgICAgICA8YXV4OkxlbnM+MjQuMC03MC4wIG1tIGYvMi44PC9hdXg6TGVucz4KICAgICAgICAgPGF1eDpJbWFnZU51bWJlcj41OTAwPC9hdXg6SW1hZ2VOdW1iZXI+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpJcHRjNHhtcENvcmU9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBDb3JlLzEuMC94bWxucy8iPgogICAgICAgICA8SXB0YzR4bXBDb3JlOkNyZWF0b3JDb250YWN0SW5mbyByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxJcHRjNHhtcENvcmU6Q2lBZHJFeHRhZHI+V2VzbGV5YW4gVW5pdmVyc2l0eTwvSXB0YzR4bXBDb3JlOkNpQWRyRXh0YWRyPgogICAgICAgICAgICA8SXB0YzR4bXBDb3JlOkNpQWRyQ2l0eT5NaWRkbGV0b3duPC9JcHRjNHhtcENvcmU6Q2lBZHJDaXR5PgogICAgICAgICAgICA8SXB0YzR4bXBDb3JlOkNpQWRyUmVnaW9uPkNUPC9JcHRjNHhtcENvcmU6Q2lBZHJSZWdpb24+CiAgICAgICAgICAgIDxJcHRjNHhtcENvcmU6Q2lFbWFpbFdvcms+b2RyYWtlQHdlc2xleWFuLmVkdTwvSXB0YzR4bXBDb3JlOkNpRW1haWxXb3JrPgogICAgICAgICAgICA8SXB0YzR4bXBDb3JlOkNpVXJsV29yaz5odHRwOi8vbmV3c2xldHRlci5ibG9ncy53ZXNsZXlhbi5lZHUvPC9JcHRjNHhtcENvcmU6Q2lVcmxXb3JrPgogICAgICAgICA8L0lwdGM0eG1wQ29yZTpDcmVhdG9yQ29udGFjdEluZm8+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOkV4cG9zdXJlVGltZT4xMC80MDAwPC9leGlmOkV4cG9zdXJlVGltZT4KICAgICAgICAgPGV4aWY6Rk51bWJlcj41MC8xMDwvZXhpZjpGTnVtYmVyPgogICAgICAgICA8ZXhpZjpFeHBvc3VyZVByb2dyYW0+MjwvZXhpZjpFeHBvc3VyZVByb2dyYW0+CiAgICAgICAgIDxleGlmOkRhdGVUaW1lT3JpZ2luYWw+MjAxNS0wMS0wOFQyMzowNzo0NzwvZXhpZjpEYXRlVGltZU9yaWdpbmFsPgogICAgICAgICA8ZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT4wLzY8L2V4aWY6RXhwb3N1cmVCaWFzVmFsdWU+CiAgICAgICAgIDxleGlmOk1heEFwZXJ0dXJlVmFsdWU+MzAvMTA8L2V4aWY6TWF4QXBlcnR1cmVWYWx1ZT4KICAgICAgICAgPGV4aWY6TWV0ZXJpbmdNb2RlPjM8L2V4aWY6TWV0ZXJpbmdNb2RlPgogICAgICAgICA8ZXhpZjpMaWdodFNvdXJjZT4wPC9leGlmOkxpZ2h0U291cmNlPgogICAgICAgICA8ZXhpZjpGb2NhbExlbmd0aD41NjAvMTA8L2V4aWY6Rm9jYWxMZW5ndGg+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjI0OTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMDAwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6Q3VzdG9tUmVuZGVyZWQ+MDwvZXhpZjpDdXN0b21SZW5kZXJlZD4KICAgICAgICAgPGV4aWY6RXhwb3N1cmVNb2RlPjA8L2V4aWY6RXhwb3N1cmVNb2RlPgogICAgICAgICA8ZXhpZjpXaGl0ZUJhbGFuY2U+MDwvZXhpZjpXaGl0ZUJhbGFuY2U+CiAgICAgICAgIDxleGlmOkRpZ2l0YWxab29tUmF0aW8+MS8xPC9leGlmOkRpZ2l0YWxab29tUmF0aW8+CiAgICAgICAgIDxleGlmOkZvY2FsTGVuZ3RoSW4zNW1tRmlsbT41NjwvZXhpZjpGb2NhbExlbmd0aEluMzVtbUZpbG0+CiAgICAgICAgIDxleGlmOlNjZW5lQ2FwdHVyZVR5cGU+MDwvZXhpZjpTY2VuZUNhcHR1cmVUeXBlPgogICAgICAgICA8ZXhpZjpDb250cmFzdD4wPC9leGlmOkNvbnRyYXN0PgogICAgICAgICA8ZXhpZjpTYXR1cmF0aW9uPjA8L2V4aWY6U2F0dXJhdGlvbj4KICAgICAgICAgPGV4aWY6U2hhcnBuZXNzPjA8L2V4aWY6U2hhcnBuZXNzPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDov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U98UwH5ooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigBCoNGD2JoAXn2oyfSgAzRkUAFFABRQAUUARTRGSSNgQNp5qQqD1FADTDGeqCm/Zov7goAiFIT7UAIOD6UPyKAGbAR1waXkHIPNAEkaFiCfxqVkHagCNuOD+dRtQAQQ7eW65pt4FwD1oApIP3YIB57Cp4nUP82NopiJmaHGd559DTX8rYw3Ek9iaQyAj90mTn5ucdqY4BbOPw9aYjTh/wBQvFSdhikMCpIFAjwc5oADjPNJ3oAVjxSD6UADdaE70AOXpSE0AN6GgUAIOtFACijNAC9TSUAIOtOPUUAIeKZISFBFAC9sjvQxIWgBqoFXFIc0AKOB0ooAdEck+1SigBD0pT0oAQdRTqACmv8AcP0oArpwc0ZB/GkA0jkCrURHljmmA/IAyaM0AIx4phHFACYIHFKpzwelAAzODxwKAxKkk89qAE3njGPzpwfj7woAazAkfOAKZIfkwGyTQA9VGAT1FRwDGTk9aAFjI8xwM9ec1KKAFpaAIpxkDnvUR/3fyoAlhHympaQDTycCnUwI4uUP1qjsLMfrSAaVAb3p0eRIAOme9AGjwKQnjNAAF9eTRQAmMk80uB60DEIHrS9qACigQglCjkGl81femAhkQnkZoDR+n6UALvjHYUeZH7UAG+P1FAeM9xQAbozzkUZj9qAD937Ufu/agAxH6ilxH6igAwnqKNsfqPzoANqeo/OjanqPzoANqev60bU9R+dABtT2pdq+tACFVxwQPeq4yjEkn2HrQAjKHGWJHqBUgkXgheQOtK47AkuOOT6E0qnJO/GT3FANDvLX+9S+WP71MQ4xg456UnlDPWgA8setHlD1NAC+WPWjyx6mgA2e9NKnJHXPWgBpIiBAPPpnpTGwy5wCB0HegCFPMQgk8+lWep6cmgBdjZ6UbG/u0AGw+go2H0FAC7D6CjacdKADaf7tJtP92gA2n+7RtP8AdoANnHQ0mzjoaADb7GngZ4IoATaAfXP6U3GM45NAEZXDfMQxPT1pvmbgI35J4+tACKpSc+XECcYHYLVkfP7470AUWR1cCQ4LfdweRVyMlYxnJI4OaAEl3Rguv4+9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uPLPynqKt/vAu7cD7YoAdG0jxhsrhhkcUjySR4JAIJwMUAODP3T9aTzTuClCCe1AC+bjqhpFnQ9M/lQAvmp3J/I0vmoOM/pQAb0bjIp24eooAQ7TjJHHNLketACbQW3d6WgBAuHLetLQA1E2luepzTqAGxrtQClkG6NgO4oAEBCAHrSSglCB1oAcv3Rn0pk/EecZx2oAfTZATtx/eFADqjn/AIf94fzoAkpknDx+5x+hoAfUU5IaP3bFAEtRTf62I+hNAD5eYn+hqjAQJVIoAuOp3MR3XFOhyIlBGOKAHUyE5iX6UAPqK3z5XPqaAILbi4IqxFwWHuaAJKii4mkH40AS1E3/AB9Lz/DQBLUcwOYyP7woAkqO4/1X0YfzFAEgOQDSMMqRQAy2ObeM/wCyKkoAih+/IPQ/0qWgCLpdfValoAin42H0apaAGyjMbD2pIDuhQ+ooAfUUJ/ezD0YfyoAlqGU4niOPUfyoAmpsozGwoAIuYk+gp1AEMPEso981NQBDMP30R/2sfpU1AFG8GJ8+op0IJtJB0piLURzGp9qjTi7k91H9aBk1Q3gzB9GH8xSQEp5jPuKq2Z+dh9f50ASwcTTD/az+lTUAQ3f+rU+jVNQAVXgGLmcepB/QUwLFRXQ/dD2YH9aQEo6CigCCAj7RMATng/zqehgRXQzA34fzp8ZzGp9hQA6oHwLxPdcfzoAnooAgsuIiPRsVPQ9wIL3/AFOfQ5qcdKACq68Xze6/4UAWKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAKUhySajbnkdKAEx39achCkkikAmBniprfiQHt0oAt0UwCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAAA6ChgGUg9DxQAAYFNZNzKc/doAdTFUiVm7GgB56UyFSqEN13H+dACXKGSEqvWkuQTHgAk5oAbbxkKd64IqRP8AVUAJanNtF/uikufuL7MKAJR0qKTP2mLg9/5UAS1FDgSygf3v6CgCRhkGo7cA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AH1G6MZo2GMDOaAJKhuELBCoyQ2f0oAl2j0qOeMNC4Uc4OKAHhF2jKikaJNhAUdKAI4IVMQ3oM89af5EX9xfyoAijhRmkVvmweAewqQW0Y6DH0oAYYl84JuIGM4p/wBnHZ3H40AMmQpsw7ckA0/yT2lf9P8ACgAdXRCRIxI9aREkZA3mnkZoAXy5f+en6UyNpXZwHA2nByKAH7Z/76f98n/GmF5lkCEoSehwaAHj7R3MZ/A/402SSaJC7BdqjJxQAoecgEIuDS75v+eY/OgBizyOSEjzjg896d5k3/PE/mKAATMGCum0noM9aXzZM/6lvzFACG4ZRlomCjqcigTsQCImIPfIoAhuJGYAmMrj171HFIIMu3IxQBZjufMXIjala6VWwysCenHWgA+1IOof/vk0G5iPB3f98mgBwnjPRuntTd0G7d8u71xQA8SRk5DCnB1PRh+dACNtdSpIwacMAYGKACmeUDMJM8gYoAfTZV3xsvqCKAFjXYgXriloAiaNjcq46AEGpaABvumorZSkIB9TQBLUN0DhCBnDCgCaigCvGCLyTjggc1YoYCOMoR7VFZnNqn0o6ATVXujiSE/7f9DTAsUUgCigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKCAeozQAbQOgFFABRQAUUAAGBxRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAAUAkgDJ60UAIVBYNjkDGaWgBGQPjcM4OaWgBGXcpB70IgRAo6AYoAWo44ykkjHoxzQBJUcgbzYyoyM8+1AElR3K7raQeqn+VACwnMK/Sn0AQW/E0y++f51PQBBdcSQt6N/Sp6AGzDdEwPcUy0ObWPnPFACXib4cD1FVYAROEfBBHemBdjUIWA7nNR3IHmQsezYpAT0jAFTx2oAhtVUwDgHBI5qOS3L3BIUBR7daACWKNbmJdihWzkAe1TfZof+eaj6CgBGtowpwMfSo7aJJYVfc/I/vGgCT7KvaSQf8DNRSI6SxosrYb1NMCUwyfwzEfUZpGSYDIlHHqv/ANekA2F5pU3q645GMU/9/wCqmgBjzTRuqlVJbpzTw8/eNf8Avr/61ACCSfHMI/76/wDrUiXLvnbFnBweaYDvPcdYWprXQUZeJwPUg0AAux/zyl/74NOF0ndXH/ATSAPtMIOc4J9qX7VD3cCgA+0wnjzF/OhZoEUASIB25FOwDhPEekifmKRmicg71ODnrQA/ev8AeH50bl/vD86QC0UAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAGBnOKKAEZQ2MjOKWgAPNIiLGoVBgDoKAB1DrhhkU1YUQ5C80APpkkSybd38JyKAH0UAMiiESkAk5JNPoAjkhDyI+SChz9akoACMjFRW0RhhCE5x3oAlqC5VjLCyqSA3PtwaAJ6D0NAFexP7kj0Y/zNWKAK92MyQn0b/CrFABVe24mmH+1n+dAFiob0Ztm/D+dNbgSQnMKH/ZFOwPSkBVlAF/EccEH+tWdq/3R+VDAQxoeqj8qrWioxlXaPlbH6CgCwYIz/AKr3sSR27OgwR3prcCUW0TKCVP5ml+yxf3T/30aQEtFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAIqKmdoAzzxS0AMliWXbuz8pBGKfQAVHHDsmkkz9/HFAElNmUvEyjqaAEhDLCgf7wAzT6AIJ0YzxMoyATn8jU9ABVe2UrNMMEAtn9KALFQ3i7rWQdeKa3Ex8J3RKfUU+pWxTCimIKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAQuoIGeTS0AFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUUAFFABRQAUdaAADHSigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKhMzKxBHSgA+0D+6aPtK+hoAPtK+ho+0r2BoAT7SP7poN0M42mgANzj+HNJ9pc/djNADfPlP8OKaGdu7H6UASwod2WUgdeanoAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAqOSFZOSSD7UAMFqvd2/Ol+yx+9AB9lj9DR9kj96AFFtGP4c/WniNB0UUAOooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooA//9k=
;Nienafing, by Rokia Traore ( – 0:38)
;Mival Guriashi, by Rustavi Choir ( – 1:05)
;Ayak-Ayak, Javanese Court Gamelan ( – 1:15)
;East Greets East, Hozan Yamamoto with Ravi Shankar ( –1:15)
<$details summary="what do virtuoso musicians have in common?">
;NOT the details of repertoire, the scales, the rhythms, timbre, or harmonic formations
:These musicians each do things that are in some sense “//mistakes//” in other traditions
:When we think of musical skill in the "thick" sense — the details emphasized within a genre or tradition — these musicians differ wildly.
;Yet there are ''shared domains'' within which they have developed refined awareness:
:Expressiveness, Attunement to ensemble, accuracy of rhythm, attention to harmonic formations
:When we think of musical skill in a "thin" sense, they overlap quite a bit more!
</$details>
<$macrocall
$name="toc-tabbed-external-nav"
tag="writing"
selectedTiddler="$:/temp/toc/writing/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>[Content not available. Select again?]</p>"
/>
A hasty way of summarizing [[utilitarianism]] is to say that it holds actions to be //right// if they promote (or maximize) [[happiness]] (or the balance of happiness over suffering), and //wrong// if they do not do so.
Yet that is too simple. After all, [[J S Mill]] notes:
<<<.fm
We do not call something ''"wrong"'' unless we mean to imply that a person ought to be ''punished'' in some way or other for doing it — if not by law, then by the opinion of his fellow creatures; if not by opinion, by the reproaches of his own conscience. This is the turning point of the distinction between ''morality'' and mere ''expediency''.
<<< (48-49, 2nd ed.)
Paraphrased, this is roughly:
@@.triangle-right ''If something is __wrong__, then it ought to be __punished__...''@@
{{clear-both}}
We can obviously connect this to a simple claim
@@.triangle-right ''X is wrong''@@
{{clear-both}}
to get this straightforward ("[[modus ponens]]") result:
@@.triangle-right ''X //ought to be __punished__ //(in some way)...''@@
{{clear-both}}
<hr>
[img width=20% class=img-right [wonders|springer_wonders_wh.png]]
Note that if we combine that with the simple view, that utilitarians think it's //wrong// to fail to maximize happiness, then we'll have a world quite full of punishable actions!
{{clear-both}}
<hr>
But note that a [[conditional]] can figure in two formal patterns of argument:
|[[modus ponens]]||[[modus tollens]]|
|P —> Q<br>P<br>So, Q||P —> Q<br>NOT Q<br>So, NOT P|
<hr>
So let's take this basic idea again:
<br>
@@.triangle-right ''If X is __wrong__, then X ought to be __punished__...''@@
{{clear-both}}
Starting with that same [[conditional]] [[premise]] I can also run an [[inference]] in the other direction...
I could insist instead: <br>
@@.triangle-left ''But X should //not// be punished''@@
{{clear-both}}
to support this result (by "[[modus tollens]]")<br>:
@@.triangle-left ''So we should //not// say X is "wrong"''@@
{{clear-both}}
And indeed, part of what [[J S Mill]] would like us to reflect on is the possibility that any given case of "falling short" (with respect to promoting the general happiness) is //too minor// (or too unclear or too complex, etc.) to reasonably punish — //even// through informal blame/censure. In such a case, it should //not// be seen as wrong, on Mill's logic.
(And //why// is it not good to punish such acts? Mill's likely reply is that it makes sense to avoid punishment wherever the //costs// of punishment (pains, anxieties, resentments, burdens, risks) outweigh the likely benefits.)
This class of actions — those that fall short of effectively promoting general [[happiness]], but where punitive/blaming responses would not be useful — is merely "inexpedient":
[img[Milldiagram|http://espringer.web.wesleyan.edu/images/MillCh5.jpg]]
iVBORw0KGgoAAAANSUhEUgAAADkAAAAjCAMAAAAZi1JKAAAJI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjPZhWUAAAAJcEhZcwAALiMAAC4jAXilP3YAAAMAUExURQAAAOjl6fT18+Hg4fj5+Pj6+NvW3Obl5/z+/O3u7dfT2OXi5fT084RMlYpfluDb4YlglNPI1vn6+MvBzu3t7LCYt9jS2uDY4/r7+uvr6/Dw8N/Z4ca5yszFzquUsYNOk5t+pItbmY9jnN/d4PX29ff499XJ2NLN1KB7qvf59/Hx8ph0o4dalezr7KiVrn5Jjvr7+tHJ093T4PLx8dPL1px9pqCHp6eSrZyGo4JUkIhTmMq8zaGKqHtIin9Qjs/K0YZTlIFRj41hmtXH2enn6YZbk7mpvZZuoqSGrYtmltfS2tra2vb19t7e34tslKuPsodRl4lZl5FpncS3yIZUlcS4yK6btIFKkYtemHxPioJRkrKit93T4KmYrodalX1K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
[img[http://d.pr/i/p69G+]]
<svg viewBox="0 0 295 235" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="190" cy="155" r="80" fill="red" opacity="52%"/>
<circle cx="110" cy="155" r="80" fill="blue" opacity="40%"/>
<circle cx="150" cy="85" r="80" fill="green" opacity="38%"/>
<foreignObject x="40" y="160" width="150" height="180"><body>@@.hlw {{!!left_label}} @@</body></foreignObject>
<foreignObject x="192" y="160" width="150" height="180"><body>@@.hlw {{!!right_label}} @@</body></foreignObject>
<foreignObject x="105" y="20" width="150" height="180"><body>@@.hlw {{!!top_label}} @@</body></foreignObject>
</svg>
[img[zoomlogo|https://d24cgw3uvb9a9h.cloudfront.net/static/93869/image/new/ZoomLogo.png]]
!!For the third Kant session:
!!!!please review the end of the second section (on autonomy and heteronomy)
!!!!... then read the third section.
!!!Consider the case of "Kevin," who is arrested and convicted on charges of purchasing and possessing child pornography, including very graphic material with very young children. In his own words,
<<<.fm
These sites had the most despicable, disgusting things you can imagine, infants on through preteen and adolescents… [I was going everywhere...] gay sex, … bondage… defecation sex… animal sex… I went everywhere that a button came up to push … I did idiotic things that I couldn't stop myself from doing. … [Some] nights … it would be four or five, six hours of going through the same site and downloading one or two files and then deleting them, going back a minute later, downloading the same files, deleting them. … I didn't want to be there, knew I shouldn't be there, and couldn't help myself from going back.”
<<<RadioLab “Blame” Sept 12 2013
[[Aristotle]] might well comment:…
<$details state="!!accord1" summary="(a) Although this behavior is blameworthy, it is especially unsatisfying to blame such people; we can’t “reason them out of” [endorsing] their choices, since [they already blame themselves and were] not even listening to reasons that they already endorse[d]." mode="custom" $state="aaa3">@@color:#960; Unclear (either answer accepted with in-class wording). Blaming them for past choices is futile in the sense that they’re already convinced, and were unable to act on the thing that their reason accepts. However, Aristotle does call incontinent people "curable" and alludes to the possibility of "persuading" them — presumably talking them down from doing something *before* they do it; helping to steer them away from current or future temptations.@@</$details>
<$details state="!!accord2" summary="(b) This case may involve something more extreme than vice or incontinence — a “bestial condition” in which people are overcome by impulses to engage in behavior that is not naturally pleasant." mode="custom" $state="aaa5">@@color:green; Yes. See Book VII, Chapter 5 (1148b15-1149a20)... Aristotle speaks of bestiality as distinct from *both* incontinence and intemperance; it is the absence of reasoned or deliberate choice altogether (as, say, a kleptomaniac or sleepwalker for whom there is “nobody home” with respect to the decision). The intemperate person chooses based on reasons, but they are skewed.@@</$details>
<$details state="!!accord3" summary="(c) This person has the vice of intemperance, which means a habitual indulgence in excessive appetites." mode="custom" $state="aaa1">@@color:red;No... Intemperance does not involve regret or the sense of acting against one’s will. (Even if there were not this simultaneous aversion, this would not be ordinary “human intemperance” in this case, insofar as the appetites are not within the range of things ordinarily considered pleasant.)@@</$details>
<$details state="!!accord4" summary="(d) Socrates would argue that this man must not have really understood the wrongness of child porn — because knowledge of the most genuine kind has a direct connection to action; but Aristotle takes his claim (that he knew he shouldn’t) at face value." mode="custom" $state="aaa4">@@color:green; Yes. indeed, that is the point of much careful argument on Aristotle’s part.@@</$details>
<$details state="!!accord5" summary="(e) Someone who experiences many inappropriate desires and impulses does not have virtue, but they should still aim to be continent — to remain in control of their actions and behave according to reason." mode="custom" $state="aaa2">@@color:green; Yes. Continence is not a virtue, but is “second-best” when virtuous disposition is absent. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Appiah approaches ethical and political issues from a global citizen’s, or "cosmopolitan", point of view. But his framework is not simply a matter of broadening the scope of one’s moral commitments. His "cosmopolitan spirit” affirms…
<$details state="!!accord1" summary="(a) Given that we now have global networks of influence and information, we should use our knowledge and power not just to shape our own individual lives, but to guide others around the world toward the good life." mode="custom" $state="aaa3">@@color:red;No... While Appiah says that we do indeed bear responsibilities, these are “largely negative ones” (2378). Ultimately, any aid must be directed towards improving the ability of communities to shape their own lives (2389). Ensuring everyone has “a fair share of the world’s resources” likewise empowers this flourishing.@@</$details>
<$details state="!!accord2" summary="(b) Cosmopolitan identity is no less viable than national identity; these too are not natural and preexisting but rather are the result of a cultivated shared ethos." mode="custom" $state="aaa2">@@color:green; Yes. (2387).@@</$details>
<$details state="!!accord3" summary="(c) Since cultural diversity is valuable, and humans often make mistakes in judgment, we should never interfere in the practices of other cultures." mode="custom" $state="aaa1">@@color:red;No... Though Appiah does emphasize human fallibility and thus the importance of cultural diversity and dialogue, he is not a relativist. As he puts it, “Where culture is bad for people…the cosmopolitan is not going to be tolerant of it” (2379). Categories like “right and wrong” and “good and bad” remain applicable for Appiah and are informed by his own classical liberal commitments. What is most important for him is the plurality of potentially sound views that cultural diversity facilitates.@@</$details>
<$details state="!!accord4" summary="(d) Despite cosmopolitanism’s wide scope of commitment, governance must emanate outwards, starting from the smallest social orders such as the individual and local communities." mode="custom" $state="aaa4">@@color:green; Yes. This concern for individuality is at the core of Appiah’s "liberal cosmopolitanism" (2389).@@</$details>
<$details state="!!accord5" summary="(e) Rather than a single world government, having multiple spheres of sovereignty empowers people and communities to exercise more meaningful control over their own lives." mode="custom" $state="aaa5">@@color:green; Yes. (2390).@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Some modern thinkers have debated whether it can be appropriate to praise or blame a person in ways that are due to (or partly due to) factors that are beyond that individual’s own control. If this kind of thing is possible, it’s called [[moral luck]].
[[Aristotle]] seems to believe in [[moral luck]] in certain ways, arguing that certain kinds of initial bad luck in life (being poor, physically grotesque, or without good parents) can be obstacles to achieving moral virtue (which is praiseworthy). For example, he claims or implies…
<$details state="!!accord1" summary="(a) Being “completely ugly” can lead a person to experience less friendly and attentive social interactions, which means less chance to refine oneself with friendly input." mode="custom" $state="aaa3">@@color:green; Yes. See 1099. (Our translator gives us “utterly repulsive” but the meaning is clearly the same.)@@</$details>
<$details state="!!accord2" summary="(b) Children who lack good role models fail to develop the right sensibilities, though they might still learn self-restraint as adults." mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
<$details state="!!accord3" summary="(c) The virtue of magnificence cannot be illustrated by a poor person." mode="custom" $state="aaa1">@@color:green; Yes. This is explicit at 1122b27: "That is why a poor person could not be magnificent; he lacks the means for large and fitting expenditures." Book IV, Chapter 2, S13@@</$details>
<$details state="!!accord4" summary="(d) those who become wealthy “from the ground up” in business tend to be less generous than wealthy people who have never had to worry about money." mode="custom" $state="aaa4">@@color:green; Yes. 1120b@@</$details>
<$details state="!!accord5" summary="(e) Poor people cannot become fully courageous, for they have nothing to lose." mode="custom" $state="aaa2">@@color:red;No... Aristotle doesn’t say this. Some think that there’s a “unity of the virtues” that links them all together in some idealized way, but the text doesn’t really support such an extreme reading.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Suppose evidence suggests that certain genetic, medical, or neurochemical factors may play a role in people’s inappropriate desires and/or actions. About such cases, Aristotle would say:…
<$details state="!!accord1" summary="(a) There is still an important difference between those who embrace and identify with inappropriate desires, and those who resist them and regret their lack of self-restraint." mode="custom" $state="aaa3">@@color:green; Yes. Exactly the point of Aristotle’s distinction between licentiousness and lack of self-restraint.@@</$details>
<$details state="!!accord2" summary="(b) Some such cases may not be blameworthy; a person suffers a “brutish” condition if some of their actions take place without any experience of deliberative control." mode="custom" $state="aaa2">@@color:green; Yes. See Book VII, Chapter 5 (1148b15-1149a20)... Aristotle speaks of bestiality as distinct from *both* lack of self-restraint and licentiousness; it is the absence of reasoned or deliberate choice altogether (as, say, a kleptomaniac or sleepwalker for whom there is “nobody home” with respect to the activity, at the time).@@</$details>
<$details state="!!accord3" summary="(c) Friends, if they are friends of the most genuine kind, can help a person learn to respond as well as possible to their unique ethical challenges." mode="custom" $state="aaa4">@@color:green; Yes. This may seem like an interpretive stretch, but the best kind of friendship does involve trying to support one another’s character development toward virtue (or self-restraint, if virtue is out of reach).@@</$details>
<$details state="!!accord4" summary="(d) Someone who experiences many inappropriate desires and impulses cannot have virtue (in areas affected by those desires), but they should still aim to be continent if they can— to remain in control of their actions and behave according to reason." mode="custom" $state="aaa5">@@color:green; Yes. Continence is not a virtue, but is “second-best” when virtuous disposition is absent.@@</$details>
<$details state="!!accord5" summary="(e) Whenever behavior can be well-explained by reference to psychological causes, a person is not really choosing, and is not responsible." mode="custom" $state="aaa1">@@color:red;No... Aristotle never takes this “determinist” position — namely, that if there’s a causal explanation then we cannot be responsible.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[all[current]tagging[]]" fields:"tbl-expand team responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"this oq overview list" sort:page class:"w-100 thead-dark">>
!!!Aristotle explicitly presents human beings as a kind of animal, and some of the consequences of this include…
<$details state="!!accord1" summary="(a) Unlike Socrates, Aristotle would say that if a person must choose between being virtuous and surviving, human beings should choose survival." mode="custom" $state="aaa3">@@color:red;No... “Survival” figures in Darwin, but not Aristotle. It’s not the length of a life, but its quality that matters, for Aristotle.@@</$details>
<$details state="!!accord2" summary="(b) Our moral perspective is significantly shaped by experience and training, not just by abstract reason." mode="custom" $state="aaa2">@@color:green; Yes. The emphasis on experience and training is central to Aristotle’s empiricist emphasis@@</$details>
<$details state="!!accord3" summary="(c) The effects of appetites, habit, and emotional associations factor heavily in our psychology, so it is difficult to act wisely without practice." mode="custom" $state="aaa4">@@color:green; Yes. Habitual impulses have powerful natural momentum, for Aristotle. Reason helps us achieve continence / self-control, but imperfectly.@@</$details>
<$details state="!!accord4" summary="(d) Biological differences between people could potentially influence their moral qualities." mode="custom" $state="aaa5">@@color:green; Yes. A does think biological differences can affect moral character! See discussion of incontinence (weakness of will) associated with women, for example.@@</$details>
<$details state="!!accord5" summary="(e) Achieving happiness (eudaimonia, or flourishing) is seen as central to our purpose." mode="custom" $state="aaa1">@@color:green; Yes. Eudaimonia (happiness through virtue) is the purpose (telos) for our species, building organically on the functions of “lower” species. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[tag[◎ Aristotle on humans’ animal nature]]" fields:"tbl-expand team responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
</$details>
!!!According to Aristotle, virtue is not just a matter of acting correctly; virtuous people have feelings and perceptions that help guide them toward acting wisely. For example,…
<$details state="!!accord1" summary="(a) The virtuous person never experiences pain while acting virtuously." mode="custom" $state="aaa3">@@color:red;No... It's true that the virtuous disposition involves the right pleasures and pains. And the virtuous person is never directly pained by the demands of virtue. Still, virtuous action may be painful in the ordinary sense; for example, a brave person risks injury and faces challenges even while in pain.@@</$details>
<$details state="!!accord2" summary="(b) The magnanimous person, who is truly great, perceives others as less worthy." mode="custom" $state="aaa2">@@color:green; Yes. Aristotle certainly makes room for such perception (1124b), though he also suggests that the magnanimous person does not enjoy “impressing” those who are inferior, and that is vulgar (1124b).@@</$details>
<$details state="!!accord3" summary="(c) The right sense of humor is part of Aristotle’s ethical ideal." mode="custom" $state="aaa4">@@color:green; Yes. Clearly, Aristotle’s “wit” is not just an external performance, but a kind of attunement to the appropriate level of humor.@@</$details>
<$details state="!!accord4" summary="(d) The virtuous person does not feel anger, although she has a keen sense of justice." mode="custom" $state="aaa5">@@color:red;No... The virtue translated as “gentleness” is not freedom from anger; note “inirascibility” (failure to be roused to anger) is a vice.@@</$details>
<$details state="!!accord5" summary="(e) The truly brave person is not affected by the emotion of fear." mode="custom" $state="aaa1">@@color:red;No... Bravery is not lack of fear; indeed, fearing the right things is part of the wisdom of the brave person.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[tag[◎ Aristotle on virtuous feelings…]]" fields:"tbl-expand team responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
</$details>
!!!Deliberate voluntary choices, on [[Aristotle]]’s account…
<$details state="!!accord1" summary="(a) have shaped our character over time -- and for this reason, character is “up to us” and we can be held morally responsible for it." mode="custom" $state="aaa3">@@color:green; Yes. Arist insists (Book III, Ch 5, from 1113b) virtue and vice deserve praise/blame, even tho’ character gets initially shaped by factors out of our control.@@</$details>
<$details state="!!accord2" summary="(b) ultimately aim to bring pleasure in the long run -- that is, happiness." mode="custom" $state="aaa5">@@color:red;No... two problems: pleasure is not A’s aim, and that’s not what he means by happiness.@@</$details>
<$details state="!!accord3" summary="(c) illustrate a distinctively human capacity, since other creatures are moved by appetite and perception, but not deliberation." mode="custom" $state="aaa1">@@color:green; Yes. The ability to decide based on weighing reasons is exactly the distinctive capacity of human animals.@@</$details>
<$details state="!!accord4" summary="(d) can be attributed to virtue whenever they strike a mean between extremes." mode="custom" $state="aaa4">@@color:red;No... Not every way of “striking a mean” is virtuous. Also, virtue requires more than correct choices: it requires right feeling, habit, temperament.@@</$details>
<$details state="!!accord5" summary="(e) include the choices that we make in stressful dilemmas, though we choose such actions only in a limited and qualified sense." mode="custom" $state="aaa2">@@color:green; Yes. Indeed; so long as we express the choice as “handing over money *when* faced with threat of violence,” it’s appropriate to call it voluntary as long as one’s values play a role.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Consider the wartime dilemma faced by the student who sought Sartre’s advice. Based on Beauvoir’s Ethics of Ambiguity, we would expect her to comment that…
<$details state="!!accord1" summary="(a) The choice to take up arms against the Germans can be ruled out, because violence involves failing to treat enemy solders as ends in themselves." mode="custom" $state="aaa3">@@color:red;No... Clearly, Sartre doesn’t worry about treating German soldiers as means; his worry is about treating the Free French forces that way if the young man does *not* join the effort.@@</$details>
<$details state="!!accord2" summary="(b) The only authentic and ethical way of making such a choice, from the existentialist perspective, is to look inwards, to discover what we truly feel, and to follow our hearts." mode="custom" $state="aaa1">@@color:red;No... This reflects the vice of “passionate” thinking: treating emotions as if they are a “given” that happens to us, beyond our responsibility.@@</$details>
<$details state="!!accord3" summary="(c) This student’s thinking is overly preoccupied with outcomes, as if outcomes matter for the value of his choice. He should transcend such concerns and focus on what is within his control." mode="custom" $state="aaa4">@@color:red;No... This is, of course, the stoic view; yet Beauvoir argues against the stoic project, which tries to “eliminate the ambiguity” of our condition by retreating into the pure and inner realm of “formal freedom,” denying that we are vulnerable to the world of things.@@</$details>
<$details state="!!accord4" summary="(d) Wanting a moral theory to settle what to do, in such a case, illustrates a kind of bad faith; the individual must take responsibility for the priorities she chooses." mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
<$details state="!!accord5" summary="(e) Defending society from fascism is a perfect duty, while caring for one’s mother is an imperfect duty; so respect for freedom means the universal trumps the particular." mode="custom" $state="aaa2">@@color:red;No... No. Granted, lots of Beauvoir-ish rhetoric is here, but reason does NOT say HOW to exercise freedom, according to the existentialist; reason does not resolve dilemmas for us. Kant’s ethics, on her view, commits the vice of “seriousness.”@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!In the Sunakkhatta Sutta (an early Buddhist text), the Buddha claimed that "the root of suffering is attachment."* In ways that resonate with this Buddhist perspective, [[Epictetus]] suggests in the [[Enchiridion|Epictetus, Enchiridion]] that…
<$details state="!!accord1" summary="(a) We should cultivate an attitude of indifference, so that we are no longer averse to anything." mode="custom" $state="aaa5">@@color:red;No... Epictetus does not say we should not be averse to *anything*; instead we should be averse only to things that we really do have the power to avoid. [False; see 2 and 48.]@@</$details>
<$details state="!!accord2" summary="(b) We ought to relinquish our tendency to worry directly about specific items and people, and instead attend to the general nature of what is important." mode="custom" $state="aaa3">@@color:green; Yes. Indeed, Epictetus wants us to notice how whatever we’re attached to — whatever is “close to us” belongs to the same kind as other things or persons who share the same general nature. To keep things in perspective requires recognizing similar value in similar phenomena. [True; see 3 & 26]@@</$details>
<$details state="!!accord3" summary="(c) We should gently point out to others when they have become mistakenly attached to things, since this is the only way to relieve their suffering." mode="custom" $state="aaa1">@@color:red;No... Actually, relieving someone else’s suffering is not among the things that is “up to us.” What is up to us is how we respond, and Epictetus warns his followers against acting superior and/or trying hard to convince others to follow the stoic path.
[False; see 16 & 45]@@</$details>
<$details state="!!accord4" summary="(d) We shouldn't try to address problems in the world around us, nor take up any activities beyond philosophical contemplation/meditation, because such choices necessarily involve attachment to specific outcomes, which are not up to us." mode="custom" $state="aaa2">@@color:red;[False; see 29].. Though a stoic doesn’t set out to “fix” problems in the world, “addressing” a problem is possible. (Consider Epictetus’ comment about the problem of young women being treated as though only their appearance matters.) Though it is hard for beginners to get engaged in the world without getting distracted from the path of tranquility, Epictetus clearly thinks that a person can reasonable choose to try various roles. The challenge is to do them “in accordance with nature”. It is possible to pursue politics or athletics wisely in this way (focusing not on results), though Epictetus certainly warns his students about getting involved in such pursuits because of the temptations toward taking a competitive attitude. See 29.@@</$details>
<$details state="!!accord5" summary="(e) When it comes to physical appetites, we ought to consume no more than what is needed by the body, since unreflective indulgence tends to lead to excessive desire." mode="custom" $state="aaa4">@@color:green; Yes. [True; see 33, 34, 39, and 41]@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<br style="clear:both" />
@@.small ^^*^^This saying is Bhikkhu Bodhi's translation from the Pāli original: 'upadhi dukkhassa mūlanti'. 'Dukkha', the Pāli word most often translated as 'suffering', is sometimes rendered instead as 'unsatisfactoriness" or 'stress'. The term is of central importance to Buddhist thought but its semantic range does not map on clearly to any single English word. 'Upādāna', translated here as 'attachment', is also sometimes translated as 'clinging' or 'grasping'. In a translation of this sutta (or 'discourse') which is freely available online, Thānissaro Bhikkhu (who is known for some idiosyncrasy in his translations of the suttas) renders this complete saying as 'acquisition is the root of stress'. [[Full text available here.|http://dhammatalks.org/suttas/MN/MN105.html]]@@
!!!Socrates and Crito seem to bring contrasting moral priorities to their discussion. For example…
<$details state="!!accord1" summary="(a) Socates expresses great trust in democracy as a fair system of government, while Crito is worried that the Athenian majority is violating Socrates’ rights." mode="custom" $state="aaa3">@@color:red;No... Democracy plays no positive role in Socrates’ reasoning; while Socrates respects the LAW (and the law in Athens happens to be democratic), there is no endorsement of democracy as such. We should also note Athens had nothing like the “bill of rights” or the precedent for civil disobedience that is familiar to contemporary citizens of the US; the idea of human rights is in fact distinct from the democratic idea. (Athens did affirm certain procedural rights for citizens, but neither Crito nor Socrates frame their complaints in terms of the violation of rights.)@@</$details>
<$details state="!!accord2" summary="(b) Crito seems to treat death as the greatest kind of evil, while Socrates prizes “the health of the soul,” which requires acting with integrity even in facing death." mode="custom" $state="aaa2">@@color:green; Yes. There seems to be a mind/body dualism at work here, where Socrates agrees that Athens may impose consequences on his body, but cannot exercise control over his mind or soul.@@</$details>
<$details state="!!accord3" summary="(c) Crito foregrounds acting for the benefit of loved ones (friends, children), while Socrates focuses primarily on abstract principles, treating ordinary benefits and harms as secondary." mode="custom" $state="aaa4">@@color:green; Yes. Yes; Socrates’ willingnes to set aside the interests of his children (at least their ordinary material interests) is especially striking: “questions... about money, reputation, the upbringing of children...” are associated with the unwise majority. Socrates does engage in some talk of whether his escape would “harm the city,” but he’s not talking about ordinary harms here, but rather a kind of example-setting — to be evaluated not through calculating causal results but rather through considering whether the principle is one that he would endorse as appropriate for everyone (here foreshadowing Kant).@@</$details>
<$details state="!!accord4" summary="(d) Crito wants Socrates to affirm his individuality by defying the law and refusing to conform with Athenian society, but Socrates argues against the value of individual self-expression and dissent." mode="custom" $state="aaa5">@@color:red;No... <br>(Socrates was convicted, after all, for refusing to conform to social norms, and expressing his doubts about the beliefs and values espoused by powerful Athenians. Also, Crito's reasoning makes no appeal to "affirming individuality")@@</$details>
<$details state="!!accord5" summary="(e) Crito is quite anxious about matters of reputation, but Socrates explicitly distances himself from this concern." mode="custom" $state="aaa1">@@color:green; Yes. 47a: “[O]ne must not value all the opinions of men, but some and not others... [only] the good opinions ... of the wise.” 48c-d: Socrates associates “questions... about money, reputation, the upbringing of children...” with “those people ... I mean the majority.” In other places, it’s clear that concerns about what people with think and about upbringing of children are ones Socrates thinks of as attempts to secure certain desirable results (consequences). Even toward the end of the dialogue, a brief comment to the effect that escaping would open him to ridicule, is expressed not in his own voice, but in the voice of “The Laws”@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[tag[◎ Crito’s and Socrates’ values…]]" fields:"tbl-expand responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
</$details>
!!![THIS IS A SHORT-ANSWER QUESTION, not just yes-no…]
How would Dewey comment on the following ways in which a person’s way of life might be summarized? Do any of these life paths illuminate the kind of integrated value that Dewey recommends? For those that do, why? For those that do not, what is missing?…
<$details state="!!accord1" summary="(a) Erica focuses on mindful wellbeing, and has engaged in enough self-discipline to be at peace no matter what happens in the world.
" mode="custom" $state="aaa3">@@color:red;No... This is purely “inner” — a kind of giving up on being effective in the world that Dewey associates with stoicism.@@</$details>
<$details state="!!accord2" summary="(b) Harley is simply dedicated to helping people and will do everything possible to improve the world.
" mode="custom" $state="aaa2">@@color:red;No... This is purely “outer” and misses the “how”; good intentions alone (without knowledge and skill) can’t help the world. Also, the “good will” here is entirely unshaped by individual interests.@@</$details>
<$details state="!!accord3" summary="(c) Dani feels the most important thing in life is to follow one’s passions and engage in true self-expression.
" mode="custom" $state="aaa1">@@color:red;No... This is purely “inner” — is there any attention to engaging with the world?@@</$details>
<$details state="!!accord4" summary="(d) Mel is tremendously successful, securing stable jobs and a prosperous future for their family.
" mode="custom" $state="aaa4">@@color:red;No... See bottom of 359: what a person //materially// gives and receives is lacking in meaning except insofar as there is some “evolution of conscious life” (”prosperity” could mean flourishing in an Aristotelian sense, but again the details are missing -- what are the projects, and what is distinctive about these lives?)@@</$details>
<$details state="!!accord5" summary="(e) Tammer is a careful and expert technician, with masterfully detailed understanding of how electrical circuits work and how to fix them.
" mode="custom" $state="aaa5">@@color:red;No... Unlike others, Dewey does not claim that technical expertise is lacking in moral value. But it’s still just one side of engaging well with the world: HOW does one put this expertise to work, answering to what needs... with what purpose?@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Epictetus clearly addresses men as the presumed audience/readership of the Enchiridion. Furthermore, some of his advice may seem to idealize self-sufficient masculinity, by inviting us to minimize emotional attachments and make peace with social injustices we cannot control. For example…
<$details state="!!accord1" summary="(a) At §40, Epictetus turns his attention to girls and young women. He encourages them not to focus on their pleasure-value for men, but he still recommends striving to “appear beautiful” through their demeanor." mode="custom" $state="aaa3">@@color:green; Yes. In theory, Platonists and Stoics are egalitarians about gender, because souls are not divided into male and female. In practice, at least in this text, Epictetus doesn’t go very far to champion the dignity of women. We do know that Epictetus’ teacher (Musonius Rufus) did so, however.@@</$details>
<$details state="!!accord2" summary="(b) The ideal stoic is emotionally unaffected by events beyond their control, and even acts callous and unsympathetic when others are suffering from tragedy or injustice." mode="custom" $state="aaa2">@@color:red;No... §16 clearly advises against acting callous toward others’ suffering: “even groan with him”; elsewhere adherents are advised against acting supercilious. @@</$details>
<$details state="!!accord3" summary="(c) Being born into a world with systemic injustice in it surely is not among the things that is “up to us”; therefore stoics don’t take a stand on matters of justice and injustice." mode="custom" $state="aaa4">@@color:red;No... Careful! The first half is true — the “scene” onto which we arrive is beyond our control — but the second half overreaches; it implies acting indifferent even where one //can// take a stand and demonstrate conviction.@@</$details>
<$details state="!!accord4" summary="(d) By encouraging people to accept the “roles” into which they are “cast,” Epictetus leaves no room for acting in ways that defy social expectations." mode="custom" $state="aaa5">@@color:green; Yes. Not quite. The text certainly encourages various kinds of “going with the flow” with social conventions, but accepting one’s “role” means recognizing that one steps onto a “stage setting” with historical “starting points” that are given; and recognizing that one cannot micro-manage what other actors do; it doesn’t preclude choosing to do surprising things with one’s life!@@</$details>
<$details state="!!accord5" summary="(e) Although Epictetus mentions family bonds and responsibilities, he discourages emotional attachment; we should not resent the loss of human companions." mode="custom" $state="aaa1">@@color:green; Yes. Family bonds (as in commitments and responsibilities) do still matter to Epictetus; but emotional attachment, and treating one’s loved ones as more important than others, are discouraged.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[tag[◎ Epictetus’ masculine-individualist ideals…]]" fields:"tbl-expand responses answer-key result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
</$details>
!!!At 9e, Euthyphro offers a revised hypothesis, that piety should be defined as “what all the gods love”. The elenchus and refutation of this hypothesis…
<$details state="!!accord1" summary="(a) would not have gone forward the same if Euthyphro insisted that gods love what they love for no reason." mode="custom" $state="aaa3">@@color:green; Yes. Socrates’ first question required Euthyphro to choose between saying that piety EXPLAINS the gods’ love and saying that it counts as pious only because (logically “after”) the gods love it. The dialogue would have taken a different direction if Euthyphro had chosen the second path (In a reason-affirming culture such as Athens, the second option would have sounded somewhat absurd, but some Christian theologians do take that path. See “Footnotes” handout...).@@</$details>
<$details state="!!accord2" summary="(b) depended on distinguishing between something’s defining features and things that just happen to be true of it." mode="custom" $state="aaa2">@@color:green; Yes. Right. Euthyphro agrees that his claim (that all the gods love what is pious) is a true thing about piety, but doesn’t explain what makes something count as pious.@@</$details>
<$details state="!!accord3" summary="(c) prompts Euthyphro to agree with Meletus (Socrates’ accusers in court), claiming that Socrates lacks piety." mode="custom" $state="aaa4">@@color:red;No... This simply doesn’t happen in the dialog (and there was no such historical event as portrayed here; Plato concocts the Euthyphro character in order to set up this dramatic encounter). Arguably, Socrates lacks the trait that Euthyphro would call “piety,” but since Euthyphro has a hard time giving a coherent account of piety, it’s unclear whether he could back up such an accusation.@@</$details>
<$details state="!!accord4" summary="(d) reveals a problem specific to polytheistic religions." mode="custom" $state="aaa5">@@color:red;No... The polytheism controversy get entirely swept under the rug *before* this moment; 9e is Euthyphro’s attempt to focus on wherever the consensus happens to be.@@</$details>
<$details state="!!accord5" summary="(e) was followed by a hint from Socrates about how to begin defining piety." mode="custom" $state="aaa1">@@color:green; Yes. Indeed; the “break point” in the dialogue comes after this hypothesis-elenchus section. By 11e Socrates is launching into the beginning of a suggestion about a promising potential path for defining piety.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
<$details class="warning" summary="group work results (under construction)">
<<table-dynamic filter:"[tag[◎ Euthyphro’s “What all the gods love” hypothesis…]]" fields:"tbl-expand responses result tbl-checkbox tbl-clone tbl-delete" sortOp:"nsort" stateTiddler:"submissions overview list" sort:page class:"w-100 thead-dark">>
</$details>
!!!Mill’s conception of individual happiness can be contrasted with…
<$details state="!!accord1" summary="(a) Aristotle’s eudaimonia, which clearly cannot be evaluated well by the individual herself." mode="custom" $state="aaa1">@@color:green; Yes. Aristotle’s eudaimonia can be affected by facts beyond one’s knowledge, including events after death. The individual is also in a poor position to know whether she is wise enough to judge the standard of virtue, which is essential to eudaimonia.@@</$details>
<$details state="!!accord2" summary="(b) Kant’s conception of happiness, which (Kant argues) an individual is not likely to achieve by focusing directly on it and constantly figuring out the best means to promote it." mode="custom" $state="aaa2">@@color:red;No... Kant does say this about happiness, and Mill actually agrees that each *individual* tends not to achieve their own happiness by aiming directly at it.@@</$details>
<$details state="!!accord3" summary="(c) the stoic concept of ataraxia (tranquility), which Mill finds insufficient for failing to embrace excitement or emotional contrast." mode="custom" $state="aaa3">@@color:green; Yes. It would be too extreme to say that Mill //rejects// ataraxia; he rejects it as a //complete// ideal. It is one of two aspects of happiness, and thus it is clearly distinct from but relevant to Mill’s happiness. See p. 13 on the need for a balance between tranquility and excitement, either of which alone, however, may be very satisfying if achieved in high degree.@@</$details>
<$details state="!!accord4" summary="(d) Aristotle’s eudaimonia, because the latter applies only to someone who is morally good (virtuous)." mode="custom" $state="aaa4">@@color:green; Yes. Aristotle’s “eudaimonia” //cannot// be exemplified by a person who is not virtuous. Mill’s happiness //could// be achieved by a person with a morally flawed character. It’s unlikely, but @@</$details>
<$details state="!!accord5" summary="(e) Mill’s own conception of the general good, which an individual might promote well without achieving individual happiness." mode="custom" $state="aaa5">@@color:green; Yes. Those who are generally sensitive to others’ happiness //tend// to be happier (in a civilized world), but there’s no guarantee. See pp. 15-16: “Unquestionably it is possible to do without happiness;... [as is] done voluntarily by the hero or the martyr, for the sake of something which he prizes more than his individual happiness... this self-sacrifice must be for some end... All honor to those who can abnegate for themselves the personal enjoyment of life when by such renunciation they contribute worthily to increase the amount of happiness in the world...@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Human beings (unlike angels, Kant imagines) must see themselves as belonging not only to the intelligible order, but also to the temporal world of the senses. In the context of Kant’s other lines of reasoning, this double-belonging implies…
<$details state="!!accord1" summary="(a) we can never be sure that our actions really are motivated by respect for duty." mode="custom" $state="aaa3">@@color:green; Yes. Yes; we may always suspect some sort of sensible incentive at work, perhaps unconsciously.@@</$details>
<$details state="!!accord2" summary="(b) if psychology finds a good explanation for someone’s action, it does not make sense to hold that person morally responsible." mode="custom" $state="aaa1">@@color:red;No... Kant will hold us responsible as long as we *also* recognize ourselves as members of the intelligible world.@@</$details>
<$details state="!!accord3" summary="(c) we cannot be held to the standards of moral duty unless our inclinations and habits align with moral duty, thereby creating an incentive to perform the right action." mode="custom" $state="aaa4">@@color:red;No... Arisotle might come closer to endorsing this stance, and Kant has some explaining to do about how to resist it. Nevertheless, he does not think acting morally requires any particular training, experience, or incentive. However, insofar as we *are* also subject to empirical laws, this inference would be reasonable.@@</$details>
<$details state="!!accord4" summary="(d) that our lives are all different in their empirical circumstances, and therefore each person will construct moral laws differently." mode="custom" $state="aaa5">@@color:red;No... Kant would resist this claim, but some would say he should consider it.@@</$details>
<$details state="!!accord5" summary="(e) autonomy can be recognized from two angles: from the intelligible world, we recognize it as freedom, but insofar as we participate in the world of sense, we recognize it as moral obligation." mode="custom" $state="aaa2">@@color:green;Yes... At 453, this is how Kant summarizes his response to the worry about how to understand freedom.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!In the first section of Kant’s Grounding, Kant disagrees with Aristotle (explicitly or implicitly) by claiming…
<$details state="!!accord1" summary="(a) Reason can grasp morality’s principles a priori — that is, without any essential need for examples or role models from experience." mode="custom" $state="aaa2">@@color:green; Yes. See especially 389 ... “a pure moral philosophy that is wholly cleared of everything ... empirical... ¶ Not only are moral laws ... essentially different from ... anythin empirical, but it does not in the least borrow from acquaintance with [man] (anthropology) but gives a priori laws to him as a rational being.”@@</$details>
<$details state="!!accord2" summary="(b) The ultimate human purpose is not the achievement of happiness." mode="custom" $state="aaa1">@@color:green; Yes. See especially Ak 396: “Existence has another and much more worthy purpose, for which, and not for happiness, reason is quite properly intended, and which must, therefore, be regarded as the supreme condition to which the private purpose of men must, for the most part, defer.”@@</$details>
<$details state="!!accord3" summary="(c) Regardless of upbringing and experiences, our appetites, inclinations, and emotions are up to us, and we are morally responsible for what we feel." mode="custom" $state="aaa3">@@color:red;No... This comes close to Epictetus’ point of view (and Kant echoes stoics in many ways), //but// Kant’s moral agent does not really have any power over her or his own inclinations (including appetites and passions); morality simply demands subordinating those appetites/inclinations to duty. (See for example 398 where “sympathy” is framed as a matter of one’s “constitution”; and 399, “love as an inclination cannot be commanded.”)@@</$details>
<$details state="!!accord4" summary="(d) The clearest example of moral worth is someone who performs a dutiful action without enjoying it." mode="custom" $state="aaa4">@@color:green; Yes. This is of course one of Kant’s most surprising claims. See esp Ak398: “Suppose ... even though no inclination moves [a depressed person] any longer, he nevertheless ... performs the [beneficial] action without any inclination at all, but solely from duty — then for the first time his action has genuine moral worth.” (also, end of ¶12)@@</$details>
<$details state="!!accord5" summary="(e) Aristotle thinks a wise person values virtue largely because virtue makes their happiness (eudaimonia) possible. For Kant it’s the other way around: people should generally prioritize their own happiness, because that makes them morally better." mode="custom" $state="aaa5">@@color:red;No... Kant does say that “to secure one’s happiness is a duty” (399) *but* that duty is “indirect” and usually irrelevant in practice, because inclination usually suffices to motivate people to take care of themselves. Furthermore, “prioritizing” one’s happiness” is a misleading way of paraphrasing Kant. The duty to secure one’s own happiness is about long-term prudence; it is never a duty to prioritize oneself over others. The “gouty” person’s imprudence (ruining their health to enjoy a certain indulgence) is the key example here.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!According to [[Kant]], the [[categorical imperative]]
<$details state="!!accord1" summary="(a) can be distinguished from hypothetical imperatives, which tend to differ from person to person and are tied to inclinations and other details about ourselves that may be affected by experience." mode="custom" $state="aaa1">@@color:green; Yes. True; even the imperatives of prudence, which are “natural” and “generally” recognized by people, can be affected by experience, and depend in some sense on our actually caring about our own happiness.@@</$details>
<$details state="!!accord2" summary="(b) reveals the irrationality of immoral actions, since we cannot endorse the maxim behind our immoral action without some kind of contradiction." mode="custom" $state="aaa2">@@color:green; Yes. This is the crux of Kant’s method.@@</$details>
<$details state="!!accord3" summary="(c) requires detailed understanding of human nature." mode="custom" $state="aaa3">@@color:red;No... Applying the imperative in practice may require experience of human nature, but knowing it does not.@@</$details>
<$details state="!!accord4" summary="(d) requires us to entirely avoid thinking of others in terms of how our interaction with them can promote our own ends." mode="custom" $state="aaa4">@@color:red;No... Never treat someone *only* as a means.@@</$details>
<$details state="!!accord5" summary="(e) requires that we make our decisions based on whether our actions would have bad results if everyone acted the same way." mode="custom" $state="aaa5">@@color:red;No... Not quite. Many critics think that this is the gist of Kant’s argument, but his reasoning does not revolve around results, but rather around the //implications// of one’s will.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Kant illustrates how the categorical imperative helps us recognize our duties by discussing four hypothetical examples, arguing that…
<$details state="!!accord1" summary="(a) committing suicide out of despair violates a perfect duty to ourselves, and fails to respect humanity (in this case, one’s own humanity) as an end in itself. " mode="custom" $state="aaa2">@@color:green; Yes. This is precisely his claim. It’s analogous to the duty not to kill someone else whose continued existence seems more troublesome than rewarding...@@</$details>
<$details state="!!accord2" summary="(b) it’s possible to imagine a coherent world where nobody ever develops their talents, but it’s not possible for us to willingly endorse such a world." mode="custom" $state="aaa1">@@color:green; Yes. This is exactly the point of treating “Develop your talents” as an imperfect duty. There’s no contradiction in conceiving such a world, but it’s at odds with the nature of one’s will to be indifferent to the need for tools, technologies, and arts (etc.) — all the things people contribute by developing their talents.@@</$details>
<$details state="!!accord3" summary="(c) everyone has a necessary and strict duty to contribute to charity" mode="custom" $state="aaa3">@@color:red;No... Charity cannot be a perfect (strict and necessary) duty; it requires discretion and judgment, and cannot be performed in a complete (”perfect”) way. It’s possible to imagine a world without charity, but one cannot will that wills should be unassisted, as a rule.@@</$details>
<$details state="!!accord4" summary="(d) falsely promising to pay money back involves treating another person as just a means — failing to respect them as an end in themselves." mode="custom" $state="aaa4">@@color:green; Yes. This is clear starting just before 430, when Kant comes back around to the four examples, this time looking through the lens of ends vs means.@@</$details>
<$details state="!!accord5" summary="(e) we have a perfect duty to tell the truth when someone asks us a question, even if they do not seem trustworthy." mode="custom" $state="aaa5">@@color:red;No... There cannot be such a perfect duty for two reasons: one is not in control of whether one tells the truth -- one can only control whether what one says is what one believes. Also, one cannot be expected to tell all truths all the time. So discretion is required, and we have at most an imperfect duty to communicate important truths as best we understand them.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!In his “Letter from Birmingham Jail” King gives us indications that he would approve of quite a few claims made by the classical thinkers (Plato and Epictetus) that we have just read. For example, King would agree that…
<$details state="!!accord1" summary="(a) We should see ourselves as actors in a drama that is much larger than ourselves, and accept that we should play our roles well even though the outcome of our action is predetermined." mode="custom" $state="aaa5">@@color:red;No... Though King claims that the “arc of history bends toward justice” and that the oppressed “cannot” remain oppressed forever, he clearly resists the idea that the outcomes of our own actions are predetermined. IF the arc of history bends toward justice, it is only because of the actual efforts of people to rise up against injustice.@@</$details>
<$details state="!!accord2" summary="(b) When we witness others acting in ways that seem unjust, we cannot really know their intention, and hence we should be wary of making negative moral judgments, saying instead that they surely acted according to what seemed right to them." mode="custom" $state="aaa3">@@color:red;No... King simply doesn’t say such things, and his concept of “conscience” is not the kind of thing that might lead one person to support integration while it leads another person to support segregation. Although in addressing the other clergy members, he treats them as people who may mean well -- despite their failure to understand the urgency of King’s struggle -- he has no trouble describing some forms of racism as vicious.@@</$details>
<$details state="!!accord3" summary="(c) There can be a role for religious reverence (piety) in the pursuit of justice, though that role does not involve treating revelation (religious texts and prophets, etc.) as simply overriding ordinary conscience and reflection." mode="custom" $state="aaa1">@@color:green; Yes. (Yes: “I have watched many churches commit themselves to a completely other worldly religion which makes a strange non-Biblical distinction between body and soul, between the sacred and the secular” [4B]).@@</$details>
<$details state="!!accord4" summary="(d) The democratic majority sometimes acts unjustly, yet they do not have genuine power; even if their policies impose physical restrictions and painful burdens on the minority, this kind of mistreatment does not have the power to undermine a person’s spiritual or moral strength, which is what matters most." mode="custom" $state="aaa2">@@color:red;No... No. Arguably Epictetus takes such a position, but King is clear: “All segregation statutes are unjust because segregation distorts the soul and damages the personality” [2B]@@</$details>
<$details state="!!accord5" summary="(e) Bringing tension to the surface, and drawing attention to errors and injustices, need not involve a lack of respect for the law or for ideals of public order; accepting legal penalties helps to express such respect clearly." mode="custom" $state="aaa4">@@color:green; Yes. Indeed; “the highest respect for the law” is shown by disobeying unjust laws (openly and lovingly) and then submitting to the penalty of law.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!King often speaks idealistically — invoking high expectations in spite of evidence of flaws, injustice, and corruption. For example…
<$details state="!!accord1" summary="(a) Although there is no lack of injustices over the cousse of human history, the arc of history “bends toward justice,” so liberation from racist segregation is inevitable." mode="custom" $state="aaa3">@@color:red;No... The last part is problematic; the bending @@</$details>
<$details state="!!accord2" summary="(b) Although the democratic process can lead to unjust legislation on the books, an unjust law is “no law at all.”" mode="custom" $state="aaa2">@@color:green; Yes. This quote comes from Augustine, and King endorses it.@@</$details>
<$details state="!!accord3" summary="(c) America, despite its past, is fundamentally worthy of high expectations; its goal include freedom and equality." mode="custom" $state="aaa4">@@color:green; Yes. @@</$details>
<$details state="!!accord4" summary="(d) Segregationists, King thinks, have mistaken beliefs, but like him they are just acting on their own conscience." mode="custom" $state="aaa5">@@color:red;No... @@</$details>
<$details state="!!accord5" summary="(e) King appeals to a form of Christianity — the “church within the church” — that aspires to implement divine ideals on earth, rather than accepting earthly existence as fundamentally fallen." mode="custom" $state="aaa1">@@color:green; Yes. See 5A for “the church within the church”@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Kohlberg’s account of moral development may remind us of various other ideas and claims we’ve encountered this semester… About these, Kohlberg would likely say…
<$details state="!!accord1" summary="(a) Plato’s Crito illustrates a tension between different stages of moral reasoning: Crito’s initial worries revolve around social reputation and various possible results of Socrates’ choice, while Socrates is focused on matters of principle." mode="custom" $state="aaa3">@@color:green; Yes. @@</$details>
<$details state="!!accord2" summary="(b) Kant’s moral writings illustrate stage-six moral reasoning, but do not show any appreciation for each person’s need to inhabit other stages of moral reasoning first." mode="custom" $state="aaa1">@@color:green; Yes. @@</$details>
<$details state="!!accord3" summary="(c) Utilitarian reasoning patterns often exhibit stage-five reasoning, though Mill’s discussion of justice illustrates aspects of the highest (stage-six) stage." mode="custom" $state="aaa4">@@color:green; Yes. @@</$details>
<$details state="!!accord4" summary="(d) When children are focused on understanding and conforming to the expectations of authority-figures, they illustrate the attitude that Beauvoir calls “seriousness”" mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
<$details state="!!accord5" summary="(e) Instead of teaching Aristotle’s list of virtues, moral educators should encourage children to enumerate their own list of virtues, and understand that no set of virtues is better or worse than any other." mode="custom" $state="aaa2">@@color:red;No... Arguably, Kohlberg should appreciate that Nussbaum draws Aristotle’s account more clearly toward a stage-six pattern of moral reasoning.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Kohlberg notes that educators are often wary of “indoctrinating” students by discussing ethics. They worry that moral education can only take place within some particular set of cultural values, which have only relative value. In handling this worry about relativism, Kohlberg argues…
<$details state="!!accord1" summary="(a) Vague terms such as “moral values” may seem to acknowledge differences respectfully, but speaking vaguely about the importance of “having values” downplays the role of critical reflection and questioning." mode="custom" $state="aaa3">@@color:green; Yes. @@</$details>
<$details state="!!accord2" summary="(b) Creating an inclusive list of virtues doesn’t solve the problem, since the details surrounding virtue raise problems of interpretation and disagreement." mode="custom" $state="aaa2">@@color:green; Yes. @@</$details>
<$details state="!!accord3" summary="(c) Value clarification is a fundamentally misguided approach because it accepts the relativism of values." mode="custom" $state="aaa1">@@color:red;No... Not quite — value clarification in itself can be a positive tool according to Kohlberg...@@</$details>
<$details state="!!accord4" summary="(d) In some parts of the world, few individuals become morally mature by age 16, and the cultural values in those places can be recognized as deficient." mode="custom" $state="aaa4">@@color:red;No... @@</$details>
<$details state="!!accord5" summary="(e) When we attend, empirically, to the variety of values people endorse, we should conclude that there is nothing universal about moral reasoning." mode="custom" $state="aaa5">@@color:red;No... @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Korsgaard argues for a double level moral theory, claiming that…
<$details state="!!accord1" summary="(a) Although it may be permissible in some cases to manipulate someone who is acting on evil intentions, such manipulation is still morally regrettable." mode="custom" $state="aaa3">@@color:green; Yes. This is the point of Korsgaard’s reflection on Bernard Williams. A consequentialist (single-level moral theorist) has no room for this kind of regret.@@</$details>
<$details state="!!accord2" summary="(b) The Formulas of Humanity and Universal Law will sometimes yield different results in evaluating the same maxim of action." mode="custom" $state="aaa1">@@color:green; Yes. This is the key premise. Note Kant himself never recognizes any such difference in results.@@</$details>
<$details state="!!accord3" summary="(c) When dealing with cases of evil, there is no role for the Formula of Humanity or Kingdom of Ends." mode="custom" $state="aaa4">@@color:red;No... They still do have the role of marking the ideal toward which we aim to bring the actual world.@@</$details>
<$details state="!!accord4" summary="(d) When a person abandons the ideal standard and lies (with the intention of thwarting evil), she or he is responsible for all results, even if they are unexpected." mode="custom" $state="aaa5">@@color:green; Yes. Yes, this is a central point on which Korsgaard defends Kant’s reasoning. But Kant had claimed that one should never try to become responsible for consequences in this way, and Korsgaard disagrees.@@</$details>
<$details state="!!accord5" summary="(e) Sometimes we should violate rigorous moral standards, because Kant’s ideals are too burdensome and unrealistic for any ordinary person." mode="custom" $state="aaa2">@@color:red;No... Although many find Kant unattractive because his rigorism is too demanding, the exceptions Korsgaard has in mind do not make morality easier to achieve in practice. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Mill states that people’s desire for their own individual happiness…
<$details state="!!accord1" summary="(a) underlies our interest in virtue, health, and other goods which can become associated with it." mode="custom" $state="aaa3">@@color:green; Yes. Yes; this is the association process that expands the range of things that become part of our happiness.@@</$details>
<$details state="!!accord2" summary="(b) is instinctual for human beings and, when combined with the natural desire for unity with others, will offer strong support to a utilitarian morality." mode="custom" $state="aaa1">@@color:green; Yes. @@</$details>
<$details state="!!accord3" summary="(c) becomes increasingly intertwined with cooperation and social coordination over time." mode="custom" $state="aaa4">@@color:green; Yes. @@</$details>
<$details state="!!accord4" summary="(d) can lead us to develop habits that -- once they are entrenched -- may lead people to do what clearly no longer serves their own happiness." mode="custom" $state="aaa5">@@color:green; Yes. Further, we should note that Mill might recognize both positive and negative examples of such entrenched habits; some habits are virtuous, some vicious.@@</$details>
<$details state="!!accord5" summary="(e) means that there is no real need for external sanctions (such as punishment) to motivate moral behavior." mode="custom" $state="aaa2">@@color:red;No... Mill does not make this claim; furthermore, he clearly does not expect that people will ever have all of their behavior driven //directly// by an interest in general happiness.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Marx claims the prevalence of certain ideas, in a given society, can be traced to relations of social and economic dominance. (p. 225 in “Morality as Ideology”) In elaborating this point, Marxists might say…
<$details state="!!accord1" summary="(a) A culture that celebrates activities like sports, tv entertainment, and alcohol consumption is one that helps solidify people’s sense of being most alive when they are not working — hence people tend not to expect or demand meaningful work." mode="custom" $state="aaa3">@@color:green; Yes. @@</$details>
<$details state="!!accord2" summary="(b) Utilitarianism might seem to support egalitarian reforms, but it also reinforces an acceptance of sacrifices and trade-offs, as well as a preoccuption with efficiency and measurement of usefulness." mode="custom" $state="aaa1">@@color:green; Yes. See section 8 of this Marx reading@@</$details>
<$details state="!!accord3" summary="(c) When politicians insist that “Americans need jobs,” this reinforces the idea that work is like a commodity that capitalists “give” to people." mode="custom" $state="aaa4">@@color:green; Yes. @@</$details>
<$details state="!!accord4" summary="(d) Capitalists stand to benefit from certain religious ideas, such as non-violence and expectations of heavenly rewards for earthy patience." mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
<$details state="!!accord5" summary="(e) Idealist moral theories, such as Kant’s, distract people from thinking critically about their relation to the material world, including historically-shaped economic problems." mode="custom" $state="aaa2">@@color:green; Yes. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Mill acknowledges that people do not always think of their actions as a means to happiness, but he argues that that happiness is still, in a sense, the overarching goal of human action.
To make sense of these points, he claims…
<$details state="!!accord1" summary="(a) If some activity is frequently associated with enjoyment (or with relief from suffering), it can come to seem intrinsically desirable over time. Through this association, it becomes a part of that person’s happiness." mode="custom" $state="aaa2">@@color:green; Yes. This is the core of the argument in Chapter IV@@</$details>
<$details state="!!accord2" summary="(b) People can confuse happiness (the real goal) with other things — such as money, fame, or power — that become mistakenly associated with it." mode="custom" $state="aaa5">@@color:red;No... Mill does talk about how various experiences become associated with happiness, but Mill’s claim is not that things are “mistakenly confused” with happiness, but that happiness itself expands so as to incorporate new “parts” such as money, power, etc. @@</$details>
<$details state="!!accord3" summary="(c) Some things, like virtue, should be desired for their own sake, but people are never motivated to act virtuously except when they believe virtue will lead to individual happiness." mode="custom" $state="aaa3">@@color:red;No... Neither half here is quite right. Mill never claims something *should* be desired for its own sake; as an empiricist he is offering and account of what people *do* desire. Yet what people do desire, on his account, may easily include virtue, so long as virtue comes to be associated with happiness.@@</$details>
<$details state="!!accord4" summary="(d) Happiness means not just pleasure, but also the prevention and mitigation of pain. So various unpleasant activities (that don’t “make us happy” while we’re doing them) can still be motivated by the quest for well-being in the long run." mode="custom" $state="aaa4">@@color:green; Yes. Some of these points are addressed in Chapter 2, but this remains an important aspect of Mill’s account.@@</$details>
<$details state="!!accord5" summary="(e) When a person’s actions predictably lead to her own suffering, then even suffering should be seen as a form of happiness, because it has been chosen." mode="custom" $state="aaa1">@@color:red;No... Some clever critics of human action claim something like this. Mill does not. It’s possible for a person to act based on habit, even if those actions no longer promise happiness. The suffering that results is not called happiness by Mill.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Mill distinguishes so-called “perfect” and “imperfect” duties, about which he claims (or implies) …
<$details state="!!accord1" summary="(a) Perfect duties are matters of justice, and this is turn implies that some individual right is at stake in each case." mode="custom" $state="aaa2">@@color:green; Yes. “Thus, therefore... duties of perfect obligation are those duties in virtue of which a correlative right resides in some person or persons; duties of imperfect obligation are those moral obligations which do not give birth to any right... this distinction [perfect vs imperfect duties] exactly coincides with ... justice and the [rest of] morality.”... @@</$details>
<$details state="!!accord2" summary="(b) When perfect duties are violated, legal enforcement is necessary to preserve the basic preconditions of society; imperfect duties, however, are those that should be punished only through social attitudes of disapproval." mode="custom" $state="aaa5">@@color:red;No... Some perfect duties are not enforceable by law; some imperfect duties are. Also, the third kind of sanction (through conscience) is not mentioned here at all, and these are an important alternative to attitudes of disapproval, on Mill's account.@@</$details>
<$details state="!!accord3" summary="(c) Perfect duties are those around which we experience clear social consensus; imperfect duties, however, are more controversial." mode="custom" $state="aaa3">@@color:red;No... Though it sounds like a neat and attractive way to line things up, Mill simply makes no such claim. Clearly, we can work harder to reach agreement on matters of justice (issues where rights are open to competing claims), but we still lack "clear social consensus" around exactly what justice requires.@@</$details>
<$details state="!!accord4" summary="(d) Punishment is appropriate only for violations of perfect duties; for imperfect duties, enforcement has costs that outweigh the benefits." mode="custom" $state="aaa4">@@color:red;No... For //all// potential punishment, Mill weighs costs against benefits to determine the appropriate degree and means of punishment (legal, social, or private conscience), but there’s no correspondence between perfect duties and what’s appropriate to punish overtly. In particular, various risky and environmentally irresponsible actions may not violate the rights of identifiable individuals, and yet can be appropriately punished.@@</$details>
<$details state="!!accord5" summary="(e) The pursuit of one’s own happiness is only an imperfect duty (as Kant claimed); considering one’s impact on the general happiness, however, is a perfect duty." mode="custom" $state="aaa1">@@color:red;No... Mill doesn’t argue for “duties to self” at all. Meanwhile, considering impact on general utility is not a “duty” -- as such -- at all. (Happiness-outcomes determine moral status, but you need not be thinking of these in order to do the right thing.) Compare this point with the claim in (a) and you'll also see how considering the general happiness can't possibly be a perfect duty... that would mean that every time you don't do so, you violate some particular person's right.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Most of Chapter 2 is devoted to the “preliminary” task of considering various objections to utilitarianism, arguing that these objections “originate in, or are closely connected with, mistaken interpretations of its meaning” (p. 5). In addressing opponents of utilitarianism, Mill argues…
<$details state="!!accord1" summary="(a) even if happiness is not fully “achievable”, the utilitarian goal of reducing suffering is realistic and important." mode="custom" $state="aaa3">@@color:green; Yes. This is the point of Mill’s twelfth paragraph, beginning “The first...”@@</$details>
<$details state="!!accord2" summary="(b) All pleasures are of equal value, so long as they do not cause pain for anyone else." mode="custom" $state="aaa1">@@color:red;No... Mill does argue that some pleasures are “higher” than others.@@</$details>
<$details state="!!accord3" summary="(c) religious moral codes are the product of irrational superstition, and tend to undermine general happiness." mode="custom" $state="aaa4">@@color:red;No... Mill’s text is hardly welcome to religious thinkers, but his own claim is that religion and “superstition” often capture the lessons of experience, however imperfectly. (Compare against Hume, whose utilitarianism disparages superstition, and some religion, more openly.)@@</$details>
<$details state="!!accord4" summary="(d) Trying to aim, constantly, for general utility isn’t really recommended; people promote utility more reliably by cultivating various virtues and moral emotions" mode="custom" $state="aaa5">@@color:green; Yes. Mill’s utilitarianism is “indirect” -- that is, the best way to promote utilitarian ends is NOT necessarily to TRY to promote utilitarian ends.@@</$details>
<$details state="!!accord5" summary="(e) Moral intuitions (such as Kant’s a priori principles) don’t really yield clear results unless we take consequences into account." mode="custom" $state="aaa2">@@color:green; Yes. Indeed; he rejects Kant’s own insistence that causal results play no real role in the categorical imperative.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Suppose you are a doctor who is in a position to secretly save four lives (four patients desperately awaiting transplants) by taking the life of one patient with healthy organs (but who is terminally ill, depressed, cognitively hdisoriented, and friendless). Mill would say…
<$details state="!!accord1" summary="(a) Society benefits more from preventing such calculated sacrifice of some individuals for the sake of others than from the possibility of saving lives in such situations." mode="custom" $state="aaa3">@@color:green; Yes. Rights have this structure for Mill: they apply to all individual cases, even the ones where utility seems not to be served.@@</$details>
<$details state="!!accord2" summary="(b) If nobody has sympathy for the person whose life would be sacrificed, then utilitarians conclude that justice requires this secret sacrifice." mode="custom" $state="aaa1">@@color:red;No... p. 51: the desire to punish grows out of sympathy + retaliation instinct. However, though justice grows out of these sentiments, Mill does not endorse limiting rights to those for whom we happen to feel sympathy.@@</$details>
<$details state="!!accord3" summary="(c) There is a great deal of disagreement about the nature of justice, so we must engage in a detailed cost-benefit analysis in trade-off cases like this." mode="custom" $state="aaa4">@@color:red;No... Justice is to be understood based on general considerations of utility; where justice is at stake, we generally should not decide on a case-by-case basis.@@</$details>
<$details state="!!accord4" summary="(d) We can never know with certainly the consequences of our actions, so we should not risk treating any person merely as a means." mode="custom" $state="aaa5">@@color:red;No... This is Kant, of course -- not Mill!@@</$details>
<$details state="!!accord5" summary="(e) Justice and morality are not the same, so although Mill agrees that killing one person to save others is an unjust action, it is still not morally wrong." mode="custom" $state="aaa2">@@color:red;No... All unjust actions are morally wrong, on Mill’s view. Injustice is a subset of moral wrongness.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Clearly, Nietzsche expresses contempt for egalitarianism, and socialism is one of his targets. Yet there are important points on which Marx and Nietzsche seem aligned. For example…
<$details state="!!accord1" summary="(a) Like Marx, Nietzsche draws attention to how moral ideas change over historical time, and how shifting ideas about value reflect shifting power relations." mode="custom" $state="aaa3">@@color:green; Yes. This is the core premise for this Unit: seeing moral ideas as part of the shifting world of power and influence.@@</$details>
<$details state="!!accord2" summary="(b) Both Marx and Nietzsche present utilitarianism in a critical light." mode="custom" $state="aaa1">@@color:green; Yes. Marx p. 233: utilitarianism reflects an interest in seeing everything through a lens of “use” and “exploitation. While Nietzche //approves// of exploitation, he still sees utilitarianism as reflecting bad faith: denying an interest in exploitation and creativity, and settling for a “leveling” of social differences.@@</$details>
<$details state="!!accord3" summary="(c) Parallel to Marx’s interest in overcoming alienation, Nietzsche frequently invokes the importance of self-realization." mode="custom" $state="aaa4">@@color:green; Yes. Indeed; while Marx thinks of human activity primarily in terms of work (and how certain ways of life undermine the meaningfulness of this work), Nietzsche thinks of human activity primarily in terms of attitudes toward one’s power (and how certain ways of thinking distract us from inhabiting our power openly and without self-deceit).@@</$details>
<$details state="!!accord4" summary="(d) Both resist the idea that reason gives us abstract and a priori moral principles, such as Kant’s categorical imperative." mode="custom" $state="aaa5">@@color:green; Yes. follows from their historicism and interest in the particulars of various human ways of life.@@</$details>
<$details state="!!accord5" summary="(e) Nietzsche would approve of Marx’s skeptical stance toward religion, as when Marx writes: “the more [a person] externalizes himself, the poorer he becomes himself in his inner life and the less he can call his own. It is just the same in religion. The more man puts into God, the less he retains in himself.” (Marx 226-7)" mode="custom" $state="aaa2">@@color:green; Yes. Indeed, both read religion through the lens of a “hermeneutics of suspicion”: look “behind” the ideals to inquire into their origins: whose interests are served, how these ideas reshape the social world in ways that may not match their explicit ideals.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Noddings criticizes the exclusive focus on reason and justification found in much mainstream ethics, and insists on the importance of lived interactions and feeling. Yet, she does not simply reject reason, claiming or implying that…
<$details state="!!accord1" summary="(a) Reflecting on the common practices of those who care can help us develop clear rules for how to conduct ourselves in situations that are alike in relevant respects." mode="custom" $state="aaa3">@@color:red;No... 321@@</$details>
<$details state="!!accord2" summary="(b) When we care for another person, our actions should be based on reasons that a disinterested (and reasonable) observer would understand." mode="custom" $state="aaa1">@@color:green; Yes. 320@@</$details>
<$details state="!!accord3" summary="(c) When we care for someone, we begin with the goal of enhancing their well-being, and choose rationally among means toward that end." mode="custom" $state="aaa4">@@color:red;No... 320@@</$details>
<$details state="!!accord4" summary="(d) Those who engage in caring must evaluate themselves by assessing, coolly, whether their actions have actually been good for the cared-for." mode="custom" $state="aaa5">@@color:red;No... 325@@</$details>
<$details state="!!accord5" summary="(e) When we establish agencies and institutions for public benefit, we must rely on taking an impartially reasonable stance toward the beneficiaries of such programs." mode="custom" $state="aaa2">@@color:green; Yes. 321-322@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Noddings explicitly or implicitly responds to other moral philosophers we have studied. For example…
<$details state="!!accord1" summary="(a) While Kant asks us to act from duty rather than inclination, caring individuals prioritize spontaneity and are not interested in notions of obligation or moral effort." mode="custom" $state="aaa3">@@color:red;No... “Ethical caring” is the attempt to bring oneself into a caring stance when it is not spontaneously present.@@</$details>
<$details state="!!accord2" summary="(b) Consequentialists like Singer are unrealistic in asking us to be equally concerned with everyone’s interests, because each of us is obligated only to those we love, and there are strangers that we could never come to care about." mode="custom" $state="aaa2">@@color:red;No... Careful -- it’s not that there are specific people we can’t and shouldn’t care *about*, but rather than we can’t care *for* everyone simultaneously... (319)@@</$details>
<$details state="!!accord3" summary="(c) Kohlberg’s view, that moral maturity involves judging what’s right by prioritizing among principles, places too exclusive an emphasis on reasoning and abstract judgment." mode="custom" $state="aaa1">@@color:green; Yes. more excerpts, 1 and 42@@</$details>
<$details state="!!accord4" summary="(d) One who cares, unlike the ideal Kantian agent, is not preoccupied with whether her actions meet standards of consistency." mode="custom" $state="aaa4">@@color:green; Yes. 320 bottom@@</$details>
<$details state="!!accord5" summary="(e) Relativists are right to be skeptical of universal moral judgments, but they continue to focus excessively on debates over justification, and miss the opportunity to recognize something shared in our moral experience." mode="custom" $state="aaa5">@@color:green; Yes. p. 324 -- notice, however, that Noddings is somewhat reluctant to say they are “mistaken”...@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!About cultural differences, [[Nussbaum]] claims (in [["Non-Relative Virtues"|Nussbaum, Non-Relative Virtues]])…
<$details state="!!accord1" summary="(a) the fact that cultures differ does not entail that there is nothing objective about morality." mode="custom" $state="aaa3">@@color:green; Yes. This is N’s main point: there can be something objective in the nature of the challenge (even if it’s addressed differently).@@</$details>
<$details state="!!accord2" summary="(b) relativists tend to over-simplify cultures, treating them as isolated, when in fact people today are shaped by multiple cultural influences." mode="custom" $state="aaa5">@@color:green; Yes. Nussbaum emphasizes that cross-cultural encounter is not just possible, but actually influential in many lives.@@</$details>
<$details state="!!accord3" summary="(c) that we can understand many of them as alternative ways of solving a shared human problem." mode="custom" $state="aaa1">@@color:green; Yes. The shared problem is how to handle a challenging “sphere”@@</$details>
<$details state="!!accord4" summary="(d) we should admit that there is no such thing as a perspective or interpretation that is free of cultural influence." mode="custom" $state="aaa4">@@color:green; Yes. 216, 218@@</$details>
<$details state="!!accord5" summary="(e) that cultural differences between ancient Greece and modern society help explain why Aristotle’s description of a virtuous differs from what tends to be admired today." mode="custom" $state="aaa2">@@color:green; Yes. The specific virtues [[Aristotle]] discusses are shaped by his cultural milieu, even if the theoretical structure is still helpful.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Nussbaum argues that Aristotle’s approach to virtue ethics encourages us to think about human flourishing — and virtues’ role in supporting that flourishing — in a way that does not collapse into cultural relativism. Aristotle can be understood as recognizing various “spheres” in which humans must learn to choose well. About these spheres, Nussbaum says or implies…
<$details state="!!accord1" summary="(a) People don’t disagree about what these spheres are; people disagree only on the details of how to handle them well." mode="custom" $state="aaa3">@@color:red;No... No, this simply isn’t claimed by Nussbaum; she acknowledges that there’s important debate around identifying the spheres. Of course, there’s some insight in seeing Aristotle’s list of virtues as especially informed by his social and economic privilege.@@</$details>
<$details state="!!accord2" summary="(b) We could talk about each virtue in a “thin” way (the virtue of handling Sphere X well), or in a “thick” way (having such-and-such admirable character traits related to X). " mode="custom" $state="aaa2">@@color:green; Yes. This is the crucial distinction that drives Nussbaum’s argument for Aristotle’s value beyond his own culture — the theory of virtues, including a “thin” theory of their nature.@@</$details>
<$details state="!!accord3" summary="(c) Aristotle believed there can be progress in cultural norms and laws; such progress would go along with greater insight in handling the human “spheres of choice” better." mode="custom" $state="aaa4">@@color:green; Yes. See Nussbaum’s §3, p. 205@@</$details>
<$details state="!!accord4" summary="(d) We achieve happiness (eudaimonia) by learning how to handle each of these spheres in a way that we find personally satisfying." mode="custom" $state="aaa5">@@color:red;No... Nussbaum never endorses the kind of relativism that treats a person’s own evaluative perspective as the final reference-point for how well that person is conducting their life.@@</$details>
<$details state="!!accord5" summary="(e) These spheres present problems” for human choice, but it remains possible for different social groups to work out alternative “solutions” to those problems." mode="custom" $state="aaa1">@@color:green; Yes. The shared problem is how to handle a challenging “sphere”@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{||batch}}
!!!Both articles on pandemic/disaster triage care emphasize the possibility of needing to shift from routine standards of care to public emergency or crisis standards. This shift parallels [[Korsgaard]]’s “two-level theory” of ethics, on which some situations allow us to shift from an “ideal” mode of ethical decision-making to a [[non-ideal theory]] stance, while reflecting carefully on what moral limits apply even in the non-ideal circumstances. For example…
<$details state="!!accord1" summary="(a) Both articles emphasize that even non-ideal decision-making standards should be transparent and subject to some kind of public discussion." mode="custom" $state="aaa3">@@color:green; Yes. Indeed; both press for more clarity and openness, inviting @@</$details>
<$details state="!!accord2" summary="(b) Tabery et al suggest that utilitarian standards play a greater role in non-ideal circumstances than they do in ordinary routine care." mode="custom" $state="aaa2">@@color:green; Yes. Yes. Although utilitarian considerations already operate in a few areas of medicine (such as ER triage), particular doctor-patient interactions have been largely insulated from concerns about wider social benefits and costs.@@</$details>
<$details state="!!accord3" summary="(c) Kraus, Levy, and Kelen acknowledge that the standard of “patient autonomy” may seem to be sacrificed when they are subject to triage. However, they attempt to justify the idea that patients //implicitly// consent to the possibility that triage may affect their care; and they recommend making this possibility more explicit in the future." mode="custom" $state="aaa1">@@color:green; Yes. p. 52 col A; p. 54 col B@@</$details>
<$details state="!!accord4" summary="(d) Tabery et al acknowledge that there is no easy solution to decision-making under the non-ideal circumstances of a pandemic." mode="custom" $state="aaa4">@@color:green; Yes. Indeed; their recourse to a “hybrid” solution, despite its limitations, reveals their ambivalence about both utilitarian and egalitarian models.@@</$details>
<$details state="!!accord5" summary="(e) Both articles express concern that crisis-oriented triage is more vulnerable to being influenced by bias or discrimination." mode="custom" $state="aaa5">@@color:green; Yes. Though bias is not absent in traditional health-care, the explicit invocation of any standard of “usefulness” (even if it is the “narrow utility” of being helpful within the medical emergency) is especially likely to be shaped by bias, exactly where the consequences of such bias are most grave.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!In “Nature in the Active Voice,” Plumwood discusses various ways people have failed to understand ourselves ecologically. For example…
<$details state="!!accord1" summary="(a) Knowledge and creativity are often portrayed as exclusively human, or as abilities that cannot be realized by “mere matter” without the intervention of a transcendent being." mode="custom" $state="aaa3">@@color:green; Yes. @@</$details>
<$details state="!!accord2" summary="(b) The turn to nuclear power illustrates an anti-ecological attitude, creating hazardous waste that can never be allowed to re-circulate, and relying on future human beings to manage this inherited burden perfectly." mode="custom" $state="aaa2">@@color:green; Yes. @@</$details>
<$details state="!!accord3" summary="(c) Scientific knowledge and reason inherently demand a reductionist materialist stance, and are thus incompatible with ecological connectedness." mode="custom" $state="aaa1">@@color:red;No... Plumwood explicitly treats science and reason as //not// inevitably committed to reductive materialism; she presents science and reason as compatible with connectedness.@@</$details>
<$details state="!!accord4" summary="(d) We tend to deny that non-human sentient beings should also be seen the way we see ourselves — as beings with individual rights that should not be violated." mode="custom" $state="aaa4">@@color:red;No... While sentience, like agency, may pervade Plumwood’s portrayal of nature, she does not suggest that reason and rights are appropriately attributed to all beings in nature; the individualism of human-centered approaches is a problem for Plumwood, much as for Kate Rawles.@@</$details>
<$details state="!!accord5" summary="(e) Even many environmental thinkers have suggested that we should think only instrumentally about the importance of other species, as though what matters about them is reducibly to their impact on human wellbeing." mode="custom" $state="aaa5">@@color:green; Yes. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Val Plumwood, like existentialists, finds moral importance in the recognition of creativity and agency. About these, she suggests…
<$details state="!!accord1" summary="(a) Failure to recognize agency in nature is not just disrespectful; it is also dangerous to human well-being, leading us to act imprudently." mode="custom" $state="aaa3">@@color:green; Yes. Plumwood is careful to insist that “backfiring” against human interests is only one aspect of the problem, yet it is indeed an important part. Plumwood argues that hyper-separation attitudes are dangerous (as well as unjust) because they lead us to disregard long-term human interests (as well as the interests of non-humans).@@</$details>
<$details state="!!accord2" summary="(b) Denying creativity and agency within nature is encouraged not just by certain scientific attitudes, but also by certain religious attitudes." mode="custom" $state="aaa1">@@color:green; Yes. p 41 — This is the worry about “Creationism” as the view on which one supernatural being generates the world and settles the nature and purpose of each thing in advance.@@</$details>
<$details state="!!accord3" summary="(c) Insofar as we fail to recognize such phenomena in non-human beings, our own self-understanding is also distorted." mode="custom" $state="aaa4">@@color:green; Yes. p. 36: When we hyper-separate ourselves from nature and reduce it conceptually, we not only lose the ability to empathize (and to see the nonhuman sphere in ethical terms) but also get a false sense of our own character and location that includes an illusory sense of agency and autonomy.@@</$details>
<$details state="!!accord4" summary="(d) Philosophical arguments about such matters are important, but not sufficient; a thorough rethink also benefits from metaphor, poetry, and literature that can shift our perspective on experience." mode="custom" $state="aaa5">@@color:green; Yes. Plumwood does not claim explicitly that philosophical argument is not enough, but it is implied by her concern with poetry, literature, and forms of writing that change our culture.@@</$details>
<$details state="!!accord5" summary="(e) Saying that animals themselves are literally “creative” is an anthropomorphic mistake, but such metaphors about nature may help us think, and live, in more sustainable ways." mode="custom" $state="aaa2">@@color:red;No... The charge of anthropomorphism is itself part of the problem, she argues. Plumwood is not conceding that the recognition of agency and creativity in the non-human world is “mere metaphor” @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!Although nearly all conventional moral theory has focused on human concerns, some moral philosophers have attempted to extend these theories to affirm important forms of moral status for certain non-human beings. According to Rawles, this “extensionist” approach to ethics…
<$details state="!!accord1" summary="(a) accepts that some particular quality is what gives human beings moral importance, and goes on to argue that this very quality can be found in certain non-human beings as well." mode="custom" $state="aaa1">@@color:green; Yes. Yes, see p. 146-47: “problematic... assumption that moral significance depends upon the possession of a particular characteristic.”@@</$details>
<$details state="!!accord2" summary="(b) can be called ecological, because it widens the circle of moral concern beyond human beings." mode="custom" $state="aaa2">@@color:red;No... Rawles calls the most prominent extensionist view (the “no-trespass” attitude) “unecological” because it does not acknowledge interdependence. To be fair, a utilitarian like Singer would argue that the “no-trespass” view is Regan’s, not his own. Still, Singer’s view requires “disregarding ... special relationships ... [and] the fabric of ... life...” (p. 148) which similarly denies that we are animals whose choices take place within an ecology of interactions.@@</$details>
<$details state="!!accord3" summary="(c) tends to focus on the wellbeing of individual animals, rather than on collective phenomena such as species survival or ecosystem preservation." mode="custom" $state="aaa3">@@color:green; Yes. See p. 149-150: “the attemp to to articulate and explore .. our obligations to ecological collectives is not facilitated by conventional, individualistic ethical theories.” (150)@@</$details>
<$details state="!!accord4" summary="(d) tends to idealize impartiality too much, insisting that morality requires looking beyond all the special relationships and bonds that would tempt us to prioritize the human interests that are most familiar and dear to us." mode="custom" $state="aaa4">@@color:green; Yes. 147-148 Rawles word is “consistency”, but the issue is exactly what we could call strict “impartiality” -- not making any room, in moral choice, for emotions, bonds, and special relationships.@@</$details>
<$details state="!!accord5" summary="(e) may be strategically useful in addressing certain problems, because it appeals to familiar concepts that make sense to policy-makers." mode="custom" $state="aaa5">@@color:green; Yes. This is the gist of the paragraph towards the bottom of p. 149: “Conventional approaches ... have been helpful ... for example in the context of medical research or veterinary medicine ... [existing ethical systems have] potential for delivering powerful indictments against the mistreatment of animals.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!Commenting on the controversy surrounding the goat-culling practices in the Galápagos Islands (conducted for the sake of tortoise conservation), Kate Rawles might likely say…
<$details state="!!accord1" summary="(a) The extension of rights-based ethical theories to encompass non-human concerns is often inadequate; the structure of such theories is more suitable for the human problems for which they were developed." mode="custom" $state="aaa3">@@color:green; Yes. Indeed; rights-based theories, with their focus on protections against violation, are appropriate to interactions among individuals who do not in any depend, for their livelihood, on killing one another; such rights-based approaches work only within civil societies with various institutions that can adjudicate claims of injustice, etc.@@</$details>
<$details state="!!accord2" summary="(b) It is misguided to seek some single criterion that would delineate the difference between species that deserve moral consideration and species which do not." mode="custom" $state="aaa1">@@color:green; Yes. This is central to Rawles’ argument: no single criterion distinguishes “morally worthy” species from those that do not deserve moral consideration. @@</$details>
<$details state="!!accord3" summary="(c) The motivation behind opposition to the goat-culling is driven by sentimental or emotional reasoning, and conservation biologists are right to resist such arguments because they are unscientific and lack objectivity." mode="custom" $state="aaa4">@@color:red;No... Rawles argues against the contempt for emotion that some conservationists associate with a scientific attitude.@@</$details>
<$details state="!!accord4" summary="(d) Our moral priority should be the long-term interests of human beings, who matter to us because of our relationships, so conservationists are right to preserve ecological biodiversity even if it causes the suffering of individual animals." mode="custom" $state="aaa5">@@color:red;No... Rawles does make room for the importance of relations among human beings, but certainly does not imply that these concerns warrant simple dismissal of suffering caused to individual animals.@@</$details>
<$details state="!!accord5" summary="(e) Welfarist philosophers like Singer will represent goat-culling as a necessary, though regrettable, case of speciesism; the tortoise may otherwise go extinct." mode="custom" $state="aaa2">@@color:red;No... Singer would not call this “speciesism,” nor would he argue that there are “necessary though regrettable” instances of speciesism.@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
{{clear-both}}
{{||batch}}
!!!In his [[essay|Singer, Famine Affluence and Morality]], [[Peter Singer|Singer]] [[anticipates|anticipated objection]] a number of different [[objections|objection]] which might be made against his [[argument]], and [[responds|reading for objections and replies]] to each of them. According to Singer’s discussion…
<$details state="!!accord1" summary="(a) The fact that others are not acting on their obligation to donate to famine relief (or similar organizations) does not reduce how much we are obligated to give." mode="custom" $state="aaa3">@@color:green; Yes. Note that the AMOUNT that you should give can be affected by whether others are giving. Yet the fact that they’re not giving (if they are not) doesn’t affect the fact that (on Singer’s account) you are obligated to give.@@</$details>
<$details state="!!accord2" summary="(b) Governments, too, are obligated to spend greatly more money on humanitarian aid than they currently spend." mode="custom" $state="aaa2">@@color:green; Yes. Of course. This still does not undermine individual moral responsibility.@@</$details>
<$details state="!!accord3" summary="(c) There is no defensible distinction between duty and charity, since what people call “charity” causes are in fact causes to which we are morally required to contribute." mode="custom" $state="aaa1">@@color:red;No... Singer does think there’s a possible distinction of this kind, just not where it has traditionally been drawn@@</$details>
<$details state="!!accord4" summary="(d) If you are convinced that famine relief organizations are less effective than some other method for mitigating dramatic preventable suffering (such as famines), then you morally ought to devote your efforts to (whatever you take to be) the better method." mode="custom" $state="aaa4">@@color:green; Yes. Yes; this is the point of the population control discussion.@@</$details>
<$details state="!!accord5" summary="(e) Morality as such requires people devote their full-time efforts to the mitigation of preventable suffering and the promotion of happiness." mode="custom" $state="aaa5">@@color:red;No... Not quite: if people in general rose to the occasion and helped to prevent significant suffering, then preventing significant suffering might not be a “full-time job”... But also: Singer explicitly distances himself from the idea that we are positively obligated to promote *happiness* — his argument is focused on obligation to mitigate suffering...@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!In the Crito, Socrates states or implies that “the majority” or “the many”…
<$details state="!!accord1" summary="(a) would claim that it is legitimate to retaliate for one evil with another evil." mode="custom" $state="aaa5">@@color:green; Yes. 49d: this view is clearly linked to the majority. “Very few” agree that we must never do wrong in return for wrong.@@</$details>
<$details state="!!accord2" summary="(b) are incapable of making someone wise." mode="custom" $state="aaa3">
@@color:green; Yes. See 44d. Note the [[argument]] here is an [[enthymeme]]: <br>@@ <br> @@.ind SOCRATES: Would that the majority could inflict the greatest evils, for they would then be capable of the greatest good, and that would be fine, but now they cannot do either. They cannot make a man either wise or foolish, but they inflict things haphazardly.@@
</$details>
<$details state="!!accord3" summary="(c) have no power to do the most important kind of good or harm." mode="custom" $state="aaa1">@@color:green; Yes. See 44d@@</$details>
<$details state="!!accord4" summary="(d) deserve respect because they are the source of the laws in the Athenian democracy." mode="custom" $state="aaa2">@@color:red;No... Clearly Socrates does not equate respect for Law (as such) with respect for the majority (as such), even in a democracy.@@</$details>
<$details state="!!accord5" summary="(e) tend to value things like reputation and to make decisions by trying to manipulate consequences." mode="custom" $state="aaa4">@@color:green; Yes. 48c-d: Socrates associates “questions... about money, reputation, the upbringing of children...” with “those people ... I mean the majority.” In other places, it’s clear that concerns about what people with think and about upbringing of children are ones Socrates thinks of as attempts to secure certain desirable results (consequences).@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!![[Kant]], in his [[Groundwork §1|Kant1]], distinguishes acting //__in accord with__ [[duty]]// from acting //__from__ [[duty]]//. About this [[distinction]], he claims or implies…
<$details state="!!accord1" summary="(a) the desire to imitate an exemplary person does not represent genuinely moral motivation." mode="custom" $state="aaa3">@@color:green; Yes. 409: Imitation has no place at all in moral matters.@@</$details>
<$details state="!!accord2" summary="(b) acting from duty is never a matter of trying to bring about a certain causal result or effect, but is instead a matter of acting on the right principle." mode="custom" $state="aaa5">@@color:green; Yes. indeed. See ¶16 “Thus moral worth does not lie in effect or in expectation of effect...”@@</$details>
<$details state="!!accord3" summary="(c) Respect is an emotional inclination that can motivate us to treat others well, but true moral action requires that we not rely on emotion." mode="custom" $state="aaa1">@@color:red;No... Kant discusses the “feeling” of respect in the last footnote to §1, denying that it is an INCLINATION (or emotion/passion) at all, but rather an attitude generated by reason as it responds to something's non-instrumental worth — to its value even apart from when we get out of it.@@</$details>
<$details state="!!accord4" summary="(d) experience does not provide any clear example of action performed from duty, since an explanation in terms of selfish motives might always be offered." mode="custom" $state="aaa4">@@color:green; Indeed. Even if an action seems admirable, we never reach full confidence that an action's motive is free from selfish ulterior interests and inclinations, on Kant's account. @@</$details>
<$details state="!!accord5" summary="(e) when our behavior towards someone is intended to help us achieve our own goals, we are not acting in accord with duty." mode="custom" $state="aaa2">@@color:red;No... We may still be acting in ACCORD with duty, just not FROM duty...@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!In the concluding part of the [[Euthyphro]], after Euthyphro expresses frustration, [[Socrates]] begins to offer suggestions toward a definition of [[piety]]. In particular, Socrates invites Euthyphro to answer whether or not piety should be seen as a part [or species/subset] of justice. Considering the idea that piety might be defined in terms of its relation to justice…
<$details state="!!accord1" summary="(a) Socrates has his own reasons to be interested in this relation, since the setting of the dialogue is that the Athenian justice system is considering a case against him that includes accusations of impiety." mode="custom" $state="aaa2">@@color:green; Yes. We should note, though, that this dialogue (unlike Apology and Crito) does not pretend to be a record of events that happened that day. In fact, Socrates would not have ever met a priest named Euthyphro, though one had lived generations before, and his name was still known to the Athenians of Plato’s time.@@</$details>
<$details state="!!accord2" summary="(b) Euthyphro chooses to say that piety is a part of justice (rather than the other way around), in the same way that shame is a part of fear (rather than the other way around)." mode="custom" $state="aaa1">@@color:green; Yes. Just like “shame is a part of fear” but not vice versa...@@</$details>
<$details state="!!accord3" summary="(c) Socrates insists that a properly-formed definition must go on to specify what distinguishes piety from the rest of justice." mode="custom" $state="aaa3">@@color:green; Yes. This is a basic approach throughout Plato’s dialogues: A good definition takes the form of “genus plus species”. First, name the wider category into which something fits, then clarify how the concept in question is different from other members of that category. @@</$details>
<$details state="!!accord4" summary="(d) Euthyphro’s hypothesis is that piety is the part of justice that is concerned with care of the gods." mode="custom" $state="aaa4">@@color:green; Yes. Note Socrates’ comment at 12e about being able to resolve the issue with Meletus’ charges...@@</$details>
<$details state="!!accord5" summary="(e) Socrates believes that the gods disagree about matters such as what is just and unjust, and that the idea of justice therefore cannot really provide any objective help in defining piety." mode="custom" $state="aaa5">@@color:red;No... No, just not at all. @@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
!!!According to Aristotle’s discussion of eudaimonia (translated imperfectly as “happiness”):…
<$details state="!!accord1" summary="(a) It is the highest good, and hence the good toward which all policy-making and practical deliberation is ultimately directed." mode="custom" $state="aaa3">@@color:green; Yes. This is Aristotle’s claim: “political science” is the over-arching art of setting the conditions that best promote well-being (or “happiness”)@@</$details>
<$details state="!!accord2" summary="(b) is best assessed by that individual, since each person knows his or her own feelings best." mode="custom" $state="aaa4">@@color:red;No... There’s no affirmation of subjective authority about one’s own happiness in Aristotle.@@</$details>
<$details state="!!accord3" summary="(c) This ideal cannot yet be directly or fully realized by children; it requires a complete life, and can even be affected by events after a person’s death." mode="custom" $state="aaa5">@@color:green; Yes. Exactly. This is one way in which the English concept of happiness is a poor fit for Aristotle’s concept of eudaimonia.@@</$details>
<$details state="!!accord4" summary="(d) It is the only thing that is good in itself, and is the real point of being virtuous." mode="custom" $state="aaa1">@@color:red;No... It’s not the only thing. Virtue & health are choiceworthy for their own sake (as well as being means to happiness).@@</$details>
<$details state="!!accord5" summary="(e) Achieving this ideal state depends on one’s attitude and perspective; it is a state of character that is “up to us” in the sense that we can control whether we achieve it." mode="custom" $state="aaa2">@@color:red;No... Aristotle does say that our //virtue// is “up to us” (in at least in important respects), but he denies that our //eudaimonia// (happiness) is upo to us, for it is somewhat vulnerable to matters of fortune (what Epictetus would call “externals”)@@</$details>
@@float:right; <$button><$action-setfield accord1="open" accord2="open" accord3="open" accord4="open" accord5="open"/>Open all</$button> <$button> <$action-setfield accord1="" accord2="" accord3="" accord4="" accord5=""/>Close all</$button>@@
<<<.dark
“And thus are categorical imperatives possible because the idea of freedom makes me a member of an intelligible world”
<<<Kant, 55 [GMM Bekker pag needed!]
<<<.moo
@@.hly Is it not possible to choose to follow our natural feelings over reason? If so, is it possible to control the degree at which I am a member of the intelligible world?@@ @@.hlg Kant argues that humans occupy both the natural and intelligible world,@@ but @@.hly do humans vary in the degree to which they live in one over the other?@@ @@.hlb Kant may argue that the degree at which one is a member of the intelligible world does not matter, but instead it is the capacity to be a member that grants one freedom.@@ @@.hly If this is so, does it not affect the amount to which one is free?@@ (107 words)
<<<
<$details class="eval" summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
|alternating-rows|k
</$details>
<<<.dark
"Socrates: Then according to your argument, my good Euthyphro, different gods consider different things to be just, beautiful, ugly, good, and bad, for they would not be at odds with one another unless they differed about these subjects, would they?" (Euthyphro 7e)
"Socrates: But you say that some things are considered just by some gods and unjust by others" (Euthyphro 7e-8a)
"Socrates: And the same things would be both pious and impious according to this argument? (Euthyphro 8a)
<<<
<<<.moo
Socrates argues that it's impossible to determine what is pleasing to the gods, who argue so much among themselves that their views must differ on what is good and pious. However, in a monotheistic or secular society there are no such confusion. For example, believers in the Abrahamic god are inclined to follow unambiguous commandments, such as "Thou shall not kill". Socrates' response to these arguments might hinge on the moral ambiguity of divinity itself. In response to this Abrahamic criticism, Socrates might point out that a monotheistic God must have created both "good" and "bad" things, and it is still impossible to determine God's moral preferences.
<<<
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
<<<.dark
E: I would certainly say that the pious is what all the gods love, and the opposite, what all the gods hate, is the impious.
<<<[Plato, Euthypro 9e]
<<<.dark
S: …if anything is being changed or is being affected in any way, it is not being changed because it is something changed, but rather it is something changed because it is being changed; nor is it being affected because it is something affected, but it is something affected because it is being affected.
<<<[Plato, Euthypro 10c]
<<<.dark
S: It is being loved then because it is pious, but it is not pious because it is being loved?
E: Apparently
S: And yet it is something loved and god-loved because it is being loved by the gods?
E: Of course.
S: Then the god-loved is not the same as the pious, Euthy-phro, nor the pious the same as the god-loved, as you say it is, but one differs from the other.
<<<[Plato, Euthypro 10d]
<<<.moo
@@.hlg Socrates’ conclusion that “pious” and “god-loved” cannot be the same heavily relies on the Euthypro’s confirmation that something is being loved “because it is pious.”@@ @@.hly However, without this added assumption, just assuming that pious and god-loved are exactly the same and synonyms, there is no contradiction in the definition. There is after all no other direct action Socrates says that “affect[s]” something to be pious, so this contradiction does not follow from that and depends entirely on Euthypro’s answer to Socrates’ leading question, which poses pious and god-loved as being separate things.@@ @@.hlb Socrates may respond that this only confirms that Euthypro is the one whose logic is circular and who is himself unsure of the definition, which therefore cannot hold.@@
<<< nz
<$details summary="Evaluation notes...">
|!@@color:white;aspect @@|!@@color:white;score @@|!@@color:white;notes @@|
| !Focus|{{!!xf}}|{{!!yf}}|
| !Accuracy|{{!!xa}}|{{!!ya}}|
| !Critique|{{!!xc}}|{{!!yc}}|
| !Engagement|{{!!xe}}|{{!!ye}}|
| !Technical details|{{!!xt}}|{{!!yt}}|
</$details>
<<<.dark
E: “Well then, what is dear to the gods is pious, what is not is impious.” [Euthyphro 7a]
S: “Is the pious being loved by the gods because it is pious, or is it pious because it is being loved by the gods?”
<<<[Euthyphro 10a]
<<<.moo
Euthyphro’s definition of piety (being loved by the gods) is not sufficient according to Socrates, who insists that either something’s piety elicits its being loved by the gods, or that thing’s piety derives from being loved by the gods. I would like to cast doubt on the following premises: 1.) those options are the only potential conceptualizations of piety and 2.) piety and being loved by the gods have a relationship in which one is independent of the other. Why can piety and being loved by the gods not be conceptualized as being interdependent with one another? Socrates might respond that his teacher Euthyphro, who knows what piety is, does not put that framework forth.
<<<
{"tiddlers":{"$:/Acknowledgements":{"title":"$:/Acknowledgements","text":"TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|https://jasmine.github.io/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"},"$:/core/copyright.txt":{"title":"$:/core/copyright.txt","type":"text/plain","text":"TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright (c) 2004-2007, Jeremy Ruston\nCopyright (c) 2007-2024, UnaMesa Association\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\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* 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\n* 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."},"$:/core/icon":{"title":"$:/core/icon","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"},"$:/core/images/add-comment":{"title":"$:/core/images/add-comment","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-add-comment tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 56H36a8 8 0 100 16h20v20a8 8 0 1016 0V72h20a8 8 0 100-16H72V36a8 8 0 10-16 0v20zm-12.595 58.362c-6.683 7.659-20.297 12.903-36.006 12.903-2.196 0-4.35-.102-6.451-.3 9.652-3.836 17.356-12.24 21.01-22.874C8.516 94.28 0 79.734 0 63.5 0 33.953 28.206 10 63 10s63 23.953 63 53.5S97.794 117 63 117c-6.841 0-13.428-.926-19.595-2.638z\"/></svg>"},"$:/core/images/advanced-search-button":{"title":"$:/core/images/advanced-search-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-advanced-search-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M74.565 87.985A47.776 47.776 0 0148 96C21.49 96 0 74.51 0 48S21.49 0 48 0s48 21.49 48 48c0 9.854-2.97 19.015-8.062 26.636l34.347 34.347a9.443 9.443 0 010 13.36 9.446 9.446 0 01-13.36 0l-34.36-34.358zM48 80c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/><circle cx=\"48\" cy=\"48\" r=\"8\"/><circle cx=\"28\" cy=\"48\" r=\"8\"/><circle cx=\"68\" cy=\"48\" r=\"8\"/></g></svg>"},"$:/core/images/auto-height":{"title":"$:/core/images/auto-height","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-auto-height tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M67.987 114.356l-.029-14.477a4 4 0 00-2.067-3.494l-15.966-8.813-1.933 7.502H79.9c4.222 0 5.564-5.693 1.786-7.58L49.797 71.572 48.01 79.15h31.982c4.217 0 5.564-5.682 1.795-7.575L49.805 55.517l-1.795 7.575h31.982c4.212 0 5.563-5.67 1.805-7.57l-16.034-8.105 2.195 3.57V35.614l9.214 9.213a4 4 0 105.656-5.656l-16-16a4 4 0 00-5.656 0l-16 16a4 4 0 105.656 5.656l9.13-9.13v15.288a4 4 0 002.195 3.57l16.035 8.106 1.804-7.57H48.01c-4.217 0-5.564 5.682-1.795 7.574l31.982 16.059 1.795-7.575H48.01c-4.222 0-5.564 5.693-1.787 7.579l31.89 15.923 1.787-7.578H47.992c-4.133 0-5.552 5.504-1.933 7.501l15.966 8.813-2.067-3.494.029 14.436-9.159-9.158a4 4 0 00-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656l-9.185 9.184zM16 20h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"},"$:/core/images/blank":{"title":"$:/core/images/blank","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\"/>"},"$:/core/images/bold":{"title":"$:/core/images/bold","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-bold tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.146 51.81V21.87h26.353c2.51 0 4.93.21 7.26.628 2.33.418 4.392 1.165 6.185 2.24 1.793 1.076 3.227 2.57 4.302 4.482 1.076 1.913 1.614 4.363 1.614 7.35 0 5.379-1.613 9.263-4.84 11.653-3.227 2.39-7.35 3.586-12.37 3.586H41.146zM13 0v128h62.028a65.45 65.45 0 0016.762-2.151c5.438-1.434 10.278-3.645 14.52-6.633 4.244-2.988 7.62-6.842 10.13-11.563 2.51-4.721 3.764-10.308 3.764-16.762 0-8.008-1.942-14.85-5.826-20.527-3.884-5.677-9.77-9.65-17.658-11.921 5.737-2.75 10.069-6.275 12.997-10.577 2.928-4.303 4.392-9.681 4.392-16.135 0-5.976-.986-10.995-2.958-15.059-1.972-4.063-4.75-7.32-8.336-9.77-3.585-2.45-7.888-4.213-12.907-5.289C84.888.538 79.33 0 73.235 0H13zm28.146 106.129V70.992H71.8c6.095 0 10.995 1.404 14.7 4.212 3.705 2.81 5.558 7.5 5.558 14.073 0 3.347-.568 6.096-1.703 8.247-1.136 2.151-2.66 3.854-4.572 5.11-1.912 1.254-4.123 2.15-6.633 2.688-2.51.538-5.139.807-7.888.807H41.146z\"/></svg>"},"$:/core/images/cancel-button":{"title":"$:/core/images/cancel-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 76.314l-16.97 16.97a7.999 7.999 0 01-11.314 0c-3.118-3.118-3.124-8.19 0-11.313L52.686 65l-16.97-16.97a7.999 7.999 0 010-11.314c3.118-3.118 8.19-3.124 11.313 0L64 53.686l16.97-16.97a7.999 7.999 0 0111.314 0c3.118 3.118 3.124 8.19 0 11.313L75.314 65l16.97 16.97a7.999 7.999 0 010 11.314c-3.118 3.118-8.19 3.124-11.313 0L64 76.314zM64 129c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 1 0 29.654 0 65c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 17 64 17 16 38.49 16 65s21.49 48 48 48z\"/></svg>"},"$:/core/images/chevron-down":{"title":"$:/core/images/chevron-down","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-down tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.053 85.456a7.889 7.889 0 01-5.6-2.316L2.473 27.16a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0L64.05 66.344l50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.105 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.317z\"/><path d=\"M64.053 124.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.085 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></g></svg>"},"$:/core/images/chevron-left":{"title":"$:/core/images/chevron-left","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M47.544 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L66.656 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.105 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.317-5.595z\"/><path d=\"M8.931 64.053c0-2.027.77-4.054 2.316-5.6l55.98-55.98a7.92 7.92 0 0111.196 0c3.085 3.086 3.092 8.105 0 11.196L28.041 64.05l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.085-8.104 3.092-11.196 0l-55.98-55.98a7.892 7.892 0 01-2.316-5.595z\"/></g></svg>"},"$:/core/images/chevron-right":{"title":"$:/core/images/chevron-right","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-right tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M83.456 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196L64.344 63.95 13.963 13.567a7.92 7.92 0 010-11.195c3.086-3.085 8.105-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.317 5.595z\"/><path d=\"M122.069 63.947c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></g></svg>"},"$:/core/images/chevron-up":{"title":"$:/core/images/chevron-up","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-chevron-up tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M63.947 44.544c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 63.656l-50.382 50.382a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.317z\"/><path d=\"M63.947 5.931c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.105 3.092-11.196 0L63.95 25.041 13.567 75.423a7.92 7.92 0 01-11.195 0c-3.085-3.086-3.092-8.104 0-11.196l55.98-55.98a7.892 7.892 0 015.595-2.316z\"/></g></svg>"},"$:/core/images/clone-button":{"title":"$:/core/images/clone-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-clone-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M32.265 96v24.002A7.996 7.996 0 0040.263 128h79.74a7.996 7.996 0 007.997-7.998v-79.74a7.996 7.996 0 00-7.998-7.997H96V48h12.859a2.99 2.99 0 012.994 2.994v57.865a2.99 2.99 0 01-2.994 2.994H50.994A2.99 2.99 0 0148 108.859V96H32.265z\"/><path d=\"M40 56h-7.993C27.588 56 24 52.418 24 48c0-4.41 3.585-8 8.007-8H40v-7.993C40 27.588 43.582 24 48 24c4.41 0 8 3.585 8 8.007V40h7.993C68.412 40 72 43.582 72 48c0 4.41-3.585 8-8.007 8H56v7.993C56 68.412 52.418 72 48 72c-4.41 0-8-3.585-8-8.007V56zM8 0C3.58 0 0 3.588 0 8v80c0 4.419 3.588 8 8 8h80c4.419 0 8-3.588 8-8V8c0-4.419-3.588-8-8-8H8zM19 16A2.997 2.997 0 0016 19.001v57.998A2.997 2.997 0 0019.001 80h57.998A2.997 2.997 0 0080 76.999V19.001A2.997 2.997 0 0076.999 16H19.001z\"/></g></svg>"},"$:/core/images/close-all-button":{"title":"$:/core/images/close-all-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-close-all-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M28 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L16.686 100 2.543 85.856a8 8 0 0111.313-11.313L28 88.686l14.144-14.143a8 8 0 0111.313 11.313L39.314 100l14.143 14.144a8 8 0 01-11.313 11.313L28 111.314zM28 39.314L13.856 53.457A8 8 0 012.543 42.144L16.686 28 2.543 13.856A8 8 0 0113.856 2.543L28 16.686 42.144 2.543a8 8 0 0111.313 11.313L39.314 28l14.143 14.144a8 8 0 01-11.313 11.313L28 39.314zM100 39.314L85.856 53.457a8 8 0 01-11.313-11.313L88.686 28 74.543 13.856A8 8 0 0185.856 2.543L100 16.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 28l14.143 14.144a8 8 0 01-11.313 11.313L100 39.314zM100 111.314l-14.144 14.143a8 8 0 01-11.313-11.313L88.686 100 74.543 85.856a8 8 0 0111.313-11.313L100 88.686l14.144-14.143a8 8 0 0111.313 11.313L111.314 100l14.143 14.144a8 8 0 01-11.313 11.313L100 111.314z\"/></g></svg>"},"$:/core/images/close-button":{"title":"$:/core/images/close-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M65.086 75.41l-50.113 50.113c-3.121 3.121-8.192 3.126-11.316.002-3.118-3.118-3.123-8.19.002-11.316l50.114-50.114L3.659 13.982C.538 10.86.533 5.79 3.657 2.666c3.118-3.118 8.19-3.123 11.316.002l50.113 50.114L115.2 2.668c3.121-3.121 8.192-3.126 11.316-.002 3.118 3.118 3.123 8.19-.002 11.316L76.4 64.095l50.114 50.114c3.121 3.121 3.126 8.192.002 11.316-3.118 3.118-8.19 3.123-11.316-.002L65.086 75.409z\"/></svg>"},"$:/core/images/close-others-button":{"title":"$:/core/images/close-others-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-close-others-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48zm0-16c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32zm0-16c8.837 0 16-7.163 16-16s-7.163-16-16-16-16 7.163-16 16 7.163 16 16 16z\"/></svg>"},"$:/core/images/copy-clipboard":{"title":"$:/core/images/copy-clipboard","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-copy-clipboard tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"33\" height=\"8\" x=\"40\" y=\"40\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"82\" rx=\"4\"/><rect width=\"17\" height=\"8\" x=\"40\" y=\"54\" rx=\"4\"/><rect width=\"33\" height=\"8\" x=\"40\" y=\"96\" rx=\"4\"/><rect width=\"12\" height=\"8\" x=\"40\" y=\"68\" rx=\"4\"/><path d=\"M40 16H24c-4.419 0-8 3.59-8 8a8.031 8.031 0 000 .01v95.98a8.03 8.03 0 000 .01c0 4.41 3.581 8 8 8h80a7.975 7.975 0 005.652-2.34 7.958 7.958 0 002.348-5.652v-16.016c0-4.414-3.582-7.992-8-7.992-4.41 0-8 3.578-8 7.992V112H32V32h64v8.008C96 44.422 99.582 48 104 48c4.41 0 8-3.578 8-7.992V23.992a7.963 7.963 0 00-2.343-5.651A7.995 7.995 0 00104.001 16H88c0-4.41-3.585-8-8.007-8H48.007C43.588 8 40 11.582 40 16zm4-1.004A4.001 4.001 0 0148 11h32c2.21 0 4 1.797 4 3.996v4.008A4.001 4.001 0 0180 23H48c-2.21 0-4-1.797-4-3.996v-4.008z\"/><rect width=\"66\" height=\"16\" x=\"62\" y=\"64\" rx=\"8\"/><path d=\"M84.657 82.343l-16-16v11.314l16-16a8 8 0 10-11.314-11.314l-16 16a8 8 0 000 11.314l16 16a8 8 0 1011.314-11.314z\"/></g></svg>"},"$:/core/images/default-layout":{"title":"$:/core/images/default-layout","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-default-layout tc-image-button\" viewBox=\"0 0 128 128\">\n <path d=\"M71.93 72A8.07 8.07 0 0 1 80 80.07v7.86A8.071 8.071 0 0 1 71.93 96H8.07A8.067 8.067 0 0 1 0 87.93v-7.86A8.072 8.072 0 0 1 8.07 72h63.86Zm0 32a8.07 8.07 0 0 1 8.07 8.07v7.86a8.071 8.071 0 0 1-8.07 8.07H8.07A8.067 8.067 0 0 1 0 119.93v-7.86A8.072 8.072 0 0 1 8.07 104h63.86Zm0-104A8.068 8.068 0 0 1 80 8.07v47.86A8.073 8.073 0 0 1 71.93 64H8.07A8.07 8.07 0 0 1 0 55.93V8.07A8.072 8.072 0 0 1 8.07 0h63.86Zm48 0c2.14 0 4.193.85 5.706 2.364A8.067 8.067 0 0 1 128 8.07v111.86c0 2.14-.85 4.193-2.364 5.706A8.067 8.067 0 0 1 119.93 128H96.07c-2.14 0-4.193-.85-5.706-2.364A8.067 8.067 0 0 1 88 119.93V8.07c0-2.14.85-4.193 2.364-5.706A8.067 8.067 0 0 1 96.07 0h23.86ZM116 24h-16a3.995 3.995 0 0 0-2.828 1.172 3.995 3.995 0 0 0 0 5.656A3.995 3.995 0 0 0 100 32h16a3.995 3.995 0 0 0 2.828-1.172 3.995 3.995 0 0 0 0-5.656A3.995 3.995 0 0 0 116 24Z\"/>\n</svg>"},"$:/core/images/delete-button":{"title":"$:/core/images/delete-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(12)\"><rect width=\"105\" height=\"16\" y=\"11\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"28\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"8\" y=\"16\" rx=\"8\"/><rect width=\"88\" height=\"16\" x=\"8\" y=\"112\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"80\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"56\" y=\"16\" rx=\"8\"/><rect width=\"16\" height=\"112\" x=\"32\" y=\"16\" rx=\"8\"/></g></svg>"},"$:/core/images/done-button":{"title":"$:/core/images/done-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M42.26 111.032c-2.051.001-4.103-.78-5.668-2.345L2.662 74.758a8 8 0 01-.005-11.32c3.118-3.117 8.192-3.12 11.32.007l28.278 28.278 72.124-72.124a8.002 8.002 0 0111.314-.001c3.118 3.118 3.124 8.19 0 11.315l-77.78 77.78a7.978 7.978 0 01-5.658 2.343z\"/></svg>"},"$:/core/images/down-arrow":{"title":"$:/core/images/down-arrow","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.177 100.069a7.889 7.889 0 01-5.6-2.316l-55.98-55.98a7.92 7.92 0 010-11.196c3.086-3.085 8.105-3.092 11.196 0l50.382 50.382 50.382-50.382a7.92 7.92 0 0111.195 0c3.086 3.086 3.092 8.104 0 11.196l-55.98 55.98a7.892 7.892 0 01-5.595 2.316z\"/></svg>"},"$:/core/images/download-button":{"title":"$:/core/images/download-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-download-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\" class=\"tc-image-download-button-ring\"/><path d=\"M34.35 66.43l26.892 27.205a4.57 4.57 0 006.516 0L94.65 66.43a4.7 4.7 0 000-6.593 4.581 4.581 0 00-3.258-1.365h-8.46c-2.545 0-4.608-2.087-4.608-4.661v-15.15c0-2.575-2.063-4.662-4.608-4.662H55.284c-2.545 0-4.608 2.087-4.608 4.662v15.15c0 2.574-2.063 4.661-4.608 4.661h-8.46c-2.545 0-4.608 2.087-4.608 4.662a4.69 4.69 0 001.35 3.296z\"/></g></svg>"},"$:/core/images/edit-button":{"title":"$:/core/images/edit-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M95.627 10.059l-5.656 5.657 11.313 11.313 5.657-5.656-11.314-11.314zm5.657-5.657l1.966-1.966c3.123-3.122 8.194-3.129 11.319-.005 3.117 3.118 3.122 8.192-.005 11.32l-1.966 1.965-11.314-11.314zm-16.97 16.97l-60.25 60.25a8.12 8.12 0 00-.322.342c-.1.087-.198.179-.295.275-5.735 5.735-10.702 22.016-10.702 22.016s16.405-5.09 22.016-10.702c.095-.096.186-.193.272-.292a8.12 8.12 0 00.345-.325l60.25-60.25-11.314-11.313zM35.171 124.19c6.788-.577 13.898-2.272 23.689-5.348 1.825-.573 3.57-1.136 6.336-2.04 16-5.226 21.877-6.807 28.745-7.146 8.358-.413 13.854 2.13 17.58 8.699a4 4 0 006.959-3.946c-5.334-9.406-13.745-13.296-24.933-12.744-7.875.39-14.057 2.052-30.835 7.533-2.739.894-4.46 1.45-6.25 2.012-19.46 6.112-30.77 7.072-39.597 1.747a4 4 0 10-4.132 6.85c6.333 3.82 13.754 5.12 22.438 4.383z\"/></g></svg>"},"$:/core/images/erase":{"title":"$:/core/images/erase","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-erase tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.087 127.996l63.015-63.015c6.535-6.535 6.528-17.115-.003-23.646L99.466 17.702c-6.539-6.538-17.117-6.532-23.646-.003L4.898 88.62c-6.535 6.534-6.528 17.115.003 23.646l15.73 15.73h39.456zm-34.95-7.313l-14.324-14.325c-3.267-3.268-3.268-8.564-.008-11.824L46.269 59.07l35.462 35.462-26.15 26.15H25.137z\"/></svg>"},"$:/core/images/excise":{"title":"$:/core/images/excise","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-excise tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 107.314l-2.343 2.343a8 8 0 11-11.314-11.314l16-16a8 8 0 0111.314 0l16 16a8 8 0 11-11.314 11.314L72 107.314v14.284c0 3.536-3.582 6.402-8 6.402s-8-2.866-8-6.402v-14.284zM0 40.007C0 35.585 3.59 32 8 32c4.418 0 8 3.588 8 8.007v31.986C16 76.415 12.41 80 8 80c-4.418 0-8-3.588-8-8.007V40.007zm32 0C32 35.585 35.59 32 40 32c4.418 0 8 3.588 8 8.007v31.986C48 76.415 44.41 80 40 80c-4.418 0-8-3.588-8-8.007V40.007zm48 0C80 35.585 83.59 32 88 32c4.418 0 8 3.588 8 8.007v31.986C96 76.415 92.41 80 88 80c-4.418 0-8-3.588-8-8.007V40.007zm-24-32C56 3.585 59.59 0 64 0c4.418 0 8 3.588 8 8.007v31.986C72 44.415 68.41 48 64 48c-4.418 0-8-3.588-8-8.007V8.007zm56 32c0-4.422 3.59-8.007 8-8.007 4.418 0 8 3.588 8 8.007v31.986c0 4.422-3.59 8.007-8 8.007-4.418 0-8-3.588-8-8.007V40.007z\"/></svg>"},"$:/core/images/export-button":{"title":"$:/core/images/export-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-export-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.003 128H119.993a7.984 7.984 0 005.664-2.349v.007A7.975 7.975 0 00128 120V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v56H16V56c0-4.418-3.59-8-8-8-4.418 0-8 3.58-8 8v64c0 4.418 3.59 8 8 8h.003zm48.62-100.689l-8.965 8.966c-3.125 3.125-8.195 3.13-11.319.005-3.118-3.118-3.122-8.192.005-11.319L58.962 2.346A7.986 7.986 0 0164.625 0l-.006.002c2.05-.001 4.102.78 5.666 2.344l22.618 22.617c3.124 3.125 3.129 8.195.005 11.319-3.118 3.118-8.192 3.122-11.319-.005l-8.965-8.966v61.256c0 4.411-3.582 8-8 8-4.41 0-8-3.582-8-8V27.311z\"/></svg>"},"$:/core/images/file":{"title":"$:/core/images/file","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-file tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M111.968 30.5H112V120a8 8 0 01-8 8H24a8 8 0 01-8-8V8a8 8 0 018-8h57v.02a7.978 7.978 0 015.998 2.337l22.627 22.627a7.975 7.975 0 012.343 5.516zM81 8H24v112h80V30.5H89c-4.418 0-8-3.578-8-8V8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"68\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"84\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"100\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/></svg>"},"$:/core/images/fixed-height":{"title":"$:/core/images/fixed-height","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fixed-height tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60 35.657l-9.172 9.171a4 4 0 11-5.656-5.656l16-16a4 4 0 015.656 0l16 16a4 4 0 01-5.656 5.656L68 35.657v57.686l9.172-9.171a4 4 0 115.656 5.656l-16 16a4 4 0 01-5.656 0l-16-16a4 4 0 115.656-5.656L60 93.343V35.657zM16 116h96a4 4 0 100-8H16a4 4 0 100 8zm0-96h96a4 4 0 100-8H16a4 4 0 100 8z\"/></svg>"},"$:/core/images/fold-all-button":{"title":"$:/core/images/fold-all-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M64.03 20.004c-2.05 0-4.102.78-5.667 2.344L35.746 44.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 22.348a7.986 7.986 0 00-5.663-2.346zM64.03 85.002c-2.05-.001-4.102.78-5.667 2.344l-22.617 22.617c-3.125 3.125-3.13 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.966 16.966 16.966c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.192-.005-11.319L69.687 87.346A7.986 7.986 0 0064.024 85z\"/></g></svg>"},"$:/core/images/fold-button":{"title":"$:/core/images/fold-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M64.03 25.004c-2.05 0-4.102.78-5.667 2.344L35.746 49.966c-3.125 3.124-3.13 8.194-.005 11.318 3.118 3.118 8.192 3.122 11.319-.005l16.965-16.965 16.966 16.965c3.124 3.125 8.194 3.13 11.318.005 3.118-3.118 3.122-8.191-.005-11.318L69.687 27.348a7.986 7.986 0 00-5.663-2.346zM64.005 67.379c-2.05 0-4.102.78-5.666 2.344L35.722 92.34c-3.125 3.125-3.13 8.195-.006 11.32 3.118 3.117 8.192 3.121 11.32-.006L64 86.69l16.965 16.965c3.125 3.125 8.195 3.13 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L69.663 69.723A7.986 7.986 0 0064 67.377z\"/></g></svg>"},"$:/core/images/fold-others-button":{"title":"$:/core/images/fold-others-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-fold-others tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" y=\"56.031\" rx=\"8\"/><path d=\"M86.632 79.976c-2.05 0-4.102.78-5.666 2.345L64 99.286 47.034 82.321a7.986 7.986 0 00-5.662-2.346l.005.001c-2.05 0-4.102.78-5.666 2.345l-22.618 22.617c-3.124 3.125-3.129 8.195-.005 11.319 3.118 3.118 8.192 3.122 11.319-.005l16.966-16.966 16.965 16.966a7.986 7.986 0 005.663 2.346l-.005-.002c2.05 0 4.102-.78 5.666-2.344l16.965-16.966 16.966 16.966c3.125 3.124 8.194 3.129 11.319.005 3.118-3.118 3.122-8.192-.005-11.319L92.289 82.321a7.986 7.986 0 00-5.663-2.346zM86.7 48.024c-2.05 0-4.102-.78-5.666-2.345L64.07 28.714 47.103 45.679a7.986 7.986 0 01-5.663 2.346l.005-.001c-2.05 0-4.101-.78-5.666-2.345L13.162 23.062c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L41.44 28.714l16.966-16.966a7.986 7.986 0 015.662-2.346l-.005.002c2.05 0 4.102.78 5.666 2.344l16.966 16.966 16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L92.358 45.679a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/folder":{"title":"$:/core/images/folder","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-folder tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.694 128H8C3.58 128 0 124.414 0 119.996V48.004C0 43.584 3.584 40 7.999 40H16v-8c0-4.418 3.578-8 8-8h32a8 8 0 018 8v8h40.001c4.418 0 7.999 3.586 7.999 8.004V59.83l-8-.082v-7.749A4 4 0 0099.997 48H56V36c0-2.21-1.793-4-4.004-4H28.004A4 4 0 0024 36v12H12.003A4 4 0 008 52v64a4 4 0 004.003 4h46.76l-3.069 8z\"/><path d=\"M23.873 55.5h96.003c4.417 0 7.004 4.053 5.774 9.063l-13.344 54.374c-1.228 5.005-5.808 9.063-10.223 9.063H6.08c-4.417 0-7.003-4.053-5.774-9.063L13.65 64.563c1.228-5.005 5.808-9.063 10.223-9.063zm1.78 8.5h87.994c2.211 0 3.504 2.093 2.891 4.666l-11.12 46.668c-.614 2.577-2.902 4.666-5.115 4.666H12.31c-2.211 0-3.504-2.093-2.891-4.666l11.12-46.668C21.152 66.09 23.44 64 25.653 64z\"/></g></svg>"},"$:/core/images/full-screen-button":{"title":"$:/core/images/full-screen-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-full-screen-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 8a8 8 0 018-8h32a8 8 0 110 16H16v24a8 8 0 11-16 0V8zM128 120a8 8 0 01-8 8H88a8 8 0 110-16h24V88a8 8 0 1116 0v32zM8 128a8 8 0 01-8-8V88a8 8 0 1116 0v24h24a8 8 0 110 16H8zM120 0a8 8 0 018 8v32a8 8 0 11-16 0V16H88a8 8 0 110-16h32z\"/></svg>"},"$:/core/images/github":{"title":"$:/core/images/github","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-github tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M63.938 1.607c-35.336 0-63.994 28.69-63.994 64.084 0 28.312 18.336 52.329 43.768 60.802 3.202.59 4.37-1.388 4.37-3.088 0-1.518-.056-5.55-.087-10.897-17.802 3.871-21.558-8.591-21.558-8.591-2.911-7.404-7.108-9.375-7.108-9.375-5.81-3.973.44-3.895.44-3.895 6.424.453 9.803 6.606 9.803 6.606 5.709 9.791 14.981 6.963 18.627 5.322.582-4.138 2.236-6.963 4.063-8.564-14.211-1.617-29.153-7.117-29.153-31.672 0-6.995 2.495-12.718 6.589-17.195-.66-1.621-2.856-8.14.629-16.96 0 0 5.37-1.722 17.597 6.57 5.104-1.424 10.58-2.132 16.022-2.16 5.438.028 10.91.736 16.022 2.16 12.22-8.292 17.582-6.57 17.582-6.57 3.493 8.82 1.297 15.339.64 16.96 4.102 4.477 6.578 10.2 6.578 17.195 0 24.618-14.966 30.035-29.22 31.62 2.295 1.98 4.342 5.89 4.342 11.87 0 8.564-.079 15.476-.079 17.576 0 1.715 1.155 3.71 4.4 3.084 25.413-8.493 43.733-32.494 43.733-60.798 0-35.394-28.657-64.084-64.006-64.084\"/></svg>"},"$:/core/images/gitter":{"title":"$:/core/images/gitter","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-gitter tc-image-button\" viewBox=\"0 0 18 25\"><path d=\"M15 5h2v10h-2zM10 5h2v20h-2zM5 5h2v20H5zM0 0h2v15H0z\"/></svg>"},"$:/core/images/globe":{"title":"$:/core/images/globe","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-globe tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M72.811 37.128v2.554c0 2.196.978 6.881 0 8.832-1.466 2.928-4.65 3.54-6.394 5.867-1.182 1.577-4.618 10.601-3.69 12.92 3.969 9.922 11.534 3.187 17.962 9.293.864.821 2.887 2.273 3.296 3.296 3.29 8.223-7.576 15.009 3.757 26.3 1.245 1.24 3.813-3.817 4.079-4.614.852-2.563 6.725-5.45 9.088-7.053 2.02-1.37 4.873-2.667 6.328-4.745 2.27-3.244 1.48-7.514 3.098-10.745 2.139-4.274 3.828-9.635 5.998-13.966 3.898-7.781 4.721 2.093 5.067 2.439.358.357 1.011 0 1.517 0 .094 0 1.447.099 1.516 0 .65-.935-1.043-17.92-1.318-19.297-1.404-7.01-6.944-15.781-11.865-20.5-6.274-6.015-7.09-16.197-18.259-14.954-.204.022-5.084 10.148-7.777 13.512-3.728 4.657-2.47-4.153-6.526-4.153-.081 0-1.183-.103-1.253 0-.586.88-1.44 3.896-2.306 4.417-.265.16-1.722-.239-1.846 0-2.243 4.3 8.256 2.212 5.792 7.952-2.352 5.481-6.328-1.997-6.328 8.56M44.467 7.01c9.685 6.13.682 12.198 2.694 16.215 1.655 3.303 4.241 5.395 1.714 9.814-2.063 3.608-6.87 3.966-9.623 6.723-3.04 3.044-5.464 8.94-6.79 12.911-1.617 4.843 14.547 6.866 12.063 11.008-1.386 2.311-6.746 1.466-8.437.198-1.165-.873-3.593-.546-4.417-1.78-2.613-3.915-2.26-8.023-3.625-12.128-.938-2.822-6.313-2.12-7.844-.593-.523.522-.33 1.792-.33 2.505 0 5.285 7.12 3.316 7.12 6.46 0 14.636 3.927 6.534 11.14 11.336 10.036 6.683 7.844 7.303 14.946 14.404 3.673 3.673 7.741 3.686 9.425 9.294 1.602 5.331-9.327 5.339-11.716 7.448-1.123.991-2.813 4.146-4.219 4.615-1.792.598-3.234.496-4.944 1.78-2.427 1.82-3.9 4.932-4.02 4.81-2.148-2.147-3.52-15.479-3.89-18.257-.588-4.42-5.59-5.54-6.986-9.03-1.57-3.927 1.524-9.52-1.129-13.761-6.52-10.424-11.821-14.5-15.35-26.292-.942-3.148 3.342-6.529 4.877-8.833 1.877-2.816 2.662-5.854 4.746-8.635C22.147 24.19 40.855 9.461 43.857 8.635l.61-1.625z\"/><path d=\"M64 126c34.242 0 62-27.758 62-62 0-34.242-27.758-62-62-62C29.758 2 2 29.758 2 64c0 34.242 27.758 62 62 62zm0-6c30.928 0 56-25.072 56-56S94.928 8 64 8 8 33.072 8 64s25.072 56 56 56z\"/></g></svg>"},"$:/core/images/heading-1":{"title":"$:/core/images/heading-1","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-1 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M14 30h13.25v30.104H61.7V30h13.25v75.684H61.7V71.552H27.25v34.132H14V30zm70.335 13.78c2.544 0 5.017-.212 7.42-.636 2.403-.424 4.576-1.13 6.52-2.12 1.942-.99 3.603-2.261 4.981-3.816 1.378-1.555 2.28-3.463 2.703-5.724h9.858v74.2h-13.25V53.32H84.335v-9.54z\"/></svg>"},"$:/core/images/heading-2":{"title":"$:/core/images/heading-2","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-2 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm119.52 75.684H74.85c.07-6.148 1.555-11.519 4.452-16.112 2.897-4.593 6.855-8.586 11.872-11.978a133.725 133.725 0 017.526-5.141 59.6 59.6 0 007.208-5.353c2.19-1.908 3.993-3.975 5.406-6.201 1.413-2.226 2.155-4.788 2.226-7.685 0-1.343-.159-2.774-.477-4.293a11.357 11.357 0 00-1.855-4.24c-.919-1.307-2.19-2.403-3.816-3.286-1.625-.883-3.745-1.325-6.36-1.325-2.403 0-4.399.477-5.989 1.431-1.59.954-2.862 2.261-3.816 3.922-.954 1.66-1.66 3.622-2.12 5.883-.46 2.261-.724 4.7-.795 7.314H76.23c0-4.099.548-7.897 1.643-11.395 1.095-3.498 2.738-6.519 4.93-9.063 2.19-2.544 4.857-4.54 8.002-5.989C93.95 30.724 97.606 30 101.775 30c4.523 0 8.303.742 11.342 2.226 3.039 1.484 5.494 3.357 7.367 5.618 1.873 2.261 3.198 4.717 3.975 7.367.777 2.65 1.166 5.176 1.166 7.579 0 2.968-.46 5.653-1.378 8.056a25.942 25.942 0 01-3.71 6.625 37.5 37.5 0 01-5.3 5.565 79.468 79.468 0 01-6.148 4.77 165.627 165.627 0 01-6.36 4.24 94.28 94.28 0 00-5.883 4.028c-1.802 1.343-3.374 2.738-4.717 4.187-1.343 1.449-2.261 2.986-2.756 4.611h36.146v10.812z\"/></svg>"},"$:/core/images/heading-3":{"title":"$:/core/images/heading-3","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-3 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm88.885 32.224c1.979.07 3.957-.07 5.936-.424 1.979-.353 3.745-.972 5.3-1.855a10.365 10.365 0 003.763-3.657c.954-1.555 1.431-3.463 1.431-5.724 0-3.18-1.078-5.724-3.233-7.632-2.155-1.908-4.929-2.862-8.32-2.862-2.12 0-3.958.424-5.513 1.272a11.318 11.318 0 00-3.869 3.445c-1.025 1.449-1.784 3.074-2.279 4.876a18.335 18.335 0 00-.636 5.565H75.381c.141-3.604.813-6.943 2.014-10.017 1.201-3.074 2.844-5.742 4.93-8.003 2.084-2.261 4.61-4.028 7.578-5.3C92.871 30.636 96.228 30 99.973 30a29.2 29.2 0 018.533 1.272c2.791.848 5.3 2.085 7.526 3.71s4.01 3.692 5.353 6.201c1.343 2.509 2.014 5.388 2.014 8.639 0 3.745-.848 7.014-2.544 9.805-1.696 2.791-4.346 4.823-7.95 6.095v.212c4.24.848 7.544 2.95 9.911 6.307s3.551 7.438 3.551 12.243c0 3.533-.707 6.696-2.12 9.487a21.538 21.538 0 01-5.724 7.102c-2.403 1.943-5.194 3.445-8.374 4.505-3.18 1.06-6.537 1.59-10.07 1.59-4.31 0-8.074-.618-11.289-1.855s-5.9-2.986-8.056-5.247c-2.155-2.261-3.798-4.982-4.929-8.162-1.13-3.18-1.731-6.713-1.802-10.6h12.084c-.141 4.523.972 8.286 3.34 11.289 2.366 3.003 5.917 4.505 10.652 4.505 4.028 0 7.402-1.148 10.123-3.445 2.72-2.297 4.081-5.565 4.081-9.805 0-2.897-.565-5.194-1.696-6.89a10.97 10.97 0 00-4.452-3.869c-1.837-.883-3.904-1.431-6.2-1.643a58.067 58.067 0 00-7.05-.212v-9.01z\"/></svg>"},"$:/core/images/heading-4":{"title":"$:/core/images/heading-4","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-4 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8 30h13.25v30.104H55.7V30h13.25v75.684H55.7V71.552H21.25v34.132H8V30zm76.59 48.548h22.471V45.9h-.212L84.59 78.548zm43.46 9.54h-9.54v17.596H107.06V88.088h-31.8V76.11l31.8-44.626h11.448v47.064h9.54v9.54z\"/></svg>"},"$:/core/images/heading-5":{"title":"$:/core/images/heading-5","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-5 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm77.755 1.484h38.372v10.812H92.765L88.95 61.164l.212.212c1.625-1.837 3.692-3.233 6.201-4.187 2.509-.954 5-1.431 7.473-1.431 3.675 0 6.96.618 9.858 1.855 2.897 1.237 5.335 2.968 7.314 5.194s3.48 4.858 4.505 7.897c1.025 3.039 1.537 6.325 1.537 9.858 0 2.968-.477 6.024-1.43 9.169a25.161 25.161 0 01-4.559 8.586c-2.085 2.58-4.752 4.7-8.003 6.36-3.25 1.66-7.137 2.491-11.66 2.491-3.604 0-6.943-.477-10.017-1.431-3.074-.954-5.777-2.385-8.109-4.293-2.332-1.908-4.187-4.258-5.565-7.049-1.378-2.791-2.138-6.06-2.279-9.805h12.084c.353 4.028 1.731 7.12 4.134 9.275 2.403 2.155 5.583 3.233 9.54 3.233 2.544 0 4.7-.424 6.466-1.272 1.767-.848 3.198-2.014 4.293-3.498 1.095-1.484 1.873-3.215 2.332-5.194.46-1.979.69-4.099.69-6.36 0-2.05-.284-4.01-.849-5.883-.565-1.873-1.413-3.516-2.544-4.929-1.13-1.413-2.597-2.544-4.399-3.392-1.802-.848-3.904-1.272-6.307-1.272-2.544 0-4.929.477-7.155 1.431-2.226.954-3.834 2.738-4.823 5.353H75.805l7.95-40.598z\"/></svg>"},"$:/core/images/heading-6":{"title":"$:/core/images/heading-6","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-heading-6 tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M6 30h13.25v30.104H53.7V30h13.25v75.684H53.7V71.552H19.25v34.132H6V30zm106.587 20.246c-.283-3.039-1.36-5.494-3.233-7.367-1.873-1.873-4.399-2.809-7.579-2.809-2.19 0-4.08.406-5.67 1.219a12.435 12.435 0 00-4.029 3.233c-1.095 1.343-1.979 2.88-2.65 4.611a37.696 37.696 0 00-1.643 5.459 46.08 46.08 0 00-.9 5.671 722.213 722.213 0 00-.478 5.247l.212.212c1.625-2.968 3.87-5.176 6.731-6.625 2.862-1.449 5.954-2.173 9.275-2.173 3.675 0 6.96.636 9.858 1.908 2.897 1.272 5.353 3.021 7.367 5.247 2.014 2.226 3.551 4.858 4.611 7.897 1.06 3.039 1.59 6.325 1.59 9.858 0 3.604-.583 6.943-1.749 10.017-1.166 3.074-2.844 5.76-5.035 8.056-2.19 2.297-4.805 4.081-7.844 5.353-3.039 1.272-6.395 1.908-10.07 1.908-5.441 0-9.91-1.007-13.409-3.021-3.498-2.014-6.254-4.77-8.268-8.268-2.014-3.498-3.41-7.597-4.187-12.296-.777-4.7-1.166-9.77-1.166-15.211 0-4.452.477-8.94 1.431-13.462.954-4.523 2.526-8.639 4.717-12.349 2.19-3.71 5.07-6.731 8.64-9.063C92.676 31.166 97.075 30 102.304 30c2.968 0 5.76.495 8.374 1.484 2.615.99 4.93 2.367 6.943 4.134 2.014 1.767 3.657 3.887 4.93 6.36 1.271 2.473 1.978 5.23 2.12 8.268h-12.085zm-11.66 46.852c2.19 0 4.099-.442 5.724-1.325a12.869 12.869 0 004.081-3.445c1.095-1.413 1.908-3.056 2.438-4.929.53-1.873.795-3.798.795-5.777s-.265-3.887-.795-5.724c-.53-1.837-1.343-3.445-2.438-4.823-1.095-1.378-2.456-2.491-4.08-3.339-1.626-.848-3.534-1.272-5.725-1.272-2.19 0-4.116.406-5.777 1.219-1.66.813-3.056 1.908-4.187 3.286-1.13 1.378-1.979 2.986-2.544 4.823-.565 1.837-.848 3.78-.848 5.83 0 2.05.283 3.993.848 5.83.565 1.837 1.413 3.48 2.544 4.929a12.39 12.39 0 004.187 3.445c1.66.848 3.586 1.272 5.777 1.272z\"/></svg>"},"$:/core/images/help":{"title":"$:/core/images/help","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-help tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M36.055 111.441c-5.24 4.396-15.168 7.362-26.555 7.362-1.635 0-3.24-.06-4.806-.179 7.919-2.64 14.062-8.6 16.367-16.014C8.747 92.845 1.05 78.936 1.05 63.5c0-29.547 28.206-53.5 63-53.5s63 23.953 63 53.5-28.206 53.5-63 53.5c-10.055 0-19.56-2-27.994-5.559zm35.35-33.843a536.471 536.471 0 00.018-4.682 199.02 199.02 0 00-.023-3.042c.008-1.357.595-2.087 3.727-4.235.112-.077 1.085-.74 1.386-.948 3.093-2.133 5.022-3.786 6.762-6.187 2.34-3.228 3.558-7.077 3.558-11.649 0-13.292-9.86-21.952-21.455-21.952-11.103 0-22.499 9.609-24.066 22.295a6.023 6.023 0 1011.956 1.477c.806-6.527 6.972-11.726 12.11-11.726 5.265 0 9.408 3.64 9.408 9.906 0 3.634-1.1 5.153-5.111 7.919l-1.362.93c-2.682 1.84-4.227 3.1-5.7 4.931-2.109 2.62-3.242 5.717-3.258 9.314.013.892.02 1.86.022 2.981a470.766 470.766 0 01-.022 4.943 6.023 6.023 0 1012.046.12l.003-.395zm-6.027 24.499a7.529 7.529 0 100-15.058 7.529 7.529 0 000 15.058z\"/></svg>"},"$:/core/images/home-button":{"title":"$:/core/images/home-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112.985 119.502c.01-.165.015-.331.015-.499V67.568c3.137 2.948 8.076 2.884 11.134-.174a7.999 7.999 0 00-.002-11.316L70.396 2.343A7.978 7.978 0 0064.734 0a7.957 7.957 0 00-5.656 2.343L33 28.42V8.007C33 3.585 29.41 0 25 0c-4.418 0-8 3.59-8 8.007V44.42L5.342 56.078c-3.125 3.125-3.12 8.198-.002 11.316a7.999 7.999 0 0011.316-.003l.344-.343v52.945a8.11 8.11 0 000 .007c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8a8.11 8.11 0 00-.015-.498zM97 112V51.574L64.737 19.31 33 51.048V112h64z\"/></svg>"},"$:/core/images/import-button":{"title":"$:/core/images/import-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-import-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M114.832 60.436s3.235-3.27 6.921.417c3.686 3.686.231 7.14.231 7.14l-42.153 42.92s-30.765 32.367-58.798 4.333C-7 87.213 24.59 55.623 24.59 55.623L67.363 12.85s22.725-24.6 43.587-3.738c20.862 20.862-3.96 43.09-3.96 43.09l-35.04 35.04S49.903 112.546 36.426 99.07c-13.476-13.477 11.83-35.523 11.83-35.523l35.04-35.04s3.902-3.902 7.78-.023c3.879 3.878.118 7.921.118 7.921l-35.04 35.04s-13.212 13.212-8.872 17.551c4.34 4.34 16.77-9.653 16.77-9.653l35.04-35.04s16.668-14.598 3.966-27.3c-13.893-13.892-27.565 3.702-27.565 3.702l-42.91 42.91s-23.698 23.698-3.658 43.738 43.012-4.385 43.012-4.385l42.895-42.533z\"/></svg>"},"$:/core/images/info-button":{"title":"$:/core/images/info-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\" transform=\"translate(.05)\"><path d=\"M64 128c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64c0 35.346 28.654 64 64 64zm0-16c26.51 0 48-21.49 48-48S90.51 16 64 16 16 37.49 16 64s21.49 48 48 48z\"/><circle cx=\"64\" cy=\"32\" r=\"8\"/><rect width=\"16\" height=\"56\" x=\"56\" y=\"48\" rx=\"8\"/></g></svg>"},"$:/core/images/italic":{"title":"$:/core/images/italic","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-italic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M66.711 0h22.41L62.408 128H40z\"/></svg>"},"$:/core/images/layout-button":{"title":"$:/core/images/layout-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-layout-button tc-image-button\" viewBox=\"0 0 24 24\" stroke-width=\"1\" stroke=\"none\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><rect x=\"2\" y=\"2\" width=\"7\" height=\"7\" rx=\"2\"/><rect x=\"2\" y=\"13\" width=\"7\" height=\"9\" rx=\"2\"/><rect x=\"12\" y=\"2\" width=\"10\" height=\"20\" rx=\"2\"/></svg>"},"$:/core/images/left-arrow":{"title":"$:/core/images/left-arrow","created":"20150315234410875","modified":"20150315235324760","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-left-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M0 64.177c0-2.026.771-4.054 2.317-5.6l55.98-55.98a7.92 7.92 0 0111.195.001c3.086 3.085 3.092 8.104.001 11.195L19.111 64.175l50.382 50.382a7.92 7.92 0 010 11.195c-3.086 3.086-8.105 3.092-11.196.001l-55.98-55.98A7.892 7.892 0 010 64.177z\"/></svg>"},"$:/core/images/line-width":{"title":"$:/core/images/line-width","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-line-width tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M16 18h96a2 2 0 000-4H16a2 2 0 100 4zm0 17h96a4 4 0 100-8H16a4 4 0 100 8zm0 21h96a6 6 0 000-12H16a6 6 0 100 12zm0 29h96c5.523 0 10-4.477 10-10s-4.477-10-10-10H16c-5.523 0-10 4.477-10 10s4.477 10 10 10zm0 43h96c8.837 0 16-7.163 16-16s-7.163-16-16-16H16c-8.837 0-16 7.163-16 16s7.163 16 16 16z\"/></svg>"},"$:/core/images/link":{"title":"$:/core/images/link","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-link tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M42.263 69.38a31.919 31.919 0 006.841 10.13c12.5 12.5 32.758 12.496 45.255 0l22.627-22.628c12.502-12.501 12.497-32.758 0-45.255-12.5-12.5-32.758-12.496-45.254 0L49.104 34.255a32.333 32.333 0 00-2.666 3.019 36.156 36.156 0 0121.94.334l14.663-14.663c6.25-6.25 16.382-6.254 22.632-.004 6.248 6.249 6.254 16.373-.004 22.631l-22.62 22.62c-6.25 6.25-16.381 6.254-22.631.004a15.93 15.93 0 01-4.428-8.433 11.948 11.948 0 00-7.59 3.48l-6.137 6.137z\"/><path d=\"M86.35 59.234a31.919 31.919 0 00-6.84-10.13c-12.5-12.5-32.758-12.497-45.255 0L11.627 71.732c-12.501 12.5-12.496 32.758 0 45.254 12.5 12.5 32.758 12.497 45.255 0L79.51 94.36a32.333 32.333 0 002.665-3.02 36.156 36.156 0 01-21.94-.333l-14.663 14.663c-6.25 6.25-16.381 6.253-22.63.004-6.25-6.249-6.255-16.374.003-22.632l22.62-22.62c6.25-6.25 16.381-6.253 22.631-.003a15.93 15.93 0 014.428 8.432 11.948 11.948 0 007.59-3.48l6.137-6.136z\"/></g></svg>"},"$:/core/images/linkify":{"title":"$:/core/images/linkify","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-linkify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M17.031 31.919H9.048V96.85h7.983v6.92H0V25h17.031v6.919zm24.66 0h-7.983V96.85h7.983v6.92H24.66V25h17.03v6.919zM67.77 56.422l11.975-3.903 2.306 7.096-12.063 3.903 7.628 10.379-6.12 4.435-7.63-10.467-7.45 10.2-5.943-4.523L58.1 63.518 45.95 59.35l2.306-7.096 12.064 4.17V43.825h7.45v12.596zM86.31 96.85h7.982V31.92H86.31V25h17.031v78.77H86.31v-6.92zm24.659 0h7.983V31.92h-7.983V25H128v78.77h-17.031v-6.92z\"/></svg>"},"$:/core/images/list-bullet":{"title":"$:/core/images/list-bullet","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list-bullet tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M11.636 40.273c6.427 0 11.637-5.21 11.637-11.637C23.273 22.21 18.063 17 11.636 17 5.21 17 0 22.21 0 28.636c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.637 0-6.426-5.21-11.636-11.637-11.636C5.21 51.91 0 57.12 0 63.545c0 6.427 5.21 11.637 11.636 11.637zm0 34.909c6.427 0 11.637-5.21 11.637-11.636 0-6.427-5.21-11.637-11.637-11.637C5.21 86.818 0 92.028 0 98.455c0 6.426 5.21 11.636 11.636 11.636zM34.91 22.818H128v11.637H34.91V22.818zm0 34.91H128v11.636H34.91V57.727zm0 34.908H128v11.637H34.91V92.636z\"/></svg>"},"$:/core/images/list-number":{"title":"$:/core/images/list-number","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list-number tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M33.84 22.356H128v11.77H33.84v-11.77zm0 35.31H128v11.77H33.84v-11.77zm0 35.311H128v11.77H33.84v-11.77zM.38 42.631v-2.223h.998c.826 0 1.445-.14 1.858-.42.413-.28.619-.948.619-2.002V22.769c0-1.442-.193-2.336-.58-2.683-.385-.347-1.477-.52-3.275-.52v-2.143c3.502-.147 6.252-.955 8.25-2.423h2.117v22.865c0 .921.15 1.575.449 1.963.3.387.949.58 1.948.58h.998v2.223H.38zm-.3 35.356v-1.902c7.19-6.554 10.786-12.58 10.786-18.08 0-1.562-.326-2.81-.979-3.744-.652-.934-1.524-1.402-2.616-1.402-.893 0-1.655.317-2.287.952-.633.634-.95 1.364-.95 2.192 0 .974.247 1.829.74 2.563.106.16.16.28.16.36 0 .147-.16.28-.48.4-.213.08-.752.308-1.618.681-.839.374-1.358.561-1.558.561-.24 0-.512-.37-.819-1.111A6.2 6.2 0 010 57.064c0-1.949.849-3.544 2.547-4.785 1.698-1.242 3.798-1.862 6.302-1.862 2.463 0 4.53.67 6.202 2.012 1.67 1.341 2.506 3.093 2.506 5.256a8.644 8.644 0 01-.849 3.724c-.566 1.201-1.92 3.053-4.064 5.556a165.471 165.471 0 01-6.272 6.938h11.445l-1.019 5.726h-2.117c.08-.28.12-.534.12-.76 0-.388-.1-.631-.3-.731-.2-.1-.599-.15-1.198-.15H.08zm12.124 19.207c1.745.04 3.236.637 4.474 1.792 1.239 1.154 1.858 2.773 1.858 4.855 0 2.99-1.132 5.393-3.396 7.208-2.263 1.815-5 2.723-8.209 2.723-2.01 0-3.669-.384-4.974-1.151C.652 111.853 0 110.849 0 109.607c0-.774.27-1.398.809-1.872.54-.474 1.128-.71 1.768-.71.639 0 1.162.2 1.568.6.406.4.782 1.055 1.128 1.962.466 1.268 1.239 1.902 2.317 1.902 1.265 0 2.287-.477 3.066-1.431.78-.955 1.169-2.686 1.169-5.196 0-1.709-.12-3.023-.36-3.944-.24-.921-.792-1.382-1.658-1.382-.586 0-1.185.307-1.797.921-.493.494-.932.741-1.319.741-.333 0-.602-.147-.809-.44-.206-.294-.31-.574-.31-.841 0-.32.104-.594.31-.821.207-.227.69-.594 1.449-1.102 2.876-1.922 4.314-4.017 4.314-6.287 0-1.188-.306-2.092-.919-2.713a3.001 3.001 0 00-2.217-.93c-.799 0-1.525.263-2.177.79-.653.528-.979 1.158-.979 1.892 0 .641.253 1.235.76 1.782.172.2.259.367.259.5 0 .121-.57.428-1.708.922-1.139.494-1.854.74-2.147.74-.413 0-.75-.333-1.009-1-.26-.668-.39-1.282-.39-1.842 0-1.749.93-3.224 2.787-4.425 1.858-1.202 3.965-1.802 6.322-1.802 2.064 0 3.851.447 5.363 1.341 1.511.895 2.267 2.116 2.267 3.664 0 1.362-.57 2.623-1.708 3.784a13.387 13.387 0 01-3.945 2.784z\"/></svg>"},"$:/core/images/list":{"title":"$:/core/images/list","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-list tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M87.748 128H23.999c-4.418 0-7.999-3.59-7.999-8.007V8.007C16 3.585 19.588 0 24 0h80c4.419 0 8 3.59 8 8.007V104H91.25c-.965 0-1.84.392-2.473 1.025a3.476 3.476 0 00-1.029 2.476V128zm8-.12l15.88-15.88h-15.88v15.88zM40 15.508A3.502 3.502 0 0143.5 12h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 20h-55a3.498 3.498 0 01-3.5-3.509v-.982zM32 22a6 6 0 100-12 6 6 0 000 12zm8 9.509A3.502 3.502 0 0143.5 28h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 36h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 44h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 52h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 60h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 68h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 76h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 84h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.502 3.502 0 0143.5 92h55c1.933 0 3.5 1.561 3.5 3.509v.982A3.502 3.502 0 0198.5 100h-55a3.498 3.498 0 01-3.5-3.509v-.982zm0 16A3.505 3.505 0 0143.497 108h33.006A3.497 3.497 0 0180 111.509v.982A3.505 3.505 0 0176.503 116H43.497A3.497 3.497 0 0140 112.491v-.982zM32 38a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12zm0 16a6 6 0 100-12 6 6 0 000 12z\"/></svg>"},"$:/core/images/locked-padlock":{"title":"$:/core/images/locked-padlock","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-locked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M96.472 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h8c.003-15.723.303-47.731 32.16-47.731 31.794 0 32.305 32.057 32.312 47.731zm-15.897 0H48.44c.002-16.287.142-32 15.719-32 15.684 0 16.977 16.136 16.415 32zM67.732 92.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"},"$:/core/images/mail":{"title":"$:/core/images/mail","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mail tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M122.827 104.894a7.986 7.986 0 01-2.834.516H8.007c-.812 0-1.597-.12-2.335-.345l34.163-34.163 20.842 20.842a3.998 3.998 0 003.418 1.134 4.003 4.003 0 003.395-1.134L88.594 70.64c.075.09.155.176.24.26l33.993 33.994zm5.076-6.237c.064-.406.097-.823.097-1.247v-64c0-.669-.082-1.318-.237-1.94L94.23 65.006c.09.075.177.154.261.239l33.413 33.413zm-127.698.56A8.023 8.023 0 010 97.41v-64c0-.716.094-1.41.271-2.071l33.907 33.906L.205 99.218zM5.93 25.684a8.012 8.012 0 012.078-.273h111.986c.766 0 1.507.108 2.209.308L64.083 83.837 5.93 25.683z\"/></svg>"},"$:/core/images/mastodon":{"title":"$:/core/images/mastodon","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mastodon tc-image-button\" viewBox=\"0 0 128 128\">\n <path d=\"M112.716,76.735C111.231,85.764 99.411,95.646 85.836,97.561C78.757,98.559 71.787,99.476 64.355,99.073C52.201,98.415 42.61,95.646 42.61,95.646C42.61,97.044 42.683,98.374 42.829,99.619C44.409,113.79 54.723,114.639 64.493,115.035C74.354,115.434 83.134,112.163 83.134,112.163L83.539,122.695C83.539,122.695 76.642,127.071 64.355,127.875C57.58,128.315 49.167,127.674 39.369,124.61C18.118,117.965 14.463,91.202 13.904,64.048C13.733,55.985 13.839,48.383 13.839,42.024C13.839,14.257 29.238,6.118 29.238,6.118C37.002,1.905 50.326,0.134 64.177,-0L64.517,-0C78.369,0.134 91.701,1.905 99.465,6.118C99.465,6.118 114.864,14.257 114.864,42.024C114.864,42.024 115.057,62.511 112.716,76.735ZM96.7,44.179C96.7,37.307 95.219,31.847 92.245,27.807C89.177,23.767 85.16,21.696 80.174,21.696C74.403,21.696 70.034,24.316 67.146,29.556L64.337,35.118L61.529,29.556C58.64,24.316 54.271,21.696 48.501,21.696C43.514,21.696 39.497,23.767 36.43,27.807C33.455,31.847 31.974,37.307 31.974,44.179L31.974,77.8L43.249,77.8L43.249,45.167C43.249,38.288 45.699,34.796 50.599,34.796C56.017,34.796 58.733,38.938 58.733,47.128L58.733,64.99L69.941,64.99L69.941,47.128C69.941,38.938 72.657,34.796 78.075,34.796C82.975,34.796 85.425,38.288 85.425,45.167L85.425,77.8L96.7,77.8L96.7,44.179Z\"/>\n</svg>\n"},"$:/core/images/menu-button":{"title":"$:/core/images/menu-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\"><rect width=\"128\" height=\"16\" y=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"56\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"96\" rx=\"8\"/></svg>"},"$:/core/images/minus-button":{"title":"$:/core/images/minus-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-minus-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64 0c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64C0 28.654 28.654 0 64 0zm.332 16c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"/><rect width=\"80\" height=\"16\" x=\"24\" y=\"56\" rx=\"8\"/></svg>"},"$:/core/images/mono-block":{"title":"$:/core/images/mono-block","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mono-block tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M23.965 32.967h.357c.755 0 1.328.192 1.72.577.39.384.586.947.586 1.688 0 .824-.206 1.418-.618 1.782-.413.363-1.094.545-2.045.545h-6.31c-.965 0-1.65-.178-2.056-.535-.405-.356-.608-.954-.608-1.792 0-.811.203-1.391.608-1.74.406-.35 1.09-.525 2.055-.525h.734l-.86-2.453H8.471l-.902 2.453h.734c.95 0 1.632.178 2.044.535.413.356.619.933.619 1.73 0 .824-.206 1.418-.619 1.782-.412.363-1.094.545-2.044.545h-5.41c-.964 0-1.649-.182-2.054-.545-.406-.364-.608-.958-.608-1.782 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.719-.577h.356l5.62-15.641H6.835c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.95-.619-1.76 0-.825.207-1.42.619-1.783.412-.363 1.094-.545 2.044-.545h7.863c1.244 0 2.118.67 2.62 2.013v.063l6.647 18.2zM12.98 17.326l-3.04 8.848h6.08l-3.04-8.848zm22.402 9.372v6.395h3.145c2.223 0 3.788-.245 4.697-.734.908-.49 1.362-1.307 1.362-2.453 0-1.16-.433-1.985-1.3-2.474-.866-.49-2.383-.734-4.55-.734h-3.354zm10.693-2.327c1.524.559 2.642 1.324 3.355 2.295.713.972 1.07 2.212 1.07 3.722 0 1.272-.308 2.432-.923 3.48-.615 1.049-1.496 1.909-2.642 2.58a7.499 7.499 0 01-2.254.849c-.832.174-2.01.262-3.533.262H30.202c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.782 0-.741.189-1.304.566-1.688.378-.385.93-.577 1.657-.577h.356V17.326h-.356c-.727 0-1.28-.196-1.657-.587-.377-.392-.566-.965-.566-1.72 0-.81.203-1.401.608-1.771.406-.37 1.062-.556 1.971-.556h9.645c2.95 0 5.19.573 6.72 1.72 1.53 1.145 2.296 2.823 2.296 5.031 0 1.09-.234 2.052-.703 2.883-.468.832-1.163 1.513-2.086 2.045zM35.381 17.2v5.284h2.83c1.72 0 2.932-.203 3.638-.609.706-.405 1.06-1.09 1.06-2.054 0-.909-.319-1.573-.955-1.992-.636-.42-1.667-.63-3.093-.63h-3.48zm35.863-3.816c.28-.503.566-.86.86-1.07.293-.21.664-.314 1.111-.314.685 0 1.17.182 1.457.545.287.364.43.986.43 1.866l.042 5.452c0 .964-.157 1.614-.472 1.95-.314.335-.884.503-1.709.503-.587 0-1.037-.14-1.352-.42-.314-.28-.584-.796-.807-1.551-.364-1.328-.944-2.282-1.74-2.862-.797-.58-1.901-.87-3.313-.87-2.153 0-3.802.727-4.948 2.18-1.147 1.454-1.72 3.558-1.72 6.311 0 2.74.58 4.844 1.74 6.311 1.16 1.468 2.817 2.202 4.97 2.202 1.467 0 3.085-.49 4.854-1.468 1.768-.978 2.883-1.467 3.344-1.467.545 0 1.003.23 1.373.692.37.46.556 1.034.556 1.719 0 1.23-1.084 2.39-3.25 3.48-2.167 1.09-4.606 1.636-7.318 1.636-3.662 0-6.625-1.21-8.89-3.627-2.264-2.419-3.396-5.578-3.396-9.478 0-3.76 1.146-6.884 3.438-9.372 2.293-2.488 5.2-3.732 8.723-3.732.992 0 1.97.112 2.935.335.964.224 1.992.574 3.082 1.049zm10.22 19.583V17.326h-.356c-.755 0-1.328-.196-1.72-.587-.39-.392-.586-.965-.586-1.72 0-.81.21-1.401.629-1.771.42-.37 1.097-.556 2.034-.556h5.178c2.922 0 5.06.126 6.416.377 1.356.252 2.51.671 3.46 1.258 1.691 1.007 2.988 2.443 3.89 4.31.9 1.865 1.352 4.021 1.352 6.467 0 2.586-.514 4.847-1.541 6.783-1.028 1.936-2.485 3.4-4.372 4.393-.853.447-1.852.772-2.998.975-1.147.203-2.852.304-5.116.304h-6.269c-.965 0-1.65-.178-2.055-.535-.406-.356-.608-.954-.608-1.792 0-.741.195-1.304.587-1.688.391-.385.964-.577 1.72-.577h.356zm5.41-15.725v15.725h1.195c2.642 0 4.592-.646 5.85-1.94 1.258-1.292 1.887-3.28 1.887-5.965 0-2.641-.64-4.612-1.918-5.912-1.28-1.3-3.205-1.95-5.777-1.95-.335 0-.59.003-.765.01a7.992 7.992 0 00-.472.032zm35.067-.126h-9.75v5.368h3.69v-.252c0-.797.175-1.39.524-1.782.35-.392.88-.587 1.594-.587.629 0 1.142.178 1.54.534.4.357.598.808.598 1.353 0 .028.007.118.021.272.014.154.021.308.021.462v4.34c0 .936-.167 1.607-.503 2.013-.335.405-.88.608-1.635.608-.713 0-1.251-.19-1.615-.567-.363-.377-.545-.936-.545-1.677v-.377h-3.69v6.269h9.75v-2.495c0-.937.178-1.608.534-2.013.357-.405.94-.608 1.75-.608.798 0 1.367.2 1.71.597.342.399.513 1.073.513 2.024v5.074c0 .755-.146 1.258-.44 1.51-.293.251-.873.377-1.74.377h-17.172c-.923 0-1.583-.182-1.982-.545-.398-.364-.597-.958-.597-1.782 0-.741.189-1.304.566-1.688.377-.385.93-.577 1.656-.577h.357V17.326h-.357c-.712 0-1.261-.2-1.646-.598-.384-.398-.576-.968-.576-1.709 0-.81.203-1.401.608-1.771.405-.37 1.062-.556 1.97-.556h17.173c.853 0 1.43.13 1.73.388.3.258.45.772.45 1.54v4.698c0 .95-.174 1.631-.524 2.044-.35.412-.915.618-1.698.618-.81 0-1.394-.21-1.75-.629-.357-.419-.535-1.097-.535-2.033v-2.202zM19.77 47.641c.267-.504.55-.86.85-1.07.3-.21.675-.314 1.122-.314.685 0 1.17.181 1.457.545.287.363.43.985.43 1.866l.042 5.451c0 .965-.157 1.615-.472 1.95-.314.336-.891.504-1.73.504-.587 0-1.045-.144-1.373-.43-.329-.287-.598-.8-.807-1.541-.378-1.342-.958-2.3-1.74-2.873-.783-.573-1.88-.86-3.292-.86-2.153 0-3.799.727-4.938 2.181-1.14 1.454-1.709 3.557-1.709 6.311s.598 4.882 1.793 6.385C10.599 67.248 12.294 68 14.488 68c.503 0 1.077-.06 1.72-.179a23.809 23.809 0 002.264-.555v-3.313h-2.37c-.95 0-1.624-.175-2.023-.524-.398-.35-.597-.93-.597-1.74 0-.84.199-1.437.597-1.793.399-.357 1.073-.535 2.024-.535h7.569c.978 0 1.667.175 2.065.524.398.35.598.937.598 1.762 0 .74-.2 1.31-.598 1.708-.398.399-.975.598-1.73.598h-.335v5.242c0 .447-.05.758-.147.933-.098.174-.293.353-.587.534-.797.476-2.062.895-3.795 1.258a25.576 25.576 0 01-5.263.546c-3.662 0-6.625-1.21-8.89-3.628-2.264-2.418-3.397-5.577-3.397-9.477 0-3.76 1.147-6.884 3.44-9.372 2.292-2.488 5.199-3.732 8.721-3.732.979 0 1.954.112 2.925.335.972.224 2.003.573 3.093 1.049zm15.84 3.941v4.823h6.857v-4.823h-.336c-.754 0-1.331-.195-1.73-.587-.398-.391-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.364 1.093-.545 2.044-.545h5.41c.95 0 1.624.181 2.023.545.398.363.597.957.597 1.782 0 .755-.192 1.328-.576 1.72-.385.39-.947.586-1.688.586h-.357v15.642h.357c.755 0 1.328.192 1.719.576.391.385.587.947.587 1.688 0 .825-.203 1.419-.608 1.782-.405.364-1.09.546-2.055.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.2-1.303.598-1.688.398-.384.975-.576 1.73-.576h.335v-6.186h-6.856v6.186h.335c.755 0 1.331.192 1.73.576.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.412.364-1.094.546-2.044.546h-5.41c-.964 0-1.65-.179-2.055-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.392-.384.965-.576 1.72-.576h.356V51.582h-.356c-.741 0-1.304-.195-1.688-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.073-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.335zm31.754 0v15.642h3.523c.95 0 1.632.178 2.044.534.412.357.618.933.618 1.73 0 .811-.21 1.402-.629 1.772-.419.37-1.097.556-2.033.556H58.433c-.95 0-1.632-.182-2.044-.546-.412-.363-.619-.957-.619-1.782 0-.81.203-1.39.608-1.74.406-.35 1.09-.524 2.055-.524h3.523V51.582h-3.523c-.95 0-1.632-.181-2.044-.545-.412-.363-.619-.95-.619-1.761 0-.825.203-1.412.608-1.761.406-.35 1.09-.524 2.055-.524h12.455c.992 0 1.684.174 2.075.524.392.35.587.936.587 1.761 0 .81-.202 1.398-.608 1.761-.405.364-1.09.545-2.054.545h-3.523zm30.496 0v11.994c0 1.873-.122 3.228-.367 4.067a5.876 5.876 0 01-1.227 2.244c-.74.852-1.768 1.495-3.082 1.929-1.314.433-2.893.65-4.738.65-1.3 0-2.555-.126-3.764-.378a16.843 16.843 0 01-3.491-1.132c-.615-.28-1.017-.643-1.206-1.09-.188-.448-.283-1.175-.283-2.18v-4.32c0-1.202.175-2.04.525-2.516.349-.475.957-.713 1.824-.713 1.244 0 1.929.915 2.054 2.747.014.321.035.566.063.733.168 1.622.545 2.73 1.133 3.324.587.594 1.523.89 2.81.89 1.593 0 2.714-.422 3.364-1.268.65-.845.975-2.386.975-4.623V51.582H88.93c-.95 0-1.632-.181-2.044-.545-.413-.363-.619-.95-.619-1.761 0-.825.2-1.412.598-1.761.398-.35 1.086-.524 2.065-.524h10.693c.979 0 1.667.174 2.065.524.399.35.598.936.598 1.761 0 .81-.206 1.398-.619 1.761-.412.364-1.093.545-2.044.545h-1.761zm14.644 0v6.353l6.48-6.478c-.728-.084-1.238-.29-1.531-.619-.294-.328-.44-.85-.44-1.562 0-.825.198-1.419.597-1.782.398-.364 1.073-.545 2.023-.545h5.137c.95 0 1.625.181 2.023.545.399.363.598.957.598 1.782 0 .769-.2 1.345-.598 1.73-.398.384-.982.576-1.75.576h-.483l-6.101 6.06c1.132.839 2.167 1.94 3.103 3.302.937 1.363 2.034 3.456 3.292 6.28h.692c.825 0 1.44.188 1.845.566.405.377.608.943.608 1.698 0 .825-.206 1.419-.619 1.782-.412.364-1.093.546-2.044.546h-2.579c-1.132 0-2.048-.762-2.746-2.286-.126-.28-.224-.503-.294-.67-.923-1.958-1.768-3.467-2.537-4.53a16.616 16.616 0 00-2.705-2.914l-1.97 1.887v3.92h.335c.755 0 1.331.193 1.73.577.398.385.597.947.597 1.688 0 .825-.206 1.419-.618 1.782-.413.364-1.094.546-2.045.546h-5.41c-.964 0-1.649-.179-2.054-.535-.405-.357-.608-.954-.608-1.793 0-.74.196-1.303.587-1.688.391-.384.965-.576 1.72-.576h.356V51.582h-.357c-.74 0-1.303-.195-1.687-.587-.385-.391-.577-.964-.577-1.719 0-.825.2-1.419.598-1.782.398-.364 1.072-.545 2.023-.545h5.41c.936 0 1.614.181 2.033.545.42.363.63.957.63 1.782 0 .755-.2 1.328-.598 1.72-.399.39-.975.586-1.73.586h-.336zM13.44 96.326l4.005-11.889c.251-.782.6-1.352 1.048-1.709.447-.356 1.041-.534 1.782-.534h3.271c.95 0 1.632.182 2.044.545.413.363.619.957.619 1.782 0 .755-.2 1.328-.598 1.72-.398.39-.975.587-1.73.587h-.335l.587 15.641h.357c.754 0 1.32.192 1.698.577.377.384.566.947.566 1.687 0 .825-.2 1.42-.598 1.783-.398.363-1.072.545-2.023.545h-4.718c-.95 0-1.624-.178-2.023-.535-.398-.356-.597-.954-.597-1.793 0-.74.192-1.303.576-1.687.385-.385.954-.577 1.709-.577h.335l-.293-12.79-3.061 9.52c-.224.712-.542 1.226-.954 1.54-.413.315-.982.472-1.709.472-.727 0-1.303-.157-1.73-.472-.426-.314-.751-.828-.975-1.54l-3.04-9.52-.294 12.79h.336c.755 0 1.324.192 1.709.577.384.384.576.947.576 1.687 0 .825-.202 1.42-.608 1.783-.405.363-1.076.545-2.013.545H2.621c-.937 0-1.608-.182-2.013-.545-.405-.364-.608-.958-.608-1.783 0-.74.192-1.303.577-1.687.384-.385.954-.577 1.708-.577h.336l.608-15.641h-.336c-.754 0-1.331-.196-1.73-.588-.398-.39-.597-.964-.597-1.719 0-.825.206-1.419.619-1.782.412-.363 1.093-.545 2.044-.545h3.27c.728 0 1.311.175 1.752.524.44.35.8.923 1.08 1.72l4.109 11.888zm30.454 2.054V86.828H42.74c-.922 0-1.583-.182-1.981-.546-.398-.363-.598-.95-.598-1.76 0-.812.2-1.402.598-1.773.398-.37 1.059-.555 1.981-.555h5.955c.909 0 1.566.185 1.97.555.406.37.609.961.609 1.772 0 .741-.192 1.31-.577 1.709-.384.398-.933.598-1.646.598h-.356v19.038c0 .657-.07 1.069-.21 1.237-.14.167-.454.251-.943.251h-2.097c-.67 0-1.143-.07-1.415-.21-.273-.14-.507-.384-.703-.733l-8.722-15.327v11.385h1.216c.909 0 1.559.175 1.95.524.392.35.587.93.587 1.74 0 .825-.199 1.42-.597 1.783-.399.363-1.045.545-1.94.545h-6.017c-.909 0-1.566-.182-1.971-.545-.406-.364-.608-.958-.608-1.783 0-.74.188-1.303.566-1.687.377-.385.936-.577 1.677-.577h.336V86.828h-.336c-.713 0-1.265-.2-1.656-.598-.392-.398-.587-.968-.587-1.709 0-.81.206-1.401.618-1.772.413-.37 1.066-.555 1.96-.555h3.44c.824 0 1.383.108 1.677.325.293.216.622.653.985 1.31l7.989 14.551zM64.66 86.366c-1.803 0-3.218.727-4.245 2.18-1.028 1.455-1.541 3.474-1.541 6.06 0 2.586.517 4.613 1.551 6.08 1.034 1.468 2.446 2.202 4.235 2.202 1.804 0 3.222-.73 4.257-2.19 1.034-1.461 1.551-3.492 1.551-6.092 0-2.586-.513-4.605-1.54-6.06-1.028-1.453-2.45-2.18-4.268-2.18zm0-4.864c3.44 0 6.27 1.23 8.492 3.69 2.223 2.46 3.334 5.598 3.334 9.414 0 3.844-1.104 6.99-3.313 9.436-2.208 2.446-5.046 3.669-8.513 3.669-3.424 0-6.255-1.234-8.491-3.701-2.237-2.467-3.355-5.602-3.355-9.404 0-3.83 1.108-6.971 3.323-9.424 2.216-2.454 5.057-3.68 8.523-3.68zM87.461 98.17v4.298h2.16c.908 0 1.555.175 1.94.524.384.35.576.93.576 1.74 0 .825-.196 1.42-.587 1.783-.392.363-1.035.545-1.93.545h-7.254c-.922 0-1.583-.182-1.981-.545-.399-.364-.598-.958-.598-1.783 0-.74.189-1.303.566-1.687.378-.385.93-.577 1.657-.577h.356V86.828h-.356c-.713 0-1.262-.2-1.646-.598-.385-.398-.577-.968-.577-1.709 0-.81.203-1.401.608-1.772.406-.37 1.063-.555 1.971-.555h8.66c3.424 0 6.014.657 7.768 1.97 1.754 1.315 2.631 3.25 2.631 5.809 0 2.697-.873 4.738-2.62 6.122-1.748 1.384-4.34 2.076-7.78 2.076h-3.564zm0-11.343v6.625h2.977c1.65 0 2.89-.28 3.722-.839.832-.559 1.248-1.397 1.248-2.516 0-1.048-.43-1.855-1.29-2.421-.86-.566-2.086-.85-3.68-.85h-2.977zm27.267 20.568l-1.636 1.636a12.37 12.37 0 011.772-.44c.58-.098 1.15-.147 1.709-.147 1.104 0 2.268.164 3.491.492 1.223.329 1.967.493 2.233.493.447 0 1.03-.15 1.75-.45.72-.301 1.206-.452 1.458-.452.517 0 .947.2 1.29.598.342.398.513.898.513 1.5 0 .796-.472 1.474-1.415 2.033-.944.56-2.1.839-3.47.839-.937 0-2.139-.22-3.607-.66-1.467-.441-2.53-.661-3.187-.661-.992 0-2.11.272-3.354.817-1.244.546-2.013.818-2.307.818a2.14 2.14 0 01-1.53-.597c-.42-.399-.63-.878-.63-1.437 0-.391.134-.807.4-1.247.265-.44.733-1.01 1.404-1.709l2.118-2.139c-2.335-.852-4.194-2.386-5.578-4.602-1.384-2.215-2.075-4.763-2.075-7.642 0-3.802 1.104-6.909 3.312-9.32 2.209-2.411 5.053-3.617 8.534-3.617 3.467 0 6.304 1.209 8.513 3.627 2.208 2.418 3.312 5.522 3.312 9.31 0 3.774-1.097 6.884-3.291 9.33-2.195 2.446-4.977 3.67-8.345 3.67a22.5 22.5 0 01-1.384-.043zm1.195-21.03c-1.803 0-3.218.727-4.246 2.18-1.027 1.455-1.54 3.474-1.54 6.06 0 2.586.516 4.613 1.55 6.08 1.035 1.468 2.447 2.202 4.236 2.202 1.803 0 3.222-.73 4.256-2.19 1.035-1.461 1.552-3.492 1.552-6.092 0-2.586-.514-4.605-1.541-6.06-1.028-1.453-2.45-2.18-4.267-2.18z\"/></svg>"},"$:/core/images/mono-line":{"title":"$:/core/images/mono-line","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-mono-line tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M60.437 84.523h.908c1.922 0 3.381.489 4.378 1.468.997.979 1.495 2.411 1.495 4.298 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388h-16.07c-2.456 0-4.2-.454-5.232-1.361-1.032-.908-1.548-2.43-1.548-4.565 0-2.065.516-3.542 1.548-4.432 1.032-.89 2.776-1.334 5.232-1.334h1.869l-2.19-6.247H20.983l-2.296 6.247h1.87c2.42 0 4.155.453 5.205 1.361 1.05.908 1.575 2.376 1.575 4.405 0 2.1-.525 3.612-1.575 4.538-1.05.925-2.785 1.388-5.206 1.388H6.781c-2.456 0-4.2-.463-5.233-1.388C.516 93.9 0 92.389 0 90.289c0-1.887.498-3.32 1.495-4.298.997-.979 2.456-1.468 4.378-1.468h.908l14.308-39.83h-4.271c-2.42 0-4.156-.462-5.206-1.387-1.05-.926-1.575-2.42-1.575-4.485 0-2.1.525-3.613 1.575-4.538 1.05-.926 2.785-1.388 5.206-1.388h20.021c3.168 0 5.392 1.708 6.674 5.125v.16l16.924 46.343zm-27.976-39.83L24.72 67.225h15.483l-7.742-22.53zM89.506 68.56v16.284h8.008c5.66 0 9.646-.623 11.96-1.869 2.313-1.245 3.47-3.328 3.47-6.246 0-2.955-1.103-5.055-3.31-6.3-2.207-1.246-6.069-1.869-11.586-1.869h-8.542zm27.229-5.926c3.88 1.423 6.727 3.372 8.542 5.846 1.815 2.474 2.723 5.633 2.723 9.477 0 3.239-.783 6.193-2.35 8.862-1.565 2.67-3.808 4.859-6.726 6.567-1.709.997-3.622 1.718-5.74 2.163-2.118.445-5.116.667-8.996.667h-27.87c-2.349 0-4.03-.463-5.045-1.388-1.014-.926-1.521-2.438-1.521-4.538 0-1.887.48-3.32 1.441-4.298.961-.979 2.367-1.468 4.218-1.468h.907v-39.83h-.907c-1.851 0-3.257-.498-4.218-1.494-.961-.997-1.441-2.456-1.441-4.378 0-2.065.516-3.568 1.548-4.512 1.032-.943 2.705-1.414 5.018-1.414h24.56c7.51 0 13.214 1.459 17.111 4.377 3.898 2.92 5.847 7.19 5.847 12.814 0 2.776-.597 5.223-1.789 7.341-1.192 2.118-2.963 3.853-5.312 5.206zm-27.23-18.26v13.455h7.208c4.378 0 7.466-.516 9.264-1.549 1.797-1.032 2.696-2.776 2.696-5.232 0-2.313-.81-4.004-2.43-5.072-1.619-1.068-4.244-1.602-7.874-1.602h-8.863z\"/></svg>"},"$:/core/images/network-activity":{"title":"$:/core/images/network-activity","tags":"$:/tags/Image","text":"<svg width=\"22pt\" height=\"22pt\" class=\"tc-image-network-activity tc-image-button\" viewBox=\"0 0 128 128\"><g class={{{ [{$:/state/http-requests}match[0]then[]else[tc-network-activity-background]] }}}>\n<$list filter=\"[{$:/state/http-requests}match[0]]\" variable=\"ignore\">\n<path d=\"M64.043 45.153a4.002 4.002 0 0 1 4.367 2.21l.084.188 30.403 73.4a4 4 0 0 1-7.307 3.25l-.084-.188-3.103-7.49-8.898 8.899a3.985 3.985 0 0 1-2.624 1.166l-.205.005a3.987 3.987 0 0 1-2.828-1.171l-9.849-9.848-9.847 9.848a3.985 3.985 0 0 1-2.624 1.166l-.204.005a3.987 3.987 0 0 1-2.829-1.171l-8.899-8.9-3.102 7.491a4 4 0 1 1-7.391-3.062l30.403-73.4a4.001 4.001 0 0 1 4.495-2.39l.042-.008Zm13.636 56.74-8.023 8.024 7.02 7.019 8.023-8.022-7.02-7.02Zm-27.353.008-7.019 7.019 8.016 8.016 7.019-7.02-8.016-8.015Zm13.68-13.68-8.023 8.023 8.016 8.016 8.023-8.023-8.016-8.016Zm-8.971-8.971-4.687 11.315 8.001-8.001-3.314-3.314Zm17.933.009-3.305 3.305 7.979 7.979-4.674-11.284ZM64 57.607l-5.666 13.68c.096.072.188.15.278.232l.133.126 5.261 5.262 5.262-5.262c.128-.127.261-.244.4-.35L64 57.607Zm0-34.69a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"/>\n</$list>\n<$list filter=\"[{$:/state/http-requests}!match[0]]\" variable=\"ignore\">\n<path d=\"M109.395.952a4.002 4.002 0 0 1 3.787 2.708C117.529 11.62 120 20.753 120 30.462c0 15.186-6.044 28.96-15.858 39.047a4 4 0 1 1-6.47-4.626l-.12-.094C106.466 56.074 112 43.914 112 30.462c0-8.492-2.205-16.469-6.074-23.39l.054-.036a4 4 0 0 1 3.415-6.084Zm-90.762 0a4 4 0 0 1 3.072 6.562l.093.06A47.786 47.786 0 0 0 16 30.463c0 13.315 5.42 25.363 14.176 34.058l-.01.007a4 4 0 1 1-6.312 4.863l-.063.05C14.017 59.359 8 45.613 8 30.462c0-9.77 2.502-18.956 6.9-26.952A4.002 4.002 0 0 1 18.634.952Z\"/><path d=\"M64.043 44.698a4.002 4.002 0 0 1 4.367 2.21l.084.188 30.403 73.4a4 4 0 0 1-7.307 3.25l-.084-.188-3.103-7.49-8.898 8.9a3.985 3.985 0 0 1-2.624 1.166l-.205.005a3.987 3.987 0 0 1-2.828-1.172l-9.849-9.848-9.847 9.848a3.985 3.985 0 0 1-2.624 1.167l-.204.005a3.987 3.987 0 0 1-2.829-1.172l-8.899-8.899-3.102 7.49a4 4 0 0 1-7.391-3.061l30.403-73.4a4.001 4.001 0 0 1 4.495-2.39l.042-.009ZM77.68 101.44l-8.023 8.023 7.02 7.019 8.023-8.022-7.02-7.02Zm-27.353.007-7.019 7.019 8.016 8.016 7.019-7.019-8.016-8.016Zm13.68-13.68-8.023 8.023 8.016 8.016 8.023-8.023-8.016-8.016Zm-8.971-8.971L50.348 90.11l8.001-8.001-3.314-3.314Zm17.933.009-3.305 3.305 7.979 7.979-4.674-11.284ZM64 57.152l-5.666 13.68c.096.073.188.15.278.232l.133.127 5.261 5.261 5.262-5.261c.128-.128.261-.244.4-.351L64 57.152ZM38.503 1.058a4 4 0 0 1 2.7 6.952l.17-.175C35.582 13.625 32 21.625 32 30.462c0 8.838 3.582 16.838 9.374 22.629a4 4 0 0 1-5.659 5.658l-.01.01C28.473 51.52 24 41.526 24 30.485 24 19.567 28.374 9.67 35.466 2.453a3.995 3.995 0 0 1 3.037-1.395ZM89.369.952c1.14 0 2.17.478 2.899 1.244l.005-.006C99.518 9.43 104 19.434 104 30.485c0 10.826-4.3 20.648-11.287 27.85a4 4 0 1 1-6.054-5.213l-.032-.032C92.418 47.299 96 39.299 96 30.462c0-8.73-3.496-16.643-9.164-22.416A4 4 0 0 1 89.368.952Zm-39.282 11.14a4 4 0 0 1 2.59 7.048l.01.009A15.95 15.95 0 0 0 48 30.462a15.95 15.95 0 0 0 4.687 11.315l-.01.01a4 4 0 1 1-5.82 5.47l.173.177A23.925 23.925 0 0 1 40 30.462a23.925 23.925 0 0 1 7.03-16.97l.01.01a3.991 3.991 0 0 1 3.047-1.41Zm27.895.07a3.99 3.99 0 0 1 2.984 1.336l.006-.005A23.925 23.925 0 0 1 88 30.463a23.92 23.92 0 0 1-6.707 16.642l-.3.305a4 4 0 1 1-5.679-5.632v-.002A15.95 15.95 0 0 0 80 30.462a15.95 15.95 0 0 0-4.685-11.312 4.012 4.012 0 0 1-1.333-2.987 4 4 0 0 1 4-4ZM64 22.463a8 8 0 1 1 0 16 8 8 0 0 1 0-16Z\"/>\n</$list>\n</g></svg>"},"$:/core/images/new-button":{"title":"$:/core/images/new-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M56 72H8.007C3.591 72 0 68.418 0 64c0-4.41 3.585-8 8.007-8H56V8.007C56 3.591 59.582 0 64 0c4.41 0 8 3.585 8 8.007V56h47.993c4.416 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H72v47.993c0 4.416-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V72z\"/></svg>"},"$:/core/images/new-here-button":{"title":"$:/core/images/new-here-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-here-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.838 20.935l-3.572.938c-3.688.968-8.23 4.43-10.136 7.731L3.37 96.738c-1.905 3.3-.771 7.524 2.534 9.432l33.717 19.466c3.297 1.904 7.53.78 9.435-2.521l38.76-67.134c1.905-3.3 2.632-8.963 1.623-12.646L83.285 20.88c-1.009-3.68-4.821-5.884-8.513-4.915l-7.603 1.995.043.287c.524 3.394 2.053 7.498 4.18 11.55.418.163.829.36 1.23.59a8.864 8.864 0 014.438 8.169c.104.132.21.264.316.395l-.386.318a8.663 8.663 0 01-1.082 3.137c-2.42 4.192-7.816 5.608-12.051 3.163-4.12-2.379-5.624-7.534-3.476-11.671-2.177-4.394-3.788-8.874-4.543-12.964z\"/><path d=\"M69.554 44.76c-5.944-7.476-10.74-17.196-11.955-25.059-1.68-10.875 3.503-18.216 15.082-18.04 10.407.158 19.975 5.851 24.728 13.785 5.208 8.695 2.95 17.868-6.855 20.496l-2.037-7.601c4.232-1.134 4.999-4.248 2.24-8.853-3.37-5.626-10.465-9.848-18.146-9.965-6.392-.097-8.31 2.62-7.323 9.01.999 6.465 5.318 15.138 10.582 21.65l-.072.06c.559 1.553-4.17 6.44-5.938 4.888l-.005.004-.028-.034a1.323 1.323 0 01-.124-.135 2.618 2.618 0 01-.149-.205z\"/><rect width=\"16\" height=\"48\" x=\"96\" y=\"80\" rx=\"8\"/><rect width=\"48\" height=\"16\" x=\"80\" y=\"96\" rx=\"8\"/></g></svg>"},"$:/core/images/new-image-button":{"title":"$:/core/images/new-image-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.362 73.627l15.826-27.41a2.626 2.626 0 00-.962-3.59l-50.01-28.872a2.626 2.626 0 00-3.588.961L30.058 36.49l10.04-5.261c3.042-1.595 6.771.114 7.55 3.46l3.607 17.702 9.88.85a5.25 5.25 0 014.571 3.77c.034.115.1.344.199.671.165.553.353 1.172.562 1.843.595 1.914 1.23 3.85 1.872 5.678.207.588.412 1.156.614 1.701.625 1.685 1.209 3.114 1.725 4.207.255.54.485.977.726 1.427.214.212.547.425 1.011.622 1.141.482 2.784.74 4.657.758.864.008 1.71-.034 2.492-.11.448-.043.753-.085.871-.104.315-.053.625-.077.927-.076zM37.47 2.649A5.257 5.257 0 0144.649.725l63.645 36.746a5.257 5.257 0 011.923 7.178L73.47 108.294a5.257 5.257 0 01-7.177 1.923L2.649 73.47a5.257 5.257 0 01-1.924-7.177L37.471 2.649zm42.837 50.49a5.25 5.25 0 105.25-9.092 5.25 5.25 0 00-5.25 9.093zM96 112h-7.993c-4.419 0-8.007-3.582-8.007-8 0-4.41 3.585-8 8.007-8H96v-7.993C96 83.588 99.582 80 104 80c4.41 0 8 3.585 8 8.007V96h7.993c4.419 0 8.007 3.582 8.007 8 0 4.41-3.585 8-8.007 8H112v7.993c0 4.419-3.582 8.007-8 8.007-4.41 0-8-3.585-8-8.007V112zM33.347 51.791c7.428 7.948 9.01 10.69 7.449 13.394-1.56 2.703-13.838-2.328-16.094 1.58-2.256 3.908-.907 3.258-2.437 5.908l19.73 11.39s-5.605-8.255-4.235-10.628c2.515-4.356 8.77-1.256 10.365-4.019 2.414-4.181-5.103-9.639-14.778-17.625z\"/></svg>"},"$:/core/images/new-journal-button":{"title":"$:/core/images/new-journal-button","tags":"$:/tags/Image","text":"<$parameters size=\"22pt\" day=<<now \"DD\">>><svg width=<<size>> height=<<size>> class=\"tc-image-new-journal-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.545 112.818v11.818c0 1.306 1.086 2.364 2.425 2.364h6.06c1.34 0 2.425-1.058 2.425-2.364v-11.818h12.12c1.34 0 2.425-1.058 2.425-2.363v-5.91c0-1.305-1.085-2.363-2.424-2.363h-12.121V90.364c0-1.306-1.086-2.364-2.425-2.364h-6.06c-1.34 0-2.425 1.058-2.425 2.364v11.818h-12.12c-1.34 0-2.425 1.058-2.425 2.363v5.91c0 1.305 1.085 2.363 2.424 2.363h12.121zM60.016 4.965c-4.781-2.76-10.897-1.118-13.656 3.66L5.553 79.305A9.993 9.993 0 009.21 92.963l51.04 29.468c4.78 2.76 10.897 1.118 13.655-3.66l40.808-70.681a9.993 9.993 0 00-3.658-13.656L60.016 4.965zm-3.567 27.963a6 6 0 106-10.393 6 6 0 00-6 10.393zm31.697 17.928a6 6 0 106-10.392 6 6 0 00-6 10.392z\"/><text class=\"tc-fill-background\" font-family=\"Helvetica\" font-size=\"47.172\" font-weight=\"bold\" transform=\"rotate(30 25.742 95.82)\"><tspan x=\"42\" y=\"77.485\" text-anchor=\"middle\"><$text text=<<day>>/></tspan></text></g></svg></$parameters>"},"$:/core/images/opacity":{"title":"$:/core/images/opacity","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-opacity tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M102.362 65a51.595 51.595 0 01-1.942 6H82.584a35.867 35.867 0 002.997-6h16.78zm.472-2c.423-1.961.734-3.963.929-6H87.656a35.78 35.78 0 01-1.368 6h16.546zm-3.249 10a51.847 51.847 0 01-3.135 6H75.812a36.205 36.205 0 005.432-6h18.341zm-4.416 8c-1.424 2.116-3 4.12-4.71 6H60.46a35.843 35.843 0 0012.874-6h21.834zm-7.513-34h16.107C101.247 20.627 79.033 0 52 0 23.281 0 0 23.281 0 52c0 25.228 17.965 46.26 41.8 51h20.4a51.66 51.66 0 0015.875-6H39v-2h42.25a52.257 52.257 0 007.288-6H39v-2h4.539C27.739 83.194 16 68.968 16 52c0-19.882 16.118-36 36-36 18.186 0 33.222 13.484 35.656 31zm.22 2h16.039a52.823 52.823 0 010 6H87.877a36.483 36.483 0 000-6z\"/><path d=\"M76 128c28.719 0 52-23.281 52-52s-23.281-52-52-52-52 23.281-52 52 23.281 52 52 52zm0-16c19.882 0 36-16.118 36-36S95.882 40 76 40 40 56.118 40 76s16.118 36 36 36z\"/><path d=\"M37 58h53v4H37v-4zm3-8h53v4H40v-4zm0-8h53v4H40v-4zm-8 24h53v4H32v-4zm-2 8h53v4H30v-4zm-3 8h53v4H27v-4z\"/></g></svg>"},"$:/core/images/open-window":{"title":"$:/core/images/open-window","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-open-window tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M16 112h88.994c3.87 0 7.006 3.59 7.006 8 0 4.418-3.142 8-7.006 8H7.006C3.136 128 0 124.41 0 120a9.321 9.321 0 010-.01V24.01C0 19.586 3.59 16 8 16c4.418 0 8 3.584 8 8.01V112z\"/><path d=\"M96 43.196V56a8 8 0 1016 0V24c0-4.41-3.585-8-8.007-8H72.007C67.588 16 64 19.582 64 24c0 4.41 3.585 8 8.007 8H84.57l-36.3 36.299a8 8 0 00-.001 11.316c3.117 3.117 8.19 3.123 11.316-.003L96 43.196zM32 7.999C32 3.581 35.588 0 40 0h80c4.419 0 8 3.588 8 8v80c0 4.419-3.588 8-8 8H40c-4.419 0-8-3.588-8-8V8z\"/></g></svg>"},"$:/core/images/options-button":{"title":"$:/core/images/options-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-options-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M110.488 76a47.712 47.712 0 01-5.134 12.384l6.724 6.724c3.123 3.123 3.132 8.192.011 11.313l-5.668 5.668c-3.12 3.12-8.186 3.117-11.313-.01l-6.724-6.725c-3.82 2.258-7.98 4-12.384 5.134v9.505c0 4.417-3.578 8.007-7.992 8.007h-8.016C55.58 128 52 124.415 52 119.993v-9.505a47.712 47.712 0 01-12.384-5.134l-6.724 6.725c-3.123 3.122-8.192 3.131-11.313.01l-5.668-5.668c-3.12-3.12-3.116-8.186.01-11.313l6.725-6.724c-2.257-3.82-4-7.98-5.134-12.384H8.007C3.591 76 0 72.422 0 68.01v-8.017C0 55.58 3.585 52 8.007 52h9.505a47.712 47.712 0 015.134-12.383l-6.724-6.725c-3.123-3.122-3.132-8.191-.011-11.312l5.668-5.669c3.12-3.12 8.186-3.116 11.313.01l6.724 6.725c3.82-2.257 7.98-4 12.384-5.134V8.007C52 3.591 55.578 0 59.992 0h8.016C72.42 0 76 3.585 76 8.007v9.505a47.712 47.712 0 0112.384 5.134l6.724-6.724c3.123-3.123 8.192-3.132 11.313-.01l5.668 5.668c3.12 3.12 3.116 8.186-.01 11.312l-6.725 6.725c2.257 3.82 4 7.979 5.134 12.383h9.505c4.416 0 8.007 3.578 8.007 7.992v8.017c0 4.411-3.585 7.991-8.007 7.991h-9.505zM64 96c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32z\"/></svg>"},"$:/core/images/paint":{"title":"$:/core/images/paint","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-paint tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M83.527 76.19C90.43 69.287 91.892 59 87.91 50.665l37.903-37.902c2.919-2.92 2.913-7.659 0-10.572a7.474 7.474 0 00-10.572 0L77.338 40.093c-8.335-3.982-18.622-2.521-25.526 4.383l31.715 31.715zm-2.643 2.644L49.169 47.119S8.506 81.243 0 80.282c0 0 3.782 5.592 6.827 8.039 14.024-5.69 37.326-24.6 37.326-24.6l.661.66S19.45 90.222 9.18 92.047c1.222 1.44 4.354 4.053 6.247 5.776 5.417-1.488 34.733-28.57 34.733-28.57l.661.66-32.407 31.022 5.285 5.286L56.106 75.2l.662.66s-27.864 30.536-28.684 32.432c0 0 6.032 6.853 7.569 7.824.702-2.836 27.884-33.485 27.884-33.485l.661.66s-20.597 23.755-24.964 36.732c3.21 3.549 7.5 5.137 10.926 6.298-2.19-11.817 30.724-47.487 30.724-47.487z\"/></svg>"},"$:/core/images/palette":{"title":"$:/core/images/palette","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-palette tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.247 39.182a93.52 93.52 0 00-16.228-1.4C28.662 37.781 0 57.131 0 81.002c0 9.642 4.676 18.546 12.58 25.735C23.504 91.19 26.34 72.395 36.89 63.562c15.183-12.713 26.538-7.828 26.538-7.828l16.82-16.552zm26.535 9.655c13.049 7.913 21.257 19.392 21.257 32.166 0 9.35.519 17.411-11.874 25.08-10.797 6.681-3.824-6.536-11.844-10.898s-19.946 1.308-18.213 7.906c3.2 12.181 19.422 11.455 6.314 16.658-13.107 5.202-18.202 4.476-28.403 4.476-7.821 0-15.315-.947-22.243-2.68 9.844-4.197 27.88-12.539 33.354-19.456C82.788 92.409 87.37 80 83.324 72.484c-.194-.359 11.215-11.668 23.458-23.647zM1.134 123.867l-.66.002c33.479-14.94 22.161-64.226 58.818-64.226.317 1.418.644 2.944 1.062 4.494-25.907-4.166-23.567 48.031-59.22 59.73zm.713-.007c38.872-.506 78.152-22.347 78.152-44.813-9.27 0-14.073-3.48-16.816-7.942-16.597-7.003-30.365 45.715-61.336 52.755zm65.351-64.008c-4.45 4.115 4.886 16.433 11.318 11.318l45.27-45.27c11.317-11.318 0-22.635-11.318-11.318-11.317 11.318-33.518 34.405-45.27 45.27z\"/></svg>"},"$:/core/images/permalink-button":{"title":"$:/core/images/permalink-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-permalink-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M80.483 48l-7.387 32h-25.58l7.388-32h25.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L100.598 32h3.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-7.096l-7.387 32H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H85.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L69.402 96h-25.58L38.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L27.402 96h-3.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h7.096l7.387-32H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h18.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L58.598 32h25.58z\"/></svg>"},"$:/core/images/permaview-button":{"title":"$:/core/images/permaview-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-permaview-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M81.483 48l-1.846 8h-5.58l1.847-8h5.58zm3.694-16l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L101.598 32h2.403c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8h-6.096l-1.847 8h7.944c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H92.364l-1.846 8H104c4.41 0 7.999 3.582 7.999 8 0 4.41-3.581 8-8 8H86.824l-5.624 24.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L70.402 96h-5.58L59.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L48.402 96h-5.58L37.2 120.358c-.993 4.303-5.29 6.996-9.596 6.002-4.296-.992-6.988-5.293-5.994-9.602L26.402 96h-2.403C19.59 96 16 92.418 16 88c0-4.41 3.581-8 8-8h6.096l1.847-8h-7.944C19.59 72 16 68.418 16 64c0-4.41 3.581-8 8-8h11.637l1.846-8H24C19.59 48 16 44.418 16 40c0-4.41 3.581-8 8-8h17.177l5.624-24.358c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L57.598 32h5.58L68.8 7.642c.993-4.303 5.29-6.996 9.596-6.002 4.296.992 6.988 5.293 5.994 9.602L79.598 32h5.58zM53.904 48l-1.847 8h5.58l1.846-8h-5.579zm22.039 24l-1.847 8h-5.58l1.847-8h5.58zm-27.58 0l-1.846 8h5.579l1.847-8h-5.58z\"/></svg>"},"$:/core/images/picture":{"title":"$:/core/images/picture","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-picture tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M112 68.233v-48.23A4.001 4.001 0 00107.997 16H20.003A4.001 4.001 0 0016 20.003v38.31l9.241-14.593c2.8-4.422 9.023-5.008 12.6-1.186l18.247 20.613 13.687-6.407a8 8 0 018.903 1.492 264.97 264.97 0 002.92 2.739 249.44 249.44 0 006.798 6.066 166.5 166.5 0 002.106 1.778c2.108 1.747 3.967 3.188 5.482 4.237.748.518 1.383.92 2.044 1.33.444.117 1.046.144 1.809.05 1.873-.233 4.238-1.144 6.723-2.547a36.016 36.016 0 003.205-2.044c.558-.4.93-.686 1.07-.802.376-.31.765-.577 1.165-.806zM0 8.007A8.01 8.01 0 018.007 0h111.986A8.01 8.01 0 01128 8.007v111.986a8.01 8.01 0 01-8.007 8.007H8.007A8.01 8.01 0 010 119.993V8.007zM95 42a8 8 0 100-16 8 8 0 000 16zM32 76c15.859 4.83 20.035 7.244 20.035 12S32 95.471 32 102.347c0 6.876 1.285 4.99 1.285 9.653H68s-13.685-6.625-13.685-10.8c0-7.665 10.615-8.34 10.615-13.2 0-7.357-14.078-8.833-32.93-12z\"/></svg>"},"$:/core/images/plugin-generic-language":{"title":"$:/core/images/plugin-generic-language","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-language tc-image-button\"><path fill-rule=\"evenodd\" d=\"M61.207 68.137c-4.324 2.795-6.999 6.656-6.999 10.921 0 7.906 9.19 14.424 21.042 15.336 2.162 3.902 8.598 6.785 16.318 7.01-5.126-1.125-9.117-3.742-10.62-7.01C92.805 93.487 102 86.967 102 79.059c0-8.53-10.699-15.445-23.896-15.445-6.599 0-12.572 1.729-16.897 4.524zm12.794-14.158c-4.324 2.795-10.298 4.524-16.897 4.524-2.619 0-5.14-.272-7.497-.775-3.312 2.25-8.383 3.69-14.067 3.69l-.255-.002c4.119-.892 7.511-2.747 9.478-5.13-6.925-2.704-11.555-7.617-11.555-13.228 0-8.53 10.699-15.445 23.896-15.445C70.301 27.613 81 34.528 81 43.058c0 4.265-2.675 8.126-6.999 10.921zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"},"$:/core/images/plugin-generic-plugin":{"title":"$:/core/images/plugin-generic-plugin","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-plugin tc-image-button\"><path fill-rule=\"evenodd\" d=\"M40.397 76.446V95.34h14.12l-.001-.005a6.912 6.912 0 005.364-11.593l.046-.023a6.912 6.912 0 119.979.526l.086.055a6.914 6.914 0 004.408 10.948l-.023.092h21.32V75.568l-.15.038a6.912 6.912 0 00-11.593-5.364l-.022-.046a6.912 6.912 0 11.526-9.979l.055-.086a6.914 6.914 0 0010.948-4.408c.079.018.158.038.236.059v-15.74h-21.32l.023-.094a6.914 6.914 0 01-4.408-10.947 10.23 10.23 0 00-.086-.055 6.912 6.912 0 10-9.979-.526l-.046.023a6.912 6.912 0 01-5.364 11.593l.001.005h-14.12v12.847A6.912 6.912 0 0129.5 59.843l-.054.086a6.912 6.912 0 10-.526 9.979l.023.046a6.912 6.912 0 0111.455 6.492zM64 0l54.56 32v64L64 128 9.44 96V32L64 0z\"/></svg>"},"$:/core/images/plugin-generic-theme":{"title":"$:/core/images/plugin-generic-theme","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> viewBox=\"0 0 128 128\" class=\"tc-image-plugin-generic-theme tc-image-button\"><path fill-rule=\"evenodd\" d=\"M29.408 91.472L51.469 69.41l-.004-.005a2.22 2.22 0 01.004-3.146c.87-.87 2.281-.872 3.147-.005l9.465 9.464a2.22 2.22 0 01-.005 3.147c-.87.87-2.28.871-3.147.005l-.005-.005-22.061 22.062a6.686 6.686 0 11-9.455-9.455zM60.802 66.38c-2.436-2.704-4.465-5.091-5.817-6.869-6.855-9.014-10.313-4.268-14.226 0-3.913 4.268 1.03 7.726-2.683 10.741-3.713 3.015-3.484 4.06-9.752-1.455-6.267-5.516-6.7-7.034-3.823-10.181 2.877-3.147 5.281 1.808 11.159-3.785 5.877-5.593.94-10.55.94-10.55s12.237-25.014 28.588-23.167c16.351 1.848-6.186-2.392-11.792 17.226-2.4 8.4.447 6.42 4.998 9.968 1.394 1.086 6.03 4.401 11.794 8.685l20.677-20.676 1.615-4.766 7.84-4.689 3.151 3.152-4.688 7.84-4.766 1.615-20.224 20.223c12.663 9.547 28.312 22.146 28.312 26.709 0 7.217-3.071 11.526-9.535 9.164-4.693-1.715-18.768-15.192-28.753-25.897l-2.893 2.893-3.151-3.152 3.029-3.029zM63.953 0l54.56 32v64l-54.56 32-54.56-32V32l54.56-32z\"/></svg>"},"$:/core/images/plus-button":{"title":"$:/core/images/plus-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-plus-button tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64-.333c35.346 0 64 28.654 64 64 0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64zM64 16c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"/><rect width=\"80\" height=\"16\" x=\"24\" y=\"56\" rx=\"8\"/><rect width=\"16\" height=\"80\" x=\"56\" y=\"24\" rx=\"8\"/></svg>"},"$:/core/images/preview-closed":{"title":"$:/core/images/preview-closed","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-preview-closed tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M.088 64a7.144 7.144 0 001.378 5.458C16.246 88.818 39.17 100.414 64 100.414c24.83 0 47.753-11.596 62.534-30.956A7.144 7.144 0 00127.912 64C110.582 78.416 88.304 87.086 64 87.086 39.696 87.086 17.418 78.416.088 64z\"/><rect width=\"4\" height=\"16\" x=\"62\" y=\"96\" rx=\"4\"/><rect width=\"4\" height=\"16\" x=\"78\" y=\"93\" rx=\"4\" transform=\"rotate(-5 80 101)\"/><rect width=\"4\" height=\"16\" x=\"46\" y=\"93\" rx=\"4\" transform=\"rotate(5 48 101)\"/><rect width=\"4\" height=\"16\" x=\"30\" y=\"88\" rx=\"4\" transform=\"rotate(10 32 96)\"/><rect width=\"4\" height=\"16\" x=\"94\" y=\"88\" rx=\"4\" transform=\"rotate(-10 96 96)\"/><rect width=\"4\" height=\"16\" x=\"110\" y=\"80\" rx=\"4\" transform=\"rotate(-20 112 88)\"/><rect width=\"4\" height=\"16\" x=\"14\" y=\"80\" rx=\"4\" transform=\"rotate(20 16 88)\"/></g></svg>"},"$:/core/images/preview-open":{"title":"$:/core/images/preview-open","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-preview-open tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M64.11 99.588c-24.83 0-47.754-11.596-62.534-30.957a7.148 7.148 0 010-8.675C16.356 40.596 39.28 29 64.11 29c24.83 0 47.753 11.596 62.534 30.956a7.148 7.148 0 010 8.675c-14.78 19.36-37.703 30.957-62.534 30.957zm46.104-32.007c1.44-1.524 1.44-3.638 0-5.162C99.326 50.9 82.439 44 64.147 44S28.968 50.9 18.08 62.42c-1.44 1.523-1.44 3.637 0 5.16C28.968 79.1 45.855 86 64.147 86s35.179-6.9 46.067-18.42z\"/><path d=\"M63.5 88C76.479 88 87 77.479 87 64.5S76.479 41 63.5 41 40 51.521 40 64.5 50.521 88 63.5 88z\"/></g></svg>"},"$:/core/images/print-button":{"title":"$:/core/images/print-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-print-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M112 71V30.5h-.032c-.035-2-.816-3.99-2.343-5.516L86.998 2.357A7.978 7.978 0 0081 .02V0H24a8 8 0 00-8 8v63h8V8h57v14.5c0 4.422 3.582 8 8 8h15V71h8z\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"36\" rx=\"4\"/><rect width=\"64\" height=\"8\" x=\"32\" y=\"52\" rx=\"4\"/><rect width=\"40\" height=\"8\" x=\"32\" y=\"20\" rx=\"4\"/><path d=\"M0 80.005C0 71.165 7.156 64 16 64h96c8.836 0 16 7.155 16 16.005v31.99c0 8.84-7.156 16.005-16 16.005H16c-8.836 0-16-7.155-16-16.005v-31.99zM104 96a8 8 0 100-16 8 8 0 000 16z\"/></g></svg>"},"$:/core/images/quote":{"title":"$:/core/images/quote","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-quote tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M51.219 117.713V62.199H27.427c0-8.891 1.683-16.401 5.047-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.36 3.184-20.728 6.669-6.368 3.484-11.835 7.87-16.401 13.157C9.524 27.113 5.98 33.241 3.456 40.21.933 47.18-.21 54.63.03 62.56v55.153H51.22zm76.781 0V62.199h-23.791c0-8.891 1.682-16.401 5.046-22.53 3.365-6.127 9.613-10.754 18.745-13.878V2c-7.45.961-14.359 3.184-20.727 6.669-6.369 3.484-11.836 7.87-16.402 13.157-4.566 5.287-8.11 11.415-10.634 18.384-2.523 6.97-3.665 14.42-3.424 22.35v55.153H128z\"/></svg>"},"$:/core/images/refresh-button":{"title":"$:/core/images/refresh-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-refresh-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M106.369 39.433c10.16 20.879 6.57 46.764-10.771 64.106-21.87 21.87-57.327 21.87-79.196 0-21.87-21.87-21.87-57.326 0-79.196a8 8 0 1111.314 11.314c-15.621 15.62-15.621 40.947 0 56.568 15.62 15.621 40.947 15.621 56.568 0C97.72 78.79 99.6 58.175 89.924 42.73l-6.44 12.264a8 8 0 11-14.166-7.437L84.435 18.76a8 8 0 0110.838-3.345l28.873 15.345a8 8 0 11-7.51 14.129l-10.267-5.457zm-8.222-12.368c-.167-.19-.336-.38-.506-.57l.96-.296-.454.866z\"/></svg>"},"$:/core/images/right-arrow":{"title":"$:/core/images/right-arrow","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-right-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M99.069 64.173c0 2.027-.77 4.054-2.316 5.6l-55.98 55.98a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l50.382-50.382-50.382-50.382a7.92 7.92 0 010-11.195c3.086-3.085 8.104-3.092 11.196 0l55.98 55.98a7.892 7.892 0 012.316 5.595z\"/></svg>"},"$:/core/images/rotate-left":{"title":"$:/core/images/rotate-left","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-rotate-left tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"32\" height=\"80\" rx=\"8\"/><rect width=\"80\" height=\"32\" x=\"48\" y=\"96\" rx=\"8\"/><path d=\"M61.32 36.65c19.743 2.45 35.023 19.287 35.023 39.693a4 4 0 01-8 0c0-15.663-11.254-28.698-26.117-31.46l3.916 3.916a4 4 0 11-5.657 5.657L49.172 43.142a4 4 0 010-5.657l11.313-11.313a4 4 0 115.657 5.656l-4.821 4.822z\"/></g></svg>"},"$:/core/images/save-button-dynamic":{"title":"$:/core/images/save-button-dynamic","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-save-button-dynamic tc-image-button\" viewBox=\"0 0 128 128\">\n<g class=\"tc-image-save-button-dynamic-clean\">\n<path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/>\n</g>\n<g class=\"tc-image-save-button-dynamic-dirty\">\n<path d=\"M64.856912,0 C100.203136,0 128.856912,28.653776 128.856912,64 C128.856912,99.346224 100.203136,128 64.856912,128 C29.510688,128 0.856911958,99.346224 0.856911958,64 C0.856911958,28.653776 29.510688,0 64.856912,0 Z M64.856912,16 C38.347244,16 16.856912,37.490332 16.856912,64 C16.856912,90.509668 38.347244,112 64.856912,112 C91.3665799,112 112.856912,90.509668 112.856912,64 C112.856912,37.490332 91.3665799,16 64.856912,16 Z\"></path>\n<circle cx=\"65\" cy=\"64\" r=\"32\"></circle>\n</g>\n</svg>"},"$:/core/images/save-button":{"title":"$:/core/images/save-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M120.783 34.33c4.641 8.862 7.266 18.948 7.266 29.646 0 35.347-28.653 64-64 64-35.346 0-64-28.653-64-64 0-35.346 28.654-64 64-64 18.808 0 35.72 8.113 47.43 21.03l2.68-2.68c3.13-3.13 8.197-3.132 11.321-.008 3.118 3.118 3.121 8.193-.007 11.32l-4.69 4.691zm-12.058 12.058a47.876 47.876 0 013.324 17.588c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48c14.39 0 27.3 6.332 36.098 16.362L58.941 73.544 41.976 56.578c-3.127-3.127-8.201-3.123-11.32-.005-3.123 3.124-3.119 8.194.006 11.319l22.617 22.617a7.992 7.992 0 005.659 2.347c2.05 0 4.101-.783 5.667-2.349l44.12-44.12z\"/></svg>"},"$:/core/images/size":{"title":"$:/core/images/size","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-size tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M92.343 26l-9.171 9.172a4 4 0 105.656 5.656l16-16a4 4 0 000-5.656l-16-16a4 4 0 10-5.656 5.656L92.343 18H22a4 4 0 00-4 4v70.343l-9.172-9.171a4 4 0 10-5.656 5.656l16 16a4 4 0 005.656 0l16-16a4 4 0 10-5.656-5.656L26 92.343V22l-4 4h70.343zM112 52v64l4-4H52a4 4 0 100 8h64a4 4 0 004-4V52a4 4 0 10-8 0z\"/></svg>"},"$:/core/images/spiral":{"title":"$:/core/images/spiral","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-spiral tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074a4.785 4.785 0 00-4.52-5.03 4.778 4.778 0 00-5.03 4.52c-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01a1.047 1.047 0 01-.264-.332c-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"/></svg>"},"$:/core/images/stamp":{"title":"$:/core/images/stamp","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-stamp tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M49.733 64H16.01C11.584 64 8 67.583 8 72.003V97h112V72.003A8 8 0 00111.99 64H78.267A22.813 22.813 0 0175.5 53.077c0-6.475 2.687-12.324 7.009-16.497A22.818 22.818 0 0087 22.952C87 10.276 76.703 0 64 0S41 10.276 41 22.952c0 5.103 1.669 9.817 4.491 13.628 4.322 4.173 7.009 10.022 7.009 16.497 0 3.954-1.002 7.675-2.767 10.923zM8 104h112v8H8v-8z\"/></svg>"},"$:/core/images/star-filled":{"title":"$:/core/images/star-filled","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-star-filled tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M61.836 96.823l37.327 27.287c2.72 1.99 6.379-.69 5.343-3.912L90.29 75.988l-1.26 3.91 37.285-27.345c2.718-1.993 1.32-6.327-2.041-6.33l-46.113-.036 3.3 2.416L67.176 4.416c-1.04-3.221-5.563-3.221-6.604 0L46.29 48.603l3.3-2.416-46.113.036c-3.362.003-4.759 4.337-2.04 6.33L38.72 79.898l-1.26-3.91-14.216 44.21c-1.036 3.223 2.622 5.901 5.343 3.912l37.326-27.287h-4.078z\"/></svg>"},"$:/core/images/storyview-classic":{"title":"$:/core/images/storyview-classic","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-classic tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm0 48C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0 32C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"},"$:/core/images/storyview-pop":{"title":"$:/core/images/storyview-pop","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-pop tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16C19.581 16 16 19.578 16 23.992v16.016C16 44.422 19.588 48 24 48h80c4.419 0 8-3.578 8-7.992V23.992c0-4.414-3.588-7.992-8-7.992H24zm-7.99 40C11.587 56 8 59.578 8 63.992v16.016C8 84.422 11.584 88 16.01 88h95.98c4.424 0 8.01-3.578 8.01-7.992V63.992c0-4.414-3.584-7.992-8.01-7.992H16.01zM24 96C19.581 96 16 99.59 16 104c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24zm0-32C19.581 64 16 67.59 16 72c0 4.418 3.588 8 8 8h80c4.419 0 8-3.59 8-8 0-4.418-3.588-8-8-8H24z\"/></svg>"},"$:/core/images/storyview-zoomin":{"title":"$:/core/images/storyview-zoomin","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-storyview-zoomin tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M8.007 0A8.01 8.01 0 000 8.007v111.986A8.01 8.01 0 008.007 128h111.986a8.01 8.01 0 008.007-8.007V8.007A8.01 8.01 0 00119.993 0H8.007zm15.992 16A8 8 0 0016 24.009V71.99C16 76.414 19.588 80 24 80h80a8 8 0 008-8.009V24.01c0-4.423-3.588-8.009-8-8.009H24z\"/></svg>"},"$:/core/images/strikethrough":{"title":"$:/core/images/strikethrough","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-strikethrough tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M92.794 38.726h15.422c-.229-6.74-1.514-12.538-3.856-17.393-2.342-4.855-5.54-8.881-9.596-12.08-4.055-3.199-8.767-5.54-14.136-7.025C75.258.743 69.433 0 63.15 0a62.76 62.76 0 00-16.364 2.142C41.474 3.57 36.733 5.74 32.564 8.653c-4.17 2.913-7.511 6.626-10.025 11.138-2.513 4.512-3.77 9.853-3.77 16.022 0 5.597 1.115 10.252 3.342 13.965 2.228 3.712 5.198 6.74 8.91 9.081 3.713 2.342 7.911 4.227 12.595 5.655a194.641 194.641 0 0014.308 3.77c4.855 1.085 9.624 2.142 14.308 3.17 4.683 1.028 8.881 2.37 12.594 4.027 3.713 1.656 6.683 3.798 8.91 6.425 2.228 2.628 3.342 6.055 3.342 10.281 0 4.456-.914 8.111-2.742 10.967a19.953 19.953 0 01-7.197 6.768c-2.97 1.657-6.311 2.828-10.024 3.513a60.771 60.771 0 01-11.052 1.028c-4.57 0-9.025-.571-13.366-1.713-4.34-1.143-8.139-2.913-11.394-5.312-3.256-2.4-5.884-5.455-7.883-9.168-1.999-3.712-2.998-8.139-2.998-13.28H15c0 7.426 1.342 13.852 4.027 19.278 2.684 5.426 6.34 9.881 10.966 13.365 4.627 3.484 9.996 6.083 16.107 7.797 6.112 1.713 12.595 2.57 19.449 2.57 5.597 0 11.223-.657 16.878-1.97 5.655-1.314 10.767-3.428 15.336-6.34 4.57-2.914 8.31-6.683 11.224-11.31 2.913-4.626 4.37-10.195 4.37-16.707 0-6.054-1.115-11.08-3.342-15.079-2.228-3.998-5.198-7.31-8.91-9.938-3.713-2.627-7.911-4.712-12.595-6.254a170.83 170.83 0 00-14.308-4.027 549.669 549.669 0 00-14.308-3.17c-4.683-.971-8.881-2.2-12.594-3.684-3.713-1.485-6.683-3.399-8.91-5.74-2.228-2.342-3.342-5.398-3.342-9.168 0-3.998.771-7.34 2.313-10.024 1.543-2.685 3.599-4.826 6.17-6.426 2.57-1.599 5.51-2.741 8.824-3.427a49.767 49.767 0 0110.11-1.028c8.453 0 15.393 1.97 20.819 5.912 5.426 3.94 8.596 10.31 9.51 19.106z\"/><path d=\"M5 54h118v16H5z\"/></g></svg>"},"$:/core/images/subscript":{"title":"$:/core/images/subscript","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-subscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 128.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"},"$:/core/images/superscript":{"title":"$:/core/images/superscript","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-superscript tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M2.272 16h19.91l21.649 33.675L66.414 16h18.708L53.585 61.969l33.809 49.443H67.082L43.296 74.93l-24.187 36.48H0L33.808 61.97 2.272 16zM127.91 63.412H85.328c.059-5.168 1.306-9.681 3.741-13.542 2.435-3.86 5.761-7.216 9.978-10.066a112.388 112.388 0 016.325-4.321 50.09 50.09 0 006.058-4.499c1.841-1.603 3.356-3.34 4.543-5.211 1.188-1.871 1.812-4.024 1.871-6.46 0-1.128-.133-2.33-.4-3.607a9.545 9.545 0 00-1.56-3.564c-.772-1.098-1.84-2.019-3.207-2.761-1.366-.743-3.148-1.114-5.345-1.114-2.02 0-3.697.4-5.033 1.203-1.337.801-2.406 1.9-3.208 3.296-.801 1.396-1.395 3.044-1.781 4.944-.386 1.9-.609 3.95-.668 6.147H86.486c0-3.445.46-6.637 1.38-9.577.921-2.94 2.302-5.478 4.143-7.617 1.841-2.138 4.083-3.815 6.726-5.033 2.643-1.217 5.716-1.826 9.22-1.826 3.802 0 6.979.623 9.533 1.87 2.554 1.248 4.617 2.822 6.191 4.722 1.574 1.9 2.688 3.965 3.341 6.192.653 2.227.98 4.35.98 6.37 0 2.494-.386 4.75-1.158 6.77a21.803 21.803 0 01-3.118 5.568 31.516 31.516 0 01-4.454 4.677 66.788 66.788 0 01-5.167 4.009 139.198 139.198 0 01-5.346 3.563 79.237 79.237 0 00-4.944 3.386c-1.514 1.128-2.836 2.3-3.964 3.518-1.129 1.218-1.9 2.51-2.317 3.876h30.379v9.087z\"/></svg>"},"$:/core/images/tag-button":{"title":"$:/core/images/tag-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-tag-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M18.164 47.66l.004 4.105c.003 3.823 2.19 9.097 4.885 11.792l61.85 61.85c2.697 2.697 7.068 2.69 9.769-.01L125.767 94.3a6.903 6.903 0 00.01-9.77L63.928 22.683c-2.697-2.697-7.976-4.88-11.796-4.881l-27.076-.007a6.902 6.902 0 00-6.91 6.91l.008 9.96.287.033c3.73.411 8.489-.044 13.365-1.153a9.702 9.702 0 0111.14-3.662l.291-.13.128.285a9.7 9.7 0 013.3 2.17c3.796 3.796 3.801 9.945.012 13.734-3.618 3.618-9.386 3.777-13.204.482-5.365 1.122-10.674 1.596-15.309 1.237z\"/><path d=\"M47.633 39.532l.023.051c-9.689 4.356-21.584 6.799-30.396 5.828C5.273 44.089-1.028 36.43 2.443 24.078 5.562 12.976 14.3 4.361 24.047 1.548c10.68-3.083 19.749 1.968 19.749 13.225h-8.623c0-4.859-3.078-6.573-8.735-4.94-6.91 1.995-13.392 8.383-15.694 16.577-1.915 6.818.417 9.653 7.46 10.43 7.126.785 17.531-1.352 25.917-5.121l.027.06.036-.017c1.76-.758 6.266 6.549 3.524 7.74a2.8 2.8 0 01-.075.03z\"/></g></svg>"},"$:/core/images/theme-button":{"title":"$:/core/images/theme-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-theme-button tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M55.854 66.945a122.626 122.626 0 01-3.9-4.819c-11.064-14.548-16.645-6.888-22.96 0-6.315 6.888 1.664 12.47-4.33 17.335-5.993 4.866-5.623 6.552-15.737-2.35-10.115-8.9-10.815-11.351-6.172-16.43 4.644-5.08 8.524 2.918 18.01-6.108 9.485-9.026 1.517-17.026 1.517-17.026S42.03-2.824 68.42.157c26.39 2.982-9.984-3.86-19.031 27.801-3.874 13.556.72 10.362 8.066 16.087 1.707 1.33 6.428 4.732 12.671 9.318-6.129 5.879-11.157 10.669-14.273 13.582zm11.641 12.947c16.013 17.036 37.742 37.726 45.117 40.42 10.432 3.813 15.388-3.141 15.388-14.79 0-7.151-23.83-26.542-43.924-41.769-7.408 7.156-13.376 12.953-16.58 16.139z\"/><path d=\"M11.069 109.828L46.31 74.587a3.56 3.56 0 115.037-5.032l15.098 15.098a3.56 3.56 0 11-5.032 5.037l-35.24 35.241c-4.171 4.17-10.933 4.17-15.104 0-4.17-4.17-4.17-10.933 0-15.103zM124.344 6.622l5.034 5.034-7.49 12.524-7.613 2.58L61.413 79.62l-5.034-5.034 52.861-52.862 2.58-7.614 12.524-7.49z\"/></g></svg>"},"$:/core/images/timestamp-off":{"title":"$:/core/images/timestamp-off","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-timestamp-off tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M58.25 35.88c-18.777 0-33.998 15.224-33.998 33.998 0 18.773 15.22 34.002 33.998 34.002 18.784 0 34.002-15.23 34.002-34.002 0-18.774-15.218-33.998-34.002-33.998zm-3.03 50.123H44.196v-34H55.22v34zm16.976 0H61.17v-34h11.025v34z\"/></g></svg>"},"$:/core/images/timestamp-on":{"title":"$:/core/images/timestamp-on","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-timestamp-on tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path d=\"M58.25 11C26.08 11 0 37.082 0 69.25s26.08 58.25 58.25 58.25c32.175 0 58.25-26.082 58.25-58.25S90.425 11 58.25 11zm0 100.5C34.914 111.5 16 92.586 16 69.25 16 45.92 34.914 27 58.25 27s42.25 18.92 42.25 42.25c0 23.336-18.914 42.25-42.25 42.25zM49.704 10a5 5 0 010-10H66.69a5 5 0 015 5c.006 2.757-2.238 5-5 5H49.705z\"/><path d=\"M13.41 27.178a5.005 5.005 0 01-7.045-.613 5.008 5.008 0 01.616-7.047l9.95-8.348a5 5 0 016.429 7.661l-9.95 8.348zm89.573 0a5.005 5.005 0 007.045-.613 5.008 5.008 0 00-.616-7.047l-9.95-8.348a5 5 0 00-6.428 7.661l9.95 8.348zM65.097 71.072c0 3.826-3.09 6.928-6.897 6.928-3.804.006-6.9-3.102-6.903-6.928 0 0 4.76-39.072 6.903-39.072s6.897 39.072 6.897 39.072z\"/></g></svg>"},"$:/core/images/tip":{"title":"$:/core/images/tip","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-tip tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 128.242c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64zm11.936-36.789c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349C54.33 94.05 58.824 95.82 64 95.82c5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.456c-.624 4.129-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zm0 4.492c-.624 4.13-5.73 7.349-11.936 7.349-6.206 0-11.312-3.22-11.936-7.349 2.266 2.597 6.76 4.366 11.936 4.366 5.175 0 9.67-1.769 11.936-4.366zM64.3 24.242c11.618 0 23.699 7.82 23.699 24.2S75.92 71.754 75.92 83.576c0 5.873-5.868 9.26-11.92 9.26s-12.027-3.006-12.027-9.26C51.973 71.147 40 65.47 40 48.442s12.683-24.2 24.301-24.2z\"/></svg>"},"$:/core/images/transcludify":{"title":"$:/core/images/transcludify","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-transcludify-button tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M0 59.482c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.651-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02C1.36 67.377.591 67.288 0 67.288v-7.806zm24.66 0c.591 0 1.36-.089 2.306-.266a10.417 10.417 0 002.75-.932 6.762 6.762 0 002.306-1.907c.65-.828.976-1.863.976-3.104V35.709c0-2.01.414-3.74 1.242-5.19.828-1.448 1.833-2.66 3.016-3.636s2.425-1.7 3.726-2.173c1.3-.473 2.424-.71 3.37-.71h8.073v7.451h-4.88c-1.241 0-2.232.207-2.97.621-.74.414-1.302.932-1.686 1.552a4.909 4.909 0 00-.71 1.996c-.089.71-.133 1.39-.133 2.04v16.677c0 1.715-.325 3.134-.976 4.258-.65 1.123-1.434 2.025-2.35 2.705-.917.68-1.863 1.168-2.839 1.464-.976.296-1.818.473-2.528.532v.178c.71.059 1.552.207 2.528.443.976.237 1.922.68 2.839 1.33.916.651 1.7 1.583 2.35 2.795.65 1.212.976 2.853.976 4.923v16.144c0 .65.044 1.33.133 2.04.089.71.325 1.375.71 1.996.384.621.946 1.139 1.685 1.553.74.414 1.73.62 2.972.62h4.879v7.452h-8.073c-.946 0-2.07-.237-3.37-.71-1.301-.473-2.543-1.197-3.726-2.173-1.183-.976-2.188-2.188-3.016-3.637-.828-1.449-1.242-3.179-1.242-5.19V74.119c0-1.42-.325-2.572-.976-3.46-.65-.886-1.419-1.581-2.306-2.084a8.868 8.868 0 00-2.75-1.02c-.946-.177-1.715-.266-2.306-.266v-7.806zm43.965-3.538L80.6 52.041l2.306 7.097-12.063 3.903 7.628 10.378-6.12 4.435-7.63-10.467-7.45 10.201-5.943-4.524 7.628-10.023-12.152-4.17 2.306-7.096 12.064 4.17V43.347h7.451v12.596zm34.425 11.344c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806zm24.66 0c-.65 0-1.449.089-2.395.266-.946.177-1.863.488-2.75.931a6.356 6.356 0 00-2.262 1.908c-.62.828-.931 1.862-.931 3.104v17.564c0 2.01-.414 3.74-1.242 5.189-.828 1.449-1.833 2.661-3.016 3.637s-2.425 1.7-3.726 2.173c-1.3.473-2.424.71-3.37.71h-8.073v-7.451h4.88c1.241 0 2.232-.207 2.97-.621.74-.414 1.302-.932 1.686-1.553a4.9 4.9 0 00.71-1.995c.089-.71.133-1.39.133-2.04V72.432c0-1.715.325-3.134.976-4.258.65-1.124 1.434-2.01 2.35-2.661.917-.65 1.863-1.124 2.839-1.42.976-.295 1.818-.502 2.528-.62v-.178c-.71-.059-1.552-.207-2.528-.443-.976-.237-1.922-.68-2.839-1.33-.916-.651-1.7-1.583-2.35-2.795-.65-1.212-.976-2.853-.976-4.923V37.66c0-.651-.044-1.331-.133-2.04a4.909 4.909 0 00-.71-1.997c-.384-.62-.946-1.138-1.685-1.552-.74-.414-1.73-.62-2.972-.62h-4.879V24h8.073c.946 0 2.07.237 3.37.71 1.301.473 2.543 1.197 3.726 2.173 1.183.976 2.188 2.188 3.016 3.637.828 1.449 1.242 3.178 1.242 5.189v16.943c0 1.419.31 2.572.931 3.46a6.897 6.897 0 002.262 2.084 8.868 8.868 0 002.75 1.02c.946.177 1.745.266 2.395.266v7.806z\"/></svg>"},"$:/core/images/twitter":{"title":"$:/core/images/twitter","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-twitter tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M41.626 115.803A73.376 73.376 0 012 104.235c2.022.238 4.08.36 6.166.36 12.111 0 23.258-4.117 32.105-11.023-11.312-.208-20.859-7.653-24.148-17.883a25.98 25.98 0 0011.674-.441C15.971 72.881 7.061 62.474 7.061 49.997c0-.108 0-.216.002-.323a25.824 25.824 0 0011.709 3.22c-6.936-4.617-11.5-12.5-11.5-21.433 0-4.719 1.274-9.142 3.5-12.945 12.75 15.579 31.797 25.83 53.281 26.904-.44-1.884-.67-3.85-.67-5.868 0-14.22 11.575-25.75 25.852-25.75a25.865 25.865 0 0118.869 8.132 51.892 51.892 0 0016.415-6.248c-1.93 6.012-6.029 11.059-11.366 14.246A51.844 51.844 0 00128 25.878a52.428 52.428 0 01-12.9 13.33c.05 1.104.075 2.214.075 3.33 0 34.028-26 73.265-73.549 73.265\"/></svg>"},"$:/core/images/underline":{"title":"$:/core/images/underline","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-underline tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M7 117.421h114.248V128H7v-10.579zm97.871-18.525V0h-16.26v55.856c0 4.463-.605 8.576-1.816 12.338-1.212 3.762-3.03 7.046-5.452 9.851-2.423 2.806-5.452 4.974-9.086 6.504-3.635 1.53-7.939 2.296-12.912 2.296-6.25 0-11.159-1.786-14.73-5.356-3.57-3.571-5.356-8.417-5.356-14.538V0H23v65.038c0 5.356.542 10.234 1.626 14.633 1.084 4.4 2.965 8.194 5.643 11.382 2.678 3.188 6.185 5.643 10.52 7.365 4.337 1.721 9.756 2.582 16.26 2.582 7.27 0 13.582-1.435 18.938-4.304 5.356-2.87 9.755-7.365 13.199-13.486h.382v15.686h15.303z\"/></svg>"},"$:/core/images/unfold-all-button":{"title":"$:/core/images/unfold-all-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unfold-all tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><rect width=\"128\" height=\"16\" y=\"64\" rx=\"8\"/><path d=\"M63.945 60.624c-2.05 0-4.101-.78-5.666-2.345L35.662 35.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 41.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 58.279a7.986 7.986 0 01-5.663 2.346zM64.004 124.565c-2.05 0-4.102-.78-5.666-2.345L35.721 99.603c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 105.255l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.662 122.22a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/unfold-button":{"title":"$:/core/images/unfold-button","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unfold tc-image-button\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><rect width=\"128\" height=\"16\" rx=\"8\"/><path d=\"M63.945 63.624c-2.05 0-4.101-.78-5.666-2.345L35.662 38.662c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.192-3.122 11.319.005L63.94 44.314l16.966-16.966c3.124-3.124 8.194-3.129 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319L69.603 61.279a7.986 7.986 0 01-5.663 2.346zM64.004 105.682c-2.05.001-4.102-.78-5.666-2.344L35.721 80.721c-3.125-3.125-3.13-8.195-.005-11.319 3.118-3.118 8.191-3.122 11.318.005L64 86.373l16.966-16.966c3.124-3.125 8.194-3.13 11.318-.005 3.118 3.118 3.122 8.192-.005 11.319l-22.617 22.617a7.986 7.986 0 01-5.663 2.346z\"/></g></svg>"},"$:/core/images/unlocked-padlock":{"title":"$:/core/images/unlocked-padlock","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-unlocked-padlock tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M48.627 64H105v32.01C105 113.674 90.674 128 73.001 128H56C38.318 128 24 113.677 24 96.01V64h6.136c-10.455-12.651-27.364-35.788-4.3-55.142 24.636-20.672 45.835 4.353 55.777 16.201 9.943 11.85-2.676 22.437-12.457 9.892-9.78-12.545-21.167-24.146-33.207-14.043-12.041 10.104-1.757 22.36 8.813 34.958 2.467 2.94 3.641 5.732 3.865 8.134zm19.105 28.364A8.503 8.503 0 0064.5 76a8.5 8.5 0 00-3.498 16.25l-5.095 22.77H72.8l-5.07-22.656z\"/></svg>"},"$:/core/images/up-arrow":{"title":"$:/core/images/up-arrow","created":"20150316000544368","modified":"20150316000831867","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-up-arrow tc-image-button\" viewBox=\"0 0 128 128\"><path d=\"M63.892.281c2.027 0 4.054.77 5.6 2.316l55.98 55.98a7.92 7.92 0 010 11.196c-3.086 3.085-8.104 3.092-11.196 0L63.894 19.393 13.513 69.774a7.92 7.92 0 01-11.196 0c-3.085-3.086-3.092-8.105 0-11.196l55.98-55.98A7.892 7.892 0 0163.893.28z\"/></svg>"},"$:/core/images/video":{"title":"$:/core/images/video","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-video tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M64 12c-34.91 0-55.273 2.917-58.182 5.833C2.91 20.75 0 41.167 0 64.5c0 23.333 2.91 43.75 5.818 46.667C8.728 114.083 29.091 117 64 117c34.91 0 55.273-2.917 58.182-5.833C125.09 108.25 128 87.833 128 64.5c0-23.333-2.91-43.75-5.818-46.667C119.272 14.917 98.909 12 64 12zm-9.084 32.618c-3.813-2.542-6.905-.879-6.905 3.698v31.368c0 4.585 3.099 6.235 6.905 3.698l22.168-14.779c3.813-2.542 3.806-6.669 0-9.206L54.916 44.618z\"/></svg>"},"$:/core/images/warning":{"title":"$:/core/images/warning","tags":"$:/tags/Image","text":"\\parameters (size:\"22pt\")\n<svg width=<<size>> height=<<size>> class=\"tc-image-warning tc-image-button\" viewBox=\"0 0 128 128\"><path fill-rule=\"evenodd\" d=\"M57.072 11c3.079-5.333 10.777-5.333 13.856 0l55.426 96c3.079 5.333-.77 12-6.928 12H8.574c-6.158 0-10.007-6.667-6.928-12l55.426-96zM64 37c-4.418 0-8 3.582-8 7.994v28.012C56 77.421 59.59 81 64 81c4.418 0 8-3.582 8-7.994V44.994C72 40.579 68.41 37 64 37zm0 67a8 8 0 100-16 8 8 0 000 16z\"/></svg>"},"$:/language/Buttons/AdvancedSearch/Caption":{"title":"$:/language/Buttons/AdvancedSearch/Caption","text":"advanced search"},"$:/language/Buttons/AdvancedSearch/Hint":{"title":"$:/language/Buttons/AdvancedSearch/Hint","text":"Advanced search"},"$:/language/Buttons/Cancel/Caption":{"title":"$:/language/Buttons/Cancel/Caption","text":"cancel"},"$:/language/Buttons/Cancel/Hint":{"title":"$:/language/Buttons/Cancel/Hint","text":"Discard changes to this tiddler"},"$:/language/Buttons/Clone/Caption":{"title":"$:/language/Buttons/Clone/Caption","text":"clone"},"$:/language/Buttons/Clone/Hint":{"title":"$:/language/Buttons/Clone/Hint","text":"Clone this tiddler"},"$:/language/Buttons/Close/Caption":{"title":"$:/language/Buttons/Close/Caption","text":"close"},"$:/language/Buttons/Close/Hint":{"title":"$:/language/Buttons/Close/Hint","text":"Close this tiddler"},"$:/language/Buttons/CloseAll/Caption":{"title":"$:/language/Buttons/CloseAll/Caption","text":"close all"},"$:/language/Buttons/CloseAll/Hint":{"title":"$:/language/Buttons/CloseAll/Hint","text":"Close all tiddlers"},"$:/language/Buttons/CloseOthers/Caption":{"title":"$:/language/Buttons/CloseOthers/Caption","text":"close others"},"$:/language/Buttons/CloseOthers/Hint":{"title":"$:/language/Buttons/CloseOthers/Hint","text":"Close other tiddlers"},"$:/language/Buttons/ControlPanel/Caption":{"title":"$:/language/Buttons/ControlPanel/Caption","text":"control panel"},"$:/language/Buttons/ControlPanel/Hint":{"title":"$:/language/Buttons/ControlPanel/Hint","text":"Open control panel"},"$:/language/Buttons/CopyToClipboard/Caption":{"title":"$:/language/Buttons/CopyToClipboard/Caption","text":"copy to clipboard"},"$:/language/Buttons/CopyToClipboard/Hint":{"title":"$:/language/Buttons/CopyToClipboard/Hint","text":"Copy this text to the clipboard"},"$:/language/Buttons/Delete/Caption":{"title":"$:/language/Buttons/Delete/Caption","text":"delete"},"$:/language/Buttons/Delete/Hint":{"title":"$:/language/Buttons/Delete/Hint","text":"Delete this tiddler"},"$:/language/Buttons/DeleteTiddlers/Caption":{"title":"$:/language/Buttons/DeleteTiddlers/Caption","text":"delete tiddlers"},"$:/language/Buttons/DeleteTiddlers/Hint":{"title":"$:/language/Buttons/DeleteTiddlers/Hint","text":"Delete tiddlers"},"$:/language/Buttons/Edit/Caption":{"title":"$:/language/Buttons/Edit/Caption","text":"edit"},"$:/language/Buttons/Edit/Hint":{"title":"$:/language/Buttons/Edit/Hint","text":"Edit this tiddler"},"$:/language/Buttons/Encryption/Caption":{"title":"$:/language/Buttons/Encryption/Caption","text":"encryption"},"$:/language/Buttons/Encryption/Hint":{"title":"$:/language/Buttons/Encryption/Hint","text":"Set or clear a password for saving this wiki"},"$:/language/Buttons/Encryption/ClearPassword/Caption":{"title":"$:/language/Buttons/Encryption/ClearPassword/Caption","text":"clear password"},"$:/language/Buttons/Encryption/ClearPassword/Hint":{"title":"$:/language/Buttons/Encryption/ClearPassword/Hint","text":"Clear the password and save this wiki without encryption"},"$:/language/Buttons/Encryption/SetPassword/Caption":{"title":"$:/language/Buttons/Encryption/SetPassword/Caption","text":"set password"},"$:/language/Buttons/Encryption/SetPassword/Hint":{"title":"$:/language/Buttons/Encryption/SetPassword/Hint","text":"Set a password for saving this wiki with encryption"},"$:/language/Buttons/EmergencyDownload/Caption":{"title":"$:/language/Buttons/EmergencyDownload/Caption","text":"download tiddlers as json"},"$:/language/Buttons/ExportPage/Caption":{"title":"$:/language/Buttons/ExportPage/Caption","text":"export all"},"$:/language/Buttons/ExportPage/Hint":{"title":"$:/language/Buttons/ExportPage/Hint","text":"Export all tiddlers"},"$:/language/Buttons/ExportTiddler/Caption":{"title":"$:/language/Buttons/ExportTiddler/Caption","text":"export tiddler"},"$:/language/Buttons/ExportTiddler/Hint":{"title":"$:/language/Buttons/ExportTiddler/Hint","text":"Export tiddler"},"$:/language/Buttons/ExportTiddlers/Caption":{"title":"$:/language/Buttons/ExportTiddlers/Caption","text":"export tiddlers"},"$:/language/Buttons/ExportTiddlers/Hint":{"title":"$:/language/Buttons/ExportTiddlers/Hint","text":"Export tiddlers"},"$:/language/Buttons/SidebarSearch/Hint":{"title":"$:/language/Buttons/SidebarSearch/Hint","text":"Select the sidebar search field"},"$:/language/Buttons/Fold/Caption":{"title":"$:/language/Buttons/Fold/Caption","text":"fold tiddler"},"$:/language/Buttons/Fold/Hint":{"title":"$:/language/Buttons/Fold/Hint","text":"Fold the body of this tiddler"},"$:/language/Buttons/Fold/FoldBar/Caption":{"title":"$:/language/Buttons/Fold/FoldBar/Caption","text":"fold-bar"},"$:/language/Buttons/Fold/FoldBar/Hint":{"title":"$:/language/Buttons/Fold/FoldBar/Hint","text":"Optional bars to fold and unfold tiddlers"},"$:/language/Buttons/Unfold/Caption":{"title":"$:/language/Buttons/Unfold/Caption","text":"unfold tiddler"},"$:/language/Buttons/Unfold/Hint":{"title":"$:/language/Buttons/Unfold/Hint","text":"Unfold the body of this tiddler"},"$:/language/Buttons/FoldOthers/Caption":{"title":"$:/language/Buttons/FoldOthers/Caption","text":"fold other tiddlers"},"$:/language/Buttons/FoldOthers/Hint":{"title":"$:/language/Buttons/FoldOthers/Hint","text":"Fold the bodies of other opened tiddlers"},"$:/language/Buttons/FoldAll/Caption":{"title":"$:/language/Buttons/FoldAll/Caption","text":"fold all tiddlers"},"$:/language/Buttons/FoldAll/Hint":{"title":"$:/language/Buttons/FoldAll/Hint","text":"Fold the bodies of all opened tiddlers"},"$:/language/Buttons/UnfoldAll/Caption":{"title":"$:/language/Buttons/UnfoldAll/Caption","text":"unfold all tiddlers"},"$:/language/Buttons/UnfoldAll/Hint":{"title":"$:/language/Buttons/UnfoldAll/Hint","text":"Unfold the bodies of all opened tiddlers"},"$:/language/Buttons/FullScreen/Caption":{"title":"$:/language/Buttons/FullScreen/Caption","text":"full-screen"},"$:/language/Buttons/FullScreen/Hint":{"title":"$:/language/Buttons/FullScreen/Hint","text":"Enter or leave full-screen mode"},"$:/language/Buttons/Help/Caption":{"title":"$:/language/Buttons/Help/Caption","text":"help"},"$:/language/Buttons/Help/Hint":{"title":"$:/language/Buttons/Help/Hint","text":"Show help panel"},"$:/language/Buttons/Import/Caption":{"title":"$:/language/Buttons/Import/Caption","text":"import"},"$:/language/Buttons/Import/Hint":{"title":"$:/language/Buttons/Import/Hint","text":"Import many types of file including text, image, TiddlyWiki or JSON"},"$:/language/Buttons/Info/Caption":{"title":"$:/language/Buttons/Info/Caption","text":"info"},"$:/language/Buttons/Info/Hint":{"title":"$:/language/Buttons/Info/Hint","text":"Show information for this tiddler"},"$:/language/Buttons/Home/Caption":{"title":"$:/language/Buttons/Home/Caption","text":"home"},"$:/language/Buttons/Home/Hint":{"title":"$:/language/Buttons/Home/Hint","text":"Open the default tiddlers"},"$:/language/Buttons/Language/Caption":{"title":"$:/language/Buttons/Language/Caption","text":"language"},"$:/language/Buttons/Language/Hint":{"title":"$:/language/Buttons/Language/Hint","text":"Choose the user interface language"},"$:/language/Buttons/LayoutSwitcher/Hint":{"title":"$:/language/Buttons/LayoutSwitcher/Hint","text":"Open layout switcher"},"$:/language/Buttons/LayoutSwitcher/Caption":{"title":"$:/language/Buttons/LayoutSwitcher/Caption","text":"layout"},"$:/language/Buttons/Manager/Caption":{"title":"$:/language/Buttons/Manager/Caption","text":"tiddler manager"},"$:/language/Buttons/Manager/Hint":{"title":"$:/language/Buttons/Manager/Hint","text":"Open tiddler manager"},"$:/language/Buttons/More/Caption":{"title":"$:/language/Buttons/More/Caption","text":"more"},"$:/language/Buttons/More/Hint":{"title":"$:/language/Buttons/More/Hint","text":"More actions"},"$:/language/Buttons/NewHere/Caption":{"title":"$:/language/Buttons/NewHere/Caption","text":"new here"},"$:/language/Buttons/NewHere/Hint":{"title":"$:/language/Buttons/NewHere/Hint","text":"Create a new tiddler tagged with this one"},"$:/language/Buttons/NetworkActivity/Caption":{"title":"$:/language/Buttons/NetworkActivity/Caption","text":"network activity"},"$:/language/Buttons/NetworkActivity/Hint":{"title":"$:/language/Buttons/NetworkActivity/Hint","text":"Cancel all network activity"},"$:/language/Buttons/NewJournal/Caption":{"title":"$:/language/Buttons/NewJournal/Caption","text":"new journal"},"$:/language/Buttons/NewJournal/Hint":{"title":"$:/language/Buttons/NewJournal/Hint","text":"Create a new journal tiddler"},"$:/language/Buttons/NewJournalHere/Caption":{"title":"$:/language/Buttons/NewJournalHere/Caption","text":"new journal here"},"$:/language/Buttons/NewJournalHere/Hint":{"title":"$:/language/Buttons/NewJournalHere/Hint","text":"Create a new journal tiddler tagged with this one"},"$:/language/Buttons/NewImage/Caption":{"title":"$:/language/Buttons/NewImage/Caption","text":"new image"},"$:/language/Buttons/NewImage/Hint":{"title":"$:/language/Buttons/NewImage/Hint","text":"Create a new image tiddler"},"$:/language/Buttons/NewMarkdown/Caption":{"title":"$:/language/Buttons/NewMarkdown/Caption","text":"new Markdown tiddler"},"$:/language/Buttons/NewMarkdown/Hint":{"title":"$:/language/Buttons/NewMarkdown/Hint","text":"Create a new Markdown tiddler"},"$:/language/Buttons/NewTiddler/Caption":{"title":"$:/language/Buttons/NewTiddler/Caption","text":"new tiddler"},"$:/language/Buttons/NewTiddler/Hint":{"title":"$:/language/Buttons/NewTiddler/Hint","text":"Create a new tiddler"},"$:/language/Buttons/OpenWindow/Caption":{"title":"$:/language/Buttons/OpenWindow/Caption","text":"open in new window"},"$:/language/Buttons/OpenWindow/Hint":{"title":"$:/language/Buttons/OpenWindow/Hint","text":"Open tiddler in new window"},"$:/language/Buttons/Palette/Caption":{"title":"$:/language/Buttons/Palette/Caption","text":"palette"},"$:/language/Buttons/Palette/Hint":{"title":"$:/language/Buttons/Palette/Hint","text":"Choose the colour palette"},"$:/language/Buttons/Permalink/Caption":{"title":"$:/language/Buttons/Permalink/Caption","text":"permalink"},"$:/language/Buttons/Permalink/Hint":{"title":"$:/language/Buttons/Permalink/Hint","text":"Set browser address bar to a direct link to this tiddler"},"$:/language/Buttons/Permaview/Caption":{"title":"$:/language/Buttons/Permaview/Caption","text":"permaview"},"$:/language/Buttons/Permaview/Hint":{"title":"$:/language/Buttons/Permaview/Hint","text":"Set browser address bar to a direct link to all the tiddlers in this story"},"$:/language/Buttons/Print/Caption":{"title":"$:/language/Buttons/Print/Caption","text":"print page"},"$:/language/Buttons/Print/Hint":{"title":"$:/language/Buttons/Print/Hint","text":"Print the current page"},"$:/language/Buttons/Refresh/Caption":{"title":"$:/language/Buttons/Refresh/Caption","text":"refresh"},"$:/language/Buttons/Refresh/Hint":{"title":"$:/language/Buttons/Refresh/Hint","text":"Perform a full refresh of the wiki"},"$:/language/Buttons/Save/Caption":{"title":"$:/language/Buttons/Save/Caption","text":"ok"},"$:/language/Buttons/Save/Hint":{"title":"$:/language/Buttons/Save/Hint","text":"Confirm changes to this tiddler"},"$:/language/Buttons/SaveWiki/Caption":{"title":"$:/language/Buttons/SaveWiki/Caption","text":"save changes"},"$:/language/Buttons/SaveWiki/Hint":{"title":"$:/language/Buttons/SaveWiki/Hint","text":"Save changes"},"$:/language/Buttons/StoryView/Caption":{"title":"$:/language/Buttons/StoryView/Caption","text":"storyview"},"$:/language/Buttons/StoryView/Hint":{"title":"$:/language/Buttons/StoryView/Hint","text":"Choose the story visualisation"},"$:/language/Buttons/HideSideBar/Caption":{"title":"$:/language/Buttons/HideSideBar/Caption","text":"hide sidebar"},"$:/language/Buttons/HideSideBar/Hint":{"title":"$:/language/Buttons/HideSideBar/Hint","text":"Hide sidebar"},"$:/language/Buttons/ShowSideBar/Caption":{"title":"$:/language/Buttons/ShowSideBar/Caption","text":"show sidebar"},"$:/language/Buttons/ShowSideBar/Hint":{"title":"$:/language/Buttons/ShowSideBar/Hint","text":"Show sidebar"},"$:/language/Buttons/TagManager/Caption":{"title":"$:/language/Buttons/TagManager/Caption","text":"tag manager"},"$:/language/Buttons/TagManager/Hint":{"title":"$:/language/Buttons/TagManager/Hint","text":"Open tag manager"},"$:/language/Buttons/Timestamp/Caption":{"title":"$:/language/Buttons/Timestamp/Caption","text":"timestamps"},"$:/language/Buttons/Timestamp/Hint":{"title":"$:/language/Buttons/Timestamp/Hint","text":"Choose whether modifications update timestamps"},"$:/language/Buttons/Timestamp/On/Caption":{"title":"$:/language/Buttons/Timestamp/On/Caption","text":"timestamps are on"},"$:/language/Buttons/Timestamp/On/Hint":{"title":"$:/language/Buttons/Timestamp/On/Hint","text":"Update timestamps when tiddlers are modified"},"$:/language/Buttons/Timestamp/Off/Caption":{"title":"$:/language/Buttons/Timestamp/Off/Caption","text":"timestamps are off"},"$:/language/Buttons/Timestamp/Off/Hint":{"title":"$:/language/Buttons/Timestamp/Off/Hint","text":"Don't update timestamps when tiddlers are modified"},"$:/language/Buttons/Theme/Caption":{"title":"$:/language/Buttons/Theme/Caption","text":"theme"},"$:/language/Buttons/Theme/Hint":{"title":"$:/language/Buttons/Theme/Hint","text":"Choose the display theme"},"$:/language/Buttons/Bold/Caption":{"title":"$:/language/Buttons/Bold/Caption","text":"bold"},"$:/language/Buttons/Bold/Hint":{"title":"$:/language/Buttons/Bold/Hint","text":"Apply bold formatting to selection"},"$:/language/Buttons/Clear/Caption":{"title":"$:/language/Buttons/Clear/Caption","text":"clear"},"$:/language/Buttons/Clear/Hint":{"title":"$:/language/Buttons/Clear/Hint","text":"Clear image to solid colour"},"$:/language/Buttons/EditorHeight/Caption":{"title":"$:/language/Buttons/EditorHeight/Caption","text":"editor height"},"$:/language/Buttons/EditorHeight/Caption/Auto":{"title":"$:/language/Buttons/EditorHeight/Caption/Auto","text":"Automatically adjust height to fit content"},"$:/language/Buttons/EditorHeight/Caption/Fixed":{"title":"$:/language/Buttons/EditorHeight/Caption/Fixed","text":"Fixed height:"},"$:/language/Buttons/EditorHeight/Hint":{"title":"$:/language/Buttons/EditorHeight/Hint","text":"Choose the height of the text editor"},"$:/language/Buttons/Excise/Caption":{"title":"$:/language/Buttons/Excise/Caption","text":"excise"},"$:/language/Buttons/Excise/Caption/Excise":{"title":"$:/language/Buttons/Excise/Caption/Excise","text":"Perform excision"},"$:/language/Buttons/Excise/Caption/MacroName":{"title":"$:/language/Buttons/Excise/Caption/MacroName","text":"Macro name:"},"$:/language/Buttons/Excise/Caption/NewTitle":{"title":"$:/language/Buttons/Excise/Caption/NewTitle","text":"Title of new tiddler:"},"$:/language/Buttons/Excise/Caption/Replace":{"title":"$:/language/Buttons/Excise/Caption/Replace","text":"Replace excised text with:"},"$:/language/Buttons/Excise/Caption/Replace/Macro":{"title":"$:/language/Buttons/Excise/Caption/Replace/Macro","text":"macro"},"$:/language/Buttons/Excise/Caption/Replace/Link":{"title":"$:/language/Buttons/Excise/Caption/Replace/Link","text":"link"},"$:/language/Buttons/Excise/Caption/Replace/Transclusion":{"title":"$:/language/Buttons/Excise/Caption/Replace/Transclusion","text":"transclusion"},"$:/language/Buttons/Excise/Caption/Tag":{"title":"$:/language/Buttons/Excise/Caption/Tag","text":"Tag new tiddler with the title of this tiddler"},"$:/language/Buttons/Excise/Caption/TiddlerExists":{"title":"$:/language/Buttons/Excise/Caption/TiddlerExists","text":"Warning: tiddler already exists"},"$:/language/Buttons/Excise/Hint":{"title":"$:/language/Buttons/Excise/Hint","text":"Excise the selected text into a new tiddler"},"$:/language/Buttons/Heading1/Caption":{"title":"$:/language/Buttons/Heading1/Caption","text":"heading 1"},"$:/language/Buttons/Heading1/Hint":{"title":"$:/language/Buttons/Heading1/Hint","text":"Apply heading level 1 formatting to lines containing selection"},"$:/language/Buttons/Heading2/Caption":{"title":"$:/language/Buttons/Heading2/Caption","text":"heading 2"},"$:/language/Buttons/Heading2/Hint":{"title":"$:/language/Buttons/Heading2/Hint","text":"Apply heading level 2 formatting to lines containing selection"},"$:/language/Buttons/Heading3/Caption":{"title":"$:/language/Buttons/Heading3/Caption","text":"heading 3"},"$:/language/Buttons/Heading3/Hint":{"title":"$:/language/Buttons/Heading3/Hint","text":"Apply heading level 3 formatting to lines containing selection"},"$:/language/Buttons/Heading4/Caption":{"title":"$:/language/Buttons/Heading4/Caption","text":"heading 4"},"$:/language/Buttons/Heading4/Hint":{"title":"$:/language/Buttons/Heading4/Hint","text":"Apply heading level 4 formatting to lines containing selection"},"$:/language/Buttons/Heading5/Caption":{"title":"$:/language/Buttons/Heading5/Caption","text":"heading 5"},"$:/language/Buttons/Heading5/Hint":{"title":"$:/language/Buttons/Heading5/Hint","text":"Apply heading level 5 formatting to lines containing selection"},"$:/language/Buttons/Heading6/Caption":{"title":"$:/language/Buttons/Heading6/Caption","text":"heading 6"},"$:/language/Buttons/Heading6/Hint":{"title":"$:/language/Buttons/Heading6/Hint","text":"Apply heading level 6 formatting to lines containing selection"},"$:/language/Buttons/Italic/Caption":{"title":"$:/language/Buttons/Italic/Caption","text":"italic"},"$:/language/Buttons/Italic/Hint":{"title":"$:/language/Buttons/Italic/Hint","text":"Apply italic formatting to selection"},"$:/language/Buttons/LineWidth/Caption":{"title":"$:/language/Buttons/LineWidth/Caption","text":"line width"},"$:/language/Buttons/LineWidth/Hint":{"title":"$:/language/Buttons/LineWidth/Hint","text":"Set line width for painting"},"$:/language/Buttons/Link/Caption":{"title":"$:/language/Buttons/Link/Caption","text":"link"},"$:/language/Buttons/Link/Hint":{"title":"$:/language/Buttons/Link/Hint","text":"Create wikitext link"},"$:/language/Buttons/Linkify/Caption":{"title":"$:/language/Buttons/Linkify/Caption","text":"wikilink"},"$:/language/Buttons/Linkify/Hint":{"title":"$:/language/Buttons/Linkify/Hint","text":"Wrap selection in square brackets"},"$:/language/Buttons/ListBullet/Caption":{"title":"$:/language/Buttons/ListBullet/Caption","text":"bulleted list"},"$:/language/Buttons/ListBullet/Hint":{"title":"$:/language/Buttons/ListBullet/Hint","text":"Apply bulleted list formatting to lines containing selection"},"$:/language/Buttons/ListNumber/Caption":{"title":"$:/language/Buttons/ListNumber/Caption","text":"numbered list"},"$:/language/Buttons/ListNumber/Hint":{"title":"$:/language/Buttons/ListNumber/Hint","text":"Apply numbered list formatting to lines containing selection"},"$:/language/Buttons/MonoBlock/Caption":{"title":"$:/language/Buttons/MonoBlock/Caption","text":"monospaced block"},"$:/language/Buttons/MonoBlock/Hint":{"title":"$:/language/Buttons/MonoBlock/Hint","text":"Apply monospaced block formatting to lines containing selection"},"$:/language/Buttons/MonoLine/Caption":{"title":"$:/language/Buttons/MonoLine/Caption","text":"monospaced"},"$:/language/Buttons/MonoLine/Hint":{"title":"$:/language/Buttons/MonoLine/Hint","text":"Apply monospaced character formatting to selection"},"$:/language/Buttons/Opacity/Caption":{"title":"$:/language/Buttons/Opacity/Caption","text":"opacity"},"$:/language/Buttons/Opacity/Hint":{"title":"$:/language/Buttons/Opacity/Hint","text":"Set painting opacity"},"$:/language/Buttons/Paint/Caption":{"title":"$:/language/Buttons/Paint/Caption","text":"paint colour"},"$:/language/Buttons/Paint/Hint":{"title":"$:/language/Buttons/Paint/Hint","text":"Set painting colour"},"$:/language/Buttons/Picture/Caption":{"title":"$:/language/Buttons/Picture/Caption","text":"picture"},"$:/language/Buttons/Picture/Hint":{"title":"$:/language/Buttons/Picture/Hint","text":"Insert picture"},"$:/language/Buttons/Preview/Caption":{"title":"$:/language/Buttons/Preview/Caption","text":"preview"},"$:/language/Buttons/Preview/Hint":{"title":"$:/language/Buttons/Preview/Hint","text":"Show preview pane"},"$:/language/Buttons/PreviewType/Caption":{"title":"$:/language/Buttons/PreviewType/Caption","text":"preview type"},"$:/language/Buttons/PreviewType/Hint":{"title":"$:/language/Buttons/PreviewType/Hint","text":"Choose preview type"},"$:/language/Buttons/Quote/Caption":{"title":"$:/language/Buttons/Quote/Caption","text":"quote"},"$:/language/Buttons/Quote/Hint":{"title":"$:/language/Buttons/Quote/Hint","text":"Apply quoted text formatting to lines containing selection"},"$:/language/Buttons/RotateLeft/Caption":{"title":"$:/language/Buttons/RotateLeft/Caption","text":"rotate left"},"$:/language/Buttons/RotateLeft/Hint":{"title":"$:/language/Buttons/RotateLeft/Hint","text":"Rotate image left by 90 degrees"},"$:/language/Buttons/Size/Caption":{"title":"$:/language/Buttons/Size/Caption","text":"image size"},"$:/language/Buttons/Size/Caption/Height":{"title":"$:/language/Buttons/Size/Caption/Height","text":"Height:"},"$:/language/Buttons/Size/Caption/Resize":{"title":"$:/language/Buttons/Size/Caption/Resize","text":"Resize image"},"$:/language/Buttons/Size/Caption/Width":{"title":"$:/language/Buttons/Size/Caption/Width","text":"Width:"},"$:/language/Buttons/Size/Hint":{"title":"$:/language/Buttons/Size/Hint","text":"Set image size"},"$:/language/Buttons/Stamp/Caption":{"title":"$:/language/Buttons/Stamp/Caption","text":"stamp"},"$:/language/Buttons/Stamp/Caption/New":{"title":"$:/language/Buttons/Stamp/Caption/New","text":"Add your own"},"$:/language/Buttons/Stamp/Hint":{"title":"$:/language/Buttons/Stamp/Hint","text":"Insert a preconfigured snippet of text"},"$:/language/Buttons/Stamp/New/Title":{"title":"$:/language/Buttons/Stamp/New/Title","text":"Name as shown in menu"},"$:/language/Buttons/Stamp/New/Text":{"title":"$:/language/Buttons/Stamp/New/Text","text":"Text of snippet. (Remember to add a descriptive title in the caption field)."},"$:/language/Buttons/Strikethrough/Caption":{"title":"$:/language/Buttons/Strikethrough/Caption","text":"strikethrough"},"$:/language/Buttons/Strikethrough/Hint":{"title":"$:/language/Buttons/Strikethrough/Hint","text":"Apply strikethrough formatting to selection"},"$:/language/Buttons/Subscript/Caption":{"title":"$:/language/Buttons/Subscript/Caption","text":"subscript"},"$:/language/Buttons/Subscript/Hint":{"title":"$:/language/Buttons/Subscript/Hint","text":"Apply subscript formatting to selection"},"$:/language/Buttons/Superscript/Caption":{"title":"$:/language/Buttons/Superscript/Caption","text":"superscript"},"$:/language/Buttons/Superscript/Hint":{"title":"$:/language/Buttons/Superscript/Hint","text":"Apply superscript formatting to selection"},"$:/language/Buttons/ToggleSidebar/Hint":{"title":"$:/language/Buttons/ToggleSidebar/Hint","text":"Toggle the sidebar visibility"},"$:/language/Buttons/Transcludify/Caption":{"title":"$:/language/Buttons/Transcludify/Caption","text":"transclusion"},"$:/language/Buttons/Transcludify/Hint":{"title":"$:/language/Buttons/Transcludify/Hint","text":"Wrap selection in curly brackets"},"$:/language/Buttons/Underline/Caption":{"title":"$:/language/Buttons/Underline/Caption","text":"underline"},"$:/language/Buttons/Underline/Hint":{"title":"$:/language/Buttons/Underline/Hint","text":"Apply underline formatting to selection"},"$:/language/ControlPanel/Advanced/Caption":{"title":"$:/language/ControlPanel/Advanced/Caption","text":"Advanced"},"$:/language/ControlPanel/Advanced/Hint":{"title":"$:/language/ControlPanel/Advanced/Hint","text":"Internal information about this TiddlyWiki"},"$:/language/ControlPanel/Appearance/Caption":{"title":"$:/language/ControlPanel/Appearance/Caption","text":"Appearance"},"$:/language/ControlPanel/Appearance/Hint":{"title":"$:/language/ControlPanel/Appearance/Hint","text":"Ways to customise the appearance of your TiddlyWiki."},"$:/language/ControlPanel/Basics/AnimDuration/Prompt":{"title":"$:/language/ControlPanel/Basics/AnimDuration/Prompt","text":"Animation duration"},"$:/language/ControlPanel/Basics/AutoFocus/Prompt":{"title":"$:/language/ControlPanel/Basics/AutoFocus/Prompt","text":"Default focus field for new tiddlers"},"$:/language/ControlPanel/Basics/Caption":{"title":"$:/language/ControlPanel/Basics/Caption","text":"Basics"},"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint":{"title":"$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint","text":"Use [[double square brackets]] for titles with spaces. Or you can choose to {{retain story ordering||$:/snippets/retain-story-ordering-button}}"},"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt":{"title":"$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt","text":"Default tiddlers"},"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint":{"title":"$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint","text":"Choose which tiddlers are displayed at startup"},"$:/language/ControlPanel/Basics/Language/Prompt":{"title":"$:/language/ControlPanel/Basics/Language/Prompt","text":"Hello! Current language:"},"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt":{"title":"$:/language/ControlPanel/Basics/NewJournal/Title/Prompt","text":"Title of new journal tiddlers"},"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt":{"title":"$:/language/ControlPanel/Basics/NewJournal/Text/Prompt","text":"Text for new journal tiddlers"},"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt":{"title":"$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt","text":"Tags for new journal tiddlers"},"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt":{"title":"$:/language/ControlPanel/Basics/NewTiddler/Title/Prompt","text":"Title of new tiddlers"},"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt":{"title":"$:/language/ControlPanel/Basics/NewTiddler/Tags/Prompt","text":"Tags for new tiddlers"},"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt":{"title":"$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt","text":"Number of overridden shadow tiddlers"},"$:/language/ControlPanel/Basics/RemoveTags":{"title":"$:/language/ControlPanel/Basics/RemoveTags","text":"Update to current format"},"$:/language/ControlPanel/Basics/RemoveTags/Hint":{"title":"$:/language/ControlPanel/Basics/RemoveTags/Hint","text":"Update the tags configuration to the latest format"},"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt":{"title":"$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt","text":"Number of shadow tiddlers"},"$:/language/ControlPanel/Basics/Subtitle/Prompt":{"title":"$:/language/ControlPanel/Basics/Subtitle/Prompt","text":"Subtitle"},"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt":{"title":"$:/language/ControlPanel/Basics/SystemTiddlers/Prompt","text":"Number of system tiddlers"},"$:/language/ControlPanel/Basics/Tags/Prompt":{"title":"$:/language/ControlPanel/Basics/Tags/Prompt","text":"Number of tags"},"$:/language/ControlPanel/Basics/Tiddlers/Prompt":{"title":"$:/language/ControlPanel/Basics/Tiddlers/Prompt","text":"Number of tiddlers"},"$:/language/ControlPanel/Basics/Title/Prompt":{"title":"$:/language/ControlPanel/Basics/Title/Prompt","text":"Title of this ~TiddlyWiki"},"$:/language/ControlPanel/Basics/Username/Prompt":{"title":"$:/language/ControlPanel/Basics/Username/Prompt","text":"Username for signing edits"},"$:/language/ControlPanel/Basics/Version/Prompt":{"title":"$:/language/ControlPanel/Basics/Version/Prompt","text":"~TiddlyWiki version"},"$:/language/ControlPanel/Cascades/Caption":{"title":"$:/language/ControlPanel/Cascades/Caption","text":"Cascades"},"$:/language/ControlPanel/Cascades/Hint":{"title":"$:/language/ControlPanel/Cascades/Hint","text":"These global rules are used to dynamically choose certain templates. The result of the cascade is the result of the first filter in the sequence that returns a result"},"$:/language/ControlPanel/Cascades/TagPrompt":{"title":"$:/language/ControlPanel/Cascades/TagPrompt","text":"Filters tagged <$macrocall $name=\"tag\" tag=<<currentTiddler>>/>"},"$:/language/ControlPanel/EditorTypes/Caption":{"title":"$:/language/ControlPanel/EditorTypes/Caption","text":"Editor Types"},"$:/language/ControlPanel/EditorTypes/Editor/Caption":{"title":"$:/language/ControlPanel/EditorTypes/Editor/Caption","text":"Editor"},"$:/language/ControlPanel/EditorTypes/Hint":{"title":"$:/language/ControlPanel/EditorTypes/Hint","text":"These tiddlers determine which editor is used to edit specific tiddler types."},"$:/language/ControlPanel/EditorTypes/Type/Caption":{"title":"$:/language/ControlPanel/EditorTypes/Type/Caption","text":"Type"},"$:/language/ControlPanel/EditTemplateBody/Caption":{"title":"$:/language/ControlPanel/EditTemplateBody/Caption","text":"Edit Template Body"},"$:/language/ControlPanel/EditTemplateBody/Hint":{"title":"$:/language/ControlPanel/EditTemplateBody/Hint","text":"This rule cascade is used by the default edit template to dynamically choose the template for editing the body of a tiddler."},"$:/language/ControlPanel/FieldEditor/Caption":{"title":"$:/language/ControlPanel/FieldEditor/Caption","text":"Field Editor"},"$:/language/ControlPanel/FieldEditor/Hint":{"title":"$:/language/ControlPanel/FieldEditor/Hint","text":"This rules cascade is used to dynamically choose the template for rendering a tiddler field based on its name. It is used within the Edit Template."},"$:/language/ControlPanel/Info/Caption":{"title":"$:/language/ControlPanel/Info/Caption","text":"Info"},"$:/language/ControlPanel/Info/Hint":{"title":"$:/language/ControlPanel/Info/Hint","text":"Information about this TiddlyWiki"},"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt","text":"Type shortcut here"},"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Add/Caption","text":"add shortcut"},"$:/language/ControlPanel/KeyboardShortcuts/Caption":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Caption","text":"Keyboard Shortcuts"},"$:/language/ControlPanel/KeyboardShortcuts/Hint":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Hint","text":"Manage keyboard shortcut assignments"},"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption":{"title":"$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption","text":"No keyboard shortcuts assigned"},"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint","text":"remove keyboard shortcut"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/All":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/All","text":"All platforms"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac","text":"Macintosh platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac","text":"Non-Macintosh platforms only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux","text":"Linux platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux","text":"Non-Linux platforms only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows","text":"Windows platform only"},"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows":{"title":"$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows","text":"Non-Windows platforms only"},"$:/language/ControlPanel/LayoutSwitcher/Caption":{"title":"$:/language/ControlPanel/LayoutSwitcher/Caption","text":"Layout"},"$:/language/ControlPanel/LoadedModules/Caption":{"title":"$:/language/ControlPanel/LoadedModules/Caption","text":"Loaded Modules"},"$:/language/ControlPanel/LoadedModules/Hint":{"title":"$:/language/ControlPanel/LoadedModules/Hint","text":"These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."},"$:/language/ControlPanel/Palette/Caption":{"title":"$:/language/ControlPanel/Palette/Caption","text":"Palette"},"$:/language/ControlPanel/Palette/Editor/Clone/Caption":{"title":"$:/language/ControlPanel/Palette/Editor/Clone/Caption","text":"clone"},"$:/language/ControlPanel/Palette/Editor/Clone/Prompt":{"title":"$:/language/ControlPanel/Palette/Editor/Clone/Prompt","text":"It is recommended that you clone this shadow palette before editing it"},"$:/language/ControlPanel/Palette/Editor/Delete/Hint":{"title":"$:/language/ControlPanel/Palette/Editor/Delete/Hint","text":"delete this entry from the current palette"},"$:/language/ControlPanel/Palette/Editor/Names/External/Show":{"title":"$:/language/ControlPanel/Palette/Editor/Names/External/Show","text":"Show color names that are not part of the current palette"},"$:/language/ControlPanel/Palette/Editor/Prompt/Modified":{"title":"$:/language/ControlPanel/Palette/Editor/Prompt/Modified","text":"This shadow palette has been modified"},"$:/language/ControlPanel/Palette/Editor/Prompt":{"title":"$:/language/ControlPanel/Palette/Editor/Prompt","text":"Editing"},"$:/language/ControlPanel/Palette/Editor/Reset/Caption":{"title":"$:/language/ControlPanel/Palette/Editor/Reset/Caption","text":"reset"},"$:/language/ControlPanel/Palette/HideEditor/Caption":{"title":"$:/language/ControlPanel/Palette/HideEditor/Caption","text":"hide editor"},"$:/language/ControlPanel/Palette/Prompt":{"title":"$:/language/ControlPanel/Palette/Prompt","text":"Current palette:"},"$:/language/ControlPanel/Palette/ShowEditor/Caption":{"title":"$:/language/ControlPanel/Palette/ShowEditor/Caption","text":"show editor"},"$:/language/ControlPanel/Parsing/Caption":{"title":"$:/language/ControlPanel/Parsing/Caption","text":"Parsing"},"$:/language/ControlPanel/Parsing/Hint":{"title":"$:/language/ControlPanel/Parsing/Hint","text":"Here you can globally disable/enable wiki parser rules. For changes to take effect, save and reload your wiki. Disabling certain parser rules can prevent <$text text=\"TiddlyWiki\"/> from functioning correctly. Use [[safe mode|https://tiddlywiki.com/#SafeMode]] to restore normal operation."},"$:/language/ControlPanel/Parsing/Block/Caption":{"title":"$:/language/ControlPanel/Parsing/Block/Caption","text":"Block Parse Rules"},"$:/language/ControlPanel/Parsing/Inline/Caption":{"title":"$:/language/ControlPanel/Parsing/Inline/Caption","text":"Inline Parse Rules"},"$:/language/ControlPanel/Parsing/Pragma/Caption":{"title":"$:/language/ControlPanel/Parsing/Pragma/Caption","text":"Pragma Parse Rules"},"$:/language/ControlPanel/Plugins/Add/Caption":{"title":"$:/language/ControlPanel/Plugins/Add/Caption","text":"Get more plugins"},"$:/language/ControlPanel/Plugins/Add/Hint":{"title":"$:/language/ControlPanel/Plugins/Add/Hint","text":"Install plugins from the official library"},"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint":{"title":"$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint","text":"This plugin is already installed at version <$text text=<<installedVersion>>/>"},"$:/language/ControlPanel/Plugins/AlsoRequires":{"title":"$:/language/ControlPanel/Plugins/AlsoRequires","text":"Also requires:"},"$:/language/ControlPanel/Plugins/Caption":{"title":"$:/language/ControlPanel/Plugins/Caption","text":"Plugins"},"$:/language/ControlPanel/Plugins/Disable/Caption":{"title":"$:/language/ControlPanel/Plugins/Disable/Caption","text":"disable"},"$:/language/ControlPanel/Plugins/Disable/Hint":{"title":"$:/language/ControlPanel/Plugins/Disable/Hint","text":"Disable this plugin when reloading page"},"$:/language/ControlPanel/Plugins/Disabled/Status":{"title":"$:/language/ControlPanel/Plugins/Disabled/Status","text":"(disabled)"},"$:/language/ControlPanel/Plugins/Downgrade/Caption":{"title":"$:/language/ControlPanel/Plugins/Downgrade/Caption","text":"downgrade"},"$:/language/ControlPanel/Plugins/Empty/Hint":{"title":"$:/language/ControlPanel/Plugins/Empty/Hint","text":"None"},"$:/language/ControlPanel/Plugins/Enable/Caption":{"title":"$:/language/ControlPanel/Plugins/Enable/Caption","text":"enable"},"$:/language/ControlPanel/Plugins/Enable/Hint":{"title":"$:/language/ControlPanel/Plugins/Enable/Hint","text":"Enable this plugin when reloading page"},"$:/language/ControlPanel/Plugins/Install/Caption":{"title":"$:/language/ControlPanel/Plugins/Install/Caption","text":"install"},"$:/language/ControlPanel/Plugins/Installed/Hint":{"title":"$:/language/ControlPanel/Plugins/Installed/Hint","text":"Currently installed plugins:"},"$:/language/ControlPanel/Plugins/Languages/Caption":{"title":"$:/language/ControlPanel/Plugins/Languages/Caption","text":"Languages"},"$:/language/ControlPanel/Plugins/Languages/Hint":{"title":"$:/language/ControlPanel/Plugins/Languages/Hint","text":"Language pack plugins"},"$:/language/ControlPanel/Plugins/NoInfoFound/Hint":{"title":"$:/language/ControlPanel/Plugins/NoInfoFound/Hint","text":"No ''\"<$text text=<<currentTab>>/>\"'' found"},"$:/language/ControlPanel/Plugins/NotInstalled/Hint":{"title":"$:/language/ControlPanel/Plugins/NotInstalled/Hint","text":"This plugin is not currently installed"},"$:/language/ControlPanel/Plugins/OpenPluginLibrary":{"title":"$:/language/ControlPanel/Plugins/OpenPluginLibrary","text":"Open plugin library"},"$:/language/ControlPanel/Plugins/ClosePluginLibrary":{"title":"$:/language/ControlPanel/Plugins/ClosePluginLibrary","text":"Close plugin library"},"$:/language/ControlPanel/Plugins/PluginWillRequireReload":{"title":"$:/language/ControlPanel/Plugins/PluginWillRequireReload","text":"(requires reload)"},"$:/language/ControlPanel/Plugins/Plugins/Caption":{"title":"$:/language/ControlPanel/Plugins/Plugins/Caption","text":"Plugins"},"$:/language/ControlPanel/Plugins/Plugins/Hint":{"title":"$:/language/ControlPanel/Plugins/Plugins/Hint","text":"Plugins"},"$:/language/ControlPanel/Plugins/Reinstall/Caption":{"title":"$:/language/ControlPanel/Plugins/Reinstall/Caption","text":"reinstall"},"$:/language/ControlPanel/Plugins/Themes/Caption":{"title":"$:/language/ControlPanel/Plugins/Themes/Caption","text":"Themes"},"$:/language/ControlPanel/Plugins/Themes/Hint":{"title":"$:/language/ControlPanel/Plugins/Themes/Hint","text":"Theme plugins"},"$:/language/ControlPanel/Plugins/Update/Caption":{"title":"$:/language/ControlPanel/Plugins/Update/Caption","text":"update"},"$:/language/ControlPanel/Plugins/Updates/Caption":{"title":"$:/language/ControlPanel/Plugins/Updates/Caption","text":"Updates"},"$:/language/ControlPanel/Plugins/Updates/Hint":{"title":"$:/language/ControlPanel/Plugins/Updates/Hint","text":"Available updates to installed plugins"},"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption":{"title":"$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption","text":"Update <<update-count>> plugins"},"$:/language/ControlPanel/Plugins/SubPluginPrompt":{"title":"$:/language/ControlPanel/Plugins/SubPluginPrompt","text":"With <<count>> sub-plugins available"},"$:/language/ControlPanel/Saving/Caption":{"title":"$:/language/ControlPanel/Saving/Caption","text":"Saving"},"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description":{"title":"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Description","text":"Permit automatic saving for the download saver"},"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint":{"title":"$:/language/ControlPanel/Saving/DownloadSaver/AutoSave/Hint","text":"Enable Autosave for Download Saver"},"$:/language/ControlPanel/Saving/DownloadSaver/Caption":{"title":"$:/language/ControlPanel/Saving/DownloadSaver/Caption","text":"Download Saver"},"$:/language/ControlPanel/Saving/DownloadSaver/Hint":{"title":"$:/language/ControlPanel/Saving/DownloadSaver/Hint","text":"These settings apply to the HTML5-compatible download saver"},"$:/language/ControlPanel/Saving/General/Caption":{"title":"$:/language/ControlPanel/Saving/General/Caption","text":"General"},"$:/language/ControlPanel/Saving/General/Hint":{"title":"$:/language/ControlPanel/Saving/General/Hint","text":"These settings apply to all the loaded savers"},"$:/language/ControlPanel/Saving/Hint":{"title":"$:/language/ControlPanel/Saving/Hint","text":"Settings used for saving the entire TiddlyWiki as a single file via a saver module"},"$:/language/ControlPanel/Saving/GitService/Branch":{"title":"$:/language/ControlPanel/Saving/GitService/Branch","text":"Target branch for saving"},"$:/language/ControlPanel/Saving/GitService/CommitMessage":{"title":"$:/language/ControlPanel/Saving/GitService/CommitMessage","text":"Saved by TiddlyWiki"},"$:/language/ControlPanel/Saving/GitService/Description":{"title":"$:/language/ControlPanel/Saving/GitService/Description","text":"These settings are only used when saving to <<service-name>>"},"$:/language/ControlPanel/Saving/GitService/Filename":{"title":"$:/language/ControlPanel/Saving/GitService/Filename","text":"Filename of target file (e.g. `index.html`)"},"$:/language/ControlPanel/Saving/GitService/Path":{"title":"$:/language/ControlPanel/Saving/GitService/Path","text":"Path to target file (e.g. `/wiki/`)"},"$:/language/ControlPanel/Saving/GitService/Repo":{"title":"$:/language/ControlPanel/Saving/GitService/Repo","text":"Target repository (e.g. `Jermolene/TiddlyWiki5`)"},"$:/language/ControlPanel/Saving/GitService/ServerURL":{"title":"$:/language/ControlPanel/Saving/GitService/ServerURL","text":"Server API URL"},"$:/language/ControlPanel/Saving/GitService/UserName":{"title":"$:/language/ControlPanel/Saving/GitService/UserName","text":"Username"},"$:/language/ControlPanel/Saving/GitService/GitHub/Caption":{"title":"$:/language/ControlPanel/Saving/GitService/GitHub/Caption","text":"~GitHub Saver"},"$:/language/ControlPanel/Saving/GitService/GitHub/Password":{"title":"$:/language/ControlPanel/Saving/GitService/GitHub/Password","text":"Password, OAUTH token, or personal access token (see [[GitHub help page|https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line]] for details)"},"$:/language/ControlPanel/Saving/GitService/GitLab/Caption":{"title":"$:/language/ControlPanel/Saving/GitService/GitLab/Caption","text":"~GitLab Saver"},"$:/language/ControlPanel/Saving/GitService/GitLab/Password":{"title":"$:/language/ControlPanel/Saving/GitService/GitLab/Password","text":"Personal access token for API (see [[GitLab help page|https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html]] for details)"},"$:/language/ControlPanel/Saving/GitService/Gitea/Caption":{"title":"$:/language/ControlPanel/Saving/GitService/Gitea/Caption","text":"Gitea Saver"},"$:/language/ControlPanel/Saving/GitService/Gitea/Password":{"title":"$:/language/ControlPanel/Saving/GitService/Gitea/Password","text":"Personal access token for API (via Gitea’s web interface: `Settings | Applications | Generate New Token`)"},"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading","text":"Advanced Settings"},"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/BackupDir","text":"Backup Directory"},"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/ControlPanel","text":"~TiddlySpot Control Panel"},"$:/language/ControlPanel/Saving/TiddlySpot/Backups":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Backups","text":"Backups"},"$:/language/ControlPanel/Saving/TiddlySpot/Caption":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Caption","text":"~TiddlySpot Saver"},"$:/language/ControlPanel/Saving/TiddlySpot/Description":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Description","text":"These settings are only used when saving to [[TiddlySpot|http://tiddlyspot.com]], [[TiddlyHost|https://tiddlyhost.com]], or a compatible remote server. See [[here|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] for information on ~TiddlySpot and ~TiddlyHost saving configuration."},"$:/language/ControlPanel/Saving/TiddlySpot/Filename":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Filename","text":"Upload Filename"},"$:/language/ControlPanel/Saving/TiddlySpot/Heading":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Heading","text":"~TiddlySpot"},"$:/language/ControlPanel/Saving/TiddlySpot/Hint":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Hint","text":"//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"},"$:/language/ControlPanel/Saving/TiddlySpot/Password":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/Password","text":"Password"},"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/ReadOnly","text":"Note that [[TiddlySpot|http://tiddlyspot.com]] no longer allows the creation of new sites. For new sites, you can use [[TiddlyHost|https://tiddlyhost.com]], a new hosting service that replaces ~TiddlySpot."},"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/ServerURL","text":"Server URL"},"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/UploadDir","text":"Upload Directory"},"$:/language/ControlPanel/Saving/TiddlySpot/UserName":{"title":"$:/language/ControlPanel/Saving/TiddlySpot/UserName","text":"Wiki Name"},"$:/language/ControlPanel/Settings/AutoSave/Caption":{"title":"$:/language/ControlPanel/Settings/AutoSave/Caption","text":"Autosave"},"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description":{"title":"$:/language/ControlPanel/Settings/AutoSave/Disabled/Description","text":"Do not save changes automatically"},"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description":{"title":"$:/language/ControlPanel/Settings/AutoSave/Enabled/Description","text":"Save changes automatically"},"$:/language/ControlPanel/Settings/AutoSave/Hint":{"title":"$:/language/ControlPanel/Settings/AutoSave/Hint","text":"Attempt to automatically save changes during editing when using a supporting saver"},"$:/language/ControlPanel/Settings/CamelCase/Caption":{"title":"$:/language/ControlPanel/Settings/CamelCase/Caption","text":"Camel Case Wiki Links"},"$:/language/ControlPanel/Settings/CamelCase/Hint":{"title":"$:/language/ControlPanel/Settings/CamelCase/Hint","text":"You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"},"$:/language/ControlPanel/Settings/CamelCase/Description":{"title":"$:/language/ControlPanel/Settings/CamelCase/Description","text":"Enable automatic ~CamelCase linking"},"$:/language/ControlPanel/Settings/Caption":{"title":"$:/language/ControlPanel/Settings/Caption","text":"Settings"},"$:/language/ControlPanel/Settings/EditorToolbar/Caption":{"title":"$:/language/ControlPanel/Settings/EditorToolbar/Caption","text":"Editor Toolbar"},"$:/language/ControlPanel/Settings/EditorToolbar/Hint":{"title":"$:/language/ControlPanel/Settings/EditorToolbar/Hint","text":"Enable or disable the editor toolbar:"},"$:/language/ControlPanel/Settings/EditorToolbar/Description":{"title":"$:/language/ControlPanel/Settings/EditorToolbar/Description","text":"Show editor toolbar"},"$:/language/ControlPanel/Settings/InfoPanelMode/Caption":{"title":"$:/language/ControlPanel/Settings/InfoPanelMode/Caption","text":"Tiddler Info Panel Mode"},"$:/language/ControlPanel/Settings/InfoPanelMode/Hint":{"title":"$:/language/ControlPanel/Settings/InfoPanelMode/Hint","text":"Control when the tiddler info panel closes:"},"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description":{"title":"$:/language/ControlPanel/Settings/InfoPanelMode/Popup/Description","text":"Tiddler info panel closes automatically"},"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description":{"title":"$:/language/ControlPanel/Settings/InfoPanelMode/Sticky/Description","text":"Tiddler info panel stays open until explicitly closed"},"$:/language/ControlPanel/Settings/Hint":{"title":"$:/language/ControlPanel/Settings/Hint","text":"These settings let you customise the behaviour of TiddlyWiki."},"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption":{"title":"$:/language/ControlPanel/Settings/NavigationAddressBar/Caption","text":"Navigation Address Bar"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint":{"title":"$:/language/ControlPanel/Settings/NavigationAddressBar/Hint","text":"Behaviour of the browser address bar when navigating to a tiddler:"},"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description":{"title":"$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description","text":"Do not update the address bar"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description":{"title":"$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description","text":"Include the target tiddler"},"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description":{"title":"$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description","text":"Include the target tiddler and the current story sequence"},"$:/language/ControlPanel/Settings/NavigationHistory/Caption":{"title":"$:/language/ControlPanel/Settings/NavigationHistory/Caption","text":"Navigation History"},"$:/language/ControlPanel/Settings/NavigationHistory/Hint":{"title":"$:/language/ControlPanel/Settings/NavigationHistory/Hint","text":"Update browser history when navigating to a tiddler:"},"$:/language/ControlPanel/Settings/NavigationHistory/No/Description":{"title":"$:/language/ControlPanel/Settings/NavigationHistory/No/Description","text":"Do not update history"},"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description":{"title":"$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description","text":"Update history"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption":{"title":"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption","text":"Permalink/permaview Mode"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint":{"title":"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Hint","text":"Choose how permalink/permaview is handled:"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description":{"title":"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/CopyToClipboard/Description","text":"Copy permalink/permaview URL to clipboard"},"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description":{"title":"$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description","text":"Update address bar with permalink/permaview URL"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption":{"title":"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption","text":"Performance Instrumentation"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint":{"title":"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint","text":"Displays performance statistics in the browser developer console. Requires reload to take effect"},"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description":{"title":"$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description","text":"Enable performance instrumentation"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption":{"title":"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption","text":"Toolbar Button Style"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint":{"title":"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint","text":"Choose the style for toolbar buttons:"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless":{"title":"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless","text":"Borderless"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed":{"title":"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed","text":"Boxed"},"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded":{"title":"$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded","text":"Rounded"},"$:/language/ControlPanel/Settings/ToolbarButtons/Caption":{"title":"$:/language/ControlPanel/Settings/ToolbarButtons/Caption","text":"Toolbar Buttons"},"$:/language/ControlPanel/Settings/ToolbarButtons/Hint":{"title":"$:/language/ControlPanel/Settings/ToolbarButtons/Hint","text":"Default toolbar button appearance:"},"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description":{"title":"$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description","text":"Include icon"},"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description":{"title":"$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description","text":"Include text"},"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption":{"title":"$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption","text":"Default Sidebar Tab"},"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint":{"title":"$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint","text":"Specify which sidebar tab is displayed by default"},"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption":{"title":"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption","text":"Default More Sidebar Tab"},"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint":{"title":"$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Hint","text":"Specify which More sidebar tab is displayed by default"},"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/Caption","text":"Tiddler Opening Behaviour"},"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint","text":"Navigation from //within// the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint","text":"Navigation from //outside// the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove","text":"Open above the current tiddler"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow","text":"Open below the current tiddler"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop","text":"Open at the top of the story river"},"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom":{"title":"$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom","text":"Open at the bottom of the story river"},"$:/language/ControlPanel/Settings/TitleLinks/Caption":{"title":"$:/language/ControlPanel/Settings/TitleLinks/Caption","text":"Tiddler Titles"},"$:/language/ControlPanel/Settings/TitleLinks/Hint":{"title":"$:/language/ControlPanel/Settings/TitleLinks/Hint","text":"Optionally display tiddler titles as links"},"$:/language/ControlPanel/Settings/TitleLinks/No/Description":{"title":"$:/language/ControlPanel/Settings/TitleLinks/No/Description","text":"Do not display tiddler titles as links"},"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description":{"title":"$:/language/ControlPanel/Settings/TitleLinks/Yes/Description","text":"Display tiddler titles as links"},"$:/language/ControlPanel/Settings/MissingLinks/Caption":{"title":"$:/language/ControlPanel/Settings/MissingLinks/Caption","text":"Wiki Links"},"$:/language/ControlPanel/Settings/MissingLinks/Hint":{"title":"$:/language/ControlPanel/Settings/MissingLinks/Hint","text":"Choose whether to link to tiddlers that do not exist yet"},"$:/language/ControlPanel/Settings/MissingLinks/Description":{"title":"$:/language/ControlPanel/Settings/MissingLinks/Description","text":"Enable links to missing tiddlers"},"$:/language/ControlPanel/StoryTiddler/Caption":{"title":"$:/language/ControlPanel/StoryTiddler/Caption","text":"Story Tiddler"},"$:/language/ControlPanel/StoryTiddler/Hint":{"title":"$:/language/ControlPanel/StoryTiddler/Hint","text":"This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river."},"$:/language/ControlPanel/StoryView/Caption":{"title":"$:/language/ControlPanel/StoryView/Caption","text":"Story View"},"$:/language/ControlPanel/StoryView/Prompt":{"title":"$:/language/ControlPanel/StoryView/Prompt","text":"Current view:"},"$:/language/ControlPanel/Stylesheets/Caption":{"title":"$:/language/ControlPanel/Stylesheets/Caption","text":"Stylesheets"},"$:/language/ControlPanel/Stylesheets/Expand/Caption":{"title":"$:/language/ControlPanel/Stylesheets/Expand/Caption","text":"Expand All"},"$:/language/ControlPanel/Stylesheets/Hint":{"title":"$:/language/ControlPanel/Stylesheets/Hint","text":"This is the rendered CSS of the current stylesheet tiddlers tagged with <<tag \"$:/tags/Stylesheet\">>"},"$:/language/ControlPanel/Stylesheets/Restore/Caption":{"title":"$:/language/ControlPanel/Stylesheets/Restore/Caption","text":"Restore"},"$:/language/ControlPanel/Theme/Caption":{"title":"$:/language/ControlPanel/Theme/Caption","text":"Theme"},"$:/language/ControlPanel/Theme/Prompt":{"title":"$:/language/ControlPanel/Theme/Prompt","text":"Current theme:"},"$:/language/ControlPanel/TiddlerFields/Caption":{"title":"$:/language/ControlPanel/TiddlerFields/Caption","text":"Tiddler Fields"},"$:/language/ControlPanel/TiddlerFields/Hint":{"title":"$:/language/ControlPanel/TiddlerFields/Hint","text":"This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."},"$:/language/ControlPanel/TiddlerColour/Caption":{"title":"$:/language/ControlPanel/TiddlerColour/Caption","text":"Tiddler Colour"},"$:/language/ControlPanel/TiddlerColour/Hint":{"title":"$:/language/ControlPanel/TiddlerColour/Hint","text":"This rules cascade is used to dynamically choose the colour for a tiddler (used for the icon and the associated tag pill)."},"$:/language/ControlPanel/TiddlerIcon/Caption":{"title":"$:/language/ControlPanel/TiddlerIcon/Caption","text":"Tiddler Icon"},"$:/language/ControlPanel/TiddlerIcon/Hint":{"title":"$:/language/ControlPanel/TiddlerIcon/Hint","text":"This rules cascade is used to dynamically choose the icon for a tiddler."},"$:/language/ControlPanel/Toolbars/Caption":{"title":"$:/language/ControlPanel/Toolbars/Caption","text":"Toolbars"},"$:/language/ControlPanel/Toolbars/EditToolbar/Caption":{"title":"$:/language/ControlPanel/Toolbars/EditToolbar/Caption","text":"Edit Toolbar"},"$:/language/ControlPanel/Toolbars/EditToolbar/Hint":{"title":"$:/language/ControlPanel/Toolbars/EditToolbar/Hint","text":"Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/Hint":{"title":"$:/language/ControlPanel/Toolbars/Hint","text":"Select which toolbar buttons are displayed"},"$:/language/ControlPanel/Toolbars/PageControls/Caption":{"title":"$:/language/ControlPanel/Toolbars/PageControls/Caption","text":"Page Toolbar"},"$:/language/ControlPanel/Toolbars/PageControls/Hint":{"title":"$:/language/ControlPanel/Toolbars/PageControls/Hint","text":"Choose which buttons are displayed on the main page toolbar. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption":{"title":"$:/language/ControlPanel/Toolbars/EditorToolbar/Caption","text":"Editor Toolbar"},"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint":{"title":"$:/language/ControlPanel/Toolbars/EditorToolbar/Hint","text":"Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type. Drag and drop to change the ordering"},"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption":{"title":"$:/language/ControlPanel/Toolbars/ViewToolbar/Caption","text":"View Toolbar"},"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint":{"title":"$:/language/ControlPanel/Toolbars/ViewToolbar/Hint","text":"Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering"},"$:/language/ControlPanel/Tools/Download/Full/Caption":{"title":"$:/language/ControlPanel/Tools/Download/Full/Caption","text":"Download full wiki"},"$:/language/ControlPanel/ViewTemplateBody/Caption":{"title":"$:/language/ControlPanel/ViewTemplateBody/Caption","text":"View Template Body"},"$:/language/ControlPanel/ViewTemplateBody/Hint":{"title":"$:/language/ControlPanel/ViewTemplateBody/Hint","text":"This rule cascade is used by the default view template to dynamically choose the template for displaying the body of a tiddler."},"$:/language/ControlPanel/ViewTemplateTitle/Caption":{"title":"$:/language/ControlPanel/ViewTemplateTitle/Caption","text":"View Template Title"},"$:/language/ControlPanel/ViewTemplateTitle/Hint":{"title":"$:/language/ControlPanel/ViewTemplateTitle/Hint","text":"This rule cascade is used by the default view template to dynamically choose the template for displaying the title of a tiddler."},"$:/language/Date/DaySuffix/1":{"title":"$:/language/Date/DaySuffix/1","text":"st"},"$:/language/Date/DaySuffix/2":{"title":"$:/language/Date/DaySuffix/2","text":"nd"},"$:/language/Date/DaySuffix/3":{"title":"$:/language/Date/DaySuffix/3","text":"rd"},"$:/language/Date/DaySuffix/4":{"title":"$:/language/Date/DaySuffix/4","text":"th"},"$:/language/Date/DaySuffix/5":{"title":"$:/language/Date/DaySuffix/5","text":"th"},"$:/language/Date/DaySuffix/6":{"title":"$:/language/Date/DaySuffix/6","text":"th"},"$:/language/Date/DaySuffix/7":{"title":"$:/language/Date/DaySuffix/7","text":"th"},"$:/language/Date/DaySuffix/8":{"title":"$:/language/Date/DaySuffix/8","text":"th"},"$:/language/Date/DaySuffix/9":{"title":"$:/language/Date/DaySuffix/9","text":"th"},"$:/language/Date/DaySuffix/10":{"title":"$:/language/Date/DaySuffix/10","text":"th"},"$:/language/Date/DaySuffix/11":{"title":"$:/language/Date/DaySuffix/11","text":"th"},"$:/language/Date/DaySuffix/12":{"title":"$:/language/Date/DaySuffix/12","text":"th"},"$:/language/Date/DaySuffix/13":{"title":"$:/language/Date/DaySuffix/13","text":"th"},"$:/language/Date/DaySuffix/14":{"title":"$:/language/Date/DaySuffix/14","text":"th"},"$:/language/Date/DaySuffix/15":{"title":"$:/language/Date/DaySuffix/15","text":"th"},"$:/language/Date/DaySuffix/16":{"title":"$:/language/Date/DaySuffix/16","text":"th"},"$:/language/Date/DaySuffix/17":{"title":"$:/language/Date/DaySuffix/17","text":"th"},"$:/language/Date/DaySuffix/18":{"title":"$:/language/Date/DaySuffix/18","text":"th"},"$:/language/Date/DaySuffix/19":{"title":"$:/language/Date/DaySuffix/19","text":"th"},"$:/language/Date/DaySuffix/20":{"title":"$:/language/Date/DaySuffix/20","text":"th"},"$:/language/Date/DaySuffix/21":{"title":"$:/language/Date/DaySuffix/21","text":"st"},"$:/language/Date/DaySuffix/22":{"title":"$:/language/Date/DaySuffix/22","text":"nd"},"$:/language/Date/DaySuffix/23":{"title":"$:/language/Date/DaySuffix/23","text":"rd"},"$:/language/Date/DaySuffix/24":{"title":"$:/language/Date/DaySuffix/24","text":"th"},"$:/language/Date/DaySuffix/25":{"title":"$:/language/Date/DaySuffix/25","text":"th"},"$:/language/Date/DaySuffix/26":{"title":"$:/language/Date/DaySuffix/26","text":"th"},"$:/language/Date/DaySuffix/27":{"title":"$:/language/Date/DaySuffix/27","text":"th"},"$:/language/Date/DaySuffix/28":{"title":"$:/language/Date/DaySuffix/28","text":"th"},"$:/language/Date/DaySuffix/29":{"title":"$:/language/Date/DaySuffix/29","text":"th"},"$:/language/Date/DaySuffix/30":{"title":"$:/language/Date/DaySuffix/30","text":"th"},"$:/language/Date/DaySuffix/31":{"title":"$:/language/Date/DaySuffix/31","text":"st"},"$:/language/Date/Long/Day/0":{"title":"$:/language/Date/Long/Day/0","text":"Sunday"},"$:/language/Date/Long/Day/1":{"title":"$:/language/Date/Long/Day/1","text":"Monday"},"$:/language/Date/Long/Day/2":{"title":"$:/language/Date/Long/Day/2","text":"Tuesday"},"$:/language/Date/Long/Day/3":{"title":"$:/language/Date/Long/Day/3","text":"Wednesday"},"$:/language/Date/Long/Day/4":{"title":"$:/language/Date/Long/Day/4","text":"Thursday"},"$:/language/Date/Long/Day/5":{"title":"$:/language/Date/Long/Day/5","text":"Friday"},"$:/language/Date/Long/Day/6":{"title":"$:/language/Date/Long/Day/6","text":"Saturday"},"$:/language/Date/Long/Month/1":{"title":"$:/language/Date/Long/Month/1","text":"January"},"$:/language/Date/Long/Month/2":{"title":"$:/language/Date/Long/Month/2","text":"February"},"$:/language/Date/Long/Month/3":{"title":"$:/language/Date/Long/Month/3","text":"March"},"$:/language/Date/Long/Month/4":{"title":"$:/language/Date/Long/Month/4","text":"April"},"$:/language/Date/Long/Month/5":{"title":"$:/language/Date/Long/Month/5","text":"May"},"$:/language/Date/Long/Month/6":{"title":"$:/language/Date/Long/Month/6","text":"June"},"$:/language/Date/Long/Month/7":{"title":"$:/language/Date/Long/Month/7","text":"July"},"$:/language/Date/Long/Month/8":{"title":"$:/language/Date/Long/Month/8","text":"August"},"$:/language/Date/Long/Month/9":{"title":"$:/language/Date/Long/Month/9","text":"September"},"$:/language/Date/Long/Month/10":{"title":"$:/language/Date/Long/Month/10","text":"October"},"$:/language/Date/Long/Month/11":{"title":"$:/language/Date/Long/Month/11","text":"November"},"$:/language/Date/Long/Month/12":{"title":"$:/language/Date/Long/Month/12","text":"December"},"$:/language/Date/Period/am":{"title":"$:/language/Date/Period/am","text":"am"},"$:/language/Date/Period/pm":{"title":"$:/language/Date/Period/pm","text":"pm"},"$:/language/Date/Short/Day/0":{"title":"$:/language/Date/Short/Day/0","text":"Sun"},"$:/language/Date/Short/Day/1":{"title":"$:/language/Date/Short/Day/1","text":"Mon"},"$:/language/Date/Short/Day/2":{"title":"$:/language/Date/Short/Day/2","text":"Tue"},"$:/language/Date/Short/Day/3":{"title":"$:/language/Date/Short/Day/3","text":"Wed"},"$:/language/Date/Short/Day/4":{"title":"$:/language/Date/Short/Day/4","text":"Thu"},"$:/language/Date/Short/Day/5":{"title":"$:/language/Date/Short/Day/5","text":"Fri"},"$:/language/Date/Short/Day/6":{"title":"$:/language/Date/Short/Day/6","text":"Sat"},"$:/language/Date/Short/Month/1":{"title":"$:/language/Date/Short/Month/1","text":"Jan"},"$:/language/Date/Short/Month/2":{"title":"$:/language/Date/Short/Month/2","text":"Feb"},"$:/language/Date/Short/Month/3":{"title":"$:/language/Date/Short/Month/3","text":"Mar"},"$:/language/Date/Short/Month/4":{"title":"$:/language/Date/Short/Month/4","text":"Apr"},"$:/language/Date/Short/Month/5":{"title":"$:/language/Date/Short/Month/5","text":"May"},"$:/language/Date/Short/Month/6":{"title":"$:/language/Date/Short/Month/6","text":"Jun"},"$:/language/Date/Short/Month/7":{"title":"$:/language/Date/Short/Month/7","text":"Jul"},"$:/language/Date/Short/Month/8":{"title":"$:/language/Date/Short/Month/8","text":"Aug"},"$:/language/Date/Short/Month/9":{"title":"$:/language/Date/Short/Month/9","text":"Sep"},"$:/language/Date/Short/Month/10":{"title":"$:/language/Date/Short/Month/10","text":"Oct"},"$:/language/Date/Short/Month/11":{"title":"$:/language/Date/Short/Month/11","text":"Nov"},"$:/language/Date/Short/Month/12":{"title":"$:/language/Date/Short/Month/12","text":"Dec"},"$:/language/RelativeDate/Future/Days":{"title":"$:/language/RelativeDate/Future/Days","text":"<<period>> days from now"},"$:/language/RelativeDate/Future/Hours":{"title":"$:/language/RelativeDate/Future/Hours","text":"<<period>> hours from now"},"$:/language/RelativeDate/Future/Minutes":{"title":"$:/language/RelativeDate/Future/Minutes","text":"<<period>> minutes from now"},"$:/language/RelativeDate/Future/Months":{"title":"$:/language/RelativeDate/Future/Months","text":"<<period>> months from now"},"$:/language/RelativeDate/Future/Second":{"title":"$:/language/RelativeDate/Future/Second","text":"1 second from now"},"$:/language/RelativeDate/Future/Seconds":{"title":"$:/language/RelativeDate/Future/Seconds","text":"<<period>> seconds from now"},"$:/language/RelativeDate/Future/Years":{"title":"$:/language/RelativeDate/Future/Years","text":"<<period>> years from now"},"$:/language/RelativeDate/Past/Days":{"title":"$:/language/RelativeDate/Past/Days","text":"<<period>> days ago"},"$:/language/RelativeDate/Past/Hours":{"title":"$:/language/RelativeDate/Past/Hours","text":"<<period>> hours ago"},"$:/language/RelativeDate/Past/Minutes":{"title":"$:/language/RelativeDate/Past/Minutes","text":"<<period>> minutes ago"},"$:/language/RelativeDate/Past/Months":{"title":"$:/language/RelativeDate/Past/Months","text":"<<period>> months ago"},"$:/language/RelativeDate/Past/Second":{"title":"$:/language/RelativeDate/Past/Second","text":"1 second ago"},"$:/language/RelativeDate/Past/Seconds":{"title":"$:/language/RelativeDate/Past/Seconds","text":"<<period>> seconds ago"},"$:/language/RelativeDate/Past/Years":{"title":"$:/language/RelativeDate/Past/Years","text":"<<period>> years ago"},"$:/language/Docs/ModuleTypes/allfilteroperator":{"title":"$:/language/Docs/ModuleTypes/allfilteroperator","text":"A sub-operator for the ''all'' filter operator."},"$:/language/Docs/ModuleTypes/animation":{"title":"$:/language/Docs/ModuleTypes/animation","text":"Animations that may be used with the RevealWidget."},"$:/language/Docs/ModuleTypes/authenticator":{"title":"$:/language/Docs/ModuleTypes/authenticator","text":"Defines how requests are authenticated by the built-in HTTP server."},"$:/language/Docs/ModuleTypes/bitmapeditoroperation":{"title":"$:/language/Docs/ModuleTypes/bitmapeditoroperation","text":"A bitmap editor toolbar operation."},"$:/language/Docs/ModuleTypes/command":{"title":"$:/language/Docs/ModuleTypes/command","text":"Commands that can be executed under Node.js."},"$:/language/Docs/ModuleTypes/config":{"title":"$:/language/Docs/ModuleTypes/config","text":"Data to be inserted into `$tw.config`."},"$:/language/Docs/ModuleTypes/filteroperator":{"title":"$:/language/Docs/ModuleTypes/filteroperator","text":"Individual filter operator methods."},"$:/language/Docs/ModuleTypes/global":{"title":"$:/language/Docs/ModuleTypes/global","text":"Global data to be inserted into `$tw`."},"$:/language/Docs/ModuleTypes/info":{"title":"$:/language/Docs/ModuleTypes/info","text":"Publishes system information via the [[$:/temp/info-plugin]] pseudo-plugin."},"$:/language/Docs/ModuleTypes/isfilteroperator":{"title":"$:/language/Docs/ModuleTypes/isfilteroperator","text":"Parameters for the ''is'' filter operator."},"$:/language/Docs/ModuleTypes/library":{"title":"$:/language/Docs/ModuleTypes/library","text":"Generic module type for general purpose JavaScript modules."},"$:/language/Docs/ModuleTypes/macro":{"title":"$:/language/Docs/ModuleTypes/macro","text":"JavaScript macro definitions."},"$:/language/Docs/ModuleTypes/parser":{"title":"$:/language/Docs/ModuleTypes/parser","text":"Parsers for different content types."},"$:/language/Docs/ModuleTypes/route":{"title":"$:/language/Docs/ModuleTypes/route","text":"Defines how individual URL patterns are handled by the built-in HTTP server."},"$:/language/Docs/ModuleTypes/saver":{"title":"$:/language/Docs/ModuleTypes/saver","text":"Savers handle different methods for saving files from the browser."},"$:/language/Docs/ModuleTypes/startup":{"title":"$:/language/Docs/ModuleTypes/startup","text":"Startup functions."},"$:/language/Docs/ModuleTypes/storyview":{"title":"$:/language/Docs/ModuleTypes/storyview","text":"Story views customise the animation and behaviour of list widgets."},"$:/language/Docs/ModuleTypes/texteditoroperation":{"title":"$:/language/Docs/ModuleTypes/texteditoroperation","text":"A text editor toolbar operation."},"$:/language/Docs/ModuleTypes/tiddlerdeserializer":{"title":"$:/language/Docs/ModuleTypes/tiddlerdeserializer","text":"Converts different content types into tiddlers."},"$:/language/Docs/ModuleTypes/tiddlerfield":{"title":"$:/language/Docs/ModuleTypes/tiddlerfield","text":"Defines the behaviour of an individual tiddler field."},"$:/language/Docs/ModuleTypes/tiddlermethod":{"title":"$:/language/Docs/ModuleTypes/tiddlermethod","text":"Adds methods to the `$tw.Tiddler` prototype."},"$:/language/Docs/ModuleTypes/upgrader":{"title":"$:/language/Docs/ModuleTypes/upgrader","text":"Applies upgrade processing to tiddlers during an upgrade/import."},"$:/language/Docs/ModuleTypes/utils":{"title":"$:/language/Docs/ModuleTypes/utils","text":"Adds methods to `$tw.utils`."},"$:/language/Docs/ModuleTypes/utils-browser":{"title":"$:/language/Docs/ModuleTypes/utils-browser","text":"Adds browser-specific methods to `$tw.utils`."},"$:/language/Docs/ModuleTypes/utils-node":{"title":"$:/language/Docs/ModuleTypes/utils-node","text":"Adds Node.js-specific methods to `$tw.utils`."},"$:/language/Docs/ModuleTypes/widget":{"title":"$:/language/Docs/ModuleTypes/widget","text":"Widgets encapsulate DOM rendering and refreshing."},"$:/language/Docs/ModuleTypes/wikimethod":{"title":"$:/language/Docs/ModuleTypes/wikimethod","text":"Adds methods to `$tw.Wiki`."},"$:/language/Docs/ModuleTypes/wikirule":{"title":"$:/language/Docs/ModuleTypes/wikirule","text":"Individual parser rules for the main WikiText parser."},"$:/language/Docs/PaletteColours/alert-background":{"title":"$:/language/Docs/PaletteColours/alert-background","text":"Alert background"},"$:/language/Docs/PaletteColours/alert-border":{"title":"$:/language/Docs/PaletteColours/alert-border","text":"Alert border"},"$:/language/Docs/PaletteColours/alert-highlight":{"title":"$:/language/Docs/PaletteColours/alert-highlight","text":"Alert highlight"},"$:/language/Docs/PaletteColours/alert-muted-foreground":{"title":"$:/language/Docs/PaletteColours/alert-muted-foreground","text":"Alert muted foreground"},"$:/language/Docs/PaletteColours/background":{"title":"$:/language/Docs/PaletteColours/background","text":"General background"},"$:/language/Docs/PaletteColours/blockquote-bar":{"title":"$:/language/Docs/PaletteColours/blockquote-bar","text":"Blockquote bar"},"$:/language/Docs/PaletteColours/button-background":{"title":"$:/language/Docs/PaletteColours/button-background","text":"Default button background"},"$:/language/Docs/PaletteColours/button-border":{"title":"$:/language/Docs/PaletteColours/button-border","text":"Default button border"},"$:/language/Docs/PaletteColours/button-foreground":{"title":"$:/language/Docs/PaletteColours/button-foreground","text":"Default button foreground"},"$:/language/Docs/PaletteColours/dirty-indicator":{"title":"$:/language/Docs/PaletteColours/dirty-indicator","text":"Unsaved changes indicator"},"$:/language/Docs/PaletteColours/code-background":{"title":"$:/language/Docs/PaletteColours/code-background","text":"Code background"},"$:/language/Docs/PaletteColours/code-border":{"title":"$:/language/Docs/PaletteColours/code-border","text":"Code border"},"$:/language/Docs/PaletteColours/code-foreground":{"title":"$:/language/Docs/PaletteColours/code-foreground","text":"Code foreground"},"$:/language/Docs/PaletteColours/download-background":{"title":"$:/language/Docs/PaletteColours/download-background","text":"Download button background"},"$:/language/Docs/PaletteColours/download-foreground":{"title":"$:/language/Docs/PaletteColours/download-foreground","text":"Download button foreground"},"$:/language/Docs/PaletteColours/dragger-background":{"title":"$:/language/Docs/PaletteColours/dragger-background","text":"Dragger background"},"$:/language/Docs/PaletteColours/dragger-foreground":{"title":"$:/language/Docs/PaletteColours/dragger-foreground","text":"Dragger foreground"},"$:/language/Docs/PaletteColours/dropdown-background":{"title":"$:/language/Docs/PaletteColours/dropdown-background","text":"Dropdown background"},"$:/language/Docs/PaletteColours/dropdown-border":{"title":"$:/language/Docs/PaletteColours/dropdown-border","text":"Dropdown border"},"$:/language/Docs/PaletteColours/dropdown-tab-background-selected":{"title":"$:/language/Docs/PaletteColours/dropdown-tab-background-selected","text":"Dropdown tab background for selected tabs"},"$:/language/Docs/PaletteColours/dropdown-tab-background":{"title":"$:/language/Docs/PaletteColours/dropdown-tab-background","text":"Dropdown tab background"},"$:/language/Docs/PaletteColours/dropzone-background":{"title":"$:/language/Docs/PaletteColours/dropzone-background","text":"Dropzone background"},"$:/language/Docs/PaletteColours/external-link-background-hover":{"title":"$:/language/Docs/PaletteColours/external-link-background-hover","text":"External link background hover"},"$:/language/Docs/PaletteColours/external-link-background-visited":{"title":"$:/language/Docs/PaletteColours/external-link-background-visited","text":"External link background visited"},"$:/language/Docs/PaletteColours/external-link-background":{"title":"$:/language/Docs/PaletteColours/external-link-background","text":"External link background"},"$:/language/Docs/PaletteColours/external-link-foreground-hover":{"title":"$:/language/Docs/PaletteColours/external-link-foreground-hover","text":"External link foreground hover"},"$:/language/Docs/PaletteColours/external-link-foreground-visited":{"title":"$:/language/Docs/PaletteColours/external-link-foreground-visited","text":"External link foreground visited"},"$:/language/Docs/PaletteColours/external-link-foreground":{"title":"$:/language/Docs/PaletteColours/external-link-foreground","text":"External link foreground"},"$:/language/Docs/PaletteColours/foreground":{"title":"$:/language/Docs/PaletteColours/foreground","text":"General foreground"},"$:/language/Docs/PaletteColours/menubar-background":{"title":"$:/language/Docs/PaletteColours/menubar-background","text":"Menu bar background"},"$:/language/Docs/PaletteColours/menubar-foreground":{"title":"$:/language/Docs/PaletteColours/menubar-foreground","text":"Menu bar foreground"},"$:/language/Docs/PaletteColours/message-background":{"title":"$:/language/Docs/PaletteColours/message-background","text":"Message box background"},"$:/language/Docs/PaletteColours/message-border":{"title":"$:/language/Docs/PaletteColours/message-border","text":"Message box border"},"$:/language/Docs/PaletteColours/message-foreground":{"title":"$:/language/Docs/PaletteColours/message-foreground","text":"Message box foreground"},"$:/language/Docs/PaletteColours/modal-backdrop":{"title":"$:/language/Docs/PaletteColours/modal-backdrop","text":"Modal backdrop"},"$:/language/Docs/PaletteColours/modal-background":{"title":"$:/language/Docs/PaletteColours/modal-background","text":"Modal background"},"$:/language/Docs/PaletteColours/modal-border":{"title":"$:/language/Docs/PaletteColours/modal-border","text":"Modal border"},"$:/language/Docs/PaletteColours/modal-footer-background":{"title":"$:/language/Docs/PaletteColours/modal-footer-background","text":"Modal footer background"},"$:/language/Docs/PaletteColours/modal-footer-border":{"title":"$:/language/Docs/PaletteColours/modal-footer-border","text":"Modal footer border"},"$:/language/Docs/PaletteColours/modal-header-border":{"title":"$:/language/Docs/PaletteColours/modal-header-border","text":"Modal header border"},"$:/language/Docs/PaletteColours/muted-foreground":{"title":"$:/language/Docs/PaletteColours/muted-foreground","text":"General muted foreground"},"$:/language/Docs/PaletteColours/notification-background":{"title":"$:/language/Docs/PaletteColours/notification-background","text":"Notification background"},"$:/language/Docs/PaletteColours/notification-border":{"title":"$:/language/Docs/PaletteColours/notification-border","text":"Notification border"},"$:/language/Docs/PaletteColours/page-background":{"title":"$:/language/Docs/PaletteColours/page-background","text":"Page background"},"$:/language/Docs/PaletteColours/pre-background":{"title":"$:/language/Docs/PaletteColours/pre-background","text":"Preformatted code background"},"$:/language/Docs/PaletteColours/pre-border":{"title":"$:/language/Docs/PaletteColours/pre-border","text":"Preformatted code border"},"$:/language/Docs/PaletteColours/primary":{"title":"$:/language/Docs/PaletteColours/primary","text":"General primary"},"$:/language/Docs/PaletteColours/select-tag-background":{"title":"$:/language/Docs/PaletteColours/select-tag-background","text":"`<select>` element background"},"$:/language/Docs/PaletteColours/select-tag-foreground":{"title":"$:/language/Docs/PaletteColours/select-tag-foreground","text":"`<select>` element text"},"$:/language/Docs/PaletteColours/sidebar-button-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-button-foreground","text":"Sidebar button foreground"},"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover":{"title":"$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover","text":"Sidebar controls foreground hover"},"$:/language/Docs/PaletteColours/sidebar-controls-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-controls-foreground","text":"Sidebar controls foreground"},"$:/language/Docs/PaletteColours/sidebar-foreground-shadow":{"title":"$:/language/Docs/PaletteColours/sidebar-foreground-shadow","text":"Sidebar foreground shadow"},"$:/language/Docs/PaletteColours/sidebar-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-foreground","text":"Sidebar foreground"},"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover":{"title":"$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover","text":"Sidebar muted foreground hover"},"$:/language/Docs/PaletteColours/sidebar-muted-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-muted-foreground","text":"Sidebar muted foreground"},"$:/language/Docs/PaletteColours/sidebar-tab-background-selected":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-background-selected","text":"Sidebar tab background for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-background":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-background","text":"Sidebar tab background"},"$:/language/Docs/PaletteColours/sidebar-tab-border-selected":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-border-selected","text":"Sidebar tab border for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-border":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-border","text":"Sidebar tab border"},"$:/language/Docs/PaletteColours/sidebar-tab-divider":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-divider","text":"Sidebar tab divider"},"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected","text":"Sidebar tab foreground for selected tabs"},"$:/language/Docs/PaletteColours/sidebar-tab-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-tab-foreground","text":"Sidebar tab foreground"},"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover":{"title":"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover","text":"Sidebar tiddler link foreground hover"},"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground":{"title":"$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground","text":"Sidebar tiddler link foreground"},"$:/language/Docs/PaletteColours/site-title-foreground":{"title":"$:/language/Docs/PaletteColours/site-title-foreground","text":"Site title foreground"},"$:/language/Docs/PaletteColours/static-alert-foreground":{"title":"$:/language/Docs/PaletteColours/static-alert-foreground","text":"Static alert foreground"},"$:/language/Docs/PaletteColours/tab-background-selected":{"title":"$:/language/Docs/PaletteColours/tab-background-selected","text":"Tab background for selected tabs"},"$:/language/Docs/PaletteColours/tab-background":{"title":"$:/language/Docs/PaletteColours/tab-background","text":"Tab background"},"$:/language/Docs/PaletteColours/tab-border-selected":{"title":"$:/language/Docs/PaletteColours/tab-border-selected","text":"Tab border for selected tabs"},"$:/language/Docs/PaletteColours/tab-border":{"title":"$:/language/Docs/PaletteColours/tab-border","text":"Tab border"},"$:/language/Docs/PaletteColours/tab-divider":{"title":"$:/language/Docs/PaletteColours/tab-divider","text":"Tab divider"},"$:/language/Docs/PaletteColours/tab-foreground-selected":{"title":"$:/language/Docs/PaletteColours/tab-foreground-selected","text":"Tab foreground for selected tabs"},"$:/language/Docs/PaletteColours/tab-foreground":{"title":"$:/language/Docs/PaletteColours/tab-foreground","text":"Tab foreground"},"$:/language/Docs/PaletteColours/table-border":{"title":"$:/language/Docs/PaletteColours/table-border","text":"Table border"},"$:/language/Docs/PaletteColours/table-footer-background":{"title":"$:/language/Docs/PaletteColours/table-footer-background","text":"Table footer background"},"$:/language/Docs/PaletteColours/table-header-background":{"title":"$:/language/Docs/PaletteColours/table-header-background","text":"Table header background"},"$:/language/Docs/PaletteColours/tag-background":{"title":"$:/language/Docs/PaletteColours/tag-background","text":"Tag background"},"$:/language/Docs/PaletteColours/tag-foreground":{"title":"$:/language/Docs/PaletteColours/tag-foreground","text":"Tag foreground"},"$:/language/Docs/PaletteColours/tiddler-background":{"title":"$:/language/Docs/PaletteColours/tiddler-background","text":"Tiddler background"},"$:/language/Docs/PaletteColours/tiddler-border":{"title":"$:/language/Docs/PaletteColours/tiddler-border","text":"Tiddler border"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover":{"title":"$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover","text":"Tiddler controls foreground hover"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected":{"title":"$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected","text":"Tiddler controls foreground for selected controls"},"$:/language/Docs/PaletteColours/tiddler-controls-foreground":{"title":"$:/language/Docs/PaletteColours/tiddler-controls-foreground","text":"Tiddler controls foreground"},"$:/language/Docs/PaletteColours/tiddler-editor-background":{"title":"$:/language/Docs/PaletteColours/tiddler-editor-background","text":"Tiddler editor background"},"$:/language/Docs/PaletteColours/tiddler-editor-border-image":{"title":"$:/language/Docs/PaletteColours/tiddler-editor-border-image","text":"Tiddler editor border image"},"$:/language/Docs/PaletteColours/tiddler-editor-border":{"title":"$:/language/Docs/PaletteColours/tiddler-editor-border","text":"Tiddler editor border"},"$:/language/Docs/PaletteColours/tiddler-editor-fields-even":{"title":"$:/language/Docs/PaletteColours/tiddler-editor-fields-even","text":"Tiddler editor background for even fields"},"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd":{"title":"$:/language/Docs/PaletteColours/tiddler-editor-fields-odd","text":"Tiddler editor background for odd fields"},"$:/language/Docs/PaletteColours/tiddler-info-background":{"title":"$:/language/Docs/PaletteColours/tiddler-info-background","text":"Tiddler info panel background"},"$:/language/Docs/PaletteColours/tiddler-info-border":{"title":"$:/language/Docs/PaletteColours/tiddler-info-border","text":"Tiddler info panel border"},"$:/language/Docs/PaletteColours/tiddler-info-tab-background":{"title":"$:/language/Docs/PaletteColours/tiddler-info-tab-background","text":"Tiddler info panel tab background"},"$:/language/Docs/PaletteColours/tiddler-link-background":{"title":"$:/language/Docs/PaletteColours/tiddler-link-background","text":"Tiddler link background"},"$:/language/Docs/PaletteColours/tiddler-link-foreground":{"title":"$:/language/Docs/PaletteColours/tiddler-link-foreground","text":"Tiddler link foreground"},"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground":{"title":"$:/language/Docs/PaletteColours/tiddler-subtitle-foreground","text":"Tiddler subtitle foreground"},"$:/language/Docs/PaletteColours/tiddler-title-foreground":{"title":"$:/language/Docs/PaletteColours/tiddler-title-foreground","text":"Tiddler title foreground"},"$:/language/Docs/PaletteColours/toolbar-new-button":{"title":"$:/language/Docs/PaletteColours/toolbar-new-button","text":"Toolbar 'new tiddler' button foreground"},"$:/language/Docs/PaletteColours/toolbar-options-button":{"title":"$:/language/Docs/PaletteColours/toolbar-options-button","text":"Toolbar 'options' button foreground"},"$:/language/Docs/PaletteColours/toolbar-save-button":{"title":"$:/language/Docs/PaletteColours/toolbar-save-button","text":"Toolbar 'save' button foreground"},"$:/language/Docs/PaletteColours/toolbar-info-button":{"title":"$:/language/Docs/PaletteColours/toolbar-info-button","text":"Toolbar 'info' button foreground"},"$:/language/Docs/PaletteColours/toolbar-edit-button":{"title":"$:/language/Docs/PaletteColours/toolbar-edit-button","text":"Toolbar 'edit' button foreground"},"$:/language/Docs/PaletteColours/toolbar-close-button":{"title":"$:/language/Docs/PaletteColours/toolbar-close-button","text":"Toolbar 'close' button foreground"},"$:/language/Docs/PaletteColours/toolbar-delete-button":{"title":"$:/language/Docs/PaletteColours/toolbar-delete-button","text":"Toolbar 'delete' button foreground"},"$:/language/Docs/PaletteColours/toolbar-cancel-button":{"title":"$:/language/Docs/PaletteColours/toolbar-cancel-button","text":"Toolbar 'cancel' button foreground"},"$:/language/Docs/PaletteColours/toolbar-done-button":{"title":"$:/language/Docs/PaletteColours/toolbar-done-button","text":"Toolbar 'done' button foreground"},"$:/language/Docs/PaletteColours/untagged-background":{"title":"$:/language/Docs/PaletteColours/untagged-background","text":"Untagged pill background"},"$:/language/Docs/PaletteColours/very-muted-foreground":{"title":"$:/language/Docs/PaletteColours/very-muted-foreground","text":"Very muted foreground"},"$:/language/EditTemplate/Caption":{"title":"$:/language/EditTemplate/Caption","text":"Editor"},"$:/language/EditTemplate/Body/External/Hint":{"title":"$:/language/EditTemplate/Body/External/Hint","text":"This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"},"$:/language/EditTemplate/Body/Placeholder":{"title":"$:/language/EditTemplate/Body/Placeholder","text":"Type the text for this tiddler"},"$:/language/EditTemplate/Body/Preview/Type/Output":{"title":"$:/language/EditTemplate/Body/Preview/Type/Output","text":"output"},"$:/language/EditTemplate/Body/Preview/Type/DiffShadow":{"title":"$:/language/EditTemplate/Body/Preview/Type/DiffShadow","text":"differences from shadow (if any)"},"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent":{"title":"$:/language/EditTemplate/Body/Preview/Type/DiffCurrent","text":"differences from current"},"$:/language/EditTemplate/Field/Remove/Caption":{"title":"$:/language/EditTemplate/Field/Remove/Caption","text":"remove field"},"$:/language/EditTemplate/Field/Remove/Hint":{"title":"$:/language/EditTemplate/Field/Remove/Hint","text":"Remove field"},"$:/language/EditTemplate/Field/Dropdown/Caption":{"title":"$:/language/EditTemplate/Field/Dropdown/Caption","text":"field list"},"$:/language/EditTemplate/Field/Dropdown/Hint":{"title":"$:/language/EditTemplate/Field/Dropdown/Hint","text":"Show field list"},"$:/language/EditTemplate/Fields/Add/Button":{"title":"$:/language/EditTemplate/Fields/Add/Button","text":"add"},"$:/language/EditTemplate/Fields/Add/Button/Hint":{"title":"$:/language/EditTemplate/Fields/Add/Button/Hint","text":"Add the new field to the tiddler"},"$:/language/EditTemplate/Fields/Add/Name/Placeholder":{"title":"$:/language/EditTemplate/Fields/Add/Name/Placeholder","text":"field name"},"$:/language/EditTemplate/Fields/Add/Prompt":{"title":"$:/language/EditTemplate/Fields/Add/Prompt","text":"Add a new field:"},"$:/language/EditTemplate/Fields/Add/Value/Placeholder":{"title":"$:/language/EditTemplate/Fields/Add/Value/Placeholder","text":"field value"},"$:/language/EditTemplate/Fields/Add/Dropdown/System":{"title":"$:/language/EditTemplate/Fields/Add/Dropdown/System","text":"System fields"},"$:/language/EditTemplate/Fields/Add/Dropdown/User":{"title":"$:/language/EditTemplate/Fields/Add/Dropdown/User","text":"User fields"},"$:/language/EditTemplate/Shadow/Warning":{"title":"$:/language/EditTemplate/Shadow/Warning","text":"This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"},"$:/language/EditTemplate/Shadow/OverriddenWarning":{"title":"$:/language/EditTemplate/Shadow/OverriddenWarning","text":"This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"},"$:/language/EditTemplate/Tags/Add/Button":{"title":"$:/language/EditTemplate/Tags/Add/Button","text":"add"},"$:/language/EditTemplate/Tags/Add/Button/Hint":{"title":"$:/language/EditTemplate/Tags/Add/Button/Hint","text":"add tag"},"$:/language/EditTemplate/Tags/Add/Placeholder":{"title":"$:/language/EditTemplate/Tags/Add/Placeholder","text":"tag name"},"$:/language/EditTemplate/Tags/ClearInput/Caption":{"title":"$:/language/EditTemplate/Tags/ClearInput/Caption","text":"clear input"},"$:/language/EditTemplate/Tags/ClearInput/Hint":{"title":"$:/language/EditTemplate/Tags/ClearInput/Hint","text":"Clear tag input"},"$:/language/EditTemplate/Tags/Dropdown/Caption":{"title":"$:/language/EditTemplate/Tags/Dropdown/Caption","text":"tag list"},"$:/language/EditTemplate/Tags/Dropdown/Hint":{"title":"$:/language/EditTemplate/Tags/Dropdown/Hint","text":"Show tag list"},"$:/language/EditTemplate/Title/BadCharacterWarning":{"title":"$:/language/EditTemplate/Title/BadCharacterWarning","text":"Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"},"$:/language/EditTemplate/Title/Exists/Prompt":{"title":"$:/language/EditTemplate/Title/Exists/Prompt","text":"Target tiddler already exists"},"$:/language/EditTemplate/Title/Relink/Prompt":{"title":"$:/language/EditTemplate/Title/Relink/Prompt","text":"Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers"},"$:/language/EditTemplate/Title/References/Prompt":{"title":"$:/language/EditTemplate/Title/References/Prompt","text":"The following references to this tiddler will not be automatically updated:"},"$:/language/EditTemplate/Type/Dropdown/Caption":{"title":"$:/language/EditTemplate/Type/Dropdown/Caption","text":"content type list"},"$:/language/EditTemplate/Type/Dropdown/Hint":{"title":"$:/language/EditTemplate/Type/Dropdown/Hint","text":"Show content type list"},"$:/language/EditTemplate/Type/Delete/Caption":{"title":"$:/language/EditTemplate/Type/Delete/Caption","text":"delete content type"},"$:/language/EditTemplate/Type/Delete/Hint":{"title":"$:/language/EditTemplate/Type/Delete/Hint","text":"Delete content type"},"$:/language/EditTemplate/Type/Placeholder":{"title":"$:/language/EditTemplate/Type/Placeholder","text":"content type"},"$:/language/EditTemplate/Type/Prompt":{"title":"$:/language/EditTemplate/Type/Prompt","text":"Type:"},"$:/language/Exporters/StaticRiver":{"title":"$:/language/Exporters/StaticRiver","text":"Static HTML"},"$:/language/Exporters/JsonFile":{"title":"$:/language/Exporters/JsonFile","text":"JSON file"},"$:/language/Exporters/CsvFile":{"title":"$:/language/Exporters/CsvFile","text":"CSV file"},"$:/language/Exporters/TidFile":{"title":"$:/language/Exporters/TidFile","text":"TID text file"},"$:/language/Docs/Fields/_canonical_uri":{"title":"$:/language/Docs/Fields/_canonical_uri","text":"The full URI of an external image tiddler"},"$:/language/Docs/Fields/author":{"title":"$:/language/Docs/Fields/author","text":"Name of the author of a plugin"},"$:/language/Docs/Fields/bag":{"title":"$:/language/Docs/Fields/bag","text":"The name of the bag from which a tiddler came"},"$:/language/Docs/Fields/caption":{"title":"$:/language/Docs/Fields/caption","text":"The text to be displayed on a tab or button"},"$:/language/Docs/Fields/class":{"title":"$:/language/Docs/Fields/class","text":"The CSS class applied to a tiddler when rendering it - see [[Custom styles by user-class]]. Also used for [[Modals]]"},"$:/language/Docs/Fields/code-body":{"title":"$:/language/Docs/Fields/code-body","text":"The view template will display the tiddler as code if set to ''yes''"},"$:/language/Docs/Fields/color":{"title":"$:/language/Docs/Fields/color","text":"The CSS color value associated with a tiddler"},"$:/language/Docs/Fields/component":{"title":"$:/language/Docs/Fields/component","text":"The name of the component responsible for an [[alert tiddler|AlertMechanism]]"},"$:/language/Docs/Fields/core-version":{"title":"$:/language/Docs/Fields/core-version","text":"For a plugin, indicates what version of TiddlyWiki with which it is compatible"},"$:/language/Docs/Fields/current-tiddler":{"title":"$:/language/Docs/Fields/current-tiddler","text":"Used to cache the top tiddler in a [[history list|HistoryMechanism]]"},"$:/language/Docs/Fields/created":{"title":"$:/language/Docs/Fields/created","text":"The date a tiddler was created"},"$:/language/Docs/Fields/creator":{"title":"$:/language/Docs/Fields/creator","text":"The name of the person who created a tiddler"},"$:/language/Docs/Fields/dependents":{"title":"$:/language/Docs/Fields/dependents","text":"For a plugin, lists the dependent plugin titles"},"$:/language/Docs/Fields/description":{"title":"$:/language/Docs/Fields/description","text":"The descriptive text for a plugin, or a modal dialogue"},"$:/language/Docs/Fields/draft.of":{"title":"$:/language/Docs/Fields/draft.of","text":"For draft tiddlers, contains the title of the tiddler of which this is a draft"},"$:/language/Docs/Fields/draft.title":{"title":"$:/language/Docs/Fields/draft.title","text":"For draft tiddlers, contains the proposed new title of the tiddler"},"$:/language/Docs/Fields/footer":{"title":"$:/language/Docs/Fields/footer","text":"The footer text for a modal"},"$:/language/Docs/Fields/hide-body":{"title":"$:/language/Docs/Fields/hide-body","text":"The view template will hide bodies of tiddlers if set to ''yes''"},"$:/language/Docs/Fields/icon":{"title":"$:/language/Docs/Fields/icon","text":"The title of the tiddler containing the icon associated with a tiddler"},"$:/language/Docs/Fields/library":{"title":"$:/language/Docs/Fields/library","text":"Indicates that a tiddler should be saved as a JavaScript library if set to ''yes''"},"$:/language/Docs/Fields/list":{"title":"$:/language/Docs/Fields/list","text":"An ordered list of tiddler titles associated with a tiddler"},"$:/language/Docs/Fields/list-before":{"title":"$:/language/Docs/Fields/list-before","text":"If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"},"$:/language/Docs/Fields/list-after":{"title":"$:/language/Docs/Fields/list-after","text":"If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty"},"$:/language/Docs/Fields/modified":{"title":"$:/language/Docs/Fields/modified","text":"The date and time at which a tiddler was last modified"},"$:/language/Docs/Fields/modifier":{"title":"$:/language/Docs/Fields/modifier","text":"The tiddler title associated with the person who last modified a tiddler"},"$:/language/Docs/Fields/module-type":{"title":"$:/language/Docs/Fields/module-type","text":"For javascript tiddlers, specifies what kind of module it is"},"$:/language/Docs/Fields/name":{"title":"$:/language/Docs/Fields/name","text":"The human readable name associated with a plugin tiddler"},"$:/language/Docs/Fields/parent-plugin":{"title":"$:/language/Docs/Fields/parent-plugin","text":"For a plugin, specifies which plugin of which it is a sub-plugin"},"$:/language/Docs/Fields/plugin-priority":{"title":"$:/language/Docs/Fields/plugin-priority","text":"A numerical value indicating the priority of a plugin tiddler"},"$:/language/Docs/Fields/plugin-type":{"title":"$:/language/Docs/Fields/plugin-type","text":"The type of plugin in a plugin tiddler"},"$:/language/Docs/Fields/revision":{"title":"$:/language/Docs/Fields/revision","text":"The revision of the tiddler held at the server"},"$:/language/Docs/Fields/released":{"title":"$:/language/Docs/Fields/released","text":"Date of a TiddlyWiki release"},"$:/language/Docs/Fields/source":{"title":"$:/language/Docs/Fields/source","text":"The source URL associated with a tiddler"},"$:/language/Docs/Fields/subtitle":{"title":"$:/language/Docs/Fields/subtitle","text":"The subtitle text for a modal"},"$:/language/Docs/Fields/tags":{"title":"$:/language/Docs/Fields/tags","text":"A list of tags associated with a tiddler"},"$:/language/Docs/Fields/text":{"title":"$:/language/Docs/Fields/text","text":"The body text of a tiddler"},"$:/language/Docs/Fields/throttle.refresh":{"title":"$:/language/Docs/Fields/throttle.refresh","text":"If present, throttles refreshes of this tiddler"},"$:/language/Docs/Fields/title":{"title":"$:/language/Docs/Fields/title","text":"The unique name of a tiddler"},"$:/language/Docs/Fields/toc-link":{"title":"$:/language/Docs/Fields/toc-link","text":"Suppresses the tiddler's link in a Table of Contents tree if set to ''no''"},"$:/language/Docs/Fields/type":{"title":"$:/language/Docs/Fields/type","text":"The content type of a tiddler"},"$:/language/Docs/Fields/version":{"title":"$:/language/Docs/Fields/version","text":"Version information for a plugin"},"$:/language/Docs/Fields/_is_skinny":{"title":"$:/language/Docs/Fields/_is_skinny","text":"If present, indicates that the tiddler text field must be loaded from the server"},"$:/language/Filters/AllTiddlers":{"title":"$:/language/Filters/AllTiddlers","text":"All tiddlers except system tiddlers"},"$:/language/Filters/RecentSystemTiddlers":{"title":"$:/language/Filters/RecentSystemTiddlers","text":"Recently modified tiddlers, including system tiddlers"},"$:/language/Filters/RecentTiddlers":{"title":"$:/language/Filters/RecentTiddlers","text":"Recently modified tiddlers"},"$:/language/Filters/AllTags":{"title":"$:/language/Filters/AllTags","text":"All tags except system tags"},"$:/language/Filters/Missing":{"title":"$:/language/Filters/Missing","text":"Missing tiddlers"},"$:/language/Filters/Drafts":{"title":"$:/language/Filters/Drafts","text":"Draft tiddlers"},"$:/language/Filters/Orphans":{"title":"$:/language/Filters/Orphans","text":"Orphan tiddlers"},"$:/language/Filters/SystemTiddlers":{"title":"$:/language/Filters/SystemTiddlers","text":"System tiddlers"},"$:/language/Filters/ShadowTiddlers":{"title":"$:/language/Filters/ShadowTiddlers","text":"Shadow tiddlers"},"$:/language/Filters/OverriddenShadowTiddlers":{"title":"$:/language/Filters/OverriddenShadowTiddlers","text":"Overridden shadow tiddlers"},"$:/language/Filters/SessionTiddlers":{"title":"$:/language/Filters/SessionTiddlers","text":"Tiddlers modified since the wiki was loaded"},"$:/language/Filters/SystemTags":{"title":"$:/language/Filters/SystemTags","text":"System tags"},"$:/language/Filters/StoryList":{"title":"$:/language/Filters/StoryList","text":"Tiddlers in the story river, excluding <$text text=\"$:/AdvancedSearch\"/>"},"$:/language/Filters/TypedTiddlers":{"title":"$:/language/Filters/TypedTiddlers","text":"Non wiki-text tiddlers"},"GettingStarted":{"title":"GettingStarted","text":"\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is vital to make sure that you can reliably save changes. See https://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k\n| <$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n| <$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|^ <$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"},"$:/language/Help/build":{"title":"$:/language/Help/build","description":"Automatically run configured commands","text":"Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"},"$:/language/Help/clearpassword":{"title":"$:/language/Help/clearpassword","description":"Clear a password for subsequent crypto operations","text":"Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"},"$:/language/Help/commands":{"title":"$:/language/Help/commands","description":"Run commands returned from a filter","text":"Sequentially run the command tokens returned from a filter\n\n```\n--commands <filter>\n```\n\nExamples\n\n```\n--commands \"[enlist:raw{$:/build-commands-as-text}]\"\n```\n\n```\n--commands \"[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]\"\n```\n"},"$:/language/Help/default":{"title":"$:/language/Help/default","text":"\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n\\whitespace trim\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>:\n \n<$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"},"$:/language/Help/deletetiddlers":{"title":"$:/language/Help/deletetiddlers","description":"Deletes a group of tiddlers","text":"<<.from-version \"5.1.20\">> Deletes a group of tiddlers identified by a filter.\n\n```\n--deletetiddlers <filter>\n```\n"},"$:/language/Help/editions":{"title":"$:/language/Help/editions","description":"Lists the available editions of TiddlyWiki","text":"Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"},"$:/language/Help/fetch":{"title":"$:/language/Help/fetch","description":"Fetch tiddlers from wiki by URL","text":"Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.\n\n```\n--fetch file <url> <import-filter> <transform-filter>\n--fetch files <url-filter> <import-filter> <transform-filter>\n--fetch raw-file <url> <transform-filter>\n--fetch raw-files <url-filter> <transform-filter>\n```\n\nThe \"file\" and \"files\" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The \"raw-file\" and \"raw-files\" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.\n\nWith the \"file\" and \"raw-file\" variants only a single file is fetched and the first parameter is the URL of the file to read.\n\nWith the \"files\" and \"raw-files\" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged \"remote-server\" that have a field \"url\" the filter `[tag[remote-server]get[url]]` will retrieve all the available URLs.\n\nFor the \"file\" and \"files\" variants, the `<import-filter>` parameter specifies a filter determining which tiddlers are imported. It defaults to `[all[tiddlers]]` if not provided.\n\nFor all variants, the `<transform-filter>` parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, `[addprefix[$:/myimports/]]` would add the prefix `$:/myimports/` to each title.\n\nPreceding the `--fetch` command with `--verbose` will output progress information during the import.\n\nNote that TiddlyWiki will not fetch an older version of an already loaded plugin.\n\nThe following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:\n\n```\ntiddlywiki --verbose --fetch file \"https://tiddlywiki.com/\" \"[!is[system]]\" \"\" --rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[!is[system]]\"\n```\n\nThe following example retrieves the \"favicon\" file from tiddlywiki.com and saves it in a file called \"output.ico\". Note that the intermediate tiddler \"Icon Tiddler\" is quoted in the \"--fetch\" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the \"--savetiddler\" command because it is being used directly as a title.\n\n```\ntiddlywiki --verbose --fetch raw-file \"https://tiddlywiki.com/favicon.ico\" \"[[Icon Tiddler]]\" --savetiddler \"Icon Tiddler\" output.ico\n```\n\n"},"$:/language/Help/help":{"title":"$:/language/Help/help","description":"Display help for TiddlyWiki commands","text":"Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"},"$:/language/Help/import":{"title":"$:/language/Help/import","description":"Import tiddlers from a file","text":"Import tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The deserializer must be explicitly specified, unlike the `load` command which infers the deserializer from the file extension.\n\n```\n--import <filepath> <deserializer> [<title>] [<encoding>]\n```\n\nThe deserializers in the core include:\n\n* application/javascript\n* application/json\n* application/x-tiddler\n* application/x-tiddler-html-div\n* application/x-tiddlers\n* text/html\n* text/plain\n\nThe title of the imported tiddler defaults to the filename.\n\nThe encoding defaults to \"utf8\", but can be \"base64\" for importing binary files.\n\nNote that TiddlyWiki will not import an older version of an already loaded plugin.\n"},"$:/language/Help/init":{"title":"$:/language/Help/init","description":"Initialise a new wiki folder","text":"Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"},"$:/language/Help/listen":{"title":"$:/language/Help/listen","description":"Provides an HTTP server interface to TiddlyWiki","text":"Serves a wiki over HTTP.\n\nThe listen command uses NamedCommandParameters:\n\n```\n--listen [<name>=<value>]...\n```\n\nAll parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:\n\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''credentials'' - pathname of credentials CSV file (relative to wiki folder)\n* ''anon-username'' - the username for signing edits for anonymous users\n* ''username'' - optional username for basic authentication\n* ''password'' - optional password for basic authentication\n* ''authenticated-user-header'' - optional name of request header to be used for trusted authentication.\n* ''readers'' - comma-separated list of principals allowed to read from this wiki\n* ''writers'' - comma-separated list of principals allowed to write to this wiki\n* ''csrf-disable'' - set to \"yes\" to disable CSRF checks (defaults to \"no\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''tls-cert'' - pathname of TLS certificate file (relative to wiki folder)\n* ''tls-key'' - pathname of TLS key file (relative to wiki folder)\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n* ''gzip'' - set to \"yes\" to enable gzip compression for some http endpoints (defaults to \"no\")\n* ''use-browser-cache'' - set to \"yes\" to allow the browser to cache responses to save bandwidth (defaults to \"no\")\n\nFor information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\n"},"$:/language/Help/load":{"title":"$:/language/Help/load","description":"Load tiddlers from a file","text":"Load tiddlers from TiddlyWiki (`.html`), `.tiddler`, `.tid`, `.json` or other local files. The processing applied to incoming files is determined by the file extension. Use the alternative `import` command if you need to specify the deserializer and encoding explicitly.\n\n```\n--load <filepath> [noerror]\n--load <dirpath> [noerror]\n```\n\nBy default, the load command raises an error if no tiddlers are found. The error can be suppressed by providing the optional \"noerror\" parameter.\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"},"$:/language/Help/makelibrary":{"title":"$:/language/Help/makelibrary","description":"Construct library plugin required by upgrade process","text":"Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"},"$:/language/Help/notfound":{"title":"$:/language/Help/notfound","text":"No such help item"},"$:/language/Help/output":{"title":"$:/language/Help/output","description":"Set the base output directory for subsequent commands","text":"Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"},"$:/language/Help/password":{"title":"$:/language/Help/password","description":"Set a password for subsequent crypto operations","text":"Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"},"$:/language/Help/render":{"title":"$:/language/Help/render","description":"Renders individual tiddlers to files","text":"Render individual tiddlers identified by a filter and save the results to the specified files.\n\nOptionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the \"currentTiddler\" variable set to the title of the tiddler that is being rendered.\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename\n* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)\n* ''template'': Optional template through which each tiddler is rendered\n* ''name'': Name of optional variables\n* ''value'': Value of optional variables\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* Multiple ''name''/''value'' pairs can be used to pass more than one variable\n* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated\n\nExamples:\n\n* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles and the extension HTML\n* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged \"HelloThere\" to a JSON file named \"tiddlers.json\"\n"},"$:/language/Help/rendertiddler":{"title":"$:/language/Help/rendertiddler","description":"Render an individual tiddler as a specified ContentType","text":"(Note: The `--rendertiddler` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename.\n\nOptionally the title of a template tiddler can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\nA name and value for an additional variable may optionally also be specified.\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n\nFor example, the following command saves all tiddlers matching the filter `[tag[done]]` to a JSON file titled `output.json` by employing the core template `$:/core/templates/exporters/JsonFile`.\n\n```\n--rendertiddler \"$:/core/templates/exporters/JsonFile\" output.json text/plain \"\" exportFilter \"[tag[done]]\"\n```\n"},"$:/language/Help/rendertiddlers":{"title":"$:/language/Help/rendertiddlers","description":"Render tiddlers matching a filter to a specified ContentType","text":"(Note: The `--rendertiddlers` command is deprecated in favour of the new, more flexible `--render` command)\n\nRender a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"},"$:/language/Help/save":{"title":"$:/language/Help/save","description":"Saves individual raw tiddlers to files","text":"Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.\n\n```\n--save <tiddler-filter> <filename-filter>\n```\n\n* ''tiddler-filter'': A filter identifying the tiddler(s) to be saved\n* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]]`, which uses the unchanged tiddler title as the filename\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nNotes:\n\n* The output directory is not cleared of any existing files\n* Any missing directories in the path to the filename are automatically created.\n* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save \"[[Motovun Jack.jpg]]\"`\n* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`\n* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated\n\nExamples:\n\n* `--save \"[!is[system]is[image]]\" \"[encodeuricomponent[]addprefix[tiddlers/]]\"` -- saves all non-system image tiddlers as files in the subdirectory \"tiddlers\" with URL-encoded titles\n"},"$:/language/Help/savetiddler":{"title":"$:/language/Help/savetiddler","description":"Saves a raw tiddler to a file","text":"(Note: The `--savetiddler` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"},"$:/language/Help/savetiddlers":{"title":"$:/language/Help/savetiddlers","description":"Saves a group of raw tiddlers to a directory","text":"(Note: The `--savetiddlers` command is deprecated in favour of the new, more flexible `--save` command)\n\nSaves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"},"$:/language/Help/savewikifolder":{"title":"$:/language/Help/savewikifolder","description":"Saves a wiki to a new wiki folder","text":"<<.from-version \"5.1.20\">> Saves the current wiki as a wiki folder, including tiddlers, plugins and configuration:\n\n```\n--savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n```\n\n* The target wiki folder must be empty or non-existent\n* The filter specifies which tiddlers should be included. It is optional, defaulting to `[all[tiddlers]]`\n* Plugins from the official plugin library are replaced with references to those plugins in the `tiddlywiki.info` file\n* Custom plugins are unpacked into their own folder\n\nThe following options are supported:\n\n* ''filter'': a filter expression that defines the tiddlers to include in the output.\n* ''explodePlugins'': defaults to \"yes\"\n** ''yes'' will \"explode\" plugins into separate tiddler files and save them to the plugin directory within the wiki folder\n** ''no'' will suppress exploding plugins into their constituent tiddler files. It will save the plugin as a single JSON tiddler in the tiddlers folder\n\nNote that both ''explodePlugins'' options will produce wiki folders that build the exact same original wiki. The difference lies in how plugins are represented in the wiki folder.\n\nA common usage is to convert a TiddlyWiki HTML file into a wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder\n```\n\nSave the plugin to the tiddlers directory of the target wiki folder:\n\n```\ntiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no\n```\n"},"$:/language/Help/server":{"title":"$:/language/Help/server","description":"(deprecated: see 'listen' command) Provides an HTTP server interface to TiddlyWiki","text":"Legacy command to serve a wiki over HTTP.\n\n```\n--server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>\n```\n\nThe parameters are:\n\n* ''port'' - port number on which to listen; non-numeric values are interpreted as a system environment variable from which the port number is extracted (defaults to \"8080\")\n* ''root-tiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''root-render-type'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''root-serve-type'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''path-prefix'' - optional prefix for paths\n* ''debug-level'' - optional debug level; set to \"debug\" to view request details (defaults to \"none\")\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation should only be used on a trusted network or over HTTPS.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password.\n\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nUsing an address like this exposes your system to the local network. For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port. It can be useful to use an environment variable to pass the port number to the Node.js process. This example references an environment variable called \"MY_PORT_NUMBER\":\n\n```\n--server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n"},"$:/language/Help/setfield":{"title":"$:/language/Help/setfield","description":"Prepares external tiddlers for use","text":"//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"},"$:/language/Help/unpackplugin":{"title":"$:/language/Help/unpackplugin","description":"Unpack the payload tiddlers from a plugin","text":"Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"},"$:/language/Help/verbose":{"title":"$:/language/Help/verbose","description":"Triggers verbose output mode","text":"Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"},"$:/language/Help/version":{"title":"$:/language/Help/version","description":"Displays the version number of TiddlyWiki","text":"Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"},"$:/language/Import/Editor/Import/Heading":{"title":"$:/language/Import/Editor/Import/Heading","text":"Import images and insert them into the editor."},"$:/language/Import/Imported/Hint":{"title":"$:/language/Import/Imported/Hint","text":"The following tiddlers were imported:"},"$:/language/Import/Listing/Cancel/Caption":{"title":"$:/language/Import/Listing/Cancel/Caption","text":"Cancel"},"$:/language/Import/Listing/Cancel/Warning":{"title":"$:/language/Import/Listing/Cancel/Warning","text":"Do you wish to cancel the import?"},"$:/language/Import/Listing/Hint":{"title":"$:/language/Import/Listing/Hint","text":"These tiddlers are ready to import:"},"$:/language/Import/Listing/Import/Caption":{"title":"$:/language/Import/Listing/Import/Caption","text":"Import"},"$:/language/Import/Listing/Select/Caption":{"title":"$:/language/Import/Listing/Select/Caption","text":"Select"},"$:/language/Import/Listing/Status/Caption":{"title":"$:/language/Import/Listing/Status/Caption","text":"Status"},"$:/language/Import/Listing/Title/Caption":{"title":"$:/language/Import/Listing/Title/Caption","text":"Title"},"$:/language/Import/Listing/Preview":{"title":"$:/language/Import/Listing/Preview","text":"Preview:"},"$:/language/Import/Listing/Preview/Text":{"title":"$:/language/Import/Listing/Preview/Text","text":"Text"},"$:/language/Import/Listing/Preview/TextRaw":{"title":"$:/language/Import/Listing/Preview/TextRaw","text":"Text (Raw)"},"$:/language/Import/Listing/Preview/Fields":{"title":"$:/language/Import/Listing/Preview/Fields","text":"Fields"},"$:/language/Import/Listing/Preview/Diff":{"title":"$:/language/Import/Listing/Preview/Diff","text":"Diff"},"$:/language/Import/Listing/Preview/DiffFields":{"title":"$:/language/Import/Listing/Preview/DiffFields","text":"Diff (Fields)"},"$:/language/Import/Listing/Rename/Tooltip":{"title":"$:/language/Import/Listing/Rename/Tooltip","text":"Rename tiddler before importing"},"$:/language/Import/Listing/Rename/Prompt":{"title":"$:/language/Import/Listing/Rename/Prompt","text":"Rename to:"},"$:/language/Import/Listing/Rename/ConfirmRename":{"title":"$:/language/Import/Listing/Rename/ConfirmRename","text":"Rename tiddler"},"$:/language/Import/Listing/Rename/CancelRename":{"title":"$:/language/Import/Listing/Rename/CancelRename","text":"Cancel"},"$:/language/Import/Listing/Rename/OverwriteWarning":{"title":"$:/language/Import/Listing/Rename/OverwriteWarning","text":"A tiddler with this title already exists."},"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible":{"title":"$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible","text":"Blocked incompatible or obsolete plugin."},"$:/language/Import/Upgrader/Plugins/Suppressed/Version":{"title":"$:/language/Import/Upgrader/Plugins/Suppressed/Version","text":"Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>)."},"$:/language/Import/Upgrader/Plugins/Upgraded":{"title":"$:/language/Import/Upgrader/Plugins/Upgraded","text":"Upgraded plugin from <<incoming>> to <<upgraded>>."},"$:/language/Import/Upgrader/State/Suppressed":{"title":"$:/language/Import/Upgrader/State/Suppressed","text":"Blocked temporary state tiddler."},"$:/language/Import/Upgrader/System/Disabled":{"title":"$:/language/Import/Upgrader/System/Disabled","text":"Disabled system tiddler."},"$:/language/Import/Upgrader/System/Suppressed":{"title":"$:/language/Import/Upgrader/System/Suppressed","text":"Blocked system tiddler."},"$:/language/Import/Upgrader/System/Warning":{"title":"$:/language/Import/Upgrader/System/Warning","text":"Core module tiddler."},"$:/language/Import/Upgrader/System/Alert":{"title":"$:/language/Import/Upgrader/System/Alert","text":"You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable."},"$:/language/Import/Upgrader/ThemeTweaks/Created":{"title":"$:/language/Import/Upgrader/ThemeTweaks/Created","text":"Migrated theme tweak from <$text text=<<from>>/>."},"$:/language/Import/Upgrader/Tiddler/Disabled":{"title":"$:/language/Import/Upgrader/Tiddler/Disabled","text":"Disabled tiddler."},"$:/language/Import/Upgrader/Tiddler/Selected":{"title":"$:/language/Import/Upgrader/Tiddler/Selected","text":"Selected tiddler."},"$:/language/Import/Upgrader/Tiddler/Unselected":{"title":"$:/language/Import/Upgrader/Tiddler/Unselected","text":"Unselected tiddler."},"$:/language/AboveStory/ClassicPlugin/Warning":{"title":"$:/language/AboveStory/ClassicPlugin/Warning","text":"It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|https://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"},"$:/language/BinaryWarning/Prompt":{"title":"$:/language/BinaryWarning/Prompt","text":"This tiddler contains binary data"},"$:/language/ClassicWarning/Hint":{"title":"$:/language/ClassicWarning/Hint","text":"This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See https://tiddlywiki.com/static/Upgrading.html for more details."},"$:/language/ClassicWarning/Upgrade/Caption":{"title":"$:/language/ClassicWarning/Upgrade/Caption","text":"upgrade"},"$:/language/CloseAll/Button":{"title":"$:/language/CloseAll/Button","text":"close all"},"$:/language/ColourPicker/Recent":{"title":"$:/language/ColourPicker/Recent","text":"Recent:"},"$:/language/ConfirmCancelTiddler":{"title":"$:/language/ConfirmCancelTiddler","text":"Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmDeleteTiddler":{"title":"$:/language/ConfirmDeleteTiddler","text":"Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmDeleteTiddlers":{"title":"$:/language/ConfirmDeleteTiddlers","text":"Are you sure you wish to delete <<resultCount>> tiddler(s)?"},"$:/language/ConfirmOverwriteTiddler":{"title":"$:/language/ConfirmOverwriteTiddler","text":"Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmEditShadowTiddler":{"title":"$:/language/ConfirmEditShadowTiddler","text":"You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"},"$:/language/ConfirmAction":{"title":"$:/language/ConfirmAction","text":"Do you wish to proceed?"},"$:/language/Count":{"title":"$:/language/Count","text":"count"},"$:/language/DefaultNewTiddlerTitle":{"title":"$:/language/DefaultNewTiddlerTitle","text":"New Tiddler"},"$:/language/Diffs/CountMessage":{"title":"$:/language/Diffs/CountMessage","text":"<<diff-count>> differences"},"$:/language/DropMessage":{"title":"$:/language/DropMessage","text":"Drop now (or use the 'Escape' key to cancel)"},"$:/language/Encryption/Cancel":{"title":"$:/language/Encryption/Cancel","text":"Cancel"},"$:/language/Encryption/ConfirmClearPassword":{"title":"$:/language/Encryption/ConfirmClearPassword","text":"Do you wish to clear the password? This will remove the encryption applied when saving this wiki"},"$:/language/Encryption/PromptSetPassword":{"title":"$:/language/Encryption/PromptSetPassword","text":"Set a new password for this TiddlyWiki"},"$:/language/Encryption/Username":{"title":"$:/language/Encryption/Username","text":"Username"},"$:/language/Encryption/Password":{"title":"$:/language/Encryption/Password","text":"Password"},"$:/language/Encryption/RepeatPassword":{"title":"$:/language/Encryption/RepeatPassword","text":"Repeat password"},"$:/language/Encryption/PasswordNoMatch":{"title":"$:/language/Encryption/PasswordNoMatch","text":"Passwords do not match"},"$:/language/Encryption/SetPassword":{"title":"$:/language/Encryption/SetPassword","text":"Set password"},"$:/language/Error/Caption":{"title":"$:/language/Error/Caption","text":"Error"},"$:/language/Error/DeserializeOperator/MissingOperand":{"title":"$:/language/Error/DeserializeOperator/MissingOperand","text":"Filter Error: Missing operand for 'deserialize' operator"},"$:/language/Error/DeserializeOperator/UnknownDeserializer":{"title":"$:/language/Error/DeserializeOperator/UnknownDeserializer","text":"Filter Error: Unknown deserializer provided as operand for the 'deserialize' operator"},"$:/language/Error/Filter":{"title":"$:/language/Error/Filter","text":"Filter error"},"$:/language/Error/FilterSyntax":{"title":"$:/language/Error/FilterSyntax","text":"Syntax error in filter expression"},"$:/language/Error/FilterRunPrefix":{"title":"$:/language/Error/FilterRunPrefix","text":"Filter Error: Unknown prefix for filter run"},"$:/language/Error/IsFilterOperator":{"title":"$:/language/Error/IsFilterOperator","text":"Filter Error: Unknown parameter for the 'is' filter operator"},"$:/language/Error/FormatFilterOperator":{"title":"$:/language/Error/FormatFilterOperator","text":"Filter Error: Unknown suffix for the 'format' filter operator"},"$:/language/Error/LoadingPluginLibrary":{"title":"$:/language/Error/LoadingPluginLibrary","text":"Error loading plugin library"},"$:/language/Error/NetworkErrorAlert":{"title":"$:/language/Error/NetworkErrorAlert","text":"`<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`"},"$:/language/Error/PutEditConflict":{"title":"$:/language/Error/PutEditConflict","text":"File changed on server"},"$:/language/Error/PutForbidden":{"title":"$:/language/Error/PutForbidden","text":"Permission denied"},"$:/language/Error/PutUnauthorized":{"title":"$:/language/Error/PutUnauthorized","text":"Authentication required"},"$:/language/Error/RecursiveTransclusion":{"title":"$:/language/Error/RecursiveTransclusion","text":"Recursive transclusion error in transclude widget"},"$:/language/Error/RetrievingSkinny":{"title":"$:/language/Error/RetrievingSkinny","text":"Error retrieving skinny tiddler list"},"$:/language/Error/SavingToTWEdit":{"title":"$:/language/Error/SavingToTWEdit","text":"Error saving to TWEdit"},"$:/language/Error/WhileSaving":{"title":"$:/language/Error/WhileSaving","text":"Error while saving"},"$:/language/Error/XMLHttpRequest":{"title":"$:/language/Error/XMLHttpRequest","text":"XMLHttpRequest error code"},"$:/language/Error/ZoominTextNode":{"title":"$:/language/Error/ZoominTextNode","text":"Story View Error: It appears you tried to interact with a tiddler that displays in a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the start. Please use the pragma `\\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue:"},"$:/language/InternalJavaScriptError/Title":{"title":"$:/language/InternalJavaScriptError/Title","text":"Internal JavaScript Error"},"$:/language/InternalJavaScriptError/Hint":{"title":"$:/language/InternalJavaScriptError/Hint","text":"Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"},"$:/language/LayoutSwitcher/Description":{"title":"$:/language/LayoutSwitcher/Description","text":"Open the layout switcher"},"$:/language/LazyLoadingWarning":{"title":"$:/language/LazyLoadingWarning","text":"<p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>"},"$:/language/LoginToTiddlySpace":{"title":"$:/language/LoginToTiddlySpace","text":"Login to TiddlySpace"},"$:/language/Manager/Controls/FilterByTag/None":{"title":"$:/language/Manager/Controls/FilterByTag/None","text":"(none)"},"$:/language/Manager/Controls/FilterByTag/Prompt":{"title":"$:/language/Manager/Controls/FilterByTag/Prompt","text":"Filter by tag:"},"$:/language/Manager/Controls/Order/Prompt":{"title":"$:/language/Manager/Controls/Order/Prompt","text":"Reverse order"},"$:/language/Manager/Controls/Search/Placeholder":{"title":"$:/language/Manager/Controls/Search/Placeholder","text":"Search"},"$:/language/Manager/Controls/Search/Prompt":{"title":"$:/language/Manager/Controls/Search/Prompt","text":"Search:"},"$:/language/Manager/Controls/Show/Option/Tags":{"title":"$:/language/Manager/Controls/Show/Option/Tags","text":"tags"},"$:/language/Manager/Controls/Show/Option/Tiddlers":{"title":"$:/language/Manager/Controls/Show/Option/Tiddlers","text":"tiddlers"},"$:/language/Manager/Controls/Show/Prompt":{"title":"$:/language/Manager/Controls/Show/Prompt","text":"Show:"},"$:/language/Manager/Controls/Sort/Prompt":{"title":"$:/language/Manager/Controls/Sort/Prompt","text":"Sort by:"},"$:/language/Manager/Item/Colour":{"title":"$:/language/Manager/Item/Colour","text":"Colour"},"$:/language/Manager/Item/Fields":{"title":"$:/language/Manager/Item/Fields","text":"Fields"},"$:/language/Manager/Item/Icon/None":{"title":"$:/language/Manager/Item/Icon/None","text":"(none)"},"$:/language/Manager/Item/Icon":{"title":"$:/language/Manager/Item/Icon","text":"Icon"},"$:/language/Manager/Item/RawText":{"title":"$:/language/Manager/Item/RawText","text":"Raw text"},"$:/language/Manager/Item/Tags":{"title":"$:/language/Manager/Item/Tags","text":"Tags"},"$:/language/Manager/Item/Tools":{"title":"$:/language/Manager/Item/Tools","text":"Tools"},"$:/language/Manager/Item/WikifiedText":{"title":"$:/language/Manager/Item/WikifiedText","text":"Wikified text"},"$:/language/MissingTiddler/Hint":{"title":"$:/language/MissingTiddler/Hint","text":"Missing tiddler \"<$text text=<<currentTiddler>>/>\" -- click {{||$:/core/ui/Buttons/edit}} to create"},"$:/language/No":{"title":"$:/language/No","text":"No"},"$:/language/OfficialPluginLibrary":{"title":"$:/language/OfficialPluginLibrary","text":"Official ~TiddlyWiki Plugin Library"},"$:/language/OfficialPluginLibrary/Hint":{"title":"$:/language/OfficialPluginLibrary/Hint","text":"The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."},"$:/language/PageTemplate/Description":{"title":"$:/language/PageTemplate/Description","text":"the default ~TiddlyWiki layout"},"$:/language/PageTemplate/Name":{"title":"$:/language/PageTemplate/Name","text":"Default ~PageTemplate"},"$:/language/PluginReloadWarning":{"title":"$:/language/PluginReloadWarning","text":"Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect"},"$:/language/RecentChanges/DateFormat":{"title":"$:/language/RecentChanges/DateFormat","text":"DDth MMM YYYY"},"$:/language/Shortcuts/Input/AdvancedSearch/Hint":{"title":"$:/language/Shortcuts/Input/AdvancedSearch/Hint","text":"Open the ~AdvancedSearch panel from within the sidebar search field"},"$:/language/Shortcuts/Input/Accept/Hint":{"title":"$:/language/Shortcuts/Input/Accept/Hint","text":"Accept the selected item"},"$:/language/Shortcuts/Input/AcceptVariant/Hint":{"title":"$:/language/Shortcuts/Input/AcceptVariant/Hint","text":"Accept the selected item (variant)"},"$:/language/Shortcuts/Input/Cancel/Hint":{"title":"$:/language/Shortcuts/Input/Cancel/Hint","text":"Clear the input field"},"$:/language/Shortcuts/Input/Down/Hint":{"title":"$:/language/Shortcuts/Input/Down/Hint","text":"Select the next item"},"$:/language/Shortcuts/Input/Tab-Left/Hint":{"title":"$:/language/Shortcuts/Input/Tab-Left/Hint","text":"Select the previous Tab"},"$:/language/Shortcuts/Input/Tab-Right/Hint":{"title":"$:/language/Shortcuts/Input/Tab-Right/Hint","text":"Select the next Tab"},"$:/language/Shortcuts/Input/Up/Hint":{"title":"$:/language/Shortcuts/Input/Up/Hint","text":"Select the previous item"},"$:/language/Shortcuts/SidebarLayout/Hint":{"title":"$:/language/Shortcuts/SidebarLayout/Hint","text":"Change the sidebar layout"},"$:/language/Switcher/Subtitle/theme":{"title":"$:/language/Switcher/Subtitle/theme","text":"Switch Theme"},"$:/language/Switcher/Subtitle/layout":{"title":"$:/language/Switcher/Subtitle/layout","text":"Switch Layout"},"$:/language/Switcher/Subtitle/language":{"title":"$:/language/Switcher/Subtitle/language","text":"Switch Language"},"$:/language/Switcher/Subtitle/palette":{"title":"$:/language/Switcher/Subtitle/palette","text":"Switch Palette"},"$:/language/SystemTiddler/Tooltip":{"title":"$:/language/SystemTiddler/Tooltip","text":"This is a system tiddler"},"$:/language/SystemTiddlers/Include/Prompt":{"title":"$:/language/SystemTiddlers/Include/Prompt","text":"Include system tiddlers"},"$:/language/TagManager/Colour/Heading":{"title":"$:/language/TagManager/Colour/Heading","text":"Colour"},"$:/language/TagManager/Count/Heading":{"title":"$:/language/TagManager/Count/Heading","text":"Count"},"$:/language/TagManager/Icon/Heading":{"title":"$:/language/TagManager/Icon/Heading","text":"Icon"},"$:/language/TagManager/Icons/None":{"title":"$:/language/TagManager/Icons/None","text":"None"},"$:/language/TagManager/Info/Heading":{"title":"$:/language/TagManager/Info/Heading","text":"Info"},"$:/language/TagManager/Tag/Heading":{"title":"$:/language/TagManager/Tag/Heading","text":"Tag"},"$:/language/Tiddler/DateFormat":{"title":"$:/language/Tiddler/DateFormat","text":"DDth MMM YYYY at hh12:0mmam"},"$:/language/UnsavedChangesWarning":{"title":"$:/language/UnsavedChangesWarning","text":"You have unsaved changes in TiddlyWiki"},"$:/language/Yes":{"title":"$:/language/Yes","text":"Yes"},"$:/language/Modals/Download":{"title":"$:/language/Modals/Download","subtitle":"Download changes","footer":"<$button message=\"tm-close-tiddler\">Close</$button>","help":"https://tiddlywiki.com/static/DownloadingChanges.html","text":"Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"},"$:/config/NewJournal/Title":{"title":"$:/config/NewJournal/Title","text":"DDth MMM YYYY"},"$:/config/NewJournal/Text":{"title":"$:/config/NewJournal/Text","text":""},"$:/config/NewJournal/Tags":{"title":"$:/config/NewJournal/Tags","text":"Journal\n"},"$:/language/Notifications/Save/Done":{"title":"$:/language/Notifications/Save/Done","text":"Saved wiki"},"$:/language/Notifications/Save/Starting":{"title":"$:/language/Notifications/Save/Starting","text":"Starting to save wiki"},"$:/language/Notifications/CopiedToClipboard/Succeeded":{"title":"$:/language/Notifications/CopiedToClipboard/Succeeded","text":"Copied to clipboard!"},"$:/language/Notifications/CopiedToClipboard/Failed":{"title":"$:/language/Notifications/CopiedToClipboard/Failed","text":"Failed to copy to clipboard!"},"$:/language/Search/DefaultResults/Caption":{"title":"$:/language/Search/DefaultResults/Caption","text":"List"},"$:/language/Search/Filter/Caption":{"title":"$:/language/Search/Filter/Caption","text":"Filter"},"$:/language/Search/Filter/Hint":{"title":"$:/language/Search/Filter/Hint","text":"Search via a [[filter expression|https://tiddlywiki.com/static/Filters.html]]"},"$:/language/Search/Filter/Matches":{"title":"$:/language/Search/Filter/Matches","text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Matches":{"title":"$:/language/Search/Matches","text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Matches/All":{"title":"$:/language/Search/Matches/All","text":"All matches:"},"$:/language/Search/Matches/Title":{"title":"$:/language/Search/Matches/Title","text":"Title matches:"},"$:/language/Search/Search":{"title":"$:/language/Search/Search","text":"Search"},"$:/language/Search/Search/TooShort":{"title":"$:/language/Search/Search/TooShort","text":"Search text too short"},"$:/language/Search/Shadows/Caption":{"title":"$:/language/Search/Shadows/Caption","text":"Shadows"},"$:/language/Search/Shadows/Hint":{"title":"$:/language/Search/Shadows/Hint","text":"Search for shadow tiddlers"},"$:/language/Search/Shadows/Matches":{"title":"$:/language/Search/Shadows/Matches","text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/Standard/Caption":{"title":"$:/language/Search/Standard/Caption","text":"Standard"},"$:/language/Search/Standard/Hint":{"title":"$:/language/Search/Standard/Hint","text":"Search for standard tiddlers"},"$:/language/Search/Standard/Matches":{"title":"$:/language/Search/Standard/Matches","text":"//<small><<resultCount>> matches</small>//"},"$:/language/Search/System/Caption":{"title":"$:/language/Search/System/Caption","text":"System"},"$:/language/Search/System/Hint":{"title":"$:/language/Search/System/Hint","text":"Search for system tiddlers"},"$:/language/Search/System/Matches":{"title":"$:/language/Search/System/Matches","text":"//<small><<resultCount>> matches</small>//"},"$:/language/SideBar/Caption":{"title":"$:/language/SideBar/Caption","text":"Sidebar"},"$:/language/SideBar/All/Caption":{"title":"$:/language/SideBar/All/Caption","text":"All"},"$:/language/SideBar/Contents/Caption":{"title":"$:/language/SideBar/Contents/Caption","text":"Contents"},"$:/language/SideBar/Drafts/Caption":{"title":"$:/language/SideBar/Drafts/Caption","text":"Drafts"},"$:/language/SideBar/Explorer/Caption":{"title":"$:/language/SideBar/Explorer/Caption","text":"Explorer"},"$:/language/SideBar/Missing/Caption":{"title":"$:/language/SideBar/Missing/Caption","text":"Missing"},"$:/language/SideBar/More/Caption":{"title":"$:/language/SideBar/More/Caption","text":"More"},"$:/language/SideBar/Open/Caption":{"title":"$:/language/SideBar/Open/Caption","text":"Open"},"$:/language/SideBar/Orphans/Caption":{"title":"$:/language/SideBar/Orphans/Caption","text":"Orphans"},"$:/language/SideBar/Recent/Caption":{"title":"$:/language/SideBar/Recent/Caption","text":"Recent"},"$:/language/SideBar/Shadows/Caption":{"title":"$:/language/SideBar/Shadows/Caption","text":"Shadows"},"$:/language/SideBar/System/Caption":{"title":"$:/language/SideBar/System/Caption","text":"System"},"$:/language/SideBar/Tags/Caption":{"title":"$:/language/SideBar/Tags/Caption","text":"Tags"},"$:/language/SideBar/Tags/Untagged/Caption":{"title":"$:/language/SideBar/Tags/Untagged/Caption","text":"untagged"},"$:/language/SideBar/Tools/Caption":{"title":"$:/language/SideBar/Tools/Caption","text":"Tools"},"$:/language/SideBar/Types/Caption":{"title":"$:/language/SideBar/Types/Caption","text":"Types"},"$:/SiteSubtitle":{"title":"$:/SiteSubtitle","text":"a non-linear personal web notebook"},"$:/SiteTitle":{"title":"$:/SiteTitle","text":"My TiddlyWiki"},"$:/language/Snippets/ListByTag":{"title":"$:/language/Snippets/ListByTag","tags":"$:/tags/TextEditor/Snippet","caption":"List of tiddlers by tag","text":"<<list-links \"[tag[task]sort[title]]\">>\n"},"$:/language/Snippets/MacroDefinition":{"title":"$:/language/Snippets/MacroDefinition","tags":"$:/tags/TextEditor/Snippet","caption":"Macro definition","text":"\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"},"$:/language/Snippets/Table4x3":{"title":"$:/language/Snippets/Table4x3","tags":"$:/tags/TextEditor/Snippet","caption":"Table with 4 columns by 3 rows","text":"|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"},"$:/language/Snippets/TableOfContents":{"title":"$:/language/Snippets/TableOfContents","tags":"$:/tags/TextEditor/Snippet","caption":"Table of Contents","text":"<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"},"$:/language/ThemeTweaks/ThemeTweaks":{"title":"$:/language/ThemeTweaks/ThemeTweaks","text":"Theme Tweaks"},"$:/language/ThemeTweaks/ThemeTweaks/Hint":{"title":"$:/language/ThemeTweaks/ThemeTweaks/Hint","text":"You can tweak certain aspects of the ''Vanilla'' theme."},"$:/language/ThemeTweaks/Options":{"title":"$:/language/ThemeTweaks/Options","text":"Options"},"$:/language/ThemeTweaks/Options/SidebarLayout":{"title":"$:/language/ThemeTweaks/Options/SidebarLayout","text":"Sidebar layout"},"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid":{"title":"$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid","text":"Fixed story, fluid sidebar"},"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed":{"title":"$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed","text":"Fluid story, fixed sidebar"},"$:/language/ThemeTweaks/Options/StickyTitles":{"title":"$:/language/ThemeTweaks/Options/StickyTitles","text":"Sticky titles"},"$:/language/ThemeTweaks/Options/StickyTitles/Hint":{"title":"$:/language/ThemeTweaks/Options/StickyTitles/Hint","text":"Causes tiddler titles to \"stick\" to the top of the browser window"},"$:/language/ThemeTweaks/Options/CodeWrapping":{"title":"$:/language/ThemeTweaks/Options/CodeWrapping","text":"Wrap long lines in code blocks"},"$:/language/ThemeTweaks/Settings":{"title":"$:/language/ThemeTweaks/Settings","text":"Settings"},"$:/language/ThemeTweaks/Settings/FontFamily":{"title":"$:/language/ThemeTweaks/Settings/FontFamily","text":"Font family"},"$:/language/ThemeTweaks/Settings/CodeFontFamily":{"title":"$:/language/ThemeTweaks/Settings/CodeFontFamily","text":"Code font family"},"$:/language/ThemeTweaks/Settings/EditorFontFamily":{"title":"$:/language/ThemeTweaks/Settings/EditorFontFamily","text":"Editor font family"},"$:/language/ThemeTweaks/Settings/BackgroundImage":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImage","text":"Page background image"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment","text":"Page background image attachment"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll","text":"Scroll with tiddlers"},"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed","text":"Fixed to window"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageSize","text":"Page background image size"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto","text":"Auto"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover","text":"Cover"},"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain":{"title":"$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain","text":"Contain"},"$:/language/ThemeTweaks/Metrics":{"title":"$:/language/ThemeTweaks/Metrics","text":"Sizes"},"$:/language/ThemeTweaks/Metrics/FontSize":{"title":"$:/language/ThemeTweaks/Metrics/FontSize","text":"Font size"},"$:/language/ThemeTweaks/Metrics/LineHeight":{"title":"$:/language/ThemeTweaks/Metrics/LineHeight","text":"Line height"},"$:/language/ThemeTweaks/Metrics/BodyFontSize":{"title":"$:/language/ThemeTweaks/Metrics/BodyFontSize","text":"Font size for tiddler body"},"$:/language/ThemeTweaks/Metrics/BodyLineHeight":{"title":"$:/language/ThemeTweaks/Metrics/BodyLineHeight","text":"Line height for tiddler body"},"$:/language/ThemeTweaks/Metrics/StoryLeft":{"title":"$:/language/ThemeTweaks/Metrics/StoryLeft","text":"Story left position"},"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint":{"title":"$:/language/ThemeTweaks/Metrics/StoryLeft/Hint","text":"how far the left margin of the story river<br>(tiddler area) is from the left of the page"},"$:/language/ThemeTweaks/Metrics/StoryTop":{"title":"$:/language/ThemeTweaks/Metrics/StoryTop","text":"Story top position"},"$:/language/ThemeTweaks/Metrics/StoryTop/Hint":{"title":"$:/language/ThemeTweaks/Metrics/StoryTop/Hint","text":"how far the top margin of the story river<br>is from the top of the page"},"$:/language/ThemeTweaks/Metrics/StoryRight":{"title":"$:/language/ThemeTweaks/Metrics/StoryRight","text":"Story right"},"$:/language/ThemeTweaks/Metrics/StoryRight/Hint":{"title":"$:/language/ThemeTweaks/Metrics/StoryRight/Hint","text":"how far the left margin of the sidebar <br>is from the left of the page"},"$:/language/ThemeTweaks/Metrics/StoryWidth":{"title":"$:/language/ThemeTweaks/Metrics/StoryWidth","text":"Story width"},"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint":{"title":"$:/language/ThemeTweaks/Metrics/StoryWidth/Hint","text":"the overall width of the story river"},"$:/language/ThemeTweaks/Metrics/TiddlerWidth":{"title":"$:/language/ThemeTweaks/Metrics/TiddlerWidth","text":"Tiddler width"},"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint":{"title":"$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint","text":"within the story river"},"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint":{"title":"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint","text":"Sidebar breakpoint"},"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint":{"title":"$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint","text":"the minimum page width at which the story<br>river and sidebar will appear side by side"},"$:/language/ThemeTweaks/Metrics/SidebarWidth":{"title":"$:/language/ThemeTweaks/Metrics/SidebarWidth","text":"Sidebar width"},"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint":{"title":"$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint","text":"the width of the sidebar in fluid-fixed layout"},"$:/language/TiddlerInfo/Advanced/Caption":{"title":"$:/language/TiddlerInfo/Advanced/Caption","text":"Advanced"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint":{"title":"$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint","text":"none"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading":{"title":"$:/language/TiddlerInfo/Advanced/PluginInfo/Heading","text":"Plugin Details"},"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint":{"title":"$:/language/TiddlerInfo/Advanced/PluginInfo/Hint","text":"This plugin contains the following shadow tiddlers:"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading":{"title":"$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading","text":"Shadow Status"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint":{"title":"$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint","text":"The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint":{"title":"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint","text":"The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source":{"title":"$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source","text":"It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"},"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint":{"title":"$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint","text":"It is overridden by an ordinary tiddler"},"$:/language/TiddlerInfo/Fields/Caption":{"title":"$:/language/TiddlerInfo/Fields/Caption","text":"Fields"},"$:/language/TiddlerInfo/List/Caption":{"title":"$:/language/TiddlerInfo/List/Caption","text":"List"},"$:/language/TiddlerInfo/List/Empty":{"title":"$:/language/TiddlerInfo/List/Empty","text":"This tiddler does not have a list"},"$:/language/TiddlerInfo/Listed/Caption":{"title":"$:/language/TiddlerInfo/Listed/Caption","text":"Listed"},"$:/language/TiddlerInfo/Listed/Empty":{"title":"$:/language/TiddlerInfo/Listed/Empty","text":"This tiddler is not listed by any others"},"$:/language/TiddlerInfo/References/Caption":{"title":"$:/language/TiddlerInfo/References/Caption","text":"Backlinks"},"$:/language/TiddlerInfo/References/Empty":{"title":"$:/language/TiddlerInfo/References/Empty","text":"No tiddlers link to this one"},"$:/language/TiddlerInfo/Tagging/Caption":{"title":"$:/language/TiddlerInfo/Tagging/Caption","text":"Tagging"},"$:/language/TiddlerInfo/Tagging/Empty":{"title":"$:/language/TiddlerInfo/Tagging/Empty","text":"No tiddlers are tagged with this one"},"$:/language/TiddlerInfo/Tools/Caption":{"title":"$:/language/TiddlerInfo/Tools/Caption","text":"Tools"},"$:/language/Docs/Types/application/javascript":{"title":"$:/language/Docs/Types/application/javascript","description":"JavaScript code","name":"application/javascript","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/application/json":{"title":"$:/language/Docs/Types/application/json","description":"JSON data","name":"application/json","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/application/x-tiddler-dictionary":{"title":"$:/language/Docs/Types/application/x-tiddler-dictionary","description":"Data dictionary","name":"application/x-tiddler-dictionary","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/image/gif":{"title":"$:/language/Docs/Types/image/gif","description":"GIF image","name":"image/gif","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/jpeg":{"title":"$:/language/Docs/Types/image/jpeg","description":"JPEG image","name":"image/jpeg","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/png":{"title":"$:/language/Docs/Types/image/png","description":"PNG image","name":"image/png","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/svg+xml":{"title":"$:/language/Docs/Types/image/svg+xml","description":"SVG image","name":"image/svg+xml","group":"Image","group-sort":"1"},"$:/language/Docs/Types/image/x-icon":{"title":"$:/language/Docs/Types/image/x-icon","description":"ICO icon","name":"image/x-icon","group":"Image","group-sort":"1"},"$:/language/Docs/Types/text/css":{"title":"$:/language/Docs/Types/text/css","description":"Static stylesheet","name":"text/css","group":"Developer","group-sort":"2"},"$:/language/Docs/Types/text/html":{"title":"$:/language/Docs/Types/text/html","description":"HTML markup","name":"text/html","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/plain":{"title":"$:/language/Docs/Types/text/plain","description":"Plain text","name":"text/plain","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/vnd.tiddlywiki":{"title":"$:/language/Docs/Types/text/vnd.tiddlywiki","description":"TiddlyWiki 5","name":"text/vnd.tiddlywiki","group":"Text","group-sort":"0"},"$:/language/Docs/Types/text/x-tiddlywiki":{"title":"$:/language/Docs/Types/text/x-tiddlywiki","description":"TiddlyWiki Classic","name":"text/x-tiddlywiki","group":"Text","group-sort":"0"},"$:/languages/en-GB/icon":{"title":"$:/languages/en-GB/icon","type":"image/svg+xml","text":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"},"$:/languages/en-GB":{"title":"$:/languages/en-GB","name":"en-GB","description":"English (British)","author":"JeremyRuston","core-version":">=5.0.0\"","text":"Stub pseudo-plugin for the default language"},"$:/core/modules/commander.js":{"title":"$:/core/modules/commander.js","text":"/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nLog a string if verbose flag is set\n*/\nCommander.prototype.log = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str + \"\\n\");\n\t}\n};\n\n/*\nWrite a string if verbose flag is set\n*/\nCommander.prototype.write = function(str) {\n\tif(this.verbose) {\n\t\tthis.streams.output.write(str);\n\t}\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\t// Parse named parameters if required\n\t\t\t\tif(command.info.namedParameterMode) {\n\t\t\t\t\tparams = this.extractNamedParameters(params,command.info.mandatoryParameters);\n\t\t\t\t\tif(typeof params === \"string\") {\n\t\t\t\t\t\treturn this.callback(params);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nGiven an array of parameter strings `params` in name:value format, and an array of mandatory parameter names in `mandatoryParameters`, returns a hashmap of values or a string if error\n*/\nCommander.prototype.extractNamedParameters = function(params,mandatoryParameters) {\n\tmandatoryParameters = mandatoryParameters || [];\n\tvar errors = [],\n\t\tparamsByName = Object.create(null);\n\t// Extract the parameters\n\t$tw.utils.each(params,function(param) {\n\t\tvar index = param.indexOf(\"=\");\n\t\tif(index < 1) {\n\t\t\terrors.push(\"malformed named parameter: '\" + param + \"'\");\n\t\t}\n\t\tparamsByName[param.slice(0,index)] = $tw.utils.trim(param.slice(index+1));\n\t});\n\t// Check the mandatory parameters are present\n\t$tw.utils.each(mandatoryParameters,function(mandatoryParameter) {\n\t\tif(!$tw.utils.hop(paramsByName,mandatoryParameter)) {\n\t\t\terrors.push(\"missing mandatory parameter: '\" + mandatoryParameter + \"'\");\n\t\t}\n\t});\n\t// Return any errors\n\tif(errors.length > 0) {\n\t\treturn errors.join(\" and\\n\");\n\t} else {\n\t\treturn paramsByName;\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/commands/build.js":{"title":"$:/core/modules/commands/build.js","text":"/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/clearpassword.js":{"title":"$:/core/modules/commands/clearpassword.js","text":"/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/commands.js":{"title":"$:/core/modules/commands/commands.js","text":"/*\\\ntitle: $:/core/modules/commands/commands.js\ntype: application/javascript\nmodule-type: command\n\nRuns the commands returned from a filter\n\n\\*/\n\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"commands\",\n\tsynchronous: true\n};\n\nvar Command = function(params, commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Parse the filter\n\tvar filter = this.params[0];\n\tif(!filter) {\n\t\treturn \"No filter specified\";\n\t}\n\tvar commands = this.commander.wiki.filterTiddlers(filter)\n\tif(commands.length === 0) {\n\t\treturn \"No tiddlers found for filter '\" + filter + \"'\";\n\t}\n\tthis.commander.addCommandTokens(commands);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/deletetiddlers.js":{"title":"$:/core/modules/commands/deletetiddlers.js","text":"/*\\\ntitle: $:/core/modules/commands/deletetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to delete tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"deletetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filter\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\twiki.deleteTiddler(title);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/editions.js":{"title":"$:/core/modules/commands/editions.js","text":"/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\" \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/fetch.js":{"title":"$:/core/modules/commands/fetch.js","text":"/*\\\ntitle: $:/core/modules/commands/fetch.js\ntype: application/javascript\nmodule-type: command\n\nCommands to fetch external tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"fetch\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing subcommand and url\";\n\t}\n\tswitch(this.params[0]) {\n\t\tcase \"raw-file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turl: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"file\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turl: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"raw-files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\traw: true,\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\ttransformFilter: this.params[2] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"files\":\n\t\t\treturn this.fetchFiles({\n\t\t\t\turlFilter: this.params[1],\n\t\t\t\timportFilter: this.params[2],\n\t\t\t\ttransformFilter: this.params[3] || \"\",\n\t\t\t\tcallback: this.callback\n\t\t\t});\n\t\t\tbreak;\n\t}\n\treturn null;\n};\n\nCommand.prototype.fetchFiles = function(options) {\n\tvar self = this;\n\t// Get the list of URLs\n\tvar urls;\n\tif(options.url) {\n\t\turls = [options.url]\n\t} else if(options.urlFilter) {\n\t\turls = this.commander.wiki.filterTiddlers(options.urlFilter);\n\t} else {\n\t\treturn \"Missing URL\";\n\t}\n\t// Process each URL in turn\n\tvar next = 0;\n\tvar getNextFile = function(err) {\n\t\tif(err) {\n\t\t\treturn options.callback(err);\n\t\t}\n\t\tif(next < urls.length) {\n\t\t\tself.fetchFile(urls[next++],options,getNextFile);\n\t\t} else {\n\t\t\toptions.callback(null);\n\t\t}\n\t};\n\tgetNextFile(null);\n\t// Success\n\treturn null;\n};\n\nCommand.prototype.fetchFile = function(url,options,callback,redirectCount) {\n\tif(redirectCount > 10) {\n\t\treturn callback(\"Error too many redirects retrieving \" + url);\n\t}\n\tvar self = this,\n\t\tlib = url.substr(0,8) === \"https://\" ? require(\"https\") : require(\"http\");\n\tlib.get(url).on(\"response\",function(response) {\n\t var type = (response.headers[\"content-type\"] || \"\").split(\";\")[0],\n\t \tdata = [];\n\t self.commander.write(\"Reading \" + url + \": \");\n\t response.on(\"data\",function(chunk) {\n\t data.push(chunk);\n\t self.commander.write(\".\");\n\t });\n\t response.on(\"end\",function() {\n\t self.commander.write(\"\\n\");\n\t if(response.statusCode === 200) {\n\t\t self.processBody(Buffer.concat(data),type,options,url);\n\t\t callback(null);\n\t } else {\n\t \tif(response.statusCode === 302 || response.statusCode === 303 || response.statusCode === 307) {\n\t \t\treturn self.fetchFile(response.headers.location,options,callback,redirectCount + 1);\n\t \t} else {\n\t\t \treturn callback(\"Error \" + response.statusCode + \" retrieving \" + url)\n\t \t}\n\t }\n\t \t});\n\t \tresponse.on(\"error\",function(e) {\n\t\t\tconsole.log(\"Error on GET request: \" + e);\n\t\t\tcallback(e);\n\t \t});\n\t});\n\treturn null;\n};\n\nCommand.prototype.processBody = function(body,type,options,url) {\n\tvar self = this;\n\t// Collect the tiddlers in a wiki\n\tvar incomingWiki = new $tw.Wiki();\n\tif(options.raw) {\n\t\tvar typeInfo = type ? $tw.config.contentTypeInfo[type] : null,\n\t\t\tencoding = typeInfo ? typeInfo.encoding : \"utf8\";\n\t\tincomingWiki.addTiddler(new $tw.Tiddler({\n\t\t\ttitle: url,\n\t\t\ttype: type,\n\t\t\ttext: body.toString(encoding)\n\t\t}));\n\t} else {\n\t\t// Deserialise the file to extract the tiddlers\n\t\tvar tiddlers = this.commander.wiki.deserializeTiddlers(type || \"text/html\",body.toString(\"utf8\"),{});\n\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\tincomingWiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t});\n\t}\n\t// Filter the tiddlers to select the ones we want\n\tvar filteredTitles = incomingWiki.filterTiddlers(options.importFilter || \"[all[tiddlers]]\");\n\t// Import the selected tiddlers\n\tvar count = 0;\n\tincomingWiki.each(function(tiddler,title) {\n\t\tif(filteredTitles.indexOf(title) !== -1) {\n\t\t\tvar newTiddler;\n\t\t\tif(options.transformFilter) {\n\t\t\t\tvar transformedTitle = (incomingWiki.filterTiddlers(options.transformFilter,null,self.commander.wiki.makeTiddlerIterator([title])) || [\"\"])[0];\n\t\t\t\tif(transformedTitle) {\n\t\t\t\t\tself.commander.log(\"Importing \" + title + \" as \" + transformedTitle)\n\t\t\t\t\tnewTiddler = new $tw.Tiddler(tiddler,{title: transformedTitle});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tself.commander.log(\"Importing \" + title)\n\t\t\t\tnewTiddler = tiddler;\n\t\t\t}\n\t\t\tself.commander.wiki.importTiddler(newTiddler);\n\t\t\tcount++;\n\t\t}\n\t});\n\tself.commander.log(\"Imported \" + count + \" tiddlers\")\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/help.js":{"title":"$:/core/modules/commands/help.js","text":"/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/import.js":{"title":"$:/core/modules/commands/import.js","text":"/*\\\ntitle: $:/core/modules/commands/import.js\ntype: application/javascript\nmodule-type: command\n\nCommand to import tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"import\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 2) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar filename = self.params[0],\n\t\tdeserializer = self.params[1],\n\t\ttitle = self.params[2] || filename,\n\t\tencoding = self.params[3] || \"utf8\",\n\t\ttext = fs.readFileSync(filename,encoding),\n\t\ttiddlers = this.commander.wiki.deserializeTiddlers(null,text,{title: title},{deserializer: deserializer});\n\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t});\n\tthis.commander.log(tiddlers.length + \" tiddler(s) imported\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/init.js":{"title":"$:/core/modules/commands/init.js","text":"/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = $tw.utils.parseJSONSafe(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/listen.js":{"title":"$:/core/modules/commands/listen.js","text":"/*\\\ntitle: $:/core/modules/commands/listen.js\ntype: application/javascript\nmodule-type: command\n\nListen for HTTP requests and serve tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"listen\",\n\tsynchronous: true,\n\tnamedParameterMode: true,\n\tmandatoryParameters: []\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: self.params\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/load.js":{"title":"$:/core/modules/commands/load.js","text":"/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file or directory\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar tiddlers = $tw.loadTiddlersFromPath(self.params[0]),\n\t\tcount = 0;\n\t$tw.utils.each(tiddlers,function(tiddlerInfo) {\n\t\t$tw.utils.each(tiddlerInfo.tiddlers,function(tiddler) {\n\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddler));\n\t\t\tcount++;\n\t\t});\n\t});\n\tif(!count && self.params[1] !== \"noerror\") {\n\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t} else {\n\t\tself.callback(null);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/makelibrary.js":{"title":"$:/core/modules/commands/makelibrary.js","text":"/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = $tw.utils.getSubdirectories(folder) || [];\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),collectPublisherPlugins);\n\t$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),collectPlugins);\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers})\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/output.js":{"title":"$:/core/modules/commands/output.js","text":"/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/password.js":{"title":"$:/core/modules/commands/password.js","text":"/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/render.js":{"title":"$:/core/modules/commands/render.js","text":"/*\\\ntitle: $:/core/modules/commands/render.js\ntype: application/javascript\nmodule-type: command\n\nRender individual tiddlers and save the results to the specified files\n\n\\*/\n(function(){\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\t\"use strict\";\n\t\n\tvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\t\n\texports.info = {\n\t\tname: \"render\",\n\t\tsynchronous: true\n\t};\n\t\n\tvar Command = function(params,commander,callback) {\n\t\tthis.params = params;\n\t\tthis.commander = commander;\n\t\tthis.callback = callback;\n\t};\n\t\n\tCommand.prototype.execute = function() {\n\t\tif(this.params.length < 1) {\n\t\t\treturn \"Missing tiddler filter\";\n\t\t}\n\t\tvar self = this,\n\t\t\tfs = require(\"fs\"),\n\t\t\tpath = require(\"path\"),\n\t\t\twiki = this.commander.wiki,\n\t\t\ttiddlerFilter = this.params[0],\n\t\t\tfilenameFilter = this.params[1] || \"[is[tiddler]addsuffix[.html]]\",\n\t\t\ttype = this.params[2] || \"text/html\",\n\t\t\ttemplate = this.params[3],\n\t\t\tvariableList = this.params.slice(4),\n\t\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter),\n\t\t\tvariables = Object.create(null);\n\t\t\twhile(variableList.length >= 2) {\n\t\t\t\tvariables[variableList[0]] = variableList[1];\n\t\t\t\tvariableList = variableList.slice(2);\n\t\t\t}\n\t\t$tw.utils.each(tiddlers,function(title) {\n\t\t\tvar filepath = path.resolve(self.commander.outputPath,wiki.filterTiddlers(filenameFilter,$tw.rootWidget,wiki.makeTiddlerIterator([title]))[0]);\n\t\t\tif(self.commander.verbose) {\n\t\t\t\tconsole.log(\"Rendering \\\"\" + title + \"\\\" to \\\"\" + filepath + \"\\\"\");\n\t\t\t}\n\t\t\tvar parser = wiki.parseTiddler(template || title),\n\t\t\t\twidgetNode = wiki.makeWidget(parser,{variables: $tw.utils.extend({},variables,{currentTiddler: title,storyTiddler: title})}),\n\t\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t\t$tw.utils.createFileDirectories(filepath);\n\t\t\tfs.writeFileSync(filepath,text,\"utf8\");\n\t\t});\n\t\treturn null;\n\t};\n\t\n\texports.Command = Command;\n\t\n\t})();\n\t","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/rendertiddler.js":{"title":"$:/core/modules/commands/rendertiddler.js","text":"/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tname = this.params[4],\n\t\tvalue = this.params[5],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\tvariables.storyTiddler = title;\n\t\ttitle = template;\n\t}\n\tif(name && value) {\n\t\tvariables[name] = value;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/rendertiddlers.js":{"title":"$:/core/modules/commands/rendertiddlers.js","text":"/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\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\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title, storyTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,$tw.utils.encodeURIComponentExtended(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/save.js":{"title":"$:/core/modules/commands/save.js","text":"/*\\\ntitle: $:/core/modules/commands/save.js\ntype: application/javascript\nmodule-type: command\n\nSaves individual tiddlers in their raw text or binary format to the specified files\n\n\\*/\n(function(){\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\t\"use strict\";\n\t\n\texports.info = {\n\t\tname: \"save\",\n\t\tsynchronous: true\n\t};\n\t\n\tvar Command = function(params,commander,callback) {\n\t\tthis.params = params;\n\t\tthis.commander = commander;\n\t\tthis.callback = callback;\n\t};\n\t\n\tCommand.prototype.execute = function() {\n\t\tif(this.params.length < 1) {\n\t\t\treturn \"Missing filename filter\";\n\t\t}\n\t\tvar self = this,\n\t\t\tfs = require(\"fs\"),\n\t\t\tpath = require(\"path\"),\n\t\t\tresult = null,\n\t\t\twiki = this.commander.wiki,\n\t\t\ttiddlerFilter = this.params[0],\n\t\t\tfilenameFilter = this.params[1] || \"[is[tiddler]]\",\n\t\t\ttiddlers = wiki.filterTiddlers(tiddlerFilter);\n\t\t$tw.utils.each(tiddlers,function(title) {\n\t\t\tif(!result) {\n\t\t\t\tvar tiddler = self.commander.wiki.getTiddler(title);\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\t\t\t\t\tdirectory: path.resolve(self.commander.outputPath),\n\t\t\t\t\t\tpathFilters: [filenameFilter],\n\t\t\t\t\t\twiki: wiki,\n\t\t\t\t\t\tfileInfo: {\n\t\t\t\t\t\t\toverwrite: true\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tif(self.commander.verbose) {\n\t\t\t\t\t\tconsole.log(\"Saving \\\"\" + title + \"\\\" to \\\"\" + fileInfo.filepath + \"\\\"\");\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tresult = \"Error saving tiddler \\\"\" + title + \"\\\", to file: \\\"\" + fileInfo.filepath + \"\\\"\";\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult = \"Tiddler '\" + title + \"' not found\";\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t};\n\t\n\texports.Command = Command;\n\t\n\t})();\n\t","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savelibrarytiddlers.js":{"title":"$:/core/modules/commands/savelibrarytiddlers.js","text":"/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <tiddler-filter> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe tiddler filter specifies the plugins to be included.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + $tw.utils.encodeURIComponentExtended(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = $tw.utils.parseJSONSafe(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\tdoesRequireReload = !!self.commander.wiki.doesPluginInfoRequireReload(pluginTiddlers),\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{\n\t\t\ttext: undefined,\n\t\t\treadme: readmeContent,\n\t\t\t\"requires-reload\": doesRequireReload ? \"yes\" : \"no\",\n\t\t\ticon: iconContent\n\t\t}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savetiddler.js":{"title":"$:/core/modules/commands/savetiddler.js","text":"/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savetiddlers.js":{"title":"$:/core/modules/commands/savetiddlers.js","text":"/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\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\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,$tw.utils.encodeURIComponentExtended(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text || \"\",contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/savewikifolder.js":{"title":"$:/core/modules/commands/savewikifolder.js","text":"/*\\\ntitle: $:/core/modules/commands/savewikifolder.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the current wiki as a wiki folder\n\n--savewikifolder <wikifolderpath> [ [<name>=<value>] ]*\n\nThe following options are supported:\n\n* ''filter'': a filter expression defining the tiddlers to be included in the output\n* ''explodePlugins'': set to \"no\" to suppress exploding plugins into their constituent shadow tiddlers (defaults to \"yes\")\n\nSupports backward compatibility with --savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savewikifolder\",\n\tsynchronous: true\n};\n\nvar fs,path;\nif($tw.node) {\n\tfs = require(\"fs\");\n\tpath = require(\"path\");\n}\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing wiki folder path\";\n\t}\n\tvar regFilter = /^[a-zA-Z0-9\\.\\-_]+=/g, // dynamic parameters\n\t\tnamedParames,\n\t\ttiddlerFilter,\n\t\toptions = {};\n\tif (regFilter.test(this.params[1])) { \n\t\tnamedParames = this.commander.extractNamedParameters(this.params.slice(1));\n\t\ttiddlerFilter = namedParames.filter || \"[all[tiddlers]]\";\n\t} else {\n\t\tnamedParames = this.commander.extractNamedParameters(this.params.slice(2));\n\t\ttiddlerFilter = this.params[1];\n\t}\n\ttiddlerFilter = tiddlerFilter || \"[all[tiddlers]]\";\n\toptions.explodePlugins = namedParames.explodePlugins || \"yes\";\n\tvar wikifoldermaker = new WikiFolderMaker(this.params[0],tiddlerFilter,this.commander,options);\n\treturn wikifoldermaker.save();\n};\n\nfunction WikiFolderMaker(wikiFolderPath,wikiFilter,commander,options) {\n\tthis.wikiFolderPath = wikiFolderPath;\n\tthis.wikiFilter = wikiFilter;\n\tthis.commander = commander;\n\tthis.explodePlugins = options.explodePlugins;\n\tthis.wiki = commander.wiki;\n\tthis.savedPaths = []; // So that we can detect filename clashes\n}\n\nWikiFolderMaker.prototype.log = function(str) {\n\tif(this.commander.verbose) {\n\t\tconsole.log(str);\n\t}\n};\n\nWikiFolderMaker.prototype.tiddlersToIgnore = [\n\t\"$:/boot/boot.css\",\n\t\"$:/boot/boot.js\",\n\t\"$:/boot/bootprefix.js\",\n\t\"$:/core\",\n\t\"$:/library/sjcl.js\",\n\t\"$:/temp/info-plugin\"\n];\n\n/*\nReturns null if successful, or an error string if there was an error\n*/\nWikiFolderMaker.prototype.save = function() {\n\tvar self = this;\n\t// Check that the output directory doesn't exist\n\tif(fs.existsSync(this.wikiFolderPath) && !$tw.utils.isDirectoryEmpty(this.wikiFolderPath)) {\n\t\treturn \"The unpackwiki command requires that the output wiki folder be empty\";\n\t}\n\t// Get the tiddlers from the source wiki\n\tvar tiddlerTitles = this.wiki.filterTiddlers(this.wikiFilter);\n\t// Initialise a new tiddlwiki.info file\n\tvar newWikiInfo = {};\n\t// Process each incoming tiddler in turn\n\t$tw.utils.each(tiddlerTitles,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tif(self.tiddlersToIgnore.indexOf(title) !== -1) {\n\t\t\t\t// Ignore the core plugin and the ephemeral info plugin\n\t\t\t\tself.log(\"Ignoring tiddler: \" + title);\n\t\t\t} else {\n\t\t\t\tvar type = tiddler.fields.type,\n\t\t\t\t\tpluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif(type === \"application/json\" && pluginType) {\n\t\t\t\t\t// Plugin tiddler\n\t\t\t\t\tvar libraryDetails = self.findPluginInLibrary(title);\n\t\t\t\t\tif(libraryDetails) {\n\t\t\t\t\t\t// A plugin from the core library\n\t\t\t\t\t\tself.log(\"Adding built-in plugin: \" + libraryDetails.name);\n\t\t\t\t\t\tnewWikiInfo[libraryDetails.type] = newWikiInfo[libraryDetails.type] || [];\n\t\t\t\t\t\t$tw.utils.pushTop(newWikiInfo[libraryDetails.type],libraryDetails.name);\n\t\t\t\t\t} else if(self.explodePlugins !== \"no\") {\n\t\t\t\t\t\t// A custom plugin\n\t\t\t\t\t\tself.log(\"Processing custom plugin: \" + title);\n\t\t\t\t\t\tself.saveCustomPlugin(tiddler);\n\t\t\t\t\t} else if(self.explodePlugins === \"no\") {\n\t\t\t\t\t\tself.log(\"Processing custom plugin to tiddlders folder: \" + title);\n\t\t\t\t\t\tself.saveTiddler(\"tiddlers\", tiddler);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Ordinary tiddler\n\t\t\t\t\tself.saveTiddler(\"tiddlers\",tiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Save the tiddlywiki.info file\n\tthis.saveJSONFile(\"tiddlywiki.info\",newWikiInfo);\n\tself.log(\"Writing tiddlywiki.info: \" + JSON.stringify(newWikiInfo,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\n/*\nTest whether the specified tiddler is a plugin in the plugin library\n*/\nWikiFolderMaker.prototype.findPluginInLibrary = function(title) {\n\tvar parts = title.split(\"/\"),\n\t\tpluginPath, type, name;\n\tif(parts[0] === \"$:\") {\n\t\tif(parts[1] === \"languages\" && parts.length === 3) {\n\t\t\tpluginPath = \"languages\" + path.sep + parts[2];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2];\n\t\t} else if(parts[1] === \"plugins\" || parts[1] === \"themes\" && parts.length === 4) {\n\t\t\tpluginPath = parts[1] + path.sep + parts[2] + path.sep + parts[3];\n\t\t\ttype = parts[1];\n\t\t\tname = parts[2] + \"/\" + parts[3];\n\t\t}\n\t}\n\tif(pluginPath && type && name) {\n\t\tpluginPath = path.resolve($tw.boot.bootPath,\"..\",pluginPath);\n\t\tif(fs.existsSync(pluginPath)) {\n\t\t\treturn {\n\t\t\t\tpluginPath: pluginPath,\n\t\t\t\ttype: type,\n\t\t\t\tname: name\n\t\t\t};\n\t\t}\n\t}\n\treturn false;\n};\n\nWikiFolderMaker.prototype.saveCustomPlugin = function(pluginTiddler) {\n\tvar self = this,\n\t\tpluginTitle = pluginTiddler.fields.title,\n\t\ttitleParts = pluginTitle.split(\"/\"),\n\t\tdirectory = $tw.utils.generateTiddlerFilepath(titleParts[titleParts.length - 1],{\n\t\t\tdirectory: path.resolve(this.wikiFolderPath,pluginTiddler.fields[\"plugin-type\"] + \"s\")\n\t\t}),\n\t\tpluginInfo = pluginTiddler.getFieldStrings({exclude: [\"text\",\"type\"]});\n\tthis.saveJSONFile(directory + path.sep + \"plugin.info\",pluginInfo);\n\tself.log(\"Writing \" + directory + path.sep + \"plugin.info: \" + JSON.stringify(pluginInfo,null,$tw.config.preferences.jsonSpaces));\n\tvar pluginTiddlers = $tw.utils.parseJSONSafe(pluginTiddler.fields.text).tiddlers; // A hashmap of tiddlers in the plugin\n\t$tw.utils.each(pluginTiddlers,function(tiddler,title) {\n\t\tif(!tiddler.title) {\n\t\t\ttiddler.title = title;\n\t\t }\n\t\tself.saveTiddler(directory,new $tw.Tiddler(tiddler));\n\t});\n};\n\nWikiFolderMaker.prototype.saveTiddler = function(directory,tiddler) {\n\tvar title = tiddler.fields.title, fileInfo, pathFilters, extFilters;\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemPaths\")) {\n\t\tpathFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemPaths\",\"\").split(\"\\n\");\n\t}\n\tif(this.wiki.tiddlerExists(\"$:/config/FileSystemExtensions\")) {\n\t\textFilters = this.wiki.getTiddlerText(\"$:/config/FileSystemExtensions\",\"\").split(\"\\n\");\n\t}\n\tvar fileInfo = $tw.utils.generateTiddlerFileInfo(tiddler,{\n\t\tdirectory: path.resolve(this.wikiFolderPath,directory),\n\t\tpathFilters: pathFilters,\n\t\textFilters: extFilters,\n\t\twiki: this.wiki,\n\t\tfileInfo: {}\n\t});\n\ttry {\n\t\t$tw.utils.saveTiddlerToFileSync(tiddler,fileInfo);\n\t} catch (err) {\n\t\tconsole.log(\"SaveWikiFolder: Error saving file '\" + fileInfo.filepath + \"', tiddler: '\" + tiddler.fields.title);\n\t}\n};\n\nWikiFolderMaker.prototype.saveJSONFile = function(filename,json) {\n\tthis.saveTextFile(filename,JSON.stringify(json,null,$tw.config.preferences.jsonSpaces));\n};\n\nWikiFolderMaker.prototype.saveTextFile = function(filename,data) {\n\tthis.saveFile(filename,\"utf8\",data);\n};\n\nWikiFolderMaker.prototype.saveFile = function(filename,encoding,data) {\n\tvar filepath = path.resolve(this.wikiFolderPath,filename);\n\t$tw.utils.createFileDirectories(filepath);\n\tfs.writeFileSync(filepath,data,encoding);\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/server.js":{"title":"$:/core/modules/commands/server.js","text":"/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nDeprecated legacy command for serving tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Server = require(\"$:/core/modules/server/server.js\").Server;\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tvar self = this;\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\t// Set up server\n\tthis.server = new Server({\n\t\twiki: this.commander.wiki,\n\t\tvariables: {\n\t\t\tport: this.params[0],\n\t\t\thost: this.params[6],\n\t\t\t\"root-tiddler\": this.params[1],\n\t\t\t\"root-render-type\": this.params[2],\n\t\t\t\"root-serve-type\": this.params[3],\n\t\t\tusername: this.params[4],\n\t\t\tpassword: this.params[5],\n\t\t\t\"path-prefix\": this.params[7],\n\t\t\t\"debug-level\": this.params[8]\n\t\t}\n\t});\n\tvar nodeServer = this.server.listen();\n\t$tw.hooks.invokeHook(\"th-server-command-post-start\",this.server,nodeServer,\"tiddlywiki\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/setfield.js":{"title":"$:/core/modules/commands/setfield.js","text":"/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\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\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/unpackplugin.js":{"title":"$:/core/modules/commands/unpackplugin.js","text":"/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/verbose.js":{"title":"$:/core/modules/commands/verbose.js","text":"/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n \" + $tw.boot.logMessages.join(\"\\n \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/commands/version.js":{"title":"$:/core/modules/commands/version.js","text":"/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n","type":"application/javascript","module-type":"command"},"$:/core/modules/config.js":{"title":"$:/core/modules/config.js","text":"/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, dollar:36, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,details,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,nav,ol,p,pre,section,summary,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n","type":"application/javascript","module-type":"config"},"$:/core/modules/deserializers.js":{"title":"$:/core/modules/deserializers.js","text":"/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [deserializeTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar results = [],\n\t\tincoming = $tw.utils.parseJSONSafe(text,function(err) {\n\t\t\treturn [{\n\t\t\t\ttitle: \"JSON error: \" + err,\n\t\t\t\ttext: \"\"\n\t\t\t}];\n\t\t});\n\tif(!$tw.utils.isArray(incoming)) {\n\t\tincoming = [incoming];\n\t}\n\tfor(var t=0; t<incoming.length; t++) {\n\t\tvar incomingFields = incoming[t],\n\t\t\tfields = {};\n\t\tfor(var f in incomingFields) {\n\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t}\n\t\t}\n\t\tresults.push(fields);\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\tvar results = [];\n\t// Check if we've got an old-style store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tstoreAreaMatch = storeAreaMarkerRegExp.exec(text);\n\tif(storeAreaMatch) {\n\t\t// If so, we've got tiddlers in classic TiddlyWiki format or unencrypted old-style TW5 format\n\t\tresults.push.apply(results,deserializeStoreArea(text,storeAreaMarkerRegExp.lastIndex,!!storeAreaMatch[1],fields));\n\t}\n\t// Check for new-style store areas\n\tvar newStoreAreaMarkerRegExp = /<script class=\"tiddlywiki-tiddler-store\" type=\"([^\"]*)\">/gi,\n\t\tnewStoreAreaMatch = newStoreAreaMarkerRegExp.exec(text),\n\t\thaveHadNewStoreArea = !!newStoreAreaMatch;\n\twhile(newStoreAreaMatch) {\n\t\tresults.push.apply(results,deserializeNewStoreArea(text,newStoreAreaMarkerRegExp.lastIndex,newStoreAreaMatch[1],fields));\n\t\tnewStoreAreaMatch = newStoreAreaMarkerRegExp.exec(text);\n\t}\n\t// Return if we had either an old-style or a new-style store area\n\tif(storeAreaMatch || haveHadNewStoreArea) {\n\t\treturn results;\n\t}\n\t// Otherwise, check whether we've got an encrypted file\n\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\tif(encryptedStoreArea) {\n\t\t// If so, attempt to decrypt it using the current password\n\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t} else {\n\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\treturn deserializeHtmlFile(text,fields);\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeNewStoreArea(text,storeAreaEnd,type,fields) {\n\tvar endOfScriptRegExp = /<\\/script>/gi;\n\tendOfScriptRegExp.lastIndex = storeAreaEnd;\n\tvar match = endOfScriptRegExp.exec(text);\n\tif(match) {\n\t\tvar scriptContent = text.substring(storeAreaEnd,match.index);\n\t\treturn $tw.wiki.deserializeTiddlers(type,scriptContent);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nfunction deserializeStoreArea(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = deserializeTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar deserializeTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\n})();\n","type":"application/javascript","module-type":"tiddlerdeserializer"},"$:/core/modules/editor/engines/framed.js":{"title":"$:/core/modules/editor/engines/framed.js","text":"/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tvar paletteTitle = this.widget.wiki.getTiddlerText(\"$:/palette\");\n\tvar colorScheme = (this.widget.wiki.getTiddler(paletteTitle) || {fields: {}}).fields[\"color-scheme\"] || \"light\";\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"<meta name='color-scheme' content='\" + colorScheme + \"'>\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType && this.widget.editTag !== \"textarea\") {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.iframeNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"click\",handlerObject: this,handlerMethod: \"handleClickEvent\"},\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this,handlerMethod: \"handleKeydownEvent\"},\n\t\t{name: \"focus\",handlerObject: this,handlerMethod: \"handleFocusEvent\"}\n\t]);\n\t// Add drag and drop event listeners if fileDrop is enabled\n\tif(this.widget.isFileDropEnabled) {\n\t\t$tw.utils.addEventListeners(this.domNode,[\n\t\t\t{name: \"dragenter\",handlerObject: this.widget,handlerMethod: \"handleDragEnterEvent\"},\n\t\t\t{name: \"dragover\",handlerObject: this.widget,handlerMethod: \"handleDragOverEvent\"},\n\t\t\t{name: \"dragleave\",handlerObject: this.widget,handlerMethod: \"handleDragLeaveEvent\"},\n\t\t\t{name: \"dragend\",handlerObject: this.widget,handlerMethod: \"handleDragEndEvent\"},\n\t\t\t{name: \"drop\", handlerObject: this.widget,handlerMethod: \"handleDropEvent\"},\n\t\t\t{name: \"paste\", handlerObject: this.widget,handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"click\",handlerObject: this.widget,handlerMethod: \"handleClickEvent\"}\n\t\t]);\n\t}\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n\t// Ensure we don't force text direction to LTR\n\tthis.domNode.style.removeProperty(\"direction\");\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nFramedEngine.prototype.updateDomNodeText = function(text) {\n\ttry {\n\t\tthis.domNode.value = text;\n\t} catch(e) {\n\t\t// Ignore\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = newHeight + \"px\";\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus = function() {\n\tif(this.domNode.focus) {\n\t\tthis.domNode.focus();\n\t}\n\tif(this.domNode.select) {\n\t\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\n\t}\n};\n\n/*\nHandle a focus event\n*/\nFramedEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\n\t}\n};\n\n/*\nHandle a keydown event\n */\nFramedEngine.prototype.handleKeydownEvent = function(event) {\n\tif ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\n\t\treturn true;\n\t}\n\n\treturn this.widget.handleKeydownEvent(event);\n};\n\n/*\nHandle a click\n*/\nFramedEngine.prototype.handleClickEvent = function(event) {\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/engines/simple.js":{"title":"$:/core/modules/editor/engines/simple.js","text":"/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType && this.widget.editTag !== \"textarea\") {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\tif(this.widget.editTabIndex) {\n\t\tthis.domNode.setAttribute(\"tabindex\",this.widget.editTabIndex);\n\t}\n\tif(this.widget.editAutoComplete) {\n\t\tthis.domNode.setAttribute(\"autocomplete\",this.widget.editAutoComplete);\n\t}\n\tif(this.widget.isDisabled === \"yes\") {\n\t\tthis.domNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode || text === \"\") {\n\t\t\tthis.updateDomNodeText(text);\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nUpdate the DomNode with the new text\n*/\nSimpleEngine.prototype.updateDomNodeText = function(text) {\n\ttry {\n\t\tthis.domNode.value = text;\n\t} catch(e) {\n\t\t// Ignore\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus = function() {\n\tif(this.domNode.focus) {\n\t\tthis.domNode.focus();\n\t}\n\tif(this.domNode.select) {\n\t\t$tw.utils.setSelectionByPosition(this.domNode,this.widget.editFocusSelectFromStart,this.widget.editFocusSelectFromEnd);\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\tif(this.widget.editInputActions) {\n\t\tthis.widget.invokeActionString(this.widget.editInputActions,this,event,{actionValue: this.getText()});\n\t}\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editCancelPopups) {\n\t\t$tw.popup.cancel(0);\n\t}\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/factory.js":{"title":"$:/core/modules/editor/factory.js","text":"/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tif(tiddler.hasField(this.editField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = this.editDefault || \"\";\n\t\t\t\t}\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\tthis.editFocusSelectFromStart = $tw.utils.parseNumber(this.getAttribute(\"focusSelectFromStart\",\"0\"));\n\t\tthis.editFocusSelectFromEnd = $tw.utils.parseNumber(this.getAttribute(\"focusSelectFromEnd\",\"0\"));\n\t\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\t\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\",\"\") === \"yes\";\n\t\tthis.editInputActions = this.getAttribute(\"inputActions\");\n\t\tthis.editRefreshTitle = this.getAttribute(\"refreshTitle\");\n\t\tthis.editAutoComplete = this.getAttribute(\"autocomplete\");\n\t\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t\tthis.isFileDropEnabled = this.getAttribute(\"fileDrop\",\"no\") === \"yes\";\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag) || \"input\";\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0) && (!this.document.isTiddlyWikiFakeDom);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup || changedAttributes.rows || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE] || changedTiddlers[\"$:/palette\"] || changedAttributes.disabled || changedAttributes.fileDrop) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if (changedTiddlers[this.editRefreshTitle]) {\n\t\t\tthis.engine.updateDomNodeText(this.getEditInfo().value);\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.cloneEvent(event,[\"keyCode\",\"code\",\"which\",\"key\",\"metaKey\",\"ctrlKey\",\"altKey\",\"shiftKey\"]);\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\tEditTextWidget.prototype.cloneEvent = function(event,propertiesToCopy) {\n\t\tvar propertiesToCopy = propertiesToCopy || [],\n\t\t\tnewEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(event.type, true, true);\n\t\t}\n\t\t$tw.utils.each(propertiesToCopy,function(prop){\n\t\t\tnewEvent[prop] = event[prop];\n\t\t});\n\t\treturn newEvent;\n\t};\n\n\tEditTextWidget.prototype.dispatchDOMEvent = function(newEvent) {\n\t\tvar dispatchNode = this.engine.iframeNode || this.engine.parentNode;\n\t\treturn dispatchNode.dispatchEvent(newEvent);\n\t};\n\n\t/*\n\tPropogate drag and drop events with File data to our container for the dropzone widgets benefit.\n\tIf there are no Files, let the browser handle it.\n\t*/\n\tEditTextWidget.prototype.handleDropEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t} \n\t};\n\n\tEditTextWidget.prototype.handlePasteEvent = function(event) {\n\t\tif(event.clipboardData && event.clipboardData.files && event.clipboardData.files.length) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"clipboardData\"]));\n\t\t}\n\t};\n\n\tEditTextWidget.prototype.handleDragEnterEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\n\t\t\tif( event.relatedTarget && (event.relatedTarget.nodeType === 3 || event.target === event.relatedTarget)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t}\n\t\treturn true;\n\t};\n\n\tEditTextWidget.prototype.handleDragOverEvent = function(event) {\n\t\tif($tw.utils.dragEventContainsFiles(event)) {\n\t\t\t// Call preventDefault() in browsers that default to not allowing drop events on textarea\n\t\t\tif($tw.browser.isFirefox || $tw.browser.isIE) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\tevent.dataTransfer.dropEffect = \"copy\";\n\t\t\treturn this.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t\t}\n\t\treturn true;\n\t};\n\n\tEditTextWidget.prototype.handleDragLeaveEvent = function(event) {\n\t\t// Ignore excessive events fired by FF when entering and leaving text nodes in a text area.\n\t\tif(event.relatedTarget && ((event.relatedTarget.nodeType === 3) || (event.target === event.relatedTarget))) {\n\t\t\treturn true;\n\t\t}\n\t\tevent.preventDefault();\n\t\tthis.dispatchDOMEvent(this.cloneEvent(event,[\"dataTransfer\"]));\n\t};\n\n\tEditTextWidget.prototype.handleDragEndEvent = function(event) {\n\t\tthis.dispatchDOMEvent(this.cloneEvent(event));\n\t};\n\n\tEditTextWidget.prototype.handleClickEvent = function(event) {\n\t\treturn !this.dispatchDOMEvent(this.cloneEvent(event));\n\t};\n\n\treturn EditTextWidget;\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n","type":"application/javascript","module-type":"library"},"$:/core/modules/editor/operations/bitmap/clear.js":{"title":"$:/core/modules/editor/operations/bitmap/clear.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/bitmap/resize.js":{"title":"$:/core/modules/editor/operations/bitmap/resize.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/bitmap/rotate-left.js":{"title":"$:/core/modules/editor/operations/bitmap/rotate-left.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/bitmap/rotate-left.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to rotate the image left by 90 degrees\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"rotate-left\"] = function(event) {\n\t// Rotate the canvas left by 90 degrees\n\tthis.rotateCanvasLeft();\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n","type":"application/javascript","module-type":"bitmapeditoroperation"},"$:/core/modules/editor/operations/text/excise.js":{"title":"$:/core/modules/editor/operations/text/excise.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ? [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/focus-editor.js":{"title":"$:/core/modules/editor/operations/text/focus-editor.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/focus-editor.js\ntype: application/javascript\nmodule-type: texteditoroperation\nSimply focus the Text editor\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"focus-editor\"] = function(event,operation) {\n\toperation = null;\n};\n\n})();","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/insert-text.js":{"title":"$:/core/modules/editor/operations/text/insert-text.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/insert-text.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation insert text at the caret position. If there is a selection it is replaced.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"insert-text\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/make-link.js":{"title":"$:/core/modules/editor/operations/text/make-link.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/prefix-lines.js":{"title":"$:/core/modules/editor/operations/text/prefix-lines.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\tvar targetCount = parseInt(event.paramObject.count + \"\",10);\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,targetCount);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile($tw.utils.startsWith(line,event.paramObject.character)) {\n\t\t\tline = line.substring(event.paramObject.character.length);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== targetCount) {\n\t\t\t// Apply the prefix\n\t\t\tline = prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/replace-all.js":{"title":"$:/core/modules/editor/operations/text/replace-all.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/replace-selection.js":{"title":"$:/core/modules/editor/operations/text/replace-selection.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/save-selection.js":{"title":"$:/core/modules/editor/operations/text/save-selection.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/save-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to save the current selection in a specified tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"save-selection\"] = function(event,operation) {\n\tvar tiddler = event.paramObject.tiddler,\n\t\tfield = event.paramObject.field || \"text\";\n\tif(tiddler && field) {\n\t\tthis.wiki.setText(tiddler,field,null,operation.text.substring(operation.selStart,operation.selEnd));\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/wrap-lines.js":{"title":"$:/core/modules/editor/operations/text/wrap-lines.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\tvar prefix = event.paramObject.prefix || \"\",\n\t\tsuffix = event.paramObject.suffix || \"\";\n\tif($tw.utils.endsWith(operation.text.substring(0,operation.selStart), prefix + \"\\n\") &&\n\t\t\t$tw.utils.startsWith(operation.text.substring(operation.selEnd), \"\\n\" + suffix)) {\n\t\t// Selected text is already surrounded by prefix and suffix: Remove them\n\t\t// Cut selected text plus prefix and suffix\n\t\toperation.cutStart = operation.selStart - (prefix.length + 1);\n\t\toperation.cutEnd = operation.selEnd + suffix.length + 1;\n\t\t// Also cut the following newline (if there is any)\n\t\tif (operation.text[operation.cutEnd] === \"\\n\") {\n\t\t\toperation.cutEnd++;\n\t\t}\n\t\t// Replace with selection\n\t\toperation.replacement = operation.text.substring(operation.selStart,operation.selEnd);\n\t\t// Select text that was in between prefix and suffix\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.selEnd - (prefix.length + 1);\n\t} else {\n\t\t// Cut just past the preceding line break, or the start of the text\n\t\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t\t// Cut to just past the following line break, or to the end of the text\n\t\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t\t// Add the prefix and suffix\n\t\toperation.replacement = prefix + \"\\n\" +\n\t\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\t\tsuffix + \"\\n\";\n\t\toperation.newSelStart = operation.cutStart + prefix.length + 1;\n\t\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/editor/operations/text/wrap-selection.js":{"title":"$:/core/modules/editor/operations/text/wrap-selection.js","text":"/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix\n\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\toperation.replacement = \"\";\n\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"texteditoroperation"},"$:/core/modules/filterrunprefixes/all.js":{"title":"$:/core/modules/filterrunprefixes/all.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/all.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nUnion of sets without de-duplication.\nEquivalent to = filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.all = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.push.apply(results, operationSubFunction(source,widget));\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/and.js":{"title":"$:/core/modules/filterrunprefixes/and.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/and.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nIntersection of sets.\nEquivalent to + filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.and = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\tsource = options.wiki.makeTiddlerIterator(results.toArray());\n\t\tresults.clear();\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/cascade.js":{"title":"$:/core/modules/filterrunprefixes/cascade.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/cascade.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.cascade = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\tvar filterList = operationSubFunction(source,widget),\n\t\t\t\tfilterFnList = [];\n\t\t\tvar inputResults = results.toArray();\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(inputResults,function(title) {\n\t\t\t\tvar result = \"\"; // If no filter matches, we return an empty string\n\t\t\t\t$tw.utils.each(filterList,function(filter,index) {\n\t\t\t\t\tif(!filterFnList[index]) {\n\t\t\t\t\t\tfilterFnList[index] = options.wiki.compileFilter(filter);\n\t\t\t\t\t}\n\t\t\t\t\tvar output = filterFnList[index](options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",\"\")\n\t\t\t\t\t}));\n\t\t\t\t\tif(output.length !== 0) {\n\t\t\t\t\t\tresult = output[0];\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults.push(result);\n\t\t\t});\n\t\t}\n\t}\n};\n\n})();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/else.js":{"title":"$:/core/modules/filterrunprefixes/else.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/else.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to ~ filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.else = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length === 0) {\n\t\t\t// Main result so far is empty\n\t\t\tresults.pushTop(operationSubFunction(source,widget));\n\t\t}\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/except.js":{"title":"$:/core/modules/filterrunprefixes/except.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/except.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nDifference of sets.\nEquivalent to - filter run prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.except = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.remove(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/filter.js":{"title":"$:/core/modules/filterrunprefixes/filter.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/filter.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar resultsToRemove = [],\n\t\t\t\tindex = 0;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",\"\"),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" + (results.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + results.length\n\t\t\t\t}));\n\t\t\t\tif(filtered.length === 0) {\n\t\t\t\t\tresultsToRemove.push(title);\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t\tresults.remove(resultsToRemove);\n\t\t}\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/intersection.js":{"title":"$:/core/modules/filterrunprefixes/intersection.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/intersection.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.intersection = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\tvar secondRunResults = operationSubFunction(source,widget);\n\t\t\tvar firstRunResults = results.toArray();\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(firstRunResults,function(title) {\n\t\t\t\tif(secondRunResults.indexOf(title) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/map.js":{"title":"$:/core/modules/filterrunprefixes/map.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/map.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.map = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar inputTitles = results.toArray(),\n\t\t\t\tindex = 0,\n\t\t\t\tsuffixes = options.suffixes,\n\t\t\t\tflatten = (suffixes[0] && suffixes[0][0] === \"flat\") ? true : false;\n\t\t\tresults.clear();\n\t\t\t$tw.utils.each(inputTitles,function(title) {\n\t\t\t\tvar filtered = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\",\"\"),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" + (inputTitles.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + inputTitles.length\n\t\t\t\t}));\n\t\t\t\tif(filtered.length && flatten) {\n\t\t\t\t\t$tw.utils.each(filtered,function(value) {\n\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(filtered[0]||\"\");\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t}\n\t}\n};\n\n})();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/or.js":{"title":"$:/core/modules/filterrunprefixes/or.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/or.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nEquivalent to a filter run with no prefix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.or = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tresults.pushTop(operationSubFunction(source,widget));\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/reduce.js":{"title":"$:/core/modules/filterrunprefixes/reduce.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/reduce.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.reduce = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar accumulator = \"\",\n\t\t\t\tindex = 0;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar list = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\"),\n\t\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\t\"revIndex\": \"\" + (results.length - 1 - index),\n\t\t\t\t\t\"length\": \"\" + results.length,\n\t\t\t\t\t\"accumulator\": \"\" + accumulator\n\t\t\t\t}));\n\t\t\t\tif(list.length > 0) {\n\t\t\t\t\taccumulator = \"\" + list[0];\n\t\t\t\t}\n\t\t\t\t++index;\n\t\t\t});\n\t\t\tresults.clear();\n\t\t\tresults.push(accumulator);\n\t\t}\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/sort.js":{"title":"$:/core/modules/filterrunprefixes/sort.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/sort.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.sort = function(operationSubFunction,options) {\n\treturn function(results,source,widget) {\n\t\tif(results.length > 0) {\n\t\t\tvar suffixes = options.suffixes,\n\t\t\t\tsortType = (suffixes[0] && suffixes[0][0]) ? suffixes[0][0] : \"string\",\n\t\t\t\tinvert = suffixes[1] ? (suffixes[1].indexOf(\"reverse\") !== -1) : false,\n\t\t\t\tisCaseSensitive = suffixes[1] ? (suffixes[1].indexOf(\"casesensitive\") !== -1) : false,\n\t\t\t\tinputTitles = results.toArray(),\n\t\t\t\tsortKeys = [],\n\t\t\t\tindexes = new Array(inputTitles.length),\n\t\t\t\tcompareFn;\n\t\t\tresults.each(function(title) {\n\t\t\t\tvar key = operationSubFunction(options.wiki.makeTiddlerIterator([title]),widget.makeFakeWidgetWithVariables({\n\t\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\t\"..currentTiddler\": widget.getVariable(\"currentTiddler\")\n\t\t\t\t}));\n\t\t\t\tsortKeys.push(key[0] || \"\");\n\t\t\t});\n\t\t\tresults.clear();\n\t\t\t// Prepare an array of indexes to sort\n\t\t\tfor(var t=0; t<inputTitles.length; t++) {\n\t\t\t\tindexes[t] = t;\n\t\t\t}\n\t\t\t// Sort the indexes\n\t\t\tcompareFn = $tw.utils.makeCompareFunction(sortType,{defaultType: \"string\", invert:invert, isCaseSensitive:isCaseSensitive});\n\t\t\tindexes = indexes.sort(function(a,b) {\n\t\t\t\t\treturn compareFn(sortKeys[a],sortKeys[b]);\n\t\t\t});\n\t\t\t// Add to results in correct order\n\t\t\t$tw.utils.each(indexes,function(index) {\n\t\t\t\tresults.push(inputTitles[index]);\n\t\t\t});\n\t\t}\n\t}\n};\n\n})();","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filterrunprefixes/then.js":{"title":"$:/core/modules/filterrunprefixes/then.js","text":"/*\\\ntitle: $:/core/modules/filterrunprefixes/then.js\ntype: application/javascript\nmodule-type: filterrunprefix\n\nReplace results of previous runs unless empty\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter prefix function\n*/\nexports.then = function(operationSubFunction) {\n\treturn function(results,source,widget) {\n\t\tif(results.length !== 0) {\n\t\t\t// Only run if previous run(s) produced results\n\t\t\tvar thisRunResult = operationSubFunction(source,widget);\n\t\t\tif(thisRunResult.length !== 0) {\n\t\t\t\t// Replace results only if this run actually produces a result\n\t\t\t\tresults.clear();\n\t\t\t\tresults.pushTop(thisRunResult);\n\t\t\t}\n\t\t}\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filterrunprefix"},"$:/core/modules/filters/addprefix.js":{"title":"$:/core/modules/filters/addprefix.js","text":"/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/addsuffix.js":{"title":"$:/core/modules/filters/addsuffix.js","text":"/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/after.js":{"title":"$:/core/modules/filters/after.js","text":"/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/all/current.js":{"title":"$:/core/modules/filters/all/current.js","text":"/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/missing.js":{"title":"$:/core/modules/filters/all/missing.js","text":"/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/orphans.js":{"title":"$:/core/modules/filters/all/orphans.js","text":"/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/shadows.js":{"title":"$:/core/modules/filters/all/shadows.js","text":"/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/tags.js":{"title":"$:/core/modules/filters/all/tags.js","text":"/*\\\ntitle: $:/core/modules/filters/all/tags.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tags]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,prefix,options) {\n\treturn Object.keys(options.wiki.getTagMap());\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all/tiddlers.js":{"title":"$:/core/modules/filters/all/tiddlers.js","text":"/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n","type":"application/javascript","module-type":"allfilteroperator"},"$:/core/modules/filters/all.js":{"title":"$:/core/modules/filters/all.js","text":"/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Check for common optimisations\n\tvar subops = operator.operand.split(\"+\");\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = new $tw.utils.LinkedList();\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\tresults.pushTop(subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/backlinks.js":{"title":"$:/core/modules/filters/backlinks.js","text":"/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/backtranscludes.js":{"title":"$:/core/modules/filters/backtranscludes.js","text":"/*\\\ntitle: $:/core/modules/filters/backtranscludes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backtranscludes from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backtranscludes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacktranscludes(title));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/before.js":{"title":"$:/core/modules/filters/before.js","text":"/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/commands.js":{"title":"$:/core/modules/filters/commands.js","text":"/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/compare.js":{"title":"$:/core/modules/filters/compare.js","text":"/*\\\ntitle: $:/core/modules/filters/compare.js\ntype: application/javascript\nmodule-type: filteroperator\n\nGeneral purpose comparison operator\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.compare = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = (suffixes[0] || [])[0],\n\t\tmode = (suffixes[1] || [])[0],\n\t\ttypeFn = $tw.utils.makeCompareFunction(type,{defaultType: \"number\"}),\n\t\tmodeFn = modes[mode] || modes.eq,\n\t\tinvert = operator.prefix === \"!\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tif(modeFn(typeFn(title,operator.operand)) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nvar modes = {\n\t\"eq\": function(value) {return value === 0;},\n\t\"ne\": function(value) {return value !== 0;},\n\t\"gteq\": function(value) {return value >= 0;},\n\t\"gt\": function(value) {return value > 0;},\n\t\"lteq\": function(value) {return value <= 0;},\n\t\"lt\": function(value) {return value < 0;}\n}\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/contains.js":{"title":"$:/core/modules/filters/contains.js","text":"/*\\\ntitle: $:/core/modules/filters/contains.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for finding values in array fields\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.contains = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = operator.suffix || \"list\";\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvar list = tiddler.getFieldList(fieldname);\n\t\t\t\tif(list.indexOf(operator.operand) !== -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/count.js":{"title":"$:/core/modules/filters/count.js","text":"/*\\\ntitle: $:/core/modules/filters/count.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the number of entries in the current list.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.count = function(source,operator,options) {\n\tvar count = 0;\n\tsource(function(tiddler,title) {\n\t\tcount++;\n\t});\n\treturn [count + \"\"];\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/crypto.js":{"title":"$:/core/modules/filters/crypto.js","text":"/*\\\ntitle: $:/core/modules/filters/crypto.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for cryptography, using the Stanford JavaScript library\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.sha256 = function(source,operator,options) {\n\tvar results = [],\n\t\tlength = parseInt(operator.operand,10) || 20;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.sha256(title,{length: length}));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/days.js":{"title":"$:/core/modules/filters/days.js","text":"/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/deserialize.js":{"title":"$:/core/modules/filters/deserialize.js","text":"/*\\\ntitle: $:/core/modules/filters/deserialize.js\ntype: application/javascript\nmodule-type: filteroperator\nFilter operator for deserializing string data into JSON representing tiddlers\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"deserialize\"] = function(source,operator,options) {\n\tvar results = [],\n\t\tdeserializer;\n\tif(operator.operand) {\n\t\t// Get the deserializer identified by the operand\n\t\tdeserializer = $tw.Wiki.tiddlerDeserializerModules[operator.operand];\n\t\tif(deserializer) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tvar tiddlers;\n\t\t\t\ttry {\n\t\t\t\t\ttiddlers = deserializer(title);\n\t\t\t\t} catch(e) {\n\t\t\t\t\t// Return an empty array if we could not extract any tiddlers\n\t\t\t\t\ttiddlers = [];\n\t\t\t\t}\n\t\t\t\tresults.push(JSON.stringify(tiddlers));\n\t\t\t});\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/DeserializeOperator/UnknownDeserializer\")];\n\t\t}\n\t} else {\n\t\treturn [$tw.language.getString(\"Error/DeserializeOperator/MissingOperand\")];\n\t}\n\treturn results;\n}\n\n})();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/deserializers.js":{"title":"$:/core/modules/filters/deserializers.js","text":"/*\\\ntitle: $:/core/modules/filters/deserializers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the deserializers in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.deserializers = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.Wiki.tiddlerDeserializerModules,function(deserializer,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/duplicateslugs.js":{"title":"$:/core/modules/filters/duplicateslugs.js","text":"/*\\\ntitle: $:/core/modules/filters/duplicateslugs.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter function for [duplicateslugs[]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.duplicateslugs = function(source,operator,options) {\n\tvar slugs = Object.create(null), // Hashmap by slug of title, replaced with \"true\" if the duplicate title has already been output\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tvar slug = options.wiki.slugify(title);\n\t\tif(slug in slugs) {\n\t\t\tif(slugs[slug] !== true) {\n\t\t\t\tresults.push(slugs[slug]);\n\t\t\t\tslugs[slug] = true;\n\t\t\t}\n\t\t\tresults.push(title);\n\t\t} else {\n\t\t\tslugs[slug] = title;\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/each.js":{"title":"$:/core/modules/filters/each.js","text":"/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\tvalue,values = {},\n\tfield = operator.operand || \"title\";\n\tif(operator.suffix === \"value\" && field === \"title\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(values,title)) {\n\t\t\t\tvalues[title] = true;\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else if(operator.suffix !== \"list-item\") {\n\t\tif(field === \"title\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && !$tw.utils.hop(values,title)) {\n\t\t\t\t\tvalues[title] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvalue = tiddler.getFieldString(field);\n\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/eachday.js":{"title":"$:/core/modules/filters/eachday.js","text":"/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/editiondescription.js":{"title":"$:/core/modules/filters/editiondescription.js","text":"/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\t\tresults.push(editionInfo[title].description || \"\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/editions.js":{"title":"$:/core/modules/filters/editions.js","text":"/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [];\n\tif($tw.node) {\n\t\tvar editionInfo = $tw.utils.getEditionInfo();\n\t\tif(editionInfo) {\n\t\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\t\tresults.push(name);\n\t\t\t});\n\t\t}\n\t\tresults.sort();\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/else.js":{"title":"$:/core/modules/filters/else.js","text":"/*\\\ntitle: $:/core/modules/filters/else.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing an empty input list with a constant, passing a non-empty input list straight through\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.else = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tif(results.length === 0) {\n\t\treturn [operator.operand];\n\t} else {\n\t\treturn results;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/decodeuricomponent.js":{"title":"$:/core/modules/filters/decodeuricomponent.js","text":"/*\\\ntitle: $:/core/modules/filters/decodeuricomponent.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for applying decodeURIComponent() to each item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter functions\n*/\n\nexports.decodebase64 = function(source,operator,options) {\n\tvar results = [];\n\tvar binary = operator.suffixes && operator.suffixes.indexOf(\"binary\") !== -1;\n\tvar urlsafe = operator.suffixes && operator.suffixes.indexOf(\"urlsafe\") !== -1;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Decode(title,binary,urlsafe));\n\t});\n\treturn results;\n};\n\nexports.encodebase64 = function(source,operator,options) {\n\tvar results = [];\n\tvar binary = operator.suffixes && operator.suffixes.indexOf(\"binary\") !== -1;\n\tvar urlsafe = operator.suffixes && operator.suffixes.indexOf(\"urlsafe\") !== -1;\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Encode(title,binary,urlsafe));\n\t});\n\treturn results;\n};\n\nexports.decodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.decodeURIComponentSafe(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuricomponent = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.encodeURIComponentExtended(title));\n\t});\n\treturn results;\n};\n\nexports.decodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.decodeURISafe(title));\n\t});\n\treturn results;\n};\n\nexports.encodeuri = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(encodeURI(title));\n\t});\n\treturn results;\n};\n\nexports.decodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlDecode(title));\n\t});\n\treturn results;\n};\n\nexports.encodehtml = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.htmlEncode(title));\n\t});\n\treturn results;\n};\n\nexports.stringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.stringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.jsonstringify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.jsonStringify(title,(operator.suffix === \"rawunicode\")));\n\t});\n\treturn results;\n};\n\nexports.escaperegexp = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.escapeRegExp(title));\n\t});\n\treturn results;\n};\n\nexports.escapecss = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t// escape any character with a special meaning in CSS using CSS.escape()\n\t\tresults.push($tw.utils.escapeCSS(title));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/enlist.js":{"title":"$:/core/modules/filters/enlist.js","text":"/*\\\ntitle: $:/core/modules/filters/enlist.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand parsed as a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.enlist = function(source,operator,options) {\n\tvar allowDuplicates = false;\n\tswitch(operator.suffix) {\n\t\tcase \"raw\":\n\t\t\tallowDuplicates = true;\n\t\t\tbreak;\n\t\tcase \"dedupe\":\n\t\t\tallowDuplicates = false;\n\t\t\tbreak;\n\t}\n\tvar list = $tw.utils.parseStringArray(operator.operand,allowDuplicates);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/field.js":{"title":"$:/core/modules/filters/field.js","text":"/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],indexedResults,\n\t\tfieldname = operator.suffix || operator.operator || \"title\";\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif(source.byField && operator.operand) {\n\t\t\t\tindexedResults = source.byField(fieldname,operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults\n\t\t\t\t}\n\t\t\t}\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/fields.js":{"title":"$:/core/modules/filters/fields.js","text":"/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName,\n\t\tsuffixes = (operator.suffixes || [])[0] || [],\n\t\toperand = $tw.utils.parseStringArray(operator.operand);\n\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(suffixes.indexOf(\"include\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? $tw.utils.pushTop(results,fieldName) : \"\";\n\t\t\t\t}\n\t\t\t} else if (suffixes.indexOf(\"exclude\") !== -1) {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t(operand.indexOf(fieldName) !== -1) ? \"\" : $tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else if\n\t\t\telse {\n\t\t\t\tfor(fieldName in tiddler.fields) {\n\t\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t\t}\n\t\t\t} // else\n\t\t} // if (tiddler)\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/filter.js":{"title":"$:/core/modules/filters/filter.js","text":"/*\\\ntitle: $:/core/modules/filters/filter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning those input titles that pass a subfilter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.filter = function(source,operator,options) {\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\tresults = [],\n\t\ttarget = operator.prefix !== \"!\";\n\tsource(function(tiddler,title) {\n\t\tvar list = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\n\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\",\"\")\n\t\t}));\n\t\tif((list.length > 0) === target) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/format/date.js":{"title":"$:/core/modules/filters/format/date.js","text":"/*\\\ntitle: $:/core/modules/filters/format/date.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.date = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.formatDateString(value,operand || \"YYYY MM DD 0hh:0mm\"));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format/json.js":{"title":"$:/core/modules/filters/format/json.js","text":"/*\\\ntitle: $:/core/modules/filters/format/json.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.json = function(source,operand,options) {\n\tvar results = [],\n\t\tspaces = null;\n\tif(operand) {\n\t\tspaces = /^\\d+$/.test(operand) ? parseInt(operand,10) : operand;\n\t}\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title);\n\t\ttry {\n\t\t\tdata = JSON.parse(title);\n\t\t} catch(e) {\n\t\t\tdata = undefined;\n\t\t}\n\t\tif(data !== undefined) {\n\t\t\tresults.push(JSON.stringify(data,null,spaces));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format/relativedate.js":{"title":"$:/core/modules/filters/format/relativedate.js","text":"/*\\\ntitle: $:/core/modules/filters/format/relativedate.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.relativedate = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = $tw.utils.parseDate(title);\n\t\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\t\tresults.push($tw.utils.getRelativeDate((new Date()) - (new Date(value))).description);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format/timestamp.js":{"title":"$:/core/modules/filters/format/timestamp.js","text":"/*\\\ntitle: $:/core/modules/filters/format/timestamp.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.timestamp = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif (title.match(/^-?\\d+$/)) {\n\t\t\tvar value = new Date(Number(title));\n\t\t\tresults.push($tw.utils.formatDateString(value,operand || \"[UTC]YYYY0MM0DD0hh0mm0ss0XXX\"));\n\t\t}\n\t});\n\treturn results;\n};\n})();","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format/titlelist.js":{"title":"$:/core/modules/filters/format/titlelist.js","text":"/*\\\ntitle: $:/core/modules/filters/format/titlelist.js\ntype: application/javascript\nmodule-type: formatfilteroperator\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.titlelist = function(source,operand,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title && title.length) {\n\t\t\tresults.push($tw.utils.stringifyList([title]));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"formatfilteroperator"},"$:/core/modules/filters/format.js":{"title":"$:/core/modules/filters/format.js","text":"/*\\\ntitle: $:/core/modules/filters/format.js\ntype: application/javascript\nmodule-type: filteroperator\nFilter operator for formatting strings\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar formatFilterOperators;\n\nfunction getFormatFilterOperators() {\n\tif(!formatFilterOperators) {\n\t\tformatFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"formatfilteroperator\",formatFilterOperators);\n\t}\n\treturn formatFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.format = function(source,operator,options) {\n\t// Dispatch to the correct formatfilteroperator\n\tvar formatFilterOperators = getFormatFilterOperators();\n\tif(operator.suffix) {\n\t\tvar formatFilterOperator = formatFilterOperators[operator.suffix];\n\t\tif(formatFilterOperator) {\n\t\t\treturn formatFilterOperator(source,operator.operand,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/FormatFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all unchanged if the suffix is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/function.js":{"title":"$:/core/modules/filters/function.js","text":"/*\\\ntitle: $:/core/modules/filters/function.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning those input titles that are returned from a function\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.function = function(source,operator,options) {\n\tvar functionName = operator.operands[0],\n\t\tparams = [];\n\t$tw.utils.each(operator.operands.slice(1),function(param) {\n\t\tparams.push({value: param});\n\t});\n\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});\n\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {\n\t\treturn variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\n\t}\n\t// Return the input list if the function wasn't found\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/get.js":{"title":"$:/core/modules/filters/get.js","text":"/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/getindex.js":{"title":"$:/core/modules/filters/getindex.js","text":"/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/getvariable.js":{"title":"$:/core/modules/filters/getvariable.js","text":"/*\\\ntitle: $:/core/modules/filters/getvariable.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing input values by the value of the variable with the same name, or blank if the variable is missing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getvariable = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.widget.getVariable(title) || \"\");\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/has.js":{"title":"$:/core/modules/filters/has.js","text":"/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field or index\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [],\n\t\tinvert = operator.prefix === \"!\";\n\n\tif(operator.suffix === \"field\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse if(operator.suffix === \"index\") {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(options.wiki.getTiddlerDataCached(tiddler,Object.create(null)),operator.operand)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\telse {\n\t\tif(invert) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(!tiddler || !$tw.utils.hop(tiddler.fields,operator.operand) || (tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && (tiddler.fields[operator.operand].length !== 0)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/haschanged.js":{"title":"$:/core/modules/filters/haschanged.js","text":"/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/indexes.js":{"title":"$:/core/modules/filters/indexes.js","text":"/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/insertafter.js":{"title":"$:/core/modules/filters/insertafter.js","text":"/*\\\ntitle: $:/core/modules/filters/insertafter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item after another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertafter = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\"));\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry after the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos+1,0,operator.operand);\n\t\t} else {\n\t\t\tvar suffix = operator.operands.length > 1 ? operator.suffix : \"\";\n\t\t\tif(suffix === \"start\") {\n\t\t\t\tresults.splice(0,0,operator.operand);\n\t\t\t} else {\n\t\t\t\tresults.push(operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/insertbefore.js":{"title":"$:/core/modules/filters/insertbefore.js","text":"/*\\\ntitle: $:/core/modules/filters/insertbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nInsert an item before another item in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.insertbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar target = operator.operands[1] || (options.widget && options.widget.getVariable(operator.suffix || \"currentTiddler\"));\n\tif(target !== operator.operand) {\n\t\t// Remove the entry from the list if it is present\n\t\tvar pos = results.indexOf(operator.operand);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,1);\n\t\t}\n\t\t// Insert the entry before the target marker\n\t\tpos = results.indexOf(target);\n\t\tif(pos !== -1) {\n\t\t\tresults.splice(pos,0,operator.operand);\n\t\t} else {\n\t\t\tvar suffix = operator.operands.length > 1 ? operator.suffix : \"\";\n\t\t\tif(suffix == \"start\") {\n\t\t\t\tresults.splice(0,0,operator.operand);\n\t\t\t} else {\n\t\t\t\tresults.push(operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/is/binary.js":{"title":"$:/core/modules/filters/is/binary.js","text":"/*\\\ntitle: $:/core/modules/filters/is/binary.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[binary]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.binary = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isBinaryTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/blank.js":{"title":"$:/core/modules/filters/is/blank.js","text":"/*\\\ntitle: $:/core/modules/filters/is/blank.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[blank]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.blank = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!title) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/current.js":{"title":"$:/core/modules/filters/is/current.js","text":"/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/draft.js":{"title":"$:/core/modules/filters/is/draft.js","text":"/*\\\ntitle: $:/core/modules/filters/is/draft.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[draft]] analagous to [has[draft.of]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.draft = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.isDraft()) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.isDraft()) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/image.js":{"title":"$:/core/modules/filters/is/image.js","text":"/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/missing.js":{"title":"$:/core/modules/filters/is/missing.js","text":"/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/orphan.js":{"title":"$:/core/modules/filters/is/orphan.js","text":"/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/shadow.js":{"title":"$:/core/modules/filters/is/shadow.js","text":"/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/system.js":{"title":"$:/core/modules/filters/is/system.js","text":"/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/tag.js":{"title":"$:/core/modules/filters/is/tag.js","text":"/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/tiddler.js":{"title":"$:/core/modules/filters/is/tiddler.js","text":"/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is/variable.js":{"title":"$:/core/modules/filters/is/variable.js","text":"/*\\\ntitle: $:/core/modules/filters/is/variable.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[variable]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variable = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.widget.getVariable(title) === undefined) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.widget.getVariable(title) !== undefined) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"isfilteroperator"},"$:/core/modules/filters/is.js":{"title":"$:/core/modules/filters/is.js","text":"/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tif(operator.operand) {\n\t\tvar isFilterOperator = isFilterOperators[operator.operand];\n\t\tif(isFilterOperator) {\n\t\t\treturn isFilterOperator(source,operator.prefix,options);\n\t\t} else {\n\t\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t\t}\n\t} else {\n\t\t// Return all tiddlers if the operand is missing\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t}\n};\n\n})();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/json-ops.js":{"title":"$:/core/modules/filters/json-ops.js","text":"/*\\\ntitle: $:/core/modules/filters/json-ops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for JSON operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"jsonget\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar items = getDataItemValueAsStrings(data,operator.operands);\n\t\t\tif(items !== undefined) {\n\t\t\t\tresults.push.apply(results,items);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonextract\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar item = getDataItem(data,operator.operands);\n\t\t\tif(item !== undefined) {\n\t\t\t\tresults.push(JSON.stringify(item));\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonindexes\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar items = getDataItemKeysAsStrings(data,operator.operands);\n\t\t\tif(items !== undefined) {\n\t\t\t\tresults.push.apply(results,items);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsontype\"] = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tvar item = getDataItemType(data,operator.operands);\n\t\t\tif(item !== undefined) {\n\t\t\t\tresults.push(item);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\nexports[\"jsonset\"] = function(source,operator,options) {\n\tvar suffixes = operator.suffixes || [],\n\t\ttype = suffixes[0] && suffixes[0][0],\n\t\tindexes = operator.operands.slice(0,-1),\n\t\tvalue = operator.operands[operator.operands.length - 1],\n\t\tresults = [];\n\tif(operator.operands.length === 1 && operator.operands[0] === \"\") {\n\t\tvalue = undefined; // Prevents the value from being assigned\n\t}\n\tswitch(type) {\n\t\tcase \"string\":\n\t\t\t// Use value unchanged\n\t\t\tbreak;\n\t\tcase \"boolean\":\n\t\t\tvalue = (value === \"true\" ? true : (value === \"false\" ? false : undefined));\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tvalue = $tw.utils.parseNumber(value);\n\t\t\tbreak;\n\t\tcase \"array\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = [];\n\t\t\tbreak;\n\t\tcase \"object\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = {};\n\t\t\tbreak;\n\t\tcase \"null\":\n\t\t\tindexes = operator.operands;\n\t\t\tvalue = null;\n\t\t\tbreak;\n\t\tcase \"json\":\n\t\t\tvalue = $tw.utils.parseJSONSafe(value,function() {return undefined;});\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Use value unchanged\n\t\t\tbreak;\n\t}\n\tsource(function(tiddler,title) {\n\t\tvar data = $tw.utils.parseJSONSafe(title,title);\n\t\tif(data) {\n\t\t\tdata = setDataItem(data,indexes,value);\n\t\t\tresults.push(JSON.stringify(data));\n\t\t}\n\t});\n\treturn results;\n};\n\n/*\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the values at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItemValueAsStrings(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item as a string list\n\treturn convertDataItemValueToStrings(item);\n}\n\n/*\nGiven a JSON data structure and an array of index strings, return an array of the string representation of the keys of the item at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItemKeysAsStrings(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item keys as a string\n\treturn convertDataItemKeysToStrings(item);\n}\n\n/*\nReturn an array of the string representation of the values of a data item, or \"undefined\" if the item is undefined\n*/\nfunction convertDataItemValueToStrings(item) {\n\t// Return the item as a string\n\tif(item === undefined) {\n\t\treturn undefined;\n\t} else if(item === null) {\n\t\treturn [\"null\"]\n\t} else if(typeof item === \"object\") {\n\t\tvar results = [],i,t;\n\t\tif($tw.utils.isArray(item)) {\n\t\t\t// Return all the items in arrays recursively\n\t\t\tfor(i=0; i<item.length; i++) {\n\t\t\t\tt = convertDataItemValueToStrings(item[i])\n\t\t\t\tif(t !== undefined) {\n\t\t\t\t\tresults.push.apply(results,t);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Return all the values in objects recursively\n\t\t\t$tw.utils.each(Object.keys(item).sort(),function(key) {\n\t\t\t\tt = convertDataItemValueToStrings(item[key]);\n\t\t\t\tif(t !== undefined) {\n\t\t\t\t\tresults.push.apply(results,t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn results;\n\t}\n\treturn [item.toString()];\n}\n\n/*\nReturn an array of the string representation of the keys of a data item, or \"undefined\" if the item is undefined\n*/\nfunction convertDataItemKeysToStrings(item) {\n\t// Return the item as a string\n\tif(item === undefined) {\n\t\treturn item;\n\t} else if(typeof item === \"object\") {\n\t\tif(item === null) {\n\t\t\treturn [];\n\t\t}\n\t\tvar results = [];\n\t\tif($tw.utils.isArray(item)) {\n\t\t\tfor(var i=0; i<item.length; i++) {\n\t\t\t\tresults.push(i.toString());\n\t\t\t}\n\t\t\treturn results;\n\t\t} else {\n\t\t\t$tw.utils.each(Object.keys(item).sort(),function(key) {\n\t\t\t\tresults.push(key);\n\t\t\t});\n\t\t\treturn results;\n\t\t}\n\t}\n\treturn [];\n}\n\nfunction getDataItemType(data,indexes) {\n\t// Get the item\n\tvar item = getDataItem(data,indexes);\n\t// Return the item type\n\tif(item === undefined) {\n\t\treturn item;\n\t} else if(item === null) {\n\t\treturn \"null\";\n\t} else if($tw.utils.isArray(item)) {\n\t\treturn \"array\";\n\t} else if(typeof item === \"object\") {\n\t\treturn \"object\";\n\t} else {\n\t\treturn typeof item;\n\t}\n}\n\nfunction getItemAtIndex(item,index) {\n\tif($tw.utils.hop(item,index)) {\n\t\treturn item[index];\n\t} else if($tw.utils.isArray(item)) {\n\t\tindex = $tw.utils.parseInt(index);\n\t\tif(index < 0) { index = index + item.length };\n\t\treturn item[index]; // Will be undefined if index was out-of-bounds\n\t} else {\n\t\treturn undefined;\n\t}\n}\n\n/*\nGiven a JSON data structure and an array of index strings, return the value at the end of the index chain, or \"undefined\" if any of the index strings are invalid\n*/\nfunction getDataItem(data,indexes) {\n\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \"\")) {\n\t\treturn data;\n\t}\n\t// Get the item\n\tvar item = data;\n\tfor(var i=0; i<indexes.length; i++) {\n\t\tif(item !== undefined) {\n\t\t\tif(item !== null && [\"number\",\"string\",\"boolean\"].indexOf(typeof item) === -1) {\n\t\t\t\titem = getItemAtIndex(item,indexes[i]);\n\t\t\t} else {\n\t\t\t\titem = undefined;\n\t\t\t}\n\t\t}\n\t}\n\treturn item;\n}\n\n/*\nGiven a JSON data structure, an array of index strings and a value, return the data structure with the value added at the end of the index chain. If any of the index strings are invalid then the JSON data structure is returned unmodified. If the root item is targetted then a different data object will be returned\n*/\nfunction setDataItem(data,indexes,value) {\n\t// Ignore attempts to assign undefined\n\tif(value === undefined) {\n\t\treturn data;\n\t}\n\t// Check for the root item\n\tif(indexes.length === 0 || (indexes.length === 1 && indexes[0] === \"\")) {\n\t\treturn value;\n\t}\n\t// Traverse the JSON data structure using the index chain\n\tvar current = data;\n\tfor(var i = 0; i < indexes.length - 1; i++) {\n\t\tcurrent = getItemAtIndex(current,indexes[i]);\n\t\tif(current === undefined) {\n\t\t\t// Return the original JSON data structure if any of the index strings are invalid\n\t\t\treturn data;\n\t\t}\n\t}\n\t// Add the value to the end of the index chain\n\tvar lastIndex = indexes[indexes.length - 1];\n\tif($tw.utils.isArray(current)) {\n\t\tlastIndex = $tw.utils.parseInt(lastIndex);\n\t\tif(lastIndex < 0) { lastIndex = lastIndex + current.length };\n\t}\n\t// Only set indexes on objects and arrays\n\tif(typeof current === \"object\") {\n\t\tcurrent[lastIndex] = value;\n\t}\n\treturn data;\n}\n\n})();\n\t","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/limit.js":{"title":"$:/core/modules/filters/limit.js","text":"/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/links.js":{"title":"$:/core/modules/filters/links.js","text":"/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results.makeTiddlerIterator(options.wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/list.js":{"title":"$:/core/modules/filters/list.js","text":"/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/listed.js":{"title":"$:/core/modules/filters/listed.js","text":"/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/listops.js":{"title":"$:/core/modules/filters/listops.js","text":"/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nOrder a list\n*/\nexports.order = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operand.toLowerCase() === \"reverse\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.unshift(title);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tif(count === 0) return results;\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = count === 0 ? results.length : -count;\n\treturn results.slice(0,index);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,1),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n/*\nThe zero based nth member of the list\n*/\nexports.zth = function(source,operator,options) {\n\tvar count = $tw.utils.getInt(operator.operand,0),\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count,count + 1);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/lookup.js":{"title":"$:/core/modules/filters/lookup.js","text":"/*\\\ntitle: $:/core/modules/filters/lookup.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that looks up values via a title prefix\n\n[lookup:<defaultvalue>:<field OR index>[<prefix>],[<field-name OR index-name>]]\n\nPrepends the prefix to the selected items and returns the specified \nfield or index value. If the 2nd suffix does not exist, it defaults to field.\nIf the second operand is missing it defaults to \"text\" for fields, and \"0\" for indexes\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.lookup = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = operator.suffixes || [],\n\t\tdefaultSuffix = suffixes[0] ? (suffixes[0][0] || \"\") : \"\",\n\t\tindexSuffix = (suffixes[1] && suffixes[1][0] === \"index\") ? true : false,\n\t\ttarget;\n\tif(operator.operands.length == 2) {\n\t\ttarget = operator.operands[1]\n\t} else {\n\t\ttarget = indexSuffix ? \"0\": \"text\";\n\t}\n\tif(indexSuffix) {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar data = options.wiki.extractTiddlerDataItem(operator.operands[0]+title,target,defaultSuffix);\n\t\t\tresults.push(data);\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar value = defaultSuffix;\n\t\t\tvar targetTiddler = options.wiki.getTiddler(operator.operands[0]+title);\n\t\t\tif(targetTiddler && targetTiddler.getFieldString(target)) {\n\t\t\t\tvalue = targetTiddler.getFieldString(target);\n\t\t\t}\n\t\t\tresults.push(value);\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/match.js":{"title":"$:/core/modules/filters/match.js","text":"/*\\\ntitle: $:/core/modules/filters/match.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title matches a string\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.match = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() !== (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase() === (operator.operand || \"\").toLowerCase()) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/math.js":{"title":"$:/core/modules/filters/math.js","text":"/*\\\ntitle: $:/core/modules/filters/math.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for math. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\nNote that strings are converted to numbers automatically. Trailing non-digits are ignored.\n\n* \"\" converts to 0\n* \"12kk\" converts to 12\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.negate = makeNumericBinaryOperator(\n\tfunction(a) {return -a}\n);\n\nexports.abs = makeNumericBinaryOperator(\n\tfunction(a) {return Math.abs(a)}\n);\n\nexports.ceil = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(a)}\n);\n\nexports.floor = makeNumericBinaryOperator(\n\tfunction(a) {return Math.floor(a)}\n);\n\nexports.round = makeNumericBinaryOperator(\n\tfunction(a) {return Math.round(a)}\n);\n\nexports.trunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.trunc(a)}\n);\n\nexports.untrunc = makeNumericBinaryOperator(\n\tfunction(a) {return Math.ceil(Math.abs(a)) * Math.sign(a)}\n);\n\nexports.sign = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sign(a)}\n);\n\nexports.add = makeNumericBinaryOperator(\n\tfunction(a,b) {return a + b;}\n);\n\nexports.subtract = makeNumericBinaryOperator(\n\tfunction(a,b) {return a - b;}\n);\n\nexports.multiply = makeNumericBinaryOperator(\n\tfunction(a,b) {return a * b;}\n);\n\nexports.divide = makeNumericBinaryOperator(\n\tfunction(a,b) {return a / b;}\n);\n\nexports.remainder = makeNumericBinaryOperator(\n\tfunction(a,b) {return a % b;}\n);\n\nexports.max = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.max(a,b);}\n);\n\nexports.min = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.min(a,b);}\n);\n\nexports.fixed = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toFixed.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.precision = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toPrecision.call(a,Math.min(Math.max(b,1),100));}\n);\n\nexports.exponential = makeNumericBinaryOperator(\n\tfunction(a,b) {return Number.prototype.toExponential.call(a,Math.min(Math.max(b,0),100));}\n);\n\nexports.power = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.pow(a,b);}\n);\n\nexports.log = makeNumericBinaryOperator(\n\tfunction(a,b) {\n\t\tif(b) {\n\t\t\treturn Math.log(a)/Math.log(b);\n\t\t} else {\n\t\t\treturn Math.log(a);\n\t\t}\n\t}\n);\n\nexports.sum = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0 // Initial value\n);\n\nexports.product = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator * value},\n\t1 // Initial value\n);\n\nexports.maxall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.max(accumulator,value)},\n\t-Infinity // Initial value\n);\n\nexports.minall = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return Math.min(accumulator,value)},\n\tInfinity // Initial value\n);\n\nexports.median = makeNumericArrayOperator(\n\tfunction(values) {\n\t\tvar len = values.length, median;\n\t\tvalues.sort();\n\t\tif(len % 2) { \n\t\t\t// Odd, return the middle number\n\t\t\tmedian = values[(len - 1) / 2];\n\t\t} else {\n\t\t\t// Even, return average of two middle numbers\n\t\t\tmedian = (values[len / 2 - 1] + values[len / 2]) / 2;\n\t\t}\n\t\treturn [median];\n\t}\n);\n\nexports.average = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0, // Initial value\n\tfunction(finalValue,numberOfValues) {\n\t\treturn finalValue/numberOfValues;\n\t}\n);\n\nexports.variance = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0,\n\tfunction(finalValue,numberOfValues,originalValues) {\n\t\treturn getVarianceFromArray(originalValues,finalValue/numberOfValues);\n\t}\n);\n\nexports[\"standard-deviation\"] = makeNumericReducingOperator(\n\tfunction(accumulator,value) {return accumulator + value},\n\t0,\n\tfunction(finalValue,numberOfValues,originalValues) {\n\t\tvar variance = getVarianceFromArray(originalValues,finalValue/numberOfValues);\n\t\treturn Math.sqrt(variance);\n\t}\n);\n\n//trigonometry\nexports.cos = makeNumericBinaryOperator(\n\tfunction(a) {return Math.cos(a)}\n);\n\nexports.sin = makeNumericBinaryOperator(\n\tfunction(a) {return Math.sin(a)}\n);\n\nexports.tan = makeNumericBinaryOperator(\n\tfunction(a) {return Math.tan(a)}\n);\n\nexports.acos = makeNumericBinaryOperator(\n\tfunction(a) {return Math.acos(a)}\n);\n\nexports.asin = makeNumericBinaryOperator(\n\tfunction(a) {return Math.asin(a)}\n);\n\nexports.atan = makeNumericBinaryOperator(\n\tfunction(a) {return Math.atan(a)}\n);\n\nexports.atan2 = makeNumericBinaryOperator(\n\tfunction(a,b) {return Math.atan2(a,b)}\n);\n\n//Calculate the variance of a population of numbers in an array given its mean\nfunction getVarianceFromArray(values,mean) {\n\tvar deviationTotal = values.reduce(function(accumulator,value) {\n\t\treturn accumulator + Math.pow(value - mean, 2);\n\t},0);\n\treturn deviationTotal/values.length;\n};\n\nfunction makeNumericBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [],\n\t\t\tnumOperand = $tw.utils.parseNumber(operator.operand);\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.stringifyNumber(fnCalc($tw.utils.parseNumber(title),numOperand)));\n\t\t});\n\t\treturn result;\n\t};\n};\n\nfunction makeNumericReducingOperator(fnCalc,initialValue,fnFinal) {\n\tinitialValue = initialValue || 0;\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push($tw.utils.parseNumber(title));\n\t\t});\n\t\tvar value = result.reduce(function(accumulator,currentValue) {\n\t\t\t\treturn fnCalc(accumulator,currentValue);\n\t\t\t},initialValue);\n\t\tif(fnFinal) {\n\t\t\tvalue = fnFinal(value,result.length,result);\n\t\t}\n\t\treturn [$tw.utils.stringifyNumber(value)];\n\t};\n};\n\nfunction makeNumericArrayOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push($tw.utils.parseNumber(title));\n\t\t});\n\t\tresults = fnCalc(results);\n\t\t$tw.utils.each(results,function(value,index) {\n\t\t\tresults[index] = $tw.utils.stringifyNumber(value);\n\t\t});\n\t\treturn results;\n\t};\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/minlength.js":{"title":"$:/core/modules/filters/minlength.js","text":"/*\\\ntitle: $:/core/modules/filters/minlength.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for filtering out titles that don't meet the minimum length in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.minlength = function(source,operator,options) {\n\tvar results = [],\n\t\tminLength = parseInt(operator.operand || \"\",10) || 0;\n\tsource(function(tiddler,title) {\n\t\tif(title.length >= minLength) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/moduleproperty.js":{"title":"$:/core/modules/filters/moduleproperty.js","text":"/*\\\ntitle: $:/core/modules/filters/moduleproperty.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter [[module-name]moduleproperty[name]] retrieve a module property\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduleproperty = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar value = require(title)[operator.operand || \"\"];\n\t\tif(value !== undefined) {\n\t\t\tresults.push(value);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/modules.js":{"title":"$:/core/modules/filters/modules.js","text":"/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.operands.length >= 2) {\n\t\t// Return the modules that have the module property specified in the first operand with the value in the second operand\n\t\tsource(function(tiddler,title) {\n\t\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\t\tif(require(moduleName)[operator.operands[0]] === operator.operands[1]) {\n\t\t\t\t\tresults.push(moduleName);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\t// Return all the module names without filtering\n\t\tsource(function(tiddler,title) {\n\t\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\t\tresults.push(moduleName);\n\t\t\t});\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/moduletypes.js":{"title":"$:/core/modules/filters/moduletypes.js","text":"/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/next.js":{"title":"$:/core/modules/filters/next.js","text":"/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/plugintiddlers.js":{"title":"$:/core/modules/filters/plugintiddlers.js","text":"/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/prefix.js":{"title":"$:/core/modules/filters/prefix.js","text":"/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(0,operand.length) !== operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(0,operand.length) === operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/previous.js":{"title":"$:/core/modules/filters/previous.js","text":"/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/range.js":{"title":"$:/core/modules/filters/range.js","text":"/*\\\ntitle: $:/core/modules/filters/range.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for generating a numeric range.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.range = function(source,operator,options) {\n\tvar results = [];\n\t// For backwards compatibility, if there is only one operand, try to split it using one of the delimiters\n\tvar parts = operator.operands || [];\n\tif(parts.length === 1) {\n\t\tparts = operator.operand.split(/[,:;]/g);\n\t}\n\t// Process the parts\n\tvar beg, end, inc, i, fixed = 0;\n\tfor (i=0; i<parts.length; i++) {\n\t\t// Validate real number\n\t\tif(!/^\\s*[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))\\s*$/.test(parts[i])) {\n\t\t\treturn [\"range: bad number \\\"\" + parts[i] + \"\\\"\"];\n\t\t}\n\t\t// Count digits; the most precise number determines decimal places in output.\n\t\tvar frac = /\\.\\d+/.exec(parts[i]);\n\t\tif(frac) {\n\t\t\tfixed = Math.max(fixed,frac[0].length-1);\n\t\t}\n\t\tparts[i] = parseFloat(parts[i]);\n\t}\n\tswitch(parts.length) {\n\t\tcase 1:\n\t\t\tend = parts[0];\n\t\t\tif (end >= 1) {\n\t\t\t\tbeg = 1;\n\t\t\t}\n\t\t\telse if (end <= -1) {\n\t\t\t\tbeg = -1;\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = 1;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\tbeg = parts[0];\n\t\t\tend = parts[1];\n\t\t\tinc = Math.abs(parts[2]);\n\t\t\tbreak;\n\t}\n\tif(inc === 0) {\n\t\treturn [\"range: increment 0 causes infinite loop\"];\n\t}\n\t// May need to count backwards\n\tvar direction = ((end < beg) ? -1 : 1);\n\tinc *= direction;\n\t// Estimate number of resulting elements\n\tif((end - beg) / inc > 10000) {\n\t\treturn [\"range: too many steps (over 10K)\"];\n\t}\n\t// Avoid rounding error on last step\n\tend += direction * 0.5 * Math.pow(0.1,fixed);\n\tvar safety = 10010;\n\t// Enumerate the range\n\tif (end<beg) {\n\t\tfor(i=beg; i>end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tfor(i=beg; i<end; i+=inc) {\n\t\t\tresults.push(i.toFixed(fixed));\n\t\t\tif(--safety<0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(safety<0) {\n\t\treturn [\"range: unexpectedly large output\"];\n\t}\n\t// Reverse?\n\tif(operator.prefix === \"!\") {\n\t\tresults.reverse();\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/reduce.js":{"title":"$:/core/modules/filters/reduce.js","text":"/*\\\ntitle: $:/core/modules/filters/reduce.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator evaluates a subfilter for each item, making the running total available in the variable `accumulator`, and the current index available in the variable `index`\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.reduce = function(source,operator,options) {\n\t// Accumulate the list\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Run the filter over each item\n\tvar filterFn = options.wiki.compileFilter(operator.operand),\n\t\taccumulator = operator.operands[1] || \"\";\n\tfor(var index=0; index<results.length; index++) {\n\t\tvar title = results[index],\n\t\t\tlist = filterFn.call(options.wiki,options.wiki.makeTiddlerIterator([title]),options.widget.makeFakeWidgetWithVariables({\n\t\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\"),\n\t\t\t\t\"accumulator\": \"\" + accumulator,\n\t\t\t\t\"index\": \"\" + index,\n\t\t\t\t\"revIndex\": \"\" + (results.length - 1 - index),\n\t\t\t\t\"length\": \"\" + results.length\n\t\t\t}));\n\t\tif(list.length > 0) {\n\t\t\taccumulator = \"\" + list[0];\n\t\t}\n\t}\n\tif(results.length > 0) {\n\t\treturn [accumulator];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/regexp.js":{"title":"$:/core/modules/filters/regexp.js","text":"/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = operator.suffix || \"title\",\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/removeprefix.js":{"title":"$:/core/modules/filters/removeprefix.js","text":"/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.toLowerCase().substr(0,operand.length) === operand) {\n\t\t\t\tresults.push(title.substr(operand.length));\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/removesuffix.js":{"title":"$:/core/modules/filters/removesuffix.js","text":"/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif (!operator.operand) {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else if(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title && title.toLowerCase().substr(-operand.length) === operand) {\n\t\t\t\tresults.push(title.substr(0,title.length - operand.length));\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title && title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sameday.js":{"title":"$:/core/modules/filters/sameday.js","text":"/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tif(tiddler.getFieldDay(fieldName) === targetDate) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/search.js":{"title":"$:/core/modules/filters/search.js","text":"/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffixes) {\n\t\tvar hasFlag = function(flag) {\n\t\t\t\treturn (operator.suffixes[1] || []).indexOf(flag) !== -1;\n\t\t\t},\n\t\t\texcludeFields = false,\n\t\t\tfieldList = operator.suffixes[0] || [],\n\t\t\tfirstField = fieldList[0] || \"\", \n\t\t\tfirstChar = firstField.charAt(0),\n\t\t\tfields;\n\t\tif(firstChar === \"-\") {\n\t\t\tfields = [firstField.slice(1)].concat(fieldList.slice(1));\n\t\t\texcludeFields = true;\n\t\t} else if(fieldList[0] === \"*\"){\n\t\t\tfields = [];\n\t\t\texcludeFields = true;\n\t\t} else {\n\t\t\tfields = fieldList.slice(0);\n\t\t}\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: fields,\n\t\t\texcludeField: excludeFields,\n\t\t\tsome: hasFlag(\"some\"),\n\t\t\tcaseSensitive: hasFlag(\"casesensitive\"),\n\t\t\tliteral: hasFlag(\"literal\"),\n\t\t\twhitespace: hasFlag(\"whitespace\"),\n\t\t\tanchored: hasFlag(\"anchored\"),\n\t\t\tregexp: hasFlag(\"regexp\"),\n\t\t\twords: hasFlag(\"words\")\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/shadowsource.js":{"title":"$:/core/modules/filters/shadowsource.js","text":"/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/slugify.js":{"title":"$:/core/modules/filters/slugify.js","text":"/*\\\ntitle: $:/core/modules/filters/slugify.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for slugifying a tiddler title\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.slugify = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(options.wiki.slugify(title));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sort.js":{"title":"$:/core/modules/filters/sort.js","text":"/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortan = function(source, operator, options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results, operator.operand || \"title\", operator.prefix === \"!\",false,false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/sortsub.js":{"title":"$:/core/modules/filters/sortsub.js","text":"/*\\\ntitle: $:/core/modules/filters/sortsub.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting by a subfilter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sortsub = function(source,operator,options) {\n\t// Compile the subfilter\n\tvar filterFn = options.wiki.compileFilter(operator.operand);\n\t// Collect the input titles and the corresponding sort keys\n\tvar inputTitles = [],\n\t\tsortKeys = [];\n\tsource(function(tiddler,title) {\n\t\tinputTitles.push(title);\n\t\tvar r = filterFn.call(options.wiki,function(iterator) {\n\t\t\titerator(options.wiki.getTiddler(title),title);\n\t\t},options.widget.makeFakeWidgetWithVariables({\n\t\t\t\"currentTiddler\": \"\" + title,\n\t\t\t\"..currentTiddler\": options.widget.getVariable(\"currentTiddler\")\n\t\t}));\n\t\tsortKeys.push(r[0] || \"\");\n\t});\n\t// Rather than sorting the titles array, we'll sort the indexes so that we can consult both arrays\n\tvar indexes = new Array(inputTitles.length);\n\tfor(var t=0; t<inputTitles.length; t++) {\n\t\tindexes[t] = t;\n\t}\n\t// Sort the indexes\n\tvar compareFn = $tw.utils.makeCompareFunction(operator.suffix,{defaultType: \"string\",invert: operator.prefix === \"!\"});\n\tindexes = indexes.sort(function(a,b) {\n\t\treturn compareFn(sortKeys[a],sortKeys[b]);\n\t});\n\t// Make the results array in order\n\tvar results = [];\n\t$tw.utils.each(indexes,function(index) {\n\t\tresults.push(inputTitles[index]);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/splitbefore.js":{"title":"$:/core/modules/filters/splitbefore.js","text":"/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/storyviews.js":{"title":"$:/core/modules/filters/storyviews.js","text":"/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/strings.js":{"title":"$:/core/modules/filters/strings.js","text":"/*\\\ntitle: $:/core/modules/filters/strings.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for strings. Unary/binary operators work on each item in turn, and return a new item list.\n\nSum/product/maxall/minall operate on the entire list, returning a single item.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.length = makeStringBinaryOperator(\n\tfunction(a) {return [\"\" + (\"\" + a).length];}\n);\n\nexports.uppercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toUpperCase()];}\n);\n\nexports.lowercase = makeStringBinaryOperator(\n\tfunction(a) {return [(\"\" + a).toLowerCase()];}\n);\n\nexports.sentencecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toSentenceCase(a)];}\n);\n\nexports.titlecase = makeStringBinaryOperator(\n\tfunction(a) {return [$tw.utils.toTitleCase(a)];}\n);\n\nexports.trim = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\toperand = (operator.operand || \"\"),\n\t\tfnCalc;\n\tif(suffix === \"prefix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimPrefix(a,b)];}\n\t} else if(suffix === \"suffix\") {\n\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix(a,b)];}\n\t} else {\n\t\tif(operand === \"\") {\n\t\t\tfnCalc = function(a) {return [$tw.utils.trim(a)];}\n\t\t} else {\n\t\t\tfnCalc = function(a,b) {return [$tw.utils.trimSuffix($tw.utils.trimPrefix(a,b),b)];}\n\t\t}\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,fnCalc(title,operand));\n\t});\n\treturn result;\n};\n\nexports.split = makeStringBinaryOperator(\n\tfunction(a,b) {return (\"\" + a).split(b);}\n);\n\nexports[\"enlist-input\"] = makeStringBinaryOperator(\n\tfunction(a,o,s) {return $tw.utils.parseStringArray(\"\" + a,(s === \"raw\"));}\n);\n\nexports.join = makeStringReducingOperator(\n\tfunction(accumulator,value,operand) {\n\t\tif(accumulator === null) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn accumulator + operand + value;\n\t\t}\n\t},null\n);\n\nvar dmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nexports.levenshtein = makeStringBinaryOperator(\n\tfunction(a,b) {\n\t\tvar dmpObject = new dmp.diff_match_patch(),\n\t\t\tdiffs = dmpObject.diff_main(a,b);\n\t\treturn [dmpObject.diff_levenshtein(diffs) + \"\"];\n\t}\n);\n\n// these two functions are adapted from https://github.com/google/diff-match-patch/wiki/Line-or-Word-Diffs\nfunction diffLineWordMode(text1,text2,mode) {\n\tvar dmpObject = new dmp.diff_match_patch();\n\tvar a = diffPartsToChars(text1,text2,mode);\n\tvar lineText1 = a.chars1;\n\tvar lineText2 = a.chars2;\n\tvar lineArray = a.lineArray;\n\tvar diffs = dmpObject.diff_main(lineText1,lineText2,false);\n\tdmpObject.diff_charsToLines_(diffs,lineArray);\n\treturn diffs;\n}\n\nfunction diffPartsToChars(text1,text2,mode) {\n\tvar lineArray = [];\n\tvar lineHash = {};\n\tlineArray[0] = '';\n\n function diff_linesToPartsMunge_(text,mode) {\n var chars = '';\n var lineStart = 0;\n var lineEnd = -1;\n var lineArrayLength = lineArray.length,\n regexpResult;\n var searchRegexp = /\\W+/g;\n while(lineEnd < text.length - 1) {\n\t if(mode === \"words\") {\n regexpResult = searchRegexp.exec(text);\n lineEnd = searchRegexp.lastIndex;\n if(regexpResult === null) {\n lineEnd = text.length;\n }\n lineEnd = --lineEnd;\n } else {\n lineEnd = text.indexOf('\\n', lineStart);\n if(lineEnd == -1) {\n lineEnd = text.length - 1;\n }\n }\n var line = text.substring(lineStart, lineEnd + 1);\n\n if(lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : (lineHash[line] !== undefined)) {\n\t\t\t\tchars += String.fromCharCode(lineHash[line]);\n } else {\n if (lineArrayLength == maxLines) {\n line = text.substring(lineStart);\n lineEnd = text.length;\n }\n chars += String.fromCharCode(lineArrayLength);\n lineHash[line] = lineArrayLength;\n lineArray[lineArrayLength++] = line;\n }\n lineStart = lineEnd + 1;\n }\n return chars;\n }\n var maxLines = 40000;\n var chars1 = diff_linesToPartsMunge_(text1,mode);\n maxLines = 65535;\n var chars2 = diff_linesToPartsMunge_(text2,mode);\n return {chars1: chars1, chars2: chars2, lineArray: lineArray};\n};\n\nexports.makepatches = function(source,operator,options) {\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tsuffix = operator.suffix || \"\",\n\t\tresult = [];\n\t\t\n\t\tsource(function(tiddler,title) {\n\t\t\tvar diffs, patches;\n\t\t\tif(suffix === \"lines\" || suffix === \"words\") {\n\t\t\t\tdiffs = diffLineWordMode(title,operator.operand,suffix);\n\t\t\t\tpatches = dmpObject.patch_make(title,diffs);\n\t\t\t} else {\n\t\t\t\tpatches = dmpObject.patch_make(title,operator.operand);\n\t\t\t}\n\t\t\tArray.prototype.push.apply(result,[dmpObject.patch_toText(patches)]);\n\t\t});\n\n\treturn result;\n};\n\nexports.applypatches = makeStringBinaryOperator(\n\tfunction(a,b) {\n\t\tvar dmpObject = new dmp.diff_match_patch(),\n\t\t\tpatches;\n\t\ttry {\n\t\t\tpatches = dmpObject.patch_fromText(b);\n\t\t} catch(e) {\n\t\t}\n\t\tif(patches) {\n\t\t\treturn [dmpObject.patch_apply(patches,a)[0]];\n\t\t} else {\n\t\t\treturn [a];\n\t\t}\n\t}\n);\n\nfunction makeStringBinaryOperator(fnCalc) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tArray.prototype.push.apply(result,fnCalc(title,operator.operand || \"\",operator.suffix || \"\"));\n\t\t});\n\t\treturn result;\n\t};\n}\n\nfunction makeStringReducingOperator(fnCalc,initialValue) {\n\treturn function(source,operator,options) {\n\t\tvar result = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tresult.push(title);\n\t\t});\n\t\tif(result.length === 0) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [result.reduce(function(accumulator,currentValue) {\n\t\t\treturn fnCalc(accumulator,currentValue,operator.operand || \"\");\n\t\t},initialValue) || \"\"];\n\t};\n}\n\nexports.splitregexp = function(source,operator,options) {\n\tvar result = [],\n\t\tsuffix = operator.suffix || \"\",\n\t\tflags = (suffix.indexOf(\"m\") !== -1 ? \"m\" : \"\") + (suffix.indexOf(\"i\") !== -1 ? \"i\" : \"\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(operator.operand || \"\",flags);\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\tsource(function(tiddler,title) {\n\t\tArray.prototype.push.apply(result,title.split(regExp));\n\t});\n\treturn result;\n};\n\nexports[\"search-replace\"] = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = operator.suffixes || [],\n\t\tflagSuffix = (suffixes[0] ? (suffixes[0][0] || \"\") : \"\"),\n\t\tflags = (flagSuffix.indexOf(\"g\") !== -1 ? \"g\" : \"\") + (flagSuffix.indexOf(\"i\") !== -1 ? \"i\" : \"\") + (flagSuffix.indexOf(\"m\") !== -1 ? \"m\" : \"\"),\n\t\tisRegExp = (suffixes[1] && suffixes[1][0] === \"regexp\") ? true : false,\n\t\t//Escape regexp characters if the operand is not a regular expression\n\t\tsearchTerm = isRegExp ? operator.operand : $tw.utils.escapeRegExp(operator.operand),\n\t\t//Escape $ character in replacement string if not in regular expression mode\n\t\treplacement = isRegExp ? operator.operands[1] : (operator.operands[1]||\"\").replace(/\\$/g,\"$$$$\"),\n\t\tregExp;\n\ttry {\n\t\tregExp = new RegExp(searchTerm,flags);\n\t} catch(ex) {\n\t\treturn [\"RegExp error: \" + ex];\n\t}\n\n\tsource(function(tiddler,title) {\n\t\tif(title && (operator.operands.length > 1)) {\n\t\t\tresults.push(\n\t\t\t\ttitle.replace(regExp,replacement)\n\t\t\t);\n\t\t\tregExp.lastIndex = 0;\n\t\t} else {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\nexports.pad = function(source,operator,options) {\n\tvar results = [],\n\t\ttargetLength = operator.operand ? parseInt(operator.operand) : 0,\n\t\tfill = operator.operands[1] || \"0\";\n\n\tsource(function(tiddler,title) {\n\t\tif(title && title.length) {\n\t\t\tif(title.length >= targetLength) {\n\t\t\t\tresults.push(title);\n\t\t\t} else {\n\t\t\t\tvar padString = \"\",\n\t\t\t\t\tpadStringLength = targetLength - title.length;\n\t\t\t\twhile (padStringLength > padString.length) {\n\t\t\t\t\tpadString += fill;\n\t\t\t\t}\n\t\t\t\t//make sure we do not exceed the specified length\n\t\t\t\tpadString = padString.slice(0,padStringLength);\n\t\t\t\tif(operator.suffix && (operator.suffix === \"suffix\")) {\n\t\t\t\t\ttitle = title + padString;\n\t\t\t\t} else {\n\t\t\t\t\ttitle = padString + title;\n\t\t\t\t}\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n}\n\nexports.charcode = function(source,operator,options) {\n\tvar chars = [];\n\t$tw.utils.each(operator.operands,function(operand) {\n\t\tif(operand !== \"\") {\n\t\t\tchars.push(String.fromCharCode($tw.utils.parseInt(operand)));\n\t\t}\n\t});\n\treturn [chars.join(\"\")];\n};\n\n})();","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/subfilter.js":{"title":"$:/core/modules/filters/subfilter.js","text":"/*\\\ntitle: $:/core/modules/filters/subfilter.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning its operand evaluated as a filter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subfilter = function(source,operator,options) {\n\tvar list = options.wiki.filterTiddlers(operator.operand,options.widget,source);\n\tif(operator.prefix === \"!\") {\n\t\tvar results = [];\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t} else {\n\t\treturn list;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/substitute.js":{"title":"$:/core/modules/filters/substitute.js","text":"/*\\\ntitle: $:/core/modules/filters/substitute.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for substituting variables and embedded filter expressions with their corresponding values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.substitute = function(source,operator,options) {\n\tvar results = [],\n\t\toperands = [];\n\t$tw.utils.each(operator.operands,function(operand,index){\n\t\toperands.push({\n\t\t\tname: (index + 1).toString(),\n\t\t\tvalue: operand\n\t\t});\n\t});\n\tsource(function(tiddler,title) {\n\t\tif(title) {\n\t\t\tresults.push(options.wiki.getSubstitutedText(title,options.widget,{substitutions:operands}));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n ","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/subtiddlerfields.js":{"title":"$:/core/modules/filters/subtiddlerfields.js","text":"/*\\\ntitle: $:/core/modules/filters/subtiddlerfields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected subtiddlers of the plugin named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.subtiddlerfields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar subtiddler = options.wiki.getSubTiddler(operator.operand,title);\n\t\tif(subtiddler) {\n\t\t\tfor(var fieldName in subtiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/suffix.js":{"title":"$:/core/modules/filters/suffix.js","text":"/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [],\n\t\tsuffixes = (operator.suffixes || [])[0] || [];\n\tif (!operator.operand) {\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else if(suffixes.indexOf(\"caseinsensitive\") !== -1) {\n\t\tvar operand = operator.operand.toLowerCase();\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(-operand.length) !== operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.toLowerCase().substr(-operand.length) === operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.prefix === \"!\") {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tag.js":{"title":"$:/core/modules/filters/tag.js","text":"/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [],indexedResults;\n\tif((operator.suffix || \"\").toLowerCase() === \"strict\" && !operator.operand) {\n\t\t// New semantics:\n\t\t// Always return copy of input if operator.operand is missing\n\t\tsource(function(tiddler,title) {\n\t\t\tresults.push(title);\n\t\t});\n\t} else {\n\t\t// Old semantics:\n\t\tvar tiddlers;\n\t\tif(operator.prefix === \"!\") {\n\t\t\t// Returns a copy of the input if operator.operand is missing\n\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddlers.indexOf(title) === -1) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// Returns empty results if operator.operand is missing\n\t\t\tif(source.byTag) {\n\t\t\t\tindexedResults = source.byTag(operator.operand);\n\t\t\t\tif(indexedResults) {\n\t\t\t\t\treturn indexedResults;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttiddlers = options.wiki.getTiddlersWithTag(operator.operand);\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(tiddlers.indexOf(title) !== -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tagging.js":{"title":"$:/core/modules/filters/tagging.js","text":"/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/tags.js":{"title":"$:/core/modules/filters/tags.js","text":"/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/then.js":{"title":"$:/core/modules/filters/then.js","text":"/*\\\ntitle: $:/core/modules/filters/then.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing any titles with a constant\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.then = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/title.js":{"title":"$:/core/modules/filters/title.js","text":"/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/transcludes.js":{"title":"$:/core/modules/filters/transcludes.js","text":"/*\\\ntitle: $:/core/modules/filters/transcludes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the transcludes from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.transcludes = function(source,operator,options) {\n\tvar results = new $tw.utils.LinkedList();\n\tsource(function(tiddler,title) {\n\t\tresults.pushTop(options.wiki.getTiddlerTranscludes(title));\n\t});\n\treturn results.toArray();\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/unknown.js":{"title":"$:/core/modules/filters/unknown.js","text":"/*\\\ntitle: $:/core/modules/filters/unknown.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for handling unknown filter operators.\n\nNot intended to be used directly by end users, hence the square brackets around the name.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fieldFilterOperatorFn = require(\"$:/core/modules/filters/field.js\").field;\n\n/*\nExport our filter function\n*/\nexports[\"[unknown]\"] = function(source,operator,options) {\n\t// Check for a user defined filter operator\n\tif(operator.operator.indexOf(\".\") !== -1) {\n\t\tvar params = [];\n\t\t$tw.utils.each(operator.operands,function(param) {\n\t\t\tparams.push({value: param});\n\t\t});\t\n\t\tvar variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(operator.operator,{params: params, source: source});\n\t\tif(variableInfo && variableInfo.srcVariable) {\n\t\t\tvar list = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];\n\t\t\tif(operator.prefix === \"!\") {\n\t\t\t\tvar results = [];\n\t\t\t\tsource(function(tiddler,title) {\n\t\t\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t}\n\t// Otherwise, use the \"field\" operator\n\treturn fieldFilterOperatorFn(source,operator,options);\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/untagged.js":{"title":"$:/core/modules/filters/untagged.js","text":"/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [],\n\t\texpected = (operator.prefix === \"!\");\n\tsource(function(tiddler,title) {\n\t\tif(((tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) === expected) || (!tiddler && !expected)) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/variables.js":{"title":"$:/core/modules/filters/variables.js","text":"/*\\\ntitle: $:/core/modules/filters/variables.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the active variables\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.variables = function(source,operator,options) {\n\tvar names = [],\n\t\twidget = options.widget;\n\twhile(widget && !widget.hasOwnProperty(\"variables\")) {\n\t\twidget = widget.parentWidget;\n\t}\n\tif(widget && widget.variables) {\n\t\tfor(var variable in widget.variables) {\n\t\t\tnames.push(variable);\n\t\t}\n\t}\n\treturn names.sort();\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/wikiparserrules.js":{"title":"$:/core/modules/filters/wikiparserrules.js","text":"/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [],\n\t\toperand = operator.operand;\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(!operand || exp.types[operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters/x-listops.js":{"title":"$:/core/modules/filters/x-listops.js","text":"/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n\t/*jslint node: true, browser: true */\n\t/*global $tw: false */\n\t\"use strict\";\n\n\t/*\n\tFetch titles from the current list\n\t*/\n\tvar prepare_results = function (source) {\n\tvar results = [];\n\t\tsource(function (tiddler, title) {\n\t\t\tresults.push(title);\n\t\t});\n\t\treturn results;\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list before the item named in the operand\n\t*/\n\texports.putbefore = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -1) :\n\t\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list after the item named in the operand\n\t*/\n\texports.putafter = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -1) :\n\t\t\tresults.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n\t};\n\n\t/*\n\tReplaces the item named in the operand with a number of items from the tail of the current list\n\t*/\n\texports.replace = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn (index === -1) ?\n\t\t\tresults.slice(0, -count) :\n\t\t\tresults.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the tail of the current list to the head of the list\n\t*/\n\texports.putfirst = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn results.slice(-count).concat(results.slice(0, -count));\n\t};\n\n\t/*\n\tMoves a number of items from the head of the current list to the tail of the list\n\t*/\n\texports.putlast = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1);\n\t\treturn results.slice(count).concat(results.slice(0, count));\n\t};\n\n\t/*\n\tMoves the item named in the operand a number of places forward or backward in the list\n\t*/\n\texports.move = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,1),\n\t\t\tmarker = results.splice(index, 1),\n\t\t\toffset = (index + count) > 0 ? index + count : 0;\n\t\treturn results.slice(0, offset).concat(marker).concat(results.slice(offset));\n\t};\n\n\t/*\n\tReturns the items from the current list that are after the item named in the operand\n\t*/\n\texports.allafter = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand);\n\t\treturn (index === -1) ? [] :\n\t\t\t(operator.suffix) ? results.slice(index) :\n\t\t\tresults.slice(index + 1);\n\t};\n\n\t/*\n\tReturns the items from the current list that are before the item named in the operand\n\t*/\n\texports.allbefore = function (source, operator) {\n\t\tvar results = prepare_results(source),\n\t\t\tindex = results.indexOf(operator.operand);\n\t\treturn (index === -1) ? [] :\n\t\t\t(operator.suffix) ? results.slice(0, index + 1) :\n\t\t\tresults.slice(0, index);\n\t};\n\n\t/*\n\tAppends the items listed in the operand array to the tail of the current list\n\t*/\n\texports.append = function (source, operator) {\n\t\tvar append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = parseInt(operator.suffix) || append.length;\n\t\treturn (append.length === 0) ? results :\n\t\t\t(operator.prefix) ? results.concat(append.slice(-count)) :\n\t\t\tresults.concat(append.slice(0, count));\n\t};\n\n\t/*\n\tPrepends the items listed in the operand array to the head of the current list\n\t*/\n\texports.prepend = function (source, operator) {\n\t\tvar prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = $tw.utils.getInt(operator.suffix,prepend.length);\n\t\treturn (prepend.length === 0) ? results :\n\t\t\t(operator.prefix) ? prepend.slice(-count).concat(results) :\n\t\t\tprepend.slice(0, count).concat(results);\n\t};\n\n\t/*\n\tReturns all items from the current list except the items listed in the operand array\n\t*/\n\texports.remove = function (source, operator) {\n\t\tvar array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n\t\t\tresults = prepare_results(source),\n\t\t\tcount = parseInt(operator.suffix) || array.length,\n\t\t\tp,\n\t\t\tlen,\n\t\t\tindex;\n\t\tlen = array.length - 1;\n\t\tfor (p = 0; p < count; ++p) {\n\t\t\tif (operator.prefix) {\n\t\t\t\tindex = results.indexOf(array[len - p]);\n\t\t\t} else {\n\t\t\t\tindex = results.indexOf(array[p]);\n\t\t\t}\n\t\t\tif (index !== -1) {\n\t\t\t\tresults.splice(index, 1);\n\t\t\t}\n\t\t}\n\t\treturn results;\n\t};\n\n\t/*\n\tReturns all items from the current list sorted in the order of the items in the operand array\n\t*/\n\texports.sortby = function (source, operator) {\n\t\tvar results = prepare_results(source);\n\t\tif (!results || results.length < 2) {\n\t\t\treturn results;\n\t\t}\n\t\tvar lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n\t\tresults.sort(function (a, b) {\n\t\t\treturn lookup.indexOf(a) - lookup.indexOf(b);\n\t\t});\n\t\treturn results;\n\t};\n\n\t/*\n\tRemoves all duplicate items from the current list\n\t*/\n\texports.unique = function (source, operator) {\n\t\tvar results = prepare_results(source);\n\t\tvar set = results.reduce(function (a, b) {\n\t\t\tif (a.indexOf(b) < 0) {\n\t\t\t\ta.push(b);\n\t\t\t}\n\t\t\treturn a;\n\t\t}, []);\n\t\treturn set;\n\t};\n\n\tvar cycleValueInArray = function(results,operands,stepSize) {\n\t\tvar resultsIndex,\n\t\t\tstep = stepSize || 1,\n\t\t\ti = 0,\n\t\t\topLength = operands.length,\n\t\t\tnextOperandIndex;\n\t\tfor(i; i < opLength; i++) {\n\t\t\tresultsIndex = results.indexOf(operands[i]);\n\t\t\tif(resultsIndex !== -1) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(resultsIndex !== -1) {\n\t\t\ti = i + step;\n\t\t\tnextOperandIndex = (i < opLength ? i : i % opLength);\n\t\t\tif(operands.length > 1) {\n\t\t\t\tresults.splice(resultsIndex,1,operands[nextOperandIndex]);\n\t\t\t} else {\n\t\t\t\tresults.splice(resultsIndex,1);\n\t\t\t}\n\t\t} else {\n\t\t\tresults.push(operands[0]);\n\t\t}\n\t\treturn results;\n\t}\n\n\t/*\n\tToggles an item in the current list.\n\t*/\n\texports.toggle = function(source,operator) {\n\t\treturn cycleValueInArray(prepare_results(source),operator.operands);\n\t}\n\n\texports.cycle = function(source,operator) {\n\t\tvar results = prepare_results(source),\n\t\t\toperands = (operator.operand.length ? $tw.utils.parseStringArray(operator.operand, \"true\") : [\"\"]),\n\t\t\tstep = $tw.utils.getInt(operator.operands[1]||\"\",1);\n\t\tif(step < 0) {\n\t\t\toperands.reverse();\n\t\t\tstep = Math.abs(step);\n\t\t}\n\t\treturn cycleValueInArray(results,operands,step);\n\t}\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/core/modules/filters.js":{"title":"$:/core/modules/filters.js","text":"/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widgetClass = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/* Maximum permitted filter recursion depth */\nvar MAX_FILTER_DEPTH = 300;\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar nextBracketPos, operator;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tnextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\t// The raw suffix for older filters\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t\t// The processed suffix for newer filters\n\t\t\toperator.suffixes = [];\n\t\t\t$tw.utils.each(operator.suffix.split(\":\"),function(subsuffix) {\n\t\t\t\toperator.suffixes.push([]);\n\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\tif(entry) {\n\t\t\t\t\t\toperator.suffixes[operator.suffixes.length - 1].push(entry); \n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\t\toperator.operands = [];\n\t\tvar parseOperand = function(bracketType) {\n\t\t\tvar operand = {};\n\t\t\tswitch (bracketType) {\n\t\t\t\tcase \"{\": // Curly brackets\n\t\t\t\t\toperand.indirect = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"[\": // Square brackets\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<\": // Angle brackets\n\t\t\t\t\toperand.variable = true;\n\t\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"/\": // regexp brackets\n\t\t\t\t\tvar rex = /^((?:[^\\\\\\/]|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\t\tif(rexMatch) {\n\t\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n\t// DEPRECATION WARNING\n\tconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif(nextBracketPos === -1) {\n\t\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t\t}\n\t\t\tif(operator.regexp) {\n\t\t\t\toperand.text = \"\";\n\t\t\t} else {\n\t\t\t\toperand.text = filterString.substring(p,nextBracketPos);\n\t\t\t}\n\t\t\toperator.operands.push(operand);\n\t\t\tp = nextBracketPos + 1;\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tparseOperand(bracket);\n\n\t\t// Check for multiple operands\n\t\twhile(filterString.charAt(p) === \",\") {\n\t\t\tp++;\n\t\t\tif(/^[\\[\\{<\\/]/.test(filterString.substring(p))) {\n\t\t\t\tnextBracketPos = p;\n\t\t\t\tp++;\n\t\t\t\tparseOperand(filterString.charAt(nextBracketPos));\n\t\t\t} else {\n\t\t\t\tthrow \"Missing [ in filter expression\";\n\t\t\t}\n\t\t}\n\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-|~|=|\\:(\\w+)(?:\\:([\\w\\:, ]*))?)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp = p + operation.prefix.length;\n\t\t\t\tif(match[2]) {\n\t\t\t\t\toperation.namedPrefix = match[2];\n\t\t\t\t}\n\t\t\t\tif(match[3]) {\n\t\t\t\t\toperation.suffixes = [];\n\t\t\t\t\t $tw.utils.each(match[3].split(\":\"),function(subsuffix) {\n\t\t\t\t\t\toperation.suffixes.push([]);\n\t\t\t\t\t\t$tw.utils.each(subsuffix.split(\",\"),function(entry) {\n\t\t\t\t\t\t\tentry = $tw.utils.trim(entry);\n\t\t\t\t\t\t\tif(entry) {\n\t\t\t\t\t\t\t\toperation.suffixes[operation.suffixes.length -1].push(entry);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t });\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(match[4]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[5] || match[6] || match[7]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operands: [{text: match[5] || match[6] || match[7]}]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.getFilterRunPrefixes = function() {\n\tif(!this.filterRunPrefixes) {\n\t\t$tw.Wiki.prototype.filterRunPrefixes = {};\n\t\t$tw.modules.applyMethods(\"filterrunprefix\",this.filterRunPrefixes);\n\t}\n\treturn this.filterRunPrefixes;\n}\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tif(!this.filterCache) {\n\t\tthis.filterCache = Object.create(null);\n\t\tthis.filterCacheCount = 0;\n\t}\n\tif(this.filterCache[filterString] !== undefined) {\n\t\treturn this.filterCache[filterString];\n\t}\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\t// We do not cache this result, so it adjusts along with localization changes\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operands = [],\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\t// Use the \"title\" operator if no operator is specified\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\t// Unknown operators treated as \"[unknown]\" - at run time we can distinguish between a custom operator and falling back to the default \"field\" operator\n\t\t\t\t\toperatorFunction = filterOperators[\"[unknown]\"];\n\t\t\t\t} else {\n\t\t\t\t\t// Use the operator function\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\t$tw.utils.each(operator.operands,function(operand) {\n\t\t\t\t\tif(operand.indirect) {\n\t\t\t\t\t\toperand.value = self.getTextReference(operand.text,\"\",currTiddlerTitle);\n\t\t\t\t\t} else if(operand.variable) {\n\t\t\t\t\t\tvar varTree = $tw.utils.parseFilterVariable(operand.text);\n\t\t\t\t\t\toperand.value = widgetClass.evaluateVariable(widget,varTree.name,{params: varTree.params, source: source})[0] || \"\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\toperand.value = operand.text;\n\t\t\t\t\t}\n\t\t\t\t\toperands.push(operand.value);\n\t\t\t\t});\n\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operands.length > 0 ? operands[0] : undefined,\n\t\t\t\t\t\t\toperands: operands,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tsuffixes: operator.suffixes,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\tvar filterRunPrefixes = self.getFilterRunPrefixes();\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tvar options = {wiki: self, suffixes: operation.suffixes || []};\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn filterRunPrefixes[\"or\"](operationSubFunction, options);\n\t\t\t\tcase \"=\": // The results of the operation are pushed into the result without deduplication\n\t\t\t\t\treturn filterRunPrefixes[\"all\"](operationSubFunction, options);\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn filterRunPrefixes[\"except\"](operationSubFunction, options);\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn filterRunPrefixes[\"and\"](operationSubFunction, options);\n\t\t\t\tcase \"~\": // This operation is unioned into the result only if the main result so far is empty\n\t\t\t\t\treturn filterRunPrefixes[\"else\"](operationSubFunction, options);\n\t\t\t\tdefault: \n\t\t\t\t\tif(operation.namedPrefix && filterRunPrefixes[operation.namedPrefix]) {\n\t\t\t\t\t\treturn filterRunPrefixes[operation.namedPrefix](operationSubFunction, options);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t\tresults.clear();\n\t\t\t\t\t\t\tresults.push($tw.language.getString(\"Error/FilterRunPrefix\"));\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\tvar fnMeasured = $tw.perf.measure(\"filter: \" + filterString,function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tif(!widget) {\n\t\t\twidget = $tw.rootWidget;\n\t\t}\n\t\tvar results = new $tw.utils.LinkedList();\n\t\tself.filterRecursionCount = (self.filterRecursionCount || 0) + 1;\n\t\tif(self.filterRecursionCount < MAX_FILTER_DEPTH) {\n\t\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\t\toperationFunction(results,source,widget);\n\t\t\t});\n\t\t} else {\n\t\t\tresults.push(\"/**-- Excessive filter recursion --**/\");\n\t\t}\n\t\tself.filterRecursionCount = self.filterRecursionCount - 1;\n\t\treturn results.toArray();\n\t});\n\tif(this.filterCacheCount >= 2000) {\n\t\t// To prevent memory leak, we maintain an upper limit for cache size.\n\t\t// Reset if exceeded. This should give us 95% of the benefit\n\t\t// that no cache limit would give us.\n\t\tthis.filterCache = Object.create(null);\n\t\tthis.filterCacheCount = 0;\n\t}\n\tthis.filterCache[filterString] = fnMeasured;\n\tthis.filterCacheCount++;\n\treturn fnMeasured;\n};\n\n})();\n","type":"application/javascript","module-type":"wikimethod"},"$:/core/modules/indexers/back-indexer.js":{"title":"$:/core/modules/indexers/back-indexer.js","text":"/*\\\ntitle: $:/core/modules/indexers/back-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nBy parsing the tiddler text, indexes the tiddlers' back links, back transclusions, block level back links.\n\n\\*/\nfunction BackIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nBackIndexer.prototype.init = function() {\n\tthis.subIndexers = {\n\t\tlink: new BackSubIndexer(this,\"extractLinks\"),\n\t\ttransclude: new BackSubIndexer(this,\"extractTranscludes\"),\n\t};\n};\n\nBackIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nBackIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\nfunction BackSubIndexer(indexer,extractor) {\n\tthis.wiki = indexer.wiki;\n\tthis.indexer = indexer;\n\tthis.extractor = extractor;\n\t/**\n\t * {\n\t * [target title, e.g. tiddler title being linked to]:\n\t * {\n\t * \t\t [source title, e.g. tiddler title that has link syntax in its text]: true\n\t * \t }\n\t * }\n\t */\n\tthis.index = null;\n}\n\nBackSubIndexer.prototype.init = function() {\n\t// lazy init until first lookup\n\tthis.index = null;\n}\n\nBackSubIndexer.prototype._init = function() {\n\tthis.index = Object.create(null);\n\tvar self = this;\n\tthis.wiki.forEachTiddler(function(sourceTitle,tiddler) {\n\t\tvar newTargets = self._getTarget(tiddler);\n\t\t$tw.utils.each(newTargets, function(target) {\n\t\t\tif(!self.index[target]) {\n\t\t\t\tself.index[target] = Object.create(null);\n\t\t\t}\n\t\t\tself.index[target][sourceTitle] = true;\n\t\t});\n\t});\n}\n\nBackSubIndexer.prototype.rebuild = function() {\n\tthis.index = null;\n}\n\n/*\n* Get things that is being referenced in the text, e.g. tiddler names in the link syntax.\n*/\nBackSubIndexer.prototype._getTarget = function(tiddler) {\n\tvar parser = this.wiki.parseText(tiddler.fields.type, tiddler.fields.text, {});\n\tif(parser) {\n\t\treturn this.wiki[this.extractor](parser.tree);\n\t}\n\treturn [];\n}\n\nBackSubIndexer.prototype.update = function(updateDescriptor) {\n\t// lazy init/update until first lookup\n\tif(!this.index) {\n\t\treturn;\n\t}\n\tvar newTargets = [],\n\t oldTargets = [],\n\t self = this;\n\tif(updateDescriptor.old.exists) {\n\t\toldTargets = this._getTarget(updateDescriptor.old.tiddler);\n\t}\n\tif(updateDescriptor.new.exists) {\n\t\tnewTargets = this._getTarget(updateDescriptor.new.tiddler);\n\t}\n\n\t$tw.utils.each(oldTargets,function(target) {\n\t\tif(self.index[target]) {\n\t\t\tdelete self.index[target][updateDescriptor.old.tiddler.fields.title];\n\t\t}\n\t});\n\t$tw.utils.each(newTargets,function(target) {\n\t\tif(!self.index[target]) {\n\t\t\tself.index[target] = Object.create(null);\n\t\t}\n\t\tself.index[target][updateDescriptor.new.tiddler.fields.title] = true;\n\t});\n}\n\nBackSubIndexer.prototype.lookup = function(title) {\n\tif(!this.index) {\n\t\tthis._init();\n\t}\n\tif(this.index[title]) {\n\t\treturn Object.keys(this.index[title]);\n\t} else {\n\t\treturn [];\n\t}\n}\n\nexports.BackIndexer = BackIndexer;\n","type":"application/javascript","module-type":"indexer"},"$:/core/modules/indexers/field-indexer.js":{"title":"$:/core/modules/indexers/field-indexer.js","text":"/*\\\ntitle: $:/core/modules/indexers/field-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each field value\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nvar DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH = 128;\n\nfunction FieldIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nFieldIndexer.prototype.init = function() {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = DEFAULT_MAXIMUM_INDEXED_VALUE_LENGTH;\n\tthis.addIndexMethods();\n}\n\n// Provided for testing\nFieldIndexer.prototype.setMaxIndexedValueLength = function(length) {\n\tthis.index = null;\n\tthis.maxIndexedValueLength = length;\n};\n\nFieldIndexer.prototype.addIndexMethods = function() {\n\tvar self = this;\n\t// get all tiddlers, including those overwrite shadow tiddlers\n\tthis.wiki.each.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn self.wiki.tiddlerExists(title)\n\t\t});\n\t};\n\t// get shadow tiddlers, including shadow tiddlers that is overwritten\n\tthis.wiki.eachShadow.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup && lookup.filter(function(title) {\n\t\t\treturn self.wiki.isShadowTiddler(title)\n\t\t});\n\t};\n\tthis.wiki.eachTiddlerPlusShadows.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n\tthis.wiki.eachShadowPlusTiddlers.byField = function(name,value) {\n\t\tvar lookup = self.lookup(name,value);\n\t\treturn lookup ? lookup.slice(0) : null;\n\t};\n};\n\n/*\nTear down and then rebuild the index as if all tiddlers have changed\n*/\nFieldIndexer.prototype.rebuild = function() {\n\t// Invalidate the index so that it will be rebuilt when it is next used\n\tthis.index = null;\n};\n\n/*\nBuild the index for a particular field\n*/\nFieldIndexer.prototype.buildIndexForField = function(name) {\n\tvar self = this;\n\t// Hashmap by field name of hashmap by field value of array of tiddler titles\n\tthis.index = this.index || Object.create(null);\n\tthis.index[name] = Object.create(null);\n\tvar baseIndex = this.index[name];\n\t// Update the index for each tiddler\n\tthis.wiki.eachTiddlerPlusShadows(function(tiddler,title) {\n\t\tif(name in tiddler.fields) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t// Skip any values above the maximum length\n\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\tbaseIndex[value] = baseIndex[value] || [];\n\t\t\t\tbaseIndex[value].push(title);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nUpdate the index in the light of a tiddler value changing; note that the title must be identical. (Renames are handled as a separate delete and create)\nupdateDescriptor: {old: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>},new: {tiddler: <tiddler>, shadow: <boolean>, exists: <boolean>}}\n*/\nFieldIndexer.prototype.update = function(updateDescriptor) {\n\tvar self = this;\n\t// Don't do anything if the index hasn't been built yet\n\tif(this.index === null) {\n\t\treturn;\n\t}\n\t// Remove the old tiddler from the index\n\tif(updateDescriptor.old.tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor.old.tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor.old.tiddler.getFieldString(name),\n\t\t\t\t\ttiddlerList = indexEntry[value];\n\t\t\t\tif(tiddlerList) {\n\t\t\t\t\tvar index = tiddlerList.indexOf(updateDescriptor.old.tiddler.fields.title);\n\t\t\t\t\tif(index !== -1) {\n\t\t\t\t\t\ttiddlerList.splice(index,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\t// Add the new tiddler to the index\n\tif(updateDescriptor[\"new\"].tiddler) {\n\t\t$tw.utils.each(this.index,function(indexEntry,name) {\n\t\t\tif(name in updateDescriptor[\"new\"].tiddler.fields) {\n\t\t\t\tvar value = updateDescriptor[\"new\"].tiddler.getFieldString(name);\n\t\t\t\tif(value.length < self.maxIndexedValueLength) {\n\t\t\t\t\tindexEntry[value] = indexEntry[value] || [];\n\t\t\t\t\tindexEntry[value].push(updateDescriptor[\"new\"].tiddler.fields.title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n// Lookup the given field returning a list of tiddler titles\nFieldIndexer.prototype.lookup = function(name,value) {\n\t// Fail the lookup if the value is too long\n\tif(value.length >= this.maxIndexedValueLength) {\n\t\treturn null;\n\t}\n\t// Update the index if it has yet to be built\n\tif(this.index === null || !this.index[name]) {\n\t\tthis.buildIndexForField(name);\n\t}\n\treturn this.index[name][value] || [];\n};\n\nexports.FieldIndexer = FieldIndexer;\n\n})();\n","type":"application/javascript","module-type":"indexer"},"$:/core/modules/indexers/tag-indexer.js":{"title":"$:/core/modules/indexers/tag-indexer.js","text":"/*\\\ntitle: $:/core/modules/indexers/tag-indexer.js\ntype: application/javascript\nmodule-type: indexer\n\nIndexes the tiddlers with each tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global modules: false */\n\"use strict\";\n\nfunction TagIndexer(wiki) {\n\tthis.wiki = wiki;\n}\n\nTagIndexer.prototype.init = function() {\n\tthis.subIndexers = [\n\t\tnew TagSubIndexer(this,\"each\"),\n\t\tnew TagSubIndexer(this,\"eachShadow\"),\n\t\tnew TagSubIndexer(this,\"eachTiddlerPlusShadows\"),\n\t\tnew TagSubIndexer(this,\"eachShadowPlusTiddlers\")\n\t];\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.addIndexMethod();\n\t});\n};\n\nTagIndexer.prototype.rebuild = function() {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.rebuild();\n\t});\n};\n\nTagIndexer.prototype.update = function(updateDescriptor) {\n\t$tw.utils.each(this.subIndexers,function(subIndexer) {\n\t\tsubIndexer.update(updateDescriptor);\n\t});\n};\n\nfunction TagSubIndexer(indexer,iteratorMethod) {\n\tthis.indexer = indexer;\n\tthis.iteratorMethod = iteratorMethod;\n\tthis.index = null; // Hashmap of tag title to {isSorted: bool, titles: [array]} or null if not yet initialised\n}\n\nTagSubIndexer.prototype.addIndexMethod = function() {\n\tvar self = this;\n\tthis.indexer.wiki[this.iteratorMethod].byTag = function(tag) {\n\t\treturn self.lookup(tag).slice(0);\n\t};\n};\n\nTagSubIndexer.prototype.rebuild = function() {\n\tvar self = this;\n\t// Hashmap by tag of array of {isSorted:, titles:[]}\n\tthis.index = Object.create(null);\n\t// Add all the tags\n\tthis.indexer.wiki[this.iteratorMethod](function(tiddler,title) {\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\tif(!self.index[tag]) {\n\t\t\t\tself.index[tag] = {isSorted: false, titles: [title]};\n\t\t\t} else {\n\t\t\t\tself.index[tag].titles.push(title);\n\t\t\t}\n\t\t});\n\t});\n};\n\nTagSubIndexer.prototype.update = function(updateDescriptor) {\n\tthis.index = null;\n};\n\nTagSubIndexer.prototype.lookup = function(tag) {\n\t// Update the index if it has yet to be built\n\tif(this.index === null) {\n\t\tthis.rebuild();\n\t}\n\tvar indexRecord = this.index[tag];\n\tif(indexRecord) {\n\t\tif(!indexRecord.isSorted) {\n\t\t\tif(this.indexer.wiki.sortByList) {\n\t\t\t\tindexRecord.titles = this.indexer.wiki.sortByList(indexRecord.titles,tag);\n\t\t\t}\n\t\t\tindexRecord.isSorted = true;\n\t\t}\n\t\treturn indexRecord.titles;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n\nexports.TagIndexer = TagIndexer;\n\n})();\n","type":"application/javascript","module-type":"indexer"},"$:/core/modules/info/platform.js":{"title":"$:/core/modules/info/platform.js","text":"/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function(updateInfoTiddlersCallback) {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\tinfoTiddlerFields.push({title: \"$:/info/startup-timestamp\", text: $tw.utils.stringifyDate(new Date())});\n\tif($tw.browser) {\n\t\t// Document location\n\t\tvar setLocationProperty = function(name,value) {\n\t\t\t\tinfoTiddlerFields.push({title: \"$:/info/url/\" + name, text: value});\n\t\t\t},\n\t\t\tlocation = document.location;\n\t\tsetLocationProperty(\"full\", (location.toString()).split(\"#\")[0]);\n\t\tsetLocationProperty(\"host\", location.host);\n\t\tsetLocationProperty(\"hostname\", location.hostname);\n\t\tsetLocationProperty(\"protocol\", location.protocol);\n\t\tsetLocationProperty(\"port\", location.port);\n\t\tsetLocationProperty(\"pathname\", location.pathname);\n\t\tsetLocationProperty(\"search\", location.search);\n\t\tsetLocationProperty(\"origin\", location.origin);\n\t\t// Screen size\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/width\", text: window.screen.width.toString()});\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/screen/height\", text: window.screen.height.toString()});\n \t\t// Dark mode through event listener on MediaQueryList\n \t\tvar mqList = window.matchMedia(\"(prefers-color-scheme: dark)\"),\n \t\t\tgetDarkModeTiddler = function() {return {title: \"$:/info/darkmode\", text: mqList.matches ? \"yes\" : \"no\"};};\n \t\tinfoTiddlerFields.push(getDarkModeTiddler());\n \t\tmqList.addListener(function(event) {\n \t\t\tupdateInfoTiddlersCallback([getDarkModeTiddler()]);\n \t\t});\n\t\t// Language\n\t\tinfoTiddlerFields.push({title: \"$:/info/browser/language\", text: navigator.language || \"\"});\n\t}\n\treturn infoTiddlerFields;\n};\n\n})();\n","type":"application/javascript","module-type":"info"},"$:/core/modules/keyboard.js":{"title":"$:/core/modules/keyboard.js","text":"/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n\tthis.shortcutKeysList = [], // Stores the shortcut-key descriptors\n\tthis.shortcutActionList = [], // Stores the corresponding action strings\n\tthis.shortcutParsedList = []; // Stores the parsed key descriptors\n\tthis.shortcutPriorityList = []; // Stores the parsed shortcut priority\n\tthis.lookupNames = [\"shortcuts\"];\n\tthis.lookupNames.push($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\")\n\tthis.lookupNames.push($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\tthis.lookupNames.push($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\tthis.updateShortcutLists(this.getShortcutTiddlerList());\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.handleShortcutChanges(changes);\n\t});\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor,options) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(options.keyDescriptor) {\n\t\tinfo.keyDescriptor = options.keyDescriptor;\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\toptions.keyDescriptor = keyDescriptor;\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t$tw.utils.each(self.lookupNames,function(platformDescriptor) {\n\t\t\t\t\tlookupName(platformDescriptor);\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor,options));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\treturn (this.getMatchingKeyDescriptor(event,keyInfoArray) !== null);\n};\n\nKeyboardManager.prototype.getMatchingKeyDescriptor = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn keyInfoArray[t];\n\t\t}\n\t}\n\treturn null;\n};\n\nKeyboardManager.prototype.getEventModifierKeyDescriptor = function(event) {\n\treturn event.ctrlKey && !event.shiftKey\t&& !event.altKey && !event.metaKey ? \"ctrl\" : \n\t\tevent.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey ? \"shift\" : \n\t\tevent.ctrlKey && event.shiftKey && !event.altKey && !event.metaKey ? \"ctrl-shift\" : \n\t\tevent.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt\" : \n\t\tevent.altKey && event.shiftKey && !event.ctrlKey && !event.metaKey ? \"alt-shift\" : \n\t\tevent.altKey && event.ctrlKey && !event.shiftKey && !event.metaKey ? \"ctrl-alt\" : \n\t\tevent.altKey && event.shiftKey && event.ctrlKey && !event.metaKey ? \"ctrl-alt-shift\" : \n\t\tevent.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta\" : \n\t\tevent.metaKey && event.ctrlKey && !event.shiftKey && !event.altKey ? \"meta-ctrl\" :\n\t\tevent.metaKey && event.ctrlKey && event.shiftKey && !event.altKey ? \"meta-ctrl-shift\" :\n\t\tevent.metaKey && event.ctrlKey && event.shiftKey && event.altKey ? \"meta-ctrl-alt-shift\" : \"normal\";\n};\n\nKeyboardManager.prototype.getShortcutTiddlerList = function() {\n\treturn $tw.wiki.getTiddlersWithTag(\"$:/tags/KeyboardShortcut\");\n};\n\nKeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {\n\tthis.shortcutTiddlers = tiddlerList;\n\tfor(var i=0; i<tiddlerList.length; i++) {\n\t\tvar title = tiddlerList[i],\n\t\t\ttiddlerFields = $tw.wiki.getTiddler(title).fields;\n\t\tthis.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;\n\t\tthis.shortcutActionList[i] = tiddlerFields.text;\n\t\tthis.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;\n\t\tthis.shortcutPriorityList[i] = tiddlerFields.priority === \"yes\" ? true : false;\n\t}\n};\n\n/*\nevent: the keyboard event object\noptions:\n\tonlyPriority: true if only priority global shortcuts should be invoked\n*/\nKeyboardManager.prototype.handleKeydownEvent = function(event, options) {\n\toptions = options || {};\n\tvar key, action;\n\tfor(var i=0; i<this.shortcutTiddlers.length; i++) {\n\t\tif(options.onlyPriority && this.shortcutPriorityList[i] !== true) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {\n\t\t\tkey = this.shortcutParsedList[i];\n\t\t\taction = this.shortcutActionList[i];\n\t\t}\n\t}\n\tif(key !== undefined) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\t$tw.rootWidget.invokeActionString(action,$tw.rootWidget,event);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nKeyboardManager.prototype.detectNewShortcuts = function(changedTiddlers) {\n\tvar shortcutConfigTiddlers = [],\n\t\thandled = false;\n\t$tw.utils.each(this.lookupNames,function(platformDescriptor) {\n\t\tvar descriptorString = \"$:/config/\" + platformDescriptor + \"/\";\n\t\tObject.keys(changedTiddlers).forEach(function(configTiddler) {\n\t\t\tvar configString = configTiddler.substr(0, configTiddler.lastIndexOf(\"/\") + 1);\n\t\t\tif(configString === descriptorString) {\n\t\t\t\tshortcutConfigTiddlers.push(configTiddler);\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t});\n\t});\n\tif(handled) {\n\t\treturn $tw.utils.hopArray(changedTiddlers,shortcutConfigTiddlers);\n\t} else {\n\t\treturn false;\n\t}\n};\n\nKeyboardManager.prototype.handleShortcutChanges = function(changedTiddlers) {\n\tvar newList = this.getShortcutTiddlerList();\n\tvar hasChanged = $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) ? true :\n\t\t($tw.utils.hopArray(changedTiddlers,newList) ? true :\n\t\t(this.detectNewShortcuts(changedTiddlers))\n\t);\n\t// Re-cache shortcuts if something changed\n\tif(hasChanged) {\n\t\tthis.updateShortcutLists(newList);\n\t}\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/language.js":{"title":"$:/core/modules/language.js","text":"/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/macros/changecount.js":{"title":"$:/core/modules/macros/changecount.js","text":"/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/contrastcolour.js":{"title":"$:/core/modules/macros/contrastcolour.js","text":"/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/csvtiddlers.js":{"title":"$:/core/modules/macros/csvtiddlers.js","text":"/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tfor(f in tiddler.fields) {\n\t\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\t\tfields.push(f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tif(tiddler) {\n\t\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t\t}\t\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/displayshortcuts.js":{"title":"$:/core/modules/macros/displayshortcuts.js","text":"/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/jsontiddler.js":{"title":"$:/core/modules/macros/jsontiddler.js","text":"/*\\\ntitle: $:/core/modules/macros/jsontiddler.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output a single tiddler to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddler\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\ttitle = title || this.getVariable(\"currentTiddler\");\n\tvar tiddler = !!title && this.wiki.getTiddler(title),\n\t\tfields = new Object();\n\tif(tiddler) {\n\t\tfor(var field in tiddler.fields) {\n\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t}\n\t}\n\treturn JSON.stringify(fields,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/jsontiddlers.js":{"title":"$:/core/modules/macros/jsontiddlers.js","text":"/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"spaces\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,spaces) {\n\treturn this.wiki.getTiddlersAsJson(filter,$tw.utils.parseInt(spaces));\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/makedatauri.js":{"title":"$:/core/modules/macros/makedatauri.js","text":"/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"},\n\t{name: \"_canonical_uri\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type,_canonical_uri) {\n\treturn $tw.utils.makeDataUri(text,type,_canonical_uri);\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/now.js":{"title":"$:/core/modules/macros/now.js","text":"/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/qualify.js":{"title":"$:/core/modules/macros/qualify.js","text":"/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/resolvepath.js":{"title":"$:/core/modules/macros/resolvepath.js","text":"/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/unusedtitle.js":{"title":"$:/core/modules/macros/unusedtitle.js","text":"/*\\\ntitle: $:/core/modules/macros/unusedtitle.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a new title that is unused in the wiki. It can be given a name as a base.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"unusedtitle\";\n\nexports.params = [\n\t{name: \"baseName\"},\n\t{name: \"separator\"},\n\t{name: \"template\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(baseName,separator,template) {\n\tseparator = separator || \" \";\n\tif(!baseName) {\n\t\tbaseName = $tw.language.getString(\"DefaultNewTiddlerTitle\");\n\t}\n\t// $tw.wiki.generateNewTitle = function(baseTitle,options)\n\t// options.prefix must be a string! \n\treturn this.wiki.generateNewTitle(baseName, {\"prefix\": separator, \"template\": template});\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/macros/version.js":{"title":"$:/core/modules/macros/version.js","text":"/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n","type":"application/javascript","module-type":"macro"},"$:/core/modules/parsers/audioparser.js":{"title":"$:/core/modules/parsers/audioparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/binaryparser.js":{"title":"$:/core/modules/parsers/binaryparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/binaryparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe binary parser parses a binary tiddler into a warning message and download link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar BinaryParser = function(type,text,options) {\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\t\"$tiddler\": {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on binary tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!title\"}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\t\"$tiddler\": {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to external or internal data URI\n\tif(options._canonical_uri) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: options._canonical_uri\n\t\t};\n\t} else if(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"application/octet-stream\"] = BinaryParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/csvparser.js":{"title":"$:/core/modules/parsers/csvparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Special handler for tab-delimited files\n\tif (type === 'text/tab-delimited-values' && !options.separator) {\n\t\toptions.separator = \"\\t\";\n\t}\n\t\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = $tw.utils.parseCsvString(text, options),\n\t\ttag = \"th\";\n\tvar maxColumns = 0;\n\t$tw.utils.each(lines, function(columns) {\n\t\tmaxColumns = Math.max(columns.length, maxColumns);\n\t});\n\t\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar columns = lines[line];\n\t\tvar row = {\n\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t};\n\t\tfor(var column=0; column<maxColumns; column++) {\n\t\t\trow.children.push({\n\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\"text\": columns[column] || ''\n\t\t\t\t}]\n\t\t\t});\n\t\t}\n\t\ttag = \"td\";\n\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t}\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/csv\"] = CsvParser;\nexports[\"text/tab-delimited-values\"] = CsvParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/htmlparser.js":{"title":"$:/core/modules/parsers/htmlparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src}\n\t\t}\n\t}];\n\tif($tw.wiki.getTiddlerText(\"$:/config/HtmlParser/DisableSandbox\",\"no\") !== \"yes\") {\n\t\tthis.tree[0].attributes.sandbox = {type: \"string\", value: $tw.wiki.getTiddlerText(\"$:/config/HtmlParser/SandboxTokens\",\"\")};\n\t}\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/imageparser.js":{"title":"$:/core/modules/parsers/imageparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t};\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\tif(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"image/webp\"] = ImageParser;\nexports[\"image/heic\"] = ImageParser;\nexports[\"image/heif\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\nexports[\"image/vnd.microsoft.icon\"] = ImageParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/utils/parseutils.js":{"title":"$:/core/modules/utils/parseutils.js","text":"/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nReturns an array of {name:} with an optional \"default\" property. Options include:\nrequireParenthesis: require the parameter definition to be wrapped in parenthesis\n*/\nexports.parseParameterDefinition = function(paramString,options) {\n\toptions = options || {};\n\tif(options.requireParenthesis) {\n\t\tvar parenMatch = /^\\s*\\((.*)\\)\\s*$/g.exec(paramString);\n\t\tif(!parenMatch) {\n\t\t\treturn [];\n\t\t}\n\t\tparamString = parenMatch[1];\n\t}\n\tvar params = [],\n\t\treParam = /\\s*([^:),\\s]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|([^,\"'\\s]+)))?/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Save the parameter details\n\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5];\n\t\tif(defaultValue !== undefined) {\n\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Look for the next parameter\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n};\n\nexports.parseMacroParameters = function(node,source,pos) {\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\tnode.end = pos;\n\treturn node;\n}\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|((?:(?:>(?!>))|[^\\s>\"'])+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"transclude\", attributes:, start:, end:}\n*/\nexports.parseMacroInvocationAsTransclusion = function(source,pos) {\n\tvar node = $tw.utils.parseMacroInvocation(source,pos);\n\tif(node) {\n\t\tvar positionalName = 0,\n\t\t\ttransclusion = {\n\t\t\t\ttype: \"transclude\",\n\t\t\t\tstart: node.start,\n\t\t\t\tend: node.end\n\t\t\t};\n\t\t$tw.utils.addAttributeToParseTreeNode(transclusion,\"$variable\",node.name);\n\t\t$tw.utils.each(node.params,function(param) {\n\t\t\tvar name = param.name;\n\t\t\tif(name) {\n\t\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\t\tname = \"$\" + name;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(transclusion,{name: name,type: \"string\", value: param.value, start: param.start, end: param.end});\n\t\t\t} else {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(transclusion,{name: (positionalName++) + \"\",type: \"string\", value: param.value, start: param.start, end: param.end});\n\t\t\t}\n\t\t});\n\t\treturn transclusion;\n\t}\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, params:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\tnode = $tw.utils.parseMacroParameters(node,source,pos);\n\tpos = node.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.parseFilterVariable = function(source) {\n\tvar node = {\n\t\t\tname: \"\",\n\t\t\tparams: [],\n\t\t},\n\t\tpos = 0,\n\t\treName = /([^\\s\"']+)/g;\n\t// If there is no whitespace or it is an empty string then there are no macro parameters\n\tif(/^\\S*$/.test(source)) {\n\t\tnode.name = source;\n\t\treturn node;\n\t}\n\t// Get the variable name\n\tvar nameMatch = $tw.utils.parseTokenRegExp(source,pos,reName);\n\tif(nameMatch) {\n\t\tnode.name = nameMatch.match[1];\n\t\tpos = nameMatch.end;\n\t\tnode = $tw.utils.parseMacroParameters(node,source,pos);\n\t\tdelete node.end;\n\t}\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, type: \"filtered|string|indirect|macro\", value|filter|textReference:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'`=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'`=]+)/g,\n\t\treFilteredValue = /\\{\\{\\{([\\S\\s]+?)\\}\\}\\}/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g,\n\t\treSubstitutedValue = /(?:```([\\s\\S]*?)```|`([^`]|[\\S\\s]*?)`)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for a filtered value\n\t\t\tvar filteredValue = $tw.utils.parseTokenRegExp(source,pos,reFilteredValue);\n\t\t\tif(filteredValue) {\n\t\t\t\tpos = filteredValue.end;\n\t\t\t\tnode.type = \"filtered\";\n\t\t\t\tnode.filter = filteredValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for an indirect value\n\t\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\t\tif(indirectValue) {\n\t\t\t\t\tpos = indirectValue.end;\n\t\t\t\t\tnode.type = \"indirect\";\n\t\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a unquoted value\n\t\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\t\tif(unquotedValue) {\n\t\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar substitutedValue = $tw.utils.parseTokenRegExp(source,pos,reSubstitutedValue);\n\t\t\t\t\t\t\tif(substitutedValue) {\n\t\t\t\t\t\t\t\tpos = substitutedValue.end;\n\t\t\t\t\t\t\t\tnode.type = \"substituted\";\n\t\t\t\t\t\t\t\tnode.rawValue = substitutedValue.match[1] || substitutedValue.match[2];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/parsers/pdfparser.js":{"title":"$:/core/modules/parsers/pdfparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/pdfparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe PDF parser embeds a PDF viewer\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"iframe\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"application/pdf\"] = ImageParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/textparser.js":{"title":"$:/core/modules/parsers/textparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"genesis\",\n\t\tattributes: {\n\t\t\t$type: {name: \"$type\", type: \"string\", value: \"$codeblock\"},\n\t\t\tcode: {name: \"code\", type: \"string\", value: text},\n\t\t\tlanguage: {name: \"language\", type: \"string\", value: type},\n\t\t\t$remappable: {name: \"$remappable\", type:\"string\", value: \"no\"}\n\t\t}\n\t}];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/videoparser.js":{"title":"$:/core/modules/parsers/videoparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar VideoParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"},\n\t\t\t\tstyle: {type: \"string\", value: \"width: 100%; object-fit: contain\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n\tthis.source = text;\n\tthis.type = type;\n};\n\nexports[\"video/ogg\"] = VideoParser;\nexports[\"video/webm\"] = VideoParser;\nexports[\"video/mp4\"] = VideoParser;\nexports[\"video/quicktime\"] = VideoParser;\n\n})();\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/wikiparser/rules/codeblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/codeblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/codeinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/codeinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/commentblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/commentblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n\\define macroX()\n<!-- This is a comment -->\nxxxx\n\\end\n<!-- This is a comment -->\n\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block:true, pragma:true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/commentinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/commentinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = this.match.index + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/conditional.js":{"title":"$:/core/modules/parsers/wikiparser/rules/conditional.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/conditional.js\ntype: application/javascript\nmodule-type: wikirule\n\nConditional shortcut syntax\n\n```\nThis is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"conditional\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\<\\%\\s*if\\s+/mg;\n\tthis.terminateIfRegExp = /\\%\\>/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Look for the next <% if shortcut\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t// If not found then return no match\n\tif(!this.match) {\n\t\treturn undefined;\n\t}\n\t// Check for the next %>\n\tthis.terminateIfRegExp.lastIndex = this.match.index;\n\tthis.terminateIfMatch = this.terminateIfRegExp.exec(this.parser.source);\n\t// If not found then return no match\n\tif(!this.terminateIfMatch) {\n\t\treturn undefined;\n\t}\n\t// Return the position at which the construction was found\n\treturn this.match.index;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the filter condition\n\tvar filterCondition = this.parser.source.substring(this.match.index + this.match[0].length,this.terminateIfMatch.index);\n\t// Advance the parser position to past the %>\n\tthis.parser.pos = this.terminateIfMatch.index + this.terminateIfMatch[0].length;\n\t// Parse the if clause\n\treturn this.parseIfClause(filterCondition);\n};\n\nexports.parseIfClause = function(filterCondition) {\n\t// Create the list widget\n\tvar listWidget = {\n\t\ttype: \"list\",\n\t\ttag: \"$list\",\n\t\tisBlock: this.is.block,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\ttype: \"list-template\",\n\t\t\t\ttag: \"$list-template\"\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"list-empty\",\n\t\t\t\ttag: \"$list-empty\"\n\t\t\t}\n\t\t]\n\t};\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"filter\",filterCondition);\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"variable\",\"condition\");\n\t$tw.utils.addAttributeToParseTreeNode(listWidget,\"limit\",\"1\");\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Parse the body looking for else or endif\n\tvar reEndString = \"\\\\<\\\\%\\\\s*(endif)\\\\s*\\\\%\\\\>|\\\\<\\\\%\\\\s*(else)\\\\s*\\\\%\\\\>|\\\\<\\\\%\\\\s*(elseif)\\\\s+([\\\\s\\\\S]+?)\\\\%\\\\>\",\n\t\tex;\n\tif(hasLineBreak) {\n\t\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\n\t} else {\n\t\tvar reEnd = new RegExp(reEndString,\"mg\");\n\t\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\n\t}\n\t// Put the body into the list template\n\tlistWidget.children[0].children = ex.tree;\n\t// Check for an else or elseif\n\tif(ex.match) {\n\t\tif(ex.match[1] === \"endif\") {\n\t\t\t// Nothing to do if we just found an endif\n\t\t} else if(ex.match[2] === \"else\") {\n\t\t\t// Check for an immediately following double linebreak\n\t\t\thasLineBreak = !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\t\t// If we found an else then we need to parse the body looking for the endif\n\t\t\tvar reEndString = \"\\\\<\\\\%\\\\s*(endif)\\\\s*\\\\%\\\\>\",\n\t\t\tex;\n\t\t\tif(hasLineBreak) {\n\t\t\t\tex = this.parser.parseBlocksTerminatedExtended(reEndString);\n\t\t\t} else {\n\t\t\t\tvar reEnd = new RegExp(reEndString,\"mg\");\n\t\t\t\tex = this.parser.parseInlineRunTerminatedExtended(reEnd,{eatTerminator: true});\n\t\t\t}\n\t\t\t// Put the parsed content inside the list empty template\n\t\t\tlistWidget.children[1].children = ex.tree;\n\t\t} else if(ex.match[3] === \"elseif\") {\n\t\t\t// Parse the elseif clause by reusing this parser, passing the new filter condition\n\t\t\tlistWidget.children[1].children = this.parseIfClause(ex.match[4]);\n\t\t}\n\t}\n\t// Return the parse tree node\n\treturn [listWidget];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/dash.js":{"title":"$:/core/modules/parsers/wikiparser/rules/dash.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"–\" : \"—\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js":{"title":"$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/entity.js":{"title":"$:/core/modules/parsers/wikiparser/rules/entity.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: ©\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/extlink.js":{"title":"$:/core/modules/parsers/wikiparser/rules/extlink.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: https://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/fnprocdef.js":{"title":"$:/core/modules/parsers/wikiparser/rules/fnprocdef.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/fnprocdef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for function, procedure and widget definitions\n\n```\n\\function name(param:defaultvalue,param2:defaultvalue)\ndefinition text\n\\end\n\n\\procedure name(param:defaultvalue,param2:defaultvalue)\ndefinition text\n\\end\n\n\\widget $mywidget(param:defaultvalue,param2:defaultvalue)\ndefinition text\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"fnprocdef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\(function|procedure|widget)\\s+([^(\\s]+)\\((\\s*([^)]*))?\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar params = [];\n\tif(this.match[3]) {\n\t\tparams = $tw.utils.parseParameterDefinition(this.match[4]);\n\t}\n\t// Is the remainder of the line blank after the parameter close paren?\n\tvar reEnd;\n\tif(this.match[5]) {\n\t\t// If so, it is a multiline definition and the end of the body is marked with \\end\n\t\treEnd = new RegExp(\"((:?^|\\\\r?\\\\n)[^\\\\S\\\\n\\\\r]*\\\\\\\\end[^\\\\S\\\\n\\\\r]*(?:\" + $tw.utils.escapeRegExp(this.match[2]) + \")?(?:$|\\\\r?\\\\n))\",\"mg\");\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\tvar parseTreeNodes = [{\n\t\ttype: \"set\",\n\t\tattributes: {},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"name\",this.match[2]);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"value\",text);\n\tif(this.match[1] === \"function\") {\n\t\tparseTreeNodes[0].isFunctionDefinition = true;\n\t} else if(this.match[1] === \"procedure\") {\n\t\tparseTreeNodes[0].isProcedureDefinition = true;\n\t} else if(this.match[1] === \"widget\") {\n\t\tparseTreeNodes[0].isWidgetDefinition = true;\n\t}\n\tif(this.parser.configTrimWhiteSpace) {\n\t\tparseTreeNodes[0].configTrimWhiteSpace = true;\n\t}\n\treturn parseTreeNodes;\n};\n\n})();\n\t","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js":{"title":"$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/heading.js":{"title":"$:/core/modules/parsers/wikiparser/rules/heading.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/horizrule.js":{"title":"$:/core/modules/parsers/wikiparser/rules/horizrule.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/html.js":{"title":"$:/core/modules/parsers/wikiparser/rules/html.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\";\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\tvar reEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: {}, orderedAttributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {},\n\t\t\torderedAttributes: []\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$\\.]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Check that the tag is terminated by a space, / or >\n\tif(!$tw.utils.parseWhiteSpace(source,pos) && !(source.charAt(pos) === \"/\") && !(source.charAt(pos) === \">\") ) {\n\t\treturn null;\n\t}\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.orderedAttributes.push(attribute);\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$\\.]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/image.js":{"title":"$:/core/modules/parsers/wikiparser/rules/image.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[https://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [https://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [https://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|https://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/import.js":{"title":"$:/core/modules/parsers/wikiparser/rules/import.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/import.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for importing variable definitions\n\n```\n\\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"import\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\import[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the filter terminated by a line break\n\tvar reMatch = /(.*)(?:$|\\r?\\n)/mg;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\tthis.parser.pos = reMatch.lastIndex;\n\t// Parse tree nodes to return\n\treturn [{\n\t\ttype: \"importvariables\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: match[1]}\n\t\t},\n\t\tchildren: []\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/list.js":{"title":"$:/core/modules/parsers/wikiparser/rules/list.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"div\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/macrocallblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\tvar nextStart = startPos;\n\t// Try parsing at all possible macrocall openers until we match\n\twhile((nextStart = this.parser.source.indexOf(\"<<\",nextStart)) >= 0) {\n\t\tvar nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\n\t\tif(nextCall) {\n\t\t\tvar c = this.parser.source.charAt(nextCall.end);\n\t\t\t// Ensure EOL after parsed macro\n\t\t\t// If we didn't need to support IE, we'd just use /(?:\\r?\\n|$)/ym\n\t\t\tif ((c === \"\") || (c === \"\\n\") || ((c === \"\\r\") && this.parser.source.charAt(nextCall.end+1) === \"\\n\")) {\n\t\t\t\tthis.nextCall = nextCall;\n\t\t\t\treturn nextStart;\n\t\t\t}\n\t\t}\n\t\tnextStart += 2;\n\t}\n\treturn undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar call = this.nextCall;\n\tcall.isBlock = true;\n\tthis.nextCall = null;\n\tthis.parser.pos = call.end;\n\treturn [call];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/macrocallinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\tvar nextStart = startPos;\n\t// Try parsing at all possible macrocall openers until we match\n\twhile((nextStart = this.parser.source.indexOf(\"<<\",nextStart)) >= 0) {\n\t\tthis.nextCall = $tw.utils.parseMacroInvocationAsTransclusion(this.parser.source,nextStart);\n\t\tif(this.nextCall) {\n\t\t\treturn nextStart;\n\t\t}\n\t\tnextStart += 2;\n\t}\n\treturn undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar call = this.nextCall;\n\tthis.nextCall = null;\n\tthis.parser.pos = call.end;\n\treturn [call];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/macrodef.js":{"title":"$:/core/modules/parsers/wikiparser/rules/macrodef.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is the remainder of the \\define line blank after the parameter close paren?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, it is a multiline definition and the end of the body is marked with \\end\n\t\treEnd = new RegExp(\"((?:^|\\\\r?\\\\n)[^\\\\S\\\\n\\\\r]*\\\\\\\\end[^\\\\S\\\\n\\\\r]*(?:\" + $tw.utils.escapeRegExp(this.match[1]) + \")?(?:$|\\\\r?\\\\n))\",\"mg\");\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /($|\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\tvar parseTreeNodes = [{\n\t\ttype: \"set\",\n\t\tattributes: {},\n\t\tchildren: [],\n\t\tparams: params,\n\t\tisMacroDefinition: true\n\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"name\",this.match[1]);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"value\",text);\n\treturn parseTreeNodes;\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/parameters.js":{"title":"$:/core/modules/parsers/wikiparser/rules/parameters.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parameters.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for parameter definitions\n\n```\n\\parameters(param:defaultvalue,param2:defaultvalue)\ndefinition text\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"parameters\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\parameters\\s*\\(([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar params = $tw.utils.parseParameterDefinition(this.match[1]);\n\tvar attributes = Object.create(null),\n\t\torderedAttributes = [];\n\t$tw.utils.each(params,function(param) {\n\t\tvar name = param.name;\n\t\t// Parameter names starting with dollar must be escaped to double dollars for the parameters widget\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tname = \"$\" + name;\n\t\t}\n\t\tvar attribute = {name: name, type: \"string\", value: param[\"default\"] || \"\"};\n\t\tattributes[name] = attribute;\n\t\torderedAttributes.push(attribute);\n\t});\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"parameters\",\n\t\tattributes: attributes,\n\t\torderedAttributes: orderedAttributes\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/parsermode.js":{"title":"$:/core/modules/parsers/wikiparser/rules/parsermode.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/parsermode.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for parser mode specifications\n\n```\n\\parsermode block\n\\parsermode inline\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"parsermode\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\parsermode[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\tparserMode = undefined;\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\tparserMode = match[1];\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(parserMode !== undefined) {\n\t\tif(parserMode === \"block\") {\n\t\t\tthis.parser.parseAsInline = false;\n\t\t} else if(parserMode === \"inline\") {\n\t\t\tthis.parser.parseAsInline = true;\n\t\t}\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js":{"title":"$:/core/modules/parsers/wikiparser/rules/prettyextlink.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[https://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|https://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/prettylink.js":{"title":"$:/core/modules/parsers/wikiparser/rules/prettylink.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/quoteblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/quoteblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/rules.js":{"title":"$:/core/modules/parsers/wikiparser/rules/rules.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/styleblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/styleblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/styleinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/styleinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\tif(!classString && !stylesString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,\"tc-inline-style\");\n\t}\n\treturn [node];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/syslink.js":{"title":"$:/core/modules/parsers/wikiparser/rules/syslink.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp(\n\t\t\"~?\\\\$:\\\\/[\" +\n\t\t$tw.config.textPrimitives.anyLetter.substr(1,$tw.config.textPrimitives.anyLetter.length - 2) +\n\t\t\"\\/._-]+\",\n\t\t\"mg\"\n\t);\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/table.js":{"title":"$:/core/modules/parsers/wikiparser/rules/table.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/transcludeblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?(?:\\|([^\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]),\n\t\tparams = this.match[3] ? this.match[3].split(\"|\") : [];\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t$tw.utils.each(params,function(paramValue,index) {\n\t\tvar name = \"\" + index;\n\t\ttranscludeNode.attributes[name] = {\n\t\t\tname: name,\n\t\t\ttype: \"string\",\n\t\t\tvalue: paramValue\n\t\t}\n\t});\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {name: \"tiddler\", type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes[\"$field\"] = {name: \"$field\", type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes[\"$index\"] = {name: \"$index\", type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js":{"title":"$:/core/modules/parsers/wikiparser/rules/transcludeinline.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?(?:\\|([^\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]),\n\t\tparams = this.match[3] ? this.match[3].split(\"|\") : [];\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t$tw.utils.each(params,function(paramValue,index) {\n\t\tvar name = \"\" + index;\n\t\ttranscludeNode.attributes[name] = {\n\t\t\tname: name,\n\t\t\ttype: \"string\",\n\t\t\tvalue: paramValue\n\t\t}\n\t});\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {name: \"tiddler\", type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes[\"$tiddler\"] = {name: \"$tiddler\", type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes[\"$field\"] = {name: \"$field\", type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes[\"$index\"] = {name: \"$index\", type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/typedblock.js":{"title":"$:/core/modules/parsers/wikiparser/rules/typedblock.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\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\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/whitespace.js":{"title":"$:/core/modules/parsers/wikiparser/rules/whitespace.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/whitespace.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for whitespace specifications\n\n```\n\\whitespace trim\n\\whitespace notrim\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"whitespace\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\\\whitespace[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\tvar self = this;\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\t$tw.utils.each(tokens,function(token) {\n\t\tswitch(token) {\n\t\t\tcase \"trim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = true;\n\t\t\t\tbreak;\n\t\t\tcase \"notrim\":\n\t\t\t\tself.parser.configTrimWhiteSpace = false;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/wikilink.js":{"title":"$:/core/modules/parsers/wikiparser/rules/wikilink.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js":{"title":"$:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilinkprefix.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for suppressed wiki links. For example:\n\n```\n~SuppressedLink\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilinkprefix\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the wikilink\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the link without unwikilink character as plain text\n\treturn [{type: \"text\", text: linkText.substr(1)}];\n};\n\n})();\n","type":"application/javascript","module-type":"wikirule"},"$:/core/modules/parsers/wikiparser/wikiparser.js":{"title":"$:/core/modules/parsers/wikiparser/wikiparser.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\ntype: content type of text\ntext: text to be parsed\noptions: see below:\n\tparseAsInline: true to parse text as inline instead of block\n\twiki: reference to wiki to use\n\t_canonical_uri: optional URI of content if text is missing or empty\n\tconfigTrimWhiteSpace: true to trim whitespace\n*/\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Flag for ignoring whitespace\n\tthis.configTrimWhiteSpace = options.configTrimWhiteSpace !== undefined ? options.configTrimWhiteSpace : false;\n\t// Parser mode\n\tthis.parseAsInline = options.parseAsInline;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Start with empty output\n\tthis.tree = [];\n\t// Assemble the rule classes we're going to use\n\tvar pragmaRuleClasses, blockRuleClasses, inlineRuleClasses;\n\tif(options.rules) {\n\t\tpragmaRuleClasses = options.rules.pragma;\n\t\tblockRuleClasses = options.rules.block;\n\t\tinlineRuleClasses = options.rules.inline;\n\t} else {\n\t\t// Setup the rule classes if we don't have them already\n\t\tif(!this.pragmaRuleClasses) {\n\t\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t\t}\n\t\tpragmaRuleClasses = this.pragmaRuleClasses;\n\t\tif(!this.blockRuleClasses) {\n\t\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t\t}\n\t\tblockRuleClasses = this.blockRuleClasses;\n\t\tif(!this.inlineRuleClasses) {\n\t\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t\t}\n\t\tinlineRuleClasses = this.inlineRuleClasses;\n\t}\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(this.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safeMode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\tvar savedPos = this.pos;\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tthis.pos = savedPos;\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t\t// Skip whitespace after the pragma\n\t\tthis.skipWhitespace();\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\tvar start = this.pos;\n\tvar children = this.parseInlineRun(terminatorRegExp);\n\tvar end = this.pos;\n\treturn [{type: \"element\", tag: \"p\", children: children, start: start, end: end }];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered. Wrapper for parseBlocksTerminatedExtended that just returns the parse tree\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar ex = this.parseBlocksTerminatedExtended(terminatorRegExpString);\n\treturn ex.tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminatedExtended = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(terminatorRegExpString,\"mg\"),\n\t\tresult = {\n\t\t\ttree: []\n\t\t};\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t// Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\tresult.tree.push.apply(result.tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tresult.match = match;\n\t}\n\treturn result;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,nextMatch.matchIndex),this.pos,nextMatch.matchIndex);\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\tvar ex = this.parseInlineRunTerminatedExtended(terminatorRegExp,options);\n\treturn ex.tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminatedExtended = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,terminatorMatch.index),this.pos,terminatorMatch.index);\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tmatch: terminatorMatch,\n\t\t\t\t\ttree: tree\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\tthis.pushTextWidget(tree,this.source.substring(this.pos,inlineRuleMatch.matchIndex),this.pos,inlineRuleMatch.matchIndex);\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\tthis.pushTextWidget(tree,this.source.substr(this.pos),this.pos,this.sourceLength);\n\t}\n\tthis.pos = this.sourceLength;\n\treturn {\n\t\ttree: tree\n\t};\n};\n\n/*\nPush a text widget onto an array, respecting the configTrimWhiteSpace setting\n*/\nWikiParser.prototype.pushTextWidget = function(array,text,start,end) {\n\tif(this.configTrimWhiteSpace) {\n\t\ttext = $tw.utils.trim(text);\n\t}\n\tif(text) {\n\t\tarray.push({type: \"text\", text: text, start: start, end: end});\t\t\n\t}\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar target;\n\tif(type === \"only\") {\n\t\ttarget = true;\n\t} else if(type === \"except\") {\n\t\ttarget = false;\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif((names.indexOf(ruleArray[t].rule.name) === -1) === target) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n","type":"application/javascript","module-type":"parser"},"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js":{"title":"$:/core/modules/parsers/wikiparser/rules/wikirulebase.js","text":"/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/pluginswitcher.js":{"title":"$:/core/modules/pluginswitcher.js","text":"/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\nonSwitch: callback when plugin is switched (single parameter is array of plugin titles)\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\tthis.onSwitch = options.onSwitch;\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = $tw.utils.parseJSONSafe(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Read the plugin info for the incoming plugins\n\tvar changes = $tw.wiki.readPluginInfo(plugins);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n\t// Call the switch handler\n\tif(this.onSwitch) {\n\t\tthis.onSwitch(plugins);\n\t}\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/saver-handler.js":{"title":"$:/core/modules/saver-handler.js","text":"/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.preloadDirty = options.preloadDirty || [];\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(self.preloadDirty,function(title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t});\n\t\tthis.numChanges = filteredChanges.length;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(iterator) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\titerator(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\";\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && ($tw.config.disableAutoSave || this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\")) {\n\t\treturn false;\n\t}\n\tvar\tvariables = options.variables || {},\n\t\ttemplate = (options.template || \n\t\t this.wiki.getTiddlerText(\"$:/config/SaveWikiButton/Template\",\"$:/core/save/all\")).trim(),\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tvar self = this;\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\t$tw.utils.toggleClass(win.document.body,\"tc-dirty\",self.isDirty());\n\t\t});\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/savers/andtidwiki.js":{"title":"$:/core/modules/savers/andtidwiki.js","text":"/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback,options) {\n\tvar filename = options && options.variables ? options.variables.filename : null;\n\tif (method === \"download\") {\n\t\t// Support download\n\t\tif (window.twi.saveDownload) {\n\t\t\ttry {\n\t\t\t\twindow.twi.saveDownload(text,filename);\n\t\t\t} catch(err) {\n\t\t\t\tif (err.message === \"Method not found\") {\n\t\t\t\t\twindow.twi.saveDownload(text);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tvar link = document.createElement(\"a\");\n\t\t\tlink.setAttribute(\"href\",\"data:text/plain,\" + encodeURIComponent(text));\n\t\t\tif (filename) {\n\t\t\t link.setAttribute(\"download\",filename);\n\t\t\t}\n\t\t\tdocument.body.appendChild(link);\n\t\t\tlink.click();\n\t\t\tdocument.body.removeChild(link);\n\t\t}\n\t} else if (window.twi.saveWiki) {\n\t\t// Direct save in Tiddloid\n\t\twindow.twi.saveWiki(text);\n\t} else {\n\t\t// Get the pathname of this document\n\t\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.toString().split(\"#\")[0]);\n\t\t// Strip the file://\n\t\tif(pathname.indexOf(\"file://\") === 0) {\n\t\t\tpathname = pathname.substr(7);\n\t\t}\n\t\t// Strip any query or location part\n\t\tvar p = pathname.indexOf(\"?\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\tp = pathname.indexOf(\"#\");\n\t\tif(p !== -1) {\n\t\t\tpathname = pathname.substr(0,p);\n\t\t}\n\t\t// Save the file\n\t\twindow.twi.saveFile(pathname,text);\n\t}\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/custom.js":{"title":"$:/core/modules/savers/custom.js","text":"/*\\\ntitle: $:/core/modules/savers/custom.js\ntype: application/javascript\nmodule-type: saver\n\nLooks for `window.$tw.customSaver` first on the current window, then\non the parent window (of an iframe). If present, the saver must define\n\tsave: function(text,method,callback) { ... }\nand the saver may define\n\tpriority: number\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar findSaver = function(window) {\n\ttry {\n\t\treturn window && window.$tw && window.$tw.customSaver;\n\t} catch (err) {\n\t\t// Catching the exception is the most reliable way to detect cross-origin iframe errors.\n\t\t// For example, instead of saying that `window.parent.$tw` is undefined, Firefox will throw\n\t\t// Uncaught DOMException: Permission denied to access property \"$tw\" on cross-origin object\n\t\tconsole.log({ msg: \"custom saver is disabled\", reason: err });\n\t\treturn null;\n\t}\n}\nvar saver = findSaver(window) || findSaver(window.parent) || {};\n\nvar CustomSaver = function(wiki) {\n};\n\nCustomSaver.prototype.save = function(text,method,callback) {\n\treturn saver.save(text, method, callback);\n};\n\n/*\nInformation about this saver\n*/\nCustomSaver.prototype.info = {\n\tname: \"custom\",\n\tpriority: saver.priority || 4000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!(saver.save);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new CustomSaver(wiki);\n};\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/download.js":{"title":"$:/core/modules/savers/download.js","text":"/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\t// We decode the pathname because document.location is URL encoded by the browser\n\t\t\tfilename = $tw.utils.decodeURIComponentSafe(document.location.pathname.substr(p+1));\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100\n};\n\nObject.defineProperty(DownloadSaver.prototype.info, \"capabilities\", {\n\tget: function() {\n\t\tvar capabilities = [\"save\", \"download\"];\n\t\tif(($tw.wiki.getTextReference(\"$:/config/DownloadSaver/AutoSave\") || \"\").toLowerCase() === \"yes\") {\n\t\t\tcapabilities.push(\"autosave\");\n\t\t}\n\t\treturn capabilities;\n\t}\n});\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/fsosaver.js":{"title":"$:/core/modules/savers/fsosaver.js","text":"/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/gitea.js":{"title":"$:/core/modules/savers/gitea.js","text":"/*\\\ntitle: $:/core/modules/savers/gitea.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the gitea\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GiteaSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGiteaSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/Gitea/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"Gitea\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/Gitea/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/Gitea/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/Gitea/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/Gitea/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/Gitea/ServerURL\") || \"https://gitea\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"token \" + password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar use_put = true;\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(sha === \"\"){\n\t\t\t\t\tuse_put = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: endpoint + \"/repos/\" + repo + \"/branches/\" + branch,\n\t\t\t\ttype: \"GET\",\n\t\t\t\theaders: headers,\n\t\t\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\t\t\tif(xhr.status === 404) {\n\t\t\t\t\t\tcallback(\"Please ensure the branch in the Gitea repo exists\");\n\t\t\t\t\t}else{\n\t\t\t\t\t\tdata[\"branch\"] = branch;\n\t\t\t\t\t\tself.upload(uri + filename, use_put?\"PUT\":\"POST\", headers, data, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\nGiteaSaver.prototype.upload = function(uri,method,headers,data,callback) {\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: method,\n\t\theaders: headers,\n\t\tdata: JSON.stringify(data),\n\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\n\t\t\tcallback(null);\n\t\t}\n\t});\n};\n\n/*\nInformation about this saver\n*/\nGiteaSaver.prototype.info = {\n\tname: \"Gitea\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GiteaSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/github.js":{"title":"$:/core/modules/savers/github.js","text":"/*\\\ntitle: $:/core/modules/savers/github.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitHub v3 REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitHubSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitHubSaver.prototype.save = function(text,method,callback) {\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitHub/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"github\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitHub/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitHub/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitHub/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitHub/Branch\") || \"main\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitHub/ServerURL\") || \"https://api.github.com\",\n\t\theaders = {\n\t\t\t\"Accept\": \"application/vnd.github.v3+json\",\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Authorization\": \"Basic \" + $tw.utils.base64Encode(username + \":\" + password),\n\t\t\t\"If-None-Match\": \"\"\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/repos/\" + repo + \"/contents\" + path;\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tdata: {\n\t\t\tref: branch\n\t\t},\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tmessage: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: $tw.utils.base64Encode(text),\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a PUT request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + filename,\n\t\t\t\ttype: \"PUT\",\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitHubSaver.prototype.info = {\n\tname: \"github\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitHubSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/gitlab.js":{"title":"$:/core/modules/savers/gitlab.js","text":"/*\\\ntitle: $:/core/modules/savers/gitlab.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by pushing a commit to the GitLab REST API\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: true */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar GitLabSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nGitLabSaver.prototype.save = function(text,method,callback) {\n\t/* See https://docs.gitlab.com/ee/api/repository_files.html */\n\tvar self = this,\n\t\tusername = this.wiki.getTiddlerText(\"$:/GitLab/Username\"),\n\t\tpassword = $tw.utils.getPassword(\"gitlab\"),\n\t\trepo = this.wiki.getTiddlerText(\"$:/GitLab/Repo\"),\n\t\tpath = this.wiki.getTiddlerText(\"$:/GitLab/Path\",\"\"),\n\t\tfilename = this.wiki.getTiddlerText(\"$:/GitLab/Filename\"),\n\t\tbranch = this.wiki.getTiddlerText(\"$:/GitLab/Branch\") || \"master\",\n\t\tendpoint = this.wiki.getTiddlerText(\"$:/GitLab/ServerURL\") || \"https://gitlab.com/api/v4\",\n\t\theaders = {\n\t\t\t\"Content-Type\": \"application/json;charset=UTF-8\",\n\t\t\t\"Private-Token\": password\n\t\t};\n\t// Bail if we don't have everything we need\n\tif(!username || !password || !repo || !filename) {\n\t\treturn false;\n\t}\n\t// Make sure the path start and ends with a slash\n\tif(path.substring(0,1) !== \"/\") {\n\t\tpath = \"/\" + path;\n\t}\n\tif(path.substring(path.length - 1) !== \"/\") {\n\t\tpath = path + \"/\";\n\t}\n\t// Compose the base URI\n\tvar uri = endpoint + \"/projects/\" + encodeURIComponent(repo) + \"/repository/\";\n\t// Perform a get request to get the details (inc shas) of files in the same path as our file\n\t$tw.utils.httpRequest({\n\t\turl: uri + \"tree/?path=\" + encodeURIComponent(path.replace(/^\\/+|\\/$/g, '')) + \"&branch=\" + encodeURIComponent(branch.replace(/^\\/+|\\/$/g, '')),\n\t\ttype: \"GET\",\n\t\theaders: headers,\n\t\tcallback: function(err,getResponseDataJson,xhr) {\n\t\t\tvar getResponseData,sha = \"\";\n\t\t\tif(err && xhr.status !== 404) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar requestType = \"POST\";\n\t\t\tif(xhr.status !== 404) {\n\t\t\t\tgetResponseData = $tw.utils.parseJSONSafe(getResponseDataJson);\n\t\t\t\t$tw.utils.each(getResponseData,function(details) {\n\t\t\t\t\tif(details.name === filename) {\n\t\t\t\t\t\trequestType = \"PUT\";\n\t\t\t\t\t\tsha = details.sha;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tvar data = {\n\t\t\t\tcommit_message: $tw.language.getString(\"ControlPanel/Saving/GitService/CommitMessage\"),\n\t\t\t\tcontent: text,\n\t\t\t\tbranch: branch,\n\t\t\t\tsha: sha\n\t\t\t};\n\t\t\t// Perform a request to save the file\n\t\t\t$tw.utils.httpRequest({\n\t\t\t\turl: uri + \"files/\" + encodeURIComponent(path.replace(/^\\/+/, '') + filename),\n\t\t\t\ttype: requestType,\n\t\t\t\theaders: headers,\n\t\t\t\tdata: JSON.stringify(data),\n\t\t\t\tcallback: function(err,putResponseDataJson,xhr) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\tvar putResponseData = $tw.utils.parseJSONSafe(putResponseDataJson);\n\t\t\t\t\tcallback(null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nGitLabSaver.prototype.info = {\n\tname: \"gitlab\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new GitLabSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/manualdownload.js":{"title":"$:/core/modules/savers/manualdownload.js","text":"/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/msdownload.js":{"title":"$:/core/modules/savers/msdownload.js","text":"/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/put.js":{"title":"$:/core/modules/savers/put.js","text":"/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRetrieve ETag if available\n*/\nvar retrieveETag = function(self) {\n\tvar headers = {\n\t\tAccept: \"*/*;charset=UTF-8\"\n\t};\n\t$tw.utils.httpRequest({\n\t\turl: self.uri(),\n\t\ttype: \"HEAD\",\n\t\theaders: headers,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar etag = xhr.getResponseHeader(\"ETag\");\n\t\t\tif(!etag) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tself.etag = etag.replace(/^W\\//,\"\");\n\t\t}\n\t});\n};\n\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\tvar uri = this.uri();\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\t$tw.utils.httpRequest({\n\t\turl: uri,\n\t\ttype: \"OPTIONS\",\n\t\tcallback: function(err,data,xhr) {\n\t\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\t\tif(!err) {\n\t\t\t\tself.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader(\"dav\");\n\t\t\t}\n\t\t}\n\t});\n\tretrieveETag(this);\n};\n\nPutSaver.prototype.uri = function() {\n\treturn document.location.toString().split(\"#\")[0];\n};\n\n// TODO: in case of edit conflict\n// Prompt: Do you want to save over this? Y/N\n// Merging would be ideal, and may be possible using future generic merge flow\nPutSaver.prototype.save = function(text,method,callback) {\n\tif(!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tvar headers = {\n\t\t\"Content-Type\": \"text/html;charset=UTF-8\"\n\t};\n\tif(this.etag) {\n\t\theaders[\"If-Match\"] = this.etag;\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\t$tw.utils.httpRequest({\n\t\turl: this.uri(),\n\t\ttype: \"PUT\",\n\t\theaders: headers,\n\t\tdata: text,\n\t\tcallback: function(err,data,xhr) {\n\t\t\tif(err) {\n\t\t\t\tvar status = xhr.status,\n\t\t\t\t\terrorMsg = err;\n\t\t\t\tif(status === 412) { // file changed on server\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutEditConflict\");\n\t\t\t\t} else if(status === 401) { // authentication required\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutUnauthorized\");\n\t\t\t\t} else if(status === 403) { // permission denied\n\t\t\t\t\terrorMsg = $tw.language.getString(\"Error/PutForbidden\");\n\t\t\t\t}\n\t\t\t\tif (xhr.responseText) {\n\t\t\t\t\t// treat any server response like a plain text error explanation\n\t\t\t\t\terrorMsg = errorMsg + \"\\n\\n\" + xhr.responseText;\n\t\t\t\t}\n\t\t\t\tcallback(errorMsg); // fail\n\t\t\t} else {\n\t\t\t\tself.etag = xhr.getResponseHeader(\"ETag\");\n\t\t\t\tif(self.etag == null) {\n\t\t\t\t\tretrieveETag(self);\n\t\t\t\t}\n\t\t\t\tcallback(null); // success\n\t\t\t}\n\t\t}\n\t});\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\",\"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/tiddlyfox.js":{"title":"$:/core/modules/savers/tiddlyfox.js","text":"/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",$tw.utils.decodeURIComponentSafe(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/tiddlyie.js":{"title":"$:/core/modules/savers/tiddlyie.js","text":"/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/twedit.js":{"title":"$:/core/modules/savers/twedit.js","text":"/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = $tw.utils.decodeURIComponentSafe(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/savers/upload.js":{"title":"$:/core/modules/savers/upload.js","text":"/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\tuploadWithUrlOnly = this.wiki.getTextReference(\"$:/UploadWithUrlOnly\") || \"no\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif (uploadWithUrlOnly === \"yes\") {\n\t\t// The url is good enough. No need for a username and password.\n\t\t// Assume the server uses some other kind of auth mechanism.\n\t\tif(!url || url.toString().trim() === \"\") {\n\t\t\treturn false;\n\t\t}\n\t}\n\telse {\n\t\t// Require username and password to be present.\n\t\t// Assume the server uses the standard UploadPlugin username/password.\n\t\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n","type":"application/javascript","module-type":"saver"},"$:/core/modules/server/authenticators/basic.js":{"title":"$:/core/modules/server/authenticators/basic.js","text":"/*\\\ntitle: $:/core/modules/server/authenticators/basic.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for WWW basic authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\");\n}\n\nfunction BasicAuthenticator(server) {\n\tthis.server = server;\n\tthis.credentialsData = [];\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nBasicAuthenticator.prototype.init = function() {\n\t// Read the credentials data\n\tthis.credentialsFilepath = this.server.get(\"credentials\");\n\tif(this.credentialsFilepath) {\n\t\tvar resolveCredentialsFilepath = path.resolve(this.server.boot.wikiPath,this.credentialsFilepath);\n\t\tif(fs.existsSync(resolveCredentialsFilepath) && !fs.statSync(resolveCredentialsFilepath).isDirectory()) {\n\t\t\tvar credentialsText = fs.readFileSync(resolveCredentialsFilepath,\"utf8\"),\n\t\t\t\tcredentialsData = $tw.utils.parseCsvStringWithHeader(credentialsText);\n\t\t\tif(typeof credentialsData === \"string\") {\n\t\t\t\treturn \"Error: \" + credentialsData + \" reading credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t\t} else {\n\t\t\t\tthis.credentialsData = credentialsData;\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"Error: Unable to load user credentials from '\" + resolveCredentialsFilepath + \"'\";\n\t\t}\n\t}\n\t// Add the hardcoded username and password if specified\n\tif(this.server.get(\"username\") && this.server.get(\"password\")) {\n\t\tthis.credentialsData = this.credentialsData || [];\n\t\tthis.credentialsData.push({\n\t\t\tusername: this.server.get(\"username\"),\n\t\t\tpassword: this.server.get(\"password\")\n\t\t});\n\t}\n\treturn this.credentialsData.length > 0;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nBasicAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Extract the incoming username and password from the request\n\tvar header = request.headers.authorization || \"\";\n\tif(!header && state.allowAnon) {\n\t\t// If there's no header and anonymous access is allowed then we don't set authenticatedUsername\n\t\treturn true;\n\t}\n\tvar token = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tincomingUsername = parts[0],\n\t\tincomingPassword = parts[1];\n\t// Check that at least one of the credentials matches\n\tvar matchingCredentials = this.credentialsData.find(function(credential) {\n\t\treturn credential.username === incomingUsername && credential.password === incomingPassword;\n\t});\n\tif(matchingCredentials) {\n\t\t// If so, add the authenticated username to the request state\n\t\tstate.authenticatedUsername = incomingUsername;\n\t\treturn true;\n\t} else {\n\t\t// If not, return an authentication challenge\n\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t\treturn false;\n\t}\n};\n\nexports.AuthenticatorClass = BasicAuthenticator;\n\n})();\n","type":"application/javascript","module-type":"authenticator"},"$:/core/modules/server/authenticators/header.js":{"title":"$:/core/modules/server/authenticators/header.js","text":"/*\\\ntitle: $:/core/modules/server/authenticators/header.js\ntype: application/javascript\nmodule-type: authenticator\n\nAuthenticator for trusted header authentication\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction HeaderAuthenticator(server) {\n\tthis.server = server;\n\tthis.header = server.get(\"authenticated-user-header\") ? server.get(\"authenticated-user-header\").toLowerCase() : undefined;\n}\n\n/*\nReturns true if the authenticator is active, false if it is inactive, or a string if there is an error\n*/\nHeaderAuthenticator.prototype.init = function() {\n\treturn !!this.header;\n};\n\n/*\nReturns true if the request is authenticated and assigns the \"authenticatedUsername\" state variable.\nReturns false if the request couldn't be authenticated having sent an appropriate response to the browser\n*/\nHeaderAuthenticator.prototype.authenticateRequest = function(request,response,state) {\n\t// Otherwise, authenticate as the username in the specified header\n\tvar username = request.headers[this.header];\n\tif(!username && !state.allowAnon) {\n\t\tresponse.writeHead(401,\"Authorization header required to login to '\" + state.server.servername + \"'\");\n\t\tresponse.end();\n\t\treturn false;\n\t} else {\n\t\t// authenticatedUsername will be undefined for anonymous users\n\t\tstate.authenticatedUsername = $tw.utils.decodeURIComponentSafe(username);\n\t\treturn true;\n\t}\n};\n\nexports.AuthenticatorClass = HeaderAuthenticator;\n\n})();\n","type":"application/javascript","module-type":"authenticator"},"$:/core/modules/server/routes/delete-tiddler.js":{"title":"$:/core/modules/server/routes/delete-tiddler.js","text":"/*\\\ntitle: $:/core/modules/server/routes/delete-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nDELETE /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"DELETE\";\n\nexports.path = /^\\/bags\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]);\n\tstate.wiki.deleteTiddler(title);\n\tresponse.writeHead(204, \"OK\", {\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-favicon.js":{"title":"$:/core/modules/server/routes/get-favicon.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-favicon.js\ntype: application/javascript\nmodule-type: route\n\nGET /favicon.ico\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/favicon.ico$/;\n\nexports.handler = function(request,response,state) {\n\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\tstate.sendResponse(200,{\"Content-Type\": \"image/x-icon\"},buffer,\"base64\");\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-file.js":{"title":"$:/core/modules/server/routes/get-file.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-file.js\ntype: application/javascript\nmodule-type: route\n\nGET /files/:filepath\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/files\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar path = require(\"path\"),\n\t\tfs = require(\"fs\"),\n\t\tutil = require(\"util\"),\n\t\tsuppliedFilename = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\tbaseFilename = path.resolve(state.boot.wikiPath,\"files\"),\n\t\tfilename = path.resolve(baseFilename,suppliedFilename),\n\t\textension = path.extname(filename);\n\t// Check that the filename is inside the wiki files folder\n\tif(path.relative(baseFilename,filename).indexOf(\"..\") !== 0) {\n\t\t// Send the file\n\t\tfs.readFile(filename,function(err,content) {\n\t\t\tvar status,content,type = \"text/plain\";\n\t\t\tif(err) {\n\t\t\t\tconsole.log(\"Error accessing file \" + filename + \": \" + err.toString());\n\t\t\t\tstatus = 404;\n\t\t\t\tcontent = \"File '\" + suppliedFilename + \"' not found\";\n\t\t\t} else {\n\t\t\t\tstatus = 200;\n\t\t\t\tcontent = content;\n\t\t\t\ttype = ($tw.config.fileExtensionInfo[extension] ? $tw.config.fileExtensionInfo[extension].type : \"application/octet-stream\");\n\t\t\t}\n\t\t\tstate.sendResponse(status,{\"Content-Type\": type},content);\n\t\t});\n\t} else {\n\t\tstate.sendResponse(404,{\"Content-Type\": \"text/plain\"},\"File '\" + suppliedFilename + \"' not found\");\n\t}\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-index.js":{"title":"$:/core/modules/server/routes/get-index.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-index.js\ntype: application/javascript\nmodule-type: route\n\nGET /\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/$/;\n\nexports.handler = function(request,response,state) {\n\tvar text = state.wiki.renderTiddler(state.server.get(\"root-render-type\"),state.server.get(\"root-tiddler\")),\n\t\tresponseHeaders = {\n\t\t\"Content-Type\": state.server.get(\"root-serve-type\")\n\t};\n\tstate.sendResponse(200,responseHeaders,text);\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-login-basic.js":{"title":"$:/core/modules/server/routes/get-login-basic.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-login-basic.js\ntype: application/javascript\nmodule-type: route\n\nGET /login-basic -- force a Basic Authentication challenge\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/login-basic$/;\n\nexports.handler = function(request,response,state) {\n\tif(!state.authenticatedUsername) {\n\t\t// Challenge if there's no username\n\t\tresponse.writeHead(401,{\n\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + state.server.servername + '\"'\n\t\t});\n\t\tresponse.end();\n\t} else {\n\t\t// Redirect to the root wiki if login worked\n\t\tvar location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: \"/\";\n\t\tresponse.writeHead(302,{\n\t\t\tLocation: location\n\t\t});\n\t\tresponse.end();\n\t}\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-status.js":{"title":"$:/core/modules/server/routes/get-status.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-status.js\ntype: application/javascript\nmodule-type: route\n\nGET /status\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/status$/;\n\nexports.handler = function(request,response,state) {\n\tvar text = JSON.stringify({\n\t\tusername: state.authenticatedUsername || state.server.get(\"anon-username\") || \"\",\n\t\tanonymous: !state.authenticatedUsername,\n\t\tread_only: !state.server.isAuthorized(\"writers\",state.authenticatedUsername),\n\t\tlogout_is_available: false,\n\t\tspace: {\n\t\t\trecipe: \"default\"\n\t\t},\n\t\ttiddlywiki_version: $tw.version\n\t});\n\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},text,\"utf8\");\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddler-html.js":{"title":"$:/core/modules/server/routes/get-tiddler-html.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-tiddler-html.js\ntype: application/javascript\nmodule-type: route\n\nGET /:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/([^\\/]+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar renderType = tiddler.getFieldString(\"_render_type\"),\n\t\t\trenderTemplate = tiddler.getFieldString(\"_render_template\");\n\t\t// Tiddler fields '_render_type' and '_render_template' overwrite\n\t\t// system wide settings for render type and template\n\t\tif(state.wiki.isSystemTiddler(title)) {\n\t\t\trenderType = renderType || state.server.get(\"system-tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"system-tiddler-render-template\");\n\t\t} else {\n\t\t\trenderType = renderType || state.server.get(\"tiddler-render-type\");\n\t\t\trenderTemplate = renderTemplate || state.server.get(\"tiddler-render-template\");\n\t\t}\n\t\tvar text = state.wiki.renderTiddler(renderType,renderTemplate,{parseAsInline: true, variables: {currentTiddler: title}});\n\n\t\t// Naughty not to set a content-type, but it's the easiest way to ensure the browser will see HTML pages as HTML, and accept plain text tiddlers as CSS or JS\n\t\tstate.sendResponse(200,{},text,\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddler.js":{"title":"$:/core/modules/server/routes/get-tiddler.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\t\ttiddler = state.wiki.getTiddler(title),\n\t\ttiddlerFields = {},\n\t\tknownFields = [\n\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t];\n\tif(tiddler) {\n\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\ttiddlerFields[name] = value;\n\t\t\t} else {\n\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t}\n\t\t});\n\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\ttiddlerFields.bag = \"default\";\n\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},JSON.stringify(tiddlerFields),\"utf8\");\n\t} else {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t}\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/get-tiddlers-json.js":{"title":"$:/core/modules/server/routes/get-tiddlers-json.js","text":"/*\\\ntitle: $:/core/modules/server/routes/get-tiddlers-json.js\ntype: application/javascript\nmodule-type: route\n\nGET /recipes/default/tiddlers.json?filter=<filter>\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_FILTER = \"[all[tiddlers]!is[system]sort[title]]\";\n\nexports.method = \"GET\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers.json$/;\n\nexports.handler = function(request,response,state) {\n\tvar filter = state.queryParameters.filter || DEFAULT_FILTER;\n\tif(state.wiki.getTiddlerText(\"$:/config/Server/AllowAllExternalFilters\") !== \"yes\") {\n\t\tif(state.wiki.getTiddlerText(\"$:/config/Server/ExternalFilters/\" + filter) !== \"yes\") {\n\t\t\tconsole.log(\"Blocked attempt to GET /recipes/default/tiddlers.json with filter: \" + filter);\n\t\t\tresponse.writeHead(403);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t}\n\tif(state.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"no\") {\n\t\tfilter += \"+[!is[system]]\";\n\t}\n\tvar excludeFields = (state.queryParameters.exclude || \"text\").split(\",\"),\n\t\ttitles = state.wiki.filterTiddlers(filter);\n\tvar tiddlers = [];\n\t$tw.utils.each(titles,function(title) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tvar tiddlerFields = tiddler.getFieldStrings({exclude: excludeFields});\n\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\ttiddlers.push(tiddlerFields);\n\t\t}\n\t});\n\tvar text = JSON.stringify(tiddlers);\n\tstate.sendResponse(200,{\"Content-Type\": \"application/json\"},text,\"utf8\");\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/routes/put-tiddler.js":{"title":"$:/core/modules/server/routes/put-tiddler.js","text":"/*\\\ntitle: $:/core/modules/server/routes/put-tiddler.js\ntype: application/javascript\nmodule-type: route\n\nPUT /recipes/default/tiddlers/:title\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.method = \"PUT\";\n\nexports.path = /^\\/recipes\\/default\\/tiddlers\\/(.+)$/;\n\nexports.handler = function(request,response,state) {\n\tvar title = $tw.utils.decodeURIComponentSafe(state.params[0]),\n\tfields = $tw.utils.parseJSONSafe(state.data);\n\t// Pull up any subfields in the `fields` object\n\tif(fields.fields) {\n\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\tfields[name] = field;\n\t\t});\n\t\tdelete fields.fields;\n\t}\n\t// Remove any revision field\n\tif(fields.revision) {\n\t\tdelete fields.revision;\n\t}\n\t// If this is a skinny tiddler, it means the client never got the full\n\t// version of the tiddler to edit. So we must preserve whatever text\n\t// already exists on the server, or else we'll inadvertently delete it.\n\tif(fields._is_skinny !== undefined) {\n\t\tvar tiddler = state.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tfields.text = tiddler.fields.text;\n\t\t}\n\t\tdelete fields._is_skinny;\n\t}\n\tstate.wiki.addTiddler(new $tw.Tiddler(fields,{title: title}));\n\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\tresponse.writeHead(204, \"OK\",{\n\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\"Content-Type\": \"text/plain\"\n\t});\n\tresponse.end();\n};\n\n}());\n","type":"application/javascript","module-type":"route"},"$:/core/modules/server/server.js":{"title":"$:/core/modules/server/server.js","text":"/*\\\ntitle: $:/core/modules/server/server.js\ntype: application/javascript\nmodule-type: library\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\tquerystring = require(\"querystring\"),\n\t\tcrypto = require(\"crypto\"),\n\t\tzlib = require(\"zlib\");\n}\n\n/*\nA simple HTTP server with regexp-based routes\noptions: variables - optional hashmap of variables to set (a misnomer - they are really constant parameters)\n\t\t routes - optional array of routes to use\n\t\t wiki - reference to wiki object\n*/\nfunction Server(options) {\n\tvar self = this;\n\tthis.routes = options.routes || [];\n\tthis.authenticators = options.authenticators || [];\n\tthis.wiki = options.wiki;\n\tthis.boot = options.boot || $tw.boot;\n\t// Initialise the variables\n\tthis.variables = $tw.utils.extend({},this.defaultVariables);\n\tif(options.variables) {\n\t\tfor(var variable in options.variables) {\n\t\t\tif(options.variables[variable]) {\n\t\t\t\tthis.variables[variable] = options.variables[variable];\n\t\t\t}\n\t\t}\n\t}\n\t// Setup the default required plugins\n\tthis.requiredPlugins = this.get(\"required-plugins\").split(',');\n\t// Initialise CSRF\n\tthis.csrfDisable = this.get(\"csrf-disable\") === \"yes\";\n\t// Initialize Gzip compression\n\tthis.enableGzip = this.get(\"gzip\") === \"yes\";\n\t// Initialize browser-caching\n\tthis.enableBrowserCache = this.get(\"use-browser-cache\") === \"yes\";\n\t// Initialise authorization\n\tvar authorizedUserName;\n\tif(this.get(\"username\") && this.get(\"password\")) {\n\t\tauthorizedUserName = this.get(\"username\");\n\t} else if(this.get(\"credentials\")) {\n\t\tauthorizedUserName = \"(authenticated)\";\n\t} else {\n\t\tauthorizedUserName = \"(anon)\";\n\t}\n\tthis.authorizationPrincipals = {\n\t\treaders: (this.get(\"readers\") || authorizedUserName).split(\",\").map($tw.utils.trim),\n\t\twriters: (this.get(\"writers\") || authorizedUserName).split(\",\").map($tw.utils.trim)\n\t}\n\tif(this.get(\"admin\") || authorizedUserName !== \"(anon)\") {\n\t\tthis.authorizationPrincipals[\"admin\"] = (this.get(\"admin\") || authorizedUserName).split(',').map($tw.utils.trim)\n\t}\n\t// Load and initialise authenticators\n\t$tw.modules.forEachModuleOfType(\"authenticator\", function(title,authenticatorDefinition) {\n\t\t// console.log(\"Loading authenticator \" + title);\n\t\tself.addAuthenticator(authenticatorDefinition.AuthenticatorClass);\n\t});\n\t// Load route handlers\n\t$tw.modules.forEachModuleOfType(\"route\", function(title,routeDefinition) {\n\t\t// console.log(\"Loading server route \" + title);\n\t\tself.addRoute(routeDefinition);\n\t});\n\t// Initialise the http vs https\n\tthis.listenOptions = null;\n\tthis.protocol = \"http\";\n\tvar tlsKeyFilepath = this.get(\"tls-key\"),\n\t\ttlsCertFilepath = this.get(\"tls-cert\"),\n\t\ttlsPassphrase = this.get(\"tls-passphrase\");\n\tif(tlsCertFilepath && tlsKeyFilepath) {\n\t\tthis.listenOptions = {\n\t\t\tkey: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsKeyFilepath),\"utf8\"),\n\t\t\tcert: fs.readFileSync(path.resolve(this.boot.wikiPath,tlsCertFilepath),\"utf8\"),\n\t\t\tpassphrase: tlsPassphrase || ''\n\t\t};\n\t\tthis.protocol = \"https\";\n\t}\n\tthis.transport = require(this.protocol);\n\t// Name the server and init the boot state\n\tthis.servername = $tw.utils.transliterateToSafeASCII(this.get(\"server-name\") || this.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\");\n\tthis.boot.origin = this.get(\"origin\")? this.get(\"origin\"): this.protocol+\"://\"+this.get(\"host\")+\":\"+this.get(\"port\");\n\tthis.boot.pathPrefix = this.get(\"path-prefix\") || \"\";\n}\n\n/*\nSend a response to the client. This method checks if the response must be sent\nor if the client alrady has the data cached. If that's the case only a 304\nresponse will be transmitted and the browser will use the cached data.\nOnly requests with status code 200 are considdered for caching.\nrequest: request instance passed to the handler\nresponse: response instance passed to the handler\nstatusCode: stauts code to send to the browser\nheaders: response headers (they will be augmented with an `Etag` header)\ndata: the data to send (passed to the end method of the response instance)\nencoding: the encoding of the data to send (passed to the end method of the response instance)\n*/\nfunction sendResponse(request,response,statusCode,headers,data,encoding) {\n\tif(this.enableBrowserCache && (statusCode == 200)) {\n\t\tvar hash = crypto.createHash('md5');\n\t\t// Put everything into the hash that could change and invalidate the data that\n\t\t// the browser already stored. The headers the data and the encoding.\n\t\thash.update(data);\n\t\thash.update(JSON.stringify(headers));\n\t\tif(encoding) {\n\t\t\thash.update(encoding);\n\t\t}\n\t\tvar contentDigest = hash.digest(\"hex\");\n\t\t// RFC 7232 section 2.3 mandates for the etag to be enclosed in quotes\n\t\theaders[\"Etag\"] = '\"' + contentDigest + '\"';\n\t\theaders[\"Cache-Control\"] = \"max-age=0, must-revalidate\";\n\t\t// Check if any of the hashes contained within the if-none-match header\n\t\t// matches the current hash.\n\t\t// If one matches, do not send the data but tell the browser to use the\n\t\t// cached data.\n\t\t// We do not implement \"*\" as it makes no sense here.\n\t\tvar ifNoneMatch = request.headers[\"if-none-match\"];\n\t\tif(ifNoneMatch) {\n\t\t\tvar matchParts = ifNoneMatch.split(\",\").map(function(etag) {\n\t\t\t\treturn etag.replace(/^[ \"]+|[ \"]+$/g, \"\");\n\t\t\t});\n\t\t\tif(matchParts.indexOf(contentDigest) != -1) {\n\t\t\t\tresponse.writeHead(304,headers);\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// RFC 7231, 6.1. Overview of Status Codes:\n\t\t// Browser clients may cache 200, 203, 204, 206, 300, 301, \n\t\t// 404, 405, 410, 414, and 501 unless given explicit cache controls\n\t\theaders[\"Cache-Control\"] = headers[\"Cache-Control\"] || \"no-store\";\n\t}\n\t/*\n\tIf the gzip=yes is set, check if the user agent permits compression. If so,\n\tcompress our response if the raw data is bigger than 2k. Compressing less\n\tdata is inefficient. Note that we use the synchronous functions from zlib\n\tto stay in the imperative style. The current `Server` doesn't depend on\n\tthis, and we may just as well use the async versions.\n\t*/\n\tif(this.enableGzip && (data.length > 2048)) {\n\t\tvar acceptEncoding = request.headers[\"accept-encoding\"] || \"\";\n\t\tif(/\\bdeflate\\b/.test(acceptEncoding)) {\n\t\t\theaders[\"Content-Encoding\"] = \"deflate\";\n\t\t\tdata = zlib.deflateSync(data);\n\t\t} else if(/\\bgzip\\b/.test(acceptEncoding)) {\n\t\t\theaders[\"Content-Encoding\"] = \"gzip\";\n\t\t\tdata = zlib.gzipSync(data);\n\t\t}\n\t}\n\n\tresponse.writeHead(statusCode,headers);\n\tresponse.end(data,encoding);\n}\n\nServer.prototype.defaultVariables = {\n\tport: \"8080\",\n\thost: \"127.0.0.1\",\n\t\"required-plugins\": \"$:/plugins/tiddlywiki/filesystem,$:/plugins/tiddlywiki/tiddlyweb\",\n\t\"root-tiddler\": \"$:/core/save/all\",\n\t\"root-render-type\": \"text/plain\",\n\t\"root-serve-type\": \"text/html\",\n\t\"tiddler-render-type\": \"text/html\",\n\t\"tiddler-render-template\": \"$:/core/templates/server/static.tiddler.html\",\n\t\"system-tiddler-render-type\": \"text/plain\",\n\t\"system-tiddler-render-template\": \"$:/core/templates/wikified-tiddler\",\n\t\"debug-level\": \"none\",\n\t\"gzip\": \"no\",\n\t\"use-browser-cache\": \"no\"\n};\n\nServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nServer.prototype.addAuthenticator = function(AuthenticatorClass) {\n\t// Instantiate and initialise the authenticator\n\tvar authenticator = new AuthenticatorClass(this),\n\t\tresult = authenticator.init();\n\tif(typeof result === \"string\") {\n\t\t$tw.utils.error(\"Error: \" + result);\n\t} else if(result) {\n\t\t// Only use the authenticator if it initialised successfully\n\t\tthis.authenticators.push(authenticator);\n\t}\n};\n\nServer.prototype.findMatchingRoute = function(request,state) {\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(state.pathPrefix) {\n\t\t\tif(pathname.substr(0,state.pathPrefix.length) === state.pathPrefix) {\n\t\t\t\tpathname = pathname.substr(state.pathPrefix.length) || \"/\";\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nServer.prototype.methodMappings = {\n\t\"GET\": \"readers\",\n\t\"OPTIONS\": \"readers\",\n\t\"HEAD\": \"readers\",\n\t\"PUT\": \"writers\",\n\t\"POST\": \"writers\",\n\t\"DELETE\": \"writers\"\n};\n\n/*\nCheck whether a given user is authorized for the specified authorizationType (\"readers\" or \"writers\"). Pass null or undefined as the username to check for anonymous access\n*/\nServer.prototype.isAuthorized = function(authorizationType,username) {\n\tvar principals = this.authorizationPrincipals[authorizationType] || [];\n\treturn principals.indexOf(\"(anon)\") !== -1 || (username && (principals.indexOf(\"(authenticated)\") !== -1 || principals.indexOf(username) !== -1));\n}\n\nServer.prototype.requestHandler = function(request,response,options) {\n\toptions = options || {};\n\t// Compose the state object\n\tvar self = this;\n\tvar state = {};\n\tstate.wiki = options.wiki || self.wiki;\n\tstate.boot = options.boot || self.boot;\n\tstate.server = self;\n\tstate.urlInfo = url.parse(request.url);\n\tstate.queryParameters = querystring.parse(state.urlInfo.query);\n\tstate.pathPrefix = options.pathPrefix || this.get(\"path-prefix\") || \"\";\n\tstate.sendResponse = sendResponse.bind(self,request,response);\n\t// Get the principals authorized to access this resource\n\tstate.authorizationType = options.authorizationType || this.methodMappings[request.method] || \"readers\";\n\t// Check for the CSRF header if this is a write\n\tif(!this.csrfDisable && state.authorizationType === \"writers\" && request.headers[\"x-requested-with\"] !== \"TiddlyWiki\") {\n\t\tresponse.writeHead(403,\"'X-Requested-With' header required to login to '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Check whether anonymous access is granted\n\tstate.allowAnon = this.isAuthorized(state.authorizationType,null);\n\t// Authenticate with the first active authenticator\n\tif(this.authenticators.length > 0) {\n\t\tif(!this.authenticators[0].authenticateRequest(request,response,state)) {\n\t\t\t// Bail if we failed (the authenticator will have sent the response)\n\t\t\treturn;\n\t\t}\n\t}\n\t// Authorize with the authenticated username\n\tif(!this.isAuthorized(state.authorizationType,state.authenticatedUsername)) {\n\t\tresponse.writeHead(401,\"'\" + state.authenticatedUsername + \"' is not authorized to access '\" + this.servername + \"'\");\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Find the route that matches this path\n\tvar route = self.findMatchingRoute(request,state);\n\t// Optionally output debug info\n\tif(self.get(\"debug-level\") !== \"none\") {\n\t\tconsole.log(\"Request path:\",JSON.stringify(state.urlInfo));\n\t\tconsole.log(\"Request headers:\",JSON.stringify(request.headers));\n\t\tconsole.log(\"authenticatedUsername:\",state.authenticatedUsername);\n\t}\n\t// Return a 404 if we didn't find a route\n\tif(!route) {\n\t\tresponse.writeHead(404);\n\t\tresponse.end();\n\t\treturn;\n\t}\n\t// Receive the request body if necessary and hand off to the route handler\n\tif(route.bodyFormat === \"stream\" || request.method === \"GET\" || request.method === \"HEAD\") {\n\t\t// Let the route handle the request stream itself\n\t\troute.handler(request,response,state);\n\t} else if(route.bodyFormat === \"string\" || !route.bodyFormat) {\n\t\t// Set the encoding for the incoming request\n\t\trequest.setEncoding(\"utf8\");\n\t\tvar data = \"\";\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata += chunk.toString();\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = data;\n\t\t\troute.handler(request,response,state);\n\t\t});\n\t} else if(route.bodyFormat === \"buffer\") {\n\t\tvar data = [];\n\t\trequest.on(\"data\",function(chunk) {\n\t\t\tdata.push(chunk);\n\t\t});\n\t\trequest.on(\"end\",function() {\n\t\t\tstate.data = Buffer.concat(data);\n\t\t\troute.handler(request,response,state);\n\t\t})\n\t} else {\n\t\tresponse.writeHead(400,\"Invalid bodyFormat \" + route.bodyFormat + \" in route \" + route.method + \" \" + route.path.source);\n\t\tresponse.end();\n\t}\n};\n\n/*\nListen for requests\nport: optional port number (falls back to value of \"port\" variable)\nhost: optional host address (falls back to value of \"host\" variable)\nprefix: optional prefix (falls back to value of \"path-prefix\" variable)\n*/\nServer.prototype.listen = function(port,host,prefix) {\n\tvar self = this;\n\t// Handle defaults for port and host\n\tport = port || this.get(\"port\");\n\thost = host || this.get(\"host\");\n\tprefix = prefix || this.get(\"path-prefix\") || \"\";\n\t// Check for the port being a string and look it up as an environment variable\n\tif(parseInt(port,10).toString() !== port) {\n\t\tport = process.env[port] || 8080;\n\t}\n\t// Warn if required plugins are missing\n\tvar missing = [];\n\tfor (var index=0; index<this.requiredPlugins.length; index++) {\n\t\tif (!this.wiki.getTiddler(this.requiredPlugins[index])) {\n\t\t\tmissing.push(this.requiredPlugins[index]);\n\t\t}\n\t}\n\tif(missing.length > 0) {\n\t\tvar error = \"Warning: Plugin(s) required for client-server operation are missing.\\n\"+\n\t\t\t\"\\\"\"+ missing.join(\"\\\", \\\"\")+\"\\\"\";\n\t\t$tw.utils.warning(error);\n\t}\n\t// Create the server\n\tvar server;\n\tif(this.listenOptions) {\n\t\tserver = this.transport.createServer(this.listenOptions,this.requestHandler.bind(this));\n\t} else {\n\t\tserver = this.transport.createServer(this.requestHandler.bind(this));\n\t}\n\t// Display the port number after we've started listening (the port number might have been specified as zero, in which case we will get an assigned port)\n\tserver.on(\"listening\",function() {\n\t\tvar address = server.address(),\n\t\t\turl = self.protocol + \"://\" + (address.family === \"IPv6\" ? \"[\" + address.address + \"]\" : address.address) + \":\" + address.port + prefix;\n\t\t$tw.utils.log(\"Serving on \" + url,\"brown/orange\");\n\t\t$tw.utils.log(\"(press ctrl-C to exit)\",\"red\");\n\t});\n\t// Listen\n\treturn server.listen(port,host);\n};\n\nexports.Server = Server;\n\n})();\n","type":"application/javascript","module-type":"library"},"$:/core/modules/browser-messaging.js":{"title":"$:/core/modules/browser-messaging.js","text":"/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message 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 = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\");\n\t\tiframeInfo = {\n\t\t\turl: url,\n\t\t\tstatus: \"loading\",\n\t\t\tdomNode: iframe\n\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tiframe.setAttribute(\"library\",\"true\");\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\n/*\nUnload library iframe for given url\n*/\nfunction unloadIFrame(url){\n\tvar iframes = document.getElementsByTagName('iframe');\n\tfor(var t=iframes.length-1; t--; t>=0) {\n\t\tvar iframe = iframes[t];\n\t\tif(iframe.getAttribute(\"library\") === \"true\" &&\n\t\t iframe.getAttribute(\"src\") === url) {\n\t\t\tiframe.parentNode.removeChild(iframe);\n\t\t}\n\t}\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for widget messages to control unloading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-unload-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\t$tw.browserMessaging.iframeInfoMap[url] = undefined;\n\t\tif(url) {\n\t\t\tunloadIFrame(url);\n\t\t\t$tw.utils.each(\n\t\t\t\t$tw.wiki.filterTiddlers(\"[[$:/temp/ServerConnection/\" + url + \"]] [prefix[$:/temp/RemoteAssetInfo/\" + url + \"/]]\"),\n\t\t\t\tfunction(title) {\n\t\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\t// console.log(\"browser-messaging: \",document.location.toString())\n\t\t// console.log(\"browser-messaging: Received message from\",event.origin);\n\t\t// console.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = $tw.utils.parseJSONSafe(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = $tw.utils.parseJSONSafe(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/commands.js":{"title":"$:/core/modules/startup/commands.js","text":"/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\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 = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/favicon.js":{"title":"$:/core/modules/startup/favicon.js","text":"/*\\\ntitle: $:/core/modules/startup/favicon.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 = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",$tw.utils.makeDataUri(tiddler.fields.text,tiddler.fields.type,tiddler.fields._canonical_uri));\n\t}\n}\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/info.js":{"title":"$:/core/modules/startup/info.js","text":"/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\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 = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar TITLE_INFO_PLUGIN = \"$:/temp/info-plugin\";\n\nexports.startup = function() {\n\t// Function to bake the info plugin with new tiddlers\n\tvar updateInfoPlugin = function(tiddlerFieldsArray) {\n\t\t// Get the existing tiddlers\n\t\tvar json = $tw.wiki.getTiddlerData(TITLE_INFO_PLUGIN,{tiddlers: {}});\n\t\t// Add the new ones\n\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\tif(fields && fields.title) {\n\t\t\t\tjson.tiddlers[fields.title] = fields;\n\t\t\t}\n\t\t});\n\t\t// Bake the info tiddlers into a plugin. We use the non-standard plugin-type \"info\" because ordinary plugins are only registered asynchronously after being loaded dynamically\n\t\tvar fields = {\n\t\t\ttitle: TITLE_INFO_PLUGIN,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"info\",\n\t\t\ttext: JSON.stringify(json,null,$tw.config.preferences.jsonSpaces)\n\t\t};\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\n\t};\n\t// Collect up the info tiddlers\n\tvar tiddlerFieldsArray = [];\n\t// Give each info module a chance to provide as many info tiddlers as they want as an array, and give them a callback for dynamically updating them\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tArray.prototype.push.apply(tiddlerFieldsArray,moduleExports.getInfoTiddlerFields(updateInfoPlugin));\n\t\t}\n\t});\n\tupdateInfoPlugin(tiddlerFieldsArray);\n\tvar changes = $tw.wiki.readPluginInfo([TITLE_INFO_PLUGIN]);\n\t$tw.wiki.registerPluginTiddlers(\"info\",[TITLE_INFO_PLUGIN]);\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/load-modules.js":{"title":"$:/core/modules/startup/load-modules.js","text":"/*\\\ntitle: $:/core/modules/startup/load-modules.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 = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\tif($tw.browser) {\n\t\t$tw.modules.applyMethods(\"utils-browser\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.wiki.addIndexersToWiki();\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/password.js":{"title":"$:/core/modules/startup/password.js","text":"/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword 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 = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/plugins.js":{"title":"$:/core/modules/startup/plugins.js","text":"/*\\\ntitle: $:/core/modules/startup/plugins.js\ntype: application/javascript\nmodule-type: startup\n\nStartup logic concerned with managing plugins\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 = \"plugins\";\nexports.after = [\"load-modules\"];\nexports.before = [\"startup\"];\nexports.synchronous = true;\n\nvar TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE = \"$:/status/RequireReloadDueToPluginChange\";\n\nvar PREFIX_CONFIG_REGISTER_PLUGIN_TYPE = \"$:/config/RegisterPluginType/\";\n\nexports.startup = function() {\n\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"no\"});\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Work out which of the changed tiddlers are plugins that we need to reregister\n\t\tvar changesToProcess = [],\n\t\t\trequireReloadDueToPluginChange = false;\n\t\t$tw.utils.each(Object.keys(changes),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\t\trequiresReload = $tw.wiki.doesPluginRequireReload(title);\n\t\t\tif(requiresReload) {\n\t\t\t\trequireReloadDueToPluginChange = true;\n\t\t\t} else if(tiddler) {\n\t\t\t\tvar pluginType = tiddler.fields[\"plugin-type\"];\n\t\t\t\tif($tw.wiki.getTiddlerText(PREFIX_CONFIG_REGISTER_PLUGIN_TYPE + (tiddler.fields[\"plugin-type\"] || \"\"),\"no\") === \"yes\") {\n\t\t\t\t\tchangesToProcess.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t// Issue warning if any of the tiddlers require a reload\n\t\tif(requireReloadDueToPluginChange) {\n\t\t\t$tw.wiki.addTiddler({title: TITLE_REQUIRE_RELOAD_DUE_TO_PLUGIN_CHANGE,text: \"yes\"});\n\t\t}\n\t\t// Read or delete the plugin info of the changed tiddlers\n\t\tif(changesToProcess.length > 0) {\n\t\t\tvar changes = $tw.wiki.readPluginInfo(changesToProcess);\n\t\t\tif(changes.modifiedPlugins.length > 0 || changes.deletedPlugins.length > 0) {\n\t\t\t\tvar changedShadowTiddlers = {};\n\t\t\t\t// Collect the shadow tiddlers of any deleted plugins\n\t\t\t\t$tw.utils.each(changes.deletedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = true;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Collect the shadow tiddlers of any modified plugins\n\t\t\t\t$tw.utils.each(changes.modifiedPlugins,function(pluginTitle) {\n\t\t\t\t\tvar pluginInfo = $tw.wiki.getPluginInfo(pluginTitle);\n\t\t\t\t\tif(pluginInfo) {\n\t\t\t\t\t\t$tw.utils.each(Object.keys(pluginInfo.tiddlers),function(title) {\n\t\t\t\t\t\t\tchangedShadowTiddlers[title] = false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// (Re-)register any modified plugins\n\t\t\t\t$tw.wiki.registerPluginTiddlers(null,changes.modifiedPlugins);\n\t\t\t\t// Unregister any deleted plugins\n\t\t\t\t$tw.wiki.unregisterPluginTiddlers(null,changes.deletedPlugins);\n\t\t\t\t// Unpack the shadow tiddlers\n\t\t\t\t$tw.wiki.unpackPluginTiddlers();\n\t\t\t\t// Queue change events for the changed shadow tiddlers\n\t\t\t\t$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {\n\t\t\t\t\t$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title]);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/render.js":{"title":"$:/core/modules/startup/render.js","text":"/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\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 = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/RootTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar THROTTLE_REFRESH_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleWidgetNode.assignedStyles = $tw.styleContainer.textContent;\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\tvar newStyles = $tw.styleContainer.textContent;\n\t\t\tif(newStyles !== $tw.styleWidgetNode.assignedStyles) {\n\t\t\t\t$tw.styleWidgetNode.assignedStyles = newStyles;\n\t\t\t\t$tw.styleElement.innerHTML = $tw.styleWidgetNode.assignedStyles;\n\t\t\t}\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget, recursionMarker: \"no\"});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n \t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t})();\n\t// Remove any splash screen elements\n\tvar removeList = document.querySelectorAll(\".tc-remove-when-wiki-loaded\");\n\t$tw.utils.each(removeList,function(removeItem) {\n\t\tif(removeItem.parentNode) {\n\t\t\tremoveItem.parentNode.removeChild(removeItem);\n\t\t}\n\t});\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.hooks.invokeHook(\"th-page-refreshing\");\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t\t$tw.hooks.invokeHook(\"th-page-refreshed\");\n\t}\n\tvar throttledRefresh = $tw.perf.report(\"throttledRefresh\",refresh);\n\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only tiddlers that are throttled have changed\n\t\tvar onlyThrottledTiddlersHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!$tw.wiki.isVolatileTiddler(title) && (!tiddler || !(tiddler.hasField(\"draft.of\") || tiddler.hasField(\"throttle.refresh\")))) {\n\t\t\t\tonlyThrottledTiddlersHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyThrottledTiddlersHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = THROTTLE_REFRESH_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(throttledRefresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n\t// Run any post-render startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/PostRender\");\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/rootwidget.js":{"title":"$:/core/modules/startup/rootwidget.js","text":"/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\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 = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the HTTP client event handler\n\t$tw.httpClient = new $tw.utils.HttpClient();\n\tvar getPropertiesWithPrefix = function(properties,prefix) {\n\t\tvar result = Object.create(null);\n\t\t$tw.utils.each(properties,function(value,name) {\n\t\t\tif(name.indexOf(prefix) === 0) {\n\t\t\t\tresult[name.substring(prefix.length)] = properties[name];\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-http-request\",function(event) {\n\t\tvar params = event.paramObject || {};\n\t\t$tw.httpClient.initiateHttpRequest({\n\t\t\twiki: event.widget.wiki,\n\t\t\turl: params.url,\n\t\t\tmethod: params.method,\n\t\t\tbody: params.body,\n\t\t\tbinary: params.binary,\n\t\t\toncompletion: params.oncompletion,\n\t\t\tonprogress: params.onprogress,\n\t\t\tbindStatus: params[\"bind-status\"],\n\t\t\tbindProgress: params[\"bind-progress\"],\n\t\t\tvariables: getPropertiesWithPrefix(params,\"var-\"),\n\t\t\theaders: getPropertiesWithPrefix(params,\"header-\"),\n\t\t\tpasswordHeaders: getPropertiesWithPrefix(params,\"password-header-\"),\n\t\t\tqueryStrings: getPropertiesWithPrefix(params,\"query-\"),\n\t\t\tpasswordQueryStrings: getPropertiesWithPrefix(params,\"password-query-\")\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-http-cancel-all-requests\",function(event) {\n\t\t$tw.httpClient.cancelAllHttpRequests();\n\t});\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject, event: event});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-show-switcher\",function(event) {\n\t\t$tw.modal.display(\"$:/core/ui/SwitcherModal\",{variables: event.paramObject, event: event});\n\t});\n\t// Install the notification mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the copy-to-clipboard mechanism\n\t$tw.rootWidget.addEventListener(\"tm-copy-to-clipboard\",function(event) {\n\t\t$tw.utils.copyToClipboard(event.param);\n\t});\n\t// Install the tm-focus-selector message\n\t$tw.rootWidget.addEventListener(\"tm-focus-selector\",function(event) {\n\t\tvar selector = event.param || \"\",\n\t\t\telement,\n\t\t \tbaseElement = event.event && event.event.target ? event.event.target.ownerDocument : document;\n\t\telement = $tw.utils.querySelectorSafe(selector,baseElement);\n\t\tif(element && element.focus) {\n\t\t\telement.focus(event.paramObject);\n\t\t}\n\t});\n\t// Install the tm-rename-tiddler and tm-relink-tiddler messages\n\tvar makeRenameHandler = function(method) {\n\t\treturn function(event) {\n\t\t\tvar options = {},\n\t\t\t\tparamObject = event.paramObject || {},\n\t\t\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\t\t\tto = paramObject.to;\n\t\t\toptions.dontRenameInTags = (paramObject.renameInTags === \"false\" || paramObject.renameInTags === \"no\") ? true : false;\n\t\t\toptions.dontRenameInLists = (paramObject.renameInLists === \"false\" || paramObject.renameInLists === \"no\") ? true : false;\n\t\t\t$tw.wiki[method](from,to,options);\n\t\t};\n\t};\n\t$tw.rootWidget.addEventListener(\"tm-rename-tiddler\",makeRenameHandler(\"renameTiddler\"));\n\t$tw.rootWidget.addEventListener(\"tm-relink-tiddler\",makeRenameHandler(\"relinkTiddler\"));\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tvar fullScreenDocument = event.event ? event.event.target.ownerDocument : document;\n\t\t\tif(event.param === \"enter\") {\n\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t} else if(event.param === \"exit\") {\n\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tif(fullScreenDocument[fullscreen._fullscreenElement]) {\n\t\t\t\t\tfullScreenDocument[fullscreen._exitFullscreen]();\n\t\t\t\t} else {\n\t\t\t\t\tfullScreenDocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup.js":{"title":"$:/core/modules/startup.js","text":"/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\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 = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t\t// 2023-07-21 Edge returns UA below. So we use \"isChromeLike\"\n\t\t//'mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/114.0.0.0 safari/537.36 edg/114.0.1823.82'\n\t\t$tw.browser.isChromeLike = navigator.userAgent.toLowerCase().indexOf(\"chrome\") > -1;\n\t\t$tw.browser.hasTouch = !!window.matchMedia && window.matchMedia(\"(pointer: coarse)\").matches;\n\t\t$tw.browser.isMobileChrome = $tw.browser.isChromeLike && $tw.browser.hasTouch;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.platform);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\t$tw.rootWidget = new widget.widget({\n\t\ttype: \"widget\",\n\t\tchildren: []\n\t},{\n\t\twiki: $tw.wiki,\n\t\tdocument: $tw.browser ? document : $tw.fakeDocument\n\t});\n\t// Execute any startup actions\n\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction\");\n\tif($tw.browser) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Browser\");\n\t}\n\tif($tw.node) {\n\t\t$tw.rootWidget.invokeActionsByTag(\"$:/tags/StartupAction/Node\");\n\t}\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-GB\"\n\t\t],\n\t\tonSwitch: function(plugins) {\n\t\t\tif($tw.browser) {\n\t\t\t\tvar pluginTiddler = $tw.wiki.getTiddler(plugins[0]);\n\t\t\t\tif(pluginTiddler) {\n\t\t\t\t\tdocument.documentElement.setAttribute(\"dir\",pluginTiddler.getFieldString(\"text-direction\") || \"auto\");\n\t\t\t\t} else {\n\t\t\t\t\tdocument.documentElement.removeAttribute(\"dir\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Listen for shortcuts\n\tif($tw.browser) {\n\t\t$tw.utils.addEventListeners(document,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t}\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({\n\t\t\twiki: $tw.wiki,\n\t\t\tsyncadaptor: $tw.syncadaptor,\n\t\t\tlogging: $tw.wiki.getTiddlerText('$:/config/SyncLogging', \"yes\") === \"yes\"\n\t\t});\n\t}\n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({\n\t\twiki: $tw.wiki,\n\t\tdirtyTracking: !$tw.syncadaptor,\n\t\tpreloadDirty: $tw.boot.preloadDirty || []\n\t});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/startup/story.js":{"title":"$:/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,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,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: 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(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: 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: DEFAULT_STORY_TITLE,\n\t\thistoryTitle: 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\tstory.addToHistory(target);\n\t\t} else if(storyList.length > 0) {\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(DEFAULT_STORY_TITLE),\n\t\thistoryList = $tw.wiki.getTiddlerData(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","module-type":"startup"},"$:/core/modules/startup/windows.js":{"title":"$:/core/modules/startup/windows.js","text":"/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\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 = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\n$tw.windows = {};\n// Default template to use for new windows\nvar DEFAULT_WINDOW_TEMPLATE = \"$:/core/templates/single.tiddler.window\";\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\twindowTitle = paramObject.windowTitle || title,\n\t\t\twindowID = paramObject.windowID || title,\n\t\t\ttemplate = paramObject.template || DEFAULT_WINDOW_TEMPLATE,\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\ttop = paramObject.top,\n\t\t\tleft = paramObject.left,\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title, \"tv-window-id\": windowID});\n\t\t// Open the window\n\t\tvar srcWindow,\n\t\t\tsrcDocument;\n\t\t// In case that popup blockers deny opening a new window\n\t\ttry {\n\t\t\tsrcWindow = window.open(\"\",\"external-\" + windowID,\"scrollbars,width=\" + width + \",height=\" + height + (top ? \",top=\" + top : \"\" ) + (left ? \",left=\" + left : \"\" )),\n\t\t\tsrcDocument = srcWindow.document;\n\t\t}\n\t\tcatch(e) {\n\t\t\treturn;\n\t\t}\n\t\t$tw.windows[windowID] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\tsrcWindow.focus();\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<!DOCTYPE html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = windowTitle;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete $tw.windows[windowID];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{\n\t\t\t\tdocument: $tw.fakeDocument,\n\t\t\t\tvariables: variables,\n\t\t\t\timportPageMacros: true}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\t// Listen for keyboard shortcuts\n\t\t$tw.utils.addEventListeners(srcDocument,[{\n\t\t\tname: \"keydown\",\n\t\t\thandlerObject: $tw.keyboardManager,\n\t\t\thandlerMethod: \"handleKeydownEvent\"\n\t\t}]);\n\t\tsrcWindow.document.documentElement.addEventListener(\"click\",$tw.popup,true);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-close-window\",function(event) {\n\t\tvar windowID = event.param,\n\t\t\twin = $tw.windows[windowID];\n\t\t\tif(win) {\n\t\t\t\twin.close();\n\t\t\t}\n\t});\n\tvar closeAllWindows = function() {\n\t\t$tw.utils.each($tw.windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t}\n\t$tw.rootWidget.addEventListener(\"tm-close-all-windows\",closeAllWindows);\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(closeAllWindows);\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/core/modules/story.js":{"title":"$:/core/modules/story.js","text":"/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/storyviews/classic.js":{"title":"$:/core/modules/storyviews/classic.js","text":"/*\\\ntitle: $:/core/modules/storyviews/classic.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\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.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\nClassicStoryView.prototype.insert = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\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\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]);\n\t}\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tif(duration) {\n\t\tvar targetElement = widget.findFirstDomNode(),\n\t\t\tremoveElement = function() {\n\t\t\t\twidget.removeChildDomNodes();\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\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 {\n\t\twidget.removeChildDomNodes();\n\t}\n};\n\nexports.classic = ClassicStoryView;\n\n})();\n","type":"application/javascript","module-type":"storyview"},"$:/core/modules/storyviews/pop.js":{"title":"$:/core/modules/storyviews/pop.js","text":"/*\\\ntitle: $:/core/modules/storyviews/pop.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 PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.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\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.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\nPopStoryView.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.pop = PopStoryView;\n\n})();\n","type":"application/javascript","module-type":"storyview"},"$:/core/modules/storyviews/zoomin.js":{"title":"$:/core/modules/storyviews/zoomin.js","text":"/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\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\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\tthis.textNodeLogger = new $tw.utils.Logger(\"zoomin story river view\", {\n\t\tenable: true,\n\t\tcolour: 'red'\n\t});\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = 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) {\n\t\treturn;\n\t} else if (targetElement.nodeType === Node.TEXT_NODE) {\n\t\tthis.logTextNodeRoot(targetElement);\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx = zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty = zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn $tw.utils.querySelectorSafe(\".\" + targetClass,domNode);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!targetElement) {\n\t\treturn;\n\t} else if (targetElement.nodeType === Node.TEXT_NODE) {\n\t\tthis.logTextNodeRoot(targetElement);\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\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// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\tif (toWidgetDomNode.nodeType === Node.TEXT_NODE) {\n\t\t\tthis.logTextNodeRoot(toWidgetDomNode);\n\t\t\ttoWidgetDomNode = null;\n\t\t} else {\n\t\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t\t{display: \"block\"},\n\t\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t\t{opacity: \"0\"},\n\t\t\t\t{zIndex: \"500\"}\n\t\t\t]);\n\t\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t\t}\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nZoominListView.prototype.logTextNodeRoot = function(node) {\n\tthis.textNodeLogger.log($tw.language.getString(\"Error/ZoominTextNode\") + \" \" + node.textContent);\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n","type":"application/javascript","module-type":"storyview"},"$:/core/modules/syncer.js":{"title":"$:/core/modules/syncer.js","text":"/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store and synchronises them to a remote data store represented as a \"sync adaptor\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDefaults\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleIsAnonymous = \"$:/status/IsAnonymous\";\nSyncer.prototype.titleIsReadOnly = \"$:/status/IsReadOnly\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSyncPollingInterval = \"$:/config/SyncPollingInterval\";\nSyncer.prototype.titleSyncDisableLazyLoading = \"$:/config/SyncDisableLazyLoading\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.titleSyncThrottleInterval = \"$:/config/SyncThrottleInterval\";\nSyncer.prototype.taskTimerInterval = 0.25 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.errorRetryInterval = 5 * 1000; // Interval to retry after an error\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\t// Save parameters\n\tthis.syncadaptor = options.syncadaptor;\n\tthis.disableUI = !!options.disableUI;\n\tthis.titleIsLoggedIn = options.titleIsLoggedIn || this.titleIsLoggedIn;\n\tthis.titleUserName = options.titleUserName || this.titleUserName;\n\tthis.titleSyncFilter = options.titleSyncFilter || this.titleSyncFilter;\n\tthis.titleSavedNotification = options.titleSavedNotification || this.titleSavedNotification;\n\tthis.taskTimerInterval = options.taskTimerInterval || this.taskTimerInterval;\n\tthis.throttleInterval = options.throttleInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncThrottleInterval,\"\"),10) || this.throttleInterval;\n\tthis.errorRetryInterval = options.errorRetryInterval || this.errorRetryInterval;\n\tthis.fallbackInterval = options.fallbackInterval || this.fallbackInterval;\n\tthis.pollTimerInterval = options.pollTimerInterval || parseInt(this.wiki.getTiddlerText(this.titleSyncPollingInterval,\"\"),10) || this.pollTimerInterval;\n\tthis.logging = \"logging\" in options ? options.logging : true;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\"),{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging,\n\t\tsaveHistory: true\n\t});\n\t// Make another logger for connection errors\n\tthis.loggerConnection = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\") + (this.syncadaptor.name ? (\"-\" + this.syncadaptor.name) : \"\") + \"-connection\",{\n\t\tcolour: \"cyan\",\n\t\tenable: this.logging\n\t});\n\t// Ask the syncadaptor to use the main logger\n\tif(this.syncadaptor.setLoggerSaveBuffer) {\n\t\tthis.syncadaptor.setLoggerSaveBuffer(this.logger);\n\t}\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\tthis.titlesToBeLoaded = {}; // Hashmap of titles of tiddlers that need loading from the server\n\tthis.titlesHaveBeenLazyLoaded = {}; // Hashmap of titles of tiddlers that have already been lazily loaded from the server\n\t// Timers\n\tthis.taskTimerId = null; // Timer for task dispatch\n\t// Number of outstanding requests\n\tthis.numTasksInProgress = 0;\n\t// True when we want to force an immediate sync from the server\n\tthis.forceSyncFromServer = false;\n\tthis.timestampLastSyncFromServer = new Date();\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t// Filter the changes to just include ones that are being synced\n\t\tvar filteredChanges = self.getSyncedTiddlers(function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.tiddlerExists(title) && self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t\tif(filteredChanges.length > 0) {\n\t\t\tself.processTaskQueue();\n\t\t} else {\n\t\t\t// Look for deletions of tiddlers we're already syncing\t\n\t\t\tvar outstandingDeletion = false\n\t\t\t$tw.utils.each(changes,function(change,title,object) {\n\t\t\t\tif(change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) {\n\t\t\t\t\toutstandingDeletion = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(outstandingDeletion) {\n\t\t\t\tself.processTaskQueue();\n\t\t\t}\n\t\t}\n\t});\n\t// Browser event handlers\n\tif($tw.browser && !this.disableUI) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function(event) {\n\t\t\tvar username = event && event.paramObject && event.paramObject.username,\n\t\t\t\tpassword = event && event.paramObject && event.paramObject.password;\n\t\t\tif(username && password) {\n\t\t\t\t// Login with username and password\n\t\t\t\tself.login(username,password,function() {});\n\t\t\t} else {\n\t\t\t\t// No username and password, so we display a prompt\n\t\t\t\tself.handleLoginEvent();\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-copy-syncer-logs-to-clipboard\",function() {\n\t\t\t$tw.utils.copyToClipboard($tw.utils.getSystemInfo() + \"\\n\\nLog:\\n\" + self.logger.getBuffer());\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tif(!this.disableUI && this.wiki.getTiddlerText(this.titleSyncDisableLazyLoading) !== \"yes\") {\n\t\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\t\tself.handleLazyLoadEvent(title);\n\t\t});\t\t\n\t}\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nShow a generic network error alert\n*/\nSyncer.prototype.displayError = function(msg,err) {\n\tif(err === ($tw.language.getString(\"Error/XMLHttpRequest\") + \": 0\")) {\n\t\tthis.loggerConnection.alert($tw.language.getString(\"Error/NetworkErrorAlert\"));\n\t\tthis.logger.log(msg + \":\",err);\n\t} else {\n\t\tthis.logger.alert(msg + \":\",err);\n\t}\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getSyncedTiddlers = function(source) {\n\treturn this.filterFn.call(this.wiki,source);\n};\n\n/*\nReturn an array of the tiddler titles that are subjected to syncing\n*/\nSyncer.prototype.getTiddlerRevision = function(title) {\n\tif(this.syncadaptor && this.syncadaptor.getTiddlerRevision) {\n\t\treturn this.syncadaptor.getTiddlerRevision(title);\n\t} else {\n\t\treturn this.wiki.getTiddler(title).fields.revision;\t\n\t} \n};\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\t// \"revision\" is the revision of the tiddler last seen on the server, and \"changecount\" is the corresponding local changecount\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.getSyncedTiddlers();\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tif(tiddler) {\n\t\t\tself.tiddlerInfo[title] = {\n\t\t\t\trevision: self.getTiddlerRevision(title),\n\t\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\t\tchangeCount: self.wiki.getChangeCount(title)\n\t\t\t};\n\t\t}\n\t});\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\tvar self = this;\n\tfunction checkIsDirty() {\n\t\t// Check tiddlers that are in the store and included in the filter function\n\t\tvar titles = self.getSyncedTiddlers();\n\t\tfor(var index=0; index<titles.length; index++) {\n\t\t\tvar title = titles[index],\n\t\t\t\ttiddlerInfo = self.tiddlerInfo[title];\n\t\t\tif(self.wiki.tiddlerExists(title)) {\n\t\t\t\tif(tiddlerInfo) {\n\t\t\t\t\t// If the tiddler is known on the server and has been modified locally then it needs to be saved to the server\n\t\t\t\t\tif(self.wiki.getChangeCount(title) > tiddlerInfo.changeCount) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the tiddler isn't known on the server then it needs to be saved to the server\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Check tiddlers that are known from the server but not currently in the store\n\t\ttitles = Object.keys(self.tiddlerInfo);\n\t\tfor(index=0; index<titles.length; index++) {\n\t\t\tif(!self.wiki.tiddlerExists(titles[index])) {\n\t\t\t\t// There must be a pending delete\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\tvar dirtyStatus = checkIsDirty();\n\treturn dirtyStatus;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser && !this.disableUI) {\n\t\tvar dirty = this.isDirty();\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",dirty);\n\t\tif(!dirty) {\n\t\t\tthis.loggerConnection.clearAlerts();\n\t\t}\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: this.getTiddlerRevision(tiddlerFields.title),\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title)\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username,isReadOnly,isAnonymous) {\n\t\t\tif(err) {\n\t\t\t\tself.displayError(\"Get Status Error\",err);\n\t\t\t} else {\n\t\t\t\t// Set the various status tiddlers\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsReadOnly,text: isReadOnly ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsAnonymous,text: isAnonymous ? \"yes\" : \"no\"});\n\t\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\t\tif(isLoggedIn) {\n\t\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.canSyncFromServer()) {\n\t\tthis.forceSyncFromServer = true;\n\t\tthis.processTaskQueue();\t\n\t}\n};\n\nSyncer.prototype.canSyncFromServer = function() {\n\treturn !!this.syncadaptor.getUpdatedTiddlers || !!this.syncadaptor.getSkinnyTiddlers;\n}\n\n/*\nForce load a tiddler from the server\n*/\nSyncer.prototype.enqueueLoadTiddler = function(title) {\n\tthis.titlesToBeLoaded[title] = true;\n\tthis.processTaskQueue();\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Ignore if the syncadaptor doesn't handle it\n\tif(!this.syncadaptor.supportsLazyLoading) {\n\t\treturn;\n\t}\n\t// Don't lazy load the same tiddler twice\n\tif(!this.titlesHaveBeenLazyLoaded[title]) {\n\t\t// Don't lazy load if the tiddler isn't included in the sync filter\n\t\tif(this.getSyncedTiddlers().indexOf(title) !== -1) {\n\t\t\t// Mark the tiddler as needing loading, and having already been lazily loaded\n\t\t\tthis.titlesToBeLoaded[title] = true;\n\t\t\tthis.titlesHaveBeenLazyLoaded[title] = true;\n\t\t\tthis.processTaskQueue();\n\t\t}\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!err && !isLoggedIn) {\n\t\t\tif(self.syncadaptor && self.syncadaptor.displayLoginPrompt) {\n\t\t\t\tself.syncadaptor.displayLoginPrompt(self);\n\t\t\t} else {\n\t\t\t\tself.displayLoginPrompt();\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nDispay a password prompt\n*/\nSyncer.prototype.displayLoginPrompt = function() {\n\tvar self = this;\n\tvar promptInfo = $tw.passwordPrompt.createPrompt({\n\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\tcallback: function(data) {\n\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\tself.syncFromServer();\n\t\t\t});\n\t\t\treturn true; // Get rid of the password prompt\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(err,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.displayError(\"Logout Error\",err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nProcess the next task\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing\n\t// a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif((!this.syncadaptor.isReady || this.syncadaptor.isReady()) && this.numTasksInProgress === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(typeof task === \"object\" && task !== null) {\n\t\t\tthis.numTasksInProgress += 1;\n\t\t\ttask.run(function(err) {\n\t\t\t\tself.numTasksInProgress -= 1;\n\t\t\t\tif(err) {\n\t\t\t\t\tself.displayError(\"Sync error while processing \" + task.type + \" of '\" + task.title + \"'\",err);\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\tself.triggerTimeout(self.errorRetryInterval);\n\t\t\t\t} else {\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t\t// Process the next task\n\t\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\t// No task is ready so update the status\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// And trigger a timeout if there is a pending task\n\t\t\tif(task === true) {\n\t\t\t\tthis.triggerTimeout(this.taskTimerInterval);\n\t\t\t} else if(this.canSyncFromServer()) {\n\t\t\t\tthis.triggerTimeout(this.pollTimerInterval);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tthis.updateDirtyStatus();\n\t\tthis.triggerTimeout(this.taskTimerInterval);\n\t}\n};\n\nSyncer.prototype.triggerTimeout = function(interval) {\n\tvar self = this;\n\tif(this.taskTimerId) {\n\t\tclearTimeout(this.taskTimerId);\n\t}\n\tthis.taskTimerId = setTimeout(function() {\n\t\tself.taskTimerId = null;\n\t\tself.processTaskQueue.call(self);\n\t},interval || self.taskTimerInterval);\n};\n\n/*\nChoose the next sync task. We prioritise saves to the server, then getting updates from the server, then deletes to the server, then loads from the server\n\nReturns either:\n* a task object\n* the boolean true if there are pending sync tasks that aren't yet due\n* null if there's no pending sync tasks (just the next poll)\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar now = new Date(),\n\t\tthresholdLastSaved = now - this.throttleInterval,\n\t\thavePending = null;\n\t// First we look for tiddlers that have been modified locally and need saving back to the server\n\tvar titles = this.getSyncedTiddlers();\n\tfor(var index=0; index<titles.length; index++) {\n\t\tvar title = titles[index],\n\t\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title),\n\t\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\tif(tiddler) {\n\t\t\t// If the tiddler is not known on the server, or has been modified locally no more recently than the threshold then it needs to be saved to the server\n\t\t\tvar hasChanged = !tiddlerInfo || this.wiki.getChangeCount(title) > tiddlerInfo.changeCount,\n\t\t\t\tisReadyToSave = !tiddlerInfo || !tiddlerInfo.timestampLastSaved || tiddlerInfo.timestampLastSaved < thresholdLastSaved;\n\t\t\tif(hasChanged) {\n\t\t\t\tif(isReadyToSave) {\n\t\t\t\t\treturn new SaveTiddlerTask(this,title);\n\t\t\t\t} else {\n\t\t\t\t\thavePending = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Second we check for an outstanding sync from server\n\tif(this.forceSyncFromServer || (this.timestampLastSyncFromServer && (now.valueOf() >= (this.timestampLastSyncFromServer.valueOf() + this.pollTimerInterval)))) {\n\t\treturn new SyncFromServerTask(this);\n\t}\n\t// Third, we check tiddlers that are known from the server but not currently in the store, and so need deleting on the server\n\ttitles = Object.keys(this.tiddlerInfo);\n\tfor(index=0; index<titles.length; index++) {\n\t\ttitle = titles[index];\n\t\ttiddlerInfo = this.tiddlerInfo[title];\n\t\ttiddler = this.wiki.tiddlerExists(title) && this.wiki.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\treturn new DeleteTiddlerTask(this,title);\n\t\t}\n\t}\n\t// Finally, check for tiddlers that need loading\n\ttitle = Object.keys(this.titlesToBeLoaded)[0];\n\tif(title) {\n\t\tdelete this.titlesToBeLoaded[title];\n\t\treturn new LoadTiddlerTask(this,title);\n\t}\n\t// No tasks are ready now, but might be in the future\n\treturn havePending;\n};\n\nfunction SaveTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"save\";\n}\n\nSaveTiddlerTask.prototype.toString = function() {\n\treturn \"SAVE \" + this.title;\n}\n\nSaveTiddlerTask.prototype.run = function(callback) {\n\tvar self = this,\n\t\tchangeCount = this.syncer.wiki.getChangeCount(this.title),\n\t\ttiddler = this.syncer.wiki.tiddlerExists(this.title) && this.syncer.wiki.getTiddler(this.title);\n\tthis.syncer.logger.log(\"Dispatching 'save' task:\",this.title);\n\tif(tiddler) {\n\t\tthis.syncer.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t// If there's an error, exit without changing any internal state\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Adjust the info stored about this tiddler\n\t\t\tself.syncer.tiddlerInfo[self.title] = {\n\t\t\t\tchangeCount: changeCount,\n\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\trevision: revision,\n\t\t\t\ttimestampLastSaved: new Date()\n\t\t\t};\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.syncer.tiddlerInfo[self.title]\n\t\t});\n\t} else {\n\t\t$tw.utils.nextTick(callback(null));\n\t}\n};\n\nfunction DeleteTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"delete\";\n}\n\nDeleteTiddlerTask.prototype.toString = function() {\n\treturn \"DELETE \" + this.title;\n}\n\nDeleteTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'delete' task:\",this.title);\n\tthis.syncer.syncadaptor.deleteTiddler(this.title,function(err) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Remove the info stored about this tiddler\n\t\tdelete self.syncer.tiddlerInfo[self.title];\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t},{\n\t\ttiddlerInfo: self.syncer.tiddlerInfo[this.title]\n\t});\n};\n\nfunction LoadTiddlerTask(syncer,title) {\n\tthis.syncer = syncer;\n\tthis.title = title;\n\tthis.type = \"load\";\n}\n\nLoadTiddlerTask.prototype.toString = function() {\n\treturn \"LOAD \" + this.title;\n}\n\nLoadTiddlerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tthis.syncer.logger.log(\"Dispatching 'load' task:\",this.title);\n\tthis.syncer.syncadaptor.loadTiddler(this.title,function(err,tiddlerFields) {\n\t\t// If there's an error, exit without changing any internal state\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Update the info stored about this tiddler\n\t\tif(tiddlerFields) {\n\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t}\n\t\t// Invoke the callback\n\t\tcallback(null);\n\t});\n};\n\nfunction SyncFromServerTask(syncer) {\n\tthis.syncer = syncer;\n\tthis.type = \"syncfromserver\";\n}\n\nSyncFromServerTask.prototype.toString = function() {\n\treturn \"SYNCFROMSERVER\";\n}\n\nSyncFromServerTask.prototype.run = function(callback) {\n\tvar self = this;\n\tvar syncSystemFromServer = (self.syncer.wiki.getTiddlerText(\"$:/config/SyncSystemTiddlersFromServer\") === \"yes\" ? true : false);\n\tvar successCallback = function() {\n\t\tself.syncer.forceSyncFromServer = false;\n\t\tself.syncer.timestampLastSyncFromServer = new Date();\n\t\tcallback(null);\n\t};\n\tif(this.syncer.syncadaptor.getUpdatedTiddlers) {\n\t\tthis.syncer.syncadaptor.getUpdatedTiddlers(self.syncer,function(err,updates) {\n\t\t\tif(err) {\n\t\t\t\tself.syncer.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(updates) {\n\t\t\t\t$tw.utils.each(updates.modifications,function(title) {\n\t\t\t\t\tself.syncer.titlesToBeLoaded[title] = true;\n\t\t\t\t});\n\t\t\t\t$tw.utils.each(updates.deletions,function(title) {\n\t\t\t\t\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\n\t\t\t\t\t\tdelete self.syncer.tiddlerInfo[title];\n\t\t\t\t\t\tself.syncer.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\t\tself.syncer.wiki.deleteTiddler(title);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn successCallback();\n\t\t});\n\t} else if(this.syncer.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.syncer.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.syncer.displayError($tw.language.getString(\"Error/RetrievingSkinny\"),err);\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Keep track of which tiddlers we already know about have been reported this time\n\t\t\tvar previousTitles = Object.keys(self.syncer.tiddlerInfo);\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.syncer.wiki.tiddlerExists(tiddlerFields.title) && self.syncer.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.syncer.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null,\n\t\t\t\t\tindexInPreviousTitles = previousTitles.indexOf(tiddlerFields.title);\n\t\t\t\tif(indexInPreviousTitles !== -1) {\n\t\t\t\t\tpreviousTitles.splice(indexInPreviousTitles,1);\n\t\t\t\t}\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Only load the skinny version if we don't already have a fat version of the tiddler\n\t\t\t\t\tif(!tiddler || tiddler.fields.text === undefined) {\n\t\t\t\t\t\tself.syncer.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\tself.syncer.titlesToBeLoaded[tiddlerFields.title] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers that were previously reported but missing this time\n\t\t\t$tw.utils.each(previousTitles,function(title) {\n\t\t\t\tif(syncSystemFromServer || !self.syncer.wiki.isSystemTiddler(title)) {\n\t\t\t\t\tdelete self.syncer.tiddlerInfo[title];\n\t\t\t\t\tself.syncer.logger.log(\"Deleting tiddler missing from server:\",title);\n\t\t\t\t\tself.syncer.wiki.deleteTiddler(title);\n\t\t\t\t}\n\t\t\t});\n\t\t\tself.syncer.forceSyncFromServer = false;\n\t\t\tself.syncer.timestampLastSyncFromServer = new Date();\n\t\t\treturn successCallback();\n\t\t});\n\t} else {\n\t\treturn successCallback();\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/tiddler.js":{"title":"$:/core/modules/tiddler.js","text":"/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field,defaultValue) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn defaultValue || \"\";\n\t}\n\t// Stringify the field with the associated tiddler field module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet the value of a field as a list\n*/\nexports.getFieldList = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn [];\n\t}\n\treturn $tw.utils.parseStringArray(value);\n};\n\n/*\nGet all the fields as a hashmap of strings. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStrings = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = {};\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields[field] = this.getFieldString(field);\n\t\t\t}\n\t\t}\n\t}\n\treturn fields;\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [],\n\t\tfields = Object.keys(this.fields).sort(),\n\t\tresult = [];\n\tfor(var t=0; t<fields.length; t++) {\n\t\tvar field = fields[t];\n\t\tif(exclude.indexOf(field) === -1) {\n\t\t\tresult.push(field + \": \" + this.getFieldString(field));\n\t\t}\n\t}\n\treturn result.join(\"\\n\");\n};\n\nexports.getFieldDay = function(field) {\n\tif(this.cache && this.cache.day && $tw.utils.hop(this.cache.day,field) ) {\n\t\treturn this.cache.day[field];\n\t}\n\tvar day = \"\";\n\tif(this.fields[field]) {\n\t\tday = (new Date($tw.utils.parseDate(this.fields[field]))).setHours(0,0,0,0);\n\t}\n\tthis.cache.day = this.cache.day || {};\n\tthis.cache.day[field] = day;\n\treturn day;\n};\n\n})();\n","type":"application/javascript","module-type":"tiddlermethod"},"$:/core/modules/upgraders/plugins.js":{"title":"$:/core/modules/upgraders/plugins.js","text":"/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin contains JS modules\n\t\t\tvar requiresReload = wiki.doesPluginInfoRequireReload($tw.utils.parseJSONSafe(incomingTiddler.text)) ? (wiki.getTiddlerText(\"$:/language/ControlPanel/Plugins/PluginWillRequireReload\") + \" \") : \"\";\n\t\t\tmessages[title] = requiresReload;\n\t\t\tif(incomingTiddler.version) {\n\t\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\t\tmessages[title] = requiresReload + $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/upgraders/system.js":{"title":"$:/core/modules/upgraders/system.js","text":"/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/Import\"],\n\tUNSELECT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\",\"$:/StoryList\",\"$:/HistoryList\"],\n\tWARN_IMPORT_PREFIX_LIST = [\"$:/core/modules/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tshowAlert = false;\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<UNSELECT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = UNSELECT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Tiddler/Unselected\");\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var t=0; t<WARN_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = WARN_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix && wiki.isShadowTiddler(title)) {\n\t\t\t\t\tshowAlert = true;\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Warning\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tif(showAlert) {\n\t\tvar logger = new $tw.utils.Logger(\"import\");\n\t\tlogger.alert($tw.language.getString(\"Import/Upgrader/System/Alert\"));\n\t}\n\treturn messages;\n};\n\n})();\n","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/upgraders/themetweaks.js":{"title":"$:/core/modules/upgraders/themetweaks.js","text":"/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n","type":"application/javascript","module-type":"upgrader"},"$:/core/modules/utils/base64-utf8/base64-utf8.module.js":{"text":"(function(){// From https://gist.github.com/Nijikokun/5192472\n//\n// UTF8 Module\n//\n// Cleaner and modularized utf-8 encoding and decoding library for javascript.\n//\n// copyright: MIT\n// author: Nijiko Yonskai, @nijikokun, nijikokun@gmail.com\n!function(r,e,o,t){void 0!==o.module&&o.module.exports?o.module.exports=e.apply(o):void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"utf8\",[],e):o.utf8=e.apply(o)}(0,function(){return{encode:function(r){if(\"string\"!=typeof r)return r;r=r.replace(/\\r\\n/g,\"\\n\");for(var e,o=\"\",t=0;t<r.length;t++)if((e=r.charCodeAt(t))<128)o+=String.fromCharCode(e);else if(e>127&&e<2048)o+=String.fromCharCode(e>>6|192),o+=String.fromCharCode(63&e|128);else if(e>55295&&e<57344&&r.length>t+1){var i=e,n=r.charCodeAt(t+1);t++;var d=65536+(i-55296<<10|n-56320);o+=String.fromCharCode(d>>18|240),o+=String.fromCharCode(d>>12&63|128),o+=String.fromCharCode(d>>6&63|128),o+=String.fromCharCode(63&d|128)}else o+=String.fromCharCode(e>>12|224),o+=String.fromCharCode(e>>6&63|128),o+=String.fromCharCode(63&e|128);return o},decode:function(r){if(\"string\"!=typeof r)return r;for(var e=\"\",o=0,t=0;o<r.length;)if((t=r.charCodeAt(o))<128)e+=String.fromCharCode(t),o++;else if(t>191&&t<224)e+=String.fromCharCode((31&t)<<6|63&r.charCodeAt(o+1)),o+=2;else if(t>223&&t<240)e+=String.fromCharCode((15&t)<<12|(63&r.charCodeAt(o+1))<<6|63&r.charCodeAt(o+2)),o+=3;else{var i=(7&t)<<18|(63&r.charCodeAt(o+1))<<12|(63&r.charCodeAt(o+2))<<6|63&r.charCodeAt(o+3);e+=String.fromCharCode(55296+(i-65536>>10))+String.fromCharCode(56320+(i-65536&1023)),o+=4}return e}}},this),function(r,e,o,t){if(void 0!==o.module&&o.module.exports){if(t&&o.require)for(var i=0;i<t.length;i++)o[t[i]]=o.require(t[i]);o.module.exports=e.apply(o)}else void 0!==o.define&&\"function\"===o.define&&o.define.amd?define(\"base64\",t||[],e):o.base64=e.apply(o)}(0,function(r){var e=r||this.utf8,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";return{encode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=e.encode(r);for(var t,i,n,d,f,a,h,C=\"\",c=0;c<r.length;)d=(t=r.charCodeAt(c++))>>2,f=(3&t)<<4|(i=r.charCodeAt(c++))>>4,a=(15&i)<<2|(n=r.charCodeAt(c++))>>6,h=63&n,isNaN(i)?a=h=64:isNaN(n)&&(h=64),C+=o.charAt(d)+o.charAt(f)+o.charAt(a)+o.charAt(h);return C},decode:function(r){if(void 0===e)throw{error:\"MissingMethod\",message:\"UTF8 Module is missing.\"};if(\"string\"!=typeof r)return r;r=r.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");for(var t,i,n,d,f,a,h=\"\",C=0;C<r.length;)t=o.indexOf(r.charAt(C++))<<2|(d=o.indexOf(r.charAt(C++)))>>4,i=(15&d)<<4|(f=o.indexOf(r.charAt(C++)))>>2,n=(3&f)<<6|(a=o.indexOf(r.charAt(C++))),h+=String.fromCharCode(t),64!=f&&(h+=String.fromCharCode(i)),64!=a&&(h+=String.fromCharCode(n));return e.decode(h)}}},this,[\"utf8\"]);}).call(exports);","type":"application/javascript","title":"$:/core/modules/utils/base64-utf8/base64-utf8.module.js","module-type":"library"},"$:/core/modules/utils/crypto.js":{"title":"$:/core/modules/utils/crypto.js","text":"/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = $tw.utils.parseJSONSafe(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/csv.js":{"title":"$:/core/modules/utils/csv.js","text":"/*\\\ntitle: $:/core/modules/utils/csv.js\ntype: application/javascript\nmodule-type: utils\n\nA barebones CSV parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar QUOTE = '\"';\n\nvar getCellInfo = function(text, start, length, SEPARATOR) {\n\tvar isCellQuoted = text.charAt(start) === QUOTE;\n\tvar cellStart = isCellQuoted ? start + 1 : start;\n\t\n\tif (text.charAt(i) === SEPARATOR) {\n\t\treturn [cellStart, cellStart, false];\n\t}\n\t\n\tfor (var i = cellStart; i < length; i++) {\n\t\tvar cellCharacter = text.charAt(i);\n\t\tvar isEOL = cellCharacter === \"\\n\" || cellCharacter === \"\\r\";\n\t\t\n\t\tif (isEOL && !isCellQuoted) {\n\t\t\treturn [cellStart, i, false];\n\t\t\t\n\t\t} else if (cellCharacter === SEPARATOR && !isCellQuoted) {\n\t\t\treturn [cellStart, i, false];\n\t\t\t\n\t\t} else if (cellCharacter === QUOTE && isCellQuoted) {\n\t\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\n\t\t\tif (nextCharacter !== QUOTE) {\n\t\t\t\treturn [cellStart, i, true];\n\t\t\t} else {\n\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn [cellStart, i, isCellQuoted];\n}\n\t\nexports.parseCsvString = function(text, options) {\n\tif (!text) {\n\t\treturn [];\n\t}\n\t\n\toptions = options || {};\n\tvar SEPARATOR = options.separator || \",\",\n\t\tlength = text.length,\n\t\trows = [],\n\t\tnextRow = [];\n\t\t\n\tfor (var i = 0; i < length; i++) {\n\t\tvar cellInfo = getCellInfo(text, i, length, SEPARATOR);\n\t\tvar cellText = text.substring(cellInfo[0], cellInfo[1]);\n\t\tif (cellInfo[2]) {\n\t\t\tcellText = cellText.replace(/\"\"/g, '\"');\n\t\t\tcellInfo[1]++;\n\t\t}\n\t\tnextRow.push(cellText);\n\t\t\n\t\ti = cellInfo[1];\n\t\t\n\t\tvar character = text.charAt(i);\n\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\n\t\t\n\t\tif (character === \"\\r\" || character === \"\\n\") {\n\t\t\t// Edge case for empty rows\n\t\t\tif (nextRow.length === 1 && nextRow[0] === '') {\n\t\t\t\tnextRow.length = 0;\n\t\t\t}\n\t\t\trows.push(nextRow);\n\t\t\tnextRow = [];\n\t\t\t\n\t\t\tif (character === \"\\r\") {\n\t\t\t\tvar nextCharacter = i + 1 < length ? text.charAt(i + 1) : '';\n\t\t\t\t\n\t\t\t\tif (nextCharacter === \"\\n\") {\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Special case if last cell in last row is an empty cell\n\tif (text.charAt(length - 1) === SEPARATOR) {\n\t\tnextRow.push(\"\");\n\t}\n\t\n\trows.push(nextRow);\n\t\n\treturn rows;\n}\n\n/*\nParse a CSV string with a header row and return an array of hashmaps.\n*/\nexports.parseCsvStringWithHeader = function(text,options) {\n\tvar csv = $tw.utils.parseCsvString(text, options);\n\tvar headers = csv[0];\n\t\n\tcsv = csv.slice(1);\n\tfor (var i = 0; i < csv.length; i++) {\n\t\tvar row = csv[i];\n\t\tvar rowObject = Object.create(null);\n\n\t\tfor(var columnIndex=0; columnIndex<headers.length; columnIndex++) {\n\t\t\tvar columnName = headers[columnIndex];\n\t\t\tif (columnName) {\n\t\t\t\trowObject[columnName] = $tw.utils.trim(row[columnIndex] || \"\");\n\t\t\t}\n\t\t}\n\t\tcsv[i] = rowObject;\n\t}\n\treturn csv;\n}\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/diff-match-patch/diff_match_patch.js":{"text":"(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32}var DIFF_DELETE=-1,DIFF_INSERT=1,DIFF_EQUAL=0;\ndiff_match_patch.prototype.diff_main=function(a,b,c,d){\"undefined\"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error(\"Null input. (diff_main)\");if(a==b)return a?[[DIFF_EQUAL,a]]:[];\"undefined\"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);f=this.diff_commonSuffix(a,b);var g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,\nb,e,d);c&&a.unshift([DIFF_EQUAL,c]);g&&a.push([DIFF_EQUAL,g]);this.diff_cleanupMerge(a);return a};\ndiff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[DIFF_INSERT,b]];if(!b)return[[DIFF_DELETE,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[DIFF_INSERT,e.substring(0,g)],[DIFF_EQUAL,f],[DIFF_INSERT,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=DIFF_DELETE),c):1==f.length?[[DIFF_DELETE,a],[DIFF_INSERT,b]]:(e=this.diff_halfMatch_(a,b))?(b=e[1],f=e[3],a=e[4],e=this.diff_main(e[0],e[2],c,d),c=this.diff_main(b,f,c,d),e.concat([[DIFF_EQUAL,\na]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,d):this.diff_bisect_(a,b,d)};\ndiff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([DIFF_EQUAL,\"\"]);for(var e=d=b=0,f=\"\",g=\"\";b<a.length;){switch(a[b][0]){case DIFF_INSERT:e++;g+=a[b][1];break;case DIFF_DELETE:d++;f+=a[b][1];break;case DIFF_EQUAL:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=\nd.length}d=e=0;g=f=\"\"}b++}a.pop();return a};\ndiff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=2*f,h=Array(g),l=Array(g),k=0;k<g;k++)h[k]=-1,l[k]=-1;h[f+1]=0;l[f+1]=0;k=d-e;for(var m=0!=k%2,p=0,x=0,w=0,q=0,t=0;t<f&&!((new Date).getTime()>c);t++){for(var v=-t+p;v<=t-x;v+=2){var n=f+v;var r=v==-t||v!=t&&h[n-1]<h[n+1]?h[n+1]:h[n-1]+1;for(var y=r-v;r<d&&y<e&&a.charAt(r)==b.charAt(y);)r++,y++;h[n]=r;if(r>d)x+=2;else if(y>e)p+=2;else if(m&&(n=f+k-v,0<=n&&n<g&&-1!=l[n])){var u=d-l[n];if(r>=\nu)return this.diff_bisectSplit_(a,b,r,y,c)}}for(v=-t+w;v<=t-q;v+=2){n=f+v;u=v==-t||v!=t&&l[n-1]<l[n+1]?l[n+1]:l[n-1]+1;for(r=u-v;u<d&&r<e&&a.charAt(d-u-1)==b.charAt(e-r-1);)u++,r++;l[n]=u;if(u>d)q+=2;else if(r>e)w+=2;else if(!m&&(n=f+k-v,0<=n&&n<g&&-1!=h[n]&&(r=h[n],y=f+r-n,u=d-u,r>=u)))return this.diff_bisectSplit_(a,b,r,y,c)}}return[[DIFF_DELETE,a],[DIFF_INSERT,b]]};\ndiff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};\ndiff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b=\"\",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf(\"\\n\",c);-1==f&&(f=a.length-1);var h=a.substring(c,f+1);c=f+1;(e.hasOwnProperty?e.hasOwnProperty(h):void 0!==e[h])?b+=String.fromCharCode(e[h]):(b+=String.fromCharCode(g),e[h]=g,d[g++]=h)}return b}var d=[],e={};d[0]=\"\";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};\ndiff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join(\"\")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};\ndiff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;d=0;for(var e=1;;){var f=a.substring(c-e);f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};\ndiff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g=\"\",h,k,l,m;-1!=(e=b.indexOf(d,e+1));){var p=f.diff_commonPrefix(a.substring(c),b.substring(e)),u=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<u+p&&(g=b.substring(e-u,e)+b.substring(e,e+p),h=a.substring(0,c-u),k=a.substring(c+p),l=b.substring(0,e-u),m=b.substring(e+p))}return 2*g.length>=a.length?[h,k,l,m,g]:null}if(0>=this.Diff_Timeout)return null;\nvar d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4));d=c(d,e,Math.ceil(d.length/2));if(g||d)g=d?g?g[4].length>d[4].length?g:d:d:g;else return null;if(a.length>b.length){d=g[0];e=g[1];var h=g[2];var l=g[3]}else h=g[0],l=g[1],d=g[2],e=g[3];return[d,e,h,l,g[4]]};\ndiff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,l=0,k=0;f<a.length;)a[f][0]==DIFF_EQUAL?(c[d++]=f,g=l,h=k,k=l=0,e=a[f][1]):(a[f][0]==DIFF_INSERT?l+=a[f][1].length:k+=a[f][1].length,e&&e.length<=Math.max(g,h)&&e.length<=Math.max(l,k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,d--,f=0<d?c[d-1]:-1,k=l=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(a[f-1][0]==\nDIFF_DELETE&&a[f][0]==DIFF_INSERT){b=a[f-1][1];c=a[f][1];d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[DIFF_EQUAL,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[DIFF_EQUAL,b.substring(0,e)]),a[f-1][0]=DIFF_INSERT,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=DIFF_DELETE,a[f+1][1]=b.substring(e),f++;f++}f++}};\ndiff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_);c=g&&c.match(diff_match_patch.linebreakRegex_);d=h&&d.match(diff_match_patch.linebreakRegex_);var k=c&&a.match(diff_match_patch.blanklineEndRegex_),l=d&&b.match(diff_match_patch.blanklineStartRegex_);\nreturn k||l?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(a[c-1][0]==DIFF_EQUAL&&a[c+1][0]==DIFF_EQUAL){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g){var h=e.substring(e.length-g);d=d.substring(0,d.length-g);e=h+e.substring(0,e.length-g);f=h+f}g=d;h=e;for(var l=f,k=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){d+=e.charAt(0);e=e.substring(1)+f.charAt(0);f=f.substring(1);var m=b(d,e)+b(e,f);m>=k&&(k=m,g=d,h=e,l=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-\n1,1),c--),a[c][1]=h,l?a[c+1][1]=l:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\\s/;diff_match_patch.linebreakRegex_=/[\\r\\n]/;diff_match_patch.blanklineEndRegex_=/\\n\\r?\\n$/;diff_match_patch.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;\ndiff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,l=!1,k=!1;f<a.length;)a[f][0]==DIFF_EQUAL?(a[f][1].length<this.Diff_EditCost&&(l||k)?(c[d++]=f,g=l,h=k,e=a[f][1]):(d=0,e=null),l=k=!1):(a[f][0]==DIFF_DELETE?k=!0:l=!0,e&&(g&&h&&l&&k||e.length<this.Diff_EditCost/2&&3==g+h+l+k)&&(a.splice(c[d-1],0,[DIFF_DELETE,e]),a[c[d-1]+1][0]=DIFF_INSERT,d--,e=null,g&&h?(l=k=!0,d=0):(d--,f=0<d?c[d-1]:-1,l=k=!1),b=!0)),f++;b&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([DIFF_EQUAL,\"\"]);for(var b=0,c=0,d=0,e=\"\",f=\"\",g;b<a.length;)switch(a[b][0]){case DIFF_INSERT:d++;f+=a[b][1];b++;break;case DIFF_DELETE:c++;e+=a[b][1];b++;break;case DIFF_EQUAL:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&a[b-c-d-1][0]==DIFF_EQUAL?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[DIFF_EQUAL,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-\ng)+a[b][1],f=f.substring(0,f.length-g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[DIFF_INSERT,f]):0===d?a.splice(b-c,c+d,[DIFF_DELETE,e]):a.splice(b-c-d,c+d,[DIFF_DELETE,e],[DIFF_INSERT,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&a[b-1][0]==DIFF_EQUAL?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=\"\"}\"\"===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)a[b-1][0]==DIFF_EQUAL&&a[b+1][0]==DIFF_EQUAL&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,\na[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};\ndiff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){a[g][0]!==DIFF_INSERT&&(c+=a[g][1].length);a[g][0]!==DIFF_DELETE&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&a[g][0]===DIFF_DELETE?f:f+(b-e)};\ndiff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\\n/g,g=0;g<a.length;g++){var h=a[g][0],l=a[g][1].replace(c,\"&\").replace(d,\"<\").replace(e,\">\").replace(f,\"¶<br>\");switch(h){case DIFF_INSERT:b[g]='<ins style=\"background:#e6ffe6;\">'+l+\"</ins>\";break;case DIFF_DELETE:b[g]='<del style=\"background:#ffe6e6;\">'+l+\"</del>\";break;case DIFF_EQUAL:b[g]=\"<span>\"+l+\"</span>\"}}return b.join(\"\")};\ndiff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_INSERT&&(b[c]=a[c][1]);return b.join(\"\")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)a[c][0]!==DIFF_DELETE&&(b[c]=a[c][1]);return b.join(\"\")};\ndiff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][1];switch(a[e][0]){case DIFF_INSERT:c+=f.length;break;case DIFF_DELETE:d+=f.length;break;case DIFF_EQUAL:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};\ndiff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case DIFF_INSERT:b[c]=\"+\"+encodeURI(a[c][1]);break;case DIFF_DELETE:b[c]=\"-\"+a[c][1].length;break;case DIFF_EQUAL:b[c]=\"=\"+a[c][1].length}return b.join(\"\\t\").replace(/%20/g,\" \")};\ndiff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case \"+\":try{c[d++]=[DIFF_INSERT,decodeURI(h)]}catch(k){throw Error(\"Illegal escape in diff_fromDelta: \"+h);}break;case \"-\":case \"=\":var l=parseInt(h,10);if(isNaN(l)||0>l)throw Error(\"Invalid number in diff_fromDelta: \"+h);h=a.substring(e,e+=l);\"=\"==f[g].charAt(0)?c[d++]=[DIFF_EQUAL,h]:c[d++]=[DIFF_DELETE,h];break;default:if(f[g])throw Error(\"Invalid diff operation in diff_fromDelta: \"+\nf[g]);}}if(e!=a.length)throw Error(\"Delta length (\"+e+\") does not equal source text length (\"+a.length+\").\");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error(\"Null input. (match_main)\");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};\ndiff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return f.Match_Distance?e+g/f.Match_Distance:g?1:e}if(b.length>this.Match_MaxBits)throw Error(\"Pattern too long for this browser.\");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));var l=1<<b.length-1;h=-1;for(var k,m,p=b.length+a.length,x,w=0;w<b.length;w++){k=0;for(m=p;k<m;)d(w,\nc+m)<=g?k=m:p=m,m=Math.floor((p-k)/2+k);p=m;k=Math.max(1,c-m+1);var q=Math.min(c+m,a.length)+b.length;m=Array(q+2);for(m[q+1]=(1<<w)-1;q>=k;q--){var t=e[a.charAt(q-1)];m[q]=0===w?(m[q+1]<<1|1)&t:(m[q+1]<<1|1)&t|(x[q+1]|x[q])<<1|1|x[q+1];if(m[q]&l&&(t=d(w,q-1),t<=g))if(g=t,h=q-1,h>c)k=Math.max(1,2*c-h);else break}if(d(w+1,c)>g)break;x=m}return h};\ndiff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};\ndiff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([DIFF_EQUAL,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([DIFF_EQUAL,d]);a.start1-=c.length;a.start2-=\nc.length;a.length1+=c.length+d.length;a.length2+=c.length+d.length}};\ndiff_match_patch.prototype.patch_make=function(a,b,c){if(\"string\"==typeof a&&\"string\"==typeof b&&\"undefined\"==typeof c){var d=a;b=this.diff_main(d,b,!0);2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b))}else if(a&&\"object\"==typeof a&&\"undefined\"==typeof b&&\"undefined\"==typeof c)b=a,d=this.diff_text1(b);else if(\"string\"==typeof a&&b&&\"object\"==typeof b&&\"undefined\"==typeof c)d=a;else if(\"string\"==typeof a&&\"string\"==typeof b&&c&&\"object\"==typeof c)d=a,b=c;else throw Error(\"Unknown call format to patch_make.\");\nif(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,l=0;l<b.length;l++){var k=b[l][0],m=b[l][1];e||k===DIFF_EQUAL||(a.start1=f,a.start2=g);switch(k){case DIFF_INSERT:a.diffs[e++]=b[l];a.length2+=m.length;d=d.substring(0,g)+m+d.substring(g);break;case DIFF_DELETE:a.length1+=m.length;a.diffs[e++]=b[l];d=d.substring(0,g)+d.substring(g+m.length);break;case DIFF_EQUAL:m.length<=2*this.Patch_Margin&&e&&b.length!=l+1?(a.diffs[e++]=b[l],a.length1+=m.length,a.length2+=m.length):\nm.length>=2*this.Patch_Margin&&e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}k!==DIFF_INSERT&&(f+=m.length);k!==DIFF_DELETE&&(g+=m.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};\ndiff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};\ndiff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),l=-1;if(h.length>this.Match_MaxBits){var k=this.match_main(b,h.substring(0,this.Match_MaxBits),g);-1!=k&&(l=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==l||k>=l)&&(k=-1)}else k=this.match_main(b,h,\ng);if(-1==k)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=k-g,g=-1==l?b.substring(k,k+h.length):b.substring(k,l+this.Match_MaxBits),h==g)b=b.substring(0,k)+this.diff_text2(a[f].diffs)+b.substring(k+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);h=0;var m;for(l=0;l<a[f].diffs.length;l++){var p=a[f].diffs[l];p[0]!==DIFF_EQUAL&&(m=this.diff_xIndex(g,h));p[0]===\nDIFF_INSERT?b=b.substring(0,k+m)+p[1]+b.substring(k+m):p[0]===DIFF_DELETE&&(b=b.substring(0,k+m)+b.substring(k+this.diff_xIndex(g,h+p[1].length)));p[0]!==DIFF_DELETE&&(h+=p[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};\ndiff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c=\"\",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;d=a[0];var e=d.diffs;if(0==e.length||e[0][0]!=DIFF_EQUAL)e.unshift([DIFF_EQUAL,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||e[e.length-\n1][0]!=DIFF_EQUAL?(e.push([DIFF_EQUAL,c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};\ndiff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g=\"\";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,l=!0;h.start1=e-g.length;h.start2=f-g.length;\"\"!==g&&(h.length1=h.length2=g.length,h.diffs.push([DIFF_EQUAL,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){g=d.diffs[0][0];var k=d.diffs[0][1];g===DIFF_INSERT?(h.length2+=k.length,f+=k.length,h.diffs.push(d.diffs.shift()),\nl=!1):g===DIFF_DELETE&&1==h.diffs.length&&h.diffs[0][0]==DIFF_EQUAL&&k.length>2*b?(h.length1+=k.length,e+=k.length,l=!1,h.diffs.push([g,k]),d.diffs.shift()):(k=k.substring(0,b-h.length1-this.Patch_Margin),h.length1+=k.length,e+=k.length,g===DIFF_EQUAL?(h.length2+=k.length,f+=k.length):l=!1,h.diffs.push([g,k]),k==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(k.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);k=this.diff_text1(d.diffs).substring(0,\nthis.Patch_Margin);\"\"!==k&&(h.length1+=k.length,h.length2+=k.length,0!==h.diffs.length&&h.diffs[h.diffs.length-1][0]===DIFF_EQUAL?h.diffs[h.diffs.length-1][1]+=k:h.diffs.push([DIFF_EQUAL,k]));l||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join(\"\")};\ndiff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split(\"\\n\");for(var c=0,d=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error(\"Invalid patch string: \"+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);\"\"===e[2]?(f.start1--,f.length1=1):\"0\"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);\"\"===e[4]?(f.start2--,f.length2=1):\"0\"==e[4]?f.length2=0:(f.start2--,f.length2=\nparseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error(\"Illegal escape in patch_fromText: \"+g);}if(\"-\"==e)f.diffs.push([DIFF_DELETE,g]);else if(\"+\"==e)f.diffs.push([DIFF_INSERT,g]);else if(\" \"==e)f.diffs.push([DIFF_EQUAL,g]);else if(\"@\"==e)break;else if(\"\"!==e)throw Error('Invalid patch mode \"'+e+'\" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};\ndiff_match_patch.patch_obj.prototype.toString=function(){for(var a=[\"@@ -\"+(0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1)+\" +\"+(0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2)+\" @@\\n\"],b,c=0;c<this.diffs.length;c++){switch(this.diffs[c][0]){case DIFF_INSERT:b=\"+\";break;case DIFF_DELETE:b=\"-\";break;case DIFF_EQUAL:b=\" \"}a[c+1]=b+encodeURI(this.diffs[c][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")};\nthis.diff_match_patch=diff_match_patch;this.DIFF_DELETE=DIFF_DELETE;this.DIFF_INSERT=DIFF_INSERT;this.DIFF_EQUAL=DIFF_EQUAL;\n}).call(exports);","type":"application/javascript","title":"$:/core/modules/utils/diff-match-patch/diff_match_patch.js","module-type":"library"},"$:/core/modules/utils/dom/animations/slide.js":{"title":"$:/core/modules/utils/dom/animations/slide.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n","type":"application/javascript","module-type":"animation"},"$:/core/modules/utils/dom/animator.js":{"title":"$:/core/modules/utils/dom/animator.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/browser.js":{"title":"$:/core/modules/utils/dom/browser.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/csscolorparser.js":{"title":"$:/core/modules/utils/dom/csscolorparser.js","text":"// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) { // Clamp to integer 0 .. 255.\n i = Math.round(i); // Seems to be what Chrome does (vs truncation).\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) { // Clamp to float 0.0 .. 1.0.\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) { // int or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_byte(parseFloat(str) / 100 * 255);\n return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) { // float or percentage.\n if (str[str.length - 1] === '%')\n return clamp_css_float(parseFloat(str) / 100);\n return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n if (h < 0) h += 1;\n else if (h > 1) h -= 1;\n\n if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n if (h * 2 < 1) return m2;\n if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n return m1;\n}\n\nfunction parseCSSColor(css_str) {\n // Remove all whitespace, not compliant, but should just be more accepting.\n var str = css_str.replace(/ /g, '').toLowerCase();\n\n // Color keywords (and transparent) lookup.\n if (str in kCSSColorTable) return kCSSColorTable[str].slice(); // dup.\n\n // #abc and #abc123 syntax.\n if (str[0] === '#') {\n if (str.length === 4) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xfff)) return null; // Covers NaN.\n return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n (iv & 0xf0) | ((iv & 0xf0) >> 4),\n (iv & 0xf) | ((iv & 0xf) << 4),\n 1];\n } else if (str.length === 7) {\n var iv = parseInt(str.substr(1), 16); // TODO(deanm): Stricter parsing.\n if (!(iv >= 0 && iv <= 0xffffff)) return null; // Covers NaN.\n return [(iv & 0xff0000) >> 16,\n (iv & 0xff00) >> 8,\n iv & 0xff,\n 1];\n }\n\n return null;\n }\n\n var op = str.indexOf('('), ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === str.length) {\n var fname = str.substr(0, op);\n var params = str.substr(op+1, ep-(op+1)).split(',');\n var alpha = 1; // To allow case fallthrough.\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'rgb':\n if (params.length !== 3) return null;\n return [parse_css_int(params[0]),\n parse_css_int(params[1]),\n parse_css_int(params[2]),\n alpha];\n case 'hsla':\n if (params.length !== 4) return null;\n alpha = parse_css_float(params.pop());\n // Fall through.\n case 'hsl':\n if (params.length !== 3) return null;\n var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360; // 0 .. 1\n // NOTE(deanm): According to the CSS spec s/l should only be\n // percentages, but we don't bother and let float or percentage.\n var s = parse_css_float(params[1]);\n var l = parse_css_float(params[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n alpha];\n default:\n return null;\n }\n }\n\n return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom.js":{"title":"$:/core/modules/utils/dom.js","text":"/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.domMatchesSelector = function(node,selector) {\n\treturn node.matches ? node.matches(selector) : node.msMatchesSelector(selector);\n};\n\n/*\nSelect text in a an input or textarea (setSelectionRange crashes on certain input types)\n*/\nexports.setSelectionRangeSafe = function(node,start,end,direction) {\n\ttry {\n\t\tnode.setSelectionRange(start,end,direction);\n\t} catch(e) {\n\t\tnode.select();\n\t}\n};\n\n/*\nSelect the text in an input or textarea by position\n*/\nexports.setSelectionByPosition = function(node,selectFromStart,selectFromEnd) {\n\t$tw.utils.setSelectionRangeSafe(node,selectFromStart,node.value.length - selectFromEnd);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.hasAttribute && el.hasAttribute(\"class\") && el.getAttribute(\"class\").split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = (el.getAttribute(\"class\") || \"\").split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t\tel.setAttribute(\"class\",c.join(\" \"));\n\t}\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = (el.getAttribute(\"class\") || \"\").split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.setAttribute(\"class\",c.join(\" \"));\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function(srcWindow) {\n\tvar scrollWindow = srcWindow || window;\n\tif(\"scrollX\" in scrollWindow) {\n\t\treturn {x: scrollWindow.scrollX, y: scrollWindow.scrollY};\n\t} else {\n\t\treturn {x: scrollWindow.document.documentElement.scrollLeft, y: scrollWindow.document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight || parseInt(minHeight,10);\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(element.ownerDocument.defaultView),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\tvar done = false;\n\ttry {\n\t\twindow.localStorage.setItem(\"tw5-password-\" + name,password);\n\t\tdone = true;\n\t} catch(e) {\n\t}\n\tif(!done) {\n\t\t$tw.savedPasswords = $tw.savedPasswords || Object.create(null);\n\t\t$tw.savedPasswords[name] = password;\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\tvar value;\n\ttry {\n\t\tvalue = window.localStorage.getItem(\"tw5-password-\" + name);\n\t} catch(e) {\n\t}\n\tif(value !== undefined) {\n\t\treturn value;\n\t} else {\n\t\treturn ($tw.savedPasswords || Object.create(null))[name] || \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n/*\nCopy plain text to the clipboard on browsers that support it\n*/\nexports.copyToClipboard = function(text,options) {\n\toptions = options || {};\n\tvar textArea = document.createElement(\"textarea\");\n\ttextArea.style.position = \"fixed\";\n\ttextArea.style.top = 0;\n\ttextArea.style.left = 0;\n\ttextArea.style.fontSize = \"12pt\";\n\ttextArea.style.width = \"2em\";\n\ttextArea.style.height = \"2em\";\n\ttextArea.style.padding = 0;\n\ttextArea.style.border = \"none\";\n\ttextArea.style.outline = \"none\";\n\ttextArea.style.boxShadow = \"none\";\n\ttextArea.style.background = \"transparent\";\n\ttextArea.value = text;\n\tdocument.body.appendChild(textArea);\n\ttextArea.select();\n\ttextArea.setSelectionRange(0,text.length);\n\tvar succeeded = false;\n\ttry {\n\t\tsucceeded = document.execCommand(\"copy\");\n\t} catch (err) {\n\t}\n\tif(!options.doNotNotify) {\n\t\t$tw.notifier.display(succeeded ? \"$:/language/Notifications/CopiedToClipboard/Succeeded\" : \"$:/language/Notifications/CopiedToClipboard/Failed\");\n\t}\n\tdocument.body.removeChild(textArea);\n};\n\nexports.getLocationPath = function() {\n\treturn window.location.toString().split(\"#\")[0];\n};\n\n/*\nCollect DOM variables\n*/\nexports.collectDOMVariables = function(selectedNode,domNode,event) {\n\tvar variables = {},\n\t selectedNodeRect,\n\t domNodeRect;\n\tif(selectedNode) {\n\t\t$tw.utils.each(selectedNode.attributes,function(attribute) {\n\t\t\tvariables[\"dom-\" + attribute.name] = attribute.value.toString();\n\t\t});\n\t\t\n\t\tif(\"offsetLeft\" in selectedNode) {\n\t\t\t// Add variables with a (relative and absolute) popup coordinate string for the selected node\n\t\t\tvar nodeRect = {\n\t\t\t\tleft: selectedNode.offsetLeft,\n\t\t\t\ttop: selectedNode.offsetTop,\n\t\t\t\twidth: selectedNode.offsetWidth,\n\t\t\t\theight: selectedNode.offsetHeight\n\t\t\t};\n\t\t\tvariables[\"tv-popup-coords\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csOffsetParent,nodeRect);\n\n\t\t\tvar absRect = $tw.utils.extend({}, nodeRect);\n\t\t\tfor (var currentNode = selectedNode.offsetParent; currentNode; currentNode = currentNode.offsetParent) {\n\t\t\t\tabsRect.left += currentNode.offsetLeft;\n\t\t\t\tabsRect.top += currentNode.offsetTop;\n\t\t\t}\n\t\t\tvariables[\"tv-popup-abs-coords\"] = Popup.buildCoordinates(Popup.coordinatePrefix.csAbsolute,absRect);\n\n\t\t\t// Add variables for offset of selected node\n\t\t\tvariables[\"tv-selectednode-posx\"] = selectedNode.offsetLeft.toString();\n\t\t\tvariables[\"tv-selectednode-posy\"] = selectedNode.offsetTop.toString();\n\t\t\tvariables[\"tv-selectednode-width\"] = selectedNode.offsetWidth.toString();\n\t\t\tvariables[\"tv-selectednode-height\"] = selectedNode.offsetHeight.toString();\n\t\t}\n\t}\n\t\n\tif(domNode && (\"offsetWidth\" in domNode)) {\n\t\tvariables[\"tv-widgetnode-width\"] = domNode.offsetWidth.toString();\n\t\tvariables[\"tv-widgetnode-height\"] = domNode.offsetHeight.toString();\n\t}\n\n\tif(event && (\"clientX\" in event) && (\"clientY\" in event)) {\n\t\tif(selectedNode) {\n\t\t\t// Add variables for event X and Y position relative to selected node\n\t\t\tselectedNodeRect = selectedNode.getBoundingClientRect();\n\t\t\tvariables[\"event-fromselected-posx\"] = (event.clientX - selectedNodeRect.left).toString();\n\t\t\tvariables[\"event-fromselected-posy\"] = (event.clientY - selectedNodeRect.top).toString();\n\t\t}\n\t\t\n\t\tif(domNode) {\n\t\t\t// Add variables for event X and Y position relative to event catcher node\n\t\t\tdomNodeRect = domNode.getBoundingClientRect();\n\t\t\tvariables[\"event-fromcatcher-posx\"] = (event.clientX - domNodeRect.left).toString();\n\t\t\tvariables[\"event-fromcatcher-posy\"] = (event.clientY - domNodeRect.top).toString();\n\t\t}\n\n\t\t// Add variables for event X and Y position relative to the viewport\n\t\tvariables[\"event-fromviewport-posx\"] = event.clientX.toString();\n\t\tvariables[\"event-fromviewport-posy\"] = event.clientY.toString();\n\t}\n\treturn variables;\n};\n\n/*\nMake sure the CSS selector is not invalid\n*/\nexports.querySelectorSafe = function(selector,baseElement) {\n\tbaseElement = baseElement || document;\n\ttry {\n\t\treturn baseElement.querySelector(selector);\n\t} catch(e) {\n\t\tconsole.log(\"Invalid selector: \",selector);\n\t}\n};\n\nexports.querySelectorAllSafe = function(selector,baseElement) {\n\tbaseElement = baseElement || document;\n\ttry {\n\t\treturn baseElement.querySelectorAll(selector);\n\t} catch(e) {\n\t\tconsole.log(\"Invalid selector: \",selector);\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/dragndrop.js":{"title":"$:/core/modules/utils/dom/dragndrop.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/dragndrop.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.makeDraggable = function(options) {\n\tvar dragImageType = options.dragImageType || \"dom\",\n\t\tdragImage,\n\t\tdomNode = options.domNode;\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\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragstart\", handlerFunction: function(event) {\n\t\t\tif(event.dataTransfer === undefined) {\n\t\t\t\treturn false;\n\t\t\t}\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\tstartActions = options.startActions,\n\t\t\t\tvariables,\n\t\t\t\tdomNodeRect;\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// Check that we've something to drag\n\t\t\tif(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {\n\t\t\t\t// Mark the drag in progress\n\t\t\t\t$tw.dragInProgress = domNode;\n\t\t\t\t// Set the dragging class on the element being dragged\n\t\t\t\t$tw.utils.addClass(domNode,\"tc-dragging\");\n\t\t\t\t// Invoke drag-start actions if given\n\t\t\t\tif(startActions !== undefined) {\n\t\t\t\t\t// Collect our variables\n\t\t\t\t\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\n\t\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t\tvariables[\"actionTiddler\"] = titleString;\n\t\t\t\t\toptions.widget.invokeActionString(startActions,options.widget,event,variables);\n\t\t\t\t}\n\t\t\t\t// Create the drag image elements\n\t\t\t\tdragImage = options.widget.document.createElement(\"div\");\n\t\t\t\tdragImage.className = \"tc-tiddler-dragger\";\n\t\t\t\tvar inner = options.widget.document.createElement(\"div\");\n\t\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\t\tinner.appendChild(options.widget.document.createTextNode(\n\t\t\t\t\ttitles.length === 1 ? \n\t\t\t\t\t\ttitles[0] :\n\t\t\t\t\t\ttitles.length + \" tiddlers\"\n\t\t\t\t));\n\t\t\t\tdragImage.appendChild(inner);\n\t\t\t\toptions.widget.document.body.appendChild(dragImage);\n\t\t\t\t// Set the data transfer properties\n\t\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t\t// Set up the image\n\t\t\t\tdataTransfer.effectAllowed = \"all\";\n\t\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\t\tif(dragImageType === \"pill\") {\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage.firstChild,-16,-16);\n\t\t\t\t\t} else if(dragImageType === \"blank\") {\n\t\t\t\t\t\tdragImage.removeChild(dragImage.firstChild);\n\t\t\t\t\t\tdataTransfer.setDragImage(dragImage,0,0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar r = domNode.getBoundingClientRect();\n\t\t\t\t\t\tdataTransfer.setDragImage(domNode,event.clientX-r.left,event.clientY-r.top);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Set up the data transfer\n\t\t\t\tif(dataTransfer.clearData) {\n\t\t\t\t\tdataTransfer.clearData();\n\t\t\t\t}\n\t\t\t\tvar jsonData = [];\n\t\t\t\tif(titles.length > 1) {\n\t\t\t\t\ttitles.forEach(function(title) {\n\t\t\t\t\t\tjsonData.push(options.widget.wiki.getTiddlerAsJson(title));\n\t\t\t\t\t});\n\t\t\t\t\tjsonData = \"[\" + jsonData.join(\",\") + \"]\";\n\t\t\t\t} else {\n\t\t\t\t\tjsonData = options.widget.wiki.getTiddlerAsJson(titles[0]);\n\t\t\t\t}\n\t\t\t\t// IE doesn't like these content types\n\t\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\t\tdataTransfer.setData(\"text/plain\",titleString);\n\t\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\t// If browser is Chrome-like and has a touch-input device do NOT .setData\n\t\t\t\tif(!($tw.browser.isMobileChrome)) {\n\t\t\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t\t}\n\t\t\t\tdataTransfer.setData(\"Text\",titleString);\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t\treturn false;\n\t\t}},\n\t\t{name: \"dragend\", handlerFunction: function(event) {\n\t\t\tif((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {\n\t\t\t\t// Collect the tiddlers being dragged\n\t\t\t\tvar dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),\n\t\t\t\t\tdragFilter = options.dragFilterFn && options.dragFilterFn(),\n\t\t\t\t\ttitles = dragTiddler ? [dragTiddler] : [],\n\t\t\t\t\tendActions = options.endActions,\n\t\t\t\t\tvariables;\n\t\t\t\tif(dragFilter) {\n\t\t\t\t\ttitles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));\n\t\t\t\t}\n\t\t\t\tvar titleString = $tw.utils.stringifyList(titles);\n\t\t\t\t$tw.dragInProgress = null;\n\t\t\t\t// Invoke drag-end actions if given\n\t\t\t\tif(endActions !== undefined) {\n\t\t\t\t\tvariables = $tw.utils.collectDOMVariables(domNode,null,event);\n\t\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t\tvariables[\"actionTiddler\"] = titleString;\n\t\t\t\t\toptions.widget.invokeActionString(endActions,options.widget,event,variables);\n\t\t\t\t}\n\t\t\t\t// Remove the dragging class on the element being dragged\n\t\t\t\t$tw.utils.removeClass(domNode,\"tc-dragging\");\n\t\t\t\t// Delete the drag image element\n\t\t\t\tif(dragImage) {\n\t\t\t\t\tdragImage.parentNode.removeChild(dragImage);\n\t\t\t\t\tdragImage = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}}\n\t]);\n};\n\nexports.importDataTransfer = function(dataTransfer,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Available data types:\");\n\t\tfor(var type=0; type<dataTransfer.types.length; type++) {\n\t\t\tconsole.log(\"type\",dataTransfer.types[type],dataTransfer.getData(dataTransfer.types[type]))\n\t\t}\n\t}\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.importPaste = function(item,fallbackTitle,callback) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(item.type === importDataTypes[t].type) {\n\t\t\t// Get the data\n\t\t\tvar dataType = importDataTypes[t];\n\n\t\t\titem.getAsString(function(data){\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.toTiddlerFieldsArray(data,fallbackTitle);\n\t\t\t\tcallback(tiddlerFields);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n};\n\nexports.itemHasValidDataType = function(item) {\n\tfor(var t=0; t<importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || importDataTypes[t].IECompatible) {\n\t\t\tif(item.type === importDataTypes[t].type) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nvar importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn parseJSONTiddlers(data,fallbackTitle);\n\t}},\n\t{type: \"URL\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/plain\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"Text\", IECompatible: true, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\treturn [{title: fallbackTitle, text: data}];\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, toTiddlerFieldsArray: function(data,fallbackTitle) {\n\t\t// Check for tiddler data URI\n\t\tvar match = $tw.utils.decodeURIComponentSafe(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn parseJSONTiddlers(match[1],fallbackTitle);\n\t\t} else {\n\t\t\treturn [{title: fallbackTitle, text: data}]; // As URL string\n\t\t}\n\t}}\n];\n\nfunction parseJSONTiddlers(json,fallbackTitle) {\n\tvar data = $tw.utils.parseJSONSafe(json);\n\tif(!$tw.utils.isArray(data)) {\n\t\tdata = [data];\n\t}\n\tdata.forEach(function(fields) {\n\t\tfields.title = fields.title || fallbackTitle;\n\t});\n\treturn data;\n};\n\nfunction dragEventContainsType(event,targetType) {\n\tif(event.dataTransfer.types) {\n\t\tfor(var i=0; i<event.dataTransfer.types.length; i++) {\n\t\t\tif(event.dataTransfer.types[i] === targetType) {\n\t\t\t\treturn true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.dragEventContainsFiles = function(event) {\n\treturn (dragEventContainsType(event,\"Files\") && !dragEventContainsType(event,\"text/plain\"));\n};\n\nexports.dragEventContainsType = dragEventContainsType;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/http.js":{"title":"$:/core/modules/utils/dom/http.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nHTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nManage tm-http-request events. Options include:\nwiki: Reference to the wiki to be used for state tiddler tracking\nstateTrackerTitle: Title of tiddler to be used for state tiddler tracking\n*/\nfunction HttpClient(options) {\n\toptions = options || {};\n\tthis.nextId = 1;\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.stateTrackerTitle = options.stateTrackerTitle || \"$:/state/http-requests\";\n\tthis.requests = []; // Array of {id: string,request: HttpClientRequest}\n\tthis.updateRequestTracker();\n}\n\n/*\nReturn the index into this.requests[] corresponding to a given ID. Returns null if not found\n*/\nHttpClient.prototype.getRequestIndex = function(targetId) {\n\tvar targetIndex = null;\n\t$tw.utils.each(this.requests,function(requestInfo,index) {\n\t\tif(requestInfo.id === targetId) {\n\t\t\ttargetIndex = index;\n\t\t}\n\t});\n\treturn targetIndex;\n};\n\n/*\nUpdate the state tiddler that is tracking the outstanding requests\n*/\nHttpClient.prototype.updateRequestTracker = function() {\n\tthis.wiki.addTiddler({title: this.stateTrackerTitle, text: \"\" + this.requests.length});\n};\n\nHttpClient.prototype.initiateHttpRequest = function(options) {\n\tvar self = this,\n\t\tid = this.nextId,\n\t\trequest = new HttpClientRequest(options);\n\tthis.nextId += 1;\n\tthis.requests.push({id: id, request: request});\n\tthis.updateRequestTracker();\n\trequest.send(function(err) {\n\t\tvar targetIndex = self.getRequestIndex(id);\n\t\tif(targetIndex !== null) {\n\t\t\tself.requests.splice(targetIndex,1);\n\t\t\tself.updateRequestTracker();\n\t\t}\n\t});\n\treturn id;\n};\n\nHttpClient.prototype.cancelAllHttpRequests = function() {\n\tvar self = this;\n\tif(this.requests.length > 0) {\n\t\tfor(var t=this.requests.length - 1; t--; t>=0) {\n\t\t\tvar requestInfo = this.requests[t];\n\t\t\trequestInfo.request.cancel();\n\t\t}\t\n\t}\n\tthis.requests = [];\n\tthis.updateRequestTracker();\n};\n\nHttpClient.prototype.cancelHttpRequest = function(targetId) {\n\tvar targetIndex = this.getRequestIndex(targetId);\n\tif(targetIndex !== null) {\n\t\tthis.requests[targetIndex].request.cancel();\n\t\tthis.requests.splice(targetIndex,1);\n\t\tthis.updateRequestTracker();\n\t}\n};\n\n/*\nInitiate an HTTP request. Options:\nwiki: wiki to be used for executing action strings\nurl: URL for request\nmethod: method eg GET, POST\nbody: text of request body\nbinary: set to \"yes\" to force binary processing of response payload\noncompletion: action string to be invoked on completion\nonprogress: action string to be invoked on progress updates\nbindStatus: optional title of tiddler to which status (\"pending\", \"complete\", \"error\") should be written\nbindProgress: optional title of tiddler to which the progress of the request (0 to 100) should be bound\nvariables: hashmap of variable name to string value passed to action strings\nheaders: hashmap of header name to header value to be sent with the request\npasswordHeaders: hashmap of header name to password store name to be sent with the request\nqueryStrings: hashmap of query string parameter name to parameter value to be sent with the request\npasswordQueryStrings: hashmap of query string parameter name to password store name to be sent with the request\n*/\nfunction HttpClientRequest(options) {\n\tvar self = this;\n\tconsole.log(\"Initiating an HTTP request\",options)\n\tthis.wiki = options.wiki;\n\tthis.completionActions = options.oncompletion;\n\tthis.progressActions = options.onprogress;\n\tthis.bindStatus = options[\"bindStatus\"];\n\tthis.bindProgress = options[\"bindProgress\"];\n\tthis.method = options.method || \"GET\";\n\tthis.body = options.body || \"\";\n\tthis.binary = options.binary || \"\";\n\tthis.variables = options.variables;\n\tvar url = options.url;\n\t$tw.utils.each(options.queryStrings,function(value,name) {\n\t\turl = $tw.utils.setQueryStringParameter(url,name,value);\n\t});\n\t$tw.utils.each(options.passwordQueryStrings,function(value,name) {\n\t\turl = $tw.utils.setQueryStringParameter(url,name,$tw.utils.getPassword(value) || \"\");\n\t});\n\tthis.url = url;\n\tthis.requestHeaders = {};\n\t$tw.utils.each(options.headers,function(value,name) {\n\t\tself.requestHeaders[name] = value;\n\t});\n\t$tw.utils.each(options.passwordHeaders,function(value,name) {\n\t\tself.requestHeaders[name] = $tw.utils.getPassword(value) || \"\";\n\t});\n}\n\nHttpClientRequest.prototype.send = function(callback) {\n\tvar self = this,\n\t\tsetBinding = function(title,text) {\n\t\t\tif(title) {\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler({title: title, text: text}));\n\t\t\t}\n\t\t};\n\tif(this.url) {\n\t\tsetBinding(this.bindStatus,\"pending\");\n\t\tsetBinding(this.bindProgress,\"0\");\n\t\t// Set the request tracker tiddler\n\t\tvar requestTrackerTitle = this.wiki.generateNewTitle(\"$:/temp/HttpRequest\");\n\t\tthis.wiki.addTiddler({\n\t\t\ttitle: requestTrackerTitle,\n\t\t\ttags: \"$:/tags/HttpRequest\",\n\t\t\ttext: JSON.stringify({\n\t\t\t\turl: this.url,\n\t\t\t\ttype: this.method,\n\t\t\t\tstatus: \"inprogress\",\n\t\t\t\theaders: this.requestHeaders,\n\t\t\t\tdata: this.body\n\t\t\t})\n\t\t});\n\t\tthis.xhr = $tw.utils.httpRequest({\n\t\t\turl: this.url,\n\t\t\ttype: this.method,\n\t\t\theaders: this.requestHeaders,\n\t\t\tdata: this.body,\n\t\t\treturnProp: this.binary === \"\" ? \"responseText\" : \"response\",\n\t\t\tresponseType: this.binary === \"\" ? \"text\" : \"arraybuffer\",\n\t\t\tcallback: function(err,data,xhr) {\n\t\t\t\tvar hasSucceeded = xhr.status >= 200 && xhr.status < 300,\n\t\t\t\t\tcompletionCode = hasSucceeded ? \"complete\" : \"error\",\n\t\t\t\t\theaders = {};\n\t\t\t\t$tw.utils.each(xhr.getAllResponseHeaders().split(\"\\r\\n\"),function(line) {\n\t\t\t\t\tvar pos = line.indexOf(\":\");\n\t\t\t\t\tif(pos !== -1) {\n\t\t\t\t\t\theaders[line.substr(0,pos)] = line.substr(pos + 1).trim();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetBinding(self.bindStatus,completionCode);\n\t\t\t\tsetBinding(self.bindProgress,\"100\");\n\t\t\t\tvar resultVariables = {\n\t\t\t\t\tstatus: xhr.status.toString(),\n\t\t\t\t\tstatusText: xhr.statusText,\n\t\t\t\t\terror: (err || \"\").toString(),\n\t\t\t\t\tdata: (data || \"\").toString(),\n\t\t\t\t\theaders: JSON.stringify(headers)\n\t\t\t\t};\n\t\t\t\t/* Convert data from binary to base64 */\n\t\t\t\tif (xhr.responseType === \"arraybuffer\") {\n\t\t\t\t\tvar binary = \"\",\n\t\t\t\t\t\tbytes = new Uint8Array(data),\n\t\t\t\t\t\tlen = bytes.byteLength;\n\t\t\t\t\tfor (var i=0; i<len; i++) {\n\t\t\t\t\t\tbinary += String.fromCharCode(bytes[i]);\n\t\t\t\t\t}\n\t\t\t\t\tresultVariables.data = $tw.utils.base64Encode(binary,true);\n\t\t\t\t}\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getTiddler(requestTrackerTitle),{\n\t\t\t\t\tstatus: completionCode,\n\t\t\t\t}));\n\t\t\t\tself.wiki.invokeActionString(self.completionActions,undefined,$tw.utils.extend({},self.variables,resultVariables),{parentWidget: $tw.rootWidget});\n\t\t\t\tcallback(hasSucceeded ? null : xhr.statusText);\n\t\t\t\t// console.log(\"Back!\",err,data,xhr);\n\t\t\t},\n\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\tif(lengthComputable) {\n\t\t\t\t\tsetBinding(self.bindProgress,\"\" + Math.floor((loaded/total) * 100))\n\t\t\t\t}\n\t\t\t\tself.wiki.invokeActionString(self.progressActions,undefined,{\n\t\t\t\t\tlengthComputable: lengthComputable ? \"yes\" : \"no\",\n\t\t\t\t\tloaded: loaded,\n\t\t\t\t\ttotal: total\n\t\t\t\t},{parentWidget: $tw.rootWidget});\n\t\t\t}\n\t\t});\n\t}\n};\n\nHttpClientRequest.prototype.cancel = function() {\n\tif(this.xhr) {\n\t\tthis.xhr.abort();\n\t}\n};\n\nexports.HttpClient = HttpClient;\n\n/*\nMake an HTTP request. Options are:\n\turl: URL to retrieve\n\theaders: hashmap of headers to send\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data,xhr)\n\tprogress: optional function invoked with (lengthComputable,loaded,total)\n\treturnProp: string name of the property to return as first argument of callback\n\tresponseType: \"text\" or \"arraybuffer\"\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\turl = options.url,\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\thasHeader = function(targetHeader) {\n\t\t\ttargetHeader = targetHeader.toLowerCase();\n\t\t\tvar result = false;\n\t\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\t\tif(headerTitle.toLowerCase() === targetHeader) {\n\t\t\t\t\tresult = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\t\tgetHeader = function(targetHeader) {\n\t\t\treturn headers[targetHeader] || headers[targetHeader.toLowerCase()];\n\t\t},\n\t\tisSimpleRequest = function(type,headers) {\n\t\t\tif([\"GET\",\"HEAD\",\"POST\"].indexOf(type) === -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor(var header in headers) {\n\t\t\t\tif([\"accept\",\"accept-language\",\"content-language\",\"content-type\"].indexOf(header.toLowerCase()) === -1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(hasHeader(\"Content-Type\") && [\"application/x-www-form-urlencoded\",\"multipart/form-data\",\"text/plain\"].indexOf(getHeader[\"Content-Type\"]) === -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\t\n\t\t},\n\t\treturnProp = options.returnProp || \"responseText\",\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tif(type === \"GET\" || type === \"HEAD\") {\n\t\t\t\turl += \"?\" + results.join(\"&\");\n\t\t\t} else {\n\t\t\t\tdata = results.join(\"&\");\n\t\t\t}\n\t\t}\n\t}\n\trequest.responseType = options.responseType || \"text\";\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status >= 200 && this.status < 300) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this[returnProp],this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status,this[returnProp],this);\n\t\t}\n\t};\n\t// Handle progress\n\tif(options.progress) {\n\t\trequest.onprogress = function(event) {\n\t\t\tconsole.log(\"Progress event\",event)\n\t\t\toptions.progress(event.lengthComputable,event.loaded,event.total);\n\t\t};\n\t}\n\t// Make the request\n\trequest.open(type,url,true);\n\t// Headers\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !hasHeader(\"Content-Type\")) {\n\t\trequest.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\tif(!hasHeader(\"X-Requested-With\") && !isSimpleRequest(type,headers)) {\n\t\trequest.setRequestHeader(\"X-Requested-With\",\"TiddlyWiki\");\n\t}\n\t// Send data\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e,null,this);\n\t}\n\treturn request;\n};\n\nexports.setQueryStringParameter = function(url,paramName,paramValue) {\n\tvar URL = $tw.browser ? window.URL : require(\"url\").URL,\n\t\tnewUrl;\n\ttry {\n\t\tnewUrl = new URL(url);\n\t} catch(e) {\n\t}\n\tif(newUrl && paramName) {\n\t\tnewUrl.searchParams.set(paramName,paramValue || \"\");\n\t\treturn newUrl.toString();\n\t} else {\n\t\treturn url;\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/keyboard.js":{"title":"$:/core/modules/utils/dom/keyboard.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/modal.js":{"title":"$:/core/modules/utils/dom/modal.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\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\");\nvar navigator = require(\"$:/core/modules/widgets/navigator.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n\tevent: widget event\n\tvariables: from event.paramObject\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tthis.srcDocument = options.variables && (options.variables.rootwindow === \"true\" ||\n\t\t\t\toptions.variables.rootwindow === \"yes\") ? document :\n\t\t\t\t(options.event && options.event.event && options.event.event.target ? options.event.event.target.ownerDocument : document);\n\tthis.srcWindow = this.srcDocument.defaultView;\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({\n\t\t\tcurrentTiddler: title,\n\t\t\t\"tv-story-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-story-list\") : \"\"),\n\t\t\t\"tv-history-list\": (options.event && options.event.widget ? options.event.widget.getVariable(\"tv-history-list\") : \"\")\n\t\t},options.variables);\n\n\t// Create the wrapper divs\n\tvar wrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalBackdrop = this.srcDocument.createElement(\"div\"),\n\t\tmodalWrapper = this.srcDocument.createElement(\"div\"),\n\t\tmodalHeader = this.srcDocument.createElement(\"div\"),\n\t\theaderTitle = this.srcDocument.createElement(\"h3\"),\n\t\tmodalBody = this.srcDocument.createElement(\"div\"),\n\t\tmodalLink = this.srcDocument.createElement(\"a\"),\n\t\tmodalFooter = this.srcDocument.createElement(\"div\"),\n\t\tmodalFooterHelp = this.srcDocument.createElement(\"span\"),\n\t\tmodalFooterButtons = this.srcDocument.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\tif(tiddler.fields && tiddler.fields.class) {\n\t\t$tw.utils.addClass(wrapper,tiddler.fields.class);\n\t}\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\tvar navigatorTree = {\n\t\t\"type\": \"navigator\",\n\t\t\"attributes\": {\n\t\t\t\"story\": {\n\t\t\t\t\"name\": \"story\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-story-list\"]\n\t\t\t},\n\t\t\t\"history\": {\n\t\t\t\t\"name\": \"history\",\n\t\t\t\t\"type\": \"string\",\n\t\t\t\t\"value\": variables[\"tv-history-list\"]\n\t\t\t}\n\t\t},\n\t\t\"tag\": \"$navigator\",\n\t\t\"isBlock\": true,\n\t\t\"children\": []\n\t};\n\tvar navigatorWidgetNode = new navigator.navigator(navigatorTree, {\n\t\twiki: this.wiki,\n\t\tdocument : this.srcDocument,\n\t\tparentWidget: $tw.rootWidget\n\t});\n\tnavigatorWidgetNode.render(modalBody,null);\n\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(this.srcDocument.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler.fields && tiddler.fields.help) {\n\t\tvar link = this.srcDocument.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(this.srcDocument.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: navigatorWidgetNode,\n\t\tdocument: this.srcDocument,\n\t\tvariables: variables,\n\t\timportPageMacros: true\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + self.srcWindow.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\tself.srcWindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tself.srcDocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Whether to close the modal dialog when the mask (area outside the modal) is clicked\n\tif(tiddler.fields && (tiddler.fields[\"mask-closable\"] === \"yes\" || tiddler.fields[\"mask-closable\"] === \"true\")) {\n\t\tmodalBackdrop.addEventListener(\"click\",closeHandler,false);\n\t}\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-this.srcWindow.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tthis.srcDocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tvar windowContainer = $tw.pageContainer ? ($tw.pageContainer === this.srcDocument.body.firstChild ? $tw.pageContainer : this.srcDocument.body.firstChild) : null;\n\tif(windowContainer) {\n\t\t$tw.utils.toggleClass(windowContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n\t$tw.utils.toggleClass(this.srcDocument.body,\"tc-modal-prevent-scroll\",this.modalCount > 0);\n};\n\nexports.Modal = Modal;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/notifier.js":{"title":"$:/core/modules/utils/dom/notifier.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\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\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes and roles\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\tnotification.setAttribute(\"role\",\"alert\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables,\n\t\timportPageMacros: true});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/popup.js":{"title":"$:/core/modules/utils/dom/popup.js","text":"/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nGlobal regular expression for parsing the location of a popup.\nThis is also used by the Reveal widget.\n*/\nexports.popupLocationRegExp = /^(@?)\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/\n\n/*\nObjekt containing the available prefixes for coordinates build with the `buildCoordinates` function:\n - csOffsetParent: Uses a coordinate system based on the offset parent (no prefix).\n - csAbsolute: Use an absolute coordinate system (prefix \"@\").\n*/\nexports.coordinatePrefix = { csOffsetParent: \"\", csAbsolute: \"@\" }\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned (one of domNode or domNodeRect is required)\n\tdomNodeRect: rectangle to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n\tfloating: if true, skips registering the popup, meaning that it will need manually clearing\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\n\t// Store the popup details if not already there\n\tif(!options.floating && this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode,\n\t\t\tnoStateReference: options.noStateReference\n\t\t});\n\t}\n\t// Set the state tiddler\n\tvar rect;\n\tif(options.domNodeRect) {\n\t\trect = options.domNodeRect;\n\t} else {\n\t\trect = {\n\t\t\tleft: options.domNode.offsetLeft,\n\t\t\ttop: options.domNode.offsetTop,\n\t\t\twidth: options.domNode.offsetWidth,\n\t\t\theight: options.domNode.offsetHeight\n\t\t};\n\t}\n\tif(options.absolute && options.domNode) {\n\t\t// Walk the offsetParent chain and add the position of the offsetParents to make\n\t\t// the position absolute to the root node of the page.\n\t\tvar currentNode = options.domNode.offsetParent;\n\t\twhile(currentNode) {\n\t\t\trect.left += currentNode.offsetLeft;\n\t\t\trect.top += currentNode.offsetTop;\n\t\t\tcurrentNode = currentNode.offsetParent;\n\t\t}\n\t}\n\tvar popupRect = exports.buildCoordinates(options.absolute?exports.coordinatePrefix.csAbsolute:exports.coordinatePrefix.csOffsetParent,rect);\n\tif(options.noStateReference) {\n\t\toptions.wiki.setText(options.title,\"text\",undefined,popupRect);\n\t} else {\n\t\toptions.wiki.setTextReference(options.title,popupRect);\n\t}\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tif(popup.noStateReference) {\n\t\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t\t} else {\n\t\t\t\tpopup.wiki.deleteTiddler($tw.utils.parseTextReference(popup.title).title);\n \t\t}\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.readPopupState = function(text) {\n\treturn exports.popupLocationRegExp.test(text);\n};\n\n/*\nParses a coordinate string in the format `(x,y,w,h)` or `@(x,y,z,h)` and returns\nan object containing the position, width and height. The absolute-Mark is boolean\nvalue that indicates the coordinate system of the coordinates. If they start with\nan `@`, `absolute` is set to true and the coordinates are relative to the root\nelement. If the initial `@` is missing, they are relative to the offset parent\nelement and `absoute` is false.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.parseCoordinates = function(coordinates) {\n\tvar match = exports.popupLocationRegExp.exec(coordinates);\n\tif(match) {\n\t\treturn {\n\t\t\tabsolute: (match[1] === \"@\"),\n\t\t\tleft: parseFloat(match[2]),\n\t\t\ttop: parseFloat(match[3]),\n\t\t\twidth: parseFloat(match[4]),\n\t\t\theight: parseFloat(match[5])\n\t\t};\n\t} else {\n\t\treturn false;\n\t}\n}\n\n/*\nBuilds a coordinate string from a coordinate system identifier and an object\ncontaining the left, top, width and height values.\nUse constants defined in coordinatePrefix to specify a coordinate system.\nIf one of the parameters is invalid for building a coordinate string `(0,0,0,0)`\nwill be returned.\nThis function is safe to call, even if the popup class was not initialized.\n*/\nexports.buildCoordinates = function(prefix,position) {\n\tvar coord = prefix + \"(\" + position.left + \",\" + position.top + \",\" + position.width + \",\" + position.height + \")\";\n\tif (exports.popupLocationRegExp.test(coord)) {\n\t\treturn coord;\n\t} else {\n\t\treturn \"(0,0,0,0)\";\n\t}\n}\n\nexports.Popup = Popup;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/dom/scroller.js":{"title":"$:/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\t// Now get ready to scroll the body\n\tthis.cancelScroll(srcWindow);\n\tthis.startTime = Date.now();\n\t// Get the height of any position:fixed toolbars\n\tvar toolbar = srcWindow.document.querySelector(\".tc-adjust-top-of-scroll\"),\n\t\toffset = 0;\n\tif(toolbar) {\n\t\toffset = toolbar.offsetHeight;\n\t}\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar getBounds = function() {\n\t\t\tvar clientBounds = typeof callback === 'function' ? callback() : element.getBoundingClientRect(),\n\t\t\t\tscrollPosition = $tw.utils.getScrollPosition(srcWindow);\n\t\t\treturn {\n\t\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\t\ttop: clientBounds.top + scrollPosition.y - offset,\n\t\t\t\twidth: clientBounds.width,\n\t\t\t\theight: clientBounds.height\n\t\t\t};\n\t\t},\n\t\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t\t// targetPos/targetSize - position and size of the target element\n\t\t// currentPos/currentSize - position and size of the current scroll viewport\n\t\t// returns: new position of the scroll viewport\n\t\tgetEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = targetPos;\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tdrawFrame = function drawFrame() {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll(srcWindow);\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tvar scrollPosition = $tw.utils.getScrollPosition(srcWindow),\n\t\t\t\tbounds = getBounds(),\n\t\t\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,srcWindow.innerWidth),\n\t\t\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,srcWindow.innerHeight);\n\t\t\tsrcWindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\tdrawFrame();\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","module-type":"utils"},"$:/core/modules/utils/edition-info.js":{"title":"$:/core/modules/utils/edition-info.js","text":"/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info = $tw.utils.parseJSONSafe(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"),null);\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n","type":"application/javascript","module-type":"utils-node"},"$:/core/modules/utils/escapecss.js":{"title":"$:/core/modules/utils/escapecss.js","text":"/*\\\ntitle: $:/core/modules/utils/escapecss.js\ntype: application/javascript\nmodule-type: utils\n\nProvides CSS.escape() functionality.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, window: false */\n\"use strict\";\n\nexports.escapeCSS = (function() {\n\t// use browser's native CSS.escape() function if available\n\tif ($tw.browser && window.CSS && window.CSS.escape) {\n\t\treturn window.CSS.escape;\n\t}\n\n\t// otherwise, a utility method is provided\n\t// see also https://drafts.csswg.org/cssom/#serialize-an-identifier\n\n\t/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n\treturn function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n})();\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/fakedom.js":{"title":"$:/core/modules/utils/fakedom.js","text":"/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_Node = function (){\n\tthrow TypeError(\"Illegal constructor\");\n};\n\nObject.defineProperty(TW_Node.prototype, 'ELEMENT_NODE', {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nObject.defineProperty(TW_Node.prototype, 'TEXT_NODE', {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text + \"\";\n};\n\nObject.setPrototypeOf(TW_TextNode,TW_Node.prototype);\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.TEXT_NODE;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis._style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.setPrototypeOf(TW_Element,TW_Node.prototype);\n\nObject.defineProperty(TW_Element.prototype, \"style\", {\n\tget: function() {\n\t\treturn this._style;\n\t},\n\tset: function(str) {\n\t\tvar self = this;\n\t\tstr = str || \"\";\n\t\t$tw.utils.each(str.split(\";\"),function(declaration) {\n\t\t\tvar parts = declaration.split(\":\"),\n\t\t\t\tname = $tw.utils.trim(parts[0]),\n\t\t\t\tvalue = $tw.utils.trim(parts[1]);\n\t\t\tif(name && value) {\n\t\t\t\tself._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;\n\t\t\t}\n\t\t});\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn this.ELEMENT_NODE;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tif(name === \"style\") {\n\t\tthis.style = value;\n\t} else {\n\t\tthis.attributes[name] = value + \"\";\n\t}\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value + \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this._style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this._style) {\n\t\t\t\tstyle.push($tw.utils.convertPropertyNameToStyleName(s) + \":\" + this._style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\");\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlTextEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t\tthis.rawTextContent = null;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textInnerHTML\", {\n\tset: function(value) {\n\t\tif(this.isRaw) {\n\t\t\tthis.rawTextContent = value;\n\t\t} else {\n\t\t\tthrow \"Cannot set textInnerHTML of a non-raw TW_Element\";\n\t\t}\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tif(this.rawTextContent === null) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\treturn this.rawTextContent;\n\t\t\t}\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/utils/filesystem.js":{"title":"$:/core/modules/utils/filesystem.js","text":"/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nReturn the subdirectories of a path\n*/\nexports.getSubdirectories = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn null;\n\t}\n\tvar subdirs = [];\n\t$tw.utils.each(fs.readdirSync(dirPath),function(item) {\n\t\tif($tw.utils.isDirectory(path.resolve(dirPath,item))) {\n\t\t\tsubdirs.push(item);\n\t\t}\n\t});\n\treturn subdirs;\n}\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = path.resolve($tw.utils.removeTrailingSeparator(srcPath));\n\tdstPath = path.resolve($tw.utils.removeTrailingSeparator(dstPath));\n\t// Check that neither director is within the other\n\tif(srcPath.substring(0,dstPath.length) === dstPath || dstPath.substring(0,srcPath.length) === srcPath) {\n\t\treturn \"Cannot copy nested directories\";\n\t}\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = Buffer.alloc(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n/*\nCreate a fileInfo object for saving a tiddler:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file on disk (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n\tisEditableFile: true if the tiddler was loaded via non-standard options & marked editable\nOptions include:\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\textFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters,\n\tfileInfo: an existing fileInfo to check against\n*/\nexports.generateTiddlerFileInfo = function(tiddler,options) {\n\tvar fileInfo = {}, metaExt;\n\t// Propagate the isEditableFile flag\n\tif(options.fileInfo && !!options.fileInfo.isEditableFile) {\n\t\tfileInfo.isEditableFile = true;\n\t\tfileInfo.originalpath = options.fileInfo.originalpath;\n\t}\n\t// Check if the tiddler has any unsafe fields that can't be expressed in a .tid or .meta file: containing control characters, or leading/trailing whitespace\n\tvar hasUnsafeFields = false;\n\t$tw.utils.each(tiddler.getFieldStrings(),function(value,fieldName) {\n\t\tif(fieldName !== \"text\") {\n\t\t\thasUnsafeFields = hasUnsafeFields || /[\\x00-\\x1F]/mg.test(value);\n\t\t\thasUnsafeFields = hasUnsafeFields || ($tw.utils.trim(value) !== value);\n\t\t}\n\t\thasUnsafeFields = hasUnsafeFields || /:|#/mg.test(fieldName);\n\t});\n\t// Check for field values \n\tif(hasUnsafeFields) {\n\t\t// Save as a JSON file\n\t\tfileInfo.type = \"application/json\";\n\t\tfileInfo.hasMetaFile = false;\n\t} else {\n\t\t// Save as a .tid or a text/binary file plus a .meta file\n\t\tvar tiddlerType = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\tif(tiddlerType === \"text/vnd.tiddlywiki\" || tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t// Save as a .tid file\n\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\tfileInfo.hasMetaFile = false;\n\t\t} else {\n\t\t\t// Save as a text/binary file and a .meta file\n\t\t\tfileInfo.type = tiddlerType;\n\t\t\tfileInfo.hasMetaFile = true;\n\t\t}\n\t\tif(options.extFilters) {\n\t\t\t// Check for extension overrides\n\t\t\tmetaExt = $tw.utils.generateTiddlerExtension(tiddler.fields.title,{\n\t\t\t\textFilters: options.extFilters,\n\t\t\t\twiki: options.wiki\n\t\t\t});\n\t\t\tif(metaExt) {\n\t\t\t\tif(metaExt === \".tid\") {\n\t\t\t\t\t// Overriding to the .tid extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/x-tiddler\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else if (metaExt === \".json\") {\n\t\t\t\t\t// Overriding to the .json extension needs special handling\n\t\t\t\t\tfileInfo.type = \"application/json\";\n\t\t\t\t\tfileInfo.hasMetaFile = false;\n\t\t\t\t} else {\n\t\t\t\t\t//If the new type matches a known extention, use that MIME type's encoding\n\t\t\t\t\tvar extInfo = $tw.utils.getFileExtensionInfo(metaExt);\n\t\t\t\t\tfileInfo.type = extInfo ? extInfo.type : null;\n\t\t\t\t\tfileInfo.encoding = $tw.utils.getTypeEncoding(metaExt);\n\t\t\t\t\tfileInfo.hasMetaFile = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Take the file extension from the tiddler content type or metaExt\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[fileInfo.type] || {extension: \"\"};\n\t// Generate the filepath\n\tfileInfo.filepath = $tw.utils.generateTiddlerFilepath(tiddler.fields.title,{\n\t\textension: metaExt || contentTypeInfo.extension,\n\t\tdirectory: options.directory,\n\t\tpathFilters: options.pathFilters,\n\t\twiki: options.wiki,\n\t\tfileInfo: options.fileInfo\n\t});\n\treturn fileInfo;\n};\n\n/*\nGenerate the file extension for saving a tiddler\nOptions include:\n\textFilters: optional array of filters to be used to generate the extention\n\twiki: optional wiki for evaluating the extFilters\n*/\nexports.generateTiddlerExtension = function(title,options) {\n\tvar extension;\n\t// Check if any of the extFilters applies\n\tif(options.extFilters && options.wiki) { \n\t\t$tw.utils.each(options.extFilters,function(filter) {\n\t\t\tif(!extension) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\textension = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn extension;\n};\n\n/*\nGenerate the filepath for saving a tiddler\nOptions include:\n\textension: file extension to be added the finished filepath\n\tdirectory: absolute path of root directory to which we are saving\n\tpathFilters: optional array of filters to be used to generate the base path\n\twiki: optional wiki for evaluating the pathFilters\n\tfileInfo: an existing fileInfo object to check against\n\tfileInfo.overwrite: if true, turns off filename clash numbers (defaults to false)\n*/\nexports.generateTiddlerFilepath = function(title,options) {\n\tvar directory = options.directory || \"\",\n\t\textension = options.extension || \"\",\n\t\toriginalpath = (options.fileInfo && options.fileInfo.originalpath) ? options.fileInfo.originalpath : \"\",\n\t\toverwrite = options.fileInfo && options.fileInfo.overwrite || false,\n\t\tfilepath;\n\t// Check if any of the pathFilters applies\n\tif(options.pathFilters && options.wiki) {\n\t\t$tw.utils.each(options.pathFilters,function(filter) {\n\t\t\tif(!filepath) {\n\t\t\t\tvar source = options.wiki.makeTiddlerIterator([title]),\n\t\t\t\t\tresult = options.wiki.filterTiddlers(filter,null,source);\n\t\t\t\tif(result.length > 0) {\n\t\t\t\t\tfilepath = result[0];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tif(!filepath && !!originalpath) {\n\t\t//Use the originalpath without the extension\n\t\tvar ext = path.extname(originalpath);\n\t\tfilepath = originalpath.substring(0,originalpath.length - ext.length);\n\t} else if(!filepath) {\n\t\tfilepath = title;\n\t\t// Remove any forward or backward slashes so we don't create directories\n\t\tfilepath = filepath.replace(/\\/|\\\\/g,\"_\");\n\t}\n\t// Replace any Windows control codes\n\tfilepath = filepath.replace(/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i,\"_$1_\");\n\t// Replace any leading spaces with the same number of underscores\n\tfilepath = filepath.replace(/^ +/,function (u) { return u.replace(/ /g, \"_\")});\n\t//If the path does not start with \".\" or \"..\" && a path seperator, then\n\tif(!/^\\.{1,2}[/\\\\]/g.test(filepath)) {\n\t\t// Don't let the filename start with any dots because such files are invisible on *nix\n\t\tfilepath = filepath.replace(/^\\.+/g,function (u) { return u.replace(/\\./g, \"_\")});\n\t}\n\t// Replace any Unicode control codes\n\tfilepath = filepath.replace(/[\\x00-\\x1f\\x80-\\x9f]/g,\"_\");\n\t// Replace any characters that can't be used in cross-platform filenames\n\tfilepath = $tw.utils.transliterate(filepath.replace(/<|>|~|\\:|\\\"|\\||\\?|\\*|\\^/g,\"_\"));\n\t// Replace any dots or spaces at the end of the extension with the same number of underscores\n\textension = extension.replace(/[\\. ]+$/, function (u) { return u.replace(/[\\. ]/g, \"_\")});\n\t// Truncate the extension if it is too long\n\tif(extension.length > 32) {\n\t\textension = extension.substr(0,32);\n\t}\n\t// If the filepath already ends in the extension then remove it\n\tif(filepath.substring(filepath.length - extension.length) === extension) {\n\t\tfilepath = filepath.substring(0,filepath.length - extension.length);\n\t}\n\t// Truncate the filename if it is too long\n\tif(filepath.length > 200) {\n\t\tfilepath = filepath.substr(0,200);\n\t}\n\t// If the resulting filename is blank (eg because the title is just punctuation)\n\tif(!filepath || /^_+$/g.test(filepath)) {\n\t\t// ...then just use the character codes of the title\n\t\tfilepath = \"\";\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tif(filepath) {\n\t\t\t\tfilepath += \"-\";\n\t\t\t}\n\t\t\tfilepath += char.charCodeAt(0).toString();\n\t\t});\n\t}\n\t// Add a uniquifier if the file already exists (default)\n\tvar fullPath = path.resolve(directory, filepath + extension);\n\tif (!overwrite) {\n\t\tvar oldPath = (options.fileInfo) ? options.fileInfo.filepath : undefined,\n\t\tcount = 0;\n\t\tdo {\n\t\t\tfullPath = path.resolve(directory,filepath + (count ? \"_\" + count : \"\") + extension);\n\t\t\tif(oldPath && oldPath == fullPath) break;\n\t\t\tcount++;\n\t\t} while(fs.existsSync(fullPath));\n\t}\n\t// If the last write failed with an error, or if path does not start with:\n\t//\tthe resolved options.directory, the resolved wikiPath directory, the wikiTiddlersPath directory, \n\t//\tor the 'originalpath' directory, then $tw.utils.encodeURIComponentExtended() and resolve to options.directory.\n\tvar writePath = $tw.hooks.invokeHook(\"th-make-tiddler-path\",fullPath,fullPath),\n\t\tencode = (options.fileInfo || {writeError: false}).writeError == true;\n\tif(!encode) {\n\t\tencode = !(writePath.indexOf($tw.boot.wikiTiddlersPath) == 0 ||\n\t\t\twritePath.indexOf(path.resolve(directory)) == 0 ||\n\t\t\twritePath.indexOf(path.resolve($tw.boot.wikiPath)) == 0 ||\n\t\t\twritePath.indexOf(path.resolve($tw.boot.wikiTiddlersPath,originalpath)) == 0 );\n\t\t}\n\tif(encode) {\n\t\twritePath = path.resolve(directory,$tw.utils.encodeURIComponentExtended(fullPath));\n\t}\n\t// Return the full path to the file\n\treturn writePath;\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFile = function(tiddler,fileInfo,callback) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFile(fileInfo.filepath,tiddler.fields.text || \"\",typeInfo.encoding,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tfs.writeFile(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t});\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFile(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t} else {\n\t\t\tfs.writeFile(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t}\n\t}\n};\n\n/*\nSave a tiddler to a file described by the fileInfo:\n\tfilepath: the absolute path to the file containing the tiddler\n\ttype: the type of the tiddler file (NOT the type of the tiddler)\n\thasMetaFile: true if the file also has a companion .meta file\n*/\nexports.saveTiddlerToFileSync = function(tiddler,fileInfo) {\n\t$tw.utils.createDirectory(path.dirname(fileInfo.filepath));\n\tif(fileInfo.hasMetaFile) {\n\t\t// Save the tiddler as a separate body and meta file\n\t\tvar typeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/plain\"] || {encoding: \"utf8\"};\n\t\tfs.writeFileSync(fileInfo.filepath,tiddler.fields.text || \"\",typeInfo.encoding);\n\t\tfs.writeFileSync(fileInfo.filepath + \".meta\",tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}),\"utf8\");\n\t} else {\n\t\t// Save the tiddler as a self contained templated file\n\t\tif(fileInfo.type === \"application/x-tiddler\") {\n\t\t\tfs.writeFileSync(fileInfo.filepath,tiddler.getFieldStringBlock({exclude: [\"text\",\"bag\"]}) + (!!tiddler.fields.text ? \"\\n\\n\" + tiddler.fields.text : \"\"),\"utf8\");\n\t\t} else {\n\t\t\tfs.writeFileSync(fileInfo.filepath,JSON.stringify([tiddler.getFieldStrings({exclude: [\"bag\"]})],null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t}\n\t}\n\treturn fileInfo;\n};\n\n/*\nDelete a file described by the fileInfo if it exits\n*/\nexports.deleteTiddlerFile = function(fileInfo,callback) {\n\t//Only attempt to delete files that exist on disk\n\tif(!fileInfo.filepath || !fs.existsSync(fileInfo.filepath)) {\n\t\t//For some reason, the tiddler is only in memory or we can't modify the file at this path\n\t\t$tw.syncer.displayError(\"Server deleteTiddlerFile task failed for filepath: \"+fileInfo.filepath);\n\t\treturn callback(null,fileInfo);\n\t}\n\t// Delete the file\n\tfs.unlink(fileInfo.filepath,function(err) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t// Delete the metafile if present\n\t\tif(fileInfo.hasMetaFile && fs.existsSync(fileInfo.filepath + \".meta\")) {\n\t\t\tfs.unlink(fileInfo.filepath + \".meta\",function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t}\n\t\t\t\t\treturn callback(null,fileInfo);\n\t\t\t\t});\n\t\t\t});\n\t\t} else {\n\t\t\treturn $tw.utils.deleteEmptyDirs(path.dirname(fileInfo.filepath),function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\treturn callback(null,fileInfo);\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nCleanup old files on disk, by comparing the options values:\n\tadaptorInfo from $tw.syncer.tiddlerInfo\n\tbootInfo from $tw.boot.files\n*/\nexports.cleanupTiddlerFiles = function(options,callback) {\n\tvar adaptorInfo = options.adaptorInfo || {},\n\tbootInfo = options.bootInfo || {},\n\ttitle = options.title || \"undefined\";\n\tif(adaptorInfo.filepath && bootInfo.filepath && adaptorInfo.filepath !== bootInfo.filepath) {\n\t\t$tw.utils.deleteTiddlerFile(adaptorInfo,function(err) {\n\t\t\tif(err) {\n\t\t\t\tif ((err.code == \"EPERM\" || err.code == \"EACCES\") && err.syscall == \"unlink\") {\n\t\t\t\t\t// Error deleting the previous file on disk, should fail gracefully\n\t\t\t\t\t$tw.syncer.displayError(\"Server desynchronized. Error cleaning up previous file for tiddler: \\\"\"+title+\"\\\"\",err);\n\t\t\t\t\treturn callback(null,bootInfo);\n\t\t\t\t} else {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn callback(null,bootInfo);\n\t\t});\n\t} else {\n\t\treturn callback(null,bootInfo);\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"utils-node"},"$:/core/modules/utils/linkedlist.js":{"title":"$:/core/modules/utils/linkedlist.js","text":"/*\\\nmodule-type: utils\ntitle: $:/core/modules/utils/linkedlist.js\ntype: application/javascript\n\nThis is a doubly-linked indexed list intended for manipulation, particularly\npushTop, which it does with significantly better performance than an array.\n\n\\*/\n(function(){\n\nfunction LinkedList() {\n\tthis.clear();\n};\n\nLinkedList.prototype.clear = function() {\n\t// LinkedList performs the duty of both the head and tail node\n\tthis.next = new LLMap();\n\tthis.prev = new LLMap();\n\t// Linked list head initially points to itself\n\tthis.next.set(null, null);\n\tthis.prev.set(null, null);\n\tthis.length = 0;\n};\n\nLinkedList.prototype.remove = function(value) {\n\tif($tw.utils.isArray(value)) {\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_assertString(value[t]);\n\t\t}\n\t\tfor(var t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t} else {\n\t\t_assertString(value);\n\t\t_removeOne(this,value);\n\t}\n};\n\n/*\nPush behaves like array.push and accepts multiple string arguments. But it also\naccepts a single array argument too, to be consistent with its other methods.\n*/\nLinkedList.prototype.push = function(/* values */) {\n\tvar i, values = arguments;\n\tif($tw.utils.isArray(values[0])) {\n\t\tvalues = values[0];\n\t}\n\tfor(i = 0; i < values.length; i++) {\n\t\t_assertString(values[i]);\n\t}\n\tfor(i = 0; i < values.length; i++) {\n\t\t_linkToEnd(this,values[i]);\n\t}\n\treturn this.length;\n};\n\nLinkedList.prototype.pushTop = function(value) {\n\tvar t;\n\tif($tw.utils.isArray(value)) {\n\t\tfor (t=0; t<value.length; t++) {\n\t\t\t_assertString(value[t]);\n\t\t}\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\t_removeOne(this,value[t]);\n\t\t}\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\t_linkToEnd(this,value[t]);\n\t\t}\n\t} else {\n\t\t_assertString(value);\n\t\t_removeOne(this,value);\n\t\t_linkToEnd(this,value);\n\t}\n};\n\nLinkedList.prototype.each = function(callback) {\n\tvar visits = Object.create(null),\n\t\tvalue = this.next.get(null);\n\twhile(value !== null) {\n\t\tcallback(value);\n\t\tvar next = this.next.get(value);\n\t\tif(Array.isArray(next)) {\n\t\t\tvar i = visits[value] || 0;\n\t\t\tvisits[value] = i+1;\n\t\t\tvalue = next[i];\n\t\t} else {\n\t\t\tvalue = next;\n\t\t}\n\t}\n};\n\nLinkedList.prototype.toArray = function() {\n\tvar output = new Array(this.length),\n\t\tindex = 0;\n\tthis.each(function(value) { output[index++] = value; });\n\treturn output;\n};\n\nLinkedList.prototype.makeTiddlerIterator = function(wiki) {\n\tvar self = this;\n\treturn function(callback) {\n\t\tself.each(function(title) {\n\t\t\tcallback(wiki.getTiddler(title),title);\n\t\t});\n\t};\n};\n\nfunction _removeOne(list,value) {\n\tvar nextEntry = list.next.get(value);\n\tif(nextEntry === undefined) {\n\t\treturn;\n\t}\n\tvar prevEntry = list.prev.get(value),\n\t\tprev = prevEntry,\n\t\tnext = nextEntry,\n\t\tref;\n\tif(Array.isArray(nextEntry)) {\n\t\tnext = nextEntry[0];\n\t\tprev = prevEntry[0];\n\t}\n\t// Relink preceding element.\n\tref = list.next.get(prev);\n\tif(Array.isArray(ref)) {\n\t\tvar i = ref.indexOf(value);\n\t\tref[i] = next;\n\t} else {\n\t\tlist.next.set(prev,next);\n\t}\n\n\t// Now relink following element\n\tref = list.prev.get(next);\n\tif(Array.isArray(ref)) {\n\t\tvar i = ref.indexOf(value);\n\t\tref[i] = prev;\n\t} else {\n\t\tlist.prev.set(next,prev);\n\t}\n\n\t// Delink actual value. If it uses arrays, just remove first entries.\n\tif(Array.isArray(nextEntry) && nextEntry.length > 1) {\n\t\tnextEntry.shift();\n\t\tprevEntry.shift();\n\t} else {\n\t\tlist.next.set(value,undefined);\n\t\tlist.prev.set(value,undefined);\n\t}\n\tlist.length -= 1;\n};\n\n// Sticks the given node onto the end of the list.\nfunction _linkToEnd(list,value) {\n\tvar old = list.next.get(value);\n\tvar last = list.prev.get(null);\n\t// Does it already exists?\n\tif(old !== undefined) {\n\t\tif(!Array.isArray(old)) {\n\t\t\told = [old];\n\t\t\tlist.next.set(value,old);\n\t\t\tlist.prev.set(value,[list.prev.get(value)]);\n\t\t}\n\t\told.push(null);\n\t\tlist.prev.get(value).push(last);\n\t} else {\n\t\tlist.next.set(value,null);\n\t\tlist.prev.set(value,last);\n\t}\n\t// Make the old last point to this new one.\n\tif(value !== last) {\n\t\tvar array = list.next.get(last);\n\t\tif(Array.isArray(array)) {\n\t\t\tarray[array.length-1] = value;\n\t\t} else {\n\t\t\tlist.next.set(last,value);\n\t\t}\n\t\tlist.prev.set(null,value);\n\t} else {\n\t\t// Edge case, the pushed value was already the last value.\n\t\t// The second-to-last nextPtr for that value must point to itself now.\n\t\tvar array = list.next.get(last);\n\t\tarray[array.length-2] = value;\n\t}\n\tlist.length += 1;\n};\n\nfunction _assertString(value) {\n\tif(typeof value !== \"string\") {\n\t\tthrow \"Linked List only accepts string values, not \" + value;\n\t}\n};\n\nvar LLMap = function() {\n\tthis.map = Object.create(null);\n};\n\n// Just a wrapper so our object map can also accept null.\nLLMap.prototype = {\n\tset: function(key,val) {\n\t\t(key === null) ? (this.null = val) : (this.map[key] = val);\n\t},\n\tget: function(key) {\n\t\treturn (key === null) ? this.null : this.map[key];\n\t}\n};\n\nexports.LinkedList = LinkedList;\n\n})();\n","module-type":"utils","type":"application/javascript"},"$:/core/modules/utils/logger.js":{"title":"$:/core/modules/utils/logger.js","text":"/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName,options) {\n\toptions = options || {};\n\tthis.componentName = componentName || \"\";\n\tthis.colour = options.colour || \"white\";\n\tthis.enable = \"enable\" in options ? options.enable : true;\n\tthis.save = \"save\" in options ? options.save : true;\n\tthis.saveLimit = options.saveLimit || 100 * 1024;\n\tthis.saveBufferLogger = this;\n\tthis.buffer = \"\";\n\tthis.alertCount = 0;\n}\n\nLogger.prototype.setSaveBuffer = function(logger) {\n\tthis.saveBufferLogger = logger;\n};\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tvar self = this;\n\tif(this.enable) {\n\t\tif(this.saveBufferLogger.save) {\n\t\t\tthis.saveBufferLogger.buffer += $tw.utils.formatDateString(new Date(),\"YYYY MM DD 0hh:0mm:0ss.0XXX\") + \":\";\n\t\t\t$tw.utils.each(Array.prototype.slice.call(arguments,0),function(arg,index) {\n\t\t\t\tself.saveBufferLogger.buffer += \" \" + arg;\n\t\t\t});\n\t\t\tthis.saveBufferLogger.buffer += \"\\n\";\n\t\t\tthis.saveBufferLogger.buffer = this.saveBufferLogger.buffer.slice(-this.saveBufferLogger.saveLimit);\n\t\t}\n\t\tif(console !== undefined && console.log !== undefined) {\n\t\t\tvar logMessage = [$tw.utils.terminalColour(this.colour) + this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0));\n\t\t\tlogMessage[logMessage.length-1] += $tw.utils.terminalColour();\n\t\t\treturn Function.apply.call(console.log, console, logMessage);\n\t\t}\n\t} \n};\n\n/*\nRead the message buffer\n*/\nLogger.prototype.getBuffer = function() {\n\treturn this.saveBufferLogger.buffer;\n};\n\n/*\nLog a structure as a table\n*/\nLogger.prototype.table = function(value) {\n\t(console.table || console.log)(value);\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\tif(this.enable) {\n\t\t// Prepare the text of the alert\n\t\tvar text = Array.prototype.join.call(arguments,\" \");\n\t\t// Create alert tiddlers in the browser\n\t\tif($tw.browser) {\n\t\t\t// Check if there is an existing alert with the same text and the same component\n\t\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\t\talertFields,\n\t\t\t\texistingCount,\n\t\t\t\tself = this;\n\t\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(alertFields) {\n\t\t\t\texistingCount = alertFields.count || 1;\n\t\t\t} else {\n\t\t\t\talertFields = {\n\t\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\t\ttext: text,\n\t\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\t\tcomponent: this.componentName\n\t\t\t\t};\n\t\t\t\texistingCount = 0;\n\t\t\t\tthis.alertCount += 1;\n\t\t\t}\n\t\t\talertFields.modified = new Date();\n\t\t\tif(++existingCount > 1) {\n\t\t\t\talertFields.count = existingCount;\n\t\t\t} else {\n\t\t\t\talertFields.count = undefined;\n\t\t\t}\n\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t\t// Log the alert as well\n\t\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\t// Print an orange message to the console if not in the browser\n\t\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t\t}\n\t}\n};\n\n/*\nClear outstanding alerts\n*/\nLogger.prototype.clearAlerts = function() {\n\tvar self = this;\n\tif($tw.browser && this.alertCount > 0) {\n\t\t$tw.utils.each($tw.wiki.getTiddlersWithTag(ALERT_TAG),function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.component === self.componentName) {\n\t\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t\t}\n\t\t});\n\t\tthis.alertCount = 0;\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/parsetree.js":{"title":"$:/core/modules/utils/parsetree.js","text":"/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nAdd attribute to parse tree node\nCan be invoked as (node,name,value) or (node,attr)\n*/\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tvar attribute = typeof name === \"object\" ? name : {name: name, type: \"string\", value: value};\n\tname = attribute.name;\n\tnode.attributes = node.attributes || {};\n\tnode.orderedAttributes = node.orderedAttributes || [];\n\tnode.attributes[name] = attribute;\n\tvar foundIndex = -1;\n\t$tw.utils.each(node.orderedAttributes,function(attr,index) {\n\t\tif(attr.name === name) {\n\t\t\tfoundIndex = index;\n\t\t}\n\t});\n\tif(foundIndex === -1) {\n\t\tnode.orderedAttributes.push(attribute);\n\t} else {\n\t\tnode.orderedAttributes[foundIndex] = attribute;\n\t}\n};\n\nexports.getOrderedAttributesFromParseTreeNode = function(node) {\n\tif(node.orderedAttributes) {\n\t\treturn node.orderedAttributes;\n\t} else {\n\t\tvar attributes = [];\n\t\t$tw.utils.each(node.attributes,function(attribute) {\n\t\t\tattributes.push(attribute);\n\t\t});\n\t\treturn attributes.sort(function(a,b) {\n\t\t\treturn a.name < b.name ? -1 : (a.name > b.name ? 1 : 0);\n\t\t});\n\t}\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [],\n\t\tattribute;\n\tnode.attributes = node.attributes || {};\n\tattribute = node.attributes[\"class\"];\n\tif(!attribute) {\n\t\t// If the class attribute does not exist, we must create it first.\n\t\tattribute = {name: \"class\", type: \"string\", value: \"\"};\n\t\tnode.attributes[\"class\"] = attribute;\n\t\tnode.orderedAttributes = node.orderedAttributes || [];\n\t\tnode.orderedAttributes.push(attribute);\n\t}\n\tif(attribute.type === \"string\") {\n\t\tif(attribute.value !== \"\") {\n\t\t\tclasses = attribute.value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tattribute.value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\tvar attribute;\n\tnode.attributes = node.attributes || {};\n\tattribute = node.attributes.style;\n\tif(!attribute) {\n\t\tattribute = {name: \"style\", type: \"string\", value: \"\"};\n\t\tnode.attributes.style = attribute;\n\t\tnode.orderedAttributes = node.orderedAttributes || [];\n\t\tnode.orderedAttributes.push(attribute);\n\t}\n\tif(attribute.type === \"string\") {\n\t\tattribute.value += name + \":\" + value + \";\";\n\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/performance.js":{"title":"$:/core/modules/utils/performance.js","text":"/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap by measurement name of {time:, invocations:}\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n\tthis.showGreeting();\n}\n\nPerformance.prototype.showGreeting = function() {\n\tif($tw.browser) {\n\t\tthis.logger.log(\"Execute $tw.perf.log(); to see filter execution timings\");\n\t}\n};\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nPerformance.prototype.log = function() {\n\tvar self = this,\n\t\ttotalTime = 0,\n\t\torderedMeasures = Object.keys(this.measures).sort(function(a,b) {\n\t\t\tif(self.measures[a].time > self.measures[b].time) {\n\t\t\t\treturn -1;\n\t\t\t} else if (self.measures[a].time < self.measures[b].time) {\n\t\t\t\treturn + 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t});\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\ttotalTime += self.measures[name].time;\n\t});\n\tvar results = []\n\t$tw.utils.each(orderedMeasures,function(name) {\n\t\tvar measure = self.measures[name];\n\t\tresults.push({name: name,invocations: measure.invocations, avgTime: measure.time / measure.invocations, totalTime: measure.time, percentTime: (measure.time / totalTime) * 100})\n\t});\n\tself.logger.table(results);\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tif(!(name in self.measures)) {\n\t\t\t\tself.measures[name] = {time: 0, invocations: 0};\n\t\t\t}\n\t\t\tself.measures[name].time += $tw.utils.timer(startTime);\n\t\t\tself.measures[name].invocations++;\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n","type":"application/javascript","module-type":"global"},"$:/core/modules/utils/pluginmaker.js":{"title":"$:/core/modules/utils/pluginmaker.js","text":"/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler = $tw.utils.parseJSONSafe(pluginTiddler.fields.text,null);\n\tif(!jsonPluginTiddler) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/transliterate.js":{"title":"$:/core/modules/utils/transliterate.js","text":"/*\\\ntitle: $:/core/modules/utils/transliterate.js\ntype: application/javascript\nmodule-type: utils\n\nTransliteration static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nTransliterate string to ASCII\n\n(Some pairs taken from http://semplicewebsites.com/removing-accents-javascript)\n*/\nexports.transliterationPairs = {\n\t\"Á\":\"A\",\n\t\"Ă\":\"A\",\n\t\"Ắ\":\"A\",\n\t\"Ặ\":\"A\",\n\t\"Ằ\":\"A\",\n\t\"Ẳ\":\"A\",\n\t\"Ẵ\":\"A\",\n\t\"Ǎ\":\"A\",\n\t\"Â\":\"A\",\n\t\"Ấ\":\"A\",\n\t\"Ậ\":\"A\",\n\t\"Ầ\":\"A\",\n\t\"Ẩ\":\"A\",\n\t\"Ẫ\":\"A\",\n\t\"Ä\":\"A\",\n\t\"Ǟ\":\"A\",\n\t\"Ȧ\":\"A\",\n\t\"Ǡ\":\"A\",\n\t\"Ạ\":\"A\",\n\t\"Ȁ\":\"A\",\n\t\"À\":\"A\",\n\t\"Ả\":\"A\",\n\t\"Ȃ\":\"A\",\n\t\"Ā\":\"A\",\n\t\"Ą\":\"A\",\n\t\"Å\":\"A\",\n\t\"Ǻ\":\"A\",\n\t\"Ḁ\":\"A\",\n\t\"Ⱥ\":\"A\",\n\t\"Ã\":\"A\",\n\t\"Ꜳ\":\"AA\",\n\t\"Æ\":\"AE\",\n\t\"Ǽ\":\"AE\",\n\t\"Ǣ\":\"AE\",\n\t\"Ꜵ\":\"AO\",\n\t\"Ꜷ\":\"AU\",\n\t\"Ꜹ\":\"AV\",\n\t\"Ꜻ\":\"AV\",\n\t\"Ꜽ\":\"AY\",\n\t\"Ḃ\":\"B\",\n\t\"Ḅ\":\"B\",\n\t\"Ɓ\":\"B\",\n\t\"Ḇ\":\"B\",\n\t\"Ƀ\":\"B\",\n\t\"Ƃ\":\"B\",\n\t\"Ć\":\"C\",\n\t\"Č\":\"C\",\n\t\"Ç\":\"C\",\n\t\"Ḉ\":\"C\",\n\t\"Ĉ\":\"C\",\n\t\"Ċ\":\"C\",\n\t\"Ƈ\":\"C\",\n\t\"Ȼ\":\"C\",\n\t\"Ď\":\"D\",\n\t\"Ḑ\":\"D\",\n\t\"Ḓ\":\"D\",\n\t\"Ḋ\":\"D\",\n\t\"Ḍ\":\"D\",\n\t\"Ɗ\":\"D\",\n\t\"Ḏ\":\"D\",\n\t\"Dz\":\"D\",\n\t\"Dž\":\"D\",\n\t\"Đ\":\"D\",\n\t\"Ƌ\":\"D\",\n\t\"DZ\":\"DZ\",\n\t\"DŽ\":\"DZ\",\n\t\"É\":\"E\",\n\t\"Ĕ\":\"E\",\n\t\"Ě\":\"E\",\n\t\"Ȩ\":\"E\",\n\t\"Ḝ\":\"E\",\n\t\"Ê\":\"E\",\n\t\"Ế\":\"E\",\n\t\"Ệ\":\"E\",\n\t\"Ề\":\"E\",\n\t\"Ể\":\"E\",\n\t\"Ễ\":\"E\",\n\t\"Ḙ\":\"E\",\n\t\"Ë\":\"E\",\n\t\"Ė\":\"E\",\n\t\"Ẹ\":\"E\",\n\t\"Ȅ\":\"E\",\n\t\"È\":\"E\",\n\t\"Ẻ\":\"E\",\n\t\"Ȇ\":\"E\",\n\t\"Ē\":\"E\",\n\t\"Ḗ\":\"E\",\n\t\"Ḕ\":\"E\",\n\t\"Ę\":\"E\",\n\t\"Ɇ\":\"E\",\n\t\"Ẽ\":\"E\",\n\t\"Ḛ\":\"E\",\n\t\"Ꝫ\":\"ET\",\n\t\"Ḟ\":\"F\",\n\t\"Ƒ\":\"F\",\n\t\"Ǵ\":\"G\",\n\t\"Ğ\":\"G\",\n\t\"Ǧ\":\"G\",\n\t\"Ģ\":\"G\",\n\t\"Ĝ\":\"G\",\n\t\"Ġ\":\"G\",\n\t\"Ɠ\":\"G\",\n\t\"Ḡ\":\"G\",\n\t\"Ǥ\":\"G\",\n\t\"Ḫ\":\"H\",\n\t\"Ȟ\":\"H\",\n\t\"Ḩ\":\"H\",\n\t\"Ĥ\":\"H\",\n\t\"Ⱨ\":\"H\",\n\t\"Ḧ\":\"H\",\n\t\"Ḣ\":\"H\",\n\t\"Ḥ\":\"H\",\n\t\"Ħ\":\"H\",\n\t\"Í\":\"I\",\n\t\"Ĭ\":\"I\",\n\t\"Ǐ\":\"I\",\n\t\"Î\":\"I\",\n\t\"Ï\":\"I\",\n\t\"Ḯ\":\"I\",\n\t\"İ\":\"I\",\n\t\"Ị\":\"I\",\n\t\"Ȉ\":\"I\",\n\t\"Ì\":\"I\",\n\t\"Ỉ\":\"I\",\n\t\"Ȋ\":\"I\",\n\t\"Ī\":\"I\",\n\t\"Į\":\"I\",\n\t\"Ɨ\":\"I\",\n\t\"Ĩ\":\"I\",\n\t\"Ḭ\":\"I\",\n\t\"Ꝺ\":\"D\",\n\t\"Ꝼ\":\"F\",\n\t\"Ᵹ\":\"G\",\n\t\"Ꞃ\":\"R\",\n\t\"Ꞅ\":\"S\",\n\t\"Ꞇ\":\"T\",\n\t\"Ꝭ\":\"IS\",\n\t\"Ĵ\":\"J\",\n\t\"Ɉ\":\"J\",\n\t\"Ḱ\":\"K\",\n\t\"Ǩ\":\"K\",\n\t\"Ķ\":\"K\",\n\t\"Ⱪ\":\"K\",\n\t\"Ꝃ\":\"K\",\n\t\"Ḳ\":\"K\",\n\t\"Ƙ\":\"K\",\n\t\"Ḵ\":\"K\",\n\t\"Ꝁ\":\"K\",\n\t\"Ꝅ\":\"K\",\n\t\"Ĺ\":\"L\",\n\t\"Ƚ\":\"L\",\n\t\"Ľ\":\"L\",\n\t\"Ļ\":\"L\",\n\t\"Ḽ\":\"L\",\n\t\"Ḷ\":\"L\",\n\t\"Ḹ\":\"L\",\n\t\"Ⱡ\":\"L\",\n\t\"Ꝉ\":\"L\",\n\t\"Ḻ\":\"L\",\n\t\"Ŀ\":\"L\",\n\t\"Ɫ\":\"L\",\n\t\"Lj\":\"L\",\n\t\"Ł\":\"L\",\n\t\"LJ\":\"LJ\",\n\t\"Ḿ\":\"M\",\n\t\"Ṁ\":\"M\",\n\t\"Ṃ\":\"M\",\n\t\"Ɱ\":\"M\",\n\t\"Ń\":\"N\",\n\t\"Ň\":\"N\",\n\t\"Ņ\":\"N\",\n\t\"Ṋ\":\"N\",\n\t\"Ṅ\":\"N\",\n\t\"Ṇ\":\"N\",\n\t\"Ǹ\":\"N\",\n\t\"Ɲ\":\"N\",\n\t\"Ṉ\":\"N\",\n\t\"Ƞ\":\"N\",\n\t\"Nj\":\"N\",\n\t\"Ñ\":\"N\",\n\t\"NJ\":\"NJ\",\n\t\"ð\":\"d\",\n\t\"Ð\":\"D\",\n\t\"Ó\":\"O\",\n\t\"Ŏ\":\"O\",\n\t\"Ǒ\":\"O\",\n\t\"Ô\":\"O\",\n\t\"Ố\":\"O\",\n\t\"Ộ\":\"O\",\n\t\"Ồ\":\"O\",\n\t\"Ổ\":\"O\",\n\t\"Ỗ\":\"O\",\n\t\"Ö\":\"O\",\n\t\"Ȫ\":\"O\",\n\t\"Ȯ\":\"O\",\n\t\"Ȱ\":\"O\",\n\t\"Ọ\":\"O\",\n\t\"Ő\":\"O\",\n\t\"Ȍ\":\"O\",\n\t\"Ò\":\"O\",\n\t\"Ỏ\":\"O\",\n\t\"Ơ\":\"O\",\n\t\"Ớ\":\"O\",\n\t\"Ợ\":\"O\",\n\t\"Ờ\":\"O\",\n\t\"Ở\":\"O\",\n\t\"Ỡ\":\"O\",\n\t\"Ȏ\":\"O\",\n\t\"Ꝋ\":\"O\",\n\t\"Ꝍ\":\"O\",\n\t\"Ō\":\"O\",\n\t\"Ṓ\":\"O\",\n\t\"Ṑ\":\"O\",\n\t\"Ɵ\":\"O\",\n\t\"Ǫ\":\"O\",\n\t\"Ǭ\":\"O\",\n\t\"Ø\":\"O\",\n\t\"Ǿ\":\"O\",\n\t\"Õ\":\"O\",\n\t\"Ṍ\":\"O\",\n\t\"Ṏ\":\"O\",\n\t\"Ȭ\":\"O\",\n\t\"Ƣ\":\"OI\",\n\t\"Ꝏ\":\"OO\",\n\t\"Ɛ\":\"E\",\n\t\"Ɔ\":\"O\",\n\t\"Ȣ\":\"OU\",\n\t\"Ṕ\":\"P\",\n\t\"Ṗ\":\"P\",\n\t\"Ꝓ\":\"P\",\n\t\"Ƥ\":\"P\",\n\t\"Ꝕ\":\"P\",\n\t\"Ᵽ\":\"P\",\n\t\"Ꝑ\":\"P\",\n\t\"Ꝙ\":\"Q\",\n\t\"Ꝗ\":\"Q\",\n\t\"Ŕ\":\"R\",\n\t\"Ř\":\"R\",\n\t\"Ŗ\":\"R\",\n\t\"Ṙ\":\"R\",\n\t\"Ṛ\":\"R\",\n\t\"Ṝ\":\"R\",\n\t\"Ȑ\":\"R\",\n\t\"Ȓ\":\"R\",\n\t\"Ṟ\":\"R\",\n\t\"Ɍ\":\"R\",\n\t\"Ɽ\":\"R\",\n\t\"Ꜿ\":\"C\",\n\t\"Ǝ\":\"E\",\n\t\"ß\":\"ss\",\n\t\"ẞ\":\"SS\",\n\t\"Ś\":\"S\",\n\t\"Ṥ\":\"S\",\n\t\"Š\":\"S\",\n\t\"Ṧ\":\"S\",\n\t\"Ş\":\"S\",\n\t\"Ŝ\":\"S\",\n\t\"Ș\":\"S\",\n\t\"Ṡ\":\"S\",\n\t\"Ṣ\":\"S\",\n\t\"Ṩ\":\"S\",\n\t\"þ\": \"th\",\n\t\"Þ\": \"TH\",\n\t\"Ť\":\"T\",\n\t\"Ţ\":\"T\",\n\t\"Ṱ\":\"T\",\n\t\"Ț\":\"T\",\n\t\"Ⱦ\":\"T\",\n\t\"Ṫ\":\"T\",\n\t\"Ṭ\":\"T\",\n\t\"Ƭ\":\"T\",\n\t\"Ṯ\":\"T\",\n\t\"Ʈ\":\"T\",\n\t\"Ŧ\":\"T\",\n\t\"Ɐ\":\"A\",\n\t\"Ꞁ\":\"L\",\n\t\"Ɯ\":\"M\",\n\t\"Ʌ\":\"V\",\n\t\"Ꜩ\":\"TZ\",\n\t\"Ú\":\"U\",\n\t\"Ŭ\":\"U\",\n\t\"Ǔ\":\"U\",\n\t\"Û\":\"U\",\n\t\"Ṷ\":\"U\",\n\t\"Ü\":\"U\",\n\t\"Ǘ\":\"U\",\n\t\"Ǚ\":\"U\",\n\t\"Ǜ\":\"U\",\n\t\"Ǖ\":\"U\",\n\t\"Ṳ\":\"U\",\n\t\"Ụ\":\"U\",\n\t\"Ű\":\"U\",\n\t\"Ȕ\":\"U\",\n\t\"Ù\":\"U\",\n\t\"Ủ\":\"U\",\n\t\"Ư\":\"U\",\n\t\"Ứ\":\"U\",\n\t\"Ự\":\"U\",\n\t\"Ừ\":\"U\",\n\t\"Ử\":\"U\",\n\t\"Ữ\":\"U\",\n\t\"Ȗ\":\"U\",\n\t\"Ū\":\"U\",\n\t\"Ṻ\":\"U\",\n\t\"Ų\":\"U\",\n\t\"Ů\":\"U\",\n\t\"Ũ\":\"U\",\n\t\"Ṹ\":\"U\",\n\t\"Ṵ\":\"U\",\n\t\"Ꝟ\":\"V\",\n\t\"Ṿ\":\"V\",\n\t\"Ʋ\":\"V\",\n\t\"Ṽ\":\"V\",\n\t\"Ꝡ\":\"VY\",\n\t\"Ẃ\":\"W\",\n\t\"Ŵ\":\"W\",\n\t\"Ẅ\":\"W\",\n\t\"Ẇ\":\"W\",\n\t\"Ẉ\":\"W\",\n\t\"Ẁ\":\"W\",\n\t\"Ⱳ\":\"W\",\n\t\"Ẍ\":\"X\",\n\t\"Ẋ\":\"X\",\n\t\"Ý\":\"Y\",\n\t\"Ŷ\":\"Y\",\n\t\"Ÿ\":\"Y\",\n\t\"Ẏ\":\"Y\",\n\t\"Ỵ\":\"Y\",\n\t\"Ỳ\":\"Y\",\n\t\"Ƴ\":\"Y\",\n\t\"Ỷ\":\"Y\",\n\t\"Ỿ\":\"Y\",\n\t\"Ȳ\":\"Y\",\n\t\"Ɏ\":\"Y\",\n\t\"Ỹ\":\"Y\",\n\t\"Ź\":\"Z\",\n\t\"Ž\":\"Z\",\n\t\"Ẑ\":\"Z\",\n\t\"Ⱬ\":\"Z\",\n\t\"Ż\":\"Z\",\n\t\"Ẓ\":\"Z\",\n\t\"Ȥ\":\"Z\",\n\t\"Ẕ\":\"Z\",\n\t\"Ƶ\":\"Z\",\n\t\"IJ\":\"IJ\",\n\t\"Œ\":\"OE\",\n\t\"ᴀ\":\"A\",\n\t\"ᴁ\":\"AE\",\n\t\"ʙ\":\"B\",\n\t\"ᴃ\":\"B\",\n\t\"ᴄ\":\"C\",\n\t\"ᴅ\":\"D\",\n\t\"ᴇ\":\"E\",\n\t\"ꜰ\":\"F\",\n\t\"ɢ\":\"G\",\n\t\"ʛ\":\"G\",\n\t\"ʜ\":\"H\",\n\t\"ɪ\":\"I\",\n\t\"ʁ\":\"R\",\n\t\"ᴊ\":\"J\",\n\t\"ᴋ\":\"K\",\n\t\"ʟ\":\"L\",\n\t\"ᴌ\":\"L\",\n\t\"ᴍ\":\"M\",\n\t\"ɴ\":\"N\",\n\t\"ᴏ\":\"O\",\n\t\"ɶ\":\"OE\",\n\t\"ᴐ\":\"O\",\n\t\"ᴕ\":\"OU\",\n\t\"ᴘ\":\"P\",\n\t\"ʀ\":\"R\",\n\t\"ᴎ\":\"N\",\n\t\"ᴙ\":\"R\",\n\t\"ꜱ\":\"S\",\n\t\"ᴛ\":\"T\",\n\t\"ⱻ\":\"E\",\n\t\"ᴚ\":\"R\",\n\t\"ᴜ\":\"U\",\n\t\"ᴠ\":\"V\",\n\t\"ᴡ\":\"W\",\n\t\"ʏ\":\"Y\",\n\t\"ᴢ\":\"Z\",\n\t\"á\":\"a\",\n\t\"ă\":\"a\",\n\t\"ắ\":\"a\",\n\t\"ặ\":\"a\",\n\t\"ằ\":\"a\",\n\t\"ẳ\":\"a\",\n\t\"ẵ\":\"a\",\n\t\"ǎ\":\"a\",\n\t\"â\":\"a\",\n\t\"ấ\":\"a\",\n\t\"ậ\":\"a\",\n\t\"ầ\":\"a\",\n\t\"ẩ\":\"a\",\n\t\"ẫ\":\"a\",\n\t\"ä\":\"a\",\n\t\"ǟ\":\"a\",\n\t\"ȧ\":\"a\",\n\t\"ǡ\":\"a\",\n\t\"ạ\":\"a\",\n\t\"ȁ\":\"a\",\n\t\"à\":\"a\",\n\t\"ả\":\"a\",\n\t\"ȃ\":\"a\",\n\t\"ā\":\"a\",\n\t\"ą\":\"a\",\n\t\"ᶏ\":\"a\",\n\t\"ẚ\":\"a\",\n\t\"å\":\"a\",\n\t\"ǻ\":\"a\",\n\t\"ḁ\":\"a\",\n\t\"ⱥ\":\"a\",\n\t\"ã\":\"a\",\n\t\"ꜳ\":\"aa\",\n\t\"æ\":\"ae\",\n\t\"ǽ\":\"ae\",\n\t\"ǣ\":\"ae\",\n\t\"ꜵ\":\"ao\",\n\t\"ꜷ\":\"au\",\n\t\"ꜹ\":\"av\",\n\t\"ꜻ\":\"av\",\n\t\"ꜽ\":\"ay\",\n\t\"ḃ\":\"b\",\n\t\"ḅ\":\"b\",\n\t\"ɓ\":\"b\",\n\t\"ḇ\":\"b\",\n\t\"ᵬ\":\"b\",\n\t\"ᶀ\":\"b\",\n\t\"ƀ\":\"b\",\n\t\"ƃ\":\"b\",\n\t\"ɵ\":\"o\",\n\t\"ć\":\"c\",\n\t\"č\":\"c\",\n\t\"ç\":\"c\",\n\t\"ḉ\":\"c\",\n\t\"ĉ\":\"c\",\n\t\"ɕ\":\"c\",\n\t\"ċ\":\"c\",\n\t\"ƈ\":\"c\",\n\t\"ȼ\":\"c\",\n\t\"ď\":\"d\",\n\t\"ḑ\":\"d\",\n\t\"ḓ\":\"d\",\n\t\"ȡ\":\"d\",\n\t\"ḋ\":\"d\",\n\t\"ḍ\":\"d\",\n\t\"ɗ\":\"d\",\n\t\"ᶑ\":\"d\",\n\t\"ḏ\":\"d\",\n\t\"ᵭ\":\"d\",\n\t\"ᶁ\":\"d\",\n\t\"đ\":\"d\",\n\t\"ɖ\":\"d\",\n\t\"ƌ\":\"d\",\n\t\"ı\":\"i\",\n\t\"ȷ\":\"j\",\n\t\"ɟ\":\"j\",\n\t\"ʄ\":\"j\",\n\t\"dz\":\"dz\",\n\t\"dž\":\"dz\",\n\t\"é\":\"e\",\n\t\"ĕ\":\"e\",\n\t\"ě\":\"e\",\n\t\"ȩ\":\"e\",\n\t\"ḝ\":\"e\",\n\t\"ê\":\"e\",\n\t\"ế\":\"e\",\n\t\"ệ\":\"e\",\n\t\"ề\":\"e\",\n\t\"ể\":\"e\",\n\t\"ễ\":\"e\",\n\t\"ḙ\":\"e\",\n\t\"ë\":\"e\",\n\t\"ė\":\"e\",\n\t\"ẹ\":\"e\",\n\t\"ȅ\":\"e\",\n\t\"è\":\"e\",\n\t\"ẻ\":\"e\",\n\t\"ȇ\":\"e\",\n\t\"ē\":\"e\",\n\t\"ḗ\":\"e\",\n\t\"ḕ\":\"e\",\n\t\"ⱸ\":\"e\",\n\t\"ę\":\"e\",\n\t\"ᶒ\":\"e\",\n\t\"ɇ\":\"e\",\n\t\"ẽ\":\"e\",\n\t\"ḛ\":\"e\",\n\t\"ꝫ\":\"et\",\n\t\"ḟ\":\"f\",\n\t\"ƒ\":\"f\",\n\t\"ᵮ\":\"f\",\n\t\"ᶂ\":\"f\",\n\t\"ǵ\":\"g\",\n\t\"ğ\":\"g\",\n\t\"ǧ\":\"g\",\n\t\"ģ\":\"g\",\n\t\"ĝ\":\"g\",\n\t\"ġ\":\"g\",\n\t\"ɠ\":\"g\",\n\t\"ḡ\":\"g\",\n\t\"ᶃ\":\"g\",\n\t\"ǥ\":\"g\",\n\t\"ḫ\":\"h\",\n\t\"ȟ\":\"h\",\n\t\"ḩ\":\"h\",\n\t\"ĥ\":\"h\",\n\t\"ⱨ\":\"h\",\n\t\"ḧ\":\"h\",\n\t\"ḣ\":\"h\",\n\t\"ḥ\":\"h\",\n\t\"ɦ\":\"h\",\n\t\"ẖ\":\"h\",\n\t\"ħ\":\"h\",\n\t\"ƕ\":\"hv\",\n\t\"í\":\"i\",\n\t\"ĭ\":\"i\",\n\t\"ǐ\":\"i\",\n\t\"î\":\"i\",\n\t\"ï\":\"i\",\n\t\"ḯ\":\"i\",\n\t\"ị\":\"i\",\n\t\"ȉ\":\"i\",\n\t\"ì\":\"i\",\n\t\"ỉ\":\"i\",\n\t\"ȋ\":\"i\",\n\t\"ī\":\"i\",\n\t\"į\":\"i\",\n\t\"ᶖ\":\"i\",\n\t\"ɨ\":\"i\",\n\t\"ĩ\":\"i\",\n\t\"ḭ\":\"i\",\n\t\"ꝺ\":\"d\",\n\t\"ꝼ\":\"f\",\n\t\"ᵹ\":\"g\",\n\t\"ꞃ\":\"r\",\n\t\"ꞅ\":\"s\",\n\t\"ꞇ\":\"t\",\n\t\"ꝭ\":\"is\",\n\t\"ǰ\":\"j\",\n\t\"ĵ\":\"j\",\n\t\"ʝ\":\"j\",\n\t\"ɉ\":\"j\",\n\t\"ḱ\":\"k\",\n\t\"ǩ\":\"k\",\n\t\"ķ\":\"k\",\n\t\"ⱪ\":\"k\",\n\t\"ꝃ\":\"k\",\n\t\"ḳ\":\"k\",\n\t\"ƙ\":\"k\",\n\t\"ḵ\":\"k\",\n\t\"ᶄ\":\"k\",\n\t\"ꝁ\":\"k\",\n\t\"ꝅ\":\"k\",\n\t\"ĺ\":\"l\",\n\t\"ƚ\":\"l\",\n\t\"ɬ\":\"l\",\n\t\"ľ\":\"l\",\n\t\"ļ\":\"l\",\n\t\"ḽ\":\"l\",\n\t\"ȴ\":\"l\",\n\t\"ḷ\":\"l\",\n\t\"ḹ\":\"l\",\n\t\"ⱡ\":\"l\",\n\t\"ꝉ\":\"l\",\n\t\"ḻ\":\"l\",\n\t\"ŀ\":\"l\",\n\t\"ɫ\":\"l\",\n\t\"ᶅ\":\"l\",\n\t\"ɭ\":\"l\",\n\t\"ł\":\"l\",\n\t\"lj\":\"lj\",\n\t\"ſ\":\"s\",\n\t\"ẜ\":\"s\",\n\t\"ẛ\":\"s\",\n\t\"ẝ\":\"s\",\n\t\"ḿ\":\"m\",\n\t\"ṁ\":\"m\",\n\t\"ṃ\":\"m\",\n\t\"ɱ\":\"m\",\n\t\"ᵯ\":\"m\",\n\t\"ᶆ\":\"m\",\n\t\"ń\":\"n\",\n\t\"ň\":\"n\",\n\t\"ņ\":\"n\",\n\t\"ṋ\":\"n\",\n\t\"ȵ\":\"n\",\n\t\"ṅ\":\"n\",\n\t\"ṇ\":\"n\",\n\t\"ǹ\":\"n\",\n\t\"ɲ\":\"n\",\n\t\"ṉ\":\"n\",\n\t\"ƞ\":\"n\",\n\t\"ᵰ\":\"n\",\n\t\"ᶇ\":\"n\",\n\t\"ɳ\":\"n\",\n\t\"ñ\":\"n\",\n\t\"nj\":\"nj\",\n\t\"ó\":\"o\",\n\t\"ŏ\":\"o\",\n\t\"ǒ\":\"o\",\n\t\"ô\":\"o\",\n\t\"ố\":\"o\",\n\t\"ộ\":\"o\",\n\t\"ồ\":\"o\",\n\t\"ổ\":\"o\",\n\t\"ỗ\":\"o\",\n\t\"ö\":\"o\",\n\t\"ȫ\":\"o\",\n\t\"ȯ\":\"o\",\n\t\"ȱ\":\"o\",\n\t\"ọ\":\"o\",\n\t\"ő\":\"o\",\n\t\"ȍ\":\"o\",\n\t\"ò\":\"o\",\n\t\"ỏ\":\"o\",\n\t\"ơ\":\"o\",\n\t\"ớ\":\"o\",\n\t\"ợ\":\"o\",\n\t\"ờ\":\"o\",\n\t\"ở\":\"o\",\n\t\"ỡ\":\"o\",\n\t\"ȏ\":\"o\",\n\t\"ꝋ\":\"o\",\n\t\"ꝍ\":\"o\",\n\t\"ⱺ\":\"o\",\n\t\"ō\":\"o\",\n\t\"ṓ\":\"o\",\n\t\"ṑ\":\"o\",\n\t\"ǫ\":\"o\",\n\t\"ǭ\":\"o\",\n\t\"ø\":\"o\",\n\t\"ǿ\":\"o\",\n\t\"õ\":\"o\",\n\t\"ṍ\":\"o\",\n\t\"ṏ\":\"o\",\n\t\"ȭ\":\"o\",\n\t\"ƣ\":\"oi\",\n\t\"ꝏ\":\"oo\",\n\t\"ɛ\":\"e\",\n\t\"ᶓ\":\"e\",\n\t\"ɔ\":\"o\",\n\t\"ᶗ\":\"o\",\n\t\"ȣ\":\"ou\",\n\t\"ṕ\":\"p\",\n\t\"ṗ\":\"p\",\n\t\"ꝓ\":\"p\",\n\t\"ƥ\":\"p\",\n\t\"ᵱ\":\"p\",\n\t\"ᶈ\":\"p\",\n\t\"ꝕ\":\"p\",\n\t\"ᵽ\":\"p\",\n\t\"ꝑ\":\"p\",\n\t\"ꝙ\":\"q\",\n\t\"ʠ\":\"q\",\n\t\"ɋ\":\"q\",\n\t\"ꝗ\":\"q\",\n\t\"ŕ\":\"r\",\n\t\"ř\":\"r\",\n\t\"ŗ\":\"r\",\n\t\"ṙ\":\"r\",\n\t\"ṛ\":\"r\",\n\t\"ṝ\":\"r\",\n\t\"ȑ\":\"r\",\n\t\"ɾ\":\"r\",\n\t\"ᵳ\":\"r\",\n\t\"ȓ\":\"r\",\n\t\"ṟ\":\"r\",\n\t\"ɼ\":\"r\",\n\t\"ᵲ\":\"r\",\n\t\"ᶉ\":\"r\",\n\t\"ɍ\":\"r\",\n\t\"ɽ\":\"r\",\n\t\"ↄ\":\"c\",\n\t\"ꜿ\":\"c\",\n\t\"ɘ\":\"e\",\n\t\"ɿ\":\"r\",\n\t\"ś\":\"s\",\n\t\"ṥ\":\"s\",\n\t\"š\":\"s\",\n\t\"ṧ\":\"s\",\n\t\"ş\":\"s\",\n\t\"ŝ\":\"s\",\n\t\"ș\":\"s\",\n\t\"ṡ\":\"s\",\n\t\"ṣ\":\"s\",\n\t\"ṩ\":\"s\",\n\t\"ʂ\":\"s\",\n\t\"ᵴ\":\"s\",\n\t\"ᶊ\":\"s\",\n\t\"ȿ\":\"s\",\n\t\"ɡ\":\"g\",\n\t\"ᴑ\":\"o\",\n\t\"ᴓ\":\"o\",\n\t\"ᴝ\":\"u\",\n\t\"ť\":\"t\",\n\t\"ţ\":\"t\",\n\t\"ṱ\":\"t\",\n\t\"ț\":\"t\",\n\t\"ȶ\":\"t\",\n\t\"ẗ\":\"t\",\n\t\"ⱦ\":\"t\",\n\t\"ṫ\":\"t\",\n\t\"ṭ\":\"t\",\n\t\"ƭ\":\"t\",\n\t\"ṯ\":\"t\",\n\t\"ᵵ\":\"t\",\n\t\"ƫ\":\"t\",\n\t\"ʈ\":\"t\",\n\t\"ŧ\":\"t\",\n\t\"ᵺ\":\"th\",\n\t\"ɐ\":\"a\",\n\t\"ᴂ\":\"ae\",\n\t\"ǝ\":\"e\",\n\t\"ᵷ\":\"g\",\n\t\"ɥ\":\"h\",\n\t\"ʮ\":\"h\",\n\t\"ʯ\":\"h\",\n\t\"ᴉ\":\"i\",\n\t\"ʞ\":\"k\",\n\t\"ꞁ\":\"l\",\n\t\"ɯ\":\"m\",\n\t\"ɰ\":\"m\",\n\t\"ᴔ\":\"oe\",\n\t\"ɹ\":\"r\",\n\t\"ɻ\":\"r\",\n\t\"ɺ\":\"r\",\n\t\"ⱹ\":\"r\",\n\t\"ʇ\":\"t\",\n\t\"ʌ\":\"v\",\n\t\"ʍ\":\"w\",\n\t\"ʎ\":\"y\",\n\t\"ꜩ\":\"tz\",\n\t\"ú\":\"u\",\n\t\"ŭ\":\"u\",\n\t\"ǔ\":\"u\",\n\t\"û\":\"u\",\n\t\"ṷ\":\"u\",\n\t\"ü\":\"u\",\n\t\"ǘ\":\"u\",\n\t\"ǚ\":\"u\",\n\t\"ǜ\":\"u\",\n\t\"ǖ\":\"u\",\n\t\"ṳ\":\"u\",\n\t\"ụ\":\"u\",\n\t\"ű\":\"u\",\n\t\"ȕ\":\"u\",\n\t\"ù\":\"u\",\n\t\"ủ\":\"u\",\n\t\"ư\":\"u\",\n\t\"ứ\":\"u\",\n\t\"ự\":\"u\",\n\t\"ừ\":\"u\",\n\t\"ử\":\"u\",\n\t\"ữ\":\"u\",\n\t\"ȗ\":\"u\",\n\t\"ū\":\"u\",\n\t\"ṻ\":\"u\",\n\t\"ų\":\"u\",\n\t\"ᶙ\":\"u\",\n\t\"ů\":\"u\",\n\t\"ũ\":\"u\",\n\t\"ṹ\":\"u\",\n\t\"ṵ\":\"u\",\n\t\"ᵫ\":\"ue\",\n\t\"ꝸ\":\"um\",\n\t\"ⱴ\":\"v\",\n\t\"ꝟ\":\"v\",\n\t\"ṿ\":\"v\",\n\t\"ʋ\":\"v\",\n\t\"ᶌ\":\"v\",\n\t\"ⱱ\":\"v\",\n\t\"ṽ\":\"v\",\n\t\"ꝡ\":\"vy\",\n\t\"ẃ\":\"w\",\n\t\"ŵ\":\"w\",\n\t\"ẅ\":\"w\",\n\t\"ẇ\":\"w\",\n\t\"ẉ\":\"w\",\n\t\"ẁ\":\"w\",\n\t\"ⱳ\":\"w\",\n\t\"ẘ\":\"w\",\n\t\"ẍ\":\"x\",\n\t\"ẋ\":\"x\",\n\t\"ᶍ\":\"x\",\n\t\"ý\":\"y\",\n\t\"ŷ\":\"y\",\n\t\"ÿ\":\"y\",\n\t\"ẏ\":\"y\",\n\t\"ỵ\":\"y\",\n\t\"ỳ\":\"y\",\n\t\"ƴ\":\"y\",\n\t\"ỷ\":\"y\",\n\t\"ỿ\":\"y\",\n\t\"ȳ\":\"y\",\n\t\"ẙ\":\"y\",\n\t\"ɏ\":\"y\",\n\t\"ỹ\":\"y\",\n\t\"ź\":\"z\",\n\t\"ž\":\"z\",\n\t\"ẑ\":\"z\",\n\t\"ʑ\":\"z\",\n\t\"ⱬ\":\"z\",\n\t\"ż\":\"z\",\n\t\"ẓ\":\"z\",\n\t\"ȥ\":\"z\",\n\t\"ẕ\":\"z\",\n\t\"ᵶ\":\"z\",\n\t\"ᶎ\":\"z\",\n\t\"ʐ\":\"z\",\n\t\"ƶ\":\"z\",\n\t\"ɀ\":\"z\",\n\t\"ff\":\"ff\",\n\t\"ffi\":\"ffi\",\n\t\"ffl\":\"ffl\",\n\t\"fi\":\"fi\",\n\t\"fl\":\"fl\",\n\t\"ij\":\"ij\",\n\t\"œ\":\"oe\",\n\t\"st\":\"st\",\n\t\"ₐ\":\"a\",\n\t\"ₑ\":\"e\",\n\t\"ᵢ\":\"i\",\n\t\"ⱼ\":\"j\",\n\t\"ₒ\":\"o\",\n\t\"ᵣ\":\"r\",\n\t\"ᵤ\":\"u\",\n\t\"ᵥ\":\"v\",\n\t\"ₓ\":\"x\",\n\t\"Ё\":\"YO\",\n\t\"Й\":\"I\",\n\t\"Ц\":\"TS\",\n\t\"У\":\"U\",\n\t\"К\":\"K\",\n\t\"Е\":\"E\",\n\t\"Н\":\"N\",\n\t\"Г\":\"G\",\n\t\"Ш\":\"SH\",\n\t\"Щ\":\"SCH\",\n\t\"З\":\"Z\",\n\t\"Х\":\"H\",\n\t\"Ъ\":\"'\",\n\t\"ё\":\"yo\",\n\t\"й\":\"i\",\n\t\"ц\":\"ts\",\n\t\"у\":\"u\",\n\t\"к\":\"k\",\n\t\"е\":\"e\",\n\t\"н\":\"n\",\n\t\"г\":\"g\",\n\t\"ш\":\"sh\",\n\t\"щ\":\"sch\",\n\t\"з\":\"z\",\n\t\"х\":\"h\",\n\t\"ъ\":\"'\",\n\t\"Ф\":\"F\",\n\t\"Ы\":\"I\",\n\t\"В\":\"V\",\n\t\"А\":\"a\",\n\t\"П\":\"P\",\n\t\"Р\":\"R\",\n\t\"О\":\"O\",\n\t\"Л\":\"L\",\n\t\"Д\":\"D\",\n\t\"Ж\":\"ZH\",\n\t\"Э\":\"E\",\n\t\"ф\":\"f\",\n\t\"ы\":\"i\",\n\t\"в\":\"v\",\n\t\"а\":\"a\",\n\t\"п\":\"p\",\n\t\"р\":\"r\",\n\t\"о\":\"o\",\n\t\"л\":\"l\",\n\t\"д\":\"d\",\n\t\"ж\":\"zh\",\n\t\"э\":\"e\",\n\t\"Я\":\"Ya\",\n\t\"Ч\":\"CH\",\n\t\"С\":\"S\",\n\t\"М\":\"M\",\n\t\"И\":\"I\",\n\t\"Т\":\"T\",\n\t\"Ь\":\"'\",\n\t\"Б\":\"B\",\n\t\"Ю\":\"YU\",\n\t\"я\":\"ya\",\n\t\"ч\":\"ch\",\n\t\"с\":\"s\",\n\t\"м\":\"m\",\n\t\"и\":\"i\",\n\t\"т\":\"t\",\n\t\"ь\":\"'\",\n\t\"б\":\"b\",\n\t\"ю\":\"yu\",\n\t\"…\":\"...\"\n};\n\nexports.transliterate = function(str) {\n\treturn str.replace(/[^A-Za-z0-9\\[\\] ]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || ch\n\t});\n};\n\nexports.transliterateToSafeASCII = function(str) {\n\treturn str.replace(/[^\\x00-\\x7F]/g,function(ch) {\n\t\treturn exports.transliterationPairs[ch] || \"\"\n\t});\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/utils/utils.js":{"title":"$:/core/modules/utils/utils.js","text":"/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar base64utf8 = require(\"$:/core/modules/utils/base64-utf8/base64-utf8.module.js\");\n\n/*\nDisplay a message, in colour if we're on a terminal\n*/\nexports.log = function(text,colour) {\n\tconsole.log($tw.node ? exports.terminalColour(colour) + text + exports.terminalColour() : text);\n};\n\nexports.terminalColour = function(colour) {\n\tif(!$tw.browser && $tw.node && process.stdout.isTTY) {\n\t\tif(colour) {\n\t\t\tvar code = exports.terminalColourLookup[colour];\n\t\t\tif(code) {\n\t\t\t\treturn \"\\x1b[\" + code + \"m\";\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"\\x1b[0m\"; // Cancel colour\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexports.terminalColourLookup = {\n\t\"black\": \"0;30\",\n\t\"red\": \"0;31\",\n\t\"green\": \"0;32\",\n\t\"brown/orange\": \"0;33\",\n\t\"blue\": \"0;34\",\n\t\"purple\": \"0;35\",\n\t\"cyan\": \"0;36\",\n\t\"light gray\": \"0;37\"\n};\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\texports.log(text,\"brown/orange\");\n};\n\n/*\nLog a table of name: value pairs\n*/\nexports.logTable = function(data) {\n\tif(console.table) {\n\t\tconsole.table(data);\n\t} else {\n\t\t$tw.utils.each(data,function(value,name) {\n\t\t\tconsole.log(name + \": \" + value);\n\t\t});\n\t}\n}\n\n/*\nReturn the integer represented by the str (string).\nReturn the dflt (default) parameter if str is not a base-10 number.\n*/\nexports.getInt = function(str,deflt) {\n\tvar i = parseInt(str,10);\n\treturn isNaN(i) ? deflt : i;\n}\n\n/*\nRepeatedly replaces a substring within a string. Like String.prototype.replace, but without any of the default special handling of $ sequences in the replace string\n*/\nexports.replaceString = function(text,search,replace) {\n\treturn text.replace(search,function() {\n\t\treturn replace;\n\t});\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nCheck if a string starts with another string\n*/\nexports.startsWith = function(str,search) {\n\treturn str.substring(0, search.length) === search;\n};\n\n/*\nCheck if a string ends with another string\n*/\nexports.endsWith = function(str,search) {\n\treturn str.substring(str.length - search.length) === search;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.trimPrefix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/^\\s\\s*/, '');\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\t\tvar regex = new RegExp('^(' + unwanted + ')+');\n\t\t\treturn str.replace(regex, '');\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\nexports.trimSuffix = function(str,unwanted) {\n\tif(typeof str === \"string\" && typeof unwanted === \"string\") {\n\t\tif(unwanted === \"\") {\n\t\t\treturn str.replace(/\\s\\s*$/, '');\n\t\t} else {\n\t\t\t// Safely regexp-escape the unwanted text\n\t\t\tunwanted = unwanted.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\t\tvar regex = new RegExp('(' + unwanted + ')+$');\n\t\t\treturn str.replace(regex, '');\n\t\t}\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nConvert a string to sentence case (ie capitalise first letter)\n*/\nexports.toSentenceCase = function(str) {\n\treturn (str || \"\").replace(/^\\S/, function(c) {return c.toUpperCase();});\n}\n\n/*\nConvert a string to title case (ie capitalise each initial letter)\n*/\nexports.toTitleCase = function(str) {\n\treturn (str || \"\").replace(/(^|\\s)\\S/g, function(c) {return c.toUpperCase();});\n}\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nDetermine whether an array-item is an object-property\n*/\nexports.hopArray = function(object,array) {\n\tfor(var i=0; i<array.length; i++) {\n\t\tif($tw.utils.hop(object,array[i])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n\treturn array;\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tif(object) {\n\t\tObject.freeze(object);\n\t\tfor(key in object) {\n\t\t\tproperty = object[key];\n\t\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\t\tdeepFreeze(property);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatTitleString = function(template,options) {\n\tvar base = options.base || \"\",\n\t\tseparator = options.separator || \"\",\n\t\tcounter = options.counter || \"\";\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^\\$basename\\$/i, function() {\n\t\t\t\treturn base;\n\t\t\t}],\n\t\t\t[/^\\$count:(\\d+)\\$/i, function(match) {\n\t\t\t\treturn $tw.utils.pad(counter,match[1]);\n\t\t\t}],\n\t\t\t[/^\\$separator\\$/i, function() {\n\t\t\t\treturn separator;\n\t\t\t}],\n\t\t\t[/^\\$count\\$/i, function() {\n\t\t\t\treturn counter + \"\";\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call(null,match);\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^TIMESTAMP/, function() {\n\t\t\t\treturn date.getTime();\n\t\t\t}],\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date),4);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear(),4);\n\t\t\t}],\n\t\t\t[/^aYYYY/, function() {\n\t\t\t\treturn $tw.utils.pad(Math.abs(date.getFullYear()),4);\n\t\t\t}],\n\t\t\t[/^\\{era:([^,\\|}]*)\\|([^}\\|]*)\\|([^}]*)\\}/, function(match) {\n\t\t\t\tvar year = date.getFullYear();\n\t\t\t\treturn year === 0 ? match[2] : (year < 0 ? match[1] : match[3]);\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0XXX/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMilliseconds(),3);\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^0ddddd/, function() {\n\t\t\t\treturn $tw.utils.pad(Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24),3);\n\t\t\t}],\n\t\t\t[/^ddddd/, function() {\n\t\t\t\treturn Math.floor((date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);\n\t\t\t}],\n\t\t\t[/^dddd/, function() {\n\t\t\t\treturn [7,1,2,3,4,5,6][date.getDay()];\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^XXX/, function() {\n\t\t\t\treturn date.getMilliseconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\t// If the user wants everything in UTC, shift the datestamp\n\t// Optimize for format string that essentially means\n\t// 'return raw UTC (tiddlywiki style) date string.'\n\tif(t.indexOf(\"[UTC]\") == 0 ) {\n\t\tif(t == \"[UTC]YYYY0MM0DD0hh0mm0ssXXX\")\n\t\t\treturn $tw.utils.stringifyDate(date || new Date());\n\t\tvar offset = date.getTimezoneOffset() ; // in minutes\n\t\tdate = new Date(date.getTime()+offset*60*1000) ;\n\t\tt = t.substr(5) ;\n\t}\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call(null,match);\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar x = new Date(dt.getFullYear(),0,1);\n\tvar n = Math.floor((dt.getTime() - x.getTime()) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\", duration: 365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\", duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\", duration: 24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\", duration: 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration: 60 * 1000},\n\t\t{name: \"Seconds\", duration: 1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&\", < to \"<\", > to \">\", \" to \""\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\").replace(/\\\"/mg,\""\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts like htmlEncode, but forgets the double quote for brevity\nexports.htmlTextEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&\").replace(/</mg,\"<\").replace(/>/mg,\">\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2), // Strip the & and the ;\n\t\tc;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\tc = parseInt(e.substr(2),16);\n\t\t} else {\n\t\t\tc = parseInt(e.substr(1),10);\n\t\t}\n\t\tif(isNaN(c)) {\n\t\t\treturn s;\n\t\t} else {\n\t\t\treturn converter(c);\n\t\t}\n\t} else {\n\t\tc = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s, rawUnicode) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/'/g, \"\\\\'\") // single quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(regex, exports.escape); // non-ASCII characters\n};\n\n// Turns a string into a legal JSON string\n// Derived from peg.js, thanks to David Majda\nexports.jsonStringify = function(s, rawUnicode) {\n\t// See http://www.json.org/\n\tvar regex = rawUnicode ? /[\\x00-\\x1f]/g : /[\\x00-\\x1f\\x80-\\uFFFF]/g;\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\') // backslash\n\t\t.replace(/\"/g, '\\\\\"') // double quote character\n\t\t.replace(/\\r/g, '\\\\r') // carriage return\n\t\t.replace(/\\n/g, '\\\\n') // line feed\n\t\t.replace(/\\x08/g, '\\\\b') // backspace\n\t\t.replace(/\\x0c/g, '\\\\f') // formfeed\n\t\t.replace(/\\t/g, '\\\\t') // tab\n\t\t.replace(regex,function(s) {\n\t\t\treturn '\\\\u' + $tw.utils.pad(s.charCodeAt(0).toString(16).toUpperCase(),4);\n\t\t}); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n/*\nExtended version of encodeURIComponent that encodes additional characters including\nthose that are illegal within filepaths on various platforms including Windows\n*/\nexports.encodeURIComponentExtended = function(s) {\n\treturn encodeURIComponent(s).replace(/[!'()*]/g,function(c) {\n\t\treturn \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n\t});\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|obsidian|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,0);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\t// Since v5.2.x, there are no restrictions on characters in field names\n\treturn name;\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10) || 0;\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nCryptographic hash function as used by sha256 filter operator\noptions.length .. number of characters returned defaults to 64\n*/\nexports.sha256 = function(str, options) {\n\toptions = options || {}\n\treturn sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(str)).substr(0,options.length || 64);\n}\n\n/*\nBase64 utility functions that work in either browser or Node.js\n*/\nif(typeof window !== 'undefined') {\n\texports.btoa = function(binstr) { return window.btoa(binstr); }\n\texports.atob = function(b64) { return window.atob(b64); }\n} else {\n\texports.btoa = function(binstr) {\n\t\treturn Buffer.from(binstr, 'binary').toString('base64');\n\t}\n\texports.atob = function(b64) {\n\t\treturn Buffer.from(b64, 'base64').toString('binary');\n\t}\n}\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64,binary,urlsafe) {\n\tvar encoded = urlsafe ? string64.replace(/_/g,'/').replace(/-/g,'+') : string64;\n\tif(binary) return exports.atob(encoded)\n\telse return base64utf8.base64.decode.call(base64utf8,encoded);\n};\n\n/*\nEncode a string to base64\n*/\nexports.base64Encode = function(string64,binary,urlsafe) {\n\tvar encoded;\n\tif(binary) encoded = exports.btoa(string64);\n\telse encoded = base64utf8.base64.encode.call(base64utf8,string64);\n\tif(urlsafe) {\n\t\tencoded = encoded.replace(/\\+/g,'-').replace(/\\//g,'_');\n\t}\n\treturn encoded;\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\n\t\tm = r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type,_canonical_uri) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tif(_canonical_uri) {\n\t\tparts.push(_canonical_uri);\n\t} else {\n\t\tparts.push(\"data:\");\n\t\tparts.push(type);\n\t\tparts.push(isBase64 ? \";base64\" : \"\");\n\t\tparts.push(\",\");\n\t\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\t}\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif(x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif(typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= ending.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n/*\nReturn system information useful for debugging\n*/\nexports.getSystemInfo = function(str,ending,position) {\n\tvar results = [],\n\t\tsave = function(desc,value) {\n\t\t\tresults.push(desc + \": \" + value);\n\t\t};\n\tif($tw.browser) {\n\t\tsave(\"User Agent\",navigator.userAgent);\n\t\tsave(\"Online Status\",window.navigator.onLine);\n\t}\n\tif($tw.node) {\n\t\tsave(\"Node Version\",process.version);\n\t}\n\treturn results.join(\"\\n\");\n};\n\nexports.parseNumber = function(str) {\n\treturn parseFloat(str) || 0;\n};\n\nexports.parseInt = function(str) {\n\treturn parseInt(str,10) || 0;\n};\n\nexports.stringifyNumber = function(num) {\n\treturn num + \"\";\n};\n\nexports.makeCompareFunction = function(type,options) {\n\toptions = options || {};\n\t// set isCaseSensitive to true if not defined in options\n\tvar isCaseSensitive = (options.isCaseSensitive === false) ? false : true,\n\t\tgt = options.invert ? -1 : +1,\n\t\tlt = options.invert ? +1 : -1,\n\t\tcompare = function(a,b) {\n\t\t\tif(a > b) {\n\t\t\t\treturn gt ;\n\t\t\t} else if(a < b) {\n\t\t\t\treturn lt;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\t\ttypes = {\n\t\t\t\"number\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseNumber(a),$tw.utils.parseNumber(b));\n\t\t\t},\n\t\t\t\"integer\": function(a,b) {\n\t\t\t\treturn compare($tw.utils.parseInt(a),$tw.utils.parseInt(b));\n\t\t\t},\n\t\t\t\"string\": function(a,b) {\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn compare(\"\" + a,\"\" + b);\n\t\t\t},\n\t\t\t\"date\": function(a,b) {\n\t\t\t\tvar dateA = $tw.utils.parseDate(a),\n\t\t\t\t\tdateB = $tw.utils.parseDate(b);\n\t\t\t\tif(!isFinite(dateA)) {\n\t\t\t\t\tdateA = new Date(0);\n\t\t\t\t}\n\t\t\t\tif(!isFinite(dateB)) {\n\t\t\t\t\tdateB = new Date(0);\n\t\t\t\t}\n\t\t\t\treturn compare(dateA,dateB);\n\t\t\t},\n\t\t\t\"version\": function(a,b) {\n\t\t\t\treturn $tw.utils.compareVersions(a,b);\n\t\t\t},\n\t\t\t\"alphanumeric\": function(a,b) {\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn options.invert ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t}\n\t\t};\n\treturn (types[type] || types[options.defaultType] || types.number);\n};\n\n})();\n","type":"application/javascript","module-type":"utils"},"$:/core/modules/widgets/action-confirm.js":{"title":"$:/core/modules/widgets/action-confirm.js","text":"/*\\\n\ntitle: $:/core/modules/widgets/action-confirm.js\ntype: application/javascript\nmodule-type: 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 ConfirmWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nConfirmWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nConfirmWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.parentDomNode = parent;\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nConfirmWidget.prototype.execute = function() {\n\tthis.message = this.getAttribute(\"$message\",$tw.language.getString(\"ConfirmAction\"));\n\tthis.prompt = (this.getAttribute(\"$prompt\",\"yes\") == \"no\" ? false : true);\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nConfirmWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"] || changedAttributes[\"$prompt\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nConfirmWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar invokeActions = true,\n\t\thandled = true,\n\t \twin = event && event.event && event.event.view ? event.event.view : window;\n\tif(this.prompt) {\n\t\tinvokeActions = win.confirm(this.message);\n\t}\n\tif(invokeActions) {\n\t\thandled = this.invokeActions(triggeringWidget,event);\n\t}\n\treturn handled;\n};\n\nConfirmWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nexports[\"action-confirm\"] = ConfirmWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-createtiddler.js":{"title":"$:/core/modules/widgets/action-createtiddler.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-createtiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to create a new tiddler with a unique name and specified fields.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw:false, require:false, exports:false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CreateTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCreateTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCreateTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Render children\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCreateTiddlerWidget.prototype.execute = function() {\n\tthis.actionBaseTitle = this.getAttribute(\"$basetitle\");\n\tthis.hasBase = !!this.actionBaseTitle;\n\tthis.actionSaveTitle = this.getAttribute(\"$savetitle\");\n\tthis.actionSaveDraftTitle = this.getAttribute(\"$savedrafttitle\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n\t//Following params are new since 5.1.22\n\tthis.actionTemplate = this.getAttribute(\"$template\");\n\tthis.useTemplate = !!this.actionTemplate;\n\tthis.actionOverwrite = this.getAttribute(\"$overwrite\",\"no\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nCreateTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nCreateTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar title = this.wiki.getTiddlerText(\"$:/language/DefaultNewTiddlerTitle\"), // Get the initial new-tiddler title\n\t\tfields = {},\n\t\tcreationFields,\n\t\tmodificationFields;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tfields[name] = attribute;\n\t\t}\n\t});\n\tif(this.actionTimestamp) {\n\t\tcreationFields = this.wiki.getCreationFields();\n\t\tmodificationFields = this.wiki.getModificationFields();\n\t}\n\tif(this.hasBase && this.actionOverwrite === \"no\") {\n\t\ttitle = this.wiki.generateNewTitle(this.actionBaseTitle);\n\t} else if (this.hasBase && this.actionOverwrite === \"yes\") {\n\t\ttitle = this.actionBaseTitle\n\t}\n\t// NO $basetitle BUT $template parameter is available\n\t// the title MUST be unique, otherwise the template would be overwritten\n\tif (!this.hasBase && this.useTemplate) {\n\t\ttitle = this.wiki.generateNewTitle(this.actionTemplate);\n\t} else if (!this.hasBase && !this.useTemplate) {\n\t\t// If no $basetitle and no $template then use initial title\n\t\ttitle = this.wiki.generateNewTitle(title);\n\t}\n\tvar templateTiddler = this.wiki.getTiddler(this.actionTemplate) || {};\n\tthis.wiki.addTiddler(new $tw.Tiddler(templateTiddler.fields,creationFields,fields,modificationFields,{title: title}));\n\tvar draftTitle = this.wiki.generateDraftTitle(title);\n\tif(this.actionSaveTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveTitle,title,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.actionSaveDraftTitle) {\n\t\tthis.wiki.setTextReference(this.actionSaveDraftTitle,draftTitle,this.getVariable(\"currentTiddler\"));\n\t}\n\tthis.setVariable(\"createTiddler-title\",title);\n\tthis.setVariable(\"createTiddler-draftTitle\",draftTitle);\n\tthis.refreshChildren();\n\treturn true; // Action was invoked\n};\n\nexports[\"action-createtiddler\"] = CreateTiddlerWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-deletefield.js":{"title":"$:/core/modules/widgets/action-deletefield.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\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 DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\",null);\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {},\n\t\thasChanged = false;\n\tif((this.actionField !== null) && tiddler) {\n\t\tremoveFields[this.actionField] = undefined;\n\t\tif(this.actionField in tiddler.fields) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t\tif(name in tiddler.fields) {\n\t\t\t\t\thasChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif(hasChanged) {\n\t\t\tvar creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : {};\n\t\t\tvar modificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : {};\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,removeFields,modificationFields));\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-deletetiddler.js":{"title":"$:/core/modules/widgets/action-deletetiddler.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\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 DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-listops.js":{"title":"$:/core/modules/widgets/action-listops.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar inputList = this.wiki.getTiddlerList(this.target,field,index),\n\t\t\tsubfilter = \"[all[]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(this.wiki.filterTiddlers(subfilter,this,this.wiki.makeTiddlerIterator(inputList))));\n\t}\n\tif(this.filtertags) {\n\t\tvar tiddler = this.wiki.getTiddler(this.target),\n\t\t\toldtags = tiddler ? (tiddler.fields.tags || []).slice(0) : [],\n\t\t\ttagfilter = $tw.utils.stringifyList(oldtags) + \" \" + this.filtertags,\n\t\t\tnewtags = this.wiki.filterTiddlers(tagfilter,this);\n\t\tif($tw.utils.stringifyList(oldtags.sort()) !== $tw.utils.stringifyList(newtags.sort())) {\n\t\t\tthis.wiki.setText(this.target,\"tags\",undefined,$tw.utils.stringifyList(newtags));\n\t\t}\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-log.js":{"title":"$:/core/modules/widgets/action-log.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-log.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to log debug messages\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 LogWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLogWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLogWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\nLogWidget.prototype.execute = function(){\n\tthis.message = this.getAttribute(\"$$message\",\"debug\");\n\tthis.logAll = this.getAttribute(\"$$all\",\"no\") === \"yes\" ? true : false;\n\tthis.filter = this.getAttribute(\"$$filter\");\n}\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nLogWidget.prototype.refresh = function(changedTiddlers) {\n\tthis.refreshSelf();\n\treturn true;\n};\n\n/*\nInvoke the action associated with this widget\n*/\nLogWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tthis.log();\n\treturn true; // Action was invoked\n};\n\nLogWidget.prototype.log = function() {\n\tvar data = {},\n\t\tdataCount,\n\t\tallVars = {},\n\t\tfilteredVars;\n\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.substring(0,2) !== \"$$\") {\n\t\t\tdata[name] = attribute;\n\t\t}\n\t});\n\n\tfor(var v in this.variables) {\n\t\tallVars[v] = this.getVariable(v,{defaultValue:\"\"});\n\t}\n\tif(this.filter) {\n\t\tfilteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));\n\t\t$tw.utils.each(filteredVars,function(name) {\n\t\t\tdata[name] = allVars[name];\n\t\t});\n\t}\n\tdataCount = $tw.utils.count(data);\n\n\tconsole.group(this.message);\n\tif(dataCount > 0) {\n\t\t$tw.utils.logTable(data);\n\t}\n\tif(this.logAll || !dataCount) {\n\t\tconsole.groupCollapsed(\"All variables\");\n\t\t$tw.utils.logTable(allVars);\n\t\tconsole.groupEnd();\n\t}\n\tconsole.groupEnd();\n}\n\nexports[\"action-log\"] = LogWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-navigate.js":{"title":"$:/core/modules/widgets/action-navigate.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\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 NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tevent = event || {};\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateFromClientTop: bounds && bounds.top,\n\t\tnavigateFromClientLeft: bounds && bounds.left,\n\t\tnavigateFromClientWidth: bounds && bounds.width,\n\t\tnavigateFromClientRight: bounds && bounds.right,\n\t\tnavigateFromClientBottom: bounds && bounds.bottom,\n\t\tnavigateFromClientHeight: bounds && bounds.height,\n\t\tnavigateSuppressNavigation: suppressNavigation,\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey,\n\t\tevent: event\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-popup.js":{"title":"$:/core/modules/widgets/action-popup.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-popup.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to trigger a popup.\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 Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar ActionPopupWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nActionPopupWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nActionPopupWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nActionPopupWidget.prototype.execute = function() {\n\tthis.actionState = this.getAttribute(\"$state\");\n\tthis.actionCoords = this.getAttribute(\"$coords\");\n\tthis.floating = this.getAttribute(\"$floating\",\"no\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nActionPopupWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$state\"] || changedAttributes[\"$coords\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nActionPopupWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Trigger the popup\n\tvar coordinates = Popup.parseCoordinates(this.actionCoords || \"\");\n\tif(coordinates) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: null,\n\t\t\tdomNodeRect: {\n\t\t\t\tleft: coordinates.left,\n\t\t\t\ttop: coordinates.top,\n\t\t\t\twidth: coordinates.width,\n\t\t\t\theight: coordinates.height\n\t\t\t},\n\t\t\ttitle: this.actionState,\n\t\t\twiki: this.wiki,\n\t\t\tfloating: this.floating,\n\t\t\tabsolute: coordinates.absolute\n\t\t});\n\t} else {\n\t\t$tw.popup.cancel(0);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-popup\"] = ActionPopupWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-sendmessage.js":{"title":"$:/core/modules/widgets/action-sendmessage.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\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 SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n\tthis.actionNames = this.getAttribute(\"$names\");\n\tthis.actionValues = this.getAttribute(\"$values\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the parameters as a hashmap\n\tvar paramObject = Object.create(null);\n\t// Add names/values pairs if present\n\tif(this.actionNames && this.actionValues) {\n\t\tvar names = this.wiki.filterTiddlers(this.actionNames,this),\n\t\t\tvalues = this.wiki.filterTiddlers(this.actionValues,this);\n\t\t$tw.utils.each(names,function(name,index) {\n\t\t\tparamObject[name] = values[index] || \"\";\n\t\t});\n\t}\n\t// Add raw parameters\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tvar params = {\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\tevent: event,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\")\n\t};\n\tthis.dispatchEvent(params);\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-setfield.js":{"title":"$:/core/modules/widgets/action-setfield.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\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 SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\") || (!this.hasParseTreeNodeAttribute(\"$tiddler\") && this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\t// Nothing to refresh\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\tif(this.actionTiddler) {\n\t\toptions.suppressTimestamp = !this.actionTimestamp;\n\t\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\") || (typeof this.actionValue == \"string\")) {\n\t\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t\t}\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\") {\n\t\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t\t}\n\t\t});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/action-setmultiplefields.js":{"title":"$:/core/modules/widgets/action-setmultiplefields.js","text":"/*\\\ntitle: $:/core/modules/widgets/action-setmultiplefields.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set multiple fields or indexes on a tiddler\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 SetMultipleFieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetMultipleFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetMultipleFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetMultipleFieldsWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionFields = this.getAttribute(\"$fields\");\n\tthis.actionIndexes = this.getAttribute(\"$indexes\");\n\tthis.actionValues = this.getAttribute(\"$values\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetMultipleFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$fields\"] || changedAttributes[\"$indexes\"] || changedAttributes[\"$values\"] || changedAttributes[\"$timestamp\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetMultipleFieldsWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddler = this.wiki.getTiddler(this.actionTiddler),\n\t\tnames, values = this.wiki.filterTiddlers(this.actionValues,this);\n\tif(this.actionFields) {\n\t\tvar additions = {};\n\t\tnames = this.wiki.filterTiddlers(this.actionFields,this);\n\t\t$tw.utils.each(names,function(fieldname,index) {\n\t\t\tadditions[fieldname] = values[index] || \"\";\n\t\t});\n\t\tvar creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : undefined,\n\t\t\tmodificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : undefined;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,{title: this.actionTiddler},modificationFields,additions));\n\t} else if(this.actionIndexes) {\n\t\tvar data = this.wiki.getTiddlerData(this.actionTiddler,Object.create(null));\n\t\tnames = this.wiki.filterTiddlers(this.actionIndexes,this);\n\t\t$tw.utils.each(names,function(name,index) {\n\t\t\tdata[name] = values[index] || \"\";\n\t\t});\n\t\tthis.wiki.setTiddlerData(this.actionTiddler,data,{},{suppressTimestamp: !this.actionTimestamp});\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setmultiplefields\"] = SetMultipleFieldsWidget;\n\n})();\n\t","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/browse.js":{"title":"$:/core/modules/widgets/browse.js","text":"/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\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 BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\tif(this.accept) {\n\t\tdomNode.setAttribute(\"accept\",this.accept);\n\t}\n\t// Nw.js supports \"webkitdirectory\" and \"nwdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\tif(this.nwdirectory) {\n\t\tdomNode.setAttribute(\"nwdirectory\",this.nwdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,{\n\t\t\t\tcallback: function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t},\n\t\t\t\tdeserializer: self.deserializer\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.deserializer = this.getAttribute(\"deserializer\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.accept = this.getAttribute(\"accept\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n\tthis.nwdirectory = this.getAttribute(\"nwdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\t\n\t}\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/button.js":{"title":"$:/core/modules/widgets/button.js","text":"/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton 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 Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this,\n\t\ttag = \"button\",\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\t// Create element\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tdomNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif((this.set || this.setTitle) && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes, this.selectedClass.split(\" \"));\n\t\t\tdomNode.setAttribute(\"aria-checked\", \"true\");\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\tif (this.role) {\n\t\tdomNode.setAttribute(\"role\", this.role);\n\t}\n\tif(this.popup || this.popupTitle) {\n\t\tdomNode.setAttribute(\"aria-expanded\",isPoppedUp ? \"true\" : \"false\");\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tdomNode.setAttribute(\"disabled\",true);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(self,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup || self.popupTitle) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set || self.setTitle) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tself.invokeActionString(self.actions,self,event,{modifier: modifierKey});\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Make it draggable if required\n\tif(this.dragTiddler || this.dragFilter) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.dragTiddler;},\n\t\t\tdragFilterFn: function() {return self.dragFilter;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n return this.setTitle ? (this.setField ? this.wiki.getTiddler(this.setTitle).getFieldString(this.setField) === this.setTo :\n\t\t(this.setIndex ? this.wiki.extractTiddlerDataItem(this.setTitle,this.setIndex) === this.setTo :\n\t\t\tthis.wiki.getTiddlerText(this.setTitle))) || this.defaultSetValue || this.getVariable(\"currentTiddler\") :\n\t\tthis.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.popupTitle ? this.wiki.getTiddler(this.popupTitle) : this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? Popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tevent: event\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\"), event: event});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\tif(this.popupTitle) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\tabsolute: (this.popupAbsCoords === \"yes\"),\n\t\t\ttitle: this.popupTitle,\n\t\t\twiki: this.wiki,\n\t\t\tnoStateReference: true\n\t\t});\n\t} else {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNodes[0],\n\t\t\tabsolute: (this.popupAbsCoords === \"yes\"),\n\t\t\ttitle: this.popup,\n\t\t\twiki: this.wiki\n\t\t});\n\t}\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tif(this.setTitle) {\n\t\tthis.setField ? this.wiki.setText(this.setTitle,this.setField,undefined,this.setTo) :\n\t\t\t\t(this.setIndex ? this.wiki.setText(this.setTitle,undefined,this.setIndex,this.setTo) :\n\t\t\t\tthis.wiki.setText(this.setTitle,\"text\",undefined,this.setTo));\n\t} else {\n\t\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.role = this.getAttribute(\"role\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\tthis.dragTiddler = this.getAttribute(\"dragTiddler\");\n\tthis.dragFilter = this.getAttribute(\"dragFilter\");\n\tthis.setTitle = this.getAttribute(\"setTitle\");\n\tthis.setField = this.getAttribute(\"setField\");\n\tthis.setIndex = this.getAttribute(\"setIndex\");\n\tthis.popupTitle = this.getAttribute(\"popupTitle\");\n\tthis.popupAbsCoords = this.getAttribute(\"popupAbsCoords\", \"no\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nButtonWidget.prototype.updateDomNodeClasses = function() {\n\tvar domNodeClasses = this.domNode.className.split(\" \"),\n\t\toldClasses = this.class.split(\" \"),\n\t\tnewClasses;\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tnewClasses = this.class.split(\" \");\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,newClasses);\n\tthis.domNode.className = 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*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.popupAbsCoords || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled || changedAttributes[\"default\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\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.button = ButtonWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/checkbox.js":{"title":"$:/core/modules/widgets/checkbox.js","text":"/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox 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 CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\tvar isChecked;\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// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\"tc-checkbox \" + this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tisChecked = this.getValue();\n\tif(isChecked) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t\t$tw.utils.addClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t}\n\tif(isChecked === undefined && this.checkboxIndeterminate === \"yes\") {\n\t\tthis.inputDomNode.indeterminate = true;\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Assign data- attributes\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler || this.checkboxFilter) {\n\t\tif(tiddler && this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag === \"yes\") {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(tiddler && (this.checkboxField || this.checkboxIndex)) {\n\t\t\t// Same logic applies to fields and indexes\n\t\t\tvar value;\n\t\t\tif(this.checkboxField) {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxField)) {\n\t\t\t\t\tvalue = tiddler.fields[this.checkboxField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\tvalue = this.checkboxDefault || \"\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || \"\");\n\t\t\t}\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Neither value found: were both specified?\n\t\t\tif(this.checkboxChecked && !this.checkboxUnchecked) {\n\t\t\t\treturn false; // Absence of checked value\n\t\t\t}\n\t\t\tif(this.checkboxUnchecked && !this.checkboxChecked) {\n\t\t\t\treturn true; // Absence of unchecked value\n\t\t\t}\n\t\t\tif(this.checkboxChecked && this.checkboxUnchecked) {\n\t\t\t\t// Both specified but neither found: indeterminate or false, depending\n\t\t\t\tif(this.checkboxIndeterminate === \"yes\") {\n\t\t\t\t\treturn undefined;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxListField || this.checkboxListIndex || this.checkboxFilter) {\n\t\t\t// Same logic applies to lists and filters\n\t\t\tvar list;\n\t\t\tif(this.checkboxListField) {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.checkboxListField)) {\n\t\t\t\t\tlist = tiddler.getFieldList(this.checkboxListField) || [];\n\t\t\t\t} else {\n\t\t\t\t\tlist = $tw.utils.parseStringArray(this.checkboxDefault || \"\") || [];\n\t\t\t\t}\n\t\t\t} else if(this.checkboxListIndex) {\n\t\t\t\tlist = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(tiddler,this.checkboxListIndex,this.checkboxDefault || \"\")) || [];\n\t\t\t} else {\n\t\t\t\tlist = this.wiki.filterTiddlers(this.checkboxFilter,this) || [];\n\t\t\t}\n\t\t\tif(list.indexOf(this.checkboxChecked) !== -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(list.indexOf(this.checkboxUnchecked) !== -1) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// Neither one present\n\t\t\tif(this.checkboxChecked && !this.checkboxUnchecked) {\n\t\t\t\treturn false; // Absence of checked value\n\t\t\t}\n\t\t\tif(this.checkboxUnchecked && !this.checkboxChecked) {\n\t\t\t\treturn true; // Absence of unchecked value\n\t\t\t}\n\t\t\tif(this.checkboxChecked && this.checkboxUnchecked) {\n\t\t\t\t// Both specified but neither found: indeterminate or false, depending\n\t\t\t\tif(this.checkboxIndeterminate === \"yes\") {\n\t\t\t\t\treturn undefined;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Neither specified, so empty list is false, non-empty is true\n\t\t\treturn !!list.length;\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag),\n\t\tvalue = checked ? this.checkboxChecked : this.checkboxUnchecked,\n\t\tnotValue = checked ? this.checkboxUnchecked : this.checkboxChecked;\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the index if specified\n\tif(this.checkboxIndex) {\n\t\tvar indexValue = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxIndex);\n\t\tif(!tiddler || indexValue !== value) {\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\t// Set the list field (or index) if specified\n\tif(this.checkboxListField || this.checkboxListIndex) {\n\t\tvar fieldContents, listContents, oldPos, newPos;\n\t\tif(this.checkboxListField) {\n\t\t\tfieldContents = (tiddler ? tiddler.fields[this.checkboxListField] : undefined) || [];\n\t\t} else {\n\t\t\tfieldContents = this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex);\n\t\t}\n\t\tif($tw.utils.isArray(fieldContents)) {\n\t\t\t// Make a copy so we can modify it without changing original that's refrenced elsewhere\n\t\t\tlistContents = fieldContents.slice(0);\n\t\t} else if(fieldContents === undefined) {\n\t\t\tlistContents = [];\n\t\t} else if(typeof fieldContents === \"string\") {\n\t\t\tlistContents = $tw.utils.parseStringArray(fieldContents);\n\t\t\t// No need to copy since parseStringArray returns a fresh array, not refrenced elsewhere\n\t\t} else {\n\t\t\t// Field was neither an array nor a string; it's probably something that shouldn't become\n\t\t\t// an array (such as a date field), so bail out *without* triggering actions\n\t\t\treturn;\n\t\t}\n\t\toldPos = notValue ? listContents.indexOf(notValue) : -1;\n\t\tnewPos = value ? listContents.indexOf(value) : -1;\n\t\tif(oldPos === -1 && newPos !== -1) {\n\t\t\t// old value absent, new value present: no change needed\n\t\t} else if(oldPos === -1) {\n\t\t\t// neither one was present\n\t\t\tif(value) {\n\t\t\t\tlistContents.push(value);\n\t\t\t\thasChanged = true;\n\t\t\t} else {\n\t\t\t\t// value unspecified? then leave list unchanged\n\t\t\t}\n\t\t} else if(newPos === -1) {\n\t\t\t// old value present, new value absent\n\t\t\tif(value) {\n\t\t\t\tlistContents[oldPos] = value;\n\t\t\t\thasChanged = true;\n\t\t\t} else {\n\t\t\t\tlistContents.splice(oldPos, 1)\n\t\t\t\thasChanged = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// both were present: just remove the old one, leave new alone\n\t\t\tlistContents.splice(oldPos, 1)\n\t\t\thasChanged = true;\n\t\t}\n\t\tif(this.checkboxListField) {\n\t\t\tnewFields[this.checkboxListField] = $tw.utils.stringifyList(listContents);\n\t\t}\n\t\t// The listIndex case will be handled in the if(hasChanged) block below\n\t}\n\tif(hasChanged) {\n\t\tif(this.checkboxIndex) {\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxIndex,value);\n\t\t} else if(this.checkboxListIndex) {\n\t\t\tvar listIndexValue = (listContents && listContents.length) ? $tw.utils.stringifyList(listContents) : undefined;\n\t\t\tthis.wiki.setText(this.checkboxTitle,\"\",this.checkboxListIndex,listIndexValue);\n\t\t} else {\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t\t}\n\t}\n\t// Trigger actions\n\tif(this.checkboxActions) {\n\t\tthis.invokeActionString(this.checkboxActions,this,event);\n\t}\n\tif(this.checkboxCheckActions && checked) {\n\t\tthis.invokeActionString(this.checkboxCheckActions,this,event);\n\t}\n\tif(this.checkboxUncheckActions && !checked) {\n\t\tthis.invokeActionString(this.checkboxUncheckActions,this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxActions = this.getAttribute(\"actions\");\n\tthis.checkboxCheckActions = this.getAttribute(\"checkactions\");\n\tthis.checkboxUncheckActions = this.getAttribute(\"uncheckactions\");\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxIndex = this.getAttribute(\"index\");\n\tthis.checkboxListField = this.getAttribute(\"listField\");\n\tthis.checkboxListIndex = this.getAttribute(\"listIndex\");\n\tthis.checkboxFilter = this.getAttribute(\"filter\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxIndeterminate = this.getAttribute(\"indeterminate\",\"no\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Make the 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*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes.indeterminate || changedAttributes[\"class\"] || changedAttributes.disabled) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tvar isChecked = this.getValue();\n\t\t\tthis.inputDomNode.checked = !!isChecked;\n\t\t\tthis.inputDomNode.indeterminate = (isChecked === undefined);\n\t\t\trefreshed = true;\n\t\t\tif(isChecked) {\n\t\t\t\t$tw.utils.addClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t\t\t} else {\n\t\t\t\t$tw.utils.removeClass(this.labelDomNode,\"tc-checkbox-checked\");\n\t\t\t}\n\t\t}\n\t\tthis.assignAttributes(this.inputDomNode,{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();\n\t","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/codeblock.js":{"title":"$:/core/modules/widgets/codeblock.js","text":"/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node 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 CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.code || changedAttributes.language) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/count.js":{"title":"$:/core/modules/widgets/count.js","text":"/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount 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 CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = \"0\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/diff-text.js":{"title":"$:/core/modules/widgets/diff-text.js","text":"/*\\\ntitle: $:/core/modules/widgets/diff-text.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display a diff between two texts\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\tdmp = require(\"$:/core/modules/utils/diff-match-patch/diff_match_patch.js\");\n\nvar DiffTextWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDiffTextWidget.prototype = new Widget();\n\nDiffTextWidget.prototype.invisibleCharacters = {\n\t\"\\n\": \"↩︎\\n\",\n\t\"\\r\": \"⇠\",\n\t\"\\t\": \"⇥\\t\"\n};\n\n/*\nRender this widget into the DOM\n*/\nDiffTextWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create the diff\n\tvar dmpObject = new dmp.diff_match_patch(),\n\t\tdiffs = dmpObject.diff_main(this.getAttribute(\"source\",\"\"),this.getAttribute(\"dest\",\"\"));\n\t// Apply required cleanup\n\tswitch(this.getAttribute(\"cleanup\",\"semantic\")) {\n\t\tcase \"none\":\n\t\t\t// No cleanup\n\t\t\tbreak;\n\t\tcase \"efficiency\":\n\t\t\tdmpObject.diff_cleanupEfficiency(diffs);\n\t\t\tbreak;\n\t\tdefault: // case \"semantic\"\n\t\t\tdmpObject.diff_cleanupSemantic(diffs);\n\t\t\tbreak;\n\t}\n\t// Create the elements\n\tvar domContainer = this.document.createElement(\"div\"), \n\t\tdomDiff = this.createDiffDom(diffs);\n\tparent.insertBefore(domContainer,nextSibling);\n\t// Set variables\n\tthis.setVariable(\"diff-count\",diffs.reduce(function(acc,diff) {\n\t\tif(diff[0] !== dmp.DIFF_EQUAL) {\n\t\t\tacc++;\n\t\t}\n\t\treturn acc;\n\t},0).toString());\n\t// Render child widgets\n\tthis.renderChildren(domContainer,null);\n\t// Render the diff\n\tdomContainer.appendChild(domDiff);\n\t// Save our container\n\tthis.domNodes.push(domContainer);\n};\n\n/*\nCreate DOM elements representing a list of diffs\n*/\nDiffTextWidget.prototype.createDiffDom = function(diffs) {\n\tvar self = this;\n\t// Create the element and assign the attributes\n\tvar domPre = this.document.createElement(\"pre\"),\n\t\tdomCode = this.document.createElement(\"code\");\n\t$tw.utils.each(diffs,function(diff) {\n\t\tvar tag = diff[0] === dmp.DIFF_INSERT ? \"ins\" : (diff[0] === dmp.DIFF_DELETE ? \"del\" : \"span\"),\n\t\t\tclassName = diff[0] === dmp.DIFF_INSERT ? \"tc-diff-insert\" : (diff[0] === dmp.DIFF_DELETE ? \"tc-diff-delete\" : \"tc-diff-equal\"),\n\t\t\tdom = self.document.createElement(tag),\n\t\t\ttext = diff[1],\n\t\t\tcurrPos = 0,\n\t\t\tre = /([\\x00-\\x1F])/mg,\n\t\t\tmatch = re.exec(text),\n\t\t\tspan,\n\t\t\tprintable;\n\t\tdom.className = className;\n\t\twhile(match) {\n\t\t\tif(currPos < match.index) {\n\t\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos,match.index)));\n\t\t\t}\n\t\t\tspan = self.document.createElement(\"span\");\n\t\t\tspan.className = \"tc-diff-invisible\";\n\t\t\tprintable = self.invisibleCharacters[match[0]] || (\"[0x\" + match[0].charCodeAt(0).toString(16) + \"]\");\n\t\t\tspan.appendChild(self.document.createTextNode(printable));\n\t\t\tdom.appendChild(span);\n\t\t\tcurrPos = match.index + match[0].length;\n\t\t\tmatch = re.exec(text);\n\t\t}\n\t\tif(currPos < text.length) {\n\t\t\tdom.appendChild(self.document.createTextNode(text.slice(currPos)));\n\t\t}\n\t\tdomCode.appendChild(dom);\n\t});\n\tdomPre.appendChild(domCode);\n\treturn domPre;\n};\n\n/*\nCompute the internal state of the widget\n*/\nDiffTextWidget.prototype.execute = function() {\n\t// Make child widgets\n\tvar parseTreeNodes;\n\tif(this.parseTreeNode && this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/language/Diffs/CountMessage\"}\n\t\t\t}\n\t\t}];\n\t}\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDiffTextWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.dest || changedAttributes.cleanup) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports[\"diff-text\"] = DiffTextWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/draggable.js":{"title":"$:/core/modules/widgets/draggable.js","text":"/*\\\ntitle: $:/core/modules/widgets/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\t// Add event handlers\n\tif(this.dragEnable) {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\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}\n\tthis.domNodes.push(domNode);\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.enable || changedAttributes.startactions || changedAttributes.endactions) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\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.draggable = DraggableWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/droppable.js":{"title":"$:/core/modules/widgets/droppable.js","text":"/*\\\ntitle: $:/core/modules/widgets/droppable.js\ntype: application/javascript\nmodule-type: widget\n\nDroppable 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 DroppableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDroppableWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDroppableWidget.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// Assign data- attributes and style. attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\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]);\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\nDroppableWidget.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};\n\nDroppableWidget.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 || (this.currentlyEntered.length === 1 && this.currentlyEntered[0] === $tw.dragInProgress)) {\n\t\tthis.currentlyEntered = [];\n\t\tif(this.domNodes[0]) {\n\t\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t\t}\n\t}\n};\n\nDroppableWidget.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\nDroppableWidget.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\nDroppableWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n\treturn false;\n};\n\nDroppableWidget.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\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\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\nDroppableWidget.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*/\nDroppableWidget.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\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nDroppableWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-droppable\");\n\tthis.domNode.className = classes.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDroppableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\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.droppable = DroppableWidget;\n\n})();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/dropzone.js":{"title":"$:/core/modules/widgets/dropzone.js","text":"/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tthis.domNode = domNode;\n\tdomNode.className = this.dropzoneClass || \"tc-dropzone\";\n\t// Add event handlers\n\tif(this.dropzoneEnable) {\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: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\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\n// Handler for transient event listeners added when the dropzone has an active drag in progress\nDropZoneWidget.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\tif(this.currentlyEntered.length) {\n\t\t\tthis.resetState();\n\t\t}\n\t} else if(event.type === \"dragenter\") {\n\t\tif(event.target && event.target !== this.domNode && !$tw.utils.domContains(this.domNode,event.target)) {\n\t\t\tthis.resetState();\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();\n\t\t}\n\t}\n};\n\n// Reset the state of the dropzone after a drag has ended\nDropZoneWidget.prototype.resetState = function() {\n\t$tw.utils.removeClass(this.domNode,\"tc-dragover\");\n\tthis.currentlyEntered = [];\n\tthis.document.body.removeEventListener(\"click\",this,true);\n\tthis.document.body.removeEventListener(\"dragenter\",this,true);\n\tthis.document.body.removeEventListener(\"dragleave\",this,true);\n\tthis.dragInProgress = false;\n};\n\nDropZoneWidget.prototype.enterDrag = function(event) {\n\tif(this.currentlyEntered.indexOf(event.target) === -1) {\n\t\tthis.currentlyEntered.push(event.target);\n\t}\n\tif(!this.dragInProgress) {\n\t\tthis.dragInProgress = true;\n\t\t// If we're entering for the first time we need to apply highlighting\n\t\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n\t\tthis.document.body.addEventListener(\"click\",this,true);\n\t\tthis.document.body.addEventListener(\"dragenter\",this,true);\n\t\tthis.document.body.addEventListener(\"dragleave\",this,true);\n\t}\n};\n\nDropZoneWidget.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\n\tif(this.currentlyEntered.length === 0) {\n\t\tthis.resetState();\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent = function(event) {\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tif(this.filesOnly && !$tw.utils.dragEventContainsFiles(event)) {\n\t\treturn false;\n\t}\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};\n\nDropZoneWidget.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// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\t// Check if this is a synthetic event, IE does not allow accessing dropEffect outside of original event handler\n\tif(event.isTrusted) {\n\t\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n\t}\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent = function(event) {\n\tthis.leaveDrag(event);\n};\n\nDropZoneWidget.prototype.handleDragEndEvent = function(event) {\n\tthis.resetState();\n};\n\nDropZoneWidget.prototype.filterByContentTypes = function(tiddlerFieldsArray) {\n\tvar filteredTypes,\n\t\tfiltered = [],\n\t\ttypes = [];\n\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\n\t\ttypes.push(tiddlerFields.type || \"\");\n\t});\n\tfilteredTypes = this.wiki.filterTiddlers(this.contentTypesFilter,this,this.wiki.makeTiddlerIterator(types));\n\t$tw.utils.each(tiddlerFieldsArray,function(tiddlerFields) {\n\t\tif(filteredTypes.indexOf(tiddlerFields.type) !== -1) {\n\t\t\tfiltered.push(tiddlerFields);\n\t\t}\n\t});\n\treturn filtered;\n};\n\nDropZoneWidget.prototype.readFileCallback = function(tiddlerFieldsArray) {\n\tif(this.contentTypesFilter) {\n\t\ttiddlerFieldsArray = this.filterByContentTypes(tiddlerFieldsArray);\n\t}\n\tif(tiddlerFieldsArray.length) {\n\t\tthis.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray), autoOpenOnImport: this.autoOpenOnImport, importTitle: this.importTitle});\n\t\tif(this.actions) {\n\t\t\tthis.invokeActionString(this.actions,this,event,{importTitle: this.importTitle});\n\t\t}\n\t}\n};\n\nDropZoneWidget.prototype.handleDropEvent = function(event) {\n\tvar self = this,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.readFileCallback(tiddlerFieldsArray);\n\t\t};\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\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Remove highlighting\n\tthis.resetState();\n\t// Import any files in the drop\n\tvar numFiles = 0;\n\t// If we have type text/vnd.tiddlywiki then skip trying to import files\n\tif(dataTransfer.files && !$tw.utils.dragEventContainsType(event,\"text/vnd.tiddler\")) {\n\t\tnumFiles = this.wiki.readFiles(dataTransfer.files,{\n\t\t\tcallback: readFileCallback,\n\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t});\n\t}\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\tvar fallbackTitle = self.wiki.generateNewTitle(\"Untitled\");\n\t\t//Use the deserializer specified if any\n\t\tif(this.dropzoneDeserializer) {\n\t\t\tfor(var t= 0; t<dataTransfer.items.length; t++) {\n\t\t\t\tvar item = dataTransfer.items[t];\n\t\t\t\tif(item.kind === \"string\") {\n\t\t\t\t\titem.getAsString(function(str){\n\t\t\t\t\t\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\n\t\t\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t$tw.utils.importDataTransfer(dataTransfer,fallbackTitle,readFileCallback);\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};\n\nDropZoneWidget.prototype.handlePasteEvent = function(event) {\n\tvar self = this;\n\tvar\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tself.readFileCallback(tiddlerFieldsArray);\n\t\t};\n\tvar getItem = function(type) {\n\t\t\ttype = type || \"text/plain\";\n\t\t\treturn function(str) {\n\t\t\t\t// Use the deserializer specified if any\n\t\t\t\tif(self.dropzoneDeserializer) {\n\t\t\t\t\ttiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: self.wiki.generateNewTitle(\"Untitled \" + type)},{deserializer:self.dropzoneDeserializer});\n\t\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled \" + type),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\treadFileCallback([tiddlerFields]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1 && !event.target.isContentEditable && !event.twEditor) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),{\n\t\t\t\t\tcallback: readFileCallback,\n\t\t\t\t\tdeserializer: this.dropzoneDeserializer\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\" && ![\"text/html\", \"text/plain\", \"Text\"].includes(item.type) && $tw.utils.itemHasValidDataType(item)) {\n\t\t\t\t// Try to import the various data types we understand\n\t\t\t\tvar fallbackTitle = self.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t//Use the deserializer specified if any\n\t\t\t\tif(this.dropzoneDeserializer) {\n\t\t\t\t\titem.getAsString(function(str){\n\t\t\t\t\t\tvar tiddlerFields = self.wiki.deserializeTiddlers(null,str,{title: fallbackTitle},{deserializer:self.dropzoneDeserializer});\n\t\t\t\t\t\tif(tiddlerFields && tiddlerFields.length) {\n\t\t\t\t\t\t\treadFileCallback(tiddlerFields);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$tw.utils.importPaste(item,fallbackTitle,readFileCallback);\n\t\t\t\t}\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar tiddlerFields;\n\t\t\t\t// It's important to give getAsString a closure with the right type\n\t\t\t\t// So it can be added to the import queue\n\t\t\t\titem.getAsString(getItem(item.type));\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\tthis.dropzoneClass = this.getAttribute(\"class\");\n\tthis.dropzoneDeserializer = this.getAttribute(\"deserializer\");\n\tthis.dropzoneEnable = (this.getAttribute(\"enable\") || \"yes\") === \"yes\";\n\tthis.autoOpenOnImport = this.getAttribute(\"autoOpenOnImport\");\n\tthis.importTitle = this.getAttribute(\"importTitle\",IMPORT_TITLE);\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.contentTypesFilter = this.getAttribute(\"contentTypesFilter\");\n\tthis.filesOnly = this.getAttribute(\"filesOnly\",\"no\") === \"yes\";\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*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-binary.js":{"title":"$:/core/modules/widgets/edit-binary.js","text":"/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\nvar EXPORT_BUTTON_IMAGE = \"$:/core/images/export-button\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\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\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Get our parameters\n\tvar editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tvar tiddler = this.wiki.getTiddler(editTitle);\n\tvar type = tiddler.fields.type;\n\tvar text = tiddler.fields.text;\n\t// Transclude the binary data tiddler warning message\n\tvar warn = {\n\t\ttype: \"element\",\n\t\ttag: \"p\",\n\t\tchildren: [{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Create download link based on draft tiddler title\n\tvar link = {\n\t\ttype: \"element\",\n\t\ttag: \"a\",\n\t\tattributes: {\n\t\t\ttitle: {type: \"indirect\", textReference: \"!!draft.title\"},\n\t\t\tdownload: {type: \"indirect\", textReference: \"!!draft.title\"}\n\t\t},\n\t\tchildren: [{\n\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: EXPORT_BUTTON_IMAGE}\n\t\t\t}\n\t\t}]\n\t};\n\t// Set the link href to internal data URI (no external)\n\tif(text) {\n\t\tlink.attributes.href = {\n\t\t\ttype: \"string\", \n\t\t\tvalue: \"data:\" + type + \";base64,\" + text\n\t\t};\n\t}\n\t// Combine warning message and download link in a div\n\tvar element = {\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tattributes: {\n\t\t\tclass: {type: \"string\", value: \"tc-binary-warning\"}\n\t\t},\n\t\tchildren: [warn, link]\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets([element]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-bitmap.js":{"title":"$:/core/modules/widgets/edit-bitmap.js","text":"/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370,\n\tDEFAULT_IMAGE_TYPE = \"image/png\";\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\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// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tif(tiddler && tiddler.fields.type && tiddler.fields.text) {\n\t\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n\t} else {\n\t\tcurrImage.width = DEFAULT_IMAGE_WIDTH;\n\t\tcurrImage.height = DEFAULT_IMAGE_HEIGHT;\n\t\tcurrImage.onerror();\n\t}\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\n/*\n** Rotate the canvas left by 90 degrees\n*/\nEditBitmapWidget.prototype.rotateCanvasLeft = function() {\n\t// Get the current size of the image\n\tvar origWidth = this.currCanvas.width,\n\t\torigHeight = this.currCanvas.height;\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\"),\n\t\tnewWidth = origHeight,\n\t\tnewHeight = origWidth;\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.save();\n\tctx.translate(newWidth / 2,newHeight / 2);\n\tctx.rotate(-Math.PI / 2);\n\tctx.drawImage(this.currCanvas,-origWidth / 2,-origHeight / 2);\n\tctx.restore();\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle) || new $tw.Tiddler({title: this.editTitle,type: DEFAULT_IMAGE_TYPE});\n\t// data URIs look like \"data:<type>;base64,<text>\"\n\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\tposColon = dataURL.indexOf(\":\"),\n\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\tposComma = dataURL.indexOf(\",\"),\n\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\ttext = dataURL.substring(posComma+1);\n\tvar update = {type: type, text: text};\n\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-shortcut.js":{"title":"$:/core/modules/widgets/edit-shortcut.js","text":"/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\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 EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n\t// Focus the input Node if focus === \"yes\" or focus === \"true\"\n\tif(this.shortcutFocus === \"yes\" || this.shortcutFocus === \"true\") {\n\t\tthis.focus();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n\tthis.shortcutFocus = this.getAttribute(\"focus\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nfocus the input node\n*/\nEditShortcutWidget.prototype.focus = function() {\n\tif(this.inputNode.focus && this.inputNode.select) {\n\t\tthis.inputNode.focus();\n\t\tthis.inputNode.select();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"] || changedAttributes.focus) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit-text.js":{"title":"$:/core/modules/widgets/edit-text.js","text":"/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/edit.js":{"title":"$:/core/modules/widgets/edit.js","text":"/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting 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 EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.editTabIndex = this.getAttribute(\"tabindex\");\n\tthis.editFocus = this.getAttribute(\"focus\",\"\");\n\tthis.editCancelPopups = this.getAttribute(\"cancelPopups\",\"\");\n\tthis.editInputActions = this.getAttribute(\"inputActions\");\n\tthis.editRefreshTitle = this.getAttribute(\"refreshTitle\");\n\tthis.editAutoComplete = this.getAttribute(\"autocomplete\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: this.parseTreeNode.attributes,\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/element.js":{"title":"$:/core/modules/widgets/element.js","text":"/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement 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 ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\t// Neuter blacklisted elements\n\tthis.tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(this.tag) !== -1) {\n\t\tthis.tag = \"safe-\" + this.tag;\n\t}\n\t// Restrict tag name to digits, letts and dashes\n\tthis.tag = this.tag.replace(/[^0-9a-zA-Z\\-]/mg,\"\");\n\t// Default to a span\n\tthis.tag = this.tag || \"span\";\n\t// Adjust headings by the current base level\n\tvar headingLevel = [\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].indexOf(this.tag);\n\tif(headingLevel !== -1) {\n\t\tvar baseLevel = parseInt(this.getVariable(\"tv-adjust-heading-level\",\"0\"),10) || 0;\n\t\theadingLevel = Math.min(Math.max(headingLevel + 1 + baseLevel,1),6);\n\t\tthis.tag = \"h\" + headingLevel;\n\t}\n\t// Select the namespace for the tag\n\tvar XHTML_NAMESPACE = \"http://www.w3.org/1999/xhtml\",\n\t\ttagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: XHTML_NAMESPACE\n\t\t};\n\tthis.namespace = tagNamespaces[this.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tif(this.hasAttribute(\"xmlns\")) {\n\t\t\tthis.namespace = this.getAttribute(\"xmlns\");\n\t\t\tthis.setVariable(\"namespace\",this.namespace);\n\t\t} else {\n\t\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: XHTML_NAMESPACE});\n\t\t}\n\t}\n\t// Invoke the th-rendering-element hook\n\tvar parseTreeNodes = $tw.hooks.invokeHook(\"th-rendering-element\",null,this);\n\tthis.isReplaced = !!parseTreeNodes;\n\tif(parseTreeNodes) {\n\t\t// Use the parse tree nodes provided by the hook\n\t\tthis.makeChildWidgets(parseTreeNodes);\n\t\tthis.renderChildren(this.parentDomNode,null);\n\t\treturn;\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n\t// Create the DOM node and render children\n\tvar domNode = this.document.createElementNS(this.namespace,this.tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\tif(!this.isReplaced) {\n\t\t\t// Update our attributes\n\t\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t\t} else {\n\t\t\t// If we were replaced then completely refresh ourselves\n\t\t\treturn this.refreshSelf();\n\t\t}\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/encrypt.js":{"title":"$:/core/modules/widgets/encrypt.js","text":"/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt 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 EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/entity.js":{"title":"$:/core/modules/widgets/entity.js","text":"/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity 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 EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/error.js":{"title":"$:/core/modules/widgets/error.js","text":"/*\\\ntitle: $:/core/modules/widgets/error.js\ntype: application/javascript\nmodule-type: widget\n\nError 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 ErrorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nErrorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nErrorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar message = this.getAttribute(\"$message\",\"Unknown error\"),\n\t\tdomNode = this.document.createElement(\"span\");\n\tdomNode.appendChild(this.document.createTextNode(message));\n\tdomNode.className = \"tc-error\";\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nErrorWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nErrorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$message\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.error = ErrorWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/eventcatcher.js":{"title":"$:/core/modules/widgets/eventcatcher.js","text":"/*\\\ntitle: $:/core/modules/widgets/eventcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nEvent handler 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 EventWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEventWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEventWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.elementTag && $tw.config.htmlUnsafeElements.indexOf(this.elementTag) === -1) {\n\t\ttag = this.elementTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\t// Assign classes\n\tthis.assignDomNodeClasses();\n\t// Add our event handler\n\t$tw.utils.each(this.types,function(type) {\n\t\tdomNode.addEventListener(type,function(event) {\n\t\t\tvar selector = self.getAttribute(\"selector\"),\n\t\t\t\tmatchSelector = self.getAttribute(\"matchSelector\"),\n\t\t\t\tactions = self.getAttribute(\"$\"+type) || self.getAttribute(\"actions-\"+type),\n\t\t\t\tstopPropagation = self.getAttribute(\"stopPropagation\",\"onaction\"),\n\t\t\t\tselectedNode = event.target,\n\t\t\t\tselectedNodeRect,\n\t\t\t\tcatcherNodeRect,\n\t\t\t\tvariables = {};\n\t\t\t// Firefox can fire dragover and dragenter events on text nodes instead of their parents\n\t\t\tif(selectedNode.nodeType === 3) {\n\t\t\t\tselectedNode = selectedNode.parentNode;\n\t\t\t}\n\t\t\t// Check that the selected node matches any matchSelector\n\t\t\tif(matchSelector && !$tw.utils.domMatchesSelector(selectedNode,matchSelector)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif(selector) {\n\t\t\t\t// Search ancestors for a node that matches the selector\n\t\t\t\twhile(!$tw.utils.domMatchesSelector(selectedNode,selector) && selectedNode !== domNode) {\n\t\t\t\t\tselectedNode = selectedNode.parentNode;\n\t\t\t\t}\n\t\t\t\t// Exit if we didn't find one\n\t\t\t\tif(selectedNode === domNode) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Only set up variables if we have actions to invoke\n\t\t\t\tif(actions) {\n\t\t\t\t\tvariables = $tw.utils.collectDOMVariables(selectedNode,self.domNode,event);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Execute our actions with the variables\n\t\t\tif(actions) {\n\t\t\t\t// Add a variable for the modifier key\n\t\t\t\tvariables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\t\t// Add a variable for the mouse button\n\t\t\t\tif(\"button\" in event) {\n\t\t\t\t\tif(event.button === 0) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"left\";\n\t\t\t\t\t} else if(event.button === 1) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"middle\";\n\t\t\t\t\t} else if(event.button === 2) {\n\t\t\t\t\t\tvariables[\"event-mousebutton\"] = \"right\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvariables[\"event-type\"] = event.type.toString();\n\t\t\t\tif(typeof event.detail === \"object\" && !!event.detail) {\n\t\t\t\t\t$tw.utils.each(event.detail,function(detailValue,detail) {\n\t\t\t\t\t\tvariables[\"event-detail-\" + detail] = detailValue.toString();\n\t\t\t\t\t});\n\t\t\t\t} else if(!!event.detail) {\n\t\t\t\t\tvariables[\"event-detail\"] = event.detail.toString();\n\t\t\t\t}\n\t\t\t\tself.invokeActionString(actions,self,event,variables);\n\t\t\t}\n\t\t\tif((actions && stopPropagation === \"onaction\") || stopPropagation === \"always\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},false);\n\t});\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEventWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes that require a refresh on change\n\tthis.types = [];\n\t$tw.utils.each(this.attributes,function(value,key) {\n\t\tif(key.charAt(0) === \"$\") {\n\t\t\tself.types.push(key.slice(1));\n\t\t}\n\t});\n\tif(!this.types.length) {\n\t\tthis.types = this.getAttribute(\"events\",\"\").split(\" \");\n\t}\n\tthis.elementTag = this.getAttribute(\"tag\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nEventWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-eventcatcher\");\n\tthis.domNode.className = classes.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEventWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tchangedAttributesCount = $tw.utils.count(changedAttributes);\n\tif(changedAttributesCount === 1 && changedAttributes[\"class\"]) {\n\t\tthis.assignDomNodeClasses();\n\t} else if(changedAttributesCount > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.eventcatcher = EventWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/fieldmangler.js":{"title":"$:/core/modules/widgets/fieldmangler.js","text":"/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler 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 FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the 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*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.trim();\n\t\t\tif(!value && tiddler) {\n\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t}\n\t\t\taddition[trimmedName] = value || \"\";\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn false;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tmodification = this.wiki.getModificationFields();\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler(new $tw.Tiddler({title: this.mangleTitle, tags: tag},modification));\n\t}\n\treturn false;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/fields.js":{"title":"$:/core/modules/widgets/fields.js","text":"/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields 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 FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.sort = this.getAttribute(\"sort\",\"yes\") === \"yes\";\n\tthis.sortReverse = this.getAttribute(\"sortReverse\",\"no\") === \"yes\";\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.include = this.getAttribute(\"include\",null);\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\n\t// Get the inclusion and exclusion list\n\tvar excludeArr = (this.exclude) ? this.exclude.split(\" \") : [\"text\"];\n\t// Include takes precedence\n\tvar includeArr = (this.include) ? this.include.split(\" \") : null;\n\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tif (includeArr) { // Include takes precedence\n\t\t\tfor(var i=0; i<includeArr.length; i++) {\n\t\t\t\tif(tiddler.fields[includeArr[i]]) {\n\t\t\t\t\tfields.push(includeArr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\tif(excludeArr.indexOf(fieldName) === -1) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.sort) fields.sort();\n\t\tif (this.sortReverse) fields.reverse();\n\t\tfor(var f=0, fmax=fields.length; f<fmax; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tvar row = this.template,\n\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\tif(reMatch) {\n\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t}\n\t\t\t}\n\t\t\trow = $tw.utils.replaceString(row,\"$name$\",fieldName);\n\t\t\trow = $tw.utils.replaceString(row,\"$value$\",value);\n\t\t\trow = $tw.utils.replaceString(row,\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\ttext.push(row);\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif( changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude ||\n\t\tchangedAttributes.include || changedAttributes.sort || changedAttributes.sortReverse ||\n\t\tchangedTiddlers[this.tiddlerTitle] || changedAttributes.stripTitlePrefix) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/fill.js":{"title":"$:/core/modules/widgets/fill.js","text":"/*\\\ntitle: $:/core/modules/widgets/fill.js\ntype: application/javascript\nmodule-type: widget\n\nSub-widget used by the transclude widget for specifying values for slots within transcluded content. It doesn't do anything by itself because the transclude widget only ever deals with the parse tree nodes, and doesn't instantiate the widget itself\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 FillWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFillWidget.prototype = new Widget();\n\nexports.fill = FillWidget;\n\n})();\n\t","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/genesis.js":{"title":"$:/core/modules/widgets/genesis.js","text":"/*\\\ntitle: $:/core/modules/widgets/genesis.js\ntype: application/javascript\nmodule-type: widget\n\nGenesis widget for dynamically creating widgets\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 GenesisWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nGenesisWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nGenesisWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes({filterFn: function(name) {\n\t\t// Only compute our own attributes which start with a single dollar\n\t\treturn name.charAt(0) === \"$\" && name.charAt(1) !== \"$\";\n\t}});\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nGenesisWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Collect attributes\n\tthis.genesisType = this.getAttribute(\"$type\");\n\tthis.genesisRemappable = this.getAttribute(\"$remappable\",\"yes\") === \"yes\";\n\tthis.genesisNames = this.getAttribute(\"$names\",\"\");\n\tthis.genesisValues = this.getAttribute(\"$values\",\"\");\n\tthis.genesisIsBlock = this.getAttribute(\"$mode\",this.parseTreeNode.isBlock && \"block\") === \"block\";\n\t// Do not create a child widget if the $type attribute is missing or blank\n\tif(!this.genesisType) {\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\treturn;\n\t}\n\t// Construct parse tree\n\tvar isElementWidget = this.genesisType.charAt(0) !== \"$\",\n\t\tnodeType = isElementWidget ? \"element\" : this.genesisType.substr(1),\n\t\tnodeTag = isElementWidget ? this.genesisType : undefined;\n\tvar parseTreeNodes = [{\n\t\ttype: nodeType,\n\t\ttag: nodeTag,\n\t\tattributes: {},\n\t\torderedAttributes: [],\n\t\tisBlock: this.genesisIsBlock,\n\t\tchildren: this.parseTreeNode.children || [],\n\t\tisNotRemappable: !this.genesisRemappable\n\t}];\n\t// Apply explicit attributes\n\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\n\t\tvar name = attribute.name;\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tif(name.charAt(1) === \"$\") {\n\t\t\t\t// Double $$ is changed to a single $\n\t\t\t\tname = name.substr(1);\n\t\t\t} else {\n\t\t\t\t// Single dollar is ignored\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));\n\t});\n\t// Apply attributes in $names/$values\n\tthis.attributeNames = [];\n\tthis.attributeValues = [];\n\tif(this.genesisNames && this.genesisValues) {\n\t\tthis.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);\n\t\tthis.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);\n\t\t$tw.utils.each(this.attributeNames,function(varname,index) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || \"\");\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nGenesisWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tfilterNames = this.getAttribute(\"$names\",\"\"),\n\t\tfilterValues = this.getAttribute(\"$values\",\"\"),\n\t\tattributeNames = this.wiki.filterTiddlers(filterNames,this),\n\t\tattributeValues = this.wiki.filterTiddlers(filterValues,this);\n\tif($tw.utils.count(changedAttributes) > 0 || !$tw.utils.isArrayEqual(this.attributeNames,attributeNames) || !$tw.utils.isArrayEqual(this.attributeValues,attributeValues)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.genesis = GenesisWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/image.js":{"title":"$:/core/modules/widgets/image.js","text":"/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\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 ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri,\n\t\t\t\ttypeInfo = $tw.config.contentTypeInfo[type] || {},\n\t\t\t\tdeserializerType = typeInfo.deserializerType || type;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type by looking up the encoding in the content type info\n\t\t\t\tvar encoding = typeInfo.encoding || \"utf8\";\n\t\t\t\tif (encoding === \"base64\") {\n\t\t\t\t\t// .pdf .png .jpg etc.\n\t\t\t\t\tsrc = \"data:\" + deserializerType + \";base64,\" + text;\n\t\t\t\t\tif (deserializerType === \"application/pdf\") {\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// .svg .tid .xml etc.\n\t\t\t\t\tsrc = \"data:\" + deserializerType + \",\" + encodeURIComponent(text);\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(deserializerType) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\n\t}\n\tif(this.imageUsemap) {\n\t \tdomNode.setAttribute(\"usemap\",this.imageUsemap);\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\n\t}\n\tif(this.lazyLoading && tag === \"img\") {\n\t\tdomNode.setAttribute(\"loading\",this.lazyLoading);\n\t}\n\t// Add classes when the image loads or fails\n\t$tw.utils.addClass(domNode,\"tc-image-loading\");\n\tdomNode.addEventListener(\"load\",function() {\n\t\t$tw.utils.removeClass(domNode,\"tc-image-loading\");\n\t\t$tw.utils.addClass(domNode,\"tc-image-loaded\");\n\t},false);\n\tdomNode.addEventListener(\"error\",function() {\n\t\t$tw.utils.removeClass(domNode,\"tc-image-loading\");\n\t\t$tw.utils.addClass(domNode,\"tc-image-error\");\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n \tthis.imageUsemap = this.getAttribute(\"usemap\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n\tthis.lazyLoading = this.getAttribute(\"loading\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.usemap || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/importvariables.js":{"title":"$:/core/modules/widgets/importvariables.js","text":"/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\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 ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar widgetPointer = this;\n\t// Got to flush all the accumulated variables\n\tthis.variables = Object.create(null);\n\tif(this.parentWidget) {\n\t\tObject.setPrototypeOf(this.variables,this.parentWidget.variables);\n\t}\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = widgetPointer.wiki.parseTiddler(title,{parseAsInline:true, configTrimWhiteSpace:false});\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && [\"setvariable\",\"set\",\"parameters\"].indexOf(parseTreeNode.type) !== -1) {\n\t\t\t\tvar node = {\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params,\n\t\t\t\t\tisMacroDefinition: parseTreeNode.isMacroDefinition,\n\t\t\t\t\tisFunctionDefinition: parseTreeNode.isFunctionDefinition,\n\t\t\t\t\tisProcedureDefinition: parseTreeNode.isProcedureDefinition,\n\t\t\t\t\tisWidgetDefinition: parseTreeNode.isWidgetDefinition,\n\t\t\t\t\tconfigTrimWhiteSpace: parseTreeNode.configTrimWhiteSpace\n\t\t\t\t};\n\t\t\t\tif(parseTreeNode.type === \"set\" || parseTreeNode.type === \"setvariable\") {\n\t\t\t\t\tif(parseTreeNode.isMacroDefinition || parseTreeNode.isProcedureDefinition || parseTreeNode.isWidgetDefinition || parseTreeNode.isFunctionDefinition) {\n\t\t\t\t\t\t// Macro definitions can be folded into\n\t\t\t\t\t\t// current widget instead of adding\n\t\t\t\t\t\t// another link to the chain.\n\t\t\t\t\t\tvar widget = widgetPointer.makeChildWidget(node);\n\t\t\t\t\t\twidget.computeAttributes();\n\t\t\t\t\t\twidget.execute();\n\t\t\t\t\t\t// We SHALLOW copy over all variables\n\t\t\t\t\t\t// in widget. We can't use\n\t\t\t\t\t\t// $tw.utils.assign, because that copies\n\t\t\t\t\t\t// up the prototype chain, which we\n\t\t\t\t\t\t// don't want.\n\t\t\t\t\t\t$tw.utils.each(Object.keys(widget.variables), function(key) {\n\t\t\t\t\t\t\twidgetPointer.variables[key] = widget.variables[key];\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\twidgetPointer.children = [widgetPointer.makeChildWidget(node)];\n\t\t\t\t\t\t// No more regenerating children for\n\t\t\t\t\t\t// this widget. If it needs to refresh,\n\t\t\t\t\t\t// it'll do so along with the the whole\n\t\t\t\t\t\t// importvariable tree.\n\t\t\t\t\t\tif (widgetPointer != this) {\n\t\t\t\t\t\t\twidgetPointer.makeChildWidgets = function(){};\n\t\t\t\t\t\t}\n\t\t\t\t\t\twidgetPointer = widgetPointer.children[0];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tparseTreeNode = parseTreeNode.children && parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\n\tif (widgetPointer != this) {\n\t\twidgetPointer.parseTreeNode.children = this.parseTreeNode.children;\n\t} else {\n\t\twidgetPointer.makeChildWidgets();\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/jsontiddler.js":{"title":"$:/core/modules/widgets/jsontiddler.js","text":"/*\\\ntitle: $:/core/modules/widgets/jsontiddler.js\ntype: application/javascript\nmodule-type: widget\n\nRender a tiddler as JSON text\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 JSONTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nJSONTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nJSONTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Collect the fields from the optional base tiddler\n\tvar fields = this.getTiddlerFields();\n\t// Add custom fields specified in attributes starting with $\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tfields[name.slice(1)] = attribute;\n\t\t}\n\t});\n\t// JSONify\n\tvar json = JSON.stringify(fields);\n\t// Escape unsafe script characters\n\tif(this.attEscapeUnsafeScriptChars) {\n\t\tjson = json.replace(/</g,\"\\\\u003C\");\n\t}\n\t// Update the DOM\n\tvar textNode = this.document.createTextNode(json);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nJSONTiddlerWidget.prototype.execute = function() {\n\tthis.attTiddler = this.getAttribute(\"tiddler\");\n\tthis.attExclude = this.getAttribute(\"exclude\",\"\");\n\tthis.attEscapeUnsafeScriptChars = this.getAttribute(\"escapeUnsafeScriptChars\",\"no\") === \"yes\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nJSONTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0 || (this.attTiddler && changedTiddlers[this.attTiddler])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nJSONTiddlerWidget.prototype.getTiddlerFields = function() {\n\tvar fields = {};\n\tif(this.attTiddler) {\n\t\tvar tiddler = this.wiki.getTiddler(this.attTiddler);\n\t\tif(tiddler) {\n\t\t\tfields = tiddler.getFieldStrings({exclude: this.attExclude.split(\" \")});\n\t\t} else {\n\t\t\tfields = {title: this.attTiddler};\n\t\t}\n\t}\n\treturn fields;\n};\n\nexports.jsontiddler = JSONTiddlerWidget;\n\n})();","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/keyboard.js":{"title":"$:/core/modules/widgets/keyboard.js","text":"/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut 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 KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.tag && $tw.config.htmlUnsafeElements.indexOf(this.tag) === -1) {\n\t\ttag = this.tag;\n\t}\n\t// Create element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\t// Add a keyboard event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.handleChangeEvent = function(event) {\n\tif ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {\n\t\treturn true;\n\t}\n\n\tvar keyInfo = $tw.keyboardManager.getMatchingKeyDescriptor(event,this.keyInfoArray);\n\tif(keyInfo) {\n\t\tvar handled = this.invokeActions(this,event);\n\t\tif(this.actions) {\n\t\t\tvar variables = {\n\t\t\t\t\t\"event-key\": event.key,\n\t\t\t\t\t\"event-code\": event.code,\n\t\t\t\t\t\"modifier\": $tw.keyboardManager.getEventModifierKeyDescriptor(event)\n\t\t\t\t};\n\t\t\tif(keyInfo.keyDescriptor) {\n\t\t\t\tvariables[\"event-key-descriptor\"] = keyInfo.keyDescriptor;\n\t\t\t}\n\t\t\tthis.invokeActionString(this.actions,this,event,variables);\n\t\t}\n\t\tthis.dispatchMessage(event);\n\t\tif(handled || this.actions || this.message) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\tvar self = this;\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\",\"\");\n\tthis.message = this.getAttribute(\"message\",\"\");\n\tthis.param = this.getAttribute(\"param\",\"\");\n\tthis.key = this.getAttribute(\"key\",\"\");\n\tthis.tag = this.getAttribute(\"tag\",\"\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tif(this.key.substr(0,2) === \"((\" && this.key.substr(-2,2) === \"))\") {\n\t\tthis.shortcutTiddlers = [];\n\t\tvar name = this.key.substring(2,this.key.length -2);\n\t\t$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {\n\t\t\tself.shortcutTiddlers.push(\"$:/config/\" + platformDescriptor + \"/\" + name);\n\t\t});\n\t}\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\nKeyboardWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tthis.domNode.className = classes.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes.tag) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedAttributes[\"class\"]) {\n\t\tthis.assignDomNodeClasses();\n\t}\n\t// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed\n\tif(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {\n\t\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/let.js":{"title":"$:/core/modules/widgets/let.js","text":"/*\\\ntitle: $:/core/modules/widgets/let.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows defining multiple variables at once, while allowing\nthe later variables to depend upon the earlier ones.\n\n```\n\\define helloworld() Hello world!\n<$let currentTiddler=\"target\" value={{!!value}} currentTiddler=\"different\">\n {{!!value}} will be different from <<value>>\n</$let>\n```\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 LetWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\nLetWidget.prototype.computeAttributes = function() {\n\t// Before computing attributes, we must make clear that none of the\n\t// existing attributes are staged for lookup, even on a refresh\n\tvar changedAttributes = {},\n\t\tself = this;\n\tthis.currentValueFor = Object.create(null);\n\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {\n\t\tvar value = self.computeAttribute(attribute),\n\t\t\tname = attribute.name;\n\t\t// Now that it's prepped, we're allowed to look this variable up\n\t\t// when defining later variables\n\t\tif(value !== undefined) {\n\t\t\tself.currentValueFor[name] = value;\n\t\t}\n\t});\n\t// Run through again, setting variables and looking for differences\n\t$tw.utils.each(this.currentValueFor,function(value,name) {\n\t\tif (self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tself.setVariable(name,value);\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\nLetWidget.prototype.getVariableInfo = function(name,options) {\n\t// Special handling: If this variable exists in this very $let, we can\n\t// use it, but only if it's been staged.\n\tif ($tw.utils.hop(this.currentValueFor,name)) {\n\t\treturn {\n\t\t\ttext: this.currentValueFor[name]\n\t\t};\n\t}\n\treturn Widget.prototype.getVariableInfo.call(this,name,options);\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nLetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"let\"] = LetWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/link.js":{"title":"$:/core/modules/widgets/link.js","text":"/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink 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 LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\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// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\t// Assign data- attributes\n\t\tthis.assignAttributes(domNode,{\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"}),\n\t\tdomNode = this.document.createElementNS(namespace,tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.overrideClasses === undefined) {\n\t\tclasses.push(\"tc-tiddlylink\");\n\t\tif(this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t\t}\n\t\tif(this.isMissing && !this.isShadow) {\n\t\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t\t} else {\n\t\t\tif(!this.isMissing) {\n\t\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t\t}\n\t\t}\n\t\tif(this.linkClasses) {\n\t\t\tclasses.push(this.linkClasses);\n\t\t}\n\t} else if(this.overrideClasses !== \"\") {\n\t\tclasses.push(this.overrideClasses)\n\t}\n\tif(classes.length > 0) {\n\t\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t}\n\t// Set an href\n\tvar wikilinkTransformFilter = this.getVariable(\"tv-filter-export-link\"),\n\t\twikiLinkText;\n\tif(wikilinkTransformFilter) {\n\t\t// Use the filter to construct the href\n\t\twikiLinkText = this.wiki.filterTiddlers(wikilinkTransformFilter,this,function(iterator) {\n\t\t\titerator(self.wiki.getTiddler(self.to),self.to)\n\t\t})[0];\n\t} else {\n\t\t// Expand the tv-wikilink-template variable to construct the href\n\t\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\";\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkTemplate,\"$uri_encoded$\",$tw.utils.encodeURIComponentExtended(this.to));\n\t\twikiLinkText = $tw.utils.replaceString(wikiLinkText,\"$uri_doubleencoded$\",$tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.to)));\n\t}\n\t// Override with the value of tv-get-export-link if defined\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tvar namespaceHref = (namespace === \"http://www.w3.org/2000/svg\") ? \"http://www.w3.org/1999/xlink\" : undefined;\n\t\tdomNode.setAttributeNS(namespaceHref,\"href\",wikiLinkText);\n\t}\n\t// Set the tabindex\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\t// Make the link draggable if required\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.makeDraggable({\n\t\t\tdomNode: domNode,\n\t\t\tdragTiddlerFn: function() {return self.to;},\n\t\t\twidget: this\n\t\t});\n\t}\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateFromClientTop: bounds.top,\n\t\tnavigateFromClientLeft: bounds.left,\n\t\tnavigateFromClientWidth: bounds.width,\n\t\tnavigateFromClientRight: bounds.right,\n\t\tnavigateFromClientBottom: bounds.bottom,\n\t\tnavigateFromClientHeight: bounds.height,\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1),\n\t\tmetaKey: event.metaKey,\n\t\tctrlKey: event.ctrlKey,\n\t\taltKey: event.altKey,\n\t\tshiftKey: event.shiftKey,\n\t\tevent: event\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.overrideClasses = this.getAttribute(\"overrideClass\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = (this.getVariable(\"tv-show-missing-links\") || \"yes\") === \"no\";\n\t// Make the child widgets\n\tvar templateTree;\n\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\ttemplateTree = this.parseTreeNode.children;\n\t} else {\n\t\t// Default template is a link to the title\n\t\ttemplateTree = [{type: \"text\", text: this.to}];\n\t}\n\tthis.makeChildWidgets(templateTree);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0 || changedTiddlers[this.to]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n\t","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/linkcatcher.js":{"title":"$:/core/modules/widgets/linkcatcher.js","text":"/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher 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 LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n\t// When executing actions we avoid trapping navigate events, so that we don't trigger ourselves recursively\n\tthis.executingActions = false;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(!this.executingActions) {\n\t\t// Execute the actions\n\t\tif(this.catchTo) {\n\t\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t\t}\n\t\tif(this.catchMessage && this.parentWidget) {\n\t\t\tthis.parentWidget.dispatchEvent({\n\t\t\t\ttype: this.catchMessage,\n\t\t\t\tparam: event.navigateTo,\n\t\t\t\tnavigateTo: event.navigateTo\n\t\t\t});\n\t\t}\n\t\tif(this.catchSet) {\n\t\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t\t}\n\t\tif(this.catchActions) {\n\t\t\tthis.executingActions = true;\n\t\t\tvar modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);\n\t\t\tthis.invokeActionString(this.catchActions,this,event,{navigateTo: event.navigateTo, modifier: modifierKey});\n\t\t\tthis.executingActions = false;\n\t\t}\n\t} else {\n\t\t\t// This is a navigate event generated by the actions of this linkcatcher,\n\t\t\t// so we don't trap it again, but just pass it to the parent\n\t\t\tthis.parentWidget.dispatchEvent(event);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/list.js":{"title":"$:/core/modules/widgets/list.js","text":"/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\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\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\nListWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the ListWidget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\t// First call parent constructor to set everything else up\n\tWidget.prototype.initialise.call(this,parseTreeNode,options);\n\t// Now look for <$list-template> and <$list-empty> widgets as immediate child widgets\n\t// This is safe to do during initialization because parse trees never change after creation\n\tthis.findExplicitTemplates();\n}\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\tthis.parentDomNode = parent;\n\tvar changedAttributes = this.computeAttributes();\n\tthis.execute(changedAttributes);\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(this.storyViewName && !StoryView) {\n\t\tStoryView = this.storyViews[\"classic\"];\n\t}\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n\tif(this.storyview && this.storyview.renderEnd) {\n\t\tthis.storyview.renderEnd();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function(changedAttributes) {\n\tvar self = this;\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.counterName = this.getAttribute(\"counter\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Create join template only if needed\n\tif(this.join === undefined || (changedAttributes && changedAttributes.join)) {\n\t\tthis.join = this.makeJoinTemplate();\n\t}\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title,index));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.findExplicitTemplates = function() {\n\tvar self = this;\n\tthis.explicitListTemplate = null;\n\tthis.explicitEmptyTemplate = null;\n\tthis.explicitJoinTemplate = null;\n\tthis.hasTemplateInBody = false;\n\tvar searchChildren = function(childNodes) {\n\t\tvar foundInlineTemplate = false;\n\t\t$tw.utils.each(childNodes,function(node) {\n\t\t\tif(node.type === \"list-template\") {\n\t\t\t\tself.explicitListTemplate = node.children;\n\t\t\t} else if(node.type === \"list-empty\") {\n\t\t\t\tself.explicitEmptyTemplate = node.children;\n\t\t\t} else if(node.type === \"list-join\") {\n\t\t\t\tself.explicitJoinTemplate = node.children;\n\t\t\t} else if(node.type === \"element\" && node.tag === \"p\") {\n\t\t\t\tsearchChildren(node.children);\n\t\t\t\tfoundInlineTemplate = true;\n\t\t\t} else {\n\t\t\t\tfoundInlineTemplate = true;\n\t\t\t}\n\t\t});\n\t\treturn foundInlineTemplate;\n\t};\n\tthis.hasTemplateInBody = searchChildren(this.parseTreeNode.children);\n}\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar limit = $tw.utils.getInt(this.getAttribute(\"limit\",\"\"),undefined);\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\tvar results = this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n\tif(limit !== undefined) {\n\t\tif(limit >= 0) {\n\t\t\tresults = results.slice(0,limit);\n\t\t} else {\n\t\t\tresults = results.slice(limit);\n\t\t}\n\t}\n\treturn results;\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar parser,\n\t\temptyMessage = this.getAttribute(\"emptyMessage\");\n\t// If emptyMessage attribute is not present or empty then look for an explicit empty template\n\tif(!emptyMessage) {\n\t\tif(this.explicitEmptyTemplate) {\n\t\t\treturn this.explicitEmptyTemplate;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a join between list items\n*/\nListWidget.prototype.makeJoinTemplate = function() {\n\tvar parser,\n\t\tjoin = this.getAttribute(\"join\",\"\");\n\tif(join) {\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",join,{parseAsInline:true})\n\t\tif(parser) {\n\t\t\treturn parser.tree;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t} else {\n\t\treturn this.explicitJoinTemplate; // May be null, and that's fine\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title,index) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\tjoin = this.join,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\t// Check for child nodes of the list widget\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\t// Check for a <$list-item> widget\n\t\t\tif(this.explicitListTemplate) {\n\t\t\t\ttemplateTree = this.explicitListTemplate;\n\t\t\t} else if(this.hasTemplateInBody) {\n\t\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t\t}\n\t\t}\n\t\tif(!templateTree || templateTree.length === 0) {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\tvar parseTreeNode = {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree, join: join};\n\tparseTreeNode.isLast = index === this.list.length - 1;\n\tif(this.counterName) {\n\t\tparseTreeNode.counter = (index + 1).toString();\n\t\tparseTreeNode.counterName = this.counterName;\n\t\tparseTreeNode.isFirst = index === 0;\n\t}\n\treturn parseTreeNode;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.variable || changedAttributes.counter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.join || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// If we are providing an counter variable then we must refresh the items, otherwise we can rearrange them\n\t\tvar hasRefreshed = false,t;\n\t\tif(this.counterName) {\n\t\t\tvar mustRefreshOldLast = false;\n\t\t\tvar oldLength = this.children.length;\n\t\t\t// Cycle through the list and remove and re-insert the first item that has changed, and all the remaining items\n\t\t\tfor(t=0; t<this.list.length; t++) {\n\t\t\t\tif(hasRefreshed || !this.children[t] || this.children[t].parseTreeNode.itemTitle !== this.list[t]) {\n\t\t\t\t\tif(this.children[t]) {\n\t\t\t\t\t\tthis.removeListItem(t);\n\t\t\t\t\t}\n\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\tif(!hasRefreshed && t === oldLength) {\n\t\t\t\t\t\tmustRefreshOldLast = true;\n\t\t\t\t\t}\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t} else {\n\t\t\t\t\t// Refresh the item we're reusing\n\t\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If items were inserted then we must recreate the item that used to be at the last position as it is no longer last\n\t\t\tif(mustRefreshOldLast && oldLength > 0) {\n\t\t\t\tvar oldLastIdx = oldLength-1;\n\t\t\t\tthis.removeListItem(oldLastIdx);\n\t\t\t\tthis.insertListItem(oldLastIdx,this.list[oldLastIdx]);\n\t\t\t}\n\t\t\t// If there are items to remove and we have not refreshed then recreate the item that will now be at the last position\n\t\t\tif(!hasRefreshed && this.children.length > this.list.length) {\n\t\t\t\tthis.removeListItem(this.list.length-1);\n\t\t\t\tthis.insertListItem(this.list.length-1,this.list[this.list.length-1]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Cycle through the list, inserting and removing list items as needed\n\t\t\tvar mustRecreateLastItem = false;\n\t\t\tif(this.join && this.join.length) {\n\t\t\t\tif(this.children.length !== this.list.length) {\n\t\t\t\t\t\tmustRecreateLastItem = true;\n\t\t\t\t} else if(prevList[prevList.length-1] !== this.list[this.list.length-1]) {\n\t\t\t\t\t\tmustRecreateLastItem = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar isLast = false, wasLast = false;\n\t\t\tfor(t=0; t<this.list.length; t++) {\n\t\t\t\tisLast = t === this.list.length-1;\n\t\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\t\twasLast = index === this.children.length-1;\n\t\t\t\tif(wasLast && (index !== t || this.children.length !== this.list.length)) {\n\t\t\t\t\tmustRecreateLastItem = !!(this.join && this.join.length);\n\t\t\t\t}\n\t\t\t\tif(index === undefined) {\n\t\t\t\t\t// The list item must be inserted\n\t\t\t\t\tif(isLast && mustRecreateLastItem && t>0) {\n\t\t\t\t\t\t// First re-create previosly-last item that will no longer be last\n\t\t\t\t\t\tthis.removeListItem(t-1);\n\t\t\t\t\t\tthis.insertListItem(t-1,this.list[t-1]);\n\t\t\t\t\t}\n\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t} else {\n\t\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\t\thasRefreshed = true;\n\t\t\t\t\t}\n\t\t\t\t\t// Refresh the item we're reusing, or recreate if necessary\n\t\t\t\t\tif(mustRecreateLastItem && (isLast || wasLast)) {\n\t\t\t\t\t\tthis.removeListItem(t);\n\t\t\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\t\t\thasRefreshed = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title,index));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\tif(this.parseTreeNode.counterName) {\n\t\tthis.setVariable(this.parseTreeNode.counterName,this.parseTreeNode.counter);\n\t\tthis.setVariable(this.parseTreeNode.counterName + \"-first\",this.parseTreeNode.isFirst ? \"yes\" : \"no\");\n\t\tthis.setVariable(this.parseTreeNode.counterName + \"-last\",this.parseTreeNode.isLast ? \"yes\" : \"no\");\n\t}\n\t// Add join if needed\n\tvar children = this.parseTreeNode.children,\n\t\tjoin = this.parseTreeNode.join;\n\tif(join && join.length && !this.parseTreeNode.isLast) {\n\t\tchildren = children.slice(0);\n\t\t$tw.utils.each(join,function(joinNode) {\n\t\t\tchildren.push(joinNode);\n\t\t})\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(children);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n/*\nMake <$list-template> and <$list-empty> widgets that do nothing\n*/\nvar ListTemplateWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListTemplateWidget.prototype = new Widget();\nListTemplateWidget.prototype.render = function() {}\nListTemplateWidget.prototype.refresh = function() { return false; }\n\nexports[\"list-template\"] = ListTemplateWidget;\n\nvar ListEmptyWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListEmptyWidget.prototype = new Widget();\nListEmptyWidget.prototype.render = function() {}\nListEmptyWidget.prototype.refresh = function() { return false; }\n\nexports[\"list-empty\"] = ListEmptyWidget;\n\nvar ListJoinWidget = function(parseTreeNode,options) {\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\nListJoinWidget.prototype = new Widget();\nListJoinWidget.prototype.render = function() {}\nListJoinWidget.prototype.refresh = function() { return false; }\n\nexports[\"list-join\"] = ListJoinWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/log.js":{"title":"$:/core/modules/widgets/log.js","text":"/*\\\ntitle: $:/core/modules/widgets/log.js\ntype: application/javascript\nmodule-type: widget-subclass\n\nWidget to log debug messages\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.baseClass = \"action-log\";\n\nexports.name = \"log\";\n\nexports.constructor = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n}\n\nexports.prototype = {};\n\nexports.prototype.render = function(event) {\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).render.call(this,event);\n\tObject.getPrototypeOf(Object.getPrototypeOf(this)).log.call(this);\n}\n\n})();","type":"application/javascript","module-type":"widget-subclass"},"$:/core/modules/widgets/macrocall.js":{"title":"$:/core/modules/widgets/macrocall.js","text":"/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall 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 MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\tthis.macroName = this.parseTreeNode.name || this.getAttribute(\"$name\"),\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\n\t\t}\n\t});\n\t// Make a transclude widget\n\tvar positionalName = 0,\n\t\tparseTreeNodes = [{\n\t\t\ttype: \"transclude\",\n\t\t\tisBlock: this.parseTreeNode.isBlock,\n\t\t\tchildren: this.parseTreeNode.children\n\t\t}];\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$variable\",this.macroName);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$type\",this.parseType);\n\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],\"$output\",this.renderOutput);\n\t$tw.utils.each(params,function(param) {\n\t\tvar name = param.name;\n\t\tif(name) {\n\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\tname = \"$\" + name;\n\t\t\t}\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],name,param.value);\n\t\t} else {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],(positionalName++) + \"\",param.value);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/messagecatcher.js":{"title":"$:/core/modules/widgets/messagecatcher.js","text":"/*\\\ntitle: $:/core/modules/widgets/messagecatcher.js\ntype: application/javascript\nmodule-type: widget\n\nMessage catcher 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 MessageCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMessageCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMessageCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Helper to add an event handler\n\tvar addEventHandler = function(type,actions) {\n\t\tif(type && actions) {\n\t\t\tvar isActionStringExecuting = false;\n\t\t\tself.addEventListener(\n\t\t\t\ttype,\n\t\t\t\tfunction(event) {\n\t\t\t\t\t// Don't trap the event if it came from one of our action handlers\n\t\t\t\t\tif(isActionStringExecuting) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t// Collect all the event properties into variables\n\t\t\t\t\tvar collectProps = function(obj,prefix) {\n\t\t\t\t\t\tprefix = prefix || \"\";\n\t\t\t\t\t\tvar props = {},\n\t\t\t\t\t\t\tnames = [];\n\t\t\t\t\t\t$tw.utils.each(obj,function(value,name) {\n\t\t\t\t\t\t\tif([\"string\",\"boolean\",\"number\"].indexOf(typeof value) !== -1) {\n\t\t\t\t\t\t\t\tnames.push(name);\n\t\t\t\t\t\t\t\tprops[prefix + \"-\" + name] = value.toString();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tprops[\"list-\" + prefix] = $tw.utils.stringifyList(names);\n\t\t\t\t\t\treturn props;\n\t\t\t\t\t};\n\t\t\t\t\tvar variables = $tw.utils.extend(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tcollectProps(event.paramObject,\"event-paramObject\"),\n\t\t\t\t\t\tcollectProps(event,\"event\"),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: $tw.keyboardManager.getEventModifierKeyDescriptor(event)\n\t\t\t\t\t\t});\n\t\t\t\t\tisActionStringExecuting = true;\n\t\t\t\t\tself.invokeActionString(actions,self,event,variables);\n\t\t\t\t\tisActionStringExecuting = false;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\t// Add the main event handler\n\taddEventHandler(this.getAttribute(\"type\"),this.getAttribute(\"actions\"));\n\t// Add any other event handlers\n\t$tw.utils.each(this.attributes,function(value,key) {\n\t\tif(key.charAt(0) === \"$\") {\n\t\t\taddEventHandler(key.slice(1),value);\n\t\t}\n\t});\n\t// Render children\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMessageCatcherWidget.prototype.execute = function() {\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*/\nMessageCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.messagecatcher = MessageCatcherWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/navigator.js":{"title":"$:/core/modules/widgets/navigator.js","text":"/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"}\n\t]);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\tthis.setVariable(\"tv-story-list\",this.storyTitle);\n\tthis.setVariable(\"tv-history-list\",this.historyTitle);\n\tthis.story = new $tw.Story({\n\t\twiki: this.wiki,\n\t\tstoryTitle: this.storyTitle,\n\t\thistoryTitle: this.historyTitle\n\t});\n\t// Construct the 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*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tif(this.storyTitle) {\n\t\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t\t{title: this.storyTitle},\n\t\t\tstoryTiddler,\n\t\t\t{list: storyList}\n\t\t));\n\t}\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tif(storyList) {\n\t\tvar p = storyList.indexOf(title);\n\t\twhile(p !== -1) {\n\t\t\tstoryList.splice(p,1);\n\t\t\tp = storyList.indexOf(title);\n\t\t}\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tif(storyList) {\n\t\tvar pos = storyList.indexOf(oldTitle);\n\t\tif(pos !== -1) {\n\t\t\tstoryList[pos] = newTitle;\n\t\t\tdo {\n\t\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\t\tif(pos !== -1) {\n\t\t\t\t\tstoryList.splice(pos,1);\n\t\t\t\t}\n\t\t\t} while(pos !== -1);\n\t\t} else {\n\t\t\tstoryList.splice(0,0,newTitle);\n\t\t}\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tif(this.storyTitle) {\n\t\tthis.story.addToStory(title,fromTitle,{\n\t\t\topenLinkFromInsideRiver: this.getAttribute(\"openLinkFromInsideRiver\",\"top\"),\n\t\t\topenLinkFromOutsideRiver: this.getAttribute(\"openLinkFromOutsideRiver\",\"top\")\n\t\t});\n\t}\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.story.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-navigating\",event);\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-closing-tiddler\",event);\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar editTiddler = $tw.hooks.invokeHook(\"th-editing-tiddler\",event),\n\t win = event.event && event.event.view ? event.event.view : window;\n\tif(!editTiddler) {\n\t\treturn false;\n\t}\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn win.confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\toriginalTiddler = originalTitle ? this.wiki.getTiddler(originalTitle) : undefined,\n\t\tconfirmationTitle,\n\t\twin = event.event && event.event.view ? event.event.view : window;\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif(((originalTitle && this.wiki.getTiddler(originalTitle)) || (tiddler && ((tiddler.fields.text || \"\") !== \"\"))) && !win.confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tif(originalTiddler) {\n\t\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",originalTiddler);\n\t\t}\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Invoke the hook function and delete this tiddler\n\tif(tiddler) {\n\t\t$tw.hooks.invokeHook(\"th-deleting-tiddler\",tiddler);\n\t\tthis.wiki.deleteTiddler(title);\t\n\t}\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\t\ttext: \"\",\n\t\t\t},\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\treturn this.wiki.generateDraftTitle(title);\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t \twin = event.event && event.event.view ? event.event.view : window;\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = win.confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler,tiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// If enabled, relink references to renamed tiddler\n\t\t\t\tvar shouldRelink = this.getAttribute(\"relinkOnRename\",\"no\").toLowerCase().trim() === \"yes\";\n\t\t\t\tif(isRename && shouldRelink && this.wiki.tiddlerExists(draftOf)) {\n\t\t\t\t\tthis.wiki.relinkTiddler(draftOf,draftTitle);\n\t\t\t\t}\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\t// #2381 always remove new title & old\n\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\tthis.removeTitleFromStory(storyList,draftOf);\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-cancelling-tiddler\", event);\n\tvar win = event.event && event.event.view ? event.event.view : window;\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = win.confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\tevent = $tw.hooks.invokeHook(\"th-new-tiddler\", event);\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Make a copy of the additional fields excluding any blank ones\n\tvar filteredAdditionalFields = $tw.utils.extend({},additionalFields);\n\tObject.keys(filteredAdditionalFields).forEach(function(fieldName) {\n\t\tif(filteredAdditionalFields[fieldName] === \"\") {\n\t\t\tdelete filteredAdditionalFields[fieldName];\n\t\t}\n\t});\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags);\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\texistingTiddler,\n\t\tfilteredAdditionalFields,\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList && storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tif(slot === -1) {\n\t\t\tslot = this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\" ? storyList.length - 1 : slot;\n\t\t}\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList && storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\t// Get the tiddlers\n\tvar tiddlers = $tw.utils.parseJSONSafe(event.param,[]);\n\t// Get the current $:/Import tiddler\n\tvar paramObject = event.paramObject || {},\n\t\timportTitle = event.importTitle || paramObject.importTitle || IMPORT_TITLE,\n\t\timportTiddler = this.wiki.getTiddler(importTitle),\n\t\timportData = this.wiki.getTiddlerData(importTitle,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: importTitle,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\ttiddlerFields.title = $tw.utils.trim(tiddlerFields.title);\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t// Deselect any disabled, but _not_ suppressed tiddlers\n\tvar systemMessage = $tw.language.getString(\"Import/Upgrader/Tiddler/Unselected\");\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t\tif (message.indexOf(systemMessage) !== -1) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Deselect suppressed tiddlers ... they have been removed and can't be selected anymore\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t\tnewFields[\"suppressed-\" + title] = \"yes\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tvar autoOpenOnImport = event.autoOpenOnImport || paramObject.autoOpenOnImport || this.getVariable(\"tv-auto-open-on-import\");\n\tif(autoOpenOnImport !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList && storyList.indexOf(importTitle) === -1) {\n\t\t\tstoryList.unshift(importTitle);\n\t\t}\n\t\t// And to history\n\t\thistory.push(importTitle);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\n\t}\n\treturn false;\n};\n\n//\nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData,\n\t\timportReport = [];\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t// If you need to modify the import tiddler payload then consider th-importing-tiddler instead\n\timportTiddler = $tw.hooks.invokeHook(\"th-before-importing\",importTiddler);\n\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tif($tw.utils.hop(importTiddler.fields,[\"rename-\" + title])) {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields,{title : importTiddler.fields[\"rename-\" + title]});\n\t\t\t} else {\n\t\t\t\tvar tiddler = new $tw.Tiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// th-importing-tiddler doesn't allow user interaction by default\n\t\t\t// If you want to use the default UI then use: $:/core/modules/upgraders/ instead\n\t\t\ttiddler = $tw.hooks.invokeHook(\"th-importing-tiddler\",tiddler);\n\t\t\t// Add the tiddlers to the store\n\t\t\tself.wiki.addTiddler(tiddler);\n\t\t\timportReport.push(\"# [[\" + tiddler.fields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar paramObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix || \"$:/state/folded/\";\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/parameters.js":{"title":"$:/core/modules/widgets/parameters.js","text":"/*\\\ntitle: $:/core/modules/widgets/parameters.js\ntype: application/javascript\nmodule-type: widget\n\nWidget for definition of transclusion parameters\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\tTranscludeWidget = require(\"$:/core/modules/widgets/transclude.js\").transclude;\n\nvar ParametersWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nParametersWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nParametersWidget.prototype.render = function(parent,nextSibling) {\n\t// Call the constructor\n\tWidget.call(this);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nParametersWidget.prototype.execute = function() {\n\tvar self = this;\n\tthis.parametersDepth = Math.max(parseInt(this.getAttribute(\"$depth\",\"1\"),10) || 1,1);\n\t// Find the parent transclusions\n\tvar pointer = this.parentWidget,\n\t\tdepth = this.parametersDepth;\n\twhile(pointer) {\n\t\tif(pointer instanceof TranscludeWidget) {\n\t\t\tdepth--;\n\t\t\tif(depth <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpointer = pointer.parentWidget;\n\t}\n\t// Process each parameter\n\tif(pointer instanceof TranscludeWidget) {\n\t\t// Get the value for each defined parameter\n\t\t$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) {\n\t\t\tvar name = attr.name;\n\t\t\t// If the attribute name starts with $$ then reduce to a single dollar\n\t\t\tif(name.substr(0,2) === \"$$\") {\n\t\t\t\tname = name.substr(1);\n\t\t\t}\n\t\t\tvar value = pointer.getTransclusionParameter(name,index,self.getAttribute(attr.name,\"\"));\n\t\t\tself.setVariable(name,value);\n\t\t});\n\t\t// Assign any metaparameters\n\t\t$tw.utils.each(pointer.getTransclusionMetaParameters(),function(getValue,name) {\n\t\t\tvar variableName = self.getAttribute(\"$\" + name);\n\t\t\tif(variableName) {\n\t\t\t\tself.setVariable(variableName,getValue(name));\n\t\t\t}\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nParametersWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.parameters = ParametersWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/password.js":{"title":"$:/core/modules/widgets/password.js","text":"/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword 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 PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\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// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the 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*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/qualify.js":{"title":"$:/core/modules/widgets/qualify.js","text":"/*\\\ntitle: $:/core/modules/widgets/qualify.js\ntype: application/javascript\nmodule-type: widget\n\nQualify text to a variable \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 QualifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nQualifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nQualifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nQualifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.qualifyName = this.getAttribute(\"name\");\n\tthis.qualifyTitle = this.getAttribute(\"title\");\n\t// Set context variable\n\tif(this.qualifyName) {\n\t\tthis.setVariable(this.qualifyName,this.qualifyTitle + \"-\" + this.getStateQualifier());\n\t}\n\t// Construct the 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*/\nQualifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.title) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.qualify = QualifyWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/radio.js":{"title":"$:/core/modules/widgets/radio.js","text":"/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nSet a field or index at a given tiddler via radio buttons\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;\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\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\tvar isChecked = this.getValue() === this.radioValue;\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",\n\t\t\"tc-radio \" + this.radioClass + (isChecked ? \" tc-radio-selected\" : \"\")\n\t);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\tif(isChecked) {\n\t\tthis.inputDomNode.checked = true;\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar value,\n\t\ttiddler = this.wiki.getTiddler(this.radioTitle);\n\tif(tiddler) {\n\t\tif(this.radioIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.radioTitle,this.radioIndex,this.radioDefault);\n\t\t} else {\n\t\t\tvalue = tiddler.getFieldString(this.radioField,this.radioDefault);\n\t\t}\n\t} else {\n\t\tvalue = this.radioDefault;\n\t}\n\treturn value;\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioIndex) {\n\t\tthis.wiki.setText(this.radioTitle,\"\",this.radioIndex,this.radioValue);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n\t// Trigger actions\n\tif(this.radioActions) {\n\t\tthis.invokeActionString(this.radioActions,this,event,{\"actionValue\": this.radioValue});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioIndex = this.getAttribute(\"index\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tthis.radioDefault = this.getAttribute(\"default\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\tthis.radioActions = this.getAttribute(\"actions\",\"\");\n\t// Make the 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*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(($tw.utils.count(changedAttributes) > 0)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.radioTitle]) {\n\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t$tw.utils.toggleClass(this.labelDomNode,\"tc-radio-selected\",this.inputDomNode.checked);\n\t\treturn this.refreshChildren(changedTiddlers);\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/range.js":{"title":"$:/core/modules/widgets/range.js","text":"/*\\\ntitle: $:/core/modules/widgets/range.js\ntype: application/javascript\nmodule-type: widget\n\nRange 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 RangeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRangeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRangeWidget.prototype.render = function(parent,nextSibling) {\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// Create our elements\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"range\");\n\tthis.inputDomNode.setAttribute(\"class\",this.elementClass);\n\tif(this.minValue){\n\t\tthis.inputDomNode.setAttribute(\"min\", this.minValue);\n\t}\n\tif(this.maxValue){\n\t\tthis.inputDomNode.setAttribute(\"max\", this.maxValue);\n\t}\n\tif(this.increment){\n\t\tthis.inputDomNode.setAttribute(\"step\", this.increment);\n\t}\n\tif(this.isDisabled === \"yes\") {\n\t\tthis.inputDomNode.setAttribute(\"disabled\",true);\n\t}\n\tthis.inputDomNode.value = this.getValue();\n\tthis.assignAttributes(this.inputDomNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name:\"mousedown\", handlerObject:this, handlerMethod:\"handleMouseDownEvent\"},\n\t\t{name:\"mouseup\", handlerObject:this, handlerMethod:\"handleMouseUpEvent\"},\n\t\t{name:\"change\", handlerObject:this, handlerMethod:\"handleChangeEvent\"},\n\t\t{name:\"input\", handlerObject:this, handlerMethod:\"handleInputEvent\"},\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.inputDomNode,nextSibling);\n\tthis.domNodes.push(this.inputDomNode);\n};\n\nRangeWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle),\n\t\tfieldName = this.tiddlerField,\n\t\tvalue = this.defaultValue;\n\tif(tiddler) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(tiddler,this.tiddlerIndex,this.defaultValue);\n\t\t} else {\n\t\t\tif($tw.utils.hop(tiddler.fields,fieldName)) {\n\t\t\t\tvalue = tiddler.fields[fieldName] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = this.defaultValue;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nRangeWidget.prototype.getActionVariables = function(options) {\n\toptions = options || {};\n\tvar hasChanged = (this.startValue !== this.inputDomNode.value) ? \"yes\" : \"no\";\n\t// Trigger actions. Use variables = {key:value, key:value ...}\n\t// the \"value\" is needed.\n\treturn $tw.utils.extend({\"actionValue\": this.inputDomNode.value, \"actionValueHasChanged\": hasChanged}, options);\n}\n\n// actionsStart\nRangeWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.mouseDown = true; // TODO remove once IE is gone.\n\tthis.startValue = this.inputDomNode.value; // TODO remove this line once IE is gone!\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseDown) {\n\t\tvar variables = this.getActionVariables() // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsMouseDown,this,event,variables);\n\t}\n}\n\n// actionsStop\nRangeWidget.prototype.handleMouseUpEvent = function(event) {\n\tthis.mouseDown = false; // TODO remove once IE is gone.\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsMouseUp) {\n\t\tvar variables = this.getActionVariables()\n\t\tthis.invokeActionString(this.actionsMouseUp,this,event,variables);\n\t}\n\t// TODO remove the following if() once IE is gone!\n\tif ($tw.browser.isIE) {\n\t\tif (this.startValue !== this.inputDomNode.value) {\n\t\t\tthis.handleChangeEvent(event);\n\t\t\tthis.startValue = this.inputDomNode.value;\n\t\t}\n\t}\n}\n\nRangeWidget.prototype.handleChangeEvent = function(event) {\n\tif (this.mouseDown) { // TODO refactor this function once IE is gone.\n\t\tthis.handleInputEvent(event);\n\t}\n};\n\nRangeWidget.prototype.handleInputEvent = function(event) {\n\tthis.handleEvent(event);\n\t// Trigger actions\n\tif(this.actionsInput) {\n\t\t// \"tiddler\" parameter may be missing. See .execute() below\n\t\tvar variables = this.getActionVariables({\"actionValueHasChanged\": \"yes\"}) // TODO this line will go into the function call below.\n\t\tthis.invokeActionString(this.actionsInput,this,event,variables);\n\t}\n};\n\nRangeWidget.prototype.handleEvent = function(event) {\n\tif(this.getValue() !== this.inputDomNode.value) {\n\t\tif(this.tiddlerIndex) {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,\"\",this.tiddlerIndex,this.inputDomNode.value);\n\t\t} else {\n\t\t\tthis.wiki.setText(this.tiddlerTitle,this.tiddlerField,null,this.inputDomNode.value);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRangeWidget.prototype.execute = function() {\n\t// TODO remove the next 1 lines once IE is gone!\n\tthis.mouseUp = true; // Needed for IE10\n\t// Get the parameters from the attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.tiddlerField = this.getAttribute(\"field\",\"text\");\n\tthis.tiddlerIndex = this.getAttribute(\"index\");\n\tthis.minValue = this.getAttribute(\"min\");\n\tthis.maxValue = this.getAttribute(\"max\");\n\tthis.increment = this.getAttribute(\"increment\");\n\tthis.defaultValue = this.getAttribute(\"default\",\"\");\n\tthis.elementClass = this.getAttribute(\"class\",\"\");\n\tthis.isDisabled = this.getAttribute(\"disabled\",\"no\");\n\t// Actions since 5.1.23\n\t// Next 2 only fire once!\n\tthis.actionsMouseDown = this.getAttribute(\"actionsStart\",\"\");\n\tthis.actionsMouseUp = this.getAttribute(\"actionsStop\",\"\");\n\t// Input fires very often!\n\tthis.actionsInput = this.getAttribute(\"actions\",\"\");\n\t// Make the 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*/\nRangeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.tiddlerTitle]) {\n\t\t\tvar value = this.getValue();\n\t\t\tif(this.inputDomNode.value !== value) {\n\t\t\t\tthis.inputDomNode.value = value;\n\t\t\t}\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.range = RangeWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/raw.js":{"title":"$:/core/modules/widgets/raw.js","text":"/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw 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 RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/reveal.js":{"title":"$:/core/modules/widgets/reveal.js","text":"/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal 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 Popup = require(\"$:/core/modules/utils/dom/popup.js\");\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tthis.domNode = domNode;\n\tthis.assignDomNodeClasses();\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tvar left,top;\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tcase \"belowright\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tleft = this.popup.left + this.popup.width;\n\t\t\ttop = this.popup.top;\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tleft = this.popup.left + this.popup.width - domNode.offsetWidth;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t\tcase \"aboveleft\":\n\t\t\tleft = this.popup.left - domNode.offsetWidth;\n\t\t\ttop = this.popup.top - domNode.offsetHeight;\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tleft = this.popup.left;\n\t\t\ttop = this.popup.top + this.popup.height;\n\t\t\tbreak;\n\t}\n\tif(!this.positionAllowNegative) {\n\t\tleft = Math.max(0,left);\n\t\ttop = Math.max(0,top);\n\t}\n\tif (this.popup.absolute) {\n\t\t// Traverse the offsetParent chain and correct the offset to make it relative to the parent node.\n\t\tfor (var offsetParentDomNode = domNode.offsetParent; offsetParentDomNode; offsetParentDomNode = offsetParentDomNode.offsetParent) {\n\t\t\tleft -= offsetParentDomNode.offsetLeft;\n\t\t\ttop -= offsetParentDomNode.offsetTop;\n\t\t}\n\t}\n\tdomNode.style.left = left + \"px\";\n\tdomNode.style.top = top + \"px\";\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis.positionAllowNegative = this.getAttribute(\"positionAllowNegative\") === \"yes\";\n\t// class attribute handled in assignDomNodeClasses()\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\tthis.updatePopupPosition = this.getAttribute(\"updatePopupPosition\",\"no\") === \"yes\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTiddlerTitle = this.state;\n\tthis.stateTitle = this.getAttribute(\"stateTitle\");\n\tthis.stateField = this.getAttribute(\"stateField\");\n\tthis.stateIndex = this.getAttribute(\"stateIndex\");\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state,\n\t defaultState = this[\"default\"];\n\tif(this.stateTitle) {\n\t\tvar stateTitleTiddler = this.wiki.getTiddler(this.stateTitle);\n\t\tif(this.stateField) {\n\t\t\tstate = stateTitleTiddler ? stateTitleTiddler.getFieldString(this.stateField) || defaultState : defaultState;\n\t\t} else if(this.stateIndex) {\n\t\t\tstate = stateTitleTiddler ? this.wiki.extractTiddlerDataItem(this.stateTitle,this.stateIndex) || defaultState : defaultState;\n\t\t} else if(stateTitleTiddler) {\n\t\t\tstate = this.wiki.getTiddlerText(this.stateTitle) || defaultState;\n\t\t} else {\n\t\t\tstate = defaultState;\n\t\t}\n\t} else {\n\t\tstate = this.stateTiddlerTitle ? this.wiki.getTextReference(this.state,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\t}\n\tif(state === null) {\n\t\tstate = this[\"default\"];\n\t}\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.isOpen = this.text === state;\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.isOpen = this.text !== state;\n\t\t\tbreak;\n\t\tcase \"lt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t\tcase \"gt\":\n\t\t\tthis.isOpen = !!(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"lteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) > 0);\n\t\t\tbreak;\n\t\tcase \"gteq\":\n\t\t\tthis.isOpen = !(this.compareStateText(state) < 0);\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.compareStateText = function(state) {\n\treturn state.localeCompare(this.text,undefined,{numeric: true,sensitivity: \"case\"});\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tthis.popup = Popup.parseCoordinates(state);\n\t// Check if the state matches the location regexp\n\tif(this.popup) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\nRevealWidget.prototype.assignDomNodeClasses = function() {\n\tvar classes = this.getAttribute(\"class\",\"\").split(\" \");\n\tclasses.push(\"tc-reveal\");\n\tthis.domNode.className = classes.join(\" \");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes.positionAllowNegative || changedAttributes[\"default\"] || changedAttributes.animate || changedAttributes.stateTitle || changedAttributes.stateField || changedAttributes.stateIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar currentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if(this.type === \"popup\" && this.isOpen && this.updatePopupPosition && (changedTiddlers[this.state] || changedTiddlers[this.stateTitle])) {\n\t\t\tthis.positionPopup(this.domNode);\n\t\t}\n\t\tif(changedAttributes.style) {\n\t\t\tthis.domNode.style = this.getAttribute(\"style\",\"\");\n\t\t}\n\t\tif(changedAttributes[\"class\"]) {\n\t\t\tthis.assignDomNodeClasses();\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\tvar self = this;\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\t//make sure that the state hasn't changed during the close animation\n\t\t\tself.readState()\n\t\t\tif(!self.isOpen) {\n\t\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t\t\t}\n\t\t}});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/scrollable.js":{"title":"$:/core/modules/widgets/scrollable.js","text":"/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEBOUNCE_INTERVAL = 100; // Delay after last scroll event before updating the bound tiddler\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tvar options = {};\n\tif($tw.utils.hop(event.paramObject,\"animationDuration\")) {\n\t\toptions.animationDuration = event.paramObject.animationDuration;\n\t}\n\tif(event.paramObject && event.paramObject.selector) {\n\t\tthis.scrollSelectorIntoView(null,event.paramObject.selector,null,options);\n\t} else {\n\t\tthis.scrollIntoView(event.target,null,options);\n\t}\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element,callback,options) {\n\tvar duration = $tw.utils.hop(options,\"animationDuration\") ? parseInt(options.animationDuration) : $tw.utils.getAnimationDuration(),\n\t\tsrcWindow = element ? element.ownerDocument.defaultView : window;\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(srcWindow,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nScrollableWidget.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\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n\t// If the scroll position is bound to a tiddler\n\tif(this.scrollableBind) {\n\t\t// After a delay for rendering, scroll to the bound position\n\t\tthis.updateScrollPositionFromBoundTiddler();\n\t\t// Set up event listener\n\t\tthis.currentListener = this.listenerFunction.bind(this);\n\t\tthis.outerDomNode.addEventListener(\"scroll\", this.currentListener);\n\t}\n};\n\nScrollableWidget.prototype.listenerFunction = function(event) {\n\tself = this;\n\tclearTimeout(this.timeout);\n\tthis.timeout = setTimeout(function() {\n\t\tvar existingTiddler = self.wiki.getTiddler(self.scrollableBind),\n\t\t\tnewTiddlerFields = {\n\t\t\t\ttitle: self.scrollableBind,\n\t\t\t\t\"scroll-left\": self.outerDomNode.scrollLeft.toString(),\n\t\t\t\t\"scroll-top\": self.outerDomNode.scrollTop.toString()\n\t\t\t};\n\t\tif(!existingTiddler || (existingTiddler.fields[\"title\"] !== newTiddlerFields[\"title\"]) || (existingTiddler.fields[\"scroll-left\"] !== newTiddlerFields[\"scroll-left\"] || existingTiddler.fields[\"scroll-top\"] !== newTiddlerFields[\"scroll-top\"])) {\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(existingTiddler,newTiddlerFields));\n\t\t}\n\t}, DEBOUNCE_INTERVAL);\n}\n\nScrollableWidget.prototype.updateScrollPositionFromBoundTiddler = function() {\n\t// Bail if we're running on the fakedom\n\tif(!this.outerDomNode.scrollTo) {\n\t\treturn;\n\t}\n\tvar tiddler = this.wiki.getTiddler(this.scrollableBind);\n\tif(tiddler) {\n\t\tvar scrollLeftTo = this.outerDomNode.scrollLeft;\n\t\tif(parseFloat(tiddler.fields[\"scroll-left\"]).toString() === tiddler.fields[\"scroll-left\"]) {\n\t\t\tscrollLeftTo = parseFloat(tiddler.fields[\"scroll-left\"]);\n\t\t}\n\t\tvar scrollTopTo = this.outerDomNode.scrollTop;\n\t\tif(parseFloat(tiddler.fields[\"scroll-top\"]).toString() === tiddler.fields[\"scroll-top\"]) {\n\t\t\tscrollTopTo = parseFloat(tiddler.fields[\"scroll-top\"]);\n\t\t}\n\t\tthis.outerDomNode.scrollTo({\n\t\t\ttop: scrollTopTo,\n\t\t\tleft: scrollLeftTo,\n\t\t\tbehavior: \"instant\"\n\t\t})\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.scrollableBind = this.getAttribute(\"bind\");\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\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*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\t// If the bound tiddler has changed, update the eventListener and update scroll position\n\tif(changedAttributes[\"bind\"]) {\n\t\tif(this.currentListener) {\n\t\t\tthis.outerDomNode.removeEventListener(\"scroll\", this.currentListener, false);\n\t\t}\n\t\tthis.scrollableBind = this.getAttribute(\"bind\");\n\t\tthis.currentListener = this.listenerFunction.bind(this);\n\t\tthis.outerDomNode.addEventListener(\"scroll\", this.currentListener);\n\t}\n\t// Refresh children\n\tvar result = this.refreshChildren(changedTiddlers);\n\t// If the bound tiddler has changed, update scroll position\n\tif(changedAttributes[\"bind\"] || changedTiddlers[this.getAttribute(\"bind\")]) {\n\t\tthis.updateScrollPositionFromBoundTiddler();\n\t}\n\treturn result;\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/select.js":{"title":"$:/core/modules/widgets/select.js","text":"/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\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 SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t//Create element\n\tvar domNode = this.document.createElement(\"select\");\n\tif(this.selectClass) {\n\t\tdomNode.className = this.selectClass;\n\t}\n\t// Assign data- attributes\n\tthis.assignAttributes(domNode,{\n\t\tsourcePrefix: \"data-\",\n\t\tdestPrefix: \"data-\"\n\t});\n\tif(this.selectMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\tdomNode.setAttribute(\"size\",this.selectSize);\n\t}\n\tif(this.selectTabindex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.selectTabindex);\n\t}\n\tif(this.selectTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.selectTooltip);\n\t}\n\tthis.parentDomNode.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n\tthis.setSelectValue();\n\tif(this.selectFocus == \"yes\") {\n\t\tthis.getSelectDomNode().focus();\n\t}\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex,value);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tselect.children[i].selected = values.indexOf(select.children[i].value) !== -1\n\t\t}\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\tthis.selectTabindex = this.getAttribute(\"tabindex\");\n\tthis.selectTooltip = this.getAttribute(\"tooltip\");\n\tthis.selectFocus = this.getAttribute(\"focus\");\n\t// Make the 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*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tif(changedAttributes.class) {\n\t\t\tthis.selectClass = this.getAttribute(\"class\");\n\t\t\tthis.getSelectDomNode().setAttribute(\"class\",this.selectClass); \n\t\t}\n\t\tthis.assignAttributes(this.getSelectDomNode(),{\n\t\t\tchangedAttributes: changedAttributes,\n\t\t\tsourcePrefix: \"data-\",\n\t\t\tdestPrefix: \"data-\"\n\t\t});\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\t// If the target tiddler value has changed, just update setting and refresh the children\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/setmultiplevariables.js":{"title":"$:/core/modules/widgets/setmultiplevariables.js","text":"/*\\\ntitle: $:/core/modules/widgets/setmultiplevariables.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to set multiple variables at once from a list of names and a list of values\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 SetMultipleVariablesWidget = function(parseTreeNode,options) {\n this.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetMultipleVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetMultipleVariablesWidget.prototype.render = function(parent,nextSibling) {\n this.parentDomNode = parent;\n this.computeAttributes();\n this.execute();\n this.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetMultipleVariablesWidget.prototype.execute = function() {\n // Setup our variables\n this.setVariables();\n // Construct the child widgets\n this.makeChildWidgets();\n};\n\n\nSetMultipleVariablesWidget.prototype.setVariables = function() {\n // Set the variables\n var self = this,\n filterNames = this.getAttribute(\"$names\",\"\"),\n filterValues = this.getAttribute(\"$values\",\"\");\n this.variableNames = [];\n this.variableValues = [];\n if(filterNames && filterValues) {\n this.variableNames = this.wiki.filterTiddlers(filterNames,this);\n this.variableValues = this.wiki.filterTiddlers(filterValues,this);\n $tw.utils.each(this.variableNames,function(varname,index) {\n self.setVariable(varname,self.variableValues[index]);\n });\n }\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetMultipleVariablesWidget.prototype.refresh = function(changedTiddlers) {\n var filterNames = this.getAttribute(\"$names\",\"\"),\n filterValues = this.getAttribute(\"$values\",\"\"),\n variableNames = this.wiki.filterTiddlers(filterNames,this),\n variableValues = this.wiki.filterTiddlers(filterValues,this);\n if(!$tw.utils.isArrayEqual(this.variableNames,variableNames) || !$tw.utils.isArrayEqual(this.variableValues,variableValues)) {\n this.refreshSelf();\n return true;\n }\n return this.refreshChildren(changedTiddlers);\n};\n\nexports[\"setmultiplevariables\"] = SetMultipleVariablesWidget;\n\n})();\n ","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/set.js":{"title":"$:/core/modules/widgets/set.js","text":"/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable 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 SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setSelect = this.getAttribute(\"select\");\n\tthis.setTiddler = this.getAttribute(\"tiddler\");\n\tthis.setSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.setField = this.getAttribute(\"field\");\n\tthis.setIndex = this.getAttribute(\"index\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tif(this.parseTreeNode.isMacroDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,true);\n\t} else if(this.parseTreeNode.isFunctionDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isFunctionDefinition: true});\n\t} else if(this.parseTreeNode.isProcedureDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isProcedureDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\n\t} else if(this.parseTreeNode.isWidgetDefinition) {\n\t\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params,undefined,{isWidgetDefinition: true, configTrimWhiteSpace: this.parseTreeNode.configTrimWhiteSpace});\n\t} else {\n\t\tthis.setVariable(this.setName,this.getValue());\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setTiddler) {\n\t\tvar tiddler;\n\t\tif(this.setSubTiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.setTiddler,this.setSubTiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.setTiddler);\n\t\t}\n\t\tif(!tiddler) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t} else if(this.setField) {\n\t\t\tvalue = tiddler.getFieldString(this.setField) || this.setEmptyValue;\n\t\t} else if(this.setIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.setTiddler,this.setIndex,this.setEmptyValue);\n\t\t} else {\n\t\t\tvalue = tiddler.fields.text || this.setEmptyValue ;\n\t\t}\n\t} else if(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(this.setValue == null) {\n\t\t\tvar select;\n\t\t\tif(this.setSelect) {\n\t\t\t\tselect = parseInt(this.setSelect,10);\n\t\t\t}\n\t\t\tif(select !== undefined) {\n\t\t\t\tvalue = results[select] || \"\";\n\t\t\t} else {\n\t\t\t\tvalue = $tw.utils.stringifyList(results);\n\t\t\t}\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value || \"\";\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.select || changedAttributes.tiddler || (this.setTiddler && changedTiddlers[this.setTiddler]) || changedAttributes.field || changedAttributes.index || changedAttributes.value || changedAttributes.emptyValue ||\n\t (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/slot.js":{"title":"$:/core/modules/widgets/slot.js","text":"/*\\\ntitle: $:/core/modules/widgets/slot.js\ntype: application/javascript\nmodule-type: widget\n\nWidget for definition of slots within transcluded content. The values provided by the translusion are passed to the slot.\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\tTranscludeWidget = require(\"$:/core/modules/widgets/transclude.js\").transclude;\n\nvar SlotWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSlotWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSlotWidget.prototype.render = function(parent,nextSibling) {\n\t// Call the constructor\n\tWidget.call(this);\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSlotWidget.prototype.execute = function() {\n\tvar self = this;\n\tthis.slotName = this.getAttribute(\"$name\");\n\tthis.slotDepth = parseInt(this.getAttribute(\"$depth\",\"1\"),10) || 1;\n\t// Find the parent transclusions\n\tvar pointer = this.parentWidget,\n\t\tdepth = this.slotDepth;\n\twhile(pointer) {\n\t\tif(pointer instanceof TranscludeWidget && pointer.hasVisibleSlots()) {\n\t\t\tdepth--;\n\t\t\tif(depth <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tpointer = pointer.parentWidget;\n\t}\n\tvar parseTreeNodes = [{type: \"text\", attributes: {text: {type: \"string\", value: \"Missing slot reference!\"}}}];\n\tif(pointer instanceof TranscludeWidget) {\n\t\t// Get the parse tree nodes comprising the slot contents\n\t\tparseTreeNodes = pointer.getTransclusionSlotFill(this.slotName,this.parseTreeNode.children);\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSlotWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$name\"] || changedAttributes[\"$depth\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.slot = SlotWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/text.js":{"title":"$:/core/modules/widgets/text.js","text":"/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node 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 TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/tiddler.js":{"title":"$:/core/modules/widgets/tiddler.js","text":"/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler 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 TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/transclude.js":{"title":"$:/core/modules/widgets/transclude.js","text":"/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude 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 TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our attributes, string parameters, and slot values into properties of the widget object\n\tthis.collectAttributes();\n\tthis.collectStringParameters();\n\tthis.collectSlotFillParameters();\n\t// Determine whether we're being used in inline or block mode\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\t// Set 'thisTiddler'\n\tthis.setVariable(\"thisTiddler\",this.transcludeTitle);\n\tvar parseTreeNodes, target;\n\t// Process the transclusion according to the output type\n\tswitch(this.transcludeOutput || \"text/html\") {\n\t\tcase \"text/html\":\n\t\t\t// Return the parse tree nodes of the target\n\t\t\ttarget = this.parseTransclusionTarget(parseAsInline);\n\t\t\tthis.parseAsInline = target.parseAsInline;\n\t\t\tparseTreeNodes = target.parseTreeNodes;\n\t\t\tbreak;\n\t\tcase \"text/raw\":\n\t\t\t// Just return the raw text\n\t\t\ttarget = this.getTransclusionTarget();\n\t\t\tparseTreeNodes = [{type: \"text\", text: target.text}];\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// \"text/plain\" is the plain text result of wikifying the text\n\t\t\ttarget = this.parseTransclusionTarget(parseAsInline);\n\t\t\tvar widgetNode = this.wiki.makeWidget(target.parser,{\n\t\t\t\tparentWidget: this,\n\t\t\t\tdocument: $tw.fakeDocument\n\t\t\t});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tparseTreeNodes = [{type: \"text\", text: container.textContent}];\n\t\t\tbreak;\n\t}\n\tthis.sourceText = target.text;\n\tthis.parserType = target.type;\n\t// Set the legacy transclusion context variables only if we're not transcluding a variable\n\tif(!this.transcludeVariable) {\n\t\tvar recursionMarker = this.makeRecursionMarker();\n\t\tthis.setVariable(\"transclusion\",recursionMarker);\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCollect the attributes we need, in the process determining whether we're being used in legacy mode\n*/\nTranscludeWidget.prototype.collectAttributes = function() {\n\tvar self = this;\n\t// Detect legacy mode\n\tthis.legacyMode = true;\n\t$tw.utils.each(this.attributes,function(value,name) {\n\t\tif(name.charAt(0) === \"$\") {\n\t\t\tself.legacyMode = false;\n\t\t}\n\t});\n\t// Get the attributes for the appropriate mode\n\tif(this.legacyMode) {\n\t\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\t\tthis.transcludeField = this.getAttribute(\"field\");\n\t\tthis.transcludeIndex = this.getAttribute(\"index\");\n\t\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t\tthis.recursionMarker = this.getAttribute(\"recursionMarker\",\"yes\");\n\t} else {\n\t\tthis.transcludeVariable = this.getAttribute(\"$variable\");\n\t\tthis.transcludeVariableIsFunction = false;\n\t\tthis.transcludeType = this.getAttribute(\"$type\");\n\t\tthis.transcludeOutput = this.getAttribute(\"$output\",\"text/html\");\n\t\tthis.transcludeTitle = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.transcludeSubTiddler = this.getAttribute(\"$subtiddler\");\n\t\tthis.transcludeField = this.getAttribute(\"$field\");\n\t\tthis.transcludeIndex = this.getAttribute(\"$index\");\n\t\tthis.transcludeMode = this.getAttribute(\"$mode\");\n\t\tthis.recursionMarker = this.getAttribute(\"$recursionMarker\",\"yes\");\n\t}\n};\n\n/*\nCollect string parameters\n*/\nTranscludeWidget.prototype.collectStringParameters = function() {\n\tvar self = this;\n\tthis.stringParametersByName = Object.create(null);\n\tif(!this.legacyMode) {\n\t\t$tw.utils.each(this.attributes,function(value,name) {\n\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\tif(name.charAt(1) === \"$\") {\n\t\t\t\t\t// Attributes starting $$ represent parameters starting with a single $\n\t\t\t\t\tname = name.slice(1);\n\t\t\t\t} else {\n\t\t\t\t\t// Attributes starting with a single $ are reserved for the widget\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tself.stringParametersByName[name] = value;\n\t\t});\n\t}\n};\n\n/*\nCollect slot value parameters\n*/\nTranscludeWidget.prototype.collectSlotFillParameters = function() {\n\tvar self = this;\n\tthis.slotFillParseTrees = Object.create(null);\n\tif(this.legacyMode) {\n\t\tthis.slotFillParseTrees[\"ts-missing\"] = this.parseTreeNode.children;\n\t} else {\n\t\tthis.slotFillParseTrees[\"ts-raw\"] = this.parseTreeNode.children;\n\t\tvar noFillWidgetsFound = true,\n\t\t\tsearchParseTreeNodes = function(nodes) {\n\t\t\t\t$tw.utils.each(nodes,function(node) {\n\t\t\t\t\tif(node.type === \"fill\") {\n\t\t\t\t\t\tif(node.attributes[\"$name\"] && node.attributes[\"$name\"].type === \"string\") {\n\t\t\t\t\t\t\tvar slotValueName = node.attributes[\"$name\"].value;\n\t\t\t\t\t\t\tself.slotFillParseTrees[slotValueName] = node.children || [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnoFillWidgetsFound = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsearchParseTreeNodes(node.children);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\tsearchParseTreeNodes(this.parseTreeNode.children);\n\t\tif(noFillWidgetsFound) {\n\t\t\tthis.slotFillParseTrees[\"ts-missing\"] = this.parseTreeNode.children;\n\t\t}\n\t}\n};\n\n/*\nGet transcluded details as an object {text:,type:}\n*/\nTranscludeWidget.prototype.getTransclusionTarget = function() {\n\tvar self = this;\n\tvar text;\n\t// Return the text and type of the target\n\tif(this.hasAttribute(\"$variable\")) {\n\t\tif(this.transcludeVariable) {\n\t\t\t// Transcluding a variable\n\t\t\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\n\t\t\tthis.transcludeVariableIsFunction = variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition;\n\t\t\ttext = variableInfo.text;\n\t\t\tthis.transcludeFunctionResult = text;\n\t\t\treturn {\n\t\t\t\ttext: variableInfo.text,\n\t\t\t\ttype: this.transcludeType\n\t\t\t};\n\t\t}\n\t} else {\n\t\t// Transcluding a text reference\n\t\tvar parserInfo = this.wiki.getTextReferenceParserInfo(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler,\n\t\t\t\t\t\t\tdefaultType: this.transcludeType\n\t\t\t\t\t\t});\n\t\treturn {\n\t\t\ttext: parserInfo.text,\n\t\t\ttype: parserInfo.type\n\t\t};\n\t}\n};\n\n/*\nGet transcluded parse tree nodes as an object {text:,type:,parseTreeNodes:,parseAsInline:}\n*/\nTranscludeWidget.prototype.parseTransclusionTarget = function(parseAsInline) {\n\tvar self = this;\n\tvar parser;\n\t// Get the parse tree\n\tif(this.hasAttribute(\"$variable\")) {\n\t\tif(this.transcludeVariable) {\n\t\t\t// Transcluding a variable\n\t\t\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()}),\n\t\t\t\tsrcVariable = variableInfo && variableInfo.srcVariable;\n\t\t\tif(srcVariable && srcVariable.isFunctionDefinition) {\n\t\t\t\tthis.transcludeVariableIsFunction = true;\n\t\t\t\tthis.transcludeFunctionResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \"\";\n\t\t\t}\n\t\t\tif(variableInfo.text) {\n\t\t\t\tif(srcVariable && srcVariable.isFunctionDefinition) {\n\t\t\t\t\tparser = {\n\t\t\t\t\t\ttree: [{\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tsource: this.transcludeFunctionResult,\n\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\"\n\t\t\t\t\t};\n\t\t\t\t\tif(parseAsInline) {\n\t\t\t\t\t\tparser.tree[0] = {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparser.tree[0] = {\n\t\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\t\ttag: \"p\",\n\t\t\t\t\t\t\tchildren: [{\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\ttext: this.transcludeFunctionResult\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvar cacheKey = (parseAsInline ? \"inlineParser\" : \"blockParser\") + (this.transcludeType || \"\");\n\t\t\t\t\tif(variableInfo.isCacheable && srcVariable[cacheKey]) {\n\t\t\t\t\t\tparser = srcVariable[cacheKey];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tparser = this.wiki.parseText(this.transcludeType,variableInfo.text || \"\",{parseAsInline: parseAsInline, configTrimWhiteSpace: srcVariable && srcVariable.configTrimWhiteSpace});\n\t\t\t\t\t\tif(variableInfo.isCacheable) {\n\t\t\t\t\t\t\tsrcVariable[cacheKey] = parser;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parser) {\n\t\t\t\t\t// Add parameters widget for procedures and custom widgets\n\t\t\t\t\tif(srcVariable && (srcVariable.isProcedureDefinition || srcVariable.isWidgetDefinition)) {\n\t\t\t\t\t\tparser = {\n\t\t\t\t\t\t\ttree: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"parameters\",\n\t\t\t\t\t\t\t\t\tchildren: parser.tree\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tsource: parser.source,\n\t\t\t\t\t\t\ttype: parser.type\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$tw.utils.each(srcVariable.params,function(param) {\n\t\t\t\t\t\t\tvar name = param.name;\n\t\t\t\t\t\t\t// Parameter names starting with dollar must be escaped to double dollars\n\t\t\t\t\t\t\tif(name.charAt(0) === \"$\") {\n\t\t\t\t\t\t\t\tname = \"$\" + name;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],name,param[\"default\"])\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if(srcVariable && !srcVariable.isFunctionDefinition) {\n\t\t\t\t\t\t// For macros and ordinary variables, wrap the parse tree in a vars widget assigning the parameters to variables named \"__paramname__\"\n\t\t\t\t\t\tparser = {\n\t\t\t\t\t\t\ttree: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: \"vars\",\n\t\t\t\t\t\t\t\t\tchildren: parser.tree\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tsource: parser.source,\n\t\t\t\t\t\t\ttype: parser.type\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$tw.utils.each(variableInfo.params,function(param) {\n\t\t\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(parser.tree[0],\"__\" + param.name + \"__\",param.value)\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// Transcluding a text reference\n\t\tparser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler,\n\t\t\t\t\t\t\tdefaultType: this.transcludeType\n\t\t\t\t\t\t});\n\t}\n\t// Return the parse tree\n\treturn {\n\t\tparser: parser,\n\t\tparseTreeNodes: parser ? parser.tree : (this.slotFillParseTrees[\"ts-missing\"] || []),\n\t\tparseAsInline: parseAsInline,\n\t\ttext: parser && parser.source,\n\t\ttype: parser && parser.type\n\t};\n};\n\n/*\nFetch all the string parameters as an ordered array of {name:, value:} where the name is optional\n*/\nTranscludeWidget.prototype.getOrderedTransclusionParameters = function() {\n\tvar result = [];\n\t// Collect the parameters\n\tfor(var name in this.stringParametersByName) {\n\t\tvar value = this.stringParametersByName[name];\n\t\tresult.push({name: name, value: value});\n\t}\n\t// Sort numerical parameter names first\n\tresult.sort(function(a,b) {\n\t\tvar aIsNumeric = !isNaN(a.name),\n\t\t\tbIsNumeric = !isNaN(b.name);\n\t\tif(aIsNumeric && bIsNumeric) {\n\t\t\treturn a.name - b.name;\n\t\t} else if(aIsNumeric) {\n\t\t\treturn -1;\n\t\t} else if(bIsNumeric) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn a.name === b.name ? 0 : (a.name < b.name ? -1 : 1);\n\t\t}\n\t});\n\t// Remove names from numerical parameters\n\t$tw.utils.each(result,function(param,index) {\n\t\tif(!isNaN(param.name)) {\n\t\t\tdelete param.name;\n\t\t}\n\t});\n\treturn result;\n};\n\n/*\nFetch the value of a parameter\n*/\nTranscludeWidget.prototype.getTransclusionParameter = function(name,index,defaultValue) {\n\tif(name in this.stringParametersByName) {\n\t\treturn this.stringParametersByName[name];\n\t} else {\n\t\tvar name = \"\" + index;\n\t\tif(name in this.stringParametersByName) {\n\t\t\treturn this.stringParametersByName[name];\n\t\t}\n\t}\n\treturn defaultValue;\n};\n\n/*\nGet one of the special parameters to be provided by the parameters widget\n*/\nTranscludeWidget.prototype.getTransclusionMetaParameters = function() {\n\tvar self = this;\n\treturn {\n\t\t\"parseMode\": function() {\n\t\t\treturn self.parseAsInline ? \"inline\" : \"block\";\n\t\t},\n\t\t\"parseTreeNodes\": function() {\n\t\t\treturn JSON.stringify(self.parseTreeNode.children || []);\n\t\t},\n\t\t\"slotFillParseTreeNodes\": function() {\n\t\t\treturn JSON.stringify(self.slotFillParseTrees);\n\t\t},\n\t\t\"params\": function() {\n\t\t\treturn JSON.stringify(self.stringParametersByName);\n\t\t}\n\t};\n};\n\n/*\nFetch the value of a slot\n*/\nTranscludeWidget.prototype.getTransclusionSlotFill = function(name,defaultParseTreeNodes) {\n\tif(name && this.slotFillParseTrees[name] && this.slotFillParseTrees[name].length > 0) {\n\t\treturn this.slotFillParseTrees[name];\n\t} else {\n\t\treturn defaultParseTreeNodes || [];\n\t}\n};\n\n/*\nReturn whether this transclusion should be visible to the slot widget\n*/\nTranscludeWidget.prototype.hasVisibleSlots = function() {\n\treturn this.getAttribute(\"$fillignore\",\"no\") === \"no\";\n}\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\nTranscludeWidget.prototype.parserNeedsRefresh = function() {\n\t// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created\n\tvar parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{subTiddler:this.transcludeSubTiddler});\n\treturn (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType)\n};\n\nTranscludeWidget.prototype.functionNeedsRefresh = function() {\n\tvar oldResult = this.transcludeFunctionResult;\n\tvar variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});\n\tvar newResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || \"\";\n\treturn oldResult !== newResult;\n}\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.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\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/vars.js":{"title":"$:/core/modules/widgets/vars.js","text":"/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\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 VarsWidget = function(parseTreeNode,options) {\n\t// Initialise\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/view.js":{"title":"$:/core/modules/widgets/view.js","text":"/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView 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 ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tthis.viewMode = this.getAttribute(\"mode\",\"block\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified(this.viewMode);\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"htmltextencoded\":\n\t\t\tthis.text = this.getValueAsHtmlTextEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function(mode) {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function(mode) {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{\n\t\tparseAsInline: mode !== \"block\",\n\t\tparentWidget: this\n\t}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsHtmlTextEncoded = function() {\n\treturn $tw.utils.htmlTextEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn $tw.utils.encodeURIComponentExtended(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn $tw.utils.encodeURIComponentExtended($tw.utils.encodeURIComponentExtended(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/widget.js":{"title":"$:/core/modules/widgets/widget.js","text":"/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/* Maximum permitted depth of the widget tree for recursion detection */\nvar MAX_WIDGET_TREE_DEPTH = 1000;\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\t// Bail if parseTreeNode is undefined, meaning that the widget constructor was called without any arguments so that it can be subclassed\n\tif(parseTreeNode === undefined) {\n\t\treturn;\n\t}\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variables = Object.create(this.parentWidget ? this.parentWidget.variables : null);\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\t// Get widget classes\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t\t// Process any subclasses\n\t\t$tw.modules.forEachModuleOfType(\"widget-subclass\",function(title,module) {\n\t\t\tif(module.baseClass) {\n\t\t\t\tvar baseClass = Widget.prototype.widgetClasses[module.baseClass];\n\t\t\t\tif(!baseClass) {\n\t\t\t\t\tthrow \"Module '\" + title + \"' is attemping to extend a non-existent base class '\" + module.baseClass + \"'\";\n\t\t\t\t}\n\t\t\t\tvar subClass = module.constructor;\n\t\t\t\tsubClass.prototype = new baseClass();\n\t\t\t\t$tw.utils.extend(subClass.prototype,module.prototype);\n\t\t\t\tWidget.prototype.widgetClasses[module.name || module.baseClass] = subClass;\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\nisMacroDefinition: true if the variable is set via a \\define macro pragma (and hence should have variable substitution performed)\noptions includes:\n\tisProcedureDefinition: true if the variable is set via a \\procedure pragma (and hence should not have variable substitution performed)\n\tisFunctionDefinition: true if the variable is set via a \\function pragma (and hence should not have variable substitution performed)\n\tisWidgetDefinition: true if the variable is set via a \\widget pragma (and hence should not have variable substitution performed)\n*/\nWidget.prototype.setVariable = function(name,value,params,isMacroDefinition,options) {\n\toptions = options || {};\n\tthis.variables[name] = {\n\t\tvalue: value,\n\t\tparams: params,\n\t\tisMacroDefinition: !!isMacroDefinition,\n\t\tisFunctionDefinition: !!options.isFunctionDefinition,\n\t\tisProcedureDefinition: !!options.isProcedureDefinition,\n\t\tisWidgetDefinition: !!options.isWidgetDefinition,\n\t\tconfigTrimWhiteSpace: !!options.configTrimWhiteSpace\n\t};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\n\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\nsource: optional source iterator for evaluating function invocations\nallowSelfAssigned: if true, includes the current widget in the context chain instead of just the parent\n\nReturns an object with the following fields:\n\nparams: array of {name:,value:} or {value:} of parameters to be applied\ntext: text of variable, with parameters properly substituted\nresultList: result of variable evaluation as an array\nsrcVariable: reference to the object defining the variable\n*/\nWidget.prototype.getVariableInfo = function(name,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tactualParams = options.params || [],\n\t\tvariable;\n\tif(options.allowSelfAssigned) {\n\t\tvariable = this.variables[name];\n\t} else {\n\t\tvariable = this.parentWidget && this.parentWidget.variables[name];\n\t}\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(variable) {\n\t\tvar originalValue = variable.value,\n\t\t\tvalue = originalValue,\n\t\t\tparams = [],\n\t\t\tresultList = [value];\n\t\t// Only substitute parameter and variable references if this variable was defined with the \\define pragma\n\t\tif(variable.isMacroDefinition) {\n\t\t\tparams = self.resolveVariableParameters(variable.params,actualParams);\n\t\t\t// Substitute any parameters specified in the definition\n\t\t\t$tw.utils.each(params,function(param) {\n\t\t\t\tvalue = $tw.utils.replaceString(value,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(param.name) + \"\\\\$\",\"mg\"),param.value);\n\t\t\t});\n\t\t\tvalue = self.substituteVariableReferences(value,options);\n\t\t\tresultList = [value];\n\t\t} else if(variable.isFunctionDefinition) {\n\t\t\t// Function evaluations\n\t\t\tparams = self.resolveVariableParameters(variable.params,actualParams);\n\t\t\tvar variables = options.variables || Object.create(null);\n\t\t\t// Apply default parameter values\n\t\t\t$tw.utils.each(variable.params,function(param,index) {\n\t\t\t\tif(param[\"default\"]) {\n\t\t\t\t\tvariables[param.name] = param[\"default\"];\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Parameters are an array of {value:} or {name:, value:} pairs\n\t\t\t$tw.utils.each(params,function(param) {\n\t\t\t\tvariables[param.name] = param.value;\n\t\t\t});\n\t\t\tresultList = this.wiki.filterTiddlers(value,this.makeFakeWidgetWithVariables(variables),options.source);\n\t\t\tvalue = resultList[0] || \"\";\n\t\t}\n\t\treturn {\n\t\t\ttext: value,\n\t\t\tparams: params,\n\t\t\tresultList: resultList,\n\t\t\tsrcVariable: variable,\n\t\t\tisCacheable: originalValue === value\n\t\t};\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\tvar text = this.evaluateMacroModule(name,actualParams);\n\tif(text === undefined) {\n\t\ttext = options.defaultValue;\n\t}\n\treturn {\n\t\ttext: text,\n\t\tresultList: [text]\n\t};\n};\n\n/*\nSimplified version of getVariableInfo() that just returns the text\n*/\nWidget.prototype.getVariable = function(name,options) {\n\treturn this.getVariableInfo(name,options).text;\n};\n\n/*\nMaps actual parameters onto formal parameters, returning an array of {name:,value:} objects\nformalParams - Array of {name:,default:} (default value is optional)\nactualParams - Array of string values or {name:,value:} (name is optional)\n*/\nWidget.prototype.resolveVariableParameters = function(formalParams,actualParams) {\n\tformalParams = formalParams || [];\n\tactualParams = actualParams || [];\n\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\tparamInfo, paramValue,\n\t\tresults = [];\n\t// Step through each of the parameters in the macro definition\n\tfor(var p=0; p<formalParams.length; p++) {\n\t\t// Check if we've got a macro call parameter with the same name\n\t\tparamInfo = formalParams[p];\n\t\tparamValue = undefined;\n\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\tif(typeof actualParams[m] !== \"string\" && actualParams[m].name === paramInfo.name) {\n\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t}\n\t\t}\n\t\t// If not, use the next available anonymous macro call parameter\n\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\tnextAnonParameter++;\n\t\t}\n\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\tvar param = actualParams[nextAnonParameter++];\n\t\t\tparamValue = typeof param === \"string\" ? param : param.value;\n\t\t}\n\t\t// If we've still not got a value, use the default, if any\n\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t// Store the parameter name and value\n\t\tresults.push({name: paramInfo.name, value: paramValue});\n\t}\n\treturn results;\n};\n\nWidget.prototype.substituteVariableReferences = function(text,options) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn options.variables && options.variables[p1] || (self.getVariable(p1,{defaultValue: \"\"}));\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nMake a fake widget with specified variables, suitable for variable lookup in filters\n*/\nWidget.prototype.makeFakeWidgetWithVariables = function(variables) {\n\tvar self = this;\n\treturn {\n\t\tgetVariable: function(name,opts) {\n\t\t\tif($tw.utils.hop(variables,name)) {\n\t\t\t\treturn variables[name];\n\t\t\t} else {\n\t\t\t\topts = opts || {};\n\t\t\t\topts.variables = variables;\n\t\t\t\treturn self.getVariable(name,opts);\n\t\t\t};\n\t\t},\n\t\tgetVariableInfo: function(name,opts) {\n\t\t\tif($tw.utils.hop(variables,name)) {\n\t\t\t\treturn {\n\t\t\t\t\ttext: variables[name]\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\topts = opts || {};\n\t\t\t\topts.variables = variables;\n\t\t\t\treturn self.getVariableInfo(name,opts);\n\t\t\t};\n\t\t},\n\t\tmakeFakeWidgetWithVariables: self.makeFakeWidgetWithVariables,\n\t\tresolveVariableParameters: self.resolveVariableParameters,\n\t\twiki: self.wiki\n\t};\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed.\nOptions include:\nfilterFn: only include attributes where filterFn(name) returns true\n*/\nWidget.prototype.computeAttributes = function(options) {\n\toptions = options || {};\n\tvar changedAttributes = {},\n\t\tself = this;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(options.filterFn) {\n\t\t\tif(!options.filterFn(name)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tvar value = self.computeAttribute(attribute);\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\nWidget.prototype.computeAttribute = function(attribute) {\n\tvar self = this,\n\t\tvalue;\n\tif(attribute.type === \"filtered\") {\n\t\tvalue = this.wiki.filterTiddlers(attribute.filter,this)[0] || \"\";\n\t} else if(attribute.type === \"indirect\") {\n\t\tvalue = this.wiki.getTextReference(attribute.textReference,\"\",this.getVariable(\"currentTiddler\")) || \"\";\n\t} else if(attribute.type === \"macro\") {\n\t\tvar variableInfo = this.getVariableInfo(attribute.value.name,{params: attribute.value.params});\n\t\tvalue = variableInfo.text;\n\t} else if(attribute.type === \"substituted\") {\n\t\tvalue = this.wiki.getSubstitutedText(attribute.rawValue,this) || \"\";\n\t} else { // String attribute\n\t\tvalue = attribute.value;\n\t}\n\treturn value;\n};\n\n/*\nCheck for the presence of an evaluated attribute on the widget. Note that attributes set to a missing variable (ie attr=<<missing>>) will be treated as missing\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nCheck for the presence of a raw attribute on the widget parse tree node. Note that attributes set to a missing variable (ie attr=<<missing>>) will NOT be treated as missing\n*/\nWidget.prototype.hasParseTreeNodeAttribute = function(name) {\n\treturn $tw.utils.hop(this.parseTreeNode.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the common attributes of the widget to a domNode\noptions include:\nsourcePrefix: prefix of attributes that are to be directly assigned (defaults to the empty string meaning all attributes)\ndestPrefix: prefix to be applied to attribute names that are to be directly assigned (defaults to the emtpy string which means no prefix is added)\nchangedAttributes: hashmap by attribute name of attributes to process (if missing, process all attributes)\nexcludeEventAttributes: ignores attributes whose name would begin with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tchangedAttributes = options.changedAttributes || this.attributes,\n\t\tsourcePrefix = options.sourcePrefix || \"\",\n\t\tdestPrefix = options.destPrefix || \"\",\n\t\tEVENT_ATTRIBUTE_PREFIX = \"on\";\n\tvar assignAttribute = function(name,value) {\n\t\t// Process any style attributes before considering sourcePrefix and destPrefix\n\t\tif(name.substr(0,6) === \"style.\" && name.length > 6) {\n\t\t\tdomNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;\n\t\t\treturn;\n\t\t}\n\t\t// Check if the sourcePrefix is a match\n\t\tif(name.substr(0,sourcePrefix.length) === sourcePrefix) {\n\t\t\tname = destPrefix + name.substr(sourcePrefix.length);\n\t\t} else {\n\t\t\tvalue = undefined;\n\t\t}\n\t\t// Check for excluded attribute names\n\t\tif(options.excludeEventAttributes && name.substr(0,2).toLowerCase() === EVENT_ATTRIBUTE_PREFIX) {\n\t\t\tvalue = undefined;\n\t\t}\n\t\tif(value !== undefined) {\n\t\t\t// Handle the xlink: namespace\n\t\t\tvar namespace = null;\n\t\t\tif(name.substr(0,6) === \"xlink:\" && name.length > 6) {\n\t\t\t\tnamespace = \"http://www.w3.org/1999/xlink\";\n\t\t\t\tname = name.substr(6);\n\t\t\t}\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tdomNode.setAttributeNS(namespace,name,value);\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t};\n\t// If the parse tree node has the orderedAttributes property then use that order\n\tif(this.parseTreeNode.orderedAttributes) {\n\t\t$tw.utils.each(this.parseTreeNode.orderedAttributes,function(attribute,index) {\n\t\t\tif(attribute.name in changedAttributes) {\n\t\t\t\tassignAttribute(attribute.name,self.getAttribute(attribute.name));\n\t\t\t}\n\t\t});\n\t// Otherwise update each changed attribute irrespective of order\n\t} else {\n\t\t$tw.utils.each(changedAttributes,function(value,name) {\n\t\t\tassignAttribute(name,self.getAttribute(name));\n\t\t});\t\n\t}\n};\n\n/*\nGet the number of ancestor widgets for this widget\n*/\nWidget.prototype.getAncestorCount = function() {\n\tif(this.ancestorCount === undefined) {\n\t\tif(this.parentWidget) {\n\t\t\tthis.ancestorCount = this.parentWidget.getAncestorCount() + 1;\n\t\t} else {\n\t\t\tthis.ancestorCount = 0;\n\t\t}\n\t}\n\treturn this.ancestorCount;\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes,options) {\n\toptions = options || {};\n\tthis.children = [];\n\tvar self = this;\n\t// Check for too much recursion\n\tif(this.getAncestorCount() > MAX_WIDGET_TREE_DEPTH) {\n\t\tthis.children.push(this.makeChildWidget({type: \"error\", attributes: {\n\t\t\t\"$message\": {type: \"string\", value: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t}}));\n\t} else {\n\t\t// Create set variable widgets for each variable\n\t\t$tw.utils.each(options.variables,function(value,name) {\n\t\t\tvar setVariableWidget = {\n\t\t\t\ttype: \"set\",\n\t\t\t\tattributes: {\n\t\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t\t},\n\t\t\t\tchildren: parseTreeNodes\n\t\t\t};\n\t\t\tparseTreeNodes = [setVariableWidget];\n\t\t});\n\t\t// Create the child widgets\n\t\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\t\tself.children.push(self.makeChildWidget(childNode));\n\t\t});\n\t}\n};\n\n/*\nConstruct the widget object for a parse tree node\noptions include:\n\tvariables: optional hashmap of variables to wrap around the widget\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode,options) {\n\tvar self = this;\n\toptions = options || {};\n\t// Check whether this node type is defined by a custom widget definition\n\tvar variableDefinitionName = \"$\" + parseTreeNode.type;\n\tif(this.variables[variableDefinitionName]) {\n\t\tvar isOverrideable = function() {\n\t\t\t\t// Widget is overrideable if its name contains a period, or if it is an existing JS widget and we're not in safe mode\n\t\t\t\treturn parseTreeNode.type.indexOf(\".\") !== -1 || (!!self.widgetClasses[parseTreeNode.type] && !$tw.safeMode);\n\t\t\t};\n\t\tif(!parseTreeNode.isNotRemappable && isOverrideable()) { \n\t\t\tvar variableInfo = this.getVariableInfo(variableDefinitionName,{allowSelfAssigned: true});\n\t\t\tif(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.value && variableInfo.srcVariable.isWidgetDefinition) {\n\t\t\t\tvar newParseTreeNode = {\n\t\t\t\t\ttype: \"transclude\",\n\t\t\t\t\tchildren: parseTreeNode.children,\n\t\t\t\t\tisBlock: parseTreeNode.isBlock\n\t\t\t\t};\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,\"$variable\",variableDefinitionName);\n\t\t\t\t$tw.utils.each(parseTreeNode.attributes,function(attr,name) {\n\t\t\t\t\t// If the attribute starts with a dollar then add an extra dollar so that it doesn't clash with the $xxx attributes of transclude\n\t\t\t\t\tname = name.charAt(0) === \"$\" ? \"$\" + name : name;\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(newParseTreeNode,$tw.utils.extend({},attr,{name: name}));\n\t\t\t\t});\n\t\t\t\tparseTreeNode = newParseTreeNode;\n\t\t\t}\n\t\t}\n\t}\n\t// Get the widget class for this node type\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tparseTreeNode\n\t\t\t]\n\t\t};\n\t\tparseTreeNode = setVariableWidget;\n\t});\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\tvar children = this.children;\n\tfor(var i = 0; i < children.length; i++) {\n\t\tchildren[i].render(parent,nextSibling);\n\t};\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\tevent.widget = event.widget || this;\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar children = this.children,\n\t\trefreshed = false;\n\tfor (var i = 0; i < children.length; i++) {\n\t\trefreshed = children[i].refresh(changedTiddlers) || refreshed;\n\t}\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t],\n\t\t\tchildIsActionWidget = !!child.invokeAction,\n\t\t\tactionRefreshPolicy = child.getVariable(\"tv-action-refresh-policy\"); // Default is \"once\"\n\t\t// Refresh the child if required\n\t\tif(childIsActionWidget || actionRefreshPolicy === \"always\") {\n\t\t\tchild.refreshSelf();\n\t\t}\n\t\t// Invoke the child if it is an action widget\n\t\tif(childIsActionWidget) {\n\t\t\tif(child.invokeAction(triggeringWidget,event)) {\n\t\t\t\thandled = true;\n\t\t\t}\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event,variables) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document,\n\t\t\tvariables: variables\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\n/*\nExecute action tiddlers by tag\n*/\nWidget.prototype.invokeActionsByTag = function(tag,event,variables) {\n\tvar self = this;\n\t$tw.utils.each(self.wiki.filterTiddlers(\"[all[shadows+tiddlers]tag[\" + tag + \"]!has[draft.of]]\"),function(title) {\n\t\tself.invokeActionString(self.wiki.getTiddlerText(title),self,event,variables);\n\t});\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\n/*\nEvaluate a variable with parameters. This is a static convenience method that attempts to evaluate a variable as a function, returning an array of strings\n*/\nWidget.evaluateVariable = function(widget,name,options) {\n\tvar result;\n\tif(widget.getVariableInfo) {\n\t\tvar variableInfo = widget.getVariableInfo(name,options);\n\t\tresult = variableInfo.resultList || [variableInfo.text];\n\t} else {\n\t\tresult = [widget.getVariable(name)];\n\t}\n\treturn result;\n};\n\nexports.widget = Widget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/widgets/wikify.js":{"title":"$:/core/modules/widgets/wikify.js","text":"/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\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 WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"formattedtext\":\n\t\t\tresult = this.wikifyContainer.formattedTextContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/core/modules/wiki-bulkops.js":{"title":"$:/core/modules/wiki-bulkops.js","text":"/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nfunction renameTiddler(fromTitle,toTitle,options) {\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar oldTiddler = this.getTiddler(fromTitle),\n\t\t\tnewTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());\n\t\tnewTiddler = $tw.hooks.invokeHook(\"th-renaming-tiddler\",newTiddler,oldTiddler);\n\t\tthis.addTiddler(newTiddler);\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.relinkTiddler(fromTitle,toTitle,options)\n\t}\n}\n\n/*\nRelink any tags or lists that reference a given tiddler\n*/\nfunction relinkTiddler(fromTitle,toTitle,options) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\toptions = options || {};\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar type = tiddler.fields.type || \"\";\n\t\t\t// Don't touch plugins or JavaScript modules\n\t\t\tif(!tiddler.fields[\"plugin-type\"] && type !== \"application/javascript\") {\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.slice(0) : undefined,\n\t\t\t\t\tlist = tiddler.fields.list ? tiddler.fields.list.slice(0) : undefined,\n\t\t\t\t\tisModified = false,\n\t\t\t\t\tprocessList = function(listField) {\n\t\t\t\t\t\tif(listField && listField.indexOf(fromTitle) !== -1) {\n\t\t\t\t\t\t\t// Remove any existing instances of the toTitle\n\t\t\t\t\t\t\tvar p = listField.indexOf(toTitle);\n\t\t\t\t\t\t\twhile(p !== -1) {\n\t\t\t\t\t\t\t\tlistField.splice(p,1);\n\t\t\t\t\t\t\t\tp = listField.indexOf(toTitle);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Replace the fromTitle with toTitle\n\t\t\t\t\t\t\t$tw.utils.each(listField,function (title,index) {\n\t\t\t\t\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\t\t\t\t\tlistField[index] = toTitle;\n\t\t\t\t\t\t\t\t\tisModified = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tif(!options.dontRenameInTags) {\n\t\t\t\t\t// Rename tags\n\t\t\t\t\tprocessList(tags);\n\t\t\t\t}\n\t\t\t\tif(!options.dontRenameInLists) {\n\t\t\t\t\t// Rename lists\n\t\t\t\t\tprocessList(list);\n\t\t\t\t}\n\t\t\t\tif(isModified) {\n\t\t\t\t\tvar newTiddler = new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields())\n\t\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-relinking-tiddler\",newTiddler,tiddler);\n\t\t\t\t\tself.addTiddler(newTiddler);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\nexports.renameTiddler = renameTiddler;\nexports.relinkTiddler = relinkTiddler;\n\n})();\n","type":"application/javascript","module-type":"wikimethod"},"$:/core/modules/wiki.js":{"title":"$:/core/modules/wiki.js","text":"/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\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\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\",\n\tTIMESTAMP_DISABLE_TITLE = \"$:/config/TimestampDisable\";\n\n/*\nAdd available indexers to this wiki\n*/\nexports.addIndexersToWiki = function() {\n\tvar self = this;\n\t$tw.utils.each($tw.modules.applyMethods(\"indexer\"),function(Indexer,name) {\n\t\tself.addIndexer(new Indexer(self),name);\n\t});\n};\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title || defaultText;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,{},{suppressTimestamp: options.suppressTimestamp});\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type] || [];\n\tthis.eventListeners[type].push(listener);\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\noptions.prefix must be a string\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle,\n\t\ttemplate = options.template,\n\t\tprefix = (typeof(options.prefix) === \"string\") ? options.prefix : \" \";\n\tif (template) {\n\t\t// \"count\" is important to avoid an endless loop in while(...)!!\n\t\ttemplate = (/\\$count:?(\\d+)?\\$/i.test(template)) ? template : template + \"$count$\";\n\t\ttitle = $tw.utils.formatTitleString(template,{\"base\":baseTitle,\"separator\":prefix,\"counter\":c});\n\t\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\t\ttitle = $tw.utils.formatTitleString(template,{\"base\":baseTitle,\"separator\":prefix,\"counter\":(++c)});\n\t\t}\n\t} else {\n\t\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\t\ttitle = baseTitle + prefix + (++c);\n\t\t}\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isVolatileTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/volatile/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.isBinaryTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.encoding === \"base64\";\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = {\n\t\t\t\tcreated: new Date()\n\t\t\t},\n\t\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\t\tif(creator) {\n\t\t\tfields.creator = creator;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tif(this.getTiddlerText(TIMESTAMP_DISABLE_TITLE,\"\").toLowerCase() !== \"yes\") {\n\t\tvar fields = Object.create(null),\n\t\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\t\tfields.modified = new Date();\n\t\tif(modifier) {\n\t\t\tfields.modifier = modifier;\n\t\t}\n\t\treturn fields;\n\t} else {\n\t\treturn {};\n\t}\n};\n\n/*\nReturn a sorted array of tiddler titles. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric,isAlphaNumeric) {\n\tvar self = this;\n\tif(sortField === \"title\") {\n\t\tif(!isNumeric && !isAlphaNumeric) {\n\t\t\tif(isCaseSensitive) {\n\t\t\t\tif(isDescending) {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn b.localeCompare(a);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn a.localeCompare(b);\n\t\t\t\t\t});\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\tif(isDescending) {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn b.toLowerCase().localeCompare(a.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttitles.sort(function(a,b) {\n\t\t\t\t\t\treturn a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t\t\t\t});\n\t\t\t\t}\t\n\t\t\t}\n\t\t} else {\n\t\t\ttitles.sort(function(a,b) {\n\t\t\t\tvar x,y;\n\t\t\t\tif(isNumeric) {\n\t\t\t\t\tx = Number(a);\n\t\t\t\t\ty = Number(b);\n\t\t\t\t\tif(isNaN(x)) {\n\t\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t\t// If neither value is a number then fall through to a textual comparison\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn isDescending ? -1 : 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t\treturn isDescending ? 1 : -1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn isDescending ? y - x : x - y;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(isAlphaNumeric) {\n\t\t\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t\t}\n\t\t\t\tif(!isCaseSensitive) {\n\t\t\t\t\ta = a.toLowerCase();\n\t\t\t\t\tb = b.toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t\t});\n\t\t}\n\t} else {\n\t\ttitles.sort(function(a,b) {\n\t\t\tvar x,y;\n\t\t\tif(sortField !== \"title\") {\n\t\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\t\tif(tiddlerA) {\n\t\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\ta = \"\";\n\t\t\t\t}\n\t\t\t\tif(tiddlerB) {\n\t\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t\t} else {\n\t\t\t\t\tb = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(isNumeric) {\n\t\t\t\tx = Number(a);\n\t\t\t\ty = Number(b);\n\t\t\t\tif(isNaN(x)) {\n\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\t// If neither value is a number then fall through to a textual comparison\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn isDescending ? -1 : 1;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(isNaN(y)) {\n\t\t\t\t\t\treturn isDescending ? 1 : -1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn isDescending ? y - x : x - y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(Object.prototype.toString.call(a) === \"[object Date]\" && Object.prototype.toString.call(b) === \"[object Date]\") {\n\t\t\t\treturn isDescending ? b - a : a - b;\n\t\t\t}\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(isAlphaNumeric) {\n\t\t\t\treturn isDescending ? b.localeCompare(a,undefined,{numeric: true,sensitivity: \"base\"}) : a.localeCompare(b,undefined,{numeric: true,sensitivity: \"base\"});\n\t\t\t}\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t});\n\t}\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked within the given parse tree\n */\nexports.extractLinks = function(parseTreeRoot) {\n\t// Count up the links\n\tvar links = [],\n\t\tcheckParseTree = function(parseTree) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn links;\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractLinks(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbackIndexer = this.getIndexer(\"BackIndexer\"),\n\t\tbacklinks = backIndexer && backIndexer.subIndexers.link.lookup(targetTitle);\n\n\tif(!backlinks) {\n\t\tbacklinks = [];\n\t\tthis.forEachTiddler(function(title,tiddler) {\n\t\t\tvar links = self.getTiddlerLinks(title);\n\t\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\t\tbacklinks.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn backlinks;\n};\n\n\n/*\nReturn an array of tiddler titles that are directly transcluded within the given parse tree\n */\nexports.extractTranscludes = function(parseTreeRoot) {\n\t// Count up the transcludes\n\tvar transcludes = [],\n\t\tcheckParseTree = function(parseTree, parentNode) {\n\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\tif(parseTreeNode.type === \"transclude\" && parseTreeNode.attributes.$tiddler && parseTreeNode.attributes.$tiddler.type === \"string\") {\n\t\t\t\t\tvar value;\n\t\t\t\t\t// if it is Transclusion with Templates like `{{Index||$:/core/ui/TagTemplate}}`, the `$tiddler` will point to the template. We need to find the actual target tiddler from parent node\n\t\t\t\t\tif(parentNode && parentNode.type === \"tiddler\" && parentNode.attributes.tiddler && parentNode.attributes.tiddler.type === \"string\") {\n\t\t\t\t\t\tvalue = parentNode.attributes.tiddler.value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = parseTreeNode.attributes.$tiddler.value;\n\t\t\t\t\t}\n\t\t\t\t\tif(transcludes.indexOf(value) === -1) {\n\t\t\t\t\t\ttranscludes.push(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\tcheckParseTree(parseTreeNode.children, parseTreeNode);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcheckParseTree(parseTreeRoot);\n\treturn transcludes;\n};\n\n\n/*\nReturn an array of tiddler titles that are transcluded from the specified tiddler\n*/\nexports.getTiddlerTranscludes = function(title) {\n\tvar self = this;\n\t// We'll cache the transcludes so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"transcludes\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\tif(parser) {\n\t\t\treturn self.extractTranscludes(parser.tree);\n\t\t}\n\t\treturn [];\n\t});\n};\n\n/*\nReturn an array of tiddler titles that transclude to the specified tiddler\n*/\nexports.getTiddlerBacktranscludes = function(targetTitle) {\n\tvar self = this,\n\t\tbackIndexer = this.getIndexer(\"BackIndexer\"),\n\t\tbacktranscludes = backIndexer && backIndexer.subIndexers.transclude.lookup(targetTitle);\n\n\tif(!backtranscludes) {\n\t\tbacktranscludes = [];\n\t}\n\treturn backtranscludes;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\t// Try to use the indexer\n\tvar self = this,\n\t\ttagIndexer = this.getIndexer(\"TagIndexer\"),\n\t\tresults = tagIndexer && tagIndexer.subIndexers[3].lookup(tag);\n\tif(!results) {\n\t\t// If not available, perform a manual scan\n\t\tresults = this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\t\tvar tagmap = self.getTagMap();\n\t\t\treturn self.sortByList(tagmap[tag],tag);\n\t\t});\n\t}\n\treturn results;\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar wiki = this;\n\tvar listings = this.getGlobalCache(\"listings-\" + fieldName,function() {\n\t\tvar listings = Object.create(null);\n\t\twiki.each(function(tiddler,title) {\n\t\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\t\tif(list) {\n\t\t\t\tfor(var i = 0; i < list.length; i++) {\n\t\t\t\t\tvar listItem = list[i],\n\t\t\t\t\t\tlisting = listings[listItem] || [];\n\t\t\t\t\tif (listing.indexOf(title) === -1) {\n\t\t\t\t\t\tlisting.push(title);\n\t\t\t\t\t}\n\t\t\t\t\tlistings[listItem] = listing;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn listings;\n\t});\n\treturn listings[targetTitle] || [];\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar self = this,\n\t\treplacedTitles = Object.create(null);\n\t// Given a title, this function will place it in the correct location\n\t// within titles.\n\tfunction moveItemInList(title) {\n\t\tif(!$tw.utils.hop(replacedTitles, title)) {\n\t\t\treplacedTitles[title] = true;\n\t\t\tvar newPos = -1,\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(afterTitle === \"\") {\n\t\t\t\t\tnewPos = titles.length;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\t// if this title is placed relative\n\t\t\t\t\t// to another title, make sure that\n\t\t\t\t\t// title is placed before we place\n\t\t\t\t\t// this one.\n\t\t\t\t\tmoveItemInList(beforeTitle);\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\t// Same deal\n\t\t\t\t\tmoveItemInList(afterTitle);\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If a new position is specified, let's move it\n\t\t\t\tif (newPos !== -1) {\n\t\t\t\t\t// get its current Pos, and make sure\n\t\t\t\t\t// sure that it's _actually_ in the list\n\t\t\t\t\t// and that it would _actually_ move\n\t\t\t\t\t// (#4275) We don't bother calling\n\t\t\t\t\t// indexOf unless we have a new\n\t\t\t\t\t// position to work with\n\t\t\t\t\tvar currPos = titles.indexOf(title);\n\t\t\t\t\tif(currPos >= 0 && newPos !== currPos) {\n\t\t\t\t\t\t// move it!\n\t\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tmoveItemInList(title);\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\nexports.getTiddlersAsJson = function(filter,spaces) {\n\tvar tiddlers = this.filterTiddlers(filter),\n\t\tspaces = (spaces === undefined) ? $tw.config.preferences.jsonSpaces : spaces,\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,spaces);\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,undefined);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t}) || defaultData;\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\treturn $tw.utils.parseJSONSafe(tiddler.fields.text,defaultData);\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerDataCached(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\noptions: optional hashmap of options including:\n\tsuppressTimestamp: if true, don't set the creation/modification timestamps\n*/\nexports.setTiddlerData = function(title,data,fields,options) {\n\toptions = options || {};\n\tvar existingTiddler = this.getTiddler(title),\n\t\tcreationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields(),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(creationFields,existingTiddler,fields,newFields,modificationFields));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName] !== undefined) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n\t// Use the generic binary parser for any binary types not registered so far\n\tif($tw.Wiki.parsers[\"application/octet-stream\"]) {\n\t\tObject.keys($tw.config.contentTypeInfo).forEach(function(type) {\n\t\t\tif(!$tw.utils.hop($tw.Wiki.parsers,type) && $tw.config.contentTypeInfo[type].encoding === \"base64\") {\n\t\t\t\t$tw.Wiki.parsers[type] = $tw.Wiki.parsers[\"application/octet-stream\"];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri,\n\t\tconfigTrimWhiteSpace: options.configTrimWhiteSpace\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,\n\t\ttext,\n\t\tparserInfo;\n\tif(!options.subTiddler) {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t} \n\tparserInfo = this.getTextReferenceParserInfo(title,field,index,options);\n\tif(parserInfo.sourceText !== null) {\n\t\treturn this.parseText(parserInfo.parserType,parserInfo.sourceText,options);\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.getTextReferenceParserInfo = function(title,field,index,options) {\n\tvar defaultType = options.defaultType || \"text/vnd.tiddlywiki\",\n\t\ttiddler,\n\t\tparserInfo = {\n\t\t\tsourceText : null,\n\t\t\tparserType : defaultType\n\t\t};\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\tparserInfo.sourceText = tiddler.fields.text || \"\";\n\t\t\tif(tiddler.fields.type) {\n\t\t\t\tparserInfo.parserType = tiddler.fields.type;\n\t\t\t}\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\tparserInfo.sourceText = title;\n\t\t} else if(tiddler && tiddler.fields) {\n\t\t\tparserInfo.sourceText = tiddler.hasField(field) ? tiddler.fields[field].toString() : null;\n\t\t}\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\tparserInfo.sourceText = this.extractTiddlerDataItem(tiddler,index,null);\n\t}\n\tif(parserInfo.sourceText === null) {\n\t\tparserInfo.parserType = null;\n\t}\n\treturn parserInfo;\n}\n\n/*\nParse a block of text of a specified MIME type\n\ttext: text on which to perform substitutions\n\twidget\n\toptions: see below\nOptions include:\n\tsubstitutions: an optional array of substitutions\n*/\nexports.getSubstitutedText = function(text,widget,options) {\n\toptions = options || {};\n\ttext = text || \"\";\n\tvar self = this,\n\t\tsubstitutions = options.substitutions || [],\n\t\toutput;\n\t// Evaluate embedded filters and substitute with first result\n\toutput = text.replace(/\\$\\{([\\S\\s]+?)\\}\\$/g, function(match,filter) {\n\t\treturn self.filterTiddlers(filter,widget)[0] || \"\";\n\t});\n\t// Process any substitutions provided in options\n\t$tw.utils.each(substitutions,function(substitute) {\n\t\toutput = $tw.utils.replaceString(output,new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(substitute.name) + \"\\\\$\",\"mg\"),substitute.value);\n\t});\n\t// Substitute any variable references with their values\n\treturn output.replace(/\\$\\(([^\\)\\$]+)\\)\\$/g, function(match,varname) {\n\t\treturn widget.getVariable(varname,{defaultValue: \"\"})\n\t});\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create let variable widget for variables\n\tif($tw.utils.count(options.variables) > 0) {\n\t\tvar letVariableWidget = {\n\t\t\ttype: \"let\",\n\t\t\tattributes: {\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\t$tw.utils.each(options.variables,function(value,name) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(letVariableWidget,name,\"\" + value);\n\t\t});\n\t\tcurrWidgetNode.children = [letVariableWidget];\n\t\tcurrWidgetNode = letVariableWidget;\n\t}\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.recursionMarker : optional flag to set a recursion marker, defaults to \"yes\"\noptions.children: optional array of children for the transclude widget\noptions.importVariables: optional importvariables filter string for macros to be included\noptions.importPageMacros: optional boolean; if true, equivalent to passing \"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\" to options.importVariables\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTreeDiv = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: []}]},\n\t\tparseTreeImportVariables = {\n\t\t\ttype: \"importvariables\",\n\t\t\tattributes: {\n\t\t\t\tfilter: {\n\t\t\t\t\tname: \"filter\",\n\t\t\t\t\ttype: \"string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: false,\n\t\t\tchildren: []},\n\t\tparseTreeTransclude = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\trecursionMarker: {\n\t\t\t\t\tname: \"recursionMarker\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: options.recursionMarker || \"yes\"\n\t\t\t\t\t},\n\t\t\t\ttiddler: {\n\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t\t\t}\n\t\t\t},\n\t\t\tisBlock: !options.parseAsInline};\n\tif(options.importVariables || options.importPageMacros) {\n\t\tif(options.importVariables) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = options.importVariables;\n\t\t} else if(options.importPageMacros) {\n\t\t\tparseTreeImportVariables.attributes.filter.value = this.getTiddlerText(\"$:/core/config/GlobalImportFilter\");\n\t\t}\n\t\tparseTreeDiv.tree[0].children.push(parseTreeImportVariables);\n\t\tparseTreeImportVariables.children.push(parseTreeTransclude);\n\t} else {\n\t\tparseTreeDiv.tree[0].children.push(parseTreeTransclude);\n\t}\n\tif(options.field) {\n\t\tparseTreeTransclude.attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTreeTransclude.attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTreeTransclude.children = options.children;\n\t}\n\treturn this.makeWidget(parseTreeDiv,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator),\n\t\twhere iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tfield: If specified, restricts the search to the specified field, or an array of field names\n\tanchored: If true, forces all but regexp searches to be anchored to the start of text\n\texcludeField: If true, the field options are inverted to specify the fields that are not to be searched\n\n\tThe search mode is determined by the first of these boolean flags to be true\n\t\tliteral: searches for literal string\n\t\twhitespace: same as literal except runs of whitespace are treated as a single space\n\t\tregexp: treats the search term as a regular expression\n\t\twords: (default) treats search string as a list of tokens, and matches if all tokens are found, \n\t\t\tregardless of adjacency or ordering\n\t\tsome: treats search string as a list of tokens, and matches if at least ONE token is found\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tregExpStr=\"\",\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\",\n\t\tanchor = options.anchored ? \"^\" : \"\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else if(options.whitespace) {\n\t\tterms = [];\n\t\t$tw.utils.each(text.split(/\\s+/g),function(term) {\n\t\t\tif(term) {\n\t\t\t\tterms.push($tw.utils.escapeRegExp(term));\n\t\t\t}\n\t\t});\n\t\tsearchTermsRegExps = [new RegExp(\"(\" + anchor + terms.join(\"\\\\s+\") + \")\",flags)];\n\t} else if(options.regexp) {\n\t\ttry {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + text + \")\",flags)];\n\t\t} catch(e) {\n\t\t\tsearchTermsRegExps = null;\n\t\t\tconsole.log(\"Regexp error parsing /(\" + text + \")/\" + flags + \": \",e);\n\t\t}\n\t} else if(options.some) {\n\t\tterms = text.trim().split(/[^\\S\\xA0]+/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tregExpStr += (t===0) ? anchor + $tw.utils.escapeRegExp(terms[t]) : \"|\" + anchor + $tw.utils.escapeRegExp(terms[t]);\n\t\t\t}\n\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + regExpStr + \")\",flags));\n\t\t}\n\t} else { // default: words\n\t\tterms = text.split(/[^\\S\\xA0]+/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + anchor + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n// Accumulate the array of fields to be searched or excluded from the search\n\tvar fields = [];\n\tif(options.field) {\n\t\tif($tw.utils.isArray(options.field)) {\n\t\t\t$tw.utils.each(options.field,function(fieldName) {\n\t\t\t\tif(fieldName) {\n\t\t\t\t\tfields.push(fieldName);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tfields.push(options.field);\n\t\t}\n\t}\n\t// Use default fields if none specified and we're not excluding fields (excluding fields with an empty field array is the same as searching all fields)\n\tif(fields.length === 0 && !options.excludeField) {\n\t\tfields.push(\"title\");\n\t\tfields.push(\"tags\");\n\t\tfields.push(\"text\");\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar notYetFound = searchTermsRegExps.slice();\n\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tsearchFields;\n\t\t// Get the list of fields we're searching\n\t\tif(options.excludeField) {\n\t\t\tsearchFields = Object.keys(tiddler.fields);\n\t\t\t$tw.utils.each(fields,function(fieldName) {\n\t\t\t\tvar p = searchFields.indexOf(fieldName);\n\t\t\t\tif(p !== -1) {\n\t\t\t\t\tsearchFields.splice(p,1);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsearchFields = fields;\n\t\t}\n\t\tfor(var fieldIndex=0; notYetFound.length>0 && fieldIndex<searchFields.length; fieldIndex++) {\n\t\t\t// Don't search the text field if the content type is binary\n\t\t\tvar fieldName = searchFields[fieldIndex];\n\t\t\tif(fieldName === \"text\" && contentTypeInfo.encoding !== \"utf8\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tvar str = tiddler.fields[fieldName],\n\t\t\t\tt;\n\t\t\tif(str) {\n\t\t\t\tif($tw.utils.isArray(str)) {\n\t\t\t\t\t// If the field value is an array, test each regexp against each field array entry and fail if each regexp doesn't match at least one field array entry\n\t\t\t\t\tfor(var s=0; s<str.length; s++) {\n\t\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\t\tif(notYetFound[t].test(str[s])) {\n\t\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// If the field isn't an array, force it to a string and test each regexp against it and fail if any do not match\n\t\t\t\t\tstr = tiddler.getFieldString(fieldName);\n\t\t\t\t\tfor(t=0; t<notYetFound.length;) {\n\t\t\t\t\t\tif(notYetFound[t].test(str)) {\n\t\t\t\t\t\t\tnotYetFound.splice(t, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tt++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn notYetFound.length == 0;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(!tiddler.hasField(\"_is_skinny\")) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text || \"\";\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nCheck whether the text of a tiddler matches a given value. By default, the comparison is case insensitive, and any spaces at either end of the tiddler text is trimmed\n*/\nexports.checkTiddlerText = function(title,targetText,options) {\n\toptions = options || {};\n\tvar text = this.getTiddlerText(title,\"\");\n\tif(!options.noTrim) {\n\t\ttext = text.trim();\n\t}\n\tif(!options.caseSensitive) {\n\t\ttext = text.toLowerCase();\n\t\ttargetText = targetText.toLowerCase();\n\t}\n\treturn text === targetText;\n}\n\n/*\nExecute an action string without an associated context widget\n*/\nexports.invokeActionString = function(actions,event,variables,options) {\n\tvar widget = this.makeWidget(null,{parentWidget: options.parentWidget});\n\twidget.invokeActionString(actions,null,event,variables);\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\tvar result = [],\n\t\toutstanding = files.length,\n\t\treadFileCallback = function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t};\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],$tw.utils.extend({},options,{callback: readFileCallback}));\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,options) {\n\tvar callback;\n\tif(typeof options === \"function\") {\n\t\tcallback = options;\n\t\toptions = {};\n\t} else {\n\t\tcallback = options.callback;\n\t}\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Give the hook a chance to process the drag\n\tif($tw.hooks.invokeHook(\"th-importing-file\",{\n\t\tfile: file,\n\t\ttype: type,\n\t\tisBinary: isBinary,\n\t\tcallback: callback\n\t}) !== true) {\n\t\tthis.readFileContent(file,type,isBinary,options.deserializer,callback);\n\t}\n};\n\n/*\nLower level utility to read the content of a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFileContent = function(file,type,isBinary,deserializer,callback) {\n\tvar self = this;\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\"};\n\t\tif(isBinary) {\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttext = text.substr(commaPos + 1);\n\t\t\t}\n\t\t}\n\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedJson) {\n\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\tcallback(tiddlers);\n\t\t\t});\n\t\t} else {\n\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields,{deserializer: deserializer}));\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n\tconsole.log(\"$tw.wiki.addToHistory() is deprecated since V5.1.23! Use the this.story.addToHistory() from the story-object!\")\n};\n\n/*\nAdd a new tiddler to the story river\ntitle: a title string or an array of title strings\nfromTitle: the title of the tiddler from which the navigation originated\nstoryTitle: title of story tiddler (defaults to $:/StoryList)\noptions: see story.js\n*/\nexports.addToStory = function(title,fromTitle,storyTitle,options) {\n\tvar story = new $tw.Story({wiki: this, storyTitle: storyTitle});\n\tstory.addToStory(title,fromTitle,options);\n\tconsole.log(\"$tw.wiki.addToStory() is deprecated since V5.1.23! Use the this.story.addToStory() from the story-object!\")\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nexports.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle,\n\t\tusername = this.getTiddlerText(\"$:/status/UserName\"),\n\t\tattribution = username ? \" by \" + username : \"\";\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\" + attribution;\n\t\tc++;\n\t} while(this.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n// Determine whether a plugin by title is dynamically loadable\nexports.doesPluginRequireReload = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler && tiddler.fields.type === \"application/json\" && tiddler.fields[\"plugin-type\"]) {\n\t\tif(tiddler.fields[\"plugin-type\"] === \"import\") {\n\t\t\t// The import plugin never requires reloading\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn this.doesPluginInfoRequireReload(this.getPluginInfo(title) || this.getTiddlerDataCached(title));\n};\n\n// Determine whether a plugin info structure is dynamically loadable\nexports.doesPluginInfoRequireReload = function(pluginInfo) {\n\tif(pluginInfo) {\n\t\tvar foundModule = false;\n\t\t$tw.utils.each(pluginInfo.tiddlers,function(tiddler) {\n\t\t\tif(tiddler.type === \"application/javascript\" && $tw.utils.hop(tiddler,\"module-type\")) {\n\t\t\t\tfoundModule = true;\n\t\t\t}\n\t\t});\n\t\treturn foundModule;\n\t} else {\n\t\treturn null;\n\t}\n};\n\nexports.slugify = function(title,options) {\n\tvar tiddler = this.getTiddler(title),\n\t\tslug;\n\tif(tiddler && tiddler.fields.slug) {\n\t\tslug = tiddler.fields.slug;\n\t} else {\n\t\tslug = $tw.utils.transliterate(title.toString().toLowerCase()) // Replace diacritics with basic lowercase ASCII\n\t\t\t.replace(/\\s+/g,\"-\") // Replace spaces with -\n\t\t\t.replace(/[^\\w\\-\\.]+/g,\"\") // Remove all non-word chars except dash and dot\n\t\t\t.replace(/\\-\\-+/g,\"-\") // Replace multiple - with single -\n\t\t\t.replace(/^-+/,\"\") // Trim - from start of text\n\t\t\t.replace(/-+$/,\"\"); // Trim - from end of text\n\t}\n\t// If the resulting slug is blank (eg because the title is just punctuation characters)\n\tif(!slug) {\n\t\t// ...then just use the character codes of the title\n\t\tvar result = [];\n\t\t$tw.utils.each(title.split(\"\"),function(char) {\n\t\t\tresult.push(char.charCodeAt(0).toString());\n\t\t});\n\t\tslug = result.join(\"-\");\n\t}\n\treturn slug;\n};\n\n})();\n","type":"application/javascript","module-type":"wikimethod"},"$:/palettes/Blanca":{"title":"$:/palettes/Blanca","name":"Blanca","color-scheme":"light","description":"A clean white palette to let you focus","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/Blue":{"title":"$:/palettes/Blue","name":"Blue","color-scheme":"light","description":"A blue theme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/Muted":{"title":"$:/palettes/Muted","name":"Muted","color-scheme":"light","description":"Bright tiddlers on a muted background","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/ContrastLight":{"title":"$:/palettes/ContrastLight","name":"Contrast (Light)","color-scheme":"light","description":"High contrast and unambiguous (light version)","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"},"$:/palettes/ContrastDark":{"title":"$:/palettes/ContrastDark","name":"Contrast (Dark)","color-scheme":"dark","description":"High contrast and unambiguous (dark version)","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"},"$:/palettes/CupertinoDark":{"title":"$:/palettes/CupertinoDark","tags":"$:/tags/Palette","color-scheme":"dark","name":"Cupertino Dark","description":"A macOS inspired dark palette","type":"application/x-tiddler-dictionary","text":"alert-background: #FF453A\nalert-border: #FF453A\nalert-highlight: #FFD60A\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #282828\nblockquote-bar: <<colour page-background>>\nbutton-foreground: <<colour foreground>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #FF453A\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour tiddler-info-background>>\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: #3F638B\ndropdown-tab-background: #323232\ndropzone-background: #30D158\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #BF5AF2\nexternal-link-foreground: #32D74B\nforeground: #FFFFFF\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmenubar-background: #464646\nmenubar-foreground: #ffffff\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: #98989D\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #323232\npre-background: #464646\npre-border: transparent\nprimary: #0A84FF\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #FF9F0A\nsidebar-controls-foreground: #8E8E93\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: #3F638B\nsidebar-tab-background: <<colour background>>\nsidebar-tab-border-selected: <<colour background>>\nsidebar-tab-border: <<colour background>>\nsidebar-tab-divider: <<colour background>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: #ffffff\nstatic-alert-foreground: #B4B4B4\ntab-background-selected: #3F638B\ntab-background: <<colour page-background>>\ntab-border-selected: <<colour page-background>>\ntab-border: <<colour page-background>>\ntab-divider: <<colour page-background>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #464646\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #48484A\ntag-foreground: #323232\ntiddler-background: <<colour background>>\ntiddler-border: transparent\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: #48484A\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #1E1E1E\ntiddler-info-border: #1E1E1E\ntiddler-info-tab-background: #3F638B\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: #464646\nselection-background: #3F638B\nselection-foreground: #ffffff\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #3F638B\nwikilist-button-foreground: <<colour foreground>>\nwikilist-button-open: #32D74B\nwikilist-button-open-hover: #32D74B\nwikilist-button-reveal: #0A84FF\nwikilist-button-reveal-hover: #0A84FF\nwikilist-button-remove: #FF453A\nwikilist-button-remove-hover: #FF453A\nwikilist-droplink-dragover: #32D74B\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour foreground>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-url: <<colour muted-foreground>>\n"},"$:/palettes/DarkPhotos":{"title":"$:/palettes/DarkPhotos","created":"20150402111612188","description":"Good with dark photo backgrounds","modified":"20150402112344080","name":"DarkPhotos","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","color-scheme":"light","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/DesertSand":{"title":"$:/palettes/DesertSand","tags":"$:/tags/Palette","color-scheme":"light","name":"Desert Sand","description":"A desert sand palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #E9E0C7\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #F3EDDF\ncode-border: #C3BAA1\ncode-foreground: #ab3250\ndiff-delete-background: #bd8b8b\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #91c093\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ad3434\ndownload-background: #6ca16c\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #E9E0C7\ndropdown-tab-background: #BAB29C\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #313163\nexternal-link-foreground: #555592\nforeground: #2D2A23\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmenubar-background: #CDC2A6\nmenubar-foreground: #5A5446\nmessage-background: #ECE5CF\nmessage-border: #D6CBAA\nmessage-foreground: #5f6e7d\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #8A8885\nmodal-footer-background: #CDC2A6\nmodal-footer-border: #9D998E\nmodal-header-border: #9D998E\nmuted-foreground: #9D998E\nnotification-background: #F0E9D7\nnotification-border: #939189\npage-background: #e0d3af\npre-background: #D6CBAA\npre-border: #CDC2A6\nprimary: #5B6F55\nselection-background: #9D947B\nselection-foreground: <<colour foreground>>\nselect-tag-background: #F0E9D7\nselect-tag-foreground: #2D2A23\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #2D2A23\nsidebar-controls-foreground: #867F69\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #867F69\nsidebar-muted-foreground-hover: #706A58\nsidebar-muted-foreground: #B3A98C\nsidebar-tab-background-selected: #e0d3af\nsidebar-tab-background: #A6A193\nsidebar-tab-border-selected: #C3BAA1\nsidebar-tab-border: #C3BAA1\nsidebar-tab-divider: #CDC2A6\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #2D2A23\nsidebar-tiddler-link-foreground-hover: #433F35\nsidebar-tiddler-link-foreground: #706A58\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #A6A193\ntab-background-selected: #E9E0C7\ntab-background: #A6A193\ntab-border-selected: #C3BAA1\ntab-border: #C3BAA1\ntab-divider: #CDC2A6\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #2D2A23\ntable-border: #9D998E\ntable-footer-background: #8A8885\ntable-header-background: #B0AA98\ntag-background: #706A58\ntag-foreground: #E3D7B7\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #9D947B\ntiddler-controls-foreground-selected: #706A58\ntiddler-controls-foreground: #C3BAA1\ntiddler-editor-background: #E9E0C7\ntiddler-editor-border-image: #A6A193\ntiddler-editor-border: #A6A193\ntiddler-editor-fields-even: #D6CBAA\ntiddler-editor-fields-odd: #C3BAA1\ntiddler-info-background: #E3D7B7\ntiddler-info-border: #BAB29C\ntiddler-info-tab-background: #E9E0C7\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #867F69\ntiddler-title-foreground: #374464\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #8A8885\nvery-muted-foreground: #CDC2A6\nwikilist-background: <<colour page-background>>\nwikilist-item: #CDC2A6\nwikilist-info: #161512\nwikilist-title: #433F35\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #706A58\nwikilist-button-open: #7db66a\nwikilist-button-open-hover: #56a556\nwikilist-button-reveal: #5a6c9e\nwikilist-button-reveal-hover: #454591\nwikilist-button-remove: #bc5972\nwikilist-button-remove-hover: #814040\nwikilist-toolbar-background: #CDC2A6\nwikilist-toolbar-foreground: #2D2A23\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #A6A193\nwikilist-button-foreground: #161512\n"},"$:/palettes/GruvboxDark":{"title":"$:/palettes/GruvboxDark","name":"Gruvbox Dark","color-scheme":"dark","description":"Retro groove color scheme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","license":"https://github.com/morhetz/gruvbox","text":"alert-background: #cc241d\nalert-border: #cc241d\nalert-highlight: #d79921\nalert-muted-foreground: #504945\nbackground: #3c3836\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #504945\ncode-border: #504945\ncode-foreground: #fb4934\ndiff-delete-background: #fb4934\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #b8bb26\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #fb4934\ndownload-background: #b8bb26\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #665c54\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ebdbb2\ndropdown-tab-background: #665c54\ndropzone-background: #98971a\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #d3869b\nexternal-link-foreground: #8ec07c\nforeground: #fbf1c7\nhighlight-background: #ffff79\nhighlight-foreground: #000000\nmenubar-background: #504945\nmenubar-foreground: <<colour foreground>>\nmessage-background: #83a598\nmessage-border: #83a598\nmessage-foreground: #3c3836\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #504945\nmodal-footer-background: #3c3836\nmodal-footer-border: #3c3836\nmodal-header-border: #3c3836\nmuted-foreground: #d5c4a1\nnotification-background: <<colour primary>>\nnotification-border: <<colour primary>>\npage-background: #282828\npre-background: #504945\npre-border: #504945\nprimary: #d79921\nselect-tag-background: #665c54\nselect-tag-foreground: <<colour foreground>>\nselection-background: #458588\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #7c6f64\nsidebar-controls-foreground: #504945\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #fbf1c7\nsidebar-muted-foreground-hover: #7c6f64\nsidebar-muted-foreground: #504945\nsidebar-tab-background-selected: #bdae93\nsidebar-tab-background: #3c3836\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #bdae93\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #282828\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #458588\nsidebar-tiddler-link-foreground: #98971a\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ebdbb2\ntab-background: #665c54\ntab-border-selected: #665c54\ntab-border: #665c54\ntab-divider: #bdae93\ntab-foreground-selected: #282828\ntab-foreground: #ebdbb2\ntable-border: #7c6f64\ntable-footer-background: #665c54\ntable-header-background: #504945\ntag-background: #d3869b\ntag-foreground: #282828\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #7c6f64\ntiddler-controls-foreground-selected: <<colour primary>>\ntiddler-controls-foreground: #665c54\ntiddler-editor-background: #32302f\ntiddler-editor-border-image: #282828\ntiddler-editor-border: #282828\ntiddler-editor-fields-even: #504945\ntiddler-editor-fields-odd: #7c6f64\ntiddler-info-background: #32302f\ntiddler-info-border: #ebdbb2\ntiddler-info-tab-background: #ebdbb2\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #7c6f64\ntiddler-title-foreground: #a89984\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #504945\nvery-muted-foreground: #bdae93\nwikilist-background: <<colour page-background>>\nwikilist-button-background: #acacac\nwikilist-button-foreground: <<colour button-foreground>>\nwikilist-item: <<colour background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-toolbar-foreground: <<colour foreground>>\nwikilist-title: <<colour foreground>>\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: <<colour muted-foreground>>\nwikilist-button-open-hover: <<colour primary>>\nwikilist-button-open: <<colour dropzone-background>>\nwikilist-button-remove: <<colour dirty-indicator>>\nwikilist-button-remove-hover: <<colour alert-background>>\nwikilist-droplink-dragover: <<colour dropzone-background>>\nwikilist-button-reveal: <<colour sidebar-tiddler-link-foreground-hover>>\nwikilist-button-reveal-hover: <<colour message-background>>\n"},"$:/palettes/Nord":{"title":"$:/palettes/Nord","name":"Nord","color-scheme":"dark","description":"An arctic, north-bluish color palette.","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","license":"MIT, arcticicestudio, https://github.com/arcticicestudio/nord/blob/develop/LICENSE.md","text":"alert-background: #D08770\nalert-border: #D08770\nalert-highlight: #B48EAD\nalert-muted-foreground: #4C566A\nbackground: #3b4252\nblockquote-bar: <<colour muted-foreground>>\nbutton-foreground: <<colour foreground>>\ncode-background: #2E3440\ncode-border: #2E3440\ncode-foreground: #BF616A\ndiff-delete-background: #BF616A\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #A3BE8C\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #BF616A\ndownload-background: #A3BE8C\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour background>>\ndropdown-tab-background-selected: #ECEFF4\ndropdown-tab-background: #4C566A\ndropzone-background: #A3BE8C\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #5E81AC\nexternal-link-foreground: #8FBCBB\nforeground: #d8dee9\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmenubar-background: #2E3440\nmenubar-foreground: #d8dee9\nmessage-background: #2E3440\nmessage-border: #2E3440\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #3b4252\nmodal-footer-background: #3b4252\nmodal-footer-border: #3b4252\nmodal-header-border: #3b4252\nmuted-foreground: #4C566A\nnotification-background: <<colour primary>>\nnotification-border: #EBCB8B\npage-background: #2e3440\npre-background: #2E3440\npre-border: #2E3440\nprimary: #5E81AC\nselect-tag-background: #3b4252\nselect-tag-foreground: <<colour foreground>>\nselection-background: #5E81AC\nselection-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #D8DEE9\nsidebar-controls-foreground: #4C566A\nsidebar-foreground-shadow: transparent\nsidebar-foreground: #D8DEE9\nsidebar-muted-foreground-hover: #4C566A\nsidebar-muted-foreground: #4C566A\nsidebar-tab-background-selected: #ECEFF4\nsidebar-tab-background: #4C566A\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: #4C566A\nsidebar-tab-divider: <<colour page-background>>\nsidebar-tab-foreground-selected: #4C566A\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #A3BE8C\nsidebar-tiddler-link-foreground: #81A1C1\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #B48EAD\ntab-background-selected: #ECEFF4\ntab-background: #4C566A\ntab-border-selected: #4C566A\ntab-border: #4C566A\ntab-divider: #4C566A\ntab-foreground-selected: #4C566A\ntab-foreground: #D8DEE9\ntable-border: #4C566A\ntable-footer-background: #2e3440\ntable-header-background: #2e3440\ntag-background: #A3BE8C\ntag-foreground: #4C566A\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: \ntiddler-controls-foreground-selected: #EBCB8B\ntiddler-controls-foreground: #4C566A\ntiddler-editor-background: #2e3440\ntiddler-editor-border-image: #2e3440\ntiddler-editor-border: #3b4252\ntiddler-editor-fields-even: #2e3440\ntiddler-editor-fields-odd: #2e3440\ntiddler-info-background: #2e3440\ntiddler-info-border: #2e3440\ntiddler-info-tab-background: #2e3440\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #4C566A\ntiddler-title-foreground: #81A1C1\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #2d3038\nvery-muted-foreground: #2d3038\nwikilist-background: <<colour page-background>>\nwikilist-toolbar-background: <<colour background>>\nwikilist-item: <<colour background>>\nwikilist-title: <<colour foreground>>\nwikilist-info: <<colour muted-foreground>>\nwikilist-button-open: #A3BE8C\nwikilist-button-open-hover: #A3BE8C\nwikilist-button-reveal: #81A1C1\nwikilist-button-reveal-hover: #81A1C1\nwikilist-button-remove: #B48EAD\nwikilist-button-remove-hover: #B48EAD\n"},"$:/palettes/Rocker":{"title":"$:/palettes/Rocker","name":"Rocker","color-scheme":"dark","description":"A dark theme","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/SolarFlare":{"title":"$:/palettes/SolarFlare","name":"Solar Flare","color-scheme":"light","description":"Warm, relaxing earth colours","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","text":": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n download-foreground: <<colour background>>\n dragger-foreground: <<colour background>>\n dropdown-background: <<colour background>>\n modal-background: <<colour background>>\n sidebar-foreground-shadow: <<colour background>>\n tiddler-background: <<colour background>>\n tiddler-border: <<colour background>>\n tiddler-link-background: <<colour background>>\n tab-background-selected: <<colour background>>\n dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n dragger-background: <<colour foreground>>\n tab-foreground: <<colour foreground>>\n tab-foreground-selected: <<colour tab-foreground>>\n sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n sidebar-tab-foreground: <<colour tab-foreground>>\n sidebar-button-foreground: <<colour foreground>>\n sidebar-controls-foreground: <<colour foreground>>\n sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n alert-muted-foreground: <<colour base01>>\n: base00\n code-foreground: <<colour base00>>\n message-foreground: <<colour base00>>\n tag-foreground: <<colour base00>>\n: base0\n sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n muted-foreground: <<colour base1>>\n blockquote-bar: <<colour muted-foreground>>\n dropdown-border: <<colour muted-foreground>>\n sidebar-muted-foreground: <<colour muted-foreground>>\n tiddler-title-foreground: <<colour muted-foreground>>\n site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n modal-footer-background: <<colour base2>>\n page-background: <<colour base2>>\n modal-backdrop: <<colour page-background>>\n notification-background: <<colour page-background>>\n code-background: <<colour page-background>>\n code-border: <<colour code-background>>\n pre-background: <<colour page-background>>\n pre-border: <<colour pre-background>>\n sidebar-tab-background-selected: <<colour page-background>>\n table-header-background: <<colour base2>>\n tag-background: <<colour base2>>\n tiddler-editor-background: <<colour base2>>\n tiddler-info-background: <<colour base2>>\n tiddler-info-tab-background: <<colour base2>>\n tab-background: <<colour base2>>\n dropdown-tab-background: <<colour tab-background>>\n: base3\n alert-background: <<colour base3>>\n message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n alert-highlight: <<colour magenta>>\n: violet\n external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n primary: <<colour blue-muted>>\n download-background: <<colour primary>>\n tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-border: #cfd6e6\nmodal-border: #999999\nselect-tag-background:\nselect-tag-foreground:\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n modal-footer-border: <<colour tab-border>>\n modal-header-border: <<colour tab-border>>\n notification-border: <<colour tab-border>>\n sidebar-tab-border: <<colour tab-border>>\n tab-border-selected: <<colour tab-border>>\n sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"},"$:/palettes/SolarizedDark":{"title":"$:/palettes/SolarizedDark","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Precision dark colors for machines and people","license":"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE","name":"SolarizedDark","color-scheme":"dark","text":"alert-background: #073642\nalert-border: #93a1a1\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #073642\nblockquote-bar: #d33682\nbutton-background: #073642\nbutton-border: #586e75\nbutton-foreground: #93a1a1\ncode-background: #073642\ncode-border: #586e75\ncode-foreground: #93a1a1\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #073642\ndragger-background: #073642\ndragger-foreground: #839496\ndropdown-background: #073642\ndropdown-border: #93a1a1\ndropdown-tab-background: #002b36\ndropdown-tab-background-selected: #073642\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover:\nexternal-link-foreground-visited: #268bd2\nforeground: #839496\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: #002b36\nmessage-border: #586e75\nmessage-foreground: #839496\nmodal-backdrop: #657b83\nmodal-background: #002b36\nmodal-border: #586e75\nmodal-footer-background: #073642\nmodal-footer-border: #586e75\nmodal-header-border: #586e75\nmuted-foreground: #93a1a1\nnotification-background: #002b36\nnotification-border: #586e75\npage-background: #073642\npre-background: inherit\npre-border: #657b83\nprimary: #859900\nselect-tag-background: #002b36\nselect-tag-foreground: #839496\nsidebar-button-foreground: #93a1a1\nsidebar-controls-foreground: #93a1a1\nsidebar-controls-foreground-hover: #eee8d5\nsidebar-foreground: #93a1a1\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #839496\nsidebar-muted-foreground-hover: #93a1a1\nsidebar-tab-background: #002b36\nsidebar-tab-background-selected: #073642\nsidebar-tab-border: #073642\nsidebar-tab-border-selected: #839496\nsidebar-tab-divider: #002b36\nsidebar-tab-foreground: #657b83\nsidebar-tab-foreground-selected: #93a1a1\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #eee8d5\nsite-title-foreground: #d33682\nstatic-alert-foreground: #93a1a1\ntab-background: #073642\ntab-background-selected: #002b36\ntab-border: #586e75\ntab-border-selected: #93a1a1\ntab-divider: #93a1a1\ntab-foreground: #839496\ntab-foreground-selected: #93a1a1\ntable-border: #586e75\ntable-footer-background: #073642\ntable-header-background: #073642\ntag-background: #b58900\ntag-foreground: #002b36\ntiddler-background: #002b36\ntiddler-border: #586e75\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #002b36\ntiddler-editor-border: #073642\ntiddler-editor-border-image: #002b36\ntiddler-editor-fields-even: #002b36\ntiddler-editor-fields-odd: #073642\ntiddler-info-background: #073642\ntiddler-info-border: #657b83\ntiddler-info-tab-background: #002b36\ntiddler-link-background: #002b36\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #839496\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #839496\ntoolbar-close-button: #839496\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #839496\ntoolbar-edit-button: #839496\ntoolbar-info-button: #839496\ntoolbar-new-button: #839496\ntoolbar-options-button: #839496\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #586e75\n"},"$:/palettes/SolarizedLight":{"title":"$:/palettes/SolarizedLight","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Precision colors for machines and people","license":"MIT, Ethan Schoonover, https://github.com/altercation/solarized/blob/master/LICENSE","name":"SolarizedLight","color-scheme":"light","text":"alert-background: #eee8d5\nalert-border: #586e75\nalert-highlight: #d33682\nalert-muted-foreground: #d33682\nbackground: #eee8d5\nblockquote-bar: #d33682\nbutton-background: #eee8d5\nbutton-border: #93a1a1\nbutton-foreground: #586e75\ncode-background: #eee8d5\ncode-border: #93a1a1\ncode-foreground: #586e75\ndirty-indicator: inherit\ndownload-background: #859900\ndownload-foreground: #eee8d5\ndragger-background: #eee8d5\ndragger-foreground: #657b83\ndropdown-background: #eee8d5\ndropdown-border: #586e75\ndropdown-tab-background: #fdf6e3\ndropdown-tab-background-selected: #eee8d5\ndropzone-background: #859900\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: #268bd2\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #268bd2\nforeground: #657b83\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #fdf6e3\nmessage-border: #93a1a1\nmessage-foreground: #657b83\nmodal-backdrop: #839496\nmodal-background: #fdf6e3\nmodal-border: #93a1a1\nmodal-footer-background: #eee8d5\nmodal-footer-border: #93a1a1\nmodal-header-border: #93a1a1\nmuted-foreground: #586e75\nnotification-background: #fdf6e3\nnotification-border: #93a1a1\npage-background: #eee8d5\npre-background: #eee8d5\npre-border: #839496\nprimary: #859900\nselect-tag-background: #fdf6e3\nselect-tag-foreground: #657b83\nsidebar-button-foreground: #586e75\nsidebar-controls-foreground: #586e75\nsidebar-controls-foreground-hover: #d33682\nsidebar-foreground: #586e75\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: #657b83\nsidebar-muted-foreground-hover: #586e75\nsidebar-tab-background: #fdf6e3\nsidebar-tab-background-selected: #eee8d5\nsidebar-tab-border: #eee8d5\nsidebar-tab-border-selected: #657b83\nsidebar-tab-divider: #fdf6e3\nsidebar-tab-foreground: #839496\nsidebar-tab-foreground-selected: #586e75\nsidebar-tiddler-link-foreground: #2aa198\nsidebar-tiddler-link-foreground-hover: #002b36\nsite-title-foreground: #d33682\nstatic-alert-foreground: #586e75\ntab-background: #eee8d5\ntab-background-selected: #fdf6e3\ntab-border: #93a1a1\ntab-border-selected: #586e75\ntab-divider: #586e75\ntab-foreground: #657b83\ntab-foreground-selected: #586e75\ntable-border: #93a1a1\ntable-footer-background: #eee8d5\ntable-header-background: #eee8d5\ntag-background: #b58900\ntag-foreground: #fdf6e3\ntiddler-background: #fdf6e3\ntiddler-border: #93a1a1\ntiddler-controls-foreground: inherit\ntiddler-controls-foreground-hover: #d33682\ntiddler-controls-foreground-selected: #2aa198\ntiddler-editor-background: #fdf6e3\ntiddler-editor-border: #eee8d5\ntiddler-editor-border-image: #fdf6e3\ntiddler-editor-fields-even: #fdf6e3\ntiddler-editor-fields-odd: #eee8d5\ntiddler-info-background: #eee8d5\ntiddler-info-border: #839496\ntiddler-info-tab-background: #fdf6e3\ntiddler-link-background: #fdf6e3\ntiddler-link-foreground: #2aa198\ntiddler-subtitle-foreground: #657b83\ntiddler-title-foreground: #d33682\ntoolbar-cancel-button: #657b83\ntoolbar-close-button: #657b83\ntoolbar-delete-button: #dc322f\ntoolbar-done-button: #657b83\ntoolbar-edit-button: #657b83\ntoolbar-info-button: #657b83\ntoolbar-new-button: #657b83\ntoolbar-options-button: #657b83\ntoolbar-save-button: inherit\nuntagged-background: #586e75\nvery-muted-foreground: #93a1a1\n"},"$:/palettes/SpartanDay":{"title":"$:/palettes/SpartanDay","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Cold, spartan day colors","name":"Spartan Day","color-scheme":"light","text":"alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #FAFAFA\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: #ececec\ncode-border: #ececec\ncode-foreground: \ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #FFFFFF\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #F5F5F5\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: \nexternal-link-foreground: \nforeground: rgba(0, 0, 0, 0.87)\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(0, 0, 0, 0.54)\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour very-muted-foreground>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(0, 0, 0, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #f4f4f4\npre-background: #ececec\npre-border: #ececec\nprimary: #3949ab\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #aeaeae\nsidebar-controls-foreground: #c6c6c6\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground-hover: rgba(0, 0, 0, 0.54)\nsidebar-muted-foreground: rgba(0, 0, 0, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(0, 0, 0, 0.87)\nsidebar-tab-foreground: rgba(0, 0, 0, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(0, 0, 0, 0.87)\nsidebar-tiddler-link-foreground: rgba(0, 0, 0, 0.54)\nsite-title-foreground: rgba(0, 0, 0, 0.87)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(0, 0, 0, 0.87)\ntab-foreground: rgba(0, 0, 0, 0.54)\ntable-border: #d8d8d8\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: #f9f9f9\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: #e8e7e7\ntiddler-editor-fields-even: rgba(0, 0, 0, 0.1)\ntiddler-editor-fields-odd: rgba(0, 0, 0, 0.04)\ntiddler-info-background: #F5F5F5\ntiddler-info-border: #F5F5F5\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #000000\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(0, 0, 0, 0.12)\n"},"$:/palettes/SpartanNight":{"title":"$:/palettes/SpartanNight","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","description":"Dark spartan colors","name":"Spartan Night","color-scheme":"dark","text":"alert-background: <<colour background>>\nalert-border: <<colour very-muted-foreground>>\nalert-highlight: <<colour very-muted-foreground>>\nalert-muted-foreground: <<colour muted-foreground>>\nbackground: #303030\nblockquote-bar: <<colour page-background>>\nbutton-background: transparent\nbutton-foreground: inherit\nbutton-border: <<colour tag-background>>\ncode-background: <<colour pre-background>>\ncode-border: <<colour pre-border>>\ncode-foreground: rgba(255, 255, 255, 0.54)\ndirty-indicator: #c80000\ndownload-background: <<colour primary>>\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: #424242\ndropdown-border: <<colour dropdown-background>>\ndropdown-tab-background-selected: <<colour dropdown-background>>\ndropdown-tab-background: #050505\ndropzone-background: <<colour tag-background>>\nexternal-link-background-hover: transparent\nexternal-link-background-visited: transparent\nexternal-link-background: transparent\nexternal-link-foreground-hover: \nexternal-link-foreground-visited: #7c318c\nexternal-link-foreground: #9e3eb3\nforeground: rgba(255, 255, 255, 0.7)\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: <<colour background>>\nmessage-border: <<colour very-muted-foreground>>\nmessage-foreground: rgba(255, 255, 255, 0.54)\nmodal-backdrop: <<colour page-background>>\nmodal-background: <<colour background>>\nmodal-border: <<colour very-muted-foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour background>>\nmodal-header-border: <<colour very-muted-foreground>>\nmuted-foreground: rgba(255, 255, 255, 0.54)\nnotification-background: <<colour dropdown-background>>\nnotification-border: <<colour dropdown-background>>\npage-background: #212121\npre-background: #2a2a2a\npre-border: transparent\nprimary: #5656f3\nselect-tag-background: <<colour background>>\nselect-tag-foreground: <<colour foreground>>\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #494949\nsidebar-controls-foreground: #5d5d5d\nsidebar-foreground-shadow: transparent\nsidebar-foreground: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground-hover: rgba(255, 255, 255, 0.54)\nsidebar-muted-foreground: rgba(255, 255, 255, 0.38)\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: transparent\nsidebar-tab-border-selected: <<colour table-border>>\nsidebar-tab-border: transparent\nsidebar-tab-divider: <<colour table-border>>\nsidebar-tab-foreground-selected: rgba(255, 255, 255, 0.87)\nsidebar-tab-foreground: rgba(255, 255, 255, 0.54)\nsidebar-tiddler-link-foreground-hover: rgba(255, 255, 255, 0.7)\nsidebar-tiddler-link-foreground: rgba(255, 255, 255, 0.54)\nsite-title-foreground: rgba(255, 255, 255, 0.7)\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: transparent\ntab-border-selected: <<colour table-border>>\ntab-border: transparent\ntab-divider: <<colour table-border>>\ntab-foreground-selected: rgba(255, 255, 255, 0.87)\ntab-foreground: rgba(255, 255, 255, 0.54)\ntable-border: #3a3a3a\ntable-footer-background: <<colour tiddler-editor-fields-odd>>\ntable-header-background: <<colour tiddler-editor-fields-even>>\ntag-background: #ec6\ntag-foreground: <<colour button-foreground>>\ntiddler-background: <<colour background>>\ntiddler-border: rgb(55,55,55)\ntiddler-controls-foreground-hover: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground-selected: <<colour sidebar-controls-foreground-hover>>\ntiddler-controls-foreground: <<colour sidebar-controls-foreground>>\ntiddler-editor-background: transparent\ntiddler-editor-border-image: \ntiddler-editor-border: rgba(255, 255, 255, 0.08)\ntiddler-editor-fields-even: rgba(255, 255, 255, 0.1)\ntiddler-editor-fields-odd: rgba(255, 255, 255, 0.04)\ntiddler-info-background: #454545\ntiddler-info-border: #454545\ntiddler-info-tab-background: <<colour tiddler-editor-fields-odd>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour muted-foreground>>\ntiddler-title-foreground: #FFFFFF\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour very-muted-foreground>>\nvery-muted-foreground: rgba(255, 255, 255, 0.12)\n"},"$:/palettes/Twilight":{"title":"$:/palettes/Twilight","tags":"$:/tags/Palette","author":"Thomas Elmiger","type":"application/x-tiddler-dictionary","name":"Twilight","description":"Delightful, soft darkness.","color-scheme":"dark","text":"alert-background: rgb(255, 255, 102)\nalert-border: rgb(232, 232, 125)\nalert-highlight: rgb(255, 51, 51)\nalert-muted-foreground: rgb(224, 82, 82)\nbackground: rgb(38, 38, 38)\nblockquote-bar: rgba(240, 196, 117, 0.7)\nbutton-background: rgb(63, 63, 63)\nbutton-border: rgb(127, 127, 127)\nbutton-foreground: rgb(179, 179, 179)\ncode-background: rgba(0,0,0,0.03)\ncode-border: rgba(0,0,0,0.08)\ncode-foreground: rgb(255, 94, 94)\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: rgb(255, 94, 94)\ndownload-background: #19a974\ndownload-foreground: rgb(38, 38, 38)\ndragger-background: rgb(179, 179, 179)\ndragger-foreground: rgb(38, 38, 38)\ndropdown-background: rgb(38, 38, 38)\ndropdown-border: rgb(255, 255, 255)\ndropdown-tab-background: rgba(0,0,0,.1)\ndropdown-tab-background-selected: rgba(255,255,255,1)\ndropzone-background: #9eebcf\nexternal-link-background: inherit\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-foreground: rgb(179, 179, 255)\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: rgb(153, 153, 255)\nforeground: rgb(179, 179, 179)\nhighlight-background: #ffff78\nhighlight-foreground: #000000\nmessage-background: <<colour tag-foreground>>\nmessage-border: #96ccff\nmessage-foreground: <<colour tag-background>>\nmodal-backdrop: rgb(179, 179, 179)\nmodal-background: rgb(38, 38, 38)\nmodal-border: rgba(0,0,0,.5)\nmodal-footer-background: #f4f4f4\nmodal-footer-border: rgba(0,0,0,.1)\nmodal-header-border: rgba(0,0,0,.2)\nmuted-foreground: rgb(255, 255, 255)\nnotification-background: <<colour tag-foreground>>\nnotification-border: <<colour tag-background>>\npage-background: rgb(26, 26, 26)\npre-background: rgb(25, 25, 25)\npre-border: rgba(0,0,0,.2)\nprimary: rgb(255, 201, 102)\nselect-tag-background: \nselect-tag-foreground: \nsidebar-button-foreground: rgb(179, 179, 179)\nsidebar-controls-foreground: rgb(153, 153, 153)\nsidebar-controls-foreground-hover: <<colour tiddler-controls-foreground-hover>>\nsidebar-foreground: rgb(141, 141, 141)\nsidebar-foreground-shadow: transparent\nsidebar-muted-foreground: rgba(0, 0, 0, 0.5)\nsidebar-muted-foreground-hover: rgb(141, 141, 141)\nsidebar-tab-background: rgba(141, 141, 141, 0.2)\nsidebar-tab-background-selected: rgb(26, 26, 26)\nsidebar-tab-border: rgb(127, 127, 127)\nsidebar-tab-border-selected: rgb(127, 127, 127)\nsidebar-tab-divider: rgb(127, 127, 127)\nsidebar-tab-foreground: rgb(179, 179, 179)\nsidebar-tab-foreground-selected: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground: rgb(179, 179, 179)\nsidebar-tiddler-link-foreground-hover: rgb(115, 115, 115)\nsite-title-foreground: rgb(255, 201, 102)\nstatic-alert-foreground: rgba(0,0,0,.3)\ntab-background: rgba(0,0,0,0.125)\ntab-background-selected: rgb(38, 38, 38)\ntab-border: rgb(255, 201, 102)\ntab-border-selected: rgb(255, 201, 102)\ntab-divider: rgb(255, 201, 102)\ntab-foreground: rgb(179, 179, 179)\ntab-foreground-selected: rgb(179, 179, 179)\ntable-border: rgba(255,255,255,.3)\ntable-footer-background: rgba(0,0,0,.4)\ntable-header-background: rgba(0,0,0,.1)\ntag-background: rgb(255, 201, 102)\ntag-foreground: rgb(25, 25, 25)\ntiddler-background: rgb(38, 38, 38)\ntiddler-border: rgba(240, 196, 117, 0.7)\ntiddler-controls-foreground: rgb(128, 128, 128)\ntiddler-controls-foreground-hover: rgba(255, 255, 255, 0.8)\ntiddler-controls-foreground-selected: rgba(255, 255, 255, 0.9)\ntiddler-editor-background: rgb(33, 33, 33)\ntiddler-editor-border: rgb(63, 63, 63)\ntiddler-editor-border-image: rgb(25, 25, 25)\ntiddler-editor-fields-even: rgb(33, 33, 33)\ntiddler-editor-fields-odd: rgb(28, 28, 28)\ntiddler-info-background: rgb(43, 43, 43)\ntiddler-info-border: rgb(25, 25, 25)\ntiddler-info-tab-background: rgb(43, 43, 43)\ntiddler-link-background: rgb(38, 38, 38)\ntiddler-link-foreground: rgb(204, 204, 255)\ntiddler-subtitle-foreground: rgb(255, 255, 255)\ntiddler-title-foreground: rgb(255, 192, 76)\ntoolbar-cancel-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-done-button: \ntoolbar-edit-button: \ntoolbar-info-button: \ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \nuntagged-background: rgb(255, 255, 255)\nvery-muted-foreground: rgba(240, 196, 117, 0.7)\n"},"$:/palettes/Vanilla":{"title":"$:/palettes/Vanilla","name":"Vanilla","description":"Pale and unobtrusive","tags":"$:/tags/Palette","type":"application/x-tiddler-dictionary","color-scheme":"light","text":"alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndiff-delete-background: #ffc9c9\ndiff-delete-foreground: <<colour foreground>>\ndiff-equal-background: \ndiff-equal-foreground: <<colour foreground>>\ndiff-insert-background: #aaefad\ndiff-insert-foreground: <<colour foreground>>\ndiff-invisible-background: \ndiff-invisible-foreground: <<colour muted-foreground>>\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nhighlight-background: #ffff00\nhighlight-foreground: #000000\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnetwork-activity-foreground: #448844\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nselection-background:\nselection-foreground:\nselect-tag-background:\nselect-tag-foreground:\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\nwikilist-background: #e5e5e5\nwikilist-item: #fff\nwikilist-info: #000\nwikilist-title: #666\nwikilist-title-svg: <<colour wikilist-title>>\nwikilist-url: #aaa\nwikilist-button-open: #4fb82b\nwikilist-button-open-hover: green\nwikilist-button-reveal: #5778d8\nwikilist-button-reveal-hover: blue\nwikilist-button-remove: #d85778\nwikilist-button-remove-hover: red\nwikilist-toolbar-background: #d3d3d3\nwikilist-toolbar-foreground: #888\nwikilist-droplink-dragover: rgba(255,192,192,0.5)\nwikilist-button-background: #acacac\nwikilist-button-foreground: #000\n"},"$:/core/readme":{"title":"$:/core/readme","text":"This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"},"$:/library/sjcl.js/license":{"title":"$:/library/sjcl.js/license","type":"text/plain","text":"SJCL is open. You can use, modify and redistribute it under a BSD\nlicense or under the GNU GPL, version 2.0.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/BSD-2-Clause\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n1. Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright\nnotice, this list of conditions and the following disclaimer in the\ndocumentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\nIS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\nTO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\nPARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nHOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n---------------------------------------------------------------------\n\nhttp://opensource.org/licenses/GPL-2.0\n\nThe Stanford Javascript Crypto Library (hosted here on GitHub) is a\nproject by the Stanford Computer Security Lab to build a secure,\npowerful, fast, small, easy-to-use, cross-browser library for\ncryptography in Javascript.\n\nCopyright (c) 2009-2015, Emily Stark, Mike Hamburg and Dan Boneh at\nStanford University.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License as published by the\nFree Software Foundation; either version 2 of the License, or (at your\noption) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this program; if not, write to the Free Software Foundation, Inc.,\n59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"},"$:/core/templates/MOTW.html":{"title":"$:/core/templates/MOTW.html","text":"\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)https://tiddlywiki.com --> "},"$:/core/templates/alltiddlers.template.html":{"title":"$:/core/templates/alltiddlers.template.html","type":"text/vnd.tiddlywiki-html","text":"<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"},"$:/core/templates/canonical-uri-external-image":{"title":"$:/core/templates/canonical-uri-external-image","text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"},"$:/core/templates/canonical-uri-external-raw":{"title":"$:/core/templates/canonical-uri-external-raw","text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external raw files that are stored in the same directory\n\n-->\n<$view field=\"title\" format=\"doubleurlencoded\"/>"},"$:/core/templates/canonical-uri-external-text":{"title":"$:/core/templates/canonical-uri-external-text","text":"<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"},"$:/core/templates/css-tiddler":{"title":"$:/core/templates/css-tiddler","text":"<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"},"$:/core/templates/exporters/CsvFile":{"title":"$:/core/templates/exporters/CsvFile","tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/CsvFile}}","extension":".csv","text":"<$macrocall $name=\"csvtiddlers\" filter=<<exportFilter>> format=\"quoted-comma-sep\" $output=\"text/raw\"/>\n"},"$:/core/templates/exporters/JsonFile":{"title":"$:/core/templates/exporters/JsonFile","tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/JsonFile}}","extension":".json","text":"<$macrocall $name=\"jsontiddlers\" filter=<<exportFilter>> $output=\"text/raw\"/>\n"},"$:/core/templates/exporters/StaticRiver":{"title":"$:/core/templates/exporters/StaticRiver","tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/StaticRiver}}","extension":".html","text":"\\define tv-config-static() yes\n\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river tc-static-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"},"$:/core/templates/exporters/StaticRiver/Content":{"title":"$:/core/templates/exporters/StaticRiver/Content","text":"\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<<renderContent>>\n"},"$:/core/templates/exporters/TidFile":{"title":"$:/core/templates/exporters/TidFile","tags":"$:/tags/Exporter","description":"{{$:/language/Exporters/TidFile}}","extension":".tid","condition":"[<count>compare:lte[1]]","text":"\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<<renderContent>>"},"$:/core/save/all-external-js":{"title":"$:/core/save/all-external-js","text":"\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n\n<!-- Important: core library is provided by serving URI encoded $:/core/templates/tiddlywiki5.js -->\n\\define defaultCoreURL() %24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js\n\n<$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>\n\t{{$:/core/templates/tiddlywiki5-external-js.html}}\n</$let>\n"},"$:/core/save/offline-external-js":{"title":"$:/core/save/offline-external-js","text":"\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n\\define defaultCoreURL() tiddlywikicore-$(version)$.js\n<$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>\n\t{{$:/core/templates/tiddlywiki5-external-js.html}}\n</$let>\n"},"$:/core/templates/tiddlywiki.js/load-tiddler":{"title":"$:/core/templates/tiddlywiki.js/load-tiddler","text":"_load(window,<$macrocall $name=\"jsontiddler\" $output=\"text/raw\"/>);"},"$:/core/templates/tiddlywiki5.js":{"title":"$:/core/templates/tiddlywiki5.js","text":"\\rules only filteredtranscludeinline transcludeinline codeinline\n\n`/*\n`{{ $:/core/copyright.txt ||$:/core/templates/plain-text-tiddler}}`\n*/\n\n$tw = (typeof $tw === 'undefined') ? Object.create(null) : $tw;\n\n$tw.preloadTiddlers = $tw.preloadTiddlers || [];\n\n_load = function(window,tiddler) {\n\t\"use strict\";\n\tvar f;\n\t$tw.preloadTiddlers.push(tiddler);\n\tif(tiddler.library === \"yes\") {\n\t\tvar module = { exports:{} };\n\t\tvar moduleName = function moduleName(path) {\n\t\t\tvar word = path.split(\"/\").pop();\n\t\t\tword = word.substring(0,word.indexOf(\".\")) || word;\n\t\t\treturn word;\n\t\t}\n\t\tf = new Function(\"module\",tiddler.text);\n\t\tf(module);\n\t\twindow[moduleName(tiddler.title)] = module.exports;\n\t} else {\n\t\tf = new Function(\"window\",tiddler.text);\n\t\tf(window);\n\t}\n}\n\n/* ~~ Library modules ~~ */\n\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/tiddlywiki.js/load-tiddler}}}`\n\n/* ~~ Boot kernel prologue ~~ */\n\n`{{ $:/boot/bootprefix.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\n\n/* ~~ Core tiddlers ~~ */\n\n`{{$:/core/templates/tiddlywiki5.js/tiddlers}}`\n\n/* ~~ Boot kernel ~~ */\n\n`{{ $:/boot/boot.js ||$:/core/templates/tiddlywiki.js/load-tiddler}}`\n"},"$:/core/templates/tiddlywiki5.js/tiddlers":{"title":"$:/core/templates/tiddlywiki5.js/tiddlers","text":"`\n$tw.preloadTiddlerArray(`<$text text=<<jsontiddlers \"[[$:/core]]\">>/>`);\n$tw.preloadTiddlerArray([{\n\ttitle: \"$:/config/SaveWikiButton/Template\",\n\ttext: \"$:/core/save/offline-external-js\"\n}]);\n`\n"},"$:/core/templates/tiddlywiki5-external-js.html":{"title":"$:/core/templates/tiddlywiki5-external-js.html","text":"<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}`\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}`\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Load external JavaScripts ~~-->\n<script src=\"`{{{ [<coreURL>] }}}`\" onerror=\"alert('Error: Cannot load `{{{ [<coreURL>] }}}`');\"></script>\n</body>\n</html>`\n</$set>"},"$:/core/templates/html-div-skinny-tiddler":{"title":"$:/core/templates/html-div-skinny-tiddler","text":"<!--\n\nThis template is a variant of $:/core/templates/html-div-tiddler used for saving skinny tiddlers (with no text field)\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre></pre>\n</div>`\n"},"$:/core/templates/html-div-tiddler":{"title":"$:/core/templates/html-div-tiddler","text":"<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmltextencoded\" />`</pre>\n</div>`\n"},"$:/core/templates/html-json-skinny-tiddler":{"title":"$:/core/templates/html-json-skinny-tiddler","text":"<$text text=<<join>>/><$jsontiddler tiddler=<<currentTiddler>> exclude=\"text\" escapeUnsafeScriptChars=\"yes\"/>\n"},"$:/core/templates/html-json-tiddler":{"title":"$:/core/templates/html-json-tiddler","text":"<$jsontiddler tiddler=<<currentTiddler>> escapeUnsafeScriptChars=\"yes\"/>"},"$:/core/templates/html-tiddler":{"title":"$:/core/templates/html-tiddler","text":"<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"},"$:/core/templates/javascript-tiddler":{"title":"$:/core/templates/javascript-tiddler","text":"<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"},"$:/core/templates/json-tiddler":{"title":"$:/core/templates/json-tiddler","text":"<!--\n\nThis template is used for saving tiddlers as raw JSON\n\n--><$text text=<<jsontiddler>>/>"},"$:/core/templates/module-tiddler":{"title":"$:/core/templates/module-tiddler","text":"<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"},"$:/core/templates/plain-text-tiddler":{"title":"$:/core/templates/plain-text-tiddler","text":"<$view field=\"text\" format=\"text\" />"},"$:/core/templates/raw-static-tiddler":{"title":"$:/core/templates/raw-static-tiddler","text":"<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"},"$:/core/save/all":{"title":"$:/core/save/all","text":"\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/empty":{"title":"$:/core/save/empty","text":"\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/lazy-all":{"title":"$:/core/save/lazy-all","text":"\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] [is[tiddler]type[application/javascript]] +[sort[title]]\n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]] -[type[application/javascript]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/save/lazy-images":{"title":"$:/core/save/lazy-images","text":"\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[is[system]type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n\\define skinnySaveTiddlerFilter()\n[!is[system]is[image]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/templates/server/static.sidebar.wikitext":{"title":"$:/core/templates/server/static.sidebar.wikitext","text":"\\whitespace trim\n<div class=\"tc-sidebar-scrollable\" style=\"overflow: auto;\" role=\"region\" aria-label={{$:/language/SideBar/Caption}}>\n<div class=\"tc-sidebar-header\">\n<h1 class=\"tc-site-title\">\n<$transclude tiddler=\"$:/SiteTitle\"/>\n</h1>\n<div class=\"tc-site-subtitle\">\n<$transclude tiddler=\"$:/SiteSubtitle\"/>\n</div>\n<h2>\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$list filter={{$:/DefaultTiddlers}}>\n<div class=\"tc-menu-list-subitem\">\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n</$list>\n</div>\n<!-- Currently disabled the recent list as it is unweildy when the responsive narrow view kicks in\n<h2>\n{{$:/language/SideBar/Recent/Caption}}\n</h2>\n<div class=\"tc-sidebar-lists\">\n<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n</div>\n</div>\n</div>\n-->\n"},"$:/core/templates/server/static.tiddler.html":{"title":"$:/core/templates/server/static.tiddler.html","text":"\\whitespace trim\n\\define tv-config-static() yes\n\\define tv-wikilink-template() $uri_encoded$\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content={{$:/core/templates/version}} />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"%24%3A%2Fcore%2Ftemplates%2Fstatic.template.css\">\n<title><$view field=\"caption\" format=\"plainwikified\"><$view field=\"title\"/></$view>: <$view tiddler=\"$:/core/wiki/title\" format=\"plainwikified\"/></title>\n</head>\n<body class=\"tc-body\">\n<$transclude tiddler=\"$:/core/templates/server/static.sidebar.wikitext\" mode=\"inline\"/>\n<section class=\"tc-story-river\" role=\"main\">\n<div class=\"tc-tiddler-frame\" role=\"article\">\n<$transclude tiddler=\"$:/core/templates/server/static.tiddler.wikitext\" mode=\"inline\"/>\n</div>\n</section>\n</body>\n</html>"},"$:/core/templates/server/static.tiddler.wikitext":{"title":"$:/core/templates/server/static.tiddler.wikitext","text":"\\whitespace trim\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<h2><$text text=<<currentTiddler>>/></h2>\n</div>\n</div>\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n<div class=\"tc-tags-wrapper\">\n<$list filter=\"[all[current]tags[]sort[title]]\">\n<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>\n<$macrocall $name=\"tag-pill\" tag=<<currentTiddler>>/>\n</a>\n</$list>\n</div>\n<div class=\"tc-tiddler-body\">\n<$transclude mode=\"block\"/>\n</div>\n"},"$:/core/templates/single.tiddler.window":{"title":"$:/core/templates/single.tiddler.window","text":"\\whitespace trim\n\\define containerClasses()\ntc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$\n\\end\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n<$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-show-missing-links={{$:/config/MissingLinks}}\n\tstoryviewTitle={{$:/view}}\n\tlanguageTitle={{{ [{$:/language}get[name]] }}}>\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude tiddler=\"$:/core/ui/ViewTemplate/body\" mode=\"block\"/>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"},"$:/core/templates/split-recipe":{"title":"$:/core/templates/split-recipe","text":"<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"},"$:/core/templates/static-tiddler":{"title":"$:/core/templates/static-tiddler","text":"<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"},"$:/core/templates/static.area":{"title":"$:/core/templates/static.area","text":"<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n<!-- ensure splash screen isn't shown when JS is disabled -->\n`<style>\n.tc-remove-when-wiki-loaded {display: none;}\n</style>`\n"},"$:/core/templates/static.content":{"title":"$:/core/templates/static.content","text":"<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|https://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"},"$:/core/templates/static.template.css":{"title":"$:/core/templates/static.template.css","text":"{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"},"$:/core/templates/static.template.html":{"title":"$:/core/templates/static.template.html","type":"text/vnd.tiddlywiki-html","text":"\\define tv-config-static() yes\n\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"},"$:/core/templates/static.tiddler.html":{"title":"$:/core/templates/static.tiddler.html","text":"\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-static() yes\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river tc-static-story-river\">\n`<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>`\n</section>\n</body>\n</html>\n`\n"},"$:/core/templates/store.area.template.html":{"title":"$:/core/templates/store.area.template.html","text":"\\whitespace trim\n<!-- Unencrypted -->\n<$list filter=\"[[$:/isEncrypted]get[text]else[no]match[no]]\">\n <$list filter=\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[json]]\">\n <!-- New-style JSON store area, with an old-style store area for compatibility with v5.1.x tooling -->\n `<script class=\"tiddlywiki-tiddler-store\" type=\"application/json\">[`\n <$let newline={{{ [charcode[10]] }}} join=`,$(newline)$`>\n <$text text=<<newline>>/>\n <$list filter=<<saveTiddlerFilter>> join=<<join>> template=\"$:/core/templates/html-json-tiddler\"/>\n <$list filter=\"[subfilter<skinnySaveTiddlerFilter>]\" template=\"$:/core/templates/html-json-skinny-tiddler\"/>\n <$text text=<<newline>>/>\n </$let>\n `]</script>`\n `<div id=\"storeArea\" style=\"display:none;\">`\n `</div>`\n </$list>\n <$list filter=\"[[storeAreaFormat]is[variable]getvariable[]else[json]match[div]]\">\n <!-- Old-style DIV/PRE-based store area -->\n <$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n `<div id=\"storeArea\" style=\"display:none;\">`\n <$list filter={{{ [<saveTiddlerFilter>] }}} template=\"$:/core/templates/html-div-tiddler\"/>\n <$list filter=\"[subfilter<skinnySaveTiddlerFilter>]\" template=\"$:/core/templates/html-div-skinny-tiddler\"/>\n `</div>`\n </$reveal>\n </$list>\n</$list>\n<!-- Encrypted -->\n<$list filter=\"[[$:/isEncrypted]get[text]else[no]match[yes]]\">\n `<!--~~ Encrypted tiddlers ~~-->`\n `<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n <$encrypt filter=<<saveTiddlerFilter>>/>\n `</pre>`\n</$list>"},"$:/core/templates/tid-tiddler":{"title":"$:/core/templates/tid-tiddler","text":"<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"},"$:/core/templates/tiddler-metadata":{"title":"$:/core/templates/tiddler-metadata","text":"<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"},"$:/core/templates/tiddlywiki5.html":{"title":"$:/core/templates/tiddlywiki5.html","text":"<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n`{{$:/core/templates/store.area.template.html}}`\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"},"$:/core/templates/version":{"title":"$:/core/templates/version","text":"<<version>>"},"$:/core/templates/wikified-tiddler":{"title":"$:/core/templates/wikified-tiddler","text":"<$transclude />"},"$:/core/ui/AboveStory/tw2-plugin-check":{"title":"$:/core/ui/AboveStory/tw2-plugin-check","tags":"$:/tags/AboveStory","text":"\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"},"$:/core/ui/Actions/new-image":{"title":"$:/core/ui/Actions/new-image","tags":"$:/tags/Actions","description":"create a new image tiddler","text":"\\whitespace trim\n<$action-sendmessage $message=\"tm-new-tiddler\" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/>\n"},"$:/core/ui/Actions/new-journal":{"title":"$:/core/ui/Actions/new-journal","tags":"$:/tags/Actions","description":"create a new journal tiddler","text":"\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n\\whitespace trim\n<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>\n<$wikify name=\"journalTitle\" text=\"<$macrocall $name='now' format=<<journalTitleTemplate>>/>\">\n<$reveal type=\"nomatch\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>\n</$reveal>\n<$reveal type=\"match\" state=<<journalTitle>> text=\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>\n</$reveal>\n</$wikify>\n</$vars>\n"},"$:/core/ui/Actions/new-tiddler":{"title":"$:/core/ui/Actions/new-tiddler","tags":"$:/tags/Actions","description":"create a new empty tiddler","text":"\\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$\n\\whitespace trim\n<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<get-tags>>/>\n</$vars>\n"},"$:/core/ui/AdvancedSearch/Filter":{"title":"$:/core/ui/AdvancedSearch/Filter","tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Filter/Caption}}","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\")\n<$macrocall $name=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"$beforeafter$\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\define cancel-search-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]\"\n\temptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n\\end\n\n\\define input-accept-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\">\n\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\n</$list>\n\\end\n\n\\define input-accept-variant-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\">\n\t<$list filter=\"[<__tiddler__>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/>\n</$list></$list>\n\\end\n\\whitespace trim\n<<lingo Filter/Hint>>\n<div class=\"tc-search tc-advanced-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tconfigTiddlerFilter=\"[[$:/temp/advancedsearch]]\"\n\tfirstSearchFilterField=\"text\"\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tinputCancelActions=<<cancel-search-actions>>/>\n</$keyboard>\n</$keyboard>\n \n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"<$count filter={{$:/temp/advancedsearch}}/>\">\n<div class=\"tc-search-results\">\n<p><<lingo Filter/Matches>></p>\n<$list filter={{$:/temp/advancedsearch}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</div>\n</$set>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear":{"title":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear","tags":"$:/tags/AdvancedSearch/FilterButton","text":"\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\".tc-advanced-search input\"\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete":{"title":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete","tags":"$:/tags/AdvancedSearch/FilterButton","text":"\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/DeleteTiddlers/Hint}} popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n{{$:/language/ConfirmDeleteTiddlers}}\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\n{{$:/language/Buttons/DeleteTiddlers/Hint}}\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown":{"title":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown","tags":"$:/tags/AdvancedSearch/FilterButton","text":"\\whitespace trim\n\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher actions=\"<$action-setfield $tiddler='$:/temp/advancedsearch' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/input' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/refresh' text='yes'/><$action-sendmessage $message='tm-focus-selector' $param='.tc-advanced-search input' />\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]!is[draft]]\">\n<$link to={{!!filter}}><$let tv-wikilinks=\"no\"><$transclude field=\"description\"/></$let></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$set>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export":{"title":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/export","tags":"$:/tags/AdvancedSearch/FilterButton","text":"\\whitespace trim\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Shadows":{"title":"$:/core/ui/AdvancedSearch/Shadows","tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Shadows/Caption}}","first-search-filter":"[all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]","text":"\\define lingo-base() $:/language/Search/\n\n\\define set-next-input-tab(beforeafter:\"after\")\n<$macrocall $name=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"$beforeafter$\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\define cancel-search-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\"\n\temptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\\end\n\n\\define input-accept-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\">\n\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\n</$list>\n\\end\n\n\\define input-accept-variant-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\">\n\t<$list filter=\"[<__tiddler__>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/>\n</$list></$list>\n\\end\n\n\\whitespace trim\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tconfigTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/Shadows]]\"\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n \n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/Standard":{"title":"$:/core/ui/AdvancedSearch/Standard","tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/Standard/Caption}}","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab--1498284803\" tag=\"$:/tags/AdvancedSearch\" beforeafter=\"$beforeafter$\" defaultState=\"$:/core/ui/AdvancedSearch/System\" actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\n\\define next-search-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/advancedsearch\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>\"/>\n\n\\define cancel-search-actions() <$list filter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\" emptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\"><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/></$list><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\whitespace trim\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"shift-alt-Right\" actions=<<next-search-tab>>>\n<$keyboard key=\"shift-alt-Left\" actions=<<next-search-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\"\n\temptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\"\n\tvariable=\"listItem\">\n<$vars\n\tuserInput={{{ [[$:/temp/advancedsearch]get[text]] }}}\n\tconfigTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}\n\tsearchListState=\"$:/temp/advancedsearch/selected-item\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\">\n<$macrocall $name=\"tabs\"\n\ttabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\"\n\tdefault={{$:/config/SearchResults/Default}}\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>\"\n\texplicitState=\"$:/state/tab/search-results/advancedsearch\" />\n</$list>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]] :else[[]]\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\"><$transclude mode=\"block\"/></$list>\n</$list>\n</$vars>\n</$list>\n</$reveal>\n"},"$:/core/ui/AdvancedSearch/System":{"title":"$:/core/ui/AdvancedSearch/System","tags":"$:/tags/AdvancedSearch","caption":"{{$:/language/Search/System/Caption}}","first-search-filter":"[is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]","text":"\\define lingo-base() $:/language/Search/\n\\define set-next-input-tab(beforeafter:\"after\",stateTitle,tag,defaultState,currentTabTiddler)\n<$macrocall $name=\"change-input-tab\"\n\tstateTitle=\"$:/state/tab--1498284803\"\n\ttag=\"$:/tags/AdvancedSearch\"\n\tbeforeafter=\"$beforeafter$\"\n\tdefaultState=\"$:/core/ui/AdvancedSearch/System\"\n\tactions=\"<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>\"/>\n\\end\n\n\\define cancel-search-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]\"\n\temptyMessage=\"<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />\">\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/advancedsearch}}/>\n\t<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n</$list>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n\\end\n\n\\define input-accept-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\">\n\t<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>\n</$list>\n\\end\n\n\\define input-accept-variant-actions()\n\\whitespace trim\n<$list\n\tfilter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\"\n\temptyMessage=\"<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\">\n\t<$list filter=\"[<__tiddler__>get[text]minlength[1]]\">\n\t\t<$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/>\n</$list></$list>\n\\end\n\n\\whitespace trim\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$macrocall $name=\"keyboard-driven-input\"\n\ttiddler=\"$:/temp/advancedsearch/input\"\n\tstoreTitle=\"$:/temp/advancedsearch\"\n\trefreshTitle=\"$:/temp/advancedsearch/refresh\"\n\tselectionStateTitle=\"$:/temp/advancedsearch/selected-item\"\n\ttype=\"search\"\n\ttag=\"input\"\n\tfocus={{$:/config/Search/AutoFocus}}\n\tconfigTiddlerFilter=\"[[$:/core/ui/AdvancedSearch/System]]\"\n\tinputCancelActions=<<cancel-search-actions>>\n\tinputAcceptActions=<<input-accept-actions>>\n\tinputAcceptVariantActions=<<input-accept-variant-actions>>\n\tfilterMinLength={{$:/config/Search/MinLength}}/>\n</$keyboard>\n</$keyboard>\n \n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$list filter=\"[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\">\n\n<$set name=\"resultCount\" value=\"<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]\">\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n\n</div>\n\n</$set>\n\n</$list>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"},"$:/AdvancedSearch":{"title":"$:/AdvancedSearch","icon":"$:/core/images/advanced-search-button","color":"#bbb","text":"\\whitespace trim\n<div class=\"tc-advanced-search\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" default=\"$:/core/ui/AdvancedSearch/System\" actions=\"\"\"<$action-setfield $tiddler=\"$:/state/advancedsearch/currentTab\" text=<<currentTab>>/>\"\"\" explicitState=\"$:/state/tab--1498284803\"/>\n</div>\n"},"$:/core/ui/AlertTemplate":{"title":"$:/core/ui/AlertTemplate","code-body":"yes","text":"\\whitespace trim\n<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/cancel-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$wikify name=\"format\" text=<<lingo Tiddler/DateFormat>>>\n<$view field=\"component\"/>\n - \n<$view field=\"modified\" format=\"date\" template=<<format>>/>\n \n<$reveal type=\"nomatch\" state=\"!!count\" text=\"\">\n<span class=\"tc-alert-highlight\">\n({{$:/language/Count}}: <$view field=\"count\"/>)\n</span>\n</$reveal>\n</$wikify>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"},"$:/core/ui/BinaryWarning":{"title":"$:/core/ui/BinaryWarning","text":"\\define lingo-base() $:/language/BinaryWarning/\n<<lingo Prompt>>\n"},"$:/core/ui/VisibleTransclude":{"title":"$:/core/ui/VisibleTransclude","text":"<!--\nImport this component to make all the child transclusions visible.\n\nBlock transclusions are shown in red, and inline transclusions are shown in green.\n-->\n\\widget $transclude()\n<!-- Use a parameters widget so that we can access the `$params` data -->\n<$parameters tiddler=\"\" $$tiddler=\"\" mode=\"\" $$mode=\"\" $parseMode=\"@parseMode\" $params=\"@params\">\n\t<!-- Replicate the logic of the transclude widget to determine the output mode, and hence the tag and colour to use for output -->\n\t<$let\n\t\tmode={{{ [[$mode]is[variable]then<$mode>!is[blank]] :else[[mode]is[variable]then<mode>!is[blank]] :else[<@parseMode>] }}}\n\t\toutputTag={{{ [<mode>match[inline]then[span]else[div]] }}}\n\t\toutputColour={{{ [<mode>match[inline]then[green]else[red]] }}}\n\t>\n\t\t<!-- Use divs or spans according to the mode -->\n\t\t<$genesis $type=<<outputTag>> style=\"color:white;padding:4px;\" style.background=<<outputColour>>>\n\t\t\t<$genesis $type=<<outputTag>> style=\"display: inline-block;\">\n\t\t\t\t<div style=\"background:white;color:black;font-size: 12px;line-height:1.2;text-align:left;font-weight:normal;padding:4px;margin:4px;\">\n\t\t\t\t\t<!-- Render the parameters to the transclusion -->\n\t\t\t\t\t<$list filter=\"[<@params>jsonindexes[]]\" emptyMessage=\"(none)\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<$text text=<<currentTiddler>>/><$text text=\": \"/><$text text={{{ [<@params>jsonget<currentTiddler>] }}}/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$list>\n\t\t\t\t</div>\n\t\t\t</$genesis>\n\t\t\t<$genesis $type=<<outputTag>> style=\"background:white;color:black;padding:4px;\">\n\t\t\t\t<!-- Look for a parameter starting with $ to determine if we are in legacy mode -->\n\t\t\t\t<$list filter=\"[<@params>jsonindexes[]] :filter[<currentTiddler>prefix[$]] +[limit[1]]\" variable=\"ignore\" emptyMessage=\"\"\"\n\t\t\t\t\t<!-- Legacy mode: we render the transclusion without a dollar sign for recursionMarker and mode -->\n\t\t\t\t\t<$genesis $type=\"$transclude\" $remappable=\"no\" $names=\"[<@params>jsonindexes[]]\" $values=\"[<@params>jsonindexes[]] :map[<@params>jsonget<currentTiddler>]\" recursionMarker=\"no\" mode=<<mode>> $$fillignore=\"yes\">\n\t\t\t\t\t\t<!-- Reach back up to the grandparent transclusion to get the correct slot value -->\n\t\t\t\t\t\t<$slot $name=\"ts-raw\"/>\n\t\t\t\t\t</$genesis>\n\t\t\t\t\"\"\">\n\t\t\t\t\t<!-- Non-legacy mode: we use dollar signs for the recursionMarker and mode -->\n\t\t\t\t\t<$genesis $type=\"$transclude\" $remappable=\"no\" $names=\"[<@params>jsonindexes[]]\" $values=\"[<@params>jsonindexes[]] :map[<@params>jsonget<currentTiddler>]\" $$recursionMarker=\"no\" $$mode=<<mode>> $$fillignore=\"yes\">\n\t\t\t\t\t\t<!-- Reach back up to the grandparent transclusion to get the correct slot fill value -->\n\t\t\t\t\t\t<$slot $name=\"ts-raw\"/>\n\t\t\t\t\t</$genesis>\n\t\t\t\t</$list>\n\t\t\t</$genesis>\n\t\t</$genesis>\n\t</$let>\n</$parameters>\n\\end\n"},"$:/core/ui/Components/plugin-info":{"title":"$:/core/ui/Components/plugin-info","text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage,default-popup-state)\n\\whitespace trim\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n\t<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n\t\t\t{{$:/core/images/chevron-right}}\n\t\t</$button>\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<popup-state>> text=\"yes\" default=\"\"\"$default-popup-state$\"\"\">\n\t\t<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n\t\t\t{{$:/core/images/chevron-down}}\n\t\t</$button>\n\t</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n\t<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n\t\t<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n\t</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n\t<h1>\n\t\t''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view> $disabledMessage$\n\t</h1>\n\t<h2>\n\t\t<$view field=\"title\"/>\n\t</h2>\n\t<h2>\n\t\t<div><em><$view field=\"version\"/></em></div>\n\t</h2>\n</div>\n\\end\n\n\\define plugin-info(type,default-popup-state)\n\\whitespace trim\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n\t<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t<$link to={{!!title}} class=\"tc-plugin-info\">\n\t\t\t<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\">>\n\t\t</$link>\n\t</$reveal>\n\t<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n\t\t\t<<plugin-table-body type:\"$type$\" default-popup-state:\"\"\"$default-popup-state$\"\"\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n\t\t</$link>\n\t</$reveal>\n\t<$reveal type=\"match\" text=\"yes\" state=<<popup-state>> default=\"\"\"$default-popup-state$\"\"\">\n\t\t<div class=\"tc-plugin-info-dropdown\">\n\t\t\t<div class=\"tc-plugin-info-dropdown-body\">\n\t\t\t\t<$list filter=\"[all[current]] -[[$:/core]]\">\n\t\t\t\t\t<div style=\"float:right;\">\n\t\t\t\t\t\t<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t\t\t\t\t\t<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n\t\t\t\t\t\t\t\t<<lingo Disable/Caption>>\n\t\t\t\t\t\t\t</$button>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t\t<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n\t\t\t\t\t\t\t<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n\t\t\t\t\t\t\t\t<<lingo Enable/Caption>>\n\t\t\t\t\t\t\t</$button>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t</div>\n\t\t\t\t</$list>\n\t\t\t\t<$set name=\"tabsList\" filter=\"[<currentTiddler>list[]] contents\">\n\t\t\t\t\t<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList=<<tabsList>> default={{{ [enlist<tabsList>] }}} template=\"$:/core/ui/PluginInfo\"/>\n\t\t\t\t</$set>\n\t\t\t</div>\n\t\t</div>\n\t</$reveal>\n</$set>\n\\end\n\n<$macrocall $name=\"plugin-info\" type=<<plugin-type>> default-popup-state=<<default-popup-state>>/>\n"},"$:/core/ui/Components/tag-link":{"title":"$:/core/ui/Components/tag-link","text":"\\whitespace trim\n<$link>\n<$set name=\"backgroundColor\" value={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"},"$:/core/ui/ControlPanel/Advanced":{"title":"$:/core/ui/ControlPanel/Advanced","tags":"$:/tags/ControlPanel/Info","caption":"{{$:/language/ControlPanel/Advanced/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/TiddlerFields\" explicitState=\"$:/state/tab--959111941\"/>\n</div>\n"},"$:/core/ui/ControlPanel/Appearance":{"title":"$:/core/ui/ControlPanel/Appearance","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Appearance/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Theme\" explicitState=\"$:/state/tab--1963855381\"/>\n</div>\n"},"$:/snippets/retain-story-ordering-button":{"title":"$:/snippets/retain-story-ordering-button","text":"<$button set=\"$:/DefaultTiddlers\" setTo={{$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory}} ><<currentTiddler>></$button>"},"$:/core/ui/ControlPanel/Basics":{"title":"$:/core/ui/ControlPanel/Basics","tags":"$:/tags/ControlPanel/Info","caption":"{{$:/language/ControlPanel/Basics/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n\\whitespace trim\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-advanced-search input\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n \n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\\whitespace trim\n\n|tc-max-width tc-edit-max-width|k\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class=\"tc-edit-texteditor\" tiddler=\"$:/DefaultTiddlers\" autoHeight=\"yes\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/language/DefaultNewTiddlerTitle\"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/language/DefaultNewTiddlerTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Text\"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler=\"$:/config/NewJournal/Text\" class=\"tc-edit-texteditor\" default=\"\" autoHeight=\"yes\"/> |\n|<$link to=\"$:/config/NewTiddler/Tags\"><<lingo NewTiddler/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewTiddler/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$vars currentTiddler=\"$:/config/NewJournal/Tags\" tagField=\"text\">{{||$:/core/ui/EditTemplate/tags}}<$list filter=\"[<currentTiddler>tags[]] +[limit[1]]\" variable=\"ignore\"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field=\"text\" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=\"\"/></$button></$list></$vars> |\n|<$link to=\"$:/config/AutoFocus\"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"},"$:/core/ui/ControlPanel/EditTemplateBody":{"title":"$:/core/ui/ControlPanel/EditTemplateBody","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/EditTemplateBody/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/EditTemplateBody/\n\n<<lingo Hint>>\n\n{{$:/tags/EditTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/FieldEditor":{"title":"$:/core/ui/ControlPanel/FieldEditor","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/FieldEditor/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/FieldEditor/\n\n<<lingo Hint>>\n\n{{$:/tags/FieldEditorFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/StoryTiddler":{"title":"$:/core/ui/ControlPanel/StoryTiddler","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/StoryTiddler/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/StoryTiddler/\n\n<<lingo Hint>>\n\n{{$:/tags/StoryTiddlerTemplateFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/TiddlerColour":{"title":"$:/core/ui/ControlPanel/TiddlerColour","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/TiddlerColour/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/TiddlerColour/\n\n<<lingo Hint>>\n\n{{$:/tags/TiddlerColourFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/TiddlerIcon":{"title":"$:/core/ui/ControlPanel/TiddlerIcon","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/TiddlerIcon/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/TiddlerIcon/\n\n<<lingo Hint>>\n\n{{$:/tags/TiddlerIconFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/ViewTemplateBody":{"title":"$:/core/ui/ControlPanel/ViewTemplateBody","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/ViewTemplateBody/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/ViewTemplateBody/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateBodyFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/ViewTemplateTitle":{"title":"$:/core/ui/ControlPanel/ViewTemplateTitle","tags":"$:/tags/ControlPanel/Cascades","caption":"{{$:/language/ControlPanel/ViewTemplateTitle/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/ViewTemplateTitle/\n\n<<lingo Hint>>\n\n{{$:/tags/ViewTemplateTitleFilter||$:/snippets/ListTaggedCascade}}\n"},"$:/core/ui/ControlPanel/Cascades":{"title":"$:/core/ui/ControlPanel/Cascades","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/Cascades/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Cascades/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Cascades]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/StoryTiddler\"/>\n</div>\n"},"$:/core/ui/ControlPanel/EditorTypes":{"title":"$:/core/ui/ControlPanel/EditorTypes","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/EditorTypes/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\\whitespace trim\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ControlPanel/Info":{"title":"$:/core/ui/ControlPanel/Info","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Info/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Basics\" explicitState=\"$:/state/tab--2112689675\"/>\n</div>\n"},"$:/core/ui/ControlPanel/KeyboardShortcuts":{"title":"$:/core/ui/ControlPanel/KeyboardShortcuts","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n\\whitespace trim\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} focus=\"true\" style=\"width:auto;\"/>\n \n<$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n\\whitespace trim\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n \n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list\n\tfilter=\"[list[$(shortcutTitle)$!!text]sort[title]]\"\n\tvariable=\"shortcut\"\n\temptyMessage=\"<div class='tc-dropdown-item-plain'>//<<lingo NoShortcuts/Caption>>//</div>\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint}}>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n<small>{{$:/core/images/close-button}}</small>\n</$button>\n \n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n\\whitespace trim\n<tr>\n<$list filter=\"[[$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n\\whitespace trim\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">> \n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n\\whitespace trim\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n \n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>match[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n\\whitespace trim\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\\whitespace trim\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ControlPanel/LoadedModules":{"title":"$:/core/ui/ControlPanel/LoadedModules","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/LoadedModules/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"},"$:/core/ui/ControlPanel/Modals/AddPlugins":{"title":"$:/core/ui/ControlPanel/Modals/AddPlugins","subtitle":"{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}","text":"\\define install-plugin-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$set name=\"url\" value={{!!url}}>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url=<<url>> title=<<dependency>>/>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define install-plugin-button()\n\\whitespace trim\n<div>\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$set name=\"reinstall-type\" value={{{ [<libraryVersion>compare:version:eq<installedVersion>then[tc-reinstall]] [<libraryVersion>compare:version:gt<installedVersion>then[tc-reinstall-upgrade]] [<libraryVersion>compare:version:lt<installedVersion>then[tc-reinstall-downgrade]] }}}>\n<$button actions=<<install-plugin-actions>> class={{{ [<assetInfo>get[original-title]has[version]then<reinstall-type>] tc-btn-invisible tc-install-plugin +[join[ ]] }}}>\n{{$:/core/images/download-button}}\n \n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"ignore\" emptyMessage=\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\">\n<$list filter=\"[<libraryVersion>compare:version:gt<installedVersion>]\" variable=\"ignore\" emptyMessage=\"\n\\whitespace trim\n<$list filter='[<libraryVersion>compare:version:lt<installedVersion>]' variable='ignore' emptyMessage='{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}'>\n{{$:/language/ControlPanel/Plugins/Downgrade/Caption}}\n</$list>\n\">\n{{$:/language/ControlPanel/Plugins/Update/Caption}}\n</$list>\n</$list>\n</$button>\n<div>\n</div>\n<$reveal stateTitle=<<assetInfo>> stateField=\"requires-reload\" type=\"match\" text=\"yes\">{{$:/language/ControlPanel/Plugins/PluginWillRequireReload}}</$reveal>\n</$set>\n</$set>\n</$set>\n</div>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n\\whitespace trim\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-plugin-info-toggle\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/chevron-right}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n<h1><strong><$text text={{{ [<assetInfo>get[name]] ~[<assetInfo>get[original-title]split[/]last[1]] }}}/></strong>:\n \n<$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>\n</div>\n<div class=\"tc-plugin-info-chunk tc-plugin-info-buttons\">\n<<install-plugin-button>>\n</div>\n</div>\n<$set name=\"original-title\" value={{{ [<assetInfo>get[original-title]] }}}>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]] ~[<assetInfo>get[original-title]!is[tiddler]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]!is[tiddler]]\">\n{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\n</$list>\n<$set name=\"currentTiddler\" value=<<assetInfo>>>\n<$list filter=\"[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]\" variable=\"ignore\">\n<div>\n{{$:/language/ControlPanel/Plugins/AlsoRequires}} \n<$list filter=\"[enlist{!!dependents}] [{!!parent-plugin}] +[sort[name]]\" variable=\"dependency\">\n<$text text=<<dependency>>/> \n</$list>\n</div>\n</$list>\n</$set>\n</div>\n</$list>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<div class=\"tc-plugin-info-sub-plugins\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>sort[name]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n</$list>\n</div>\n</$reveal>\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>limit[1]]\" variable=\"ignore\">\n<$reveal type=\"nomatch\" text=\"yes\" state=<<popup-state>> tag=\"div\" class=\"tc-plugin-info-sub-plugin-indicator\">\n<$wikify name=\"count\" text=\"\"\"<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-plugin<original-title>]\"/>\"\"\">\n<$button class=\"tc-btn-invisible\" set=<<popup-state>> setTo=\"yes\">\n{{$:/language/ControlPanel/Plugins/SubPluginPrompt}}\n</$button>\n</$wikify>\n</$reveal>\n</$list>\n</$set>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n\\whitespace trim\n<$list filter=\"[<currentTiddler>get[enabled]else[yes]match[yes]]\" variable=\"ignore\">\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n</$list>\n\\end\n\n\\define display-server-assets(type)\n\\whitespace trim\n{{$:/language/Search/Search}}:\n \n<$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n \n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[name]]\" variable=\"assetInfo\">\n<$list filter=\"[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[<assetInfo>!has[parent-plugin]]\" variable=\"ignore\"><!-- Hide sub-plugins if we're not searching -->\n<<display-plugin-info \"$type$\">>\n</$list>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n\\whitespace trim\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<$set name=\"transclusion\" value=<<connectionTiddler>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Updates]] [[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$set>\n\n</$list>\n\\end\n\n\\define close-library-button()\n\\whitespace trim\n<$reveal type='nomatch' state='$:/temp/ServerConnection/$(PluginLibraryURL)$' text=''>\n<$button class='tc-btn-big-green'>\n<$action-sendmessage $message=\"tm-unload-plugin-library\" url={{!!url}}/>\n{{$:/core/images/chevron-left}} {{$:/language/ControlPanel/Plugins/ClosePluginLibrary}}\n<$action-deletetiddler $filter=\"[prefix[$:/temp/ServerConnection/$(PluginLibraryURL)$]][prefix[$:/temp/RemoteAssetInfo/$(PluginLibraryURL)$]]\"/>\n</$button>\n</$reveal>\n\\end\n\n\\define plugin-library-listing()\n\\whitespace trim\n<div class=\"tc-tab-set\">\n<$set name=\"defaultTab\" value={{{ [all[tiddlers+shadows]tag[$:/tags/PluginLibrary]] }}}>\n<div class=\"tc-tab-buttons\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$button set=<<qualify \"$:/state/addplugins/tab\">> setTo=<<currentTiddler>> default=<<defaultTab>> selectedClass=\"tc-tab-selected\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\"/>\n</$set>\n</$button>\n</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<$reveal type=\"match\" state=<<qualify \"$:/state/addplugins/tab\">> text=<<currentTiddler>> default=<<defaultTab>>>\n<h2><$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link></h2>\n//<$view field=\"url\"/>//\n<$transclude mode=\"block\"/>\n<$set name=PluginLibraryURL value={{!!url}}>\n<<close-library-button>>\n</$set>\n \n<<display-server-connection>>\n</$reveal>\n</$list>\n</div>\n</$set>\n</div>\n\\end\n\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\whitespace trim\n\n<div>\n<<plugin-library-listing>>\n</div>\n"},"$:/core/ui/ControlPanel/Palette":{"title":"$:/core/ui/ControlPanel/Palette","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Palette/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/PaletteManager}}\n\n</$reveal>\n\n"},"$:/core/ui/ControlPanel/Parsing":{"title":"$:/core/ui/ControlPanel/Parsing","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/Parsing/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define toggle(Type)\n\\whitespace trim\n<$checkbox\ntiddler=\"\"\"$:/config/WikiParserRules/$Type$/$(rule)$\"\"\"\nfield=\"text\"\nchecked=\"enable\"\nunchecked=\"disable\"\ndefault=\"enable\">\n<span class=\"tc-small-gap-left\"><<rule>></span>\n</$checkbox>\n\\end\n\n\\define rules(type,Type)\n\\whitespace trim\n<$list filter=\"[wikiparserrules[$type$]]\" variable=\"rule\">\n<dd><<toggle $Type$>></dd>\n</$list>\n\\end\n\\whitespace trim\n\n<<lingo Hint>>\n\n<dl>\n<dt><<lingo Pragma/Caption>></dt>\n<<rules pragma Pragma>>\n<dt><<lingo Inline/Caption>></dt>\n<<rules inline Inline>>\n<dt><<lingo Block/Caption>></dt>\n<<rules block Block>>\n</dl>"},"$:/core/ui/ControlPanel/Plugins/Add/Languages":{"title":"$:/core/ui/ControlPanel/Plugins/Add/Languages","caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)","text":"<<display-server-assets language>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Plugins":{"title":"$:/core/ui/ControlPanel/Plugins/Add/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)","text":"<<display-server-assets plugin>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Themes":{"title":"$:/core/ui/ControlPanel/Plugins/Add/Themes","caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)","text":"<<display-server-assets theme>>\n"},"$:/core/ui/ControlPanel/Plugins/Add/Updates":{"title":"$:/core/ui/ControlPanel/Plugins/Add/Updates","caption":"<$importvariables filter=\"$:/core/ui/ControlPanel/Plugins/Add/Updates\">{{$:/language/ControlPanel/Plugins/Updates/Caption}} (<<update-count>>)</$importvariables>","text":"\\define each-updateable-plugin(body)\n\\whitespace trim\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}sort[title]]\" variable=\"assetInfo\">\n<$set name=\"libraryVersion\" value={{{ [<assetInfo>get[version]] }}}>\n<$list filter=\"[<assetInfo>get[original-title]has[version]!version<libraryVersion>]\" variable=\"ignore\">\n<$set name=\"installedVersion\" value={{{ [<assetInfo>get[original-title]get[version]] }}}>\n<$list filter=\"[<installedversion>!match<libraryVersion>]\" variable=\"ignore\">\n$body$\n</$list>\n</$set>\n</$list>\n</$set>\n</$list>\n\\end\n\n\\define update-all-actions()\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<<install-plugin-actions>>\n\"\"\"/>\n\\end\n\n\\define update-count()\n<$wikify name=\"count-filter\" text=<<each-updateable-plugin \"[[<$text text=<<assetInfo>>/>]]\">>><$count filter=<<count-filter>>/></$wikify>\n\\end\n\n\\whitespace trim\n<$button actions=<<update-all-actions>> class=\"tc-btn-invisible tc-install-plugin tc-reinstall-upgrade\">\n{{$:/core/images/download-button}}\n \n{{||$:/language/ControlPanel/Plugins/Updates/UpdateAll/Caption}}\n</$button>\n\n<div class=\"tc-plugin-library-listing\">\n<$macrocall $name=\"each-updateable-plugin\" body=\"\"\"\n<$macrocall $name=\"display-plugin-info\" type={{{ [<assetInfo>get[original-plugin-type]] }}}/>\n\"\"\"/>\n</div>\n"},"$:/core/ui/ControlPanel/Plugins/AddPlugins":{"title":"$:/core/ui/ControlPanel/Plugins/AddPlugins","text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\\whitespace trim\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green tc-primary-btn\">\n{{$:/core/images/download-button}}\n \n<<lingo Add/Caption>>\n</$button>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Languages":{"title":"$:/core/ui/ControlPanel/Plugins/Installed/Languages","tags":"$:/tags/ControlPanel/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)","text":"<<plugin-table language>>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Plugins":{"title":"$:/core/ui/ControlPanel/Plugins/Installed/Plugins","tags":"$:/tags/ControlPanel/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)","text":"<<plugin-table plugin>>\n"},"$:/core/ui/ControlPanel/Plugins/Installed/Themes":{"title":"$:/core/ui/ControlPanel/Plugins/Installed/Themes","tags":"$:/tags/ControlPanel/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)","text":"<<plugin-table theme>>\n"},"$:/core/ui/ControlPanel/Plugins":{"title":"$:/core/ui/ControlPanel/Plugins","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Plugins/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define plugin-table(type)\n\\whitespace trim\n<$set name=\"plugin-type\" value=\"\"\"$type$\"\"\">\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[name]]\" emptyMessage=<<lingo \"Empty/Hint\">> template=\"$:/core/ui/Components/plugin-info\"/>\n</$set>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[tiddlers+shadows]tag[$:/tags/ControlPanel/Plugins]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\" explicitState=\"$:/state/tab--86143343\"/>\n"},"$:/core/ui/ControlPanel/Saving/DownloadSaver":{"title":"$:/core/ui/ControlPanel/Saving/DownloadSaver","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/DownloadSaver/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Saving/DownloadSaver/\n\n<div class=\"tc-control-panel-saving\" data-setting-title=<<currentTab>>>\n\n<<lingo Hint>>\n\n!!.tc-control-panel-accent <$link to=\"$:/config/DownloadSaver/AutoSave\"><<lingo AutoSave/Hint>></$link>\n\n<$checkbox tiddler=\"$:/config/DownloadSaver/AutoSave\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Description>></span>\n</$checkbox>\n</div>"},"$:/core/ui/ControlPanel/Saving/General":{"title":"$:/core/ui/ControlPanel/Saving/General","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/General/Caption}}","list-before":"","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<div class=\"tc-control-panel-saving\" data-setting-title=<<currentTab>>>\n\n{{$:/language/ControlPanel/Saving/General/Hint}}\n\n!!.tc-control-panel-accent <$link to=\"$:/config/AutoSave\"><<lingo AutoSave/Caption>></$link>\n\n<<lingo AutoSave/Hint>>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Enabled/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo AutoSave/Disabled/Description>></span>\n</$radio>\n</div>"},"$:/core/ui/ControlPanel/Saving/GitHub":{"title":"$:/core/ui/ControlPanel/Saving/GitHub","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/GitHub/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitHub\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitHub/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitHub/Password>> |<$password name=\"github\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitHub/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitHub/Branch\" default=\"main\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitHub/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitHub/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitHub/ServerURL\" default=\"https://api.github.com\" tag=\"input\"/> |"},"$:/core/ui/ControlPanel/Saving/GitLab":{"title":"$:/core/ui/ControlPanel/Saving/GitLab","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/GitLab/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~GitLab\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/GitLab/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo GitLab/Password>> |<$password name=\"gitlab\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/GitLab/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/GitLab/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/GitLab/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/GitLab/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/GitLab/ServerURL\" default=\"https://gitlab.com/api/v4\" tag=\"input\"/> |"},"$:/core/ui/ControlPanel/Saving/TiddlySpot":{"title":"$:/core/ui/ControlPanel/Saving/TiddlySpot","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/TiddlySpot/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/TiddlySpot/\n\n\\define siteURL(path)\nhttp://$(userName)$.tiddlyspot.com/$path$/\n\\end\n\\define siteLink(path)\n\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<siteURL $path$>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}/>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n\n<div class=\"tc-message-box\">\n\n<<lingo ReadOnly>>\n\n</div>\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo Password>> |<$password name=\"upload\"/> |\n\n''<<lingo Advanced/Heading>>''\n\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>\n"},"$:/core/ui/ControlPanel/Saving/Gitea":{"title":"$:/core/ui/ControlPanel/Saving/Gitea","tags":"$:/tags/ControlPanel/Saving","caption":"{{$:/language/ControlPanel/Saving/GitService/Gitea/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/Saving/GitService/\n\\define service-name() ~Gitea\n\n<<lingo Description>>\n\n|<<lingo UserName>> |<$edit-text tiddler=\"$:/Gitea/Username\" default=\"\" tag=\"input\"/> |\n|<<lingo Gitea/Password>> |<$password name=\"Gitea\"/> |\n|<<lingo Repo>> |<$edit-text tiddler=\"$:/Gitea/Repo\" default=\"\" tag=\"input\"/> |\n|<<lingo Branch>> |<$edit-text tiddler=\"$:/Gitea/Branch\" default=\"master\" tag=\"input\"/> |\n|<<lingo Path>> |<$edit-text tiddler=\"$:/Gitea/Path\" default=\"\" tag=\"input\"/> |\n|<<lingo Filename>> |<$edit-text tiddler=\"$:/Gitea/Filename\" default=\"\" tag=\"input\"/> |\n|<<lingo ServerURL>> |<$edit-text tiddler=\"$:/Gitea/ServerURL\" default=\"https://gitea/api/v1\" tag=\"input\"/> |\n"},"$:/core/ui/ControlPanel/Saving":{"title":"$:/core/ui/ControlPanel/Saving","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Saving/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Saving/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Saving]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Saving/General\" explicitState=\"$:/state/tab-2065006209\"/>\n</div>\n"},"$:/core/buttonstyles/Borderless":{"title":"$:/core/buttonstyles/Borderless","tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}","text":"tc-btn-invisible"},"$:/core/buttonstyles/Boxed":{"title":"$:/core/buttonstyles/Boxed","tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}","text":"tc-btn-boxed"},"$:/core/buttonstyles/Rounded":{"title":"$:/core/buttonstyles/Rounded","tags":"$:/tags/ToolbarButtonStyle","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}","text":"tc-btn-rounded"},"$:/core/ui/ControlPanel/Settings/CamelCase":{"title":"$:/core/ui/ControlPanel/Settings/CamelCase","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/CamelCase/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\"\n\tfield=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/WikiParserRules/Inline/wikilink\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab":{"title":"$:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab","caption":"{{$:/language/ControlPanel/Settings/DefaultMoreSidebarTab/Caption}}","tags":"$:/tags/ControlPanel/Settings","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/DefaultMoreSidebarTab/\n\n<$link to=\"$:/config/DefaultMoreSidebarTab\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$select tiddler=\"$:/config/DefaultMoreSidebarTab\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\">\n\t\t<option value=<<currentTiddler>>><$transclude field=\"caption\">\n\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab":{"title":"$:/core/ui/ControlPanel/Settings/DefaultSidebarTab","caption":"{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}","tags":"$:/tags/ControlPanel/Settings","text":"\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\\whitespace trim\n\n<$link to=\"$:/config/DefaultSidebarTab\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n\t\t<option value=<<currentTiddler>>>\n\t\t\t<$transclude field=\"caption\">\n\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t</$transclude>\n\t\t</option>\n\t</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/EditorToolbar":{"title":"$:/core/ui/ControlPanel/Settings/EditorToolbar","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/TextEditor/EnableToolbar\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/InfoPanelMode":{"title":"$:/core/ui/ControlPanel/Settings/InfoPanelMode","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/InfoPanelMode/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/InfoPanelMode/\n\n<$link to=\"$:/config/TiddlerInfo/Mode\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"popup\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Popup/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/TiddlerInfo/Mode\" value=\"sticky\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Sticky/Description>></span>\n</$radio>\n"},"$:/core/ui/ControlPanel/Settings/LinkToBehaviour":{"title":"$:/core/ui/ControlPanel/Settings/LinkToBehaviour","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\" class=\"tc-control-panel-item\">\n\t<<lingo \"InsideRiver/Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\" class=\"tc-select\">\n\t<option value=\"above\"><<lingo \"OpenAbove\">></option>\n\t<option value=\"below\"><<lingo \"OpenBelow\">></option>\n\t<option value=\"top\"><<lingo \"OpenAtTop\">></option>\n\t<option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\" class=\"tc-control-panel-item\">\n\t<<lingo \"OutsideRiver/Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\" class=\"tc-select\">\n\t<option value=\"top\"><<lingo \"OpenAtTop\">></option>\n\t<option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/MissingLinks":{"title":"$:/core/ui/ControlPanel/Settings/MissingLinks","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\">\n\t<$link to=\"$:/config/MissingLinks\" class=\"tc-control-panel-item\">\n\t\t<span class=\"tc-tiny-gap-left\"><<lingo Description>></span>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/NavigationAddressBar":{"title":"$:/core/ui/ControlPanel/Settings/NavigationAddressBar","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Permaview/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Permalink/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"},"$:/core/ui/ControlPanel/Settings/NavigationHistory":{"title":"$:/core/ui/ControlPanel/Settings/NavigationHistory","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n\n<$link to=\"$:/config/Navigation/UpdateHistory\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Yes/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"},"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode":{"title":"$:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/NavigationPermalinkviewMode/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/NavigationPermalinkviewMode/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/CopyToClipboard\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Navigation/Permalinkview/CopyToClipboard\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo CopyToClipboard/Description>>\n\t</$link>\n</$checkbox>\n\n<$checkbox tiddler=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Navigation/Permalinkview/UpdateAddressBar\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo UpdateAddressBar/Description>>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation":{"title":"$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Performance/Instrumentation\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Description>>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings/TitleLinks":{"title":"$:/core/ui/ControlPanel/Settings/TitleLinks","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n\n<$link to=\"$:/config/Tiddlers/TitleLinks\" class=\"tc-control-panel-item\">\n\t<<lingo Hint>>\n</$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo Yes/Description>></span>\n</$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\">\n\t<span class=\"tc-tiny-gap-left\"><<lingo No/Description>></span>\n</$radio>\n"},"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle":{"title":"$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n\n<$link to=\"$:/config/Toolbar/ButtonClass\" class=\"tc-control-panel-item\">\n\t<<lingo \"Hint\">>\n</$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\" class=\"tc-select\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n\t\t<option value={{!!text}}>{{!!caption}}</option>\n\t</$list>\n</$select>\n"},"$:/core/ui/ControlPanel/Settings/ToolbarButtons":{"title":"$:/core/ui/ControlPanel/Settings/ToolbarButtons","tags":"$:/tags/ControlPanel/Settings","caption":"{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}","text":"\\whitespace trim\n\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Toolbar/Icons\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Icons/Description>>\n\t</$link>\n</$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\"\n\tfield=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"\n\tclass=\"tc-control-panel-item\"\n>\n\t<$link to=\"$:/config/Toolbar/Text\" class=\"tc-tiny-gap-left\">\n\t\t<<lingo Text/Description>>\n\t</$link>\n</$checkbox>\n"},"$:/core/ui/ControlPanel/Settings":{"title":"$:/core/ui/ControlPanel/Settings","tags":"$:/tags/ControlPanel","caption":"{{$:/language/ControlPanel/Settings/Caption}}","text":"<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/SettingsTab]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Settings/TiddlyWiki\" explicitState=\"$:/state/tab--697582678\"/>\n</div>"},"$:/core/ui/ControlPanel/StoryView":{"title":"$:/core/ui/ControlPanel/StoryView","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/StoryView/Caption}}","text":"{{$:/snippets/viewswitcher}}\n"},"$:/core/ui/ControlPanel/Stylesheets":{"title":"$:/core/ui/ControlPanel/Stylesheets","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/Stylesheets/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo Stylesheets/Hint>>\n\n{{$:/snippets/peek-stylesheets}}\n"},"$:/core/ui/ControlPanel/Theme":{"title":"$:/core/ui/ControlPanel/Theme","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Theme/Caption}}","text":"{{$:/snippets/themeswitcher}}\n"},"$:/core/ui/ControlPanel/TiddlerFields":{"title":"$:/core/ui/ControlPanel/TiddlerFields","tags":"$:/tags/ControlPanel/Advanced","caption":"{{$:/language/ControlPanel/TiddlerFields/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"},"$:/core/ui/ControlPanel/Settings/TiddlyWiki":{"title":"$:/core/ui/ControlPanel/Settings/TiddlyWiki","tags":"$:/tags/ControlPanel/SettingsTab","caption":"TiddlyWiki","list-before":"","text":"\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div class=\"tc-control-panel-setting\" data-setting-title=<<currentTiddler>> style=\"border-top:1px solid #eee;\">\n\n!!.tc-control-panel-accent <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"},"$:/core/ui/ControlPanel/Toolbars/EditToolbar":{"title":"$:/core/ui/ControlPanel/Toolbars/EditToolbar","tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>"},"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate":{"title":"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate","text":"\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\\whitespace trim\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/>\n \n<span class=\"tc-icon-wrapper\"><$transclude tiddler={{!!icon}}/></span>\n \n<$transclude field=\"caption\"/>\n -- \n<i class=\"tc-muted\"><$transclude field=\"description\"/></i>\n</$draggable>\n"},"$:/core/ui/ControlPanel/Toolbars/EditorToolbar":{"title":"$:/core/ui/ControlPanel/Toolbars/EditorToolbar","tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/EditorToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/EditorToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/EditorItemTemplate\"/>\n"},"$:/core/ui/ControlPanel/Toolbars/ItemTemplate":{"title":"$:/core/ui/ControlPanel/Toolbars/ItemTemplate","text":"\\define config-title()\n$(config-base)$$(currentTiddler)$\n\\end\n\\whitespace trim\n\n<$draggable tiddler=<<currentTiddler>>>\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/>\n \n<span class=\"tc-icon-wrapper\">\n \n<$transclude field=\"caption\"/>\n \n<i class=\"tc-muted\">\n-- \n<$transclude field=\"description\"/>\n</i></span>\n</$draggable>\n"},"$:/core/ui/ControlPanel/Toolbars/PageControls":{"title":"$:/core/ui/ControlPanel/Toolbars/PageControls","tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/PageControlButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/PageControls\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/ControlPanel/Toolbars/ViewToolbar":{"title":"$:/core/ui/ControlPanel/Toolbars/ViewToolbar","tags":"$:/tags/ControlPanel/Toolbars","caption":"{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-base() $:/config/ViewToolbarButtons/Visibility/\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/ViewToolbar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/ControlPanel/Toolbars":{"title":"$:/core/ui/ControlPanel/Toolbars","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/Toolbars/Caption}}","text":"\\whitespace trim\n{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" class=\"tc-vertical\" explicitState=\"$:/state/tabs/controlpanel/toolbars-1345989671\"/>\n</div>\n"},"$:/ControlPanel":{"title":"$:/ControlPanel","icon":"$:/core/images/options-button","color":"#bbb","text":"\\whitespace trim\n<div class=\"tc-control-panel\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" default=\"$:/core/ui/ControlPanel/Info\" explicitState=\"$:/state/tab-1749438307\"/>\n</div>\n"},"$:/core/ui/DefaultSearchResultList":{"title":"$:/core/ui/DefaultSearchResultList","tags":"$:/tags/SearchResults","caption":"{{$:/language/Search/DefaultResults/Caption}}","first-search-filter":"[!is[system]search:title<userInput>sort[title]limit[250]]","second-search-filter":"[!is[system]search<userInput>sort[title]limit[250]]","text":"\\define searchResultList()\n\\whitespace trim\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[<userInput>minlength[1]]\" variable=\"ignore\">\n<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>\n<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n</span>\n</$list>\n</$list>\n\n\\end\n<<searchResultList>>\n"},"$:/core/ui/DownloadFullWiki":{"title":"$:/core/ui/DownloadFullWiki","text":"\\whitespace trim\n\\rules except wikilink\n\nTo download the standard single-file version of your wiki:\n\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$let publishFilter=\"\"\"-[[$:/config/SaveWikiButton/Template]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]]\"\"\">\n<$button tooltip=\"Download fully standalone wiki\" aria-label=\"download full wiki\" class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" publishFilter=<<publishFilter>> filename=<<site-title>>/>\n{{$:/core/images/download-button}}\n<span class=\"tc-tiny-gap-left\">\nDownload full wiki\n</span>\n</$button>\n</$let>\n</$wikify>"},"$:/core/ui/EditTemplate/body/preview/diffs-current":{"title":"$:/core/ui/EditTemplate/body/preview/diffs-current","tags":"$:/tags/EditPreview","caption":"{{$:/language/EditTemplate/Body/Preview/Type/DiffCurrent}}","list-after":"$:/core/ui/EditTemplate/body/preview/output","text":"<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"},"$:/core/ui/EditTemplate/body/preview/diffs-shadow":{"title":"$:/core/ui/EditTemplate/body/preview/diffs-shadow","tags":"$:/tags/EditPreview","caption":"{{$:/language/EditTemplate/Body/Preview/Type/DiffShadow}}","list-after":"$:/core/ui/EditTemplate/body/preview/output","text":"<$list filter=\"[<currentTiddler>!is[image]]\" emptyMessage={{$:/core/ui/EditTemplate/body/preview/output}}>\n\n<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle={{{ [{!!draft.of}shadowsource[]] }}} sourceSubTiddlerTitle={{!!draft.of}} destTiddlerTitle=<<currentTiddler>>/>\n\n</$list>\n\n"},"$:/core/ui/EditTemplate/body/preview/output":{"title":"$:/core/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<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\n\n</$set>\n"},"$:/state/showeditpreview":{"title":"$:/state/showeditpreview","text":"no"},"$:/core/ui/EditTemplate/body/canonical-uri":{"title":"$:/core/ui/EditTemplate/body/canonical-uri","text":"\\define lingo-base() $:/language/EditTemplate/Body/\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\" tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"></$edit-text>\n\n</div>\n"},"$:/core/ui/EditTemplate/body/default":{"title":"$:/core/ui/EditTemplate/body/default","text":"\\function edit-preview-state()\n[{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[<qualified-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<$action-popup $state=<<importState>> $coords=\"(0,0,0,0)\" $floating=\"yes\"/>\n\\end\n\n\\whitespace trim\n<$let\n\tqualified-preview-state=<<qualify \"$:/state/showeditpreview\">>\n\teditPreviewStateTiddler={{{ [{$:/config/ShowEditPreview/PerTiddler}!match[yes]then[$:/state/showeditpreview]] :else[<qualified-preview-state>] }}}\n\timportTitle=<<qualify $:/ImportImage>>\n\timportState=<<qualify $:/state/ImportImage>> >\n<$dropzone importTitle=<<importTitle>> 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=<<importFileActions>> >\n<div>\n<div class={{{ [<edit-preview-state>match[yes]then[tc-tiddler-preview]else[tc-tiddler-preview-hidden]] [[tc-tiddler-editor]] +[join[ ]] }}}>\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<$list filter=\"[<editPreviewStateTiddler>get[text]match[yes]]\" variable=\"ignore\">\n\n<div class=\"tc-tiddler-preview-preview\" data-tiddler-title={{!!draft.title}} data-tags={{!!tags}}>\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</$list>\n\n</div>\n\n</div>\n\n</$dropzone>\n\n</$let>\n"},"$:/core/ui/EditTemplate/body/editor":{"title":"$:/core/ui/EditTemplate/body/editor","text":"\\whitespace trim\n\n<$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\n><$set\n\n name=\"targetTiddler\"\n value=<<currentTiddler>>\n\n><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n type=\"nomatch\"\n state=<<config-visibility-title>>\n text=\"hide\"\n class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n mode=\"inline\"\n\n/></$reveal></$list><$list\n\n filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorTools]!has[draft.of]]\"\n\n><$list\n\tfilter={{!!condition}}\n\tvariable=\"list-condition\"\n><$transclude/>\n</$list></$list></$set></$edit>\n"},"$:/core/ui/EditTemplate/body/toolbar/button":{"title":"$:/core/ui/EditTemplate/body/toolbar/button","text":"\\define toolbar-button-icon()\n<$list\n\n filter=\"[all[current]!has[custom-icon]]\"\n variable=\"no-custom-icon\"\n\n><$transclude\n\n tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n filter={{!!condition}}\n variable=\"list-condition\"\n\n><$wikify\n\n name=\"tooltip-text\"\n text=<<toolbar-button-tooltip>>\n mode=\"inline\"\n output=\"text\"\n\n><$list\n\n filter=\"[all[current]!has[dropdown]]\"\n variable=\"no-dropdown\"\n\n><$set name=disabled filter={{!!condition-disabled}}><$button\n\n class=\"tc-btn-invisible $(buttonClasses)$\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n disabled=<<disabled>>\n\n><span\n\n data-tw-keyboard-shortcut={{{ [<disabled>match[yes]then[]else{!!shortcuts}] }}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$set></$list><$list\n\n filter=\"[all[current]has[dropdown]]\"\n variable=\"dropdown\"\n\n><$set\n\n name=\"dropdown-state\"\n value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$set name=disabled filter={{!!condition-disabled}}><$button\n\n popup=<<dropdown-state>>\n class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n selectedClass=\"tc-selected\"\n tooltip=<<tooltip-text>>\n actions={{!!actions}}\n disabled=<<disabled>>\n\n><span\n\n data-tw-keyboard-shortcut={{{ [<disabled>match[yes]then[]else{!!shortcuts}] }}}\n\n/><<toolbar-button-icon>><$transclude\n\n tiddler=<<currentTiddler>>\n field=\"text\"\n\n/></$button></$set><$reveal\n\n state=<<dropdown-state>>\n type=\"popup\"\n position=\"below\"\n animate=\"yes\"\n tag=\"span\"\n\n><div\n\n class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n tiddler={{!!dropdown}}\n mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n name=\"buttonClasses\"\n value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"},"$:/core/ui/EditTemplate/body":{"title":"$:/core/ui/EditTemplate/body","tags":"$:/tags/EditTemplate","text":"<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/EditTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/EditTemplate/body/default]] }}} />\n"},"$:/core/ui/EditTemplate/controls":{"title":"$:/core/ui/EditTemplate/controls","tags":"$:/tags/EditTemplate","text":"\\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\whitespace trim\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n\t<$view field=\"title\"/>\n\t<span class=\"tc-tiddler-controls tc-titlebar\">\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t<$let tv-config-toolbar-class={{{ [enlist<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\n\t\t\t\t<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n\t\t\t\t\t<$transclude $tiddler=<<listItem>>/>\n\t\t\t\t</$reveal>\n\t\t\t</$let>\n\t\t</$list>\n\t</span>\n\t<div style=\"clear: both;\"></div>\n</div>\n"},"$:/core/ui/EditTemplate/fieldEditor/default":{"title":"$:/core/ui/EditTemplate/fieldEditor/default","text":"<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag=\"input\" default=\"\" class=\"tc-edit-texteditor tc-edit-fieldeditor\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} tabindex={{$:/config/EditTabIndex}} cancelPopups=\"yes\"/>"},"$:/core/ui/EditTemplate/fields":{"title":"$:/core/ui/EditTemplate/fields","tags":"$:/tags/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<!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->\n\\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]\n\\define get-field-editor-filter() [<newFieldNameTiddler>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<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>\n<$set name=\"safeNewFieldValueTiddlerPrefix\" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify \"$:/temp/NewFieldValue\">> >\n\t<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]\"/>\n</$set>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/>\n\\end\n\n\\define delete-state-tiddlers() <$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\n\\define cancel-search-actions-inner()\n\\whitespace trim\n<$list\n\tfilter=\"[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]\"\n\tvariable=\"ignore\"\n\temptyMessage=\"<<cancel-delete-tiddler-actions 'cancel'>>\">\n<<delete-state-tiddlers>>\n</$list>\n\\end\n\n\\define cancel-search-actions()\n\\whitespace trim\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}>\n<$list\n\tfilter=\"[<newFieldNameTiddler>get[text]!match<userInput>]\"\n\temptyMessage=\"<<cancel-search-actions-inner>>\">\n<$action-setfield $tiddler=<<newFieldNameTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\n\n\\define new-field()\n\\whitespace trim\n<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button tooltip={{$:/language/EditTemplate/Fields/Add/Button/Hint}}>\n<$action-sendmessage $message=\"tm-add-field\"\n$name=<<name>>\n$value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>\n<$set name=\"safeNewFieldValueTiddlerPrefix\" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify \"$:/temp/NewFieldValue\">> >\n\t<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]\"/>\n</$set>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n</$vars>\n\\end\n\\whitespace trim\n\n<$set name=\"newFieldValueTiddlerPrefix\" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify \"$:/temp/NewFieldValue\">> >\n<div class=\"tc-edit-fields\">\n<table 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<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\" storyview=\"pop\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$keyboard key=\"((delete-field))\" actions=\"\"\"<$action-deletefield $field=<<currentField>>/><$set name=\"currentTiddlerCSSescaped\" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<current-tiddler-new-field-selector>>/></$set>\"\"\">\n<$transclude tiddler={{{ [<currentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />\n</$keyboard>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit tc-small-gap-right\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<$vars refreshTitle=<<qualify \"$:/temp/fieldname/refresh\">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>\n<div class=\"tc-edit-field-add-name-wrapper\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>\n\t\tselectionStateTitle=<<searchListState>> tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}\n\t\tfocusPopup=<<qualify \"$:/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=<<cancel-search-actions>> />\n<$button popup=<<qualify \"$:/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}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$linkcatcher to=<<newFieldNameTiddler>>>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$set name=\"newFieldName\" value={{{ [<storeTitle>get[text]] }}}>\n<$list filter=\"[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$list filter=\"[<currentField>addsuffix[-secondaryList]] -[<searchListState>get[text]]\" emptyMessage=\"\"\"<$link to=<<currentField>> class=\"tc-list-item-selected\"><$text text=<<currentField>>/></$link>\"\"\">\n<$link to=<<currentField>>>\n<$text text=<<currentField>>/>\n</$link>\n</$list>\n</$list>\n</$set>\n</$linkcatcher>\n</$set>\n</div>\n</$reveal>\n</div>\n<$let currentTiddlerCSSescaped={{{ [<currentTiddler>escapecss[]] }}} currentTiddler={{{ [subfilter<get-field-value-tiddler-filter>] }}} currentField=\"text\" currentFieldName={{{ [<newFieldNameTiddler>get[text]] }}}>\n<span class=\"tc-edit-field-add-value tc-small-gap-right\">\n<$keyboard key=\"((add-field))\" actions=<<new-field-actions>>>\n<$transclude tiddler={{{ [subfilter<get-field-editor-filter>] }}} />\n</$keyboard>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</$let>\n</$vars>\n</div>\n</$fieldmangler>\n</$set>"},"$:/core/ui/EditTemplate/shadow":{"title":"$:/core/ui/EditTemplate/shadow","tags":"$:/tags/EditTemplate","text":"\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n\\whitespace trim\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n\\whitespace trim\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"},"$:/core/ui/EditTemplate/tags":{"title":"$:/core/ui/EditTemplate/tags","tags":"$:/tags/EditTemplate","text":"\\whitespace trim\n\n\\procedure lingo-base() $:/language/EditTemplate/\n\n\\procedure tag-body-inner(colour,fallbackTarget,colourA,colourB,icon,tagField:\"tags\")\n<$wikify name=\"foregroundColor\"\n\ttext=\"\"\"<$macrocall $name=\"contrastcolour\"\n\t\ttarget=<<colour>>\n\t\tfallbackTarget=<<fallbackTarget>>\n\t\tcolourA=<<colourA>>\n\t\tcolourB=<<colourB>>/>\n\t\"\"\"\n>\n\t<$let backgroundColor=<<colour>> >\n\t\t<span class=\"tc-tag-label tc-tag-list-item tc-small-gap-right\"\n\t\t\tdata-tag-title=<<currentTiddler>>\n\t\t\tstyle.color=<<foregroundColor>>\n\t\t\tstyle.fill=<<foregroundColor>>\n\t\t\tstyle.background-color=<<backgroundColor>>\n\t\t>\n\t\t\t<$transclude tiddler=<<icon>>/>\n\t\t\t<$view field=\"title\" format=\"text\"/>\n\t\t\t<$button class=\"tc-btn-invisible tc-remove-tag-button\"\n\t\t\t\tstyle.fill=<<foregroundColor>>\n\t\t\t>\n\t\t\t\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"-[{!!title}]\"/>\n\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t</$button>\n\t\t</span>\n\t</$let>\n</$wikify>\n\\end\n\n\\procedure tag-body(colour,palette,icon,tagField:\"tags\")\n<$macrocall $name=\"tag-body-inner\"\n\tcolour=`$(colour)$`\n\tcolourA={{{ [<palette>getindex[foreground]] }}}\n\tcolourB={{{ [<palette>getindex[background]] }}}\n\tfallbackTarget={{{ [<palette>getindex[tag-background]] }}}\n\ticon=<<icon>>\n\ttagField=<<tagField>>\n/>\n\\end\n\n\\procedure edit-tags-template(tagField:\"tags\")\n<div class=\"tc-edit-tags\">\n\t<$list filter=\"[<currentTiddler>get<tagField>enlist-input[]sort[title]]\" storyview=\"pop\">\n\t\t<$macrocall $name=\"tag-body\"\n\t\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\t\tpalette={{$:/palette}}\n\t\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\t\ttagField=<<tagField>>\n\t\t/>\n\t</$list>\n\t<$let tabIndex={{$:/config/EditTabIndex}} cancelPopups=\"yes\">\n\t\t<$macrocall $name=\"tag-picker\" tagField=<<tagField>>/>\n\t</$let>\n</div>\n\\end\n<$let saveTiddler=<<currentTiddler>>>\n\t<$macrocall $name=\"edit-tags-template\" tagField=<<tagField>>/>\n</$let>\n"},"$:/core/ui/EditTemplate/title":{"title":"$:/core/ui/EditTemplate/title","tags":"$:/tags/EditTemplate","text":"\\whitespace trim\n<$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<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[all[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$reveal state=\"!!draft.title\" type=\"nomatch\" text={{!!draft.of}} tag=\"div\">\n\n<$list filter=\"[{!!draft.title}!is[missing]]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}}: <$link to={{!!draft.title}} />\n\n</div>\n\n</$list>\n\n<$list filter=\"[{!!draft.of}!is[missing]]\" variable=\"listItem\">\n\n<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}>\n\n<$checkbox tiddler=\"$:/config/RelinkOnRename\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> {{$:/language/EditTemplate/Title/Relink/Prompt}}</$checkbox>\n\n<$list filter=\"[title<fromTitle>backlinks[]limit[1]]\" variable=\"listItem\">\n\n<$vars stateTiddler=<<qualify \"$:/state/edit/references\">> >\n\n<$reveal type=\"nomatch\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$button set=<<stateTiddler>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n \n<<lingo EditTemplate/Title/References/Prompt>></$button>\n</$reveal>\n\n<$reveal type=\"match\" state=<<stateTiddler>> text=\"show\">\n<$tiddler tiddler=<<fromTitle>> >\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo/References\"/>\n</$tiddler>\n</$reveal>\n\n</$vars>\n\n</$list>\n\n</$vars>\n\n</$list>\n\n</$reveal>\n"},"$:/core/ui/EditTemplate/type":{"title":"$:/core/ui/EditTemplate/type","tags":"$:/tags/EditTemplate","first-search-filter":"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]","text":"\\define lingo-base() $:/language/EditTemplate/\n\\define input-cancel-actions() <$list filter=\"[<storeTitle>get[text]] [<currentTiddler>get[type]] +[limit[1]]\" emptyMessage=\"\"\"<<cancel-delete-tiddler-actions \"cancel\">>\"\"\"><$action-sendmessage $message=\"tm-remove-field\" $param=\"type\"/><$action-deletetiddler $filter=\"[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]\"/></$list>\n\\whitespace trim\n<$set name=\"refreshTitle\" value=<<qualify \"$:/temp/type-search/refresh\">>>\n<div class=\"tc-edit-type-selector-wrapper\">\n<em class=\"tc-edit tc-small-gap-right\"><<lingo Type/Prompt>></em>\n<div class=\"tc-type-selector-dropdown-wrapper\">\n<div class=\"tc-type-selector\"><$fieldmangler>\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/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=\"[[$:/core/ui/EditTemplate/type]]\" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify \"$:/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}}</$button><$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}}<$action-deletetiddler $filter=\"[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]\"/></$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$set name=\"tv-show-missing-links\" value=\"yes\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group-sort]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$set name=\"userInput\" value={{{ [<typeInputTiddler>get[text]] }}}>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search<userInput>]\"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] -[<typeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"description\"/><$text text=\" \"/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field=\"name\"/>)</$link></span>\n</$list>\n</$set>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</$set>\n</div>\n</div>\n</div>\n</$set>\n"},"$:/core/ui/EditTemplate":{"title":"$:/core/ui/EditTemplate","code-body":"yes","text":"\\define delete-edittemplate-state-tiddlers()\n<$set name=\"safeNewFieldValueTiddlerPrefix\" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify \"$:/temp/NewFieldValue\">> >\n\t<$action-deletetiddler $filter=\"[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]\"/>\n</$set>\n\\end\n\n<!-- Beware this is duplicated from fields.tid. For details see bug #7054 -->\n\\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]\n\\define get-field-editor-filter() [<newFieldNameTiddler>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 save-tiddler-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-add-tag\" $param={{{ [<newTagNameTiddler>get[text]] }}}/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n\\end\n\n\\define cancel-delete-tiddler-actions(message)\n\\whitespace trim\n<<delete-edittemplate-state-tiddlers>>\n<$action-sendmessage $message=\"tm-$message$-tiddler\"/>\n\\end\n\n\\whitespace trim\n<div\n\tdata-tiddler-title=<<currentTiddler>>\n\tdata-tags={{!!tags}}\n\tclass={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}\n\trole=\"region\"\n\taria-label={{$:/language/EditTemplate/Caption}}>\n<$fieldmangler>\n<$vars\n\tstoryTiddler=<<currentTiddler>>\n\tnewTagNameTiddler=<<qualify \"$:/temp/NewTagName\">>\n\tnewFieldNameTiddler=<<qualify \"$:/temp/NewFieldName\">>\n\tnewFieldValueTiddlerPrefix=<<qualify \"$:/temp/NewFieldValue\">>\n\tnewFieldNameInputTiddler=<<qualify \"$:/temp/NewFieldName/input\">>\n\tnewFieldNameSelectionTiddler=<<qualify \"$:/temp/NewFieldName/selected-item\">>\n\tnewTagNameInputTiddler=<<qualify \"$:/temp/NewTagName/input\">>\n\tnewTagNameSelectionTiddler=<<qualify \"$:/temp/NewTagName/selected-item\">>\n\ttypeInputTiddler=<<qualify \"$:/temp/Type/input\">>\n\ttypeSelectionTiddler=<<qualify \"$:/temp/Type/selected-item\">>>\n<$keyboard key=\"((cancel-edit-tiddler))\" actions=<<cancel-delete-tiddler-actions \"cancel\">> tag=\"div\">\n<$keyboard key=\"((save-tiddler))\" actions=<<save-tiddler-actions>> tag=\"div\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$vars>\n</$fieldmangler>\n</div>\n"},"$:/core/ui/Buttons/cancel":{"title":"$:/core/ui/Buttons/cancel","tags":"$:/tags/EditToolbar","caption":"{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}","description":"{{$:/language/Buttons/Cancel/Hint}}","text":"\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"cancel\">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/delete":{"title":"$:/core/ui/Buttons/delete","tags":"$:/tags/EditToolbar $:/tags/ViewToolbar","caption":"{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}","description":"{{$:/language/Buttons/Delete/Hint}}","text":"\\whitespace trim\n<$button actions=<<cancel-delete-tiddler-actions \"delete\">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/save":{"title":"$:/core/ui/Buttons/save","tags":"$:/tags/EditToolbar","caption":"{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}","description":"{{$:/language/Buttons/Save/Hint}}","text":"\\whitespace trim\n\\define save-tiddler-button()\n\\whitespace trim\n<$fieldmangler>\n\t<$button\n\t\ttooltip={{$:/language/Buttons/Save/Hint}}\n\t\taria-label={{$:/language/Buttons/Save/Caption}}\n\t\tclass=<<tv-config-toolbar-class>>\n\t>\n\t\t<<save-tiddler-actions>>\n\t\t<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n\t\t\t{{$:/core/images/done-button}}\n\t\t</$list>\n\t\t<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n\t\t\t<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n\t\t</$list>\n\t</$button>\n</$fieldmangler>\n\\end\n<<save-tiddler-button>>\n"},"$:/core/ui/EditorToolbar/bold":{"title":"$:/core/ui/EditorToolbar/bold","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/bold","caption":"{{$:/language/Buttons/Bold/Caption}}","description":"{{$:/language/Buttons/Bold/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((bold))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"},"$:/core/ui/EditorToolbar/clear-dropdown":{"title":"$:/core/ui/EditorToolbar/clear-dropdown","text":"''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"},"$:/core/ui/EditorToolbar/clear":{"title":"$:/core/ui/EditorToolbar/clear","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/erase","caption":"{{$:/language/Buttons/Clear/Caption}}","description":"{{$:/language/Buttons/Clear/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/clear-dropdown","text":""},"$:/core/ui/EditorToolbar/editor-height-dropdown":{"title":"$:/core/ui/EditorToolbar/editor-height-dropdown","text":"\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"},"$:/core/ui/EditorToolbar/editor-height":{"title":"$:/core/ui/EditorToolbar/editor-height","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/fixed-height","custom-icon":"yes","caption":"{{$:/language/Buttons/EditorHeight/Caption}}","description":"{{$:/language/Buttons/EditorHeight/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]","dropdown":"$:/core/ui/EditorToolbar/editor-height-dropdown","text":"\\whitespace trim\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"},"$:/core/ui/EditorToolbar/excise-dropdown":{"title":"$:/core/ui/EditorToolbar/excise-dropdown","text":"\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"$config-title$/new-title\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"},"$:/core/ui/EditorToolbar/excise":{"title":"$:/core/ui/EditorToolbar/excise","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/excise","caption":"{{$:/language/Buttons/Excise/Caption}}","description":"{{$:/language/Buttons/Excise/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] +[first[]]","shortcuts":"((excise))","dropdown":"$:/core/ui/EditorToolbar/excise-dropdown","text":""},"$:/core/ui/EditorToolbar/file-import":{"title":"$:/core/ui/EditorToolbar/file-import","tags":"$:/tags/EditorTools","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","text":"\\define lingo-base() $:/language/Import/\n\n\\define closePopupActions()\n<$action-deletetiddler $filter=\"[title<importState>] [title<importTitle>]\"/>\n\\end\n\n\\define replacement-text-image() [img[$title$]]\n\n\\define replacement-text-file() [[$title$]]\n\n\\define postImportActions()\n\\whitespace trim\n<$list filter=\"[<importTitle>links[]] :reduce[get[type]prefix[image]then<replacement-text-image>else<replacement-text-file>search-replace[$title$],<currentTiddler>addprefix<accumulator>]\" variable=\"imageTitle\">\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"insert-text\"\n\ttext=<<imageTitle>>\n/>\n</$list>\n<<closePopupActions>>\n\\end\n\n\\define buttons()\n\\whitespace trim\n<$button class=\"tc-btn-invisible\" actions=<<closePopupActions>> ><<lingo Listing/Cancel/Caption>></$button>\n \n<$button class=\"tc-btn-invisible\" message=\"tm-perform-import\" param=<<importTitle>> actions=<<postImportActions>> ><<lingo Listing/Import/Caption>></$button>\n\\end\n\n\\whitespace trim\n<$reveal type=\"popup\" state=<<importState>> tag=\"div\" class=\"tc-editor-importpopup\">\n<div class=\"tc-editor-import\">\n<$list filter=\"[<importTitle>field:plugin-type[import]]\">\n<h2><<lingo Editor/Import/Heading>></h2>\n<$tiddler tiddler=<<importTitle>>>\n{{||$:/core/ui/ImportListing}}\n<<buttons>>\n</$tiddler>\n</$list>\n</div>\n</$reveal>\n"},"$:/core/ui/EditorToolbar/heading-1":{"title":"$:/core/ui/EditorToolbar/heading-1","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-1","caption":"{{$:/language/Buttons/Heading1/Caption}}","description":"{{$:/language/Buttons/Heading1/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((heading-1))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-2":{"title":"$:/core/ui/EditorToolbar/heading-2","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-2","caption":"{{$:/language/Buttons/Heading2/Caption}}","description":"{{$:/language/Buttons/Heading2/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-2))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-3":{"title":"$:/core/ui/EditorToolbar/heading-3","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-3","caption":"{{$:/language/Buttons/Heading3/Caption}}","description":"{{$:/language/Buttons/Heading3/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-3))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-4":{"title":"$:/core/ui/EditorToolbar/heading-4","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-4","caption":"{{$:/language/Buttons/Heading4/Caption}}","description":"{{$:/language/Buttons/Heading4/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-4))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-5":{"title":"$:/core/ui/EditorToolbar/heading-5","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-5","caption":"{{$:/language/Buttons/Heading5/Caption}}","description":"{{$:/language/Buttons/Heading5/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-5))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"},"$:/core/ui/EditorToolbar/heading-6":{"title":"$:/core/ui/EditorToolbar/heading-6","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/heading-6","caption":"{{$:/language/Buttons/Heading6/Caption}}","description":"{{$:/language/Buttons/Heading6/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((heading-6))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"},"$:/core/ui/EditorToolbar/italic":{"title":"$:/core/ui/EditorToolbar/italic","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/italic","caption":"{{$:/language/Buttons/Italic/Caption}}","description":"{{$:/language/Buttons/Italic/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((italic))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"},"$:/core/ui/EditorToolbar/line-width-dropdown":{"title":"$:/core/ui/EditorToolbar/line-width-dropdown","text":"\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"},"$:/core/ui/EditorToolbar/line-width":{"title":"$:/core/ui/EditorToolbar/line-width","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/line-width","caption":"{{$:/language/Buttons/LineWidth/Caption}}","description":"{{$:/language/Buttons/LineWidth/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/line-width-dropdown","text":"<$text text={{$:/config/BitmapEditor/LineWidth}}/>\n"},"$:/core/ui/EditorToolbar/link-dropdown":{"title":"$:/core/ui/EditorToolbar/link-dropdown","text":"\\define lingo-base() $:/language/Buttons/Link/\n\n\\define add-link-actions()\n\\whitespace trim\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"make-link\" text={{$(linkTiddler)$}} />\n<$action-deletetiddler $filter=\"[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]\"/>\n\\end\n\n\\define get-focus-selector() [data-tiddler-title=\"$(cssEscapedTitle)$\"] .tc-create-wikitext-link input\n\n\\define cancel-search-actions-inner()\n<$set name=\"userInput\" value={{{ [<storeTitle>get[text]] }}}><$list filter=\"[<searchTiddler>get[text]!match<userInput>]\" emptyMessage=\"<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>\"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/></$list></$set>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]\" emptyMessage=\"<<cancel-search-actions-inner>>\"><$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/></$list>\n\n\\define external-link()\n\\whitespace trim\n<$button class=\"tc-btn-invisible tc-btn-mini\" style=\"width: auto; display: inline-block; background-colour: inherit;\" actions=<<add-link-actions>>>\n{{$:/core/images/chevron-right}}\n</$button>\n\\end\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>\"/>\n\n\\define body(config-title)\n\\whitespace trim\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\" linktext=\"\" searchListState=<<qualify \"$:/temp/link-search/selected-item\">> refreshTitle=<<qualify \"$:/temp/link-search/refresh\">> storeTitle=<<qualify \"$:/temp/link-search/input\">>>\n\n<$vars linkTiddler=<<searchTiddler>>>\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">> class=\"tc-create-wikitext-link\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>\n\t\tselectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type=\"search\" filterMinLength=\"1\"\n\t\ttag=\"input\" focus=\"true\" class=\"tc-popup-handle\" inputCancelActions=<<cancel-search-actions>>\n\t\tinputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=\"\"\n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</$keyboard>\n</$keyboard>\n \n<$reveal tag=\"span\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n<<external-link>>\n \n<$button class=\"tc-btn-invisible tc-btn-mini\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<<cancel-search-actions>><$set name=\"cssEscapedTitle\" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-focus-selector>>/></$set>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</$vars>\n\n<$reveal tag=\"div\" state=<<storeTitle>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>\n\n<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"},"$:/core/ui/EditorToolbar/link":{"title":"$:/core/ui/EditorToolbar/link","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/link","caption":"{{$:/language/Buttons/Link/Caption}}","description":"{{$:/language/Buttons/Link/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((link))","dropdown":"$:/core/ui/EditorToolbar/link-dropdown","text":""},"$:/core/ui/EditorToolbar/linkify":{"title":"$:/core/ui/EditorToolbar/linkify","caption":"{{$:/language/Buttons/Linkify/Caption}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","description":"{{$:/language/Buttons/Linkify/Hint}}","icon":"$:/core/images/linkify","list-before":"$:/core/ui/EditorToolbar/mono-block","shortcuts":"((linkify))","tags":"$:/tags/EditorToolbar","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"[[\"\n\tsuffix=\"]]\"\n/>\n"},"$:/core/ui/EditorToolbar/list-bullet":{"title":"$:/core/ui/EditorToolbar/list-bullet","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-bullet","caption":"{{$:/language/Buttons/ListBullet/Caption}}","description":"{{$:/language/Buttons/ListBullet/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((list-bullet))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/list-number":{"title":"$:/core/ui/EditorToolbar/list-number","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/list-number","caption":"{{$:/language/Buttons/ListNumber/Caption}}","description":"{{$:/language/Buttons/ListNumber/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((list-number))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"},"$:/core/ui/EditorToolbar/mono-block":{"title":"$:/core/ui/EditorToolbar/mono-block","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/mono-block","caption":"{{$:/language/Buttons/MonoBlock/Caption}}","description":"{{$:/language/Buttons/MonoBlock/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((mono-block))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"},"$:/core/ui/EditorToolbar/mono-line":{"title":"$:/core/ui/EditorToolbar/mono-line","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/mono-line","caption":"{{$:/language/Buttons/MonoLine/Caption}}","description":"{{$:/language/Buttons/MonoLine/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((mono-line))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"},"$:/core/ui/EditorToolbar/more-dropdown":{"title":"$:/core/ui/EditorToolbar/more-dropdown","text":"\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n\\whitespace trim\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/>\n \n<$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\\whitespace trim\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"},"$:/core/ui/EditorToolbar/more":{"title":"$:/core/ui/EditorToolbar/more","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/down-arrow","caption":"{{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","condition":"[<targetTiddler>]","dropdown":"$:/core/ui/EditorToolbar/more-dropdown","text":""},"$:/core/ui/EditorToolbar/opacity-dropdown":{"title":"$:/core/ui/EditorToolbar/opacity-dropdown","text":"\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/EditorToolbar/opacity":{"title":"$:/core/ui/EditorToolbar/opacity","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/opacity","caption":"{{$:/language/Buttons/Opacity/Caption}}","description":"{{$:/language/Buttons/Opacity/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/opacity-dropdown","text":"<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"},"$:/core/ui/EditorToolbar/paint-dropdown":{"title":"$:/core/ui/EditorToolbar/paint-dropdown","text":"''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"},"$:/core/ui/EditorToolbar/paint":{"title":"$:/core/ui/EditorToolbar/paint","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/paint","caption":"{{$:/language/Buttons/Paint/Caption}}","description":"{{$:/language/Buttons/Paint/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/paint-dropdown","text":"\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n\\whitespace trim\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"},"$:/core/ui/EditorToolbar/picture-dropdown":{"title":"$:/core/ui/EditorToolbar/picture-dropdown","text":"\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"},"$:/core/ui/EditorToolbar/picture":{"title":"$:/core/ui/EditorToolbar/picture","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/picture","caption":"{{$:/language/Buttons/Picture/Caption}}","description":"{{$:/language/Buttons/Picture/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((picture))","dropdown":"$:/core/ui/EditorToolbar/picture-dropdown","text":""},"$:/core/ui/EditorToolbar/preview-type-dropdown":{"title":"$:/core/ui/EditorToolbar/preview-type-dropdown","text":"\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\" \"/>\n\n<$entity entity=\"✓\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"},"$:/core/ui/EditorToolbar/preview-type":{"title":"$:/core/ui/EditorToolbar/preview-type","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/chevron-down","caption":"{{$:/language/Buttons/PreviewType/Caption}}","description":"{{$:/language/Buttons/PreviewType/Hint}}","condition":"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]","button-classes":"tc-text-editor-toolbar-item-adjunct","dropdown":"$:/core/ui/EditorToolbar/preview-type-dropdown"},"$:/core/ui/EditorToolbar/preview":{"title":"$:/core/ui/EditorToolbar/preview","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/preview-open","custom-icon":"yes","caption":"{{$:/language/Buttons/Preview/Caption}}","description":"{{$:/language/Buttons/Preview/Hint}}","condition":"[<targetTiddler>]","button-classes":"tc-text-editor-toolbar-item-start-group","shortcuts":"((preview))","text":"\\whitespace trim\n<span>\n\t<$transclude $tiddler={{{ [<edit-preview-state>match[yes]then[$:/core/images/preview-open]else[$:/core/images/preview-closed]] }}} />\n</span>\n<$action-setfield $tiddler=<<editPreviewStateTiddler>> $value={{{ [<editPreviewStateTiddler>get[text]toggle[yes],[no]] }}} />\n<$action-sendmessage $message=\"tm-edit-text-operation\" $param=\"focus-editor\"/>\n"},"$:/core/ui/EditorToolbar/quote":{"title":"$:/core/ui/EditorToolbar/quote","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/quote","caption":"{{$:/language/Buttons/Quote/Caption}}","description":"{{$:/language/Buttons/Quote/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((quote))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"},"$:/core/ui/EditorToolbar/rotate-left":{"title":"$:/core/ui/EditorToolbar/rotate-left","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/rotate-left","caption":"{{$:/language/Buttons/RotateLeft/Caption}}","description":"{{$:/language/Buttons/RotateLeft/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","text":"<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"rotate-left\"\n/>\n"},"$:/core/ui/EditorToolbar/size-dropdown":{"title":"$:/core/ui/EditorToolbar/size-dropdown","text":"\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> × <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n\\whitespace trim\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/>\n \n<<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/>\n \n<$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"},"$:/core/ui/EditorToolbar/size":{"title":"$:/core/ui/EditorToolbar/size","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/size","caption":"{{$:/language/Buttons/Size/Caption}}","description":"{{$:/language/Buttons/Size/Hint}}","condition":"[<targetTiddler>is[image]] -[<targetTiddler>type[image/svg+xml]]","dropdown":"$:/core/ui/EditorToolbar/size-dropdown","text":""},"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate":{"title":"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate","text":"<$linkcatcher actions=\"\"\"\n\n<$list filter=\"[<modifier>!match[ctrl]]\" variable=\"ignore\">\n\n<$list filter=\"[<currentTiddler>addsuffix[/prefix]!is[tiddler]!is[shadow]removesuffix[/prefix]addsuffix[/suffix]!is[tiddler]!is[shadow]]\" variable=\"ignore\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{{ [<currentTiddler>get[text]] }}}\n/>\n\n</$list>\n\n\n<$list filter=\"[<currentTiddler>addsuffix[/prefix]] [<currentTiddler>addsuffix[/suffix]] +[is[shadow]] :else[is[tiddler]] +[limit[1]]\" variable=\"ignore\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix={{{ [<currentTiddler>addsuffix[/prefix]get[text]] }}}\n suffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}\n/>\n\n</$list>\n\n</$list>\n\n<$list filter=\"[<modifier>match[ctrl]]\" variable=\"ignore\">\n\n<$action-sendmessage $message=\"tm-edit-tiddler\"/>\n\n</$list>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\">\n\n<$link tooltip={{{ [<currentTiddler>get[description]] }}}>\n\n<$transclude tiddler=<<currentTiddler>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<currentTiddler>> field=\"title\" />\n\n</$transclude>\n\n</$link>\n\n</$linkcatcher>\n"},"$:/core/ui/EditorToolbar/stamp-dropdown":{"title":"$:/core/ui/EditorToolbar/stamp-dropdown","text":"<$macrocall $name=\"list-tagged-draggable\" tag=\"$:/tags/TextEditor/Snippet\" subFilter=\"!is[draft]\" itemTemplate=\"$:/core/ui/EditorToolbar/StampDropdown/ItemTemplate\"/>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"},"$:/core/ui/EditorToolbar/stamp":{"title":"$:/core/ui/EditorToolbar/stamp","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/stamp","caption":"{{$:/language/Buttons/Stamp/Caption}}","description":"{{$:/language/Buttons/Stamp/Hint}}","condition":"[<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/]] [<targetTiddler>get[type]match[application/javascript]] [<targetTiddler>get[type]match[application/json]] [<targetTiddler>get[type]match[application/x-tiddler-dictionary]] [<targetTiddler>get[type]match[image/svg+xml]] +[first[]]","shortcuts":"((stamp))","dropdown":"$:/core/ui/EditorToolbar/stamp-dropdown","button-classes":"tc-editortoolbar-stamp-button","text":""},"$:/core/ui/EditorToolbar/strikethrough":{"title":"$:/core/ui/EditorToolbar/strikethrough","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/strikethrough","caption":"{{$:/language/Buttons/Strikethrough/Caption}}","description":"{{$:/language/Buttons/Strikethrough/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((strikethrough))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"},"$:/core/ui/EditorToolbar/subscript":{"title":"$:/core/ui/EditorToolbar/subscript","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/subscript","caption":"{{$:/language/Buttons/Subscript/Caption}}","description":"{{$:/language/Buttons/Subscript/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((subscript))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"},"$:/core/ui/EditorToolbar/superscript":{"title":"$:/core/ui/EditorToolbar/superscript","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/superscript","caption":"{{$:/language/Buttons/Superscript/Caption}}","description":"{{$:/language/Buttons/Superscript/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((superscript))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"},"$:/core/ui/EditorToolbar/transcludify":{"title":"$:/core/ui/EditorToolbar/transcludify","caption":"{{$:/language/Buttons/Transcludify/Caption}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","description":"{{$:/language/Buttons/Transcludify/Hint}}","icon":"$:/core/images/transcludify","list-before":"$:/core/ui/EditorToolbar/mono-block","shortcuts":"((transcludify))","tags":"$:/tags/EditorToolbar","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"{{\"\n\tsuffix=\"}}\"\n/>\n"},"$:/core/ui/EditorToolbar/underline":{"title":"$:/core/ui/EditorToolbar/underline","tags":"$:/tags/EditorToolbar","icon":"$:/core/images/underline","caption":"{{$:/language/Buttons/Underline/Caption}}","description":"{{$:/language/Buttons/Underline/Hint}}","condition":"[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]","shortcuts":"((underline))","text":"<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"},"$:/core/ui/ExportTiddlyWikiCore":{"title":"$:/core/ui/ExportTiddlyWikiCore","text":"\\define jsFileName() tiddlywikicore-$(version)$.js\n\\define noExportMsg()\nIt appears that you have a wiki with an external ~TiddlyWiki core. The export action cannot be performed.\n<p>You will need to view the page source in your browser. Then go to the very bottom the the source, find the last `<script>` \nelement, and right-click its `src` URI. Save the link as ''$(jsFileName)$''</p>\n\\end\n\n''For advanced users''\n\nExport the ~TiddlyWiki core ~JavaScript code for running with external ~JavaScript:\n\n<$button tooltip=\"Export the ~TiddlyWiki core code for running with external ~JavaScript\" aria-label=\"export TiddlyWiki core\" class=\"tc-btn-big-green\">\n<$list filter=\"[[$:/boot/boot.js]is[missing]]\" variable=\"ignore\" emptyMessage=\"\"\"<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/templates/tiddlywiki5.js\" filename=<<jsFileName>>/>\"\"\" >\n<$action-setfield $tiddler=<<qualify \"$:/temp/alert\">> text=<<noExportMsg>> subtitle=\"Export ~TiddllyWiki Core\"/>\n<$action-sendmessage $message=\"tm-modal\" $param=<<qualify \"$:/temp/alert\">>/>\n</$list>\n{{$:/core/images/download-button}} Download ~TiddlyWiki core\n</$button>\n\n[[Further information|https://tiddlywiki.com/#Using%20the%20external%20JavaScript%20template]]\n"},"$:/core/Filters/AllTags":{"title":"$:/core/Filters/AllTags","tags":"$:/tags/Filter","filter":"[tags[]!is[system]sort[title]]","description":"{{$:/language/Filters/AllTags}}","text":""},"$:/core/Filters/AllTiddlers":{"title":"$:/core/Filters/AllTiddlers","tags":"$:/tags/Filter","filter":"[!is[system]sort[title]]","description":"{{$:/language/Filters/AllTiddlers}}","text":""},"$:/core/Filters/Drafts":{"title":"$:/core/Filters/Drafts","tags":"$:/tags/Filter","filter":"[has[draft.of]sort[title]]","description":"{{$:/language/Filters/Drafts}}","text":""},"$:/core/Filters/Missing":{"title":"$:/core/Filters/Missing","tags":"$:/tags/Filter","filter":"[all[missing]sort[title]]","description":"{{$:/language/Filters/Missing}}","text":""},"$:/core/Filters/Orphans":{"title":"$:/core/Filters/Orphans","tags":"$:/tags/Filter","filter":"[all[orphans]sort[title]]","description":"{{$:/language/Filters/Orphans}}","text":""},"$:/core/Filters/OverriddenShadowTiddlers":{"title":"$:/core/Filters/OverriddenShadowTiddlers","tags":"$:/tags/Filter","filter":"[is[shadow]]","description":"{{$:/language/Filters/OverriddenShadowTiddlers}}","text":""},"$:/core/Filters/RecentSystemTiddlers":{"title":"$:/core/Filters/RecentSystemTiddlers","tags":"$:/tags/Filter","filter":"[has[modified]!sort[modified]limit[50]]","description":"{{$:/language/Filters/RecentSystemTiddlers}}","text":""},"$:/core/Filters/RecentTiddlers":{"title":"$:/core/Filters/RecentTiddlers","tags":"$:/tags/Filter","filter":"[!is[system]has[modified]!sort[modified]limit[50]]","description":"{{$:/language/Filters/RecentTiddlers}}","text":""},"$:/core/Filters/SessionTiddlers":{"title":"$:/core/Filters/SessionTiddlers","tags":"$:/tags/Filter","filter":"[haschanged[]]","description":"{{$:/language/Filters/SessionTiddlers}}","text":""},"$:/core/Filters/ShadowTiddlers":{"title":"$:/core/Filters/ShadowTiddlers","tags":"$:/tags/Filter","filter":"[all[shadows]sort[title]]","description":"{{$:/language/Filters/ShadowTiddlers}}","text":""},"$:/core/Filters/StoryList":{"title":"$:/core/Filters/StoryList","tags":"$:/tags/Filter","filter":"[list[$:/StoryList]] -$:/AdvancedSearch","description":"{{$:/language/Filters/StoryList}}","text":""},"$:/core/Filters/SystemTags":{"title":"$:/core/Filters/SystemTags","tags":"$:/tags/Filter","filter":"[all[shadows+tiddlers]tags[]is[system]sort[title]]","description":"{{$:/language/Filters/SystemTags}}","text":""},"$:/core/Filters/SystemTiddlers":{"title":"$:/core/Filters/SystemTiddlers","tags":"$:/tags/Filter","filter":"[is[system]sort[title]]","description":"{{$:/language/Filters/SystemTiddlers}}","text":""},"$:/core/Filters/TypedTiddlers":{"title":"$:/core/Filters/TypedTiddlers","tags":"$:/tags/Filter","filter":"[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]","description":"{{$:/language/Filters/TypedTiddlers}}","text":""},"$:/core/ui/ImportListing":{"title":"$:/core/ui/ImportListing","text":"\\define lingo-base() $:/language/Import/\n\n\\define messageField() message-$(payloadTiddler)$\n\n\\define payloadTitleFilter() [<currentTiddler>get<renameField>minlength[1]else<payloadTiddler>]\n\n\\define overWriteWarning()\n\\whitespace trim\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\">\n<$text text={{{[subfilter<payloadTitleFilter>!is[tiddler]then[]] ~[<lingo-base>addsuffix[Listing/Rename/OverwriteWarning]get[text]]}}}/>\n</$list>\n\\end\n\n\\define selectionInfo()\n\\whitespace trim\n<$set name=\"escUnselected\" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>\n\t<$list filter=\"[all[current]get<messageField>regexp<escUnselected>]\" variable=\"ignore\">\n\t\t<$text text={{{[all[current]get<selectionField>match[checked]then{$:/language/Import/Upgrader/Tiddler/Selected}else[]]}}}/>\n\t</$list>\n</$set>\n\\end\n\n\\define libraryInfo()\n\\whitespace trim\n<$set name=\"escUnselected\" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>\n\t<$list filter=\"[all[current]get<messageField>!regexp<escUnselected>]\" variable=\"ignore\">\n\t\t<$text text={{{[all[current]get<messageField>]}}}/>\n\t</$list>\n</$set>\n\\end\n\n\\define selectionField() selection-$(payloadTiddler)$\n\n\\define renameField() rename-$(payloadTiddler)$\n\n\\define suppressedField() suppressed-$(payloadTiddler)$\n\n\\define newImportTitleTiddler() $:/temp/NewImportTitle-$(payloadTiddler)$\n\n\\define previewPopupState() $(currentTiddler)$!!popup-$(payloadTiddler)$\n\n\\define renameFieldState() $(currentTiddler)$!!state-rename-$(payloadTiddler)$\n\n\\define select-all-actions()\n\\whitespace trim\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>\n</$list>\n\\end\n\n\\whitespace trim\n<table class=\"tc-import-table\">\n<tbody>\n<tr>\n<th align=\"left\">\n<$checkbox tiddler=\"$:/state/import/select-all\" field=\"text\" checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" actions=<<select-all-actions>>>\n \n<<lingo Listing/Select/Caption>>\n</$checkbox>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr class={{{[<currentTiddler>has<suppressedField>then[tc-row-disabled]] ~[subfilter<payloadTitleFilter>is[tiddler]then[tc-row-warning]] }}}>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\" tag=\"div\" class=\"tc-flex\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown tc-flex-grow-1 tc-word-break\" set=<<previewPopupState>> setTo=\"yes\" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}>\n<span class=\"tc-small-gap-right\">{{$:/core/images/right-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n<$list filter=\"[<currentTiddler>!has<suppressedField>]\"><$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"yes\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/Tooltip]get[text]]}}}>{{$:/core/images/edit-button}}</$button></$list>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\" tag=\"div\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n<span class=\"tc-small-gap-right\">{{$:/core/images/down-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>\n</$button>\n</$reveal>\n</$reveal>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"div\">\n<$text text={{{[<lingo-base>addsuffix[Listing/Rename/Prompt]get[text]]}}}/>\n</$reveal>\n</td>\n<td>\n<<selectionInfo>>\n \n<<libraryInfo>>\n \n<<overWriteWarning>>\n</td>\n</tr>\n<$reveal type=\"match\" state=<<renameFieldState>> text=\"yes\" tag=\"tr\">\n\t<td colspan=\"3\">\n\t\t<div class=\"tc-flex\">\n\t\t\t<$edit-text tiddler=<<newImportTitleTiddler>> default={{{[subfilter<payloadTitleFilter>]}}} tag=\"input\" class=\"tc-import-rename tc-flex-grow-1\"/>\n\t\t\t<span class=\"tc-small-gap-left\">\n\t\t\t\t<$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/CancelRename]get[text]]}}}>\n\t\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t\t\t<$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/>\n\t\t\t\t</$button>\n\t\t\t\t<span class=\"tc-small-gap-right\"/>\n\t\t\t</span>\n\t\t\t<$button class=\"tc-btn-invisible\" set=<<renameFieldState>> setTo=\"no\" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/ConfirmRename]get[text]]}}}>\n\t\t\t\t{{$:/core/images/done-button}}\n\t\t\t\t<$action-setfield $field=<<renameField>> $value={{{[<newImportTitleTiddler>get[text]minlength[1]else<payloadTiddler>]}}} />\n\t\t\t\t<$action-deletetiddler $tiddler=<<newImportTitleTiddler>>/>\n\t\t\t</$button>\n\t\t</div>\n\t</td>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>> tag=\"tr\">\n<td colspan=\"3\">\n<$list filter=\"[{$:/state/importpreviewtype}has[text]]\" variable=\"listItem\" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>\n\t<div>\n\t\t<$transclude tiddler={{$:/state/importpreviewtype}}/>\n\t</div>\n</$list>\n</td>\n</$reveal>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ImportPreviews/Diff":{"title":"$:/core/ui/ImportPreviews/Diff","tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Diff}}","text":"<$macrocall $name=\"compareTiddlerText\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>>/>\n"},"$:/core/ui/ImportPreviews/DiffFields":{"title":"$:/core/ui/ImportPreviews/DiffFields","tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/DiffFields}}","text":"<$macrocall $name=\"compareTiddlers\" sourceTiddlerTitle=<<payloadTiddler>> destTiddlerTitle=<<currentTiddler>> destSubTiddlerTitle=<<payloadTiddler>> exclude=\"text\"/>\n"},"$:/core/ui/ImportPreviews/Fields":{"title":"$:/core/ui/ImportPreviews/Fields","tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Fields}}","text":"\\whitespace trim\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[<payloadTiddler>subtiddlerfields<currentTiddler>sort[]] -text\" variable=\"fieldName\">\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<fieldName>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<fieldName>> tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>>/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"},"$:/core/ui/ImportPreviews/Text":{"title":"$:/core/ui/ImportPreviews/Text","tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/Text}}","code-body":"yes","text":"<$transclude tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> mode=\"block\"/>\n"},"$:/core/ui/ImportPreviews/TextRaw":{"title":"$:/core/ui/ImportPreviews/TextRaw","tags":"$:/tags/ImportPreview","caption":"{{$:/language/Import/Listing/Preview/TextRaw}}","text":"<pre><code><$view tiddler=<<currentTiddler>> subtiddler=<<payloadTiddler>> /></code></pre>"},"$:/core/ui/KeyboardShortcuts/advanced-search":{"title":"$:/core/ui/KeyboardShortcuts/advanced-search","tags":"$:/tags/KeyboardShortcut","key":"((advanced-search))","text":"\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n<$action-navigate $to=\"$:/AdvancedSearch\" $scroll=\"yes\"/>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/>\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/change-sidebar-layout":{"title":"$:/core/ui/KeyboardShortcuts/change-sidebar-layout","tags":"$:/tags/KeyboardShortcut","key":"((change-sidebar-layout))","text":"\\whitespace trim\n<$list\n\tfilter=\"[{$:/themes/tiddlywiki/vanilla/options/sidebarlayout}match[fixed-fluid]]\"\n\temptyMessage=\"<$action-setfield $tiddler='$:/themes/tiddlywiki/vanilla/options/sidebarlayout' text='fixed-fluid'/>\">\n<$action-setfield $tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" text=\"fluid-fixed\"/>\n</$list>\n"},"$:/core/ui/KeyboardShortcuts/new-image":{"title":"$:/core/ui/KeyboardShortcuts/new-image","tags":"$:/tags/KeyboardShortcut","key":"((new-image))","text":"\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-image}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/new-journal":{"title":"$:/core/ui/KeyboardShortcuts/new-journal","tags":"$:/tags/KeyboardShortcut","key":"((new-journal))","text":"\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-journal}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/new-tiddler":{"title":"$:/core/ui/KeyboardShortcuts/new-tiddler","tags":"$:/tags/KeyboardShortcut","key":"((new-tiddler))","text":"\\whitespace trim\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n{{$:/core/ui/Actions/new-tiddler}}\n</$navigator>\n"},"$:/core/ui/KeyboardShortcuts/refresh":{"title":"$:/core/ui/KeyboardShortcuts/refresh","tags":"$:/tags/KeyboardShortcut","key":"((refresh))","text":"<$action-sendmessage $message=\"tm-browser-refresh\"/>\n"},"$:/core/ui/KeyboardShortcuts/save-wiki":{"title":"$:/core/ui/KeyboardShortcuts/save-wiki","tags":"$:/tags/KeyboardShortcut","key":"((save-wiki))","text":"\\whitespace trim\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n"},"$:/core/ui/KeyboardShortcuts/sidebar-search":{"title":"$:/core/ui/KeyboardShortcuts/sidebar-search","tags":"$:/tags/KeyboardShortcut","key":"((sidebar-search))","text":"<$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n"},"$:/core/ui/KeyboardShortcuts/switcher":{"title":"$:/core/ui/KeyboardShortcuts/switcher","tags":"$:/tags/KeyboardShortcut","key":"((layout-switcher))","text":"<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>"},"$:/core/ui/KeyboardShortcuts/toggle-sidebar":{"title":"$:/core/ui/KeyboardShortcuts/toggle-sidebar","tags":"$:/tags/KeyboardShortcut","key":"((toggle-sidebar))","text":"\\whitespace trim\n<$list\n\tfilter=\"[[$:/state/sidebar]is[missing]] [{$:/state/sidebar}removeprefix[yes]]\"\n\temptyMessage=\"<$action-setfield $tiddler='$:/state/sidebar' text='yes'/>\">\n<$action-setfield $tiddler=\"$:/state/sidebar\" text=\"no\"/>\n</$list>\n"},"$:/snippets/LayoutSwitcher":{"title":"$:/snippets/LayoutSwitcher","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ControlPanel/LayoutSwitcher/Caption}}","text":"\\whitespace trim\n<$linkcatcher to=\"$:/layout\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/Layout]] [[$:/core/ui/PageTemplate]] +[!is[draft]sort[name]]\">\n<$list\n\tfilter=\"[{$:/layout}!has[text]]\"\n\tvariable=\"ignore\"\n\temptyMessage=\"\"\"\\whitespace trim\n\t\t<$set name=\"cls\" filter=\"[all[current]field:title{$:/layout}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\">\n\t\t<div class=<<cls>>>\n\t\t<$link to={{!!title}}>\n\t\t''<$transclude tiddler={{{ [<currentTiddler>get[icon]] }}}/><$transclude field=\"name\"/>'' - <$transclude field=\"description\"/>\n\t\t</$link></div></$set>\n\"\"\">\n<$set name=\"cls\" filter=\"[all[current]field:title[$:/core/ui/PageTemplate]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\">\n<div class=<<cls>>>\n<$link to={{!!title}}>\n''<$transclude tiddler={{{ [<currentTiddler>get[icon]] }}}/><$transclude field=\"name\"/>'' - <$transclude field=\"description\"/>\n</$link>\n</div>\n</$set>\n</$list>\n</$list>\n</div>\n</$linkcatcher>\n"},"$:/core/ui/ListItemTemplate":{"title":"$:/core/ui/ListItemTemplate","text":"<div class=\"tc-menu-list-item\"><$link /></div>"},"$:/snippets/ListTaggedCascade":{"title":"$:/snippets/ListTaggedCascade","text":"\\whitespace trim\n{{||$:/language/ControlPanel/Cascades/TagPrompt}}\n\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag<currentTiddler>]\">\n<li>\n<div>\n<$link><$text text=<<currentTiddler>>/></$link>\n</div>\n<$codeblock code={{!!text}}/>\n</li>\n</$list>\n</ol>\n"},"$:/Manager/ItemMain/Fields":{"title":"$:/Manager/ItemMain/Fields","tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/Fields}}","text":"\\whitespace trim\n<table>\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"},"$:/Manager/ItemMain/RawText":{"title":"$:/Manager/ItemMain/RawText","tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/RawText}}","text":"<pre><code><$view/></code></pre>\n"},"$:/Manager/ItemMain/WikifiedText":{"title":"$:/Manager/ItemMain/WikifiedText","tags":"$:/tags/Manager/ItemMain","caption":"{{$:/language/Manager/Item/WikifiedText}}","text":"<$transclude mode=\"block\"/>\n"},"$:/Manager/ItemSidebar/Colour":{"title":"$:/Manager/ItemSidebar/Colour","tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Colour}}","text":"\\define swatch-styles()\nheight: 1em;\nbackground-color: $(colour)$\n\\end\n\n\\whitespace trim\n<$vars colour={{!!color}}>\n<p style=<<swatch-styles>>/>\n</$vars>\n<p>\n<$edit-text field=\"color\" tag=\"input\" type=\"color\"/>\n / \n<$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/>\n</p>\n"},"$:/Manager/ItemSidebar/Icon":{"title":"$:/Manager/ItemSidebar/Icon","tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Icon}}","text":"\\whitespace trim\n<p>\n<div class=\"tc-manager-icon-editor\">\n<$button popup=<<qualify \"$:/state/popup/image-picker\">> class=\"tc-btn-invisible\">\n<$transclude tiddler={{!!icon}}>\n{{$:/language/Manager/Item/Icon/None}}\n</$transclude>\n</$button>\n<div class=\"tc-block-dropdown-wrapper\" style=\"position: static;\">\n<$reveal state=<<qualify \"$:/state/popup/image-picker\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-popup\">\n<div class=\"tc-block-dropdown tc-popup-keep\" style=\"width: 80%; left: 10%; right: 10%; padding: 0.5em;\">\n<$macrocall\n\t$name=\"image-picker-include-tagged-images\"\n\tactions=\"<$action-setfield $field='icon' $value=<<imageTitle>>/><$action-deletetiddler $tiddler=<<qualify '$:/state/popup/image-picker'>>/>\"/>\n</div>\n</$reveal>\n</div>\n</div>\n</p>\n"},"$:/Manager/ItemSidebar/Tags":{"title":"$:/Manager/ItemSidebar/Tags","tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Tags}}","text":"\\whitespace trim\n\\define tag-checkbox-actions()\n<$action-listops\n\t$tiddler=\"$:/config/Manager/RecentTags\"\n\t$subfilter=\"[<tag>] [list[$:/config/Manager/RecentTags]] +[limit[12]]\"\n/>\n\\end\n\n\\define tag-picker-actions()\n<<tag-checkbox-actions>>\n\\end\n\n<p>\n<$list filter=\"[all[current]tags[]] [list[$:/config/Manager/RecentTags]] +[sort[title]] \" variable=\"tag\" storyview=\"pop\">\n<div>\n<$checkbox tiddler=<<currentTiddler>> tag=<<tag>> actions=<<tag-checkbox-actions>>>\n<$macrocall $name=\"tag-pill\" tag=<<tag>>/>\n</$checkbox>\n</div>\n</$list>\n</p>\n<p>\n<$fieldmangler>\n<$macrocall $name=\"tag-picker\" actions=<<tag-picker-actions>>/>\n</$fieldmangler>\n</p>\n"},"$:/Manager/ItemSidebar/Tools":{"title":"$:/Manager/ItemSidebar/Tools","tags":"$:/tags/Manager/ItemSidebar","caption":"{{$:/language/Manager/Item/Tools}}","text":"\\whitespace trim\n<p>\n<$button to=<<currentTiddler>>>\n{{$:/core/images/link}} open\n</$button>\n</p>\n<p>\n<$button message=\"tm-edit-tiddler\" param=<<currentTiddler>>>\n{{$:/core/images/edit-button}} edit\n</$button>\n</p>\n"},"$:/Manager":{"title":"$:/Manager","icon":"$:/core/images/list","color":"#bbb","text":"\\define lingo-base() $:/language/Manager/\n\n\\define list-item-content-item()\n\\whitespace trim\n<div class=\"tc-manager-list-item-content-item\">\n\t<$vars state-title=\"\"\"$:/state/popup/manager/item/$(listItem)$\"\"\">\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"hide\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/down-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"nomatch\" text=\"show\" default=\"show\" tag=\"div\">\n\t\t\t<$button set=<<state-title>> setTo=\"show\" class=\"tc-btn-invisible tc-manager-list-item-content-item-heading\">\n\t\t\t\t{{$:/core/images/right-arrow}} <$transclude tiddler=<<listItem>> field=\"caption\"/>\n\t\t\t</$button>\n\t\t</$reveal>\n\t\t<$reveal state=<<state-title>> type=\"match\" text=\"show\" default=\"show\" tag=\"div\" class=\"tc-manager-list-item-content-item-body\">\n\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t</$reveal>\n\t</$vars>\n</div>\n\\end\n\n\\whitespace trim\n<div class=\"tc-manager-wrapper\">\n\t<div class=\"tc-manager-controls\">\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Show/Prompt>> <$select tiddler=\"$:/config/Manager/Show\" default=\"tiddlers\">\n\t\t\t\t<option value=\"tiddlers\"><<lingo Controls/Show/Option/Tiddlers>></option>\n\t\t\t\t<option value=\"tags\"><<lingo Controls/Show/Option/Tags>></option>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Search/Prompt>> <$edit-text tiddler=\"$:/config/Manager/Filter\" tag=\"input\" default=\"\" placeholder={{$:/language/Manager/Controls/Search/Placeholder}}/>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/FilterByTag/Prompt>> <$select tiddler=\"$:/config/Manager/Tag\" default=\"\">\n\t\t\t\t<option value=\"\"><<lingo Controls/FilterByTag/None>></option>\n\t\t\t\t<$list filter=\"[!is{$:/config/Manager/System}tags[]!is[system]sort[title]]\" variable=\"tag\">\n\t\t\t\t\t<option value=<<tag>>><$text text=<<tag>>/></option>\n\t\t\t\t</$list>\n\t\t\t</$select>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<<lingo Controls/Sort/Prompt>> <$select tiddler=\"$:/config/Manager/Sort\" default=\"title\">\n\t\t\t\t<optgroup label=\"Common\">\n\t\t\t\t\t<$list filter=\"title modified modifier created creator created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t\t<optgroup label=\"All\">\n\t\t\t\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}fields[]sort[title]] -title -modified -modifier -created -creator -created\" variable=\"field\">\n\t\t\t\t\t\t<option value=<<field>>><$text text=<<field>>/></option>\n\t\t\t\t\t</$list>\n\t\t\t\t</optgroup>\n\t\t\t</$select>\n\t\t\t \n\t\t\t<$checkbox tiddler=\"$:/config/Manager/Order\" field=\"text\" checked=\"reverse\" unchecked=\"forward\" default=\"forward\">\n\t\t\t\t \n\t\t\t\t<<lingo Controls/Order/Prompt>>\n\t\t\t</$checkbox>\n\t\t</div>\n\t\t<div class=\"tc-manager-control\">\n\t\t\t<$checkbox tiddler=\"$:/config/Manager/System\" field=\"text\" checked=\"\" unchecked=\"system\" default=\"system\">\n\t\t\t\t \n\t\t\t\t{{$:/language/SystemTiddlers/Include/Prompt}}\n\t\t\t</$checkbox>\n\t\t</div>\n\t</div>\n\t<div class=\"tc-manager-list\">\n\t\t<$list filter=\"[all{$:/config/Manager/Show}!is{$:/config/Manager/System}search{$:/config/Manager/Filter}tag:strict{$:/config/Manager/Tag}sort{$:/config/Manager/Sort}order{$:/config/Manager/Order}]\">\n\t\t\t<$vars transclusion=<<currentTiddler>>>\n\t\t\t\t<div style=\"tc-manager-list-item\">\n\t\t\t\t\t<$button popup=<<qualify \"$:/state/manager/popup\">> class=\"tc-btn-invisible tc-manager-list-item-heading\" selectedClass=\"tc-manager-list-item-heading-selected\">\n\t\t\t\t\t\t<$text text=<<currentTiddler>>/>\n\t\t\t\t\t</$button>\n\t\t\t\t\t<$reveal state=<<qualify \"$:/state/manager/popup\">> type=\"nomatch\" text=\"\" default=\"\" tag=\"div\" class=\"tc-manager-list-item-content tc-popup-handle\">\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-tiddler\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemMain]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"tc-manager-list-item-content-sidebar\">\n\t\t\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Manager/ItemSidebar]!has[draft.of]]\" variable=\"listItem\">\n\t\t\t\t\t\t\t\t<<list-item-content-item>>\n\t\t\t\t\t\t\t</$list>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</$reveal>\n\t\t\t\t</div>\n\t\t\t</$vars>\n\t\t</$list>\n\t</div>\n</div>\n"},"$:/core/ui/MissingTemplate":{"title":"$:/core/ui/MissingTemplate","text":"\\whitespace trim\n<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"},"$:/core/ui/MoreSideBar/All":{"title":"$:/core/ui/MoreSideBar/All","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/All/Caption}}","text":"<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Drafts":{"title":"$:/core/ui/MoreSideBar/Drafts","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Drafts/Caption}}","text":"<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Explorer":{"title":"$:/core/ui/MoreSideBar/Explorer","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Explorer/Caption}}","text":"<<tree \"$:/\">>\n"},"$:/core/ui/MoreSideBar/Missing":{"title":"$:/core/ui/MoreSideBar/Missing","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Missing/Caption}}","text":"<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Orphans":{"title":"$:/core/ui/MoreSideBar/Orphans","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Orphans/Caption}}","text":"<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Plugins":{"title":"$:/core/ui/MoreSideBar/Plugins","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/ControlPanel/Plugins/Caption}}","text":"\n{{$:/language/ControlPanel/Plugins/Installed/Hint}}\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar/Plugins]!has[draft.of]]\" default=\"$:/core/ui/MoreSideBar/Plugins/Plugins\" explicitState=\"$:/state/tab-1163638994\"/>\n"},"$:/core/ui/MoreSideBar/Recent":{"title":"$:/core/ui/MoreSideBar/Recent","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Recent/Caption}}","text":"<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"},"$:/core/ui/MoreSideBar/Shadows":{"title":"$:/core/ui/MoreSideBar/Shadows","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Shadows/Caption}}","text":"<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/System":{"title":"$:/core/ui/MoreSideBar/System","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/System/Caption}}","text":"<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/MoreSideBar/Tags":{"title":"$:/core/ui/MoreSideBar/Tags","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Tags/Caption}}","text":"\\whitespace trim\n<$let tv-config-toolbar-icons=\"yes\" tv-config-toolbar-text=\"yes\" tv-config-toolbar-class=\"\">\n\t<div class=\"tc-tiny-v-gap-bottom\">\n\t\t{{$:/core/ui/Buttons/tag-manager}}\n\t</div>\n</$let>\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\t<div class=\"tc-tiny-v-gap-bottom\">\n\t\t<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\t</div>\n</$list>\n<hr class=\"tc-untagged-separator\">\n{{$:/core/ui/UntaggedTemplate}}\n"},"$:/core/ui/MoreSideBar/Types":{"title":"$:/core/ui/MoreSideBar/Types","tags":"$:/tags/MoreSideBar","caption":"{{$:/language/SideBar/Types/Caption}}","text":"\\whitespace trim\n<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"},"$:/core/ui/MoreSideBar/Plugins/Languages":{"title":"$:/core/ui/MoreSideBar/Plugins/Languages","tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Languages/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[language]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"},"$:/core/ui/MoreSideBar/Plugins/Plugins":{"title":"$:/core/ui/MoreSideBar/Plugins/Plugins","tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Plugins/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[plugin]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}>>/>\n"},"$:/core/ui/MoreSideBar/Plugins/Theme":{"title":"$:/core/ui/MoreSideBar/Plugins/Theme","tags":"$:/tags/MoreSideBar/Plugins","caption":"{{$:/language/ControlPanel/Plugins/Themes/Caption}}","text":"<$list filter=\"[!has[draft.of]plugin-type[theme]sort[name]]\" template=\"$:/core/ui/PluginListItemTemplate\" emptyMessage={{$:/language/ControlPanel/Plugins/Empty/Hint}}/>\n"},"$:/core/ui/Buttons/advanced-search":{"title":"$:/core/ui/Buttons/advanced-search","tags":"$:/tags/PageControls","caption":"{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}","description":"{{$:/language/Buttons/AdvancedSearch/Hint}}","text":"\\whitespace trim\n\\define advanced-search-button(class)\n\\whitespace trim\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<advanced-search-button>>>\n<<advanced-search-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/close-all":{"title":"$:/core/ui/Buttons/close-all","tags":"$:/tags/PageControls","caption":"{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}","description":"{{$:/language/Buttons/CloseAll/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/CloseAll/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/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<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list<tv-story-list>] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/encryption":{"title":"$:/core/ui/Buttons/encryption","tags":"$:/tags/PageControls","caption":"{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}","description":"{{$:/language/Buttons/Encryption/Hint}}","text":"\\whitespace trim\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/export-page":{"title":"$:/core/ui/Buttons/export-page","tags":"$:/tags/PageControls","caption":"{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}","description":"{{$:/language/Buttons/ExportPage/Hint}}","text":"<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"},"$:/core/ui/Buttons/fold-all":{"title":"$:/core/ui/Buttons/fold-all","tags":"$:/tags/PageControls","caption":"{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}","description":"{{$:/language/Buttons/FoldAll/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FoldAll/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/full-screen":{"title":"$:/core/ui/Buttons/full-screen","tags":"$:/tags/PageControls","caption":"{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}","description":"{{$:/language/Buttons/FullScreen/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FullScreen/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/home":{"title":"$:/core/ui/Buttons/home","tags":"$:/tags/PageControls","caption":"{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}","description":"{{$:/language/Buttons/Home/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Home/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/import":{"title":"$:/core/ui/Buttons/import","tags":"$:/tags/PageControls","caption":"{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}","description":"{{$:/language/Buttons/Import/Hint}}","text":"\\whitespace trim\n<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Import/Caption}}/>\n</span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"},"$:/core/ui/Buttons/language":{"title":"$:/core/ui/Buttons/language","tags":"$:/tags/PageControls","caption":"{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}","description":"{{$:/language/Buttons/Language/Hint}}","text":"\\whitespace trim\n\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/languageswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/layout":{"title":"$:/core/ui/Buttons/layout","tags":"$:/tags/PageControls","caption":"{{$:/core/images/layout-button}} {{$:/language/Buttons/LayoutSwitcher/Caption}}","description":"{{$:/language/LayoutSwitcher/Description}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-show-switcher\" switch=\"layout\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/layout-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/manager":{"title":"$:/core/ui/Buttons/manager","tags":"$:/tags/PageControls","caption":"{{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}","description":"{{$:/language/Buttons/Manager/Hint}}","text":"\\whitespace trim\n\\define manager-button(class)\n\\whitespace trim\n<$button to=\"$:/Manager\" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/list}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Manager/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/Manager]]\" emptyMessage=<<manager-button>>>\n<<manager-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/more-page-actions":{"title":"$:/core/ui/Buttons/more-page-actions","tags":"$:/tags/PageControls","caption":"{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","text":"\\whitespace trim\n\\define config-title() $:/config/PageControlButtons/Visibility/$(listItem)$\n\n<$button popup=<<qualify \"$:/state/popup/more\">>\n\ttooltip={{$:/language/Buttons/More/Hint}}\n\taria-label={{$:/language/Buttons/More/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n\tselectedClass=\"tc-selected\"\n>\n\t<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n\t\t{{$:/core/images/down-arrow}}\n\t</$list>\n\t<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/More/Caption}}/>\n\t\t</span>\n\t</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\t<div class=\"tc-drop-down\">\n\t\t<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\t\t\t<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\t\t\t\t<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\"\n\t\t\t\t\t\tvariable=\"listItem\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\t\t\t\t\t\t\t<$set name=\"tv-config-toolbar-class\"\n\t\t\t\t\t\t\t\tfilter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\t\t\t\t\t\t\t</$set>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t</$list>\n\t\t\t\t</$set>\n\t\t\t</$set>\n\t\t</$set>\n\t</div>\n</$reveal>"},"$:/core/ui/Buttons/network-activity":{"title":"$:/core/ui/Buttons/network-activity","tags":"$:/tags/PageControls","caption":"{{$:/core/images/network-activity}} {{$:/language/Buttons/NetworkActivity/Caption}}","description":"{{$:/language/Buttons/NetworkActivity/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-http-cancel-all-requests\" tooltip={{$:/language/Buttons/NetworkActivity/Hint}} aria-label={{$:/language/Buttons/NetworkActivity/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/network-activity}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NetworkActivity/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/new-image":{"title":"$:/core/ui/Buttons/new-image","tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}","description":"{{$:/language/Buttons/NewImage/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-image}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewImage/Caption}}/>\n</span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/new-journal":{"title":"$:/core/ui/Buttons/new-journal","tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}","description":"{{$:/language/Buttons/NewJournal/Hint}}","text":"\\whitespace trim\n\\define journalButton()\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournal/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<journalButton>>\n"},"$:/core/ui/Buttons/new-tiddler":{"title":"$:/core/ui/Buttons/new-tiddler","tags":"$:/tags/PageControls","caption":"{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}","description":"{{$:/language/Buttons/NewTiddler/Hint}}","text":"\\whitespace trim\n<$button actions={{$:/core/ui/Actions/new-tiddler}} tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewTiddler/Caption}}/>\n</span>\n</$list>\n</$button>\n"},"$:/core/ui/Buttons/palette":{"title":"$:/core/ui/Buttons/palette","tags":"$:/tags/PageControls","caption":"{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}","description":"{{$:/language/Buttons/Palette/Hint}}","text":"\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/print":{"title":"$:/core/ui/Buttons/print","tags":"$:/tags/PageControls","caption":"{{$:/core/images/print-button}} {{$:/language/Buttons/Print/Caption}}","description":"{{$:/language/Buttons/Print/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-print\" tooltip={{$:/language/Buttons/Print/Hint}} aria-label={{$:/language/Buttons/Print/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/print-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Print/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/refresh":{"title":"$:/core/ui/Buttons/refresh","tags":"$:/tags/PageControls","caption":"{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}","description":"{{$:/language/Buttons/Refresh/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Refresh/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/save-wiki":{"title":"$:/core/ui/Buttons/save-wiki","tags":"$:/tags/PageControls","caption":"{{$:/core/images/save-button-dynamic}} {{$:/language/Buttons/SaveWiki/Caption}}","description":"{{$:/language/Buttons/SaveWiki/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-save-wiki\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/save-button-dynamic}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/SaveWiki/Caption}}/>\n</span>\n</$list>\n</span>\n</$button>"},"$:/core/ui/Buttons/storyview":{"title":"$:/core/ui/Buttons/storyview","tags":"$:/tags/PageControls","caption":"{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}","description":"{{$:/language/Buttons/StoryView/Hint}}","text":"\\whitespace trim\n\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n{{$:/snippets/viewswitcher}}\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/tag-manager":{"title":"$:/core/ui/Buttons/tag-manager","tags":"$:/tags/PageControls","caption":"{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}","description":"{{$:/language/Buttons/TagManager/Hint}}","text":"\\whitespace trim\n\\define control-panel-button(class)\n\\whitespace trim\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/TagManager/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"},"$:/core/ui/Buttons/theme":{"title":"$:/core/ui/Buttons/theme","tags":"$:/tags/PageControls","caption":"{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}","description":"{{$:/language/Buttons/Theme/Hint}}","text":"\\whitespace trim\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n{{$:/snippets/themeswitcher}}\n</$linkcatcher>\n</div>\n</$reveal>\n"},"$:/core/ui/Buttons/timestamp":{"title":"$:/core/ui/Buttons/timestamp","tags":"$:/tags/PageControls","caption":"{{$:/core/images/timestamp-on}} {{$:/language/Buttons/Timestamp/Caption}}","description":"{{$:/language/Buttons/Timestamp/Hint}}","text":"\\whitespace trim\n<$reveal type=\"nomatch\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/On/Hint}} aria-label={{$:/language/Buttons/Timestamp/On/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"yes\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-on}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Timestamp/On/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=\"$:/config/TimestampDisable\" text=\"yes\">\n<$button tooltip={{$:/language/Buttons/Timestamp/Off/Hint}} aria-label={{$:/language/Buttons/Timestamp/Off/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-setfield $tiddler=\"$:/config/TimestampDisable\" $value=\"no\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/timestamp-off}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Timestamp/Off/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/unfold-all":{"title":"$:/core/ui/Buttons/unfold-all","tags":"$:/tags/PageControls","caption":"{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}","description":"{{$:/language/Buttons/UnfoldAll/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/UnfoldAll/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/PageTemplate/pagecontrols":{"title":"$:/core/ui/PageTemplate/pagecontrols","text":"\\whitespace trim\n\\function config-title() [[$:/config/PageControlButtons/Visibility/$(listItem)$]substitute[]]\n\n<div class=\"tc-page-controls\">\n\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\t\t<$list filter=\"[<config-title>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\n\t\t\t<$let tv-config-toolbar-class={{{ [enlist<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]] +[join[ ]] }}}>\n\t\t\t\t<$transclude $tiddler=<<listItem>> $mode=\"inline\"/>\n\t\t\t</$let>\n\t\t</$list>\n\t</$list>\n</div>"},"$:/core/ui/PageStylesheet":{"title":"$:/core/ui/PageStylesheet","code-body":"yes","text":"\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\whitespace trim\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/PageTemplate/alerts":{"title":"$:/core/ui/PageTemplate/alerts","tags":"$:/tags/PageTemplate","text":"<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"},"$:/core/ui/PageTemplate/drafts":{"title":"$:/core/ui/PageTemplate/drafts","tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n<$reveal state=\"$:/status/IsReadOnly\" type=\"nomatch\" text=\"yes\" tag=\"div\" class=\"tc-drafts-list\">\n<$list filter=\"[has[draft.of]!sort[modified]] -[list[$:/StoryList]]\">\n<$link>\n{{$:/core/images/edit-button}} <$text text=<<currentTiddler>>/>\n</$link>\n</$list>\n</$reveal>\n"},"$:/core/ui/PageTemplate/pluginreloadwarning":{"title":"$:/core/ui/PageTemplate/pluginreloadwarning","tags":"$:/tags/PageTemplate","text":"\\define lingo-base() $:/language/\n\n<$list filter=\"[{$:/status/RequireReloadDueToPluginChange}match[yes]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"},"$:/core/ui/PageTemplate/sidebar":{"title":"$:/core/ui/PageTemplate/sidebar","tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n\\define config-title()\n$:/config/SideBarSegments/Visibility/$(listItem)$\n\\end\n\n<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBarSegment]!has[draft.of]]\" variable=\"listItem\">\n\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\" tag=\"div\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$reveal>\n\n</$list>\n\n</$reveal>\n\n</div>\n\n</$scrollable>\n"},"$:/core/ui/PageTemplate/story":{"title":"$:/core/ui/PageTemplate/story","tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n<section class=\"tc-story-river\" role=\"main\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/StoryTiddlerTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"},"$:/core/ui/PageTemplate/topleftbar":{"title":"$:/core/ui/PageTemplate/topleftbar","tags":"$:/tags/PageTemplate","text":"<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"},"$:/core/ui/PageTemplate/toprightbar":{"title":"$:/core/ui/PageTemplate/toprightbar","tags":"$:/tags/PageTemplate","text":"<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"},"$:/core/ui/PageTemplate":{"title":"$:/core/ui/PageTemplate","name":"{{$:/language/PageTemplate/Name}}","description":"{{$:/language/PageTemplate/Description}}","icon":"$:/core/images/default-layout","code-body":"yes","text":"\\whitespace trim\n\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\n<$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\n<div class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/PageTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-page-container [[tc-page-view-]addsuffix<storyviewTitle>] [[tc-language-]addsuffix<languageTitle>] :and[unique[]join[ ]] }}} >\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}} relinkOnRename={{$:/config/RelinkOnRename}}>\n\n<$dropzone enable=<<tv-enable-drag-and-drop>> class=\"tc-dropzone tc-page-container-inner\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$vars>\n"},"$:/PaletteManager":{"title":"$:/PaletteManager","text":"\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n\\define edit-colour-placeholder()\n edit $(colourName)$\n\\end\n\\define colour-tooltip(showhide) $showhide$ editor for $(newColourName)$ \n\n\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\n\\define delete-colour-index-actions() <$action-setfield $index=<<colourName>>/>\n\\define palette-manager-colour-row-segment()\n\\whitespace trim\n<$edit-text index=<<colourName>> tag=\"input\" placeholder=<<edit-colour-placeholder>> default=\"\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\" class=\"tc-palette-manager-colour-input\"/>\n<$list filter=\"[<currentTiddler>getindex<colourName>removeprefix[<<]removesuffix[>>]] [<currentTiddler>getindex<colourName>removeprefix[<$]removesuffix[/>]]\" variable=\"ignore\">\n<$set name=\"state\" value={{{ [[$:/state/palettemanager/]addsuffix<currentTiddler>addsuffix[/]addsuffix<colourName>] }}}>\n<$wikify name=\"newColourName\" text=\"\"\"<$macrocall $name=\"resolve-colour\" macrocall={{{ [<currentTiddler>getindex<colourName>] }}}/>\"\"\">\n<$reveal state=<<state>> type=\"nomatch\" text=\"show\">\n<$button tooltip=<<colour-tooltip show>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" set=<<state>> setTo=\"show\">{{$:/core/images/down-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$button tooltip=<<colour-tooltip hide>> aria-label=<<colour-tooltip show>> class=\"tc-btn-invisible\" actions=\"\"\"<$action-deletetiddler $tiddler=<<state>>/>\"\"\">{{$:/core/images/up-arrow}}<$text text=<<newColourName>> class=\"tc-small-gap-left\"/></$button><br>\n</$reveal>\n<$reveal state=<<state>> type=\"match\" text=\"show\">\n<$set name=\"colourName\" value=<<newColourName>>>\n<br>\n<<palette-manager-colour-row-segment>>\n<br><br>\n</$set>\n</$reveal>\n</$wikify>\n</$set>\n</$list>\n\\end\n\n\\define palette-manager-colour-row()\n\\whitespace trim\n<tr>\n<td>\n<span style=\"float:right;\">\n<$button tooltip={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} aria-label={{$:/language/ControlPanel/Palette/Editor/Delete/Hint}} class=\"tc-btn-invisible\" actions=<<delete-colour-index-actions>>>\n{{$:/core/images/delete-button}}</$button>\n</span>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<<palette-manager-colour-row-segment>>\n</td>\n</tr>\n\\end\n\n\\define palette-manager-table()\n\\whitespace trim\n<table>\n<tbody>\n<$set name=\"colorList\" filter=\"[{$:/state/palettemanager/showexternal}match[yes]]\"\n value=\"[all[shadows+tiddlers]tag[$:/tags/Palette]indexes[]]\" emptyValue=\"[<currentTiddler>indexes[]]\">\n<$list filter=<<colorList>> variable=\"colourName\"> <<palette-manager-colour-row>> </$list>\n</$set>\n</tbody>\n</table>\n\\end\n\\whitespace trim\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n \n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<$checkbox tiddler=\"$:/state/palettemanager/showexternal\" field=\"text\" checked=\"yes\" unchecked=\"no\"><span class=\"tc-small-gap-left\"><<lingo Names/External/Show>></span></$checkbox>\n\n<<palette-manager-table>>\n"},"$:/core/ui/PluginInfo":{"title":"$:/core/ui/PluginInfo","text":"\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n\\define default-tiddler-title()\n$:/core/ui/PluginInfo/Default/$(currentTab)$\n\\end\n\\whitespace trim\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<default-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n</$transclude>\n"},"$:/core/ui/PluginInfo/Default/contents":{"title":"$:/core/ui/PluginInfo/Default/contents","text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n\\whitespace trim\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link />\n</li>\n</$list>\n</ul>\n"},"$:/core/ui/PluginListItemTemplate":{"title":"$:/core/ui/PluginListItemTemplate","text":"\\whitespace trim\n<$link to={{!!title}} class=\"tc-plugin-info\">\n\t<div class=\"tc-plugin-info-chunk tc-plugin-info-icon\">\n\t\t<$transclude tiddler=<<currentTiddler>> subtiddler={{{ [<currentTiddler>addsuffix[/icon]] }}}>\n\t\t\t<$transclude tiddler={{{ [<currentTiddler>get[plugin-type]addprefix[$:/core/images/plugin-generic-]] }}}/>\n\t\t</$transclude>\n\t</div>\n\t<div class=\"tc-plugin-info-chunk tc-plugin-info-description\">\n\t\t<h1>\n\t\t\t''<$text text={{{ [<currentTiddler>get[name]] ~[<currentTiddler>split[/]last[1]] }}}/>'': <$view field=\"description\"><$view field=\"title\"/></$view>\n\t\t</h1>\n\t</div>\n</$link>\n"},"$:/core/ui/RootTemplate":{"title":"$:/core/ui/RootTemplate","code-body":"yes","text":"<$transclude tiddler={{{ [{$:/layout}has[text]] ~[[$:/core/ui/PageTemplate]] }}} mode=\"inline\"/>\n\n"},"$:/core/ui/SearchResults":{"title":"$:/core/ui/SearchResults","text":"<div class=\"tc-search-results\">\n\n<$list\n\tfilter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\"\n\temptyMessage=\"<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode='block'/></$list>\">\n\n<$macrocall $name=\"tabs\"\n\ttabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\"\n\tdefault={{$:/config/SearchResults/Default}}\n\tactions=\"<$action-setfield $tiddler='$:/state/search/currentTab' text=<<currentTab>>/>\"\n\texplicitState=\"$:/state/tab/search-results/sidebar\"/>\n\n</$list>\n\n</div>\n"},"$:/core/ui/SideBar/More":{"title":"$:/core/ui/SideBar/More","tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/More/Caption}}","text":"\\whitespace trim\n<div class={{{ [{$:/config/ui/SideBar/More/horizontal}match[yes]then[tc-sidebar-tabs]else[tc-more-sidebar]] }}}>\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" default={{$:/config/DefaultMoreSidebarTab}} state=\"$:/state/tab/moresidebar\" class={{{ [{$:/config/ui/SideBar/More/horizontal}match[yes]then[tc-sidebar-tabs-more]else[tc-vertical tc-sidebar-tabs-more]] }}} explicitState=\"$:/state/tab/moresidebar-1850697562\"/>\n</div>\n"},"$:/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<$action-listops $tiddler=<<tv-story-list>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define placeholder()\n<div class=\"tc-droppable-placeholder\"/>\n\\end\n\n\\define droppable-item(button)\n\\whitespace trim\n<$droppable actions=<<drop-actions>> enable=<<tv-allow-drag-and-drop>> tag=\"div\">\n<<placeholder>>\n<div>\n$button$\n</div>\n</$droppable>\n\\end\n\n<div class=\"tc-sidebar-tab-open\">\n<$list filter=\"[list<tv-story-list>]\" history=<<tv-history-list>> storyview=\"pop\">\n<div class=\"tc-sidebar-tab-open-item\">\n<$macrocall $name=\"droppable-item\" button=\"<$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}}</$button><$link/>\"/>\n</div>\n</$list>\n<$tiddler tiddler=\"\">\n<div>\n<$macrocall $name=\"droppable-item\" button=\"<$button message='tm-close-all-tiddlers' class='tc-btn-invisible tc-btn-mini'><<lingo Button>></$button>\"/>\n</div>\n</$tiddler>\n</div>\n"},"$:/core/ui/SideBar/Recent":{"title":"$:/core/ui/SideBar/Recent","tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/Recent/Caption}}","text":"<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"},"$:/core/ui/SideBar/Tools":{"title":"$:/core/ui/SideBar/Tools","tags":"$:/tags/SideBar","caption":"{{$:/language/SideBar/Tools/Caption}}","text":"\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\" class={{{ [<listItem>encodeuricomponent[]addprefix[tc-btn-]] }}}>\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/SideBarLists":{"title":"$:/core/ui/SideBarLists","text":"<$transclude tiddler=\"$:/core/ui/SideBarSegments/search\"/>\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\"/>\n\n"},"$:/core/ui/SideBarSegments/page-controls":{"title":"$:/core/ui/SideBarSegments/page-controls","tags":"$:/tags/SideBarSegment","text":"{{||$:/core/ui/PageTemplate/pagecontrols}}\n"},"$:/core/ui/SideBarSegments/search":{"title":"$:/core/ui/SideBarSegments/search","tags":"$:/tags/SideBarSegment","text":"\\whitespace trim\n\n\\define count-popup-button()\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<$list filter=\"[{$(searchTiddler)$}minlength{$:/config/Search/MinLength}limit[1]]\" variable=\"listItem\">\n<$vars userInput={{{ [<searchTiddler>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} replaceRegexp=\"limit\\[\\d+\\]\">\n<$vars primaryListFilter={{{ [<configTiddler>get[first-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}} secondaryListFilter={{{ [<configTiddler>get[second-search-filter]search-replace:g:regexp<replaceRegexp>,[]] }}}>\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[subfilter<primaryListFilter>] [subfilter<secondaryListFilter>]\"/>\"\"\">\n{{$:/language/Search/Matches}}\n</$set>\n</$vars>\n</$vars>\n</$list>\n</$button>\n\\end\n\n\\define search-results-list()\n\\whitespace trim\n<$vars userInput={{$(searchTiddler)$}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>\n<$list filter=\"[<userInput>minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$tiddler tiddler=<<configTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$tiddler>\n\n</$list>\n</$vars>\n\\end\n\n\\define cancel-search-actions() <$list filter=\"[<searchTiddler>get[text]!match{$:/temp/search}]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[[$:/temp/search]] [<searchTiddler>] [<searchListState>]\"/>\"\"\"><$action-setfield $tiddler=\"$:/temp/search\" text={{{ [<searchTiddler>get[text]] }}}/><$action-setfield $tiddler=\"$:/temp/search/refresh\" text=\"yes\"/></$list>\n\n\\define input-accept-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\"\"\"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>\n\n\\define input-accept-variant-actions() <$list filter=\"[{$:/config/Search/NavigateOnEnter/enable}match[yes]]\" emptyMessage=\"\"\"<$list filter=\"[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\"\"\"><$list filter=\"[<__tiddler__>get[text]minlength[1]]\"><$action-sendmessage $message=\"tm-edit-tiddler\" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>\n\n\\define set-next-input-tab(beforeafter:\"after\") <$macrocall $name=\"change-input-tab\" stateTitle=\"$:/state/tab/search-results/sidebar\" tag=\"$:/tags/SearchResults\" beforeafter=\"$beforeafter$\" defaultState={{$:/config/SearchResults/Default}} actions=\"\"\"<$action-setfield $tiddler=\"$:/state/search/currentTab\" text=<<nextTab>>/>\"\"\"/>\n\n\\define advanced-search-actions() <$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search/input}}/><$action-setfield $tiddler=\"$:/temp/advancedsearch/input\" text={{$:/temp/search/input}}/><<delete-state-tiddlers>><$action-navigate $to=\"$:/AdvancedSearch\"/><$action-setfield $tiddler=\"$:/temp/advancedsearch/refresh\" text=\"yes\"/><$action-sendmessage $message=\"tm-focus-selector\" $param=\"\"\"[data-tiddler-title=\"$:/AdvancedSearch\"] .tc-search input\"\"\" preventScroll=\"true\"/><$action-deletetiddler $filter=\"$:/temp/search $:/temp/search/input $:/temp/search/refresh [<searchListState>]\"/>\n\n<div class=\"tc-sidebar-lists tc-sidebar-search\">\n\n<$vars editTiddler=\"$:/temp/search\" searchTiddler=\"$:/temp/search/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<div class=\"tc-search\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<$keyboard key=\"((advanced-search-sidebar))\" actions=<<advanced-search-actions>>>\n<form class=\"tc-form-inline\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>> \n\t\tselectionStateTitle=<<searchListState>> refreshTitle=\"$:/temp/search/refresh\" type=\"search\" \n\t\ttag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> \n\t\tclass=\"tc-popup-handle\" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>> \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups=\"yes\" \n\t\tconfigTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\"/>\n</form>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n<$reveal state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<<advanced-search-actions>>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<<cancel-search-actions>><$action-sendmessage $message=\"tm-focus-selector\" $param=\".tc-search input\"/>\n{{$:/core/images/close-button}}\n</$button>\n<<count-popup-button>>\n</$reveal>\n<$reveal state=<<searchTiddler>> type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n<<search-results-list>>\n\n</$reveal>\n\n</$reveal>\n\n</$vars>\n\n</div>\n"},"$:/core/ui/SideBarSegments/site-subtitle":{"title":"$:/core/ui/SideBarSegments/site-subtitle","tags":"$:/tags/SideBarSegment","text":"<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n"},"$:/core/ui/SideBarSegments/site-title":{"title":"$:/core/ui/SideBarSegments/site-title","tags":"$:/tags/SideBarSegment","text":"<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n"},"$:/core/ui/SideBarSegments/tabs":{"title":"$:/core/ui/SideBarSegments/tabs","tags":"$:/tags/SideBarSegment","text":"<div class=\"tc-sidebar-lists tc-sidebar-tabs\" role=\"region\" aria-label={{$:/language/SideBar/Caption}}>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" class=\"tc-sidebar-tabs-main\" explicitState=\"$:/state/tab/sidebar--595412856\"/>\n\n</div>\n"},"$:/core/ui/StoryTiddlerTemplate":{"title":"$:/core/ui/StoryTiddlerTemplate","code-body":"yes","text":"<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/StoryTiddlerTemplateFilter]!is[draft]get[text]] :and[has[title]else[$:/core/ui/ViewTemplate]] }}} />\n"},"$:/core/ui/SwitcherModal":{"title":"$:/core/ui/SwitcherModal","subtitle":"<$text text={{{[<switch>lookup[$:/language/Switcher/Subtitle/]]}}}/>","class":"tc-modal-centered","mask-closable":"yes","text":"<$tiddler tiddler={{{[<switch>lookup[$:/config/SwitcherTargets/]]}}}>\n\n\n<$transclude/>\n\n\n</$tiddler>"},"$:/TagManager":{"title":"$:/TagManager","icon":"$:/core/images/tag-button","color":"#bbb","text":"\\define lingo-base() $:/language/TagManager/\n\n\\define iconEditorTab(type)\n\\whitespace trim\n<$link to=\"\"><<lingo Icons/None>></$link>\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n\t<$link to={{!!title}}>\n\t\t<$transclude/> <$view field=\"title\"/>\n\t</$link>\n</$list>\n\\end\n\n\\define iconEditor(title)\n\\whitespace trim\n<div class=\"tc-drop-down-wrapper\">\n\t<$button popupTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} class=\"tc-btn-invisible tc-btn-dropdown\">\n\t\t{{$:/core/images/down-arrow}}\n\t</$button>\n\t<$reveal stateTitle={{{ [[$:/state/popup/icon/]addsuffix<__title__>] }}} type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n\t\t<div class=\"tc-drop-down\">\n\t\t\t<$linkcatcher actions=\"\"\"<$action-setfield $tiddler=<<__title__>> icon=<<navigateTo>>/>\"\"\">\n\t\t\t\t<<iconEditorTab type:\"!\">>\n\t\t\t\t<hr/>\n\t\t\t\t<<iconEditorTab type:\"\">>\n\t\t\t</$linkcatcher>\n\t\t</div>\n\t</$reveal>\n</div>\n\\end\n\n\\define toggleButton(state)\n\\whitespace trim\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"closed\" default=\"closed\">\n\t<$button setTitle=<<__state__>> setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n\t\t{{$:/core/images/info-button}}\n\t</$button>\n</$reveal>\n<$reveal stateTitle=<<__state__>> type=\"match\" text=\"open\" default=\"closed\">\n\t<$button setTitle=<<__state__>> setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n\t\t{{$:/core/images/info-button}}\n\t</$button>\n</$reveal>\n\\end\n\n\\whitespace trim\n<table class=\"tc-tag-manager-table\">\n<tbody>\n\t<tr>\n\t\t<th><<lingo Colour/Heading>></th>\n\t\t<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n\t\t<th><<lingo Count/Heading>></th>\n\t\t<th><<lingo Icon/Heading>></th>\n\t\t<th><<lingo Info/Heading>></th>\n\t</tr>\n\t<$list filter=\"[tags[]!is[system]sort[title]]\">\n\t\t<tr>\n\t\t\t<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n\t\t\t<td>{{||$:/core/ui/TagTemplate}}</td>\n\t\t\t<td><$count filter=\"[all[current]tagging[]]\"/></td>\n\t\t\t<td>\n\t\t\t\t<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n\t\t\t</td>\n\t\t\t<td>\n\t\t\t\t<$macrocall $name=\"toggleButton\" state={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} />\n\t\t\t</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td></td>\n\t\t\t<td colspan=\"4\">\n\t\t\t\t<$reveal stateTitle={{{ [[$:/state/tag-manager/]addsuffix<currentTiddler>] }}} type=\"match\" text=\"open\" default=\"\">\n\t\t\t\t\t<table>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td><<lingo Colour/Heading>></td>\n\t\t\t\t\t\t\t\t<td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td><<lingo Icon/Heading>></td>\n\t\t\t\t\t\t\t\t<td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</$reveal>\n\t\t\t</td>\n\t\t</tr>\n\t</$list>\n\t<tr>\n\t\t<td></td>\n\t\t<td style=\"position:relative;\">\n\t\t\t{{$:/core/ui/UntaggedTemplate}}\n\t\t</td>\n\t\t<td>\n\t\t\t<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n\t\t</td>\n\t\t<td></td>\n\t\t<td></td>\n\t</tr>\n</tbody>\n</table>\n"},"$:/core/ui/TagPickerTagTemplate":{"title":"$:/core/ui/TagPickerTagTemplate","text":"\\whitespace trim\n<$button class=<<button-classes>> tag=\"a\" tooltip={{$:/language/EditTemplate/Tags/Add/Button/Hint}}>\n\t<$list filter=\"[<saveTiddler>minlength[1]]\">\n\t\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>]\"/>\n\t</$list>\n\t<$set name=\"currentTiddlerCSSEscaped\" value={{{ [<saveTiddler>escapecss[]] }}}>\n\t\t<$action-sendmessage $message=\"tm-focus-selector\" $param=<<get-tagpicker-focus-selector>> preventScroll=\"true\"/>\n\t</$set>\n\t<<delete-tag-state-tiddlers>>\n\t<$list filter=\"[<refreshTitle>minlength[1]]\">\n\t\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\t</$list>\n\t<<actions>>\n\t<$set name=\"backgroundColor\"\n\t\tvalue={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t>\n\t\t<$wikify name=\"foregroundColor\"\n\t\t\ttext=\"\"\"<$macrocall $name=\"contrastcolour\" target=<<backgroundColor>> fallbackTarget=<<fallbackTarget>> colourA=<<colourA>> colourB=<<colourB>>/>\"\"\"\n\t\t>\n\t\t\t<span class=\"tc-tag-label tc-btn-invisible\"\n\t\t\t\tstyle=<<tag-pill-styles>>\n\t\t\t\tdata-tag-title=<<currentTiddler>>\n\t\t\t>\n\t\t\t\t{{||$:/core/ui/TiddlerIcon}}<$view field=\"title\" format=\"text\"/>\n\t\t\t</span>\n\t\t</$wikify>\n\t</$set>\n</$button>\n"},"$:/core/ui/TagTemplate":{"title":"$:/core/ui/TagTemplate","text":"\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<currentTiddler>>>\n<$set name=\"transclusion\" value=<<currentTiddler>>>\n\t<$macrocall $name=\"tag-pill-body\"\n\t\ttag=<<currentTiddler>>\n\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\tcolour={{{ [<currentTiddler>] :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=<<qualify \"$:/state/popup/tag\">> dragFilter=\"[all[current]tagging[]]\" tag='span'\"\"\"\n\t/>\n\t<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\">\n\t\t<$set name=\"tv-show-missing-links\" value=\"yes\">\n\t\t\t<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n\t\t</$set>\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n\t\t\t<$transclude tiddler=<<listItem>>/> \n\t\t</$list>\n\t\t<hr>\n\t\t<$macrocall $name=\"list-tagged-draggable\" tag=<<currentTiddler>>/>\n\t</$reveal>\n</$set>\n</span>\n"},"$:/core/ui/TiddlerFieldTemplate":{"title":"$:/core/ui/TiddlerFieldTemplate","text":"\\whitespace trim\n<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"},"$:/core/ui/TiddlerFields":{"title":"$:/core/ui/TiddlerFields","text":"\\whitespace trim\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"},"$:/core/ui/TiddlerIcon":{"title":"$:/core/ui/TiddlerIcon","text":"\\whitespace trim\n<$let tiddlerIcon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}>\n<$list filter=\"[<tiddlerIcon>!is[blank]]\" variable=\"ignore\">\n<$transclude tiddler=<<tiddlerIcon>>/>\n</$list>\n</$let>\n"},"$:/core/ui/TiddlerInfo/Advanced/PluginInfo":{"title":"$:/core/ui/TiddlerInfo/Advanced/PluginInfo","tags":"$:/tags/TiddlerInfo/Advanced","text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n\\whitespace trim\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"},"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo":{"title":"$:/core/ui/TiddlerInfo/Advanced/ShadowInfo","tags":"$:/tags/TiddlerInfo/Advanced","text":"\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"},"$:/core/ui/TiddlerInfo/Advanced":{"title":"$:/core/ui/TiddlerInfo/Advanced","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Advanced/Caption}}","text":"<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\n</$list>\n"},"$:/core/ui/TiddlerInfo/Fields":{"title":"$:/core/ui/TiddlerInfo/Fields","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Fields/Caption}}","text":"<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"},"$:/core/ui/TiddlerInfo/List":{"title":"$:/core/ui/TiddlerInfo/List","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/List/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/Listed":{"title":"$:/core/ui/TiddlerInfo/Listed","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Listed/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/References":{"title":"$:/core/ui/TiddlerInfo/References","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/References/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>"},"$:/core/ui/TiddlerInfo/Tagging":{"title":"$:/core/ui/TiddlerInfo/Tagging","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Tagging/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"},"$:/core/ui/TiddlerInfo/Tools":{"title":"$:/core/ui/TiddlerInfo/Tools","tags":"$:/tags/TiddlerInfo","caption":"{{$:/language/TiddlerInfo/Tools/Caption}}","text":"\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"},"$:/core/ui/TiddlerInfo":{"title":"$:/core/ui/TiddlerInfo","text":"\\whitespace trim\n<div style=\"position:relative;\">\n<div class=\"tc-tiddler-controls\" style=\"position:absolute;right:0;\">\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n</div>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>\n"},"$:/core/ui/TopBar/menu":{"title":"$:/core/ui/TopBar/menu","tags":"$:/tags/TopRightBar","text":"\\whitespace trim\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]!match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible tc-hide-sidebar-btn\">{{$:/core/images/chevron-right}}</$button>\n</$list>\n<$list filter=\"[[$:/state/sidebar]get[text]] +[else[yes]match[no]]\" variable=\"ignore\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible tc-show-sidebar-btn\">{{$:/core/images/chevron-left}}</$button>\n</$list>\n"},"$:/core/ui/UntaggedTemplate":{"title":"$:/core/ui/UntaggedTemplate","text":"\\define lingo-base() $:/language/SideBar/\n\\whitespace trim\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n\t<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal class=\"tc-drop-down\" tag=\"div\" state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n\t<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/body/blank":{"title":"$:/core/ui/ViewTemplate/body/blank","text":"<!-- Intentionally blank -->\n"},"$:/core/ui/ViewTemplate/body/code":{"title":"$:/core/ui/ViewTemplate/body/code","text":"<$codeblock code={{{ [<currentTiddler>get[text]] }}} language={{{ [<currentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>\n"},"$:/core/ui/ViewTemplate/body/default":{"title":"$:/core/ui/ViewTemplate/body/default","code-body":"yes","text":"<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n"},"$:/core/ui/ViewTemplate/body/import":{"title":"$:/core/ui/ViewTemplate/body/import","text":"\\define lingo-base() $:/language/Import/\n\n\\define confirmCancel()\n\\whitespace trim\n<$action-confirm $message={{$:/language/Import/Listing/Cancel/Warning}} >\n<$action-deletetiddler $tiddler=<<currentTiddler>>/>\n<$action-sendmessage $message=\"tm-close-tiddler\" title=<<currentTiddler>>/>\n</$action-confirm>\n\\end\n\n\\define buttons()\n\\whitespace trim\n<$button actions=<<confirmCancel>> ><<lingo Listing/Cancel/Caption>></$button>\n \n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n \n<<lingo Listing/Preview>> <$select tiddler=\"$:/state/importpreviewtype\" default=\"$:/core/ui/ImportPreviews/Text\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ImportPreview]!has[draft.of]]\">\n<option value=<<currentTiddler>>>{{!!caption}}</option>\n</$list>\n</$select>\n\\end\n\\whitespace trim\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<<buttons>>\n\n{{||$:/core/ui/ImportListing}}\n\n<<buttons>>\n\n</div>\n\n</$list>\n"},"$:/core/ui/ViewTemplate/body/plugin":{"title":"$:/core/ui/ViewTemplate/body/plugin","text":"\\whitespace trim\n<div class=\"tc-tiddler-plugin-info\">\n<$let plugin-type={{!!plugin-type}}\n\tdefault-popup-state=\"yes\"\n\tqualified-state=<<qualify \"$:/state/plugin-info\">>\n>\n{{||$:/core/ui/Components/plugin-info}}\n</$let>\n</div>"},"$:/core/ui/ViewTemplate/body/rendered-plain-text":{"title":"$:/core/ui/ViewTemplate/body/rendered-plain-text","code-body":"yes","text":"\\whitespace trim\n<$wikify name=\"text\" text={{!!text}} type={{!!type}}>\n<$codeblock code=<<text>> language=\"css\"/>\n</$wikify>\n"},"$:/core/ui/ViewTemplate/body":{"title":"$:/core/ui/ViewTemplate/body","tags":"$:/tags/ViewTemplate","text":"\\import [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global/View/Body]!is[draft]]\n\n<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />\n\n</$reveal>\n"},"$:/core/ui/ViewTemplate/classic":{"title":"$:/core/ui/ViewTemplate/classic","tags":"$:/tags/ViewTemplate $:/tags/EditTemplate","text":"\\define lingo-base() $:/language/ClassicWarning/\n\\whitespace trim\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"},"$:/core/ui/ViewTemplate/subtitle/modified":{"title":"$:/core/ui/ViewTemplate/subtitle/modified","tags":"$:/tags/ViewTemplate/Subtitle","text":"<$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>"},"$:/core/ui/ViewTemplate/subtitle/modifier":{"title":"$:/core/ui/ViewTemplate/subtitle/modifier","tags":"$:/tags/ViewTemplate/Subtitle","text":"<$link to={{!!modifier}}/>"},"$:/core/ui/ViewTemplate/subtitle":{"title":"$:/core/ui/ViewTemplate/subtitle","tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate/Subtitle]!has[draft.of]]\" variable=\"subtitleTiddler\">\n<$transclude tiddler=<<subtitleTiddler>> mode=\"inline\"/><$list-join> </$list-join>\n</$list>\n</div>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/tags":{"title":"$:/core/ui/ViewTemplate/tags","tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>\n"},"$:/core/ui/ViewTemplate/title/default":{"title":"$:/core/ui/ViewTemplate/title/default","text":"\\whitespace trim\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n"},"$:/core/ui/ViewTemplate/title/system":{"title":"$:/core/ui/ViewTemplate/title/system","text":"\\whitespace trim\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text={{{ [<currentTiddler>removeprefix[$:/]] }}}/>\n</h2>"},"$:/core/ui/ViewTemplate/title":{"title":"$:/core/ui/ViewTemplate/title","tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n\\define title-styles() fill:$(foregroundColor)$;\n\n<div class=\"tc-tiddler-title\">\n\t<div class=\"tc-titlebar\">\n\t\t<span class=\"tc-tiddler-controls\">\n\t\t\t<$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<$set name=\"tv-config-toolbar-class\" filter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\">\n\t\t\t\t\t<$transclude tiddler=<<listItem>>/>\n\t\t\t\t</$set>\n\t\t\t</$list>\n\t\t</span>\n\t\t<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n\t\t\t<$link>\n\t\t\t\t<$list filter=\"[<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] +[!is[blank]]\"\n\t\t\t\t\tvariable=\"ignore\"\n\t\t\t\t>\n\t\t\t\t\t<$let foregroundColor={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}>\n\t\t\t\t\t\t<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n\t\t\t\t\t\t\t{{||$:/core/ui/TiddlerIcon}}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</$let>\n\t\t\t\t</$list>\n\t\t\t\t<$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateTitleFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/title/default]] }}} />\n\t\t\t</$link>\n\t\t</$set>\n\t</div>\n\t<$reveal tag=\"div\" type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfoSegment]!has[draft.of]] [[$:/core/ui/TiddlerInfo]]\" variable=\"listItem\">\n\t\t\t<$transclude tiddler=<<listItem>> mode=\"block\"/>\n\t\t</$list>\n\t</$reveal>\n</div>\n"},"$:/core/ui/ViewTemplate/unfold":{"title":"$:/core/ui/ViewTemplate/unfold","tags":"$:/tags/ViewTemplate","text":"\\whitespace trim\n<div class=\"tc-reveal\">\n<$list filter=\"[{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]]\" variable=\"ignore\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n</$list>\n<$list filter=\"[{$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar}match[show]] :else[<folded-state>get[text]match[hide]]\" variable=\"ignore\">\n<$reveal tag=\"div\" type=\"nomatch\" stateTitle=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$list>\n</div>"},"$:/core/ui/ViewTemplate":{"title":"$:/core/ui/ViewTemplate","code-body":"yes","text":"\\whitespace trim\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n\\define cancel-delete-tiddler-actions(message) <$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<$vars storyTiddler=<<currentTiddler>> tiddlerInfoState=<<qualify \"$:/state/popup/tiddler-info\">>>\n<div data-tiddler-title=<<currentTiddler>> data-tags={{!!tags}} class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-view-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[shadow]is[tiddler]then[tc-tiddler-overridden-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}} role=\"article\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!is[draft]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$vars>\n"},"$:/core/ui/Buttons/clone":{"title":"$:/core/ui/Buttons/clone","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}","description":"{{$:/language/Buttons/Clone/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Clone/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/close-others":{"title":"$:/core/ui/Buttons/close-others","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}","description":"{{$:/language/Buttons/CloseOthers/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/CloseOthers/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/close":{"title":"$:/core/ui/Buttons/close","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}","description":"{{$:/language/Buttons/Close/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Close/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/edit":{"title":"$:/core/ui/Buttons/edit","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}","description":"{{$:/language/Buttons/Edit/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Edit/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/export-tiddler":{"title":"$:/core/ui/Buttons/export-tiddler","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}","description":"{{$:/language/Buttons/ExportTiddler/Hint}}","text":"\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"},"$:/core/ui/Buttons/fold-bar":{"title":"$:/core/ui/Buttons/fold-bar","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/chevron-up}} {{$:/language/Buttons/Fold/FoldBar/Caption}}","description":"{{$:/language/Buttons/Fold/FoldBar/Hint}}","text":"<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"},"$:/core/ui/Buttons/fold-others":{"title":"$:/core/ui/Buttons/fold-others","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}","description":"{{$:/language/Buttons/FoldOthers/Hint}}","text":"\\whitespace trim\n<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/FoldOthers/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/fold":{"title":"$:/core/ui/Buttons/fold","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}","description":"{{$:/language/Buttons/Fold/Hint}}","text":"\\whitespace trim\n<$reveal type=\"nomatch\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<folded-state>> text=\"hide\" default=\"show\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button>\n</$reveal>\n"},"$:/core/ui/Buttons/info":{"title":"$:/core/ui/Buttons/info","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}","description":"{{$:/language/Buttons/Info/Hint}}","text":"\\whitespace trim\n\\define button-content()\n\\whitespace trim\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Info/Caption}}/>\n</span>\n</$list>\n\\end\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"popup\">\n<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=\"$:/config/TiddlerInfo/Mode\" type=\"match\" text=\"sticky\">\n<$reveal state=<<tiddlerInfoState>> type=\"match\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"yes\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n<$reveal state=<<tiddlerInfoState>> type=\"nomatch\" text=\"\" default=\"\">\n<$button set=<<tiddlerInfoState>> setTo=\"\" tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$macrocall $name=\"button-content\" mode=\"inline\"/>\n</$button>\n</$reveal>\n</$reveal>"},"$:/core/ui/Buttons/more-tiddler-actions":{"title":"$:/core/ui/Buttons/more-tiddler-actions","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}","description":"{{$:/language/Buttons/More/Hint}}","text":"\\whitespace trim\n\\define config-title() $:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\n<$button popup=<<qualify \"$:/state/popup/more\">>\n\ttooltip={{$:/language/Buttons/More/Hint}}\n\taria-label={{$:/language/Buttons/More/Caption}}\n\tclass=<<tv-config-toolbar-class>>\n\tselectedClass=\"tc-selected\"\n>\n\t<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n\t\t{{$:/core/images/down-arrow}}\n\t</$list>\n\t<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n\t\t<span class=\"tc-btn-text\">\n\t\t\t<$text text={{$:/language/Buttons/More/Caption}}/>\n\t\t</span>\n\t</$list>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\t<div class=\"tc-drop-down\">\n\t\t<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\t\t\t<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\t\t\t\t<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\t\t\t\t\t<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\"\n\t\t\t\t\t\tvariable=\"listItem\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\t\t\t\t\t\t\t<$set name=\"tv-config-toolbar-class\"\n\t\t\t\t\t\t\t\tfilter=\"[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\t\t\t\t\t\t\t</$set>\n\t\t\t\t\t\t</$reveal>\n\t\t\t\t\t</$list>\n\t\t\t\t</$set>\n\t\t\t</$set>\n\t\t</$set>\n\t</div>\n</$reveal>"},"$:/core/ui/Buttons/new-here":{"title":"$:/core/ui/Buttons/new-here","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}","description":"{{$:/language/Buttons/NewHere/Hint}}","text":"\\whitespace trim\n\\define newHereActions()\n\\whitespace trim\n<$set name=\"tags\" filter=\"[<currentTiddler>] [enlist{$:/config/NewTiddler/Tags}]\">\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<tags>>/>\n</$set>\n\\end\n\\define newHereButton()\n\\whitespace trim\n<$button actions=<<newHereActions>> tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewHere/Caption}}/>\n</span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>\n"},"$:/core/ui/Buttons/new-journal-here":{"title":"$:/core/ui/Buttons/new-journal-here","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}","description":"{{$:/language/Buttons/NewJournalHere/Hint}}","text":"\\whitespace trim\n\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n\\whitespace trim\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$wikify name=\"journalTitle\" text=\"\"\"<$macrocall $name=\"now\" format=<<journalTitleTemplate>>/>\"\"\">\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<journalTitle>> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>\n</span>\n</$list>\n</$wikify>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set>\n</$set>\n</$set>\n"},"$:/core/ui/Buttons/open-window":{"title":"$:/core/ui/Buttons/open-window","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}","description":"{{$:/language/Buttons/OpenWindow/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/OpenWindow/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/permalink":{"title":"$:/core/ui/Buttons/permalink","tags":"$:/tags/ViewToolbar","caption":"{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}","description":"{{$:/language/Buttons/Permalink/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Permalink/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/core/ui/Buttons/permaview":{"title":"$:/core/ui/Buttons/permaview","tags":"$:/tags/ViewToolbar $:/tags/PageControls","caption":"{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}","description":"{{$:/language/Buttons/Permaview/Hint}}","text":"\\whitespace trim\n<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Permaview/Caption}}/>\n</span>\n</$list>\n</$button>"},"$:/DefaultTiddlers":{"title":"$:/DefaultTiddlers","text":"GettingStarted\n"},"$:/temp/advancedsearch":{"title":"$:/temp/advancedsearch","text":""},"$:/snippets/allfields":{"title":"$:/snippets/allfields","text":"\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''<$text text=<<__title__>>/>'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n\\whitespace trim\n<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[fields[]sort[title]]\" variable=\"listItem\">\n<$macrocall $name=\"renderfield\" title=<<listItem>>/>\n</$list>\n</tbody>\n</table>\n"},"$:/config/AnimationDuration":{"title":"$:/config/AnimationDuration","text":"400"},"$:/config/AutoFocus":{"title":"$:/config/AutoFocus","text":"title"},"$:/config/AutoSave":{"title":"$:/config/AutoSave","text":"yes"},"$:/config/BitmapEditor/Colour":{"title":"$:/config/BitmapEditor/Colour","text":"#444"},"$:/config/BitmapEditor/ImageSizes":{"title":"$:/config/BitmapEditor/ImageSizes","text":"[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"},"$:/config/BitmapEditor/LineWidth":{"title":"$:/config/BitmapEditor/LineWidth","text":"3px"},"$:/config/BitmapEditor/LineWidths":{"title":"$:/config/BitmapEditor/LineWidths","text":"0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"},"$:/config/BitmapEditor/Opacities":{"title":"$:/config/BitmapEditor/Opacities","text":"0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"},"$:/config/BitmapEditor/Opacity":{"title":"$:/config/BitmapEditor/Opacity","text":"1.0"},"$:/config/DefaultMoreSidebarTab":{"title":"$:/config/DefaultMoreSidebarTab","text":"$:/core/ui/MoreSideBar/Tags"},"$:/config/DefaultSidebarTab":{"title":"$:/config/DefaultSidebarTab","text":"$:/core/ui/SideBar/Open"},"$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory":{"title":"$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory","text":"[list[$:/StoryList]]"},"$:/config/DownloadSaver/AutoSave":{"title":"$:/config/DownloadSaver/AutoSave","text":"no"},"$:/config/Drafts/TypingTimeout":{"title":"$:/config/Drafts/TypingTimeout","text":"400"},"$:/config/EditMode/fieldname-filter":{"title":"$:/config/EditMode/fieldname-filter","first-search-filter":"[!is[shadow]!is[system]fields[]search:title<userInput>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type","second-search-filter":"[fields[]search:title<userInput>sort[]] -[!is[shadow]!is[system]fields[]]"},"$:/config/EditTabIndex":{"title":"$:/config/EditTabIndex","text":"1"},"$:/config/EditTemplateBodyFilters/canonical-uri":{"title":"$:/config/EditTemplateBodyFilters/canonical-uri","tags":"$:/tags/EditTemplateBodyFilter","text":"[has[_canonical_uri]then[$:/core/ui/EditTemplate/body/canonical-uri]]"},"$:/config/EditTemplateBodyFilters/default":{"title":"$:/config/EditTemplateBodyFilters/default","tags":"$:/tags/EditTemplateBodyFilter","text":"[[$:/core/ui/EditTemplate/body/default]]"},"$:/config/EditTemplateFields/Visibility/title":{"title":"$:/config/EditTemplateFields/Visibility/title","text":"hide"},"$:/config/EditTemplateFields/Visibility/tags":{"title":"$:/config/EditTemplateFields/Visibility/tags","text":"hide"},"$:/config/EditTemplateFields/Visibility/text":{"title":"$:/config/EditTemplateFields/Visibility/text","text":"hide"},"$:/config/EditTemplateFields/Visibility/creator":{"title":"$:/config/EditTemplateFields/Visibility/creator","text":"hide"},"$:/config/EditTemplateFields/Visibility/created":{"title":"$:/config/EditTemplateFields/Visibility/created","text":"hide"},"$:/config/EditTemplateFields/Visibility/modified":{"title":"$:/config/EditTemplateFields/Visibility/modified","text":"hide"},"$:/config/EditTemplateFields/Visibility/modifier":{"title":"$:/config/EditTemplateFields/Visibility/modifier","text":"hide"},"$:/config/EditTemplateFields/Visibility/type":{"title":"$:/config/EditTemplateFields/Visibility/type","text":"hide"},"$:/config/EditTemplateFields/Visibility/draft.title":{"title":"$:/config/EditTemplateFields/Visibility/draft.title","text":"hide"},"$:/config/EditTemplateFields/Visibility/draft.of":{"title":"$:/config/EditTemplateFields/Visibility/draft.of","text":"hide"},"$:/config/EditTemplateFields/Visibility/revision":{"title":"$:/config/EditTemplateFields/Visibility/revision","text":"hide"},"$:/config/EditTemplateFields/Visibility/bag":{"title":"$:/config/EditTemplateFields/Visibility/bag","text":"hide"},"$:/config/Editor/EnableImportFilter":{"title":"$:/config/Editor/EnableImportFilter","type":"text/vnd.tiddlywiki","text":"[all[current]type[text/vnd.tiddlywiki]] [all[current]!has[type]]"},"$:/config/Editor/ImportContentTypesFilter":{"title":"$:/config/Editor/ImportContentTypesFilter","type":"text/vnd.tiddlywiki","text":"[prefix[image/]]"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4":{"title":"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4","text":"hide"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5":{"title":"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5","text":"hide"},"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6":{"title":"$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6","text":"hide"},"$:/config/EditorTypeMappings/image/gif":{"title":"$:/config/EditorTypeMappings/image/gif","text":"bitmap"},"$:/config/EditorTypeMappings/image/webp":{"title":"$:/config/EditorTypeMappings/image/webp","text":"bitmap"},"$:/config/EditorTypeMappings/image/heic":{"title":"$:/config/EditorTypeMappings/image/heic","text":"bitmap"},"$:/config/EditorTypeMappings/image/heif":{"title":"$:/config/EditorTypeMappings/image/heif","text":"bitmap"},"$:/config/EditorTypeMappings/image/jpeg":{"title":"$:/config/EditorTypeMappings/image/jpeg","text":"bitmap"},"$:/config/EditorTypeMappings/image/jpg":{"title":"$:/config/EditorTypeMappings/image/jpg","text":"bitmap"},"$:/config/EditorTypeMappings/image/png":{"title":"$:/config/EditorTypeMappings/image/png","text":"bitmap"},"$:/config/EditorTypeMappings/image/x-icon":{"title":"$:/config/EditorTypeMappings/image/x-icon","text":"bitmap"},"$:/config/EditorTypeMappings/text/vnd.tiddlywiki":{"title":"$:/config/EditorTypeMappings/text/vnd.tiddlywiki","text":"text"},"$:/config/FieldEditorFilters/default":{"title":"$:/config/FieldEditorFilters/default","tags":"$:/tags/FieldEditorFilter","text":"[[$:/core/ui/EditTemplate/fieldEditor/default]]"},"$:/core/config/GlobalImportFilter":{"title":"$:/core/config/GlobalImportFilter","text":"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!is[draft]] [all[shadows+tiddlers]tag[$:/tags/Global]!is[draft]]"},"$:/config/Manager/Show":{"title":"$:/config/Manager/Show","text":"tiddlers"},"$:/config/Manager/Filter":{"title":"$:/config/Manager/Filter","text":""},"$:/config/Manager/Order":{"title":"$:/config/Manager/Order","text":"forward"},"$:/config/Manager/Sort":{"title":"$:/config/Manager/Sort","text":"title"},"$:/config/Manager/System":{"title":"$:/config/Manager/System","text":"system"},"$:/config/Manager/Tag":{"title":"$:/config/Manager/Tag","text":""},"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText":{"title":"$:/state/popup/manager/item/$:/Manager/ItemMain/RawText","text":"hide"},"$:/config/MissingLinks":{"title":"$:/config/MissingLinks","text":"yes"},"$:/config/Navigation/UpdateAddressBar":{"title":"$:/config/Navigation/UpdateAddressBar","text":"no"},"$:/config/Navigation/UpdateHistory":{"title":"$:/config/Navigation/UpdateHistory","text":"no"},"$:/config/NewImageType":{"title":"$:/config/NewImageType","text":"jpeg"},"$:/config/OfficialPluginLibrary":{"title":"$:/config/OfficialPluginLibrary","tags":"$:/tags/PluginLibrary","url":"https://tiddlywiki.com/library/v5.3.3/index.html","caption":"{{$:/language/OfficialPluginLibrary}}","text":"{{$:/language/OfficialPluginLibrary/Hint}}\n"},"$:/config/Navigation/openLinkFromInsideRiver":{"title":"$:/config/Navigation/openLinkFromInsideRiver","text":"below"},"$:/config/Navigation/openLinkFromOutsideRiver":{"title":"$:/config/Navigation/openLinkFromOutsideRiver","text":"top"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/manager","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/network-activity":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/network-activity","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/print","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/timestamp","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/layout":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/layout","text":"hide"},"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all":{"title":"$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all","text":"hide"},"$:/config/Performance/Instrumentation":{"title":"$:/config/Performance/Instrumentation","text":"no"},"$:/config/RegisterPluginType/plugin":{"title":"$:/config/RegisterPluginType/plugin","text":"yes"},"$:/config/RegisterPluginType/theme":{"title":"$:/config/RegisterPluginType/theme","text":"no"},"$:/config/RegisterPluginType/language":{"title":"$:/config/RegisterPluginType/language","text":"no"},"$:/config/RegisterPluginType/info":{"title":"$:/config/RegisterPluginType/info","text":"yes"},"$:/config/RegisterPluginType/import":{"title":"$:/config/RegisterPluginType/import","text":"no"},"$:/config/SaveWikiButton/Template":{"title":"$:/config/SaveWikiButton/Template","text":"$:/core/save/all"},"$:/config/SaverFilter":{"title":"$:/config/SaverFilter","text":"[all[]] -[prefix[$:/HistoryList]] -[prefix[$:/StoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"},"$:/config/Search/AutoFocus":{"title":"$:/config/Search/AutoFocus","text":"true"},"$:/config/Search/MinLength":{"title":"$:/config/Search/MinLength","text":"3"},"$:/config/SearchResults/Default":{"title":"$:/config/SearchResults/Default","text":"$:/core/ui/DefaultSearchResultList"},"$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]":{"title":"$:/config/Server/ExternalFilters/[all[tiddlers]!is[system]sort[title]]","text":"yes"},"$:/config/ShortcutInfo/add-field":{"title":"$:/config/ShortcutInfo/add-field","text":"{{$:/language/EditTemplate/Fields/Add/Button/Hint}}"},"$:/config/ShortcutInfo/advanced-search":{"title":"$:/config/ShortcutInfo/advanced-search","text":"{{$:/language/Buttons/AdvancedSearch/Hint}}"},"$:/config/ShortcutInfo/advanced-search-sidebar":{"title":"$:/config/ShortcutInfo/advanced-search-sidebar","text":"{{$:/language/Shortcuts/Input/AdvancedSearch/Hint}}"},"$:/config/ShortcutInfo/bold":{"title":"$:/config/ShortcutInfo/bold","text":"{{$:/language/Buttons/Bold/Hint}}"},"$:/config/ShortcutInfo/cancel-edit-tiddler":{"title":"$:/config/ShortcutInfo/cancel-edit-tiddler","text":"{{$:/language/Buttons/Cancel/Hint}}"},"$:/config/ShortcutInfo/change-sidebar-layout":{"title":"$:/config/ShortcutInfo/change-sidebar-layout","text":"{{$:/language/Shortcuts/SidebarLayout/Hint}}"},"$:/config/ShortcutInfo/delete-field":{"title":"$:/config/ShortcutInfo/delete-field","text":"{{$:/language/EditTemplate/Field/Remove/Hint}}"},"$:/config/ShortcutInfo/excise":{"title":"$:/config/ShortcutInfo/excise","text":"{{$:/language/Buttons/Excise/Hint}}"},"$:/config/ShortcutInfo/heading-1":{"title":"$:/config/ShortcutInfo/heading-1","text":"{{$:/language/Buttons/Heading1/Hint}}"},"$:/config/ShortcutInfo/heading-2":{"title":"$:/config/ShortcutInfo/heading-2","text":"{{$:/language/Buttons/Heading2/Hint}}"},"$:/config/ShortcutInfo/heading-3":{"title":"$:/config/ShortcutInfo/heading-3","text":"{{$:/language/Buttons/Heading3/Hint}}"},"$:/config/ShortcutInfo/heading-4":{"title":"$:/config/ShortcutInfo/heading-4","text":"{{$:/language/Buttons/Heading4/Hint}}"},"$:/config/ShortcutInfo/heading-5":{"title":"$:/config/ShortcutInfo/heading-5","text":"{{$:/language/Buttons/Heading5/Hint}}"},"$:/config/ShortcutInfo/heading-6":{"title":"$:/config/ShortcutInfo/heading-6","text":"{{$:/language/Buttons/Heading6/Hint}}"},"$:/config/ShortcutInfo/input-accept":{"title":"$:/config/ShortcutInfo/input-accept","text":"{{$:/language/Shortcuts/Input/Accept/Hint}}"},"$:/config/ShortcutInfo/input-accept-variant":{"title":"$:/config/ShortcutInfo/input-accept-variant","text":"{{$:/language/Shortcuts/Input/AcceptVariant/Hint}}"},"$:/config/ShortcutInfo/input-cancel":{"title":"$:/config/ShortcutInfo/input-cancel","text":"{{$:/language/Shortcuts/Input/Cancel/Hint}}"},"$:/config/ShortcutInfo/input-down":{"title":"$:/config/ShortcutInfo/input-down","text":"{{$:/language/Shortcuts/Input/Down/Hint}}"},"$:/config/ShortcutInfo/input-tab-left":{"title":"$:/config/ShortcutInfo/input-tab-left","text":"{{$:/language/Shortcuts/Input/Tab-Left/Hint}}"},"$:/config/ShortcutInfo/input-tab-right":{"title":"$:/config/ShortcutInfo/input-tab-right","text":"{{$:/language/Shortcuts/Input/Tab-Right/Hint}}"},"$:/config/ShortcutInfo/input-up":{"title":"$:/config/ShortcutInfo/input-up","text":"{{$:/language/Shortcuts/Input/Up/Hint}}"},"$:/config/ShortcutInfo/italic":{"title":"$:/config/ShortcutInfo/italic","text":"{{$:/language/Buttons/Italic/Hint}}"},"$:/config/ShortcutInfo/layout-switcher":{"title":"$:/config/ShortcutInfo/layout-switcher","text":"{{$:/language/LayoutSwitcher/Description}}"},"$:/config/ShortcutInfo/link":{"title":"$:/config/ShortcutInfo/link","text":"{{$:/language/Buttons/Link/Hint}}"},"$:/config/ShortcutInfo/linkify":{"title":"$:/config/ShortcutInfo/linkify","text":"{{$:/language/Buttons/Linkify/Hint}}"},"$:/config/ShortcutInfo/list-bullet":{"title":"$:/config/ShortcutInfo/list-bullet","text":"{{$:/language/Buttons/ListBullet/Hint}}"},"$:/config/ShortcutInfo/list-number":{"title":"$:/config/ShortcutInfo/list-number","text":"{{$:/language/Buttons/ListNumber/Hint}}"},"$:/config/ShortcutInfo/mono-block":{"title":"$:/config/ShortcutInfo/mono-block","text":"{{$:/language/Buttons/MonoBlock/Hint}}"},"$:/config/ShortcutInfo/mono-line":{"title":"$:/config/ShortcutInfo/mono-line","text":"{{$:/language/Buttons/MonoLine/Hint}}"},"$:/config/ShortcutInfo/new-image":{"title":"$:/config/ShortcutInfo/new-image","text":"{{$:/language/Buttons/NewImage/Hint}}"},"$:/config/ShortcutInfo/new-journal":{"title":"$:/config/ShortcutInfo/new-journal","text":"{{$:/language/Buttons/NewJournal/Hint}}"},"$:/config/ShortcutInfo/new-tiddler":{"title":"$:/config/ShortcutInfo/new-tiddler","text":"{{$:/language/Buttons/NewTiddler/Hint}}"},"$:/config/ShortcutInfo/picture":{"title":"$:/config/ShortcutInfo/picture","text":"{{$:/language/Buttons/Picture/Hint}}"},"$:/config/ShortcutInfo/preview":{"title":"$:/config/ShortcutInfo/preview","text":"{{$:/language/Buttons/Preview/Hint}}"},"$:/config/ShortcutInfo/quote":{"title":"$:/config/ShortcutInfo/quote","text":"{{$:/language/Buttons/Quote/Hint}}"},"$:/config/ShortcutInfo/refresh":{"title":"$:/config/ShortcutInfo/refresh","text":"{{$:/language/Buttons/Refresh/Hint}}"},"$:/config/ShortcutInfo/save-tiddler":{"title":"$:/config/ShortcutInfo/save-tiddler","text":"{{$:/language/Buttons/Save/Hint}}"},"$:/config/ShortcutInfo/save-wiki":{"title":"$:/config/ShortcutInfo/save-wiki","text":"{{$:/language/Buttons/SaveWiki/Hint}}"},"$:/config/ShortcutInfo/sidebar-search":{"title":"$:/config/ShortcutInfo/sidebar-search","text":"{{$:/language/Buttons/SidebarSearch/Hint}}"},"$:/config/ShortcutInfo/stamp":{"title":"$:/config/ShortcutInfo/stamp","text":"{{$:/language/Buttons/Stamp/Hint}}"},"$:/config/ShortcutInfo/strikethrough":{"title":"$:/config/ShortcutInfo/strikethrough","text":"{{$:/language/Buttons/Strikethrough/Hint}}"},"$:/config/ShortcutInfo/subscript":{"title":"$:/config/ShortcutInfo/subscript","text":"{{$:/language/Buttons/Subscript/Hint}}"},"$:/config/ShortcutInfo/superscript":{"title":"$:/config/ShortcutInfo/superscript","text":"{{$:/language/Buttons/Superscript/Hint}}"},"$:/config/ShortcutInfo/toggle-sidebar":{"title":"$:/config/ShortcutInfo/toggle-sidebar","text":"{{$:/language/Buttons/ToggleSidebar/Hint}}"},"$:/config/ShortcutInfo/transcludify":{"title":"$:/config/ShortcutInfo/transcludify","text":"{{$:/language/Buttons/Transcludify/Hint}}"},"$:/config/ShortcutInfo/underline":{"title":"$:/config/ShortcutInfo/underline","text":"{{$:/language/Buttons/Underline/Hint}}"},"$:/config/StoryTiddlerTemplateFilters/draft":{"title":"$:/config/StoryTiddlerTemplateFilters/draft","tags":"$:/tags/StoryTiddlerTemplateFilter","text":"[is[draft]then{$:/config/ui/EditTemplate}]"},"$:/config/StoryTiddlerTemplateFilters/default":{"title":"$:/config/StoryTiddlerTemplateFilters/default","tags":"$:/tags/StoryTiddlerTemplateFilter","text":"[{$:/config/ui/ViewTemplate}]"},"$:/config/SwitcherTargets/layout":{"title":"$:/config/SwitcherTargets/layout","text":"$:/snippets/LayoutSwitcher"},"$:/config/SwitcherTargets/language":{"title":"$:/config/SwitcherTargets/language","text":"$:/snippets/languageswitcher"},"$:/config/SwitcherTargets/palette":{"title":"$:/config/SwitcherTargets/palette","text":"$:/core/ui/ControlPanel/Palette"},"$:/config/SwitcherTargets/theme":{"title":"$:/config/SwitcherTargets/theme","text":"$:/core/ui/ControlPanel/Theme"},"$:/config/SyncFilter":{"title":"$:/config/SyncFilter","text":"[is[tiddler]] -[[$:/core]] -[[$:/library/sjcl.js]] -[prefix[$:/boot/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]\n"},"$:/config/SyncSystemTiddlersFromServer":{"title":"$:/config/SyncSystemTiddlersFromServer","text":"no"},"$:/config/Tags/MinLength":{"title":"$:/config/Tags/MinLength","text":"0"},"$:/config/TextEditor/EditorHeight/Height":{"title":"$:/config/TextEditor/EditorHeight/Height","text":"400px"},"$:/config/TextEditor/EditorHeight/Mode":{"title":"$:/config/TextEditor/EditorHeight/Mode","text":"auto"},"$:/config/TiddlerColourFilters/color-field":{"title":"$:/config/TiddlerColourFilters/color-field","tags":"$:/tags/TiddlerColourFilter","text":"[has[color]then{!!color}]"},"$:/config/TiddlerColourFilters/default":{"title":"$:/config/TiddlerColourFilters/default","tags":"$:/tags/TiddlerColourFilter","text":"[[$:/config/DefaultTiddlerColour]has[text]get[text]trim[]]"},"$:/config/TiddlerIconFilters/icon-field":{"title":"$:/config/TiddlerIconFilters/icon-field","tags":"$:/tags/TiddlerIconFilter","text":"[has[icon]then{!!icon}]"},"$:/config/TiddlerIconFilters/default":{"title":"$:/config/TiddlerIconFilters/default","tags":"$:/tags/TiddlerIconFilter","text":"[{$:/config/DefaultTiddlerIcon}has[text]]"},"$:/config/TiddlerInfo/Default":{"title":"$:/config/TiddlerInfo/Default","text":"$:/core/ui/TiddlerInfo/Fields"},"$:/config/TiddlerInfo/Mode":{"title":"$:/config/TiddlerInfo/Mode","text":"popup"},"$:/config/Tiddlers/TitleLinks":{"title":"$:/config/Tiddlers/TitleLinks","text":"no"},"$:/config/Toolbar/ButtonClass":{"title":"$:/config/Toolbar/ButtonClass","text":"tc-btn-invisible"},"$:/config/Toolbar/Icons":{"title":"$:/config/Toolbar/Icons","text":"yes"},"$:/config/Toolbar/Text":{"title":"$:/config/Toolbar/Text","text":"no"},"$:/config/ViewTemplateBodyFilters/stylesheet":{"title":"$:/config/ViewTemplateBodyFilters/stylesheet","tags":"$:/tags/ViewTemplateBodyFilter","text":"[tag[$:/tags/Stylesheet]then[$:/core/ui/ViewTemplate/body/rendered-plain-text]]"},"$:/config/ViewTemplateBodyFilters/core-ui-tags":{"title":"$:/config/ViewTemplateBodyFilters/core-ui-tags","tags":"$:/tags/ViewTemplateBodyFilter","text":"[tag[$:/tags/PageTemplate]] [tag[$:/tags/EditTemplate]] [tag[$:/tags/ViewTemplate]] [tag[$:/tags/KeyboardShortcut]] [tag[$:/tags/ImportPreview]] [tag[$:/tags/EditPreview]][tag[$:/tags/EditorToolbar]] [tag[$:/tags/Actions]] :then[[$:/core/ui/ViewTemplate/body/code]]"},"$:/config/ViewTemplateBodyFilters/system":{"title":"$:/config/ViewTemplateBodyFilters/system","tags":"$:/tags/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[$:/core/ui/ViewTemplate/body/code]]"},"$:/config/ViewTemplateBodyFilters/code-body":{"title":"$:/config/ViewTemplateBodyFilters/code-body","tags":"$:/tags/ViewTemplateBodyFilter","text":"[field:code-body[yes]then[$:/core/ui/ViewTemplate/body/code]]"},"$:/config/ViewTemplateBodyFilters/import":{"title":"$:/config/ViewTemplateBodyFilters/import","tags":"$:/tags/ViewTemplateBodyFilter","text":"[field:plugin-type[import]then[$:/core/ui/ViewTemplate/body/import]]"},"$:/config/ViewTemplateBodyFilters/plugin":{"title":"$:/config/ViewTemplateBodyFilters/plugin","tags":"$:/tags/ViewTemplateBodyFilter","text":"[has[plugin-type]then[$:/core/ui/ViewTemplate/body/plugin]]"},"$:/config/ViewTemplateBodyFilters/hide-body":{"title":"$:/config/ViewTemplateBodyFilters/hide-body","tags":"$:/tags/ViewTemplateBodyFilter","text":"[field:hide-body[yes]then[$:/core/ui/ViewTemplate/body/blank]]"},"$:/config/ViewTemplateBodyFilters/default":{"title":"$:/config/ViewTemplateBodyFilters/default","tags":"$:/tags/ViewTemplateBodyFilter","text":"[[$:/core/ui/ViewTemplate/body/default]]"},"$:/config/ViewTemplateTitleFilters/system":{"title":"$:/config/ViewTemplateTitleFilters/system","tags":"$:/tags/ViewTemplateTitleFilter","text":"[prefix[$:/]then[$:/core/ui/ViewTemplate/title/system]]"},"$:/config/ViewTemplateTitleFilters/default":{"title":"$:/config/ViewTemplateTitleFilters/default","tags":"$:/tags/ViewTemplateTitleFilter","text":"[[$:/core/ui/ViewTemplate/title/default]]"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions","text":"show"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar","text":"hide"},"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others":{"title":"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others","text":"hide"},"$:/config/shortcuts-mac/bold":{"title":"$:/config/shortcuts-mac/bold","text":"meta-B"},"$:/config/shortcuts-mac/italic":{"title":"$:/config/shortcuts-mac/italic","text":"meta-I"},"$:/config/shortcuts-mac/underline":{"title":"$:/config/shortcuts-mac/underline","text":"meta-U"},"$:/config/shortcuts-mac/new-image":{"title":"$:/config/shortcuts-mac/new-image","text":"ctrl-I"},"$:/config/shortcuts-mac/new-journal":{"title":"$:/config/shortcuts-mac/new-journal","text":"ctrl-J"},"$:/config/shortcuts-mac/new-tiddler":{"title":"$:/config/shortcuts-mac/new-tiddler","text":"ctrl-N"},"$:/config/shortcuts-mac/refresh":{"title":"$:/config/shortcuts-mac/refresh","text":"meta-R"},"$:/config/shortcuts-mac/save-wiki":{"title":"$:/config/shortcuts-mac/save-wiki","text":"meta-S"},"$:/config/shortcuts-not-mac/bold":{"title":"$:/config/shortcuts-not-mac/bold","text":"ctrl-B"},"$:/config/shortcuts-not-mac/italic":{"title":"$:/config/shortcuts-not-mac/italic","text":"ctrl-I"},"$:/config/shortcuts-not-mac/underline":{"title":"$:/config/shortcuts-not-mac/underline","text":"ctrl-U"},"$:/config/shortcuts-not-mac/new-image":{"title":"$:/config/shortcuts-not-mac/new-image","text":"alt-I"},"$:/config/shortcuts-not-mac/new-journal":{"title":"$:/config/shortcuts-not-mac/new-journal","text":"alt-J"},"$:/config/shortcuts-not-mac/new-tiddler":{"title":"$:/config/shortcuts-not-mac/new-tiddler","text":"alt-N"},"$:/config/shortcuts-not-mac/refresh":{"title":"$:/config/shortcuts-not-mac/refresh","text":"ctrl-R"},"$:/config/shortcuts/add-field":{"title":"$:/config/shortcuts/add-field","text":"enter"},"$:/config/shortcuts/advanced-search":{"title":"$:/config/shortcuts/advanced-search","text":"ctrl-shift-A"},"$:/config/shortcuts/advanced-search-sidebar":{"title":"$:/config/shortcuts/advanced-search-sidebar","text":"alt-Enter"},"$:/config/shortcuts/cancel-edit-tiddler":{"title":"$:/config/shortcuts/cancel-edit-tiddler","text":"escape"},"$:/config/shortcuts/change-sidebar-layout":{"title":"$:/config/shortcuts/change-sidebar-layout","text":"shift-alt-Down"},"$:/config/shortcuts/delete-field":{"title":"$:/config/shortcuts/delete-field","text":"shift-alt-D"},"$:/config/shortcuts/excise":{"title":"$:/config/shortcuts/excise","text":"ctrl-E"},"$:/config/shortcuts/sidebar-search":{"title":"$:/config/shortcuts/sidebar-search","text":"ctrl-shift-F"},"$:/config/shortcuts/heading-1":{"title":"$:/config/shortcuts/heading-1","text":"ctrl-1"},"$:/config/shortcuts/heading-2":{"title":"$:/config/shortcuts/heading-2","text":"ctrl-2"},"$:/config/shortcuts/heading-3":{"title":"$:/config/shortcuts/heading-3","text":"ctrl-3"},"$:/config/shortcuts/heading-4":{"title":"$:/config/shortcuts/heading-4","text":"ctrl-4"},"$:/config/shortcuts/heading-5":{"title":"$:/config/shortcuts/heading-5","text":"ctrl-5"},"$:/config/shortcuts/heading-6":{"title":"$:/config/shortcuts/heading-6","text":"ctrl-6"},"$:/config/shortcuts/input-accept":{"title":"$:/config/shortcuts/input-accept","text":"Enter"},"$:/config/shortcuts/input-accept-variant":{"title":"$:/config/shortcuts/input-accept-variant","text":"ctrl-Enter"},"$:/config/shortcuts/input-cancel":{"title":"$:/config/shortcuts/input-cancel","text":"Escape"},"$:/config/shortcuts/input-down":{"title":"$:/config/shortcuts/input-down","text":"Down"},"$:/config/shortcuts/input-tab-left":{"title":"$:/config/shortcuts/input-tab-left","text":"alt-ctrl-Left"},"$:/config/shortcuts/input-tab-right":{"title":"$:/config/shortcuts/input-tab-right","text":"alt-ctrl-Right"},"$:/config/shortcuts/input-up":{"title":"$:/config/shortcuts/input-up","text":"Up"},"$:/config/shortcuts/layout-switcher":{"title":"$:/config/shortcuts/layout-switcher","text":"ctrl-shift-L"},"$:/config/shortcuts/link":{"title":"$:/config/shortcuts/link","text":"ctrl-L"},"$:/config/shortcuts/linkify":{"title":"$:/config/shortcuts/linkify","text":"alt-shift-L"},"$:/config/shortcuts/list-bullet":{"title":"$:/config/shortcuts/list-bullet","text":"ctrl-shift-L"},"$:/config/shortcuts/list-number":{"title":"$:/config/shortcuts/list-number","text":"ctrl-shift-N"},"$:/config/shortcuts/mono-block":{"title":"$:/config/shortcuts/mono-block","text":"ctrl-shift-M"},"$:/config/shortcuts/mono-line":{"title":"$:/config/shortcuts/mono-line","text":"ctrl-M"},"$:/config/shortcuts/picture":{"title":"$:/config/shortcuts/picture","text":"ctrl-shift-I"},"$:/config/shortcuts/preview":{"title":"$:/config/shortcuts/preview","text":"alt-P"},"$:/config/shortcuts/quote":{"title":"$:/config/shortcuts/quote","text":"ctrl-Q"},"$:/config/shortcuts/save-tiddler":{"title":"$:/config/shortcuts/save-tiddler","text":"ctrl+enter"},"$:/config/shortcuts/save-wiki":{"title":"$:/config/shortcuts/save-wiki","text":"ctrl-S"},"$:/config/shortcuts/stamp":{"title":"$:/config/shortcuts/stamp","text":"ctrl-S"},"$:/config/shortcuts/strikethrough":{"title":"$:/config/shortcuts/strikethrough","text":"ctrl-T"},"$:/config/shortcuts/subscript":{"title":"$:/config/shortcuts/subscript","text":"ctrl-shift-B"},"$:/config/shortcuts/superscript":{"title":"$:/config/shortcuts/superscript","text":"ctrl-shift-P"},"$:/config/shortcuts/toggle-sidebar":{"title":"$:/config/shortcuts/toggle-sidebar","text":"alt-shift-S"},"$:/config/shortcuts/transcludify":{"title":"$:/config/shortcuts/transcludify","text":"alt-shift-T"},"$:/config/ui/EditTemplate":{"title":"$:/config/ui/EditTemplate","text":"$:/core/ui/EditTemplate"},"$:/config/ui/ViewTemplate":{"title":"$:/config/ui/ViewTemplate","text":"$:/core/ui/ViewTemplate"},"$:/config/WikiParserRules/Inline/wikilink":{"title":"$:/config/WikiParserRules/Inline/wikilink","text":"disable"},"$:/snippets/currpalettepreview":{"title":"$:/snippets/currpalettepreview","text":"\\define resolve-colour(macrocall)\n\\import $:/core/macros/utils\n\\whitespace trim\n<$wikify name=\"name\" text=\"\"\"$macrocall$\"\"\">\n<<name>>\n</$wikify>\n\\end\n\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch-inner()\n\\whitespace trim\n<$set name=\"swatchColour\" value={{##$(colourResolved)$}}>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n \n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"<$macrocall $name='resolve-colour' macrocall=<<swatchColour>>/>\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n\\end\n\\define swatch()\n\\whitespace trim\n<$set name=\"swatchColour\" value={{##$(colour)$}}>\n<$set name=\"swatchTitle\" value=<<colour>>>\n<$list filter=\"[<swatchColour>!prefix[<<colour ]!suffix[>>]]\" variable=\"ignore\">\n<div class=\"tc-swatch\" style=<<swatchStyle>> title=<<swatchTitle>>/>\n \n</$list>\n<$list filter=\"[<swatchColour>prefix[<<colour ]suffix[>>]]\" variable=\"ignore\">\n<$wikify name=\"colourResolved\" text=\"<$macrocall $name='resolve-colour' macrocall=<<swatchColour>>/>\">\n<<swatch-inner>>\n</$wikify>\n</$list>\n</$set>\n</$set>\n\\end\n\\whitespace trim\n<div class=\"tc-swatches-horiz\"><$list filter=\"\nforeground\nbackground\nmuted-foreground\nprimary\npage-background\ntab-background\ntiddler-info-background\n\" variable=\"colour\"><<swatch>></$list></div>\n"},"$:/snippets/DebugStylesheets":{"title":"$:/snippets/DebugStylesheets","text":"\\whitespace trim\n<style>[test]{list-style:'❌'}</style>\n<ul>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]has[modified]]\" counter=\"n\">\n<style>{{!!text}}[test=\"<<n>>\"]{list-style:disc;}</style>\n<li test=<<n>>><$link/></li>\n</$list>\n</ul>\n"},"$:/snippets/download-wiki-button":{"title":"$:/snippets/download-wiki-button","text":"\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n\\whitespace trim\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button-dynamic}}\n</$button>"},"$:/language":{"title":"$:/language","text":"$:/languages/en-GB"},"$:/snippets/languageswitcher":{"title":"$:/snippets/languageswitcher","text":"\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n\\whitespace trim\n\n<$linkcatcher to=\"$:/language\">\n<div class=\"tc-chooser tc-language-chooser\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/language}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$link>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n \n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"},"$:/core/macros/CSS":{"title":"$:/core/macros/CSS","tags":"$:/tags/Macro $:/tags/Global","text":"\\procedure colour(name)\n\\whitespace trim\n<$transclude $tiddler={{$:/palette}} $index=`$(name)$`>\n\t<$transclude $tiddler=\"$:/palettes/Vanilla\" $index=`$(name)$`>\n\t\t<$transclude $tiddler=`$:/config/DefaultColourMappings/$(name)$`/>\n\t</$transclude>\n</$transclude>\n\\end\n\n\\procedure color(name)\n<$macrocall $name=colour name=`$(name)$`/>\n\\end\n\n\\function box-shadow(shadow)\n[[ -webkit-box-shadow: $(shadow)$;\n\t-moz-box-shadow: $(shadow)$;\n\tbox-shadow: $(shadow)$;]substitute[]]\n\\end\n\n\\function filter(filter)\n[[ -webkit-filter: $(filter)$;\n\t-moz-filter: $(filter)$;\n\tfilter: $(filter)$;]substitute[]]\n\\end\n\n\\function transition(transition)\n[[ -webkit-transition: $(transition)$;\n\t-moz-transition: $(transition)$;\n\ttransition: $(transition)$;]substitute[]]\n\\end\n\n\\function transform-origin(origin)\n[[ -webkit-transform-origin: $(origin)$;\n\t-moz-transform-origin: $(origin)$;\n\ttransform-origin: $(origin)$;]substitute[]]\n\\end\n\n\\function background-linear-gradient(gradient)\n[[\tbackground-image: linear-gradient($(gradient)$);\n\tbackground-image: -o-linear-gradient($(gradient)$);\n\tbackground-image: -moz-linear-gradient($(gradient)$);\n\tbackground-image: -webkit-linear-gradient($(gradient)$);\n\tbackground-image: -ms-linear-gradient($(gradient)$);]substitute[]]\n\\end\n\n\\function column-count(columns)\n[[-moz-column-count: $(columns)$;\n\t-webkit-column-count: $(columns)$;\n\tcolumn-count: $(columns)$;]substitute[]]\n\\end\n\n\\procedure datauri(title)\n<$macrocall $name=\"makedatauri\" type={{{ [<title>get[type]] }}} text={{{ [<title>get[text]] }}} _canonical_uri={{{ [<title>get[_canonical_uri]] }}}/>\n\\end\n\n\\procedure if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\"><<text>></$reveal>\n\\end\n\n\\procedure if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\"><<text>></$reveal>\n\\end\n\n\\procedure if-background-attachment(text)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" type=\"nomatch\" text=\"\"><<text>></$reveal>\n\\end\n"},"$:/core/macros/colour-picker":{"title":"$:/core/macros/colour-picker","tags":"$:/tags/Macro","text":"\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n<$transclude $variable=\"__actions__\"/>\n\n<span style=\"display:inline-block; background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n\\whitespace trim\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n\\whitespace trim\n{{$:/language/ColourPicker/Recent}}<$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n \n<$macrocall $name=\"colour-picker-recent-inner\" actions=<<__actions__>>/>\n</$list>\n\\end\n\n\\define colour-picker(actions)\n\\whitespace trim\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=<<__actions__>>/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n \n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/>\n \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=<<__actions__>>/>\n</$set>\n\n</div>\n\n\\end\n"},"$:/core/macros/copy-to-clipboard":{"title":"$:/core/macros/copy-to-clipboard","tags":"$:/tags/Macro $:/tags/Global","text":"\\whitespace trim\n\n\\procedure copy-to-clipboard(src,class:\"tc-btn-invisible\",style)\n<$button message=\"tm-copy-to-clipboard\"\n\tparam=<<src>>\n\tclass=<<class>>\n\tstyle=<<style>>\n\ttooltip={{$:/language/Buttons/CopyToClipboard/Hint}}\n>\n\t{{$:/core/images/copy-clipboard}}\n\t<span class=\"tc-tiny-gap-left\">\n\t\t<$text text={{$:/language/Buttons/CopyToClipboard/Caption}}/>\n\t</span>\n</$button>\n\\end\n\n\\procedure copy-to-clipboard-above-right(src,class:\"tc-btn-invisible\",style)\n<div style=\"position: relative;\">\n\t<div style=\"position: absolute; bottom: 0; right: 0;\">\n\t\t<$macrocall $name=\"copy-to-clipboard\" src=<<src>> class=<<class>> style=<<style>>/>\n\t</div>\n</div>\n\\end\n"},"$:/core/macros/diff":{"title":"$:/core/macros/diff","tags":"$:/tags/Macro $:/tags/Global","text":"\\whitespace trim\n\n\\procedure compareTiddlerText(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle)\n<$set name=\"source\" tiddler=<<sourceTiddlerTitle>> subtiddler=<<sourceSubTiddlerTitle>>>\n\t<$set name=\"dest\" tiddler=<<destTiddlerTitle>> subtiddler=<<destSubTiddlerTitle>>>\n\t\t<$diff-text source=<<source>> dest=<<dest>>/>\n\t</$set>\n</$set>\n\\end\n\n\\procedure compareTiddlers(sourceTiddlerTitle,sourceSubTiddlerTitle,destTiddlerTitle,destSubTiddlerTitle,exclude)\n<table class=\"tc-diff-tiddlers\">\n\t<tbody>\n\t\t<$set name=\"sourceFields\" filter=\"[<sourceTiddlerTitle>fields[]sort[]]\">\n\t\t\t<$set name=\"destFields\" filter=\"[<destSubTiddlerTitle>subtiddlerfields<destTiddlerTitle>sort[]]\">\n\t\t\t<$list filter=\"[enlist<sourceFields>] [enlist<destFields>] -[enlist<exclude>] +[sort[]]\" variable=\"fieldName\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th>\n\t\t\t\t\t\t<$text text=<<fieldName>>/>\n\t\t\t\t\t</th>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<$set name=\"source\" tiddler=<<sourceTiddlerTitle>> subtiddler=<<sourceSubTiddlerTitle>> field=<<fieldName>>>\n\t\t\t\t\t\t\t<$set name=\"dest\" tiddler=<<destTiddlerTitle>> subtiddler=<<destSubTiddlerTitle>> field=<<fieldName>>>\n\t\t\t\t\t\t\t\t<$diff-text source=<<source>> dest=<<dest>>> </$diff-text>\n\t\t\t\t\t\t\t</$set>\n\t\t\t\t\t\t</$set>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</$list>\n\t\t\t</$set>\n\t\t</$set>\n\t</tbody>\n</table>\n\\end\n"},"$:/core/macros/dumpvariables":{"title":"$:/core/macros/dumpvariables","tags":"$:/tags/Macro","text":"\\define dumpvariables()\n\\whitespace trim\n<ul>\n<$list filter=\"[variables[]]\" variable=\"varname\">\n<li>\n<strong><code><$text text=<<varname>>/></code></strong>:<br/>\n<$codeblock code={{{ [<varname>getvariable[]] }}}/>\n</li>\n</$list>\n</ul>\n\\end\n"},"$:/core/macros/export":{"title":"$:/core/macros/export","tags":"$:/tags/Macro","text":"\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n\\whitespace trim\n<$vars hint={{{ [<__lingoBase__>addsuffix[Hint]get[text]] }}} caption={{{ [<__lingoBase__>addsuffix[Caption]get[text]] }}}>\n<span class=\"tc-popup-keep\"><$button popup=<<qualify \"$:/state/popup/export\">> tooltip=<<hint>> aria-label=<<caption>> class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=<<caption>>/></span>\n</$list>\n</$button></span></$vars><$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$set name=\"count\" value={{{ [subfilter<__exportFilter__>count[]] }}}>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$list filter=\"[<currentTiddler>has[condition]subfilter{!!condition}limit[1]] ~[<currentTiddler>!has[condition]then[true]]\" variable=\"ignore\">\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=<<__exportFilter__>> filename={{{ [<__baseFilename__>addsuffix{!!extension}] }}}/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$list>\n</$list>\n</$set>\n</div>\n</$reveal>\n\\end\n"},"$:/core/macros/image-picker":{"title":"$:/core/macros/image-picker","created":"20170715180840889","modified":"20170715180914005","tags":"$:/tags/Macro","type":"text/vnd.tiddlywiki","text":"\\define image-picker-thumbnail(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\"><$transclude $variable=\"__actions__\"/><$transclude tiddler=<<imageTitle>>/></$button>\n\\end\n\n\\define image-picker-list(filter,actions)\n\\whitespace trim\n<$list filter=\"\"\"$filter$\"\"\" variable=\"imageTitle\">\n<$macrocall $name=\"image-picker-thumbnail\" actions=<<__actions__>>/>\n \n</$list>\n\\end\n\n\\define image-picker(actions,filter:\"[all[shadows+tiddlers]is[image]] -[type[application/pdf]] +[!has[draft.of]$subfilter$sort[title]]\",subfilter:\"\")\n\\whitespace trim\n<div class=\"tc-image-chooser\">\n<$vars state-system=<<qualify \"$:/state/image-picker/system\">>>\n<$checkbox tiddler=<<state-system>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"hide\">\n \n{{$:/language/SystemTiddlers/Include/Prompt}}\n</$checkbox>\n<$reveal state=<<state-system>> type=\"match\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$ +[!is[system]]\"\"\" actions=<<__actions__>>/>\n</$reveal>\n<$reveal state=<<state-system>> type=\"nomatch\" text=\"hide\" default=\"hide\" tag=\"div\">\n<$macrocall $name=\"image-picker-list\" filter=\"\"\"$filter$\"\"\" actions=<<__actions__>>/>\n</$reveal>\n</$vars>\n</div>\n\\end\n\n\\define image-picker-include-tagged-images(actions)\n<$macrocall $name=\"image-picker\" filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[!has[draft.of]sort[title]]\" actions=<<__actions__>>/>\n\\end\n"},"$:/core/macros/keyboard-driven-input":{"title":"$:/core/macros/keyboard-driven-input","tags":"$:/tags/Macro","text":"\\define change-input-tab(stateTitle,tag,beforeafter,defaultState,actions)\n\\whitespace trim\n<$set name=\"tabsList\" filter=\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]]\">\n\t<$let\n\t\tcurrentState={{{ [<__stateTitle__>!is[missing]get[text]] ~[<__defaultState__>] }}}\n\t\tfirstTab={{{ [enlist<tabsList>nth[1]] }}}\n\t\tlastTab={{{ [enlist<tabsList>last[]] }}}\n\t\tnextTab={{{ [all[shadows+tiddlers]tag<__tag__>!has[draft.of]$beforeafter$<currentState>] ~[[$beforeafter$]removeprefix[after]suffix[]addprefix<firstTab>] ~[[$beforeafter$]removeprefix[before]suffix[]addprefix<lastTab>] }}}\n\t>\n\t\t<$action-setfield $tiddler=<<__stateTitle__>> text=<<nextTab>>/>\n\t\t$actions$\n\t</$let>\n</$set>\n\\end\n\n\\define keyboard-input-actions()\n\\whitespace trim\n<$list filter=\"[<__index__>match[]]\">\n\t<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>get<__field__>] }}}/>\n</$list>\n<$list filter=\"[<__index__>!match[]]\">\n\t<$action-setfield $tiddler=<<__storeTitle__>> text={{{ [<__tiddler__>getindex<__index__>] }}}/>\n</$list>\n\\end\n\n\\define input-next-actions-inner()\n\\whitespace trim\n<$list filter=\"[<nextItem>minlength[1]]\" variable=\"ignore\">\n\t<$action-setfield $tiddler=<<__selectionStateTitle__>> text=<<nextItem>>/>\n\t<$list filter=\"[<__index__>match[]]\">\n\t\t<$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n\t</$list>\n\t<$list filter=\"[<__index__>!match[]]\">\n\t\t<$action-setfield $tiddler=<<__tiddler__>> $index=<<__index__>> $value={{{ [<nextItem>] +[splitregexp[(?:.(?!-))+$]] }}}/>\n\t</$list>\n\t<$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n\\end\n\n\\define input-next-actions(afterOrBefore:\"after\",reverse:\"\")\n\\whitespace trim\n<$list\n\tfilter=\"[<__storeTitle__>get[text]minlength<__filterMinLength__>] [<__filterMinLength__>match[0]] +[limit[1]]\"\n\tvariable=\"ignore\"\n>\n\t<$let\n\t\tuserInput={{{ [<__storeTitle__>get[text]] }}}\n\t\tselectedItem={{{ [<__selectionStateTitle__>get[text]] }}}\n\t\tconfigTiddler={{{ [subfilter<__configTiddlerFilter__>] }}}\n\t\tprimaryListFilter={{{ [<configTiddler>get<__firstSearchFilterField__>] }}}\n\t\tsecondaryListFilter={{{ [<configTiddler>get<__secondSearchFilterField__>] }}}\n\t>\n\t\t<$set\n\t\t\tname=\"filteredList\"\n\t\t\tfilter=\"[subfilter<primaryListFilter>addsuffix[-primaryList]] =[subfilter<secondaryListFilter>addsuffix[-secondaryList]]\"\n\t\t>\n\t\t\t<$let\n\t\t\t\tnextItem={{{ [enlist<filteredList>$afterOrBefore$<selectedItem>] ~[enlist<filteredList>$reverse$nth[1]] }}}\n\t\t\t\tfirstItem={{{ [enlist<filteredList>nth[1]] }}}\n\t\t\t\tlastItem={{{ [enlist<filteredList>last[]] }}}\n\t\t\t>\n\t\t\t\t<$list filter=\"[<selectedItem>match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[before]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t</$list>\n\t\t\t\t<$list filter=\"[<selectedItem>match<lastItem>!match<firstItem>]\" variable=\"ignore\">\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [[$afterOrBefore$]match[after]then<userInput>addsuffix[-userInput]] ~[<nextItem>] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t</$list>\n\t\t\t\t<$list filter=\"[<selectedItem>match<firstItem>match<lastItem>]\" variable=\"ignore\">\n\t\t\t\t\t<$set name=\"nextItem\" value={{{ [<userInput>addsuffix[-userInput]] }}}>\n\t\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t\t</$set>\n\t\t\t\t</$list>\n\t\t\t\t<$list filter=\"[<selectedItem>!match<firstItem>!match<lastItem>]\" variable=\"ignore\">\n\t\t\t\t\t<<input-next-actions-inner>>\n\t\t\t\t</$list>\n\t\t\t</$let>\n\t\t</$set>\n\t</$let>\n</$list>\n\\end\n\n\\define keyboard-driven-input(tiddler,storeTitle,field:\"text\",index:\"\",tag:\"input\",type,focus:\"\",inputAcceptActions,inputAcceptVariantActions,inputCancelActions,placeholder:\"\",default:\"\",class,focusPopup,rows,minHeight,tabindex,size,autoHeight,filterMinLength:\"0\",refreshTitle,selectionStateTitle,cancelPopups:\"\",configTiddlerFilter,firstSearchFilterField:\"first-search-filter\",secondSearchFilterField:\"second-search-filter\")\n\\whitespace trim\n<$keyboard key=\"((input-accept))\" actions=<<__inputAcceptActions__>>>\n<$keyboard key=\"((input-accept-variant))\" actions=<<__inputAcceptVariantActions__>>>\n<$keyboard key=\"((input-up))\" actions=<<input-next-actions \"before\" \"reverse[]\">>>\n<$keyboard key=\"((input-down))\" actions=<<input-next-actions>>>\n<$keyboard key=\"((input-cancel))\" actions=<<__inputCancelActions__>>>\n\t<$edit-text\n\t\ttiddler=<<__tiddler__>> field=<<__field__>> index=<<__index__>>\n\t\tinputActions=<<keyboard-input-actions>> tag=<<__tag__>> class=<<__class__>>\n\t\tplaceholder=<<__placeholder__>> default=<<__default__>> focusPopup=<<__focusPopup__>>\n\t\tfocus=<<__focus__>> type=<<__type__>> rows=<<__rows__>> minHeight=<<__minHeight__>>\n\t\ttabindex=<<__tabindex__>> size=<<__size__>> autoHeight=<<__autoHeight__>>\n\t\trefreshTitle=<<__refreshTitle__>> cancelPopups=<<__cancelPopups__>>\n\t/>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n</$keyboard>\n\\end\n"},"$:/core/macros/lingo":{"title":"$:/core/macros/lingo","tags":"$:/tags/Macro","text":"\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"},"$:/core/macros/list":{"title":"$:/core/macros/list","tags":"$:/tags/Macro","text":"\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\",emptyMessage,field:\"caption\")\n\\whitespace trim\n<$genesis $type=<<__type__>> class=<<__class__>>>\n\t<$list filter=<<__filter__>> emptyMessage=<<__emptyMessage__>>>\n\t\t<$genesis $type=<<__subtype__>>>\n\t\t\t<$link to={{!!title}}>\n\t\t\t\t<$let tv-wikilinks=\"no\">\n\t\t\t\t\t<$transclude field=<<__field__>>>\n\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t</$transclude>\n\t\t\t\t</$let>\n\t\t\t</$link>\n\t\t</$genesis>\n\t</$list>\n</$genesis>\n\\end\n\n\\define list-links-draggable-drop-actions()\n<$action-listops $tiddler=<<targetTiddler>> $field=<<targetField>> $subfilter=\"+[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\\end\n\n\\define list-links-draggable(tiddler,field:\"list\",emptyMessage,type:\"ul\",subtype:\"li\",class:\"\",itemTemplate)\n\\whitespace trim\n<span class=\"tc-links-draggable-list\">\n\t<$vars targetTiddler=\"\"\"$tiddler$\"\"\" targetField=\"\"\"$field$\"\"\">\n\t\t<$genesis $type=<<__type__>> class=\"$class$\">\n\t\t\t<$list filter=\"[list[$tiddler$!!$field$]]\" emptyMessage=<<__emptyMessage__>>>\n\t\t\t\t<$droppable\n\t\t\t\t\tactions=<<list-links-draggable-drop-actions>>\n\t\t\t\t\ttag=\"\"\"$subtype$\"\"\"\n\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t>\n\t\t\t\t\t<div class=\"tc-droppable-placeholder\"/>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n\t\t\t\t\t\t\t<$link to={{!!title}}>\n\t\t\t\t\t\t\t\t<$let tv-wikilinks=\"no\">\n\t\t\t\t\t\t\t\t\t<$transclude field=\"caption\">\n\t\t\t\t\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t\t\t\t</$let>\n\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</div>\n\t\t\t\t</$droppable>\n\t\t\t</$list>\n\t\t\t<$tiddler tiddler=\"\">\n\t\t\t\t<$droppable\n\t\t\t\t\tactions=<<list-links-draggable-drop-actions>> \n\t\t\t\t\ttag=\"div\"\n\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t>\n\t\t\t\t\t<div class=\"tc-droppable-placeholder\">\n\t\t\t\t\t\t{{$:/core/images/blank}}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"height:0.5em;\"/>\n\t\t\t\t</$droppable>\n\t\t\t</$tiddler>\n\t\t</$genesis>\n\t</$vars>\n</span>\n\\end\n\n\\define list-tagged-draggable-drop-actions(tag)\n\\whitespace trim\n<!-- Save the current ordering of the tiddlers with this tag -->\n<$set name=\"order\" filter=\"[<__tag__>tagging[]]\">\n\t<!-- Remove any list-after or list-before fields from the tiddlers with this tag -->\n\t<$list filter=\"[<__tag__>tagging[]]\">\n\t\t<$action-deletefield $field=\"list-before\"/>\n\t\t<$action-deletefield $field=\"list-after\"/>\n\t</$list>\n\t<!-- Save the new order to the Tag Tiddler -->\n\t<$action-listops $tiddler=<<__tag__>> $field=\"list\" $filter=\"+[enlist<order>] +[insertbefore<actionTiddler>,<currentTiddler>]\"/>\n\t<!-- Make sure the newly added item has the right tag -->\n\t<!-- Removing this line makes dragging tags within the dropdown work as intended -->\n\t<!--<$action-listops $tiddler=<<actionTiddler>> $tags=<<__tag__>>/>-->\n\t<!-- Using the following 5 lines as replacement makes dragging titles from outside into the dropdown apply the tag -->\n\t<$list filter=\"[<actionTiddler>!contains:tags<__tag__>]\">\n\t\t<$fieldmangler tiddler=<<actionTiddler>>>\n\t\t\t<$action-sendmessage $message=\"tm-add-tag\" $param=<<__tag__>>/>\n\t\t</$fieldmangler>\n\t</$list>\n</$set>\n\\end\n\n\\define list-tagged-draggable(tag,subFilter,emptyMessage,itemTemplate,elementTag:\"div\",storyview:\"\")\n\\whitespace trim\n<span class=\"tc-tagged-draggable-list\">\n\t<$set name=\"tag\" value=<<__tag__>>>\n\t\t<$list\n\t\t\tfilter=\"[<__tag__>tagging[]$subFilter$]\"\n\t\t\temptyMessage=<<__emptyMessage__>>\n\t\t\tstoryview=<<__storyview__>>\n\t\t>\n\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-menu-list-item\">\n\t\t\t\t<$droppable\n\t\t\t\t\tactions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\"\n\t\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t\t>\n\t\t\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-droppable-placeholder\"/>\n\t\t\t\t\t<$genesis $type=<<__elementTag__>>>\n\t\t\t\t\t\t<$transclude tiddler=\"\"\"$itemTemplate$\"\"\">\n\t\t\t\t\t\t\t<$link to={{!!title}}>\n\t\t\t\t\t\t\t\t<$view field=\"title\"/>\n\t\t\t\t\t\t\t</$link>\n\t\t\t\t\t\t</$transclude>\n\t\t\t\t\t</$genesis>\n\t\t\t\t</$droppable>\n\t\t\t</$genesis>\n\t\t</$list>\n\t\t<$tiddler tiddler=\"\">\n\t\t\t<$droppable\n\t\t\t\tactions=\"\"\"<$macrocall $name=\"list-tagged-draggable-drop-actions\" tag=<<__tag__>>/>\"\"\"\n\t\t\t\tenable=<<tv-enable-drag-and-drop>>\n\t\t\t>\n\t\t\t\t<$genesis $type=<<__elementTag__>> class=\"tc-droppable-placeholder\"/>\n\t\t\t\t<$genesis $type=<<__elementTag__>> style=\"height:0.5em;\"/>\n\t\t\t</$droppable>\n\t\t</$tiddler>\n\t</$set>\n</span>\n\\end\n"},"$:/core/macros/tabs":{"title":"$:/core/macros/tabs","tags":"$:/tags/Macro","code-body":"yes","text":"\\define tabs-button()\n\\whitespace trim\n<$button\n\tset=<<tabsState>>\n\tsetTo=<<currentTab>>\n\tdefault=<<__default__>>\n\tselectedClass=\"tc-tab-selected\"\n\ttooltip={{!!tooltip}}\n\trole=\"switch\"\n\tdata-tab-title=<<currentTab>>\n>\n\t<$tiddler tiddler=<<save-currentTiddler>>>\n\t\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t\t\t<$transclude tiddler=<<__buttonTemplate__>> mode=\"inline\">\n\t\t\t\t<$transclude tiddler=<<currentTab>> field=\"caption\">\n\t\t\t\t\t<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n\t\t\t\t</$transclude>\n\t\t\t</$transclude>\n\t\t</$set>\n\t</$tiddler>\n\t<<__actions__>>\n</$button>\n\\end\n\n\\define tabs-tab()\n\\whitespace trim\n<$set name=\"save-currentTiddler\" value=<<currentTiddler>>>\n\t<$tiddler tiddler=<<currentTab>>>\n\t\t<<tabs-button>>\n\t</$tiddler>\n</$set>\n\\end\n\n\\define tabs-tab-list()\n\\whitespace trim\n<$list filter=<<__tabsList__>> variable=\"currentTab\" storyview=\"pop\">\n\t<<tabs-tab>>\n</$list>\n\\end\n\n\\define tabs-tab-body()\n\\whitespace trim\n<$list filter=<<__tabsList__>> variable=\"currentTab\">\n\t<$reveal type=\"match\" state=<<tabsState>> text=<<currentTab>> default=<<__default__>> retain=<<__retain__>> tag=\"div\">\n\t\t<$transclude tiddler=<<__template__>> mode=\"block\">\n\t\t\t<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\t\t</$transclude>\n\t</$reveal>\n</$list>\n\\end\n\n\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template,buttonTemplate,retain,actions,explicitState)\n\\whitespace trim\n<$qualify title=<<__state__>> name=\"qualifiedState\">\n\t<$let tabsState={{{ [<__explicitState__>minlength[1]] ~[<qualifiedState>] }}}>\n\t\t<div class={{{ [[tc-tab-set]addsuffix[ ]addsuffix<__class__>] }}}>\n\t\t\t<div class={{{ [[tc-tab-buttons]addsuffix[ ]addsuffix<__class__>] }}}>\n\t\t\t\t<<tabs-tab-list>>\n\t\t\t</div>\n\t\t\t<div class={{{ [[tc-tab-divider]addsuffix[ ]addsuffix<__class__>] }}}/>\n\t\t\t<div class={{{ [[tc-tab-content]addsuffix[ ]addsuffix<__class__>] }}}>\n\t\t\t\t<<tabs-tab-body>>\n\t\t\t</div>\n\t\t</div>\n\t</$let>\n</$qualify>\n\\end"},"$:/core/macros/tag-picker":{"title":"$:/core/macros/tag-picker","tags":"tags: $:/tags/Macro $:/tags/Global","first-search-filter":"[subfilter<tagListFilter>!is[system]search:title<userInput>sort[]]","second-search-filter":"[subfilter<tagListFilter>is[system]search:title<userInput>sort[]]","text":"<!-- first-search-filter and second-search-filter fields are not used here in the code, but they are defined as parameters for keyboard-driven-input macro -->\n\n\\whitespace trim\n\n<!-- tf.tagpicker-dropdown-id is needed if several tap-pickers are shown in one tiddler -->\n\\function tf.tagpicker-dropdown-id()\n\t[<qualify $:/state/popup/tags-auto-complete>]\n\t[[$(saveTiddler)$-[$(tagField)$-$(tagListFilter)$]substitute[]sha256[]] +[join[/]]\n\\end\n\n\\function tf.tagpicker-dropdown-class() [<tf.tagpicker-dropdown-id>sha256[]addprefix[tc-]]\n\\function tf.get-tagpicker-focus-selector() [<tf.tagpicker-dropdown-class>addprefix[.]] .tc-popup-handle +[join[ ]]\n\n<!-- clean up temporary tiddlers, so the next \"pick\" starts with a clean input -->\n<!-- This could probably be optimized / removed if we would use different temp-tiddlers\n\t(future improvement because keeping track is comlex for humans)\n-->\n\\procedure delete-tag-state-tiddlers()\n<$action-deletetiddler $filter=\"[<newTagNameTiddler>] [<storeTitle>] [<tagSelectionState>]\"/>\n\\end\n\n<!-- trigger __toggle tag__ by keyboard -->\n\\procedure add-tag-actions()\n<$let tag=<<_tf.getTag>> >\n\t<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter='+[toggle<tag>trim[]]'/>\n\t<% if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>\n\t\t<!-- tag has been removed - do nothing -->\n\t<% else %>\n\t\t<<actions>>\n\t<% endif %>\n\t<<delete-tag-state-tiddlers>>\n\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n</$let>\n\\end\n<!-- <$action-log /> -->\n\n<!-- ESC key removes the text from the input\nThe second ESC tries to close the \"draft tiddler\"\n-->\n\\procedure clear-tags-actions-inner()\n<% if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>\n\t<<delete-tag-state-tiddlers>>\n<% else %>\n\t\t<<cancel-delete-tiddler-actions \"cancel\">>\n<% endif %>\n\\end\n\n<!-- triggered by keyboard only -->\n\\procedure clear-tags-actions()\n<$let userInput=<<_tf.getUserInput>> >\n\t<!-- this list __cannot__ be transformed to conditional IF. The list variable is used! -->\n\t<$list filter=\"[<newTagNameTiddler>get[text]!match<userInput>]\" >\n\t\t<$list-empty>\n\t\t\t<<clear-tags-actions-inner>>\n\t\t</$list-empty>\n\t\t<$action-setfield $tiddler=<<newTagNameTiddler>> text=<<userInput>>/>\n\t\t<$action-setfield $tiddler=<<refreshTitle>> text=\"yes\"/>\n\t</$list>\n</$let>\n\\end\n\n<!-- similar to add-tag-actions __but__ add-only -->\n\\procedure add-button-actions()\n<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter=\"[<tag>trim[]]\"/>\n<<actions>>\n<<delete-tag-state-tiddlers>>\n<$action-sendmessage $message=\"tm-focus-selector\" $param=<<tf.get-tagpicker-focus-selector>>/>\n\\end\n<!-- <$action-log /> -->\n\n<!-- create dropdown list -->\n\\procedure tag-picker-listTags(filter, suffix)\n<$let userInput=<<_tf.getUserInput>> >\n\t<$list filter=\"[<userInput>minlength{$:/config/Tags/MinLength}limit[1]]\"\n\t\temptyMessage=\"<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>\" variable=\"listItem\"\n\t>\n\t\t<$list filter=<<filter>> variable=\"tag\">\n\t\t\t<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->\n\t\t\t<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,\n\t\t\t\tothwerwise qualify in tf.tagpicker-dropdown-id causes problems -->\n\t\t\t<$let currentTiddler=<<tag>>\n\t\t\t\tbutton-classes=`tc-btn-invisible ${[<tag>addsuffix<suffix>] -[<tagSelectionState>get[text]] :then[[]] ~tc-tag-button-selected }$`\n\t\t\t\tget-tagpicker-focus-selector=`${[<tf.get-tagpicker-focus-selector>]}$`\n\t\t\t>\n\t\t\t\t{{||$:/core/ui/TagPickerTagTemplate}}\n\t\t\t</$let>\n\t\t</$list>\n\t</$list>\n</$let>\n\\end\n\n<!-- tag-picker-inner is the main function -->\n\\procedure tag-picker-inner()\n<div class={{{ [[tc-edit-add-tag]] [<tf.tagpicker-dropdown-class>] +[join[ ]] }}}>\n\t<div class=\"tc-edit-add-tag-ui\">\n\t\t<span class=\"tc-add-tag-name tc-small-gap-right\">\n\t\t\t<$macrocall\t$name=\"keyboard-driven-input\"\n\t\t\t\ttiddler=<<newTagNameTiddler>>\n\t\t\t\tstoreTitle=<<storeTitle>>\n\t\t\t\trefreshTitle=<<refreshTitle>>\n\t\t\t\tselectionStateTitle=<<tagSelectionState>>\n\t\t\t\tinputAcceptActions=<<add-tag-actions>>\n\t\t\t\tinputCancelActions=<<clear-tags-actions>>\n\t\t\t\ttag=\"input\"\n\t\t\t\tplaceholder={{$:/language/EditTemplate/Tags/Add/Placeholder}}\n\t\t\t\tfocusPopup=<<tf.tagpicker-dropdown-id>>\n\t\t\t\tclass=\"tc-edit-texteditor tc-popup-handle\"\n\t\t\t\ttabindex=<<tabIndex>>\n\t\t\t\tfocus={{{ [{$:/config/AutoFocus}match[tags]then[true]] ~[[false]] }}}\n\t\t\t\tfilterMinLength={{$:/config/Tags/MinLength}}\n\t\t\t\tcancelPopups=<<cancelPopups>>\n\t\t\t\tconfigTiddlerFilter=\"[[$:/core/macros/tag-picker]]\"\n\t\t\t/>\n\t\t</span>\n\t\t<$button popup=<<tf.tagpicker-dropdown-id>> class=\"tc-btn-invisible tc-btn-dropdown\"\n\t\t\ttooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}\n\t\t>\n\t\t\t{{$:/core/images/down-arrow}}\n\t\t</$button>\n\t\t<% if [<storeTitle>has[text]] %>\n\t\t\t<$button actions=<<delete-tag-state-tiddlers>> class=\"tc-btn-invisible tc-small-gap tc-btn-dropdown\"\n\t\t\t\ttooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}\n\t\t\t>\n\t\t\t\t{{$:/core/images/close-button}}\n\t\t\t</$button>\n\t\t<% endif %>\n\t\t<span class=\"tc-add-tag-button tc-small-gap-left\">\n\t\t\t<$let tag=<<_tf.getTag>>>\n\t\t\t\t<$button set=<<newTagNameTiddler>> actions=<<add-button-actions>> >\n\t\t\t\t\t{{$:/language/EditTemplate/Tags/Add/Button}}\n\t\t\t\t</$button>\n\t\t\t</$let>\n\t\t</span>\n\t</div>\n\t<div class=\"tc-block-dropdown-wrapper\">\n\t\t<% if [<tf.tagpicker-dropdown-id>has[text]] %>\n\t\t\t<div class=\"tc-block-dropdown tc-block-tags-dropdown\">\n\t\t\t\t<$macrocall $name=\"tag-picker-listTags\" filter=<<nonSystemTagsFilter>> suffix=\"-primaryList\" />\n\t\t\t\t<hr>\n\t\t\t\t<$macrocall $name=\"tag-picker-listTags\" filter=<<systemTagsFilter>> suffix=\"-secondaryList\" />\n\t\t\t</div>\n\t\t<% endif %>\n\t</div>\n</div>\n\\end\n\n<!-- prepare all variables for tag-picker keyboard handling -->\n\\procedure tag-picker(actions, tagField:\"tags\", tiddler, tagListFilter:\"[tags[]]\")\n\n\\function _tf.getUserInput() [<storeTitle>get[text]]\n\\function _tf.getTag() [<newTagNameTiddler>get[text]]\n\n<!-- keep those variables because they may \"blead\" into macros using old syntax -->\n<$let\n\tpalette={{$:/palette}}\n\tcolourA={{{ [<palette>getindex[foreground]] }}}\n\tcolourB={{{ [<palette>getindex[background]] }}}\n\tfallbackTarget={{{ [<palette>getindex[tag-background]] }}}\n\n\tsaveTiddler={{{ [<tiddler>is[blank]then<currentTiddler>else<tiddler>] }}}\n\n\tnewTagNameTiddler={{{ [[$:/temp/NewTagName]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]] }}}\n\tstoreTitle={{{ [[$:/temp/NewTagName/input]] [<tagField>!match[tags]] +[join[/]] [<qualify>] +[join[]] }}}\n\n\tnewTagNameSelectionTiddlerQualified=<<qualify \"$:/temp/NewTagName/selected-item\">>\n\ttagSelectionState={{{ [<newTagNameSelectionTiddler>!match[]] ~[<newTagNameSelectionTiddlerQualified>] }}}\n\n\trefreshTitle=<<qualify \"$:/temp/NewTagName/refresh\">>\n\n\tnonSystemTagsFilter=\"[subfilter<tagListFilter>!is[system]search:title<userInput>sort[]]\"\n\tsystemTagsFilter=\"[subfilter<tagListFilter>is[system]search:title<userInput>sort[]]\"\n\n\tcancelPopups=\"yes\"\n>\n\t<$macrocall $name=\"tag-picker-inner\"/>\n</$let>\n\\end"},"$:/core/macros/tag":{"title":"$:/core/macros/tag","tags":"$:/tags/Macro","text":"\\define tag-pill-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->\n\\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)\n\\whitespace trim\n<$let\n\tforegroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">>\n\tbackgroundColor=<<__colour__>>\n>\n<$element-tag$\n\t$element-attributes$\n\tclass=\"tc-tag-label tc-btn-invisible\"\n\tstyle=<<tag-pill-styles>>\n>\n\t<<__actions__>>\n\t<$transclude tiddler=<<__icon__>>/>\n\t<span class={{{ [<__tag__>is[missing]then[tc-tag-missing]else[tc-tag-exists]] }}}>\n\t\t<$view tiddler=<<__tag__>> field=\"title\" format=\"text\" />\n\t</span>\n</$element-tag$>\n</$let>\n\\end\n\n\\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)\n\\whitespace trim\n<$macrocall $name=\"tag-pill-inner\"\n\ttag=<<__tag__>>\n\ticon=<<__icon__>>\n\tcolour=<<__colour__>>\n\tfallbackTarget={{$palette$##tag-background}}\n\tcolourA={{$palette$##foreground}}\n\tcolourB={{$palette$##background}}\n\telement-tag=<<__element-tag__>>\n\telement-attributes=<<__element-attributes__>>\n\tactions=<<__actions__>>\n/>\n\\end\n\n\\define tag-pill(tag,element-tag:\"span\",element-attributes:\"\",actions:\"\")\n\\whitespace trim\n<span class=\"tc-tag-list-item\" data-tag-title=<<__tag__>>>\n\t<$let currentTiddler=<<__tag__>>>\n\t\t<$macrocall $name=\"tag-pill-body\"\n\t\t\ttag=<<__tag__>>\n\t\t\ticon={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerIconFilter]!is[draft]get[text]] }}}\n\t\t\tcolour={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] }}}\n\t\t\tpalette={{$:/palette}}\n\t\t\telement-tag=<<__element-tag__>>\n\t\t\telement-attributes=<<__element-attributes__>>\n\t\t\tactions=<<__actions__>>/>\n\t</$let>\n</span>\n\\end\n\n\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"},"$:/core/macros/thumbnails":{"title":"$:/core/macros/thumbnails","tags":"$:/tags/Macro","text":"<!-- This macro does not use \\whitespace trim because it could affect the caption -->\n\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\"\n><div\n\tclass=\"tc-thumbnail-image\"\n\tstyle=\"width:$width$px;height:$height$px;\"><$reveal\n\ttype=\"nomatch\"\n\ttext=\"\"\n\tdefault=\"\"\"$image$\"\"\"\n\ttag=\"div\"\n\tstyle=\"width:$width$px;height:$height$px;\"\n>[img[$image$]]</$reveal><$reveal\n\ttype=\"match\"\n\ttext=\"\"\n\tdefault=\"\"\"$image$\"\"\"\n\ttag=\"div\"\n\tclass=\"tc-thumbnail-background\"\n\tstyle=\"width:$width$px;height:$height$px;background-color:$background-color$;\"\n></$reveal></div><div\n\tclass=\"tc-thumbnail-icon\"\n\tstyle=\"fill:$color$;color:$color$;\"\n>$icon$</div><div class=\"tc-thumbnail-caption\">$caption$</div></div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"},"$:/core/macros/timeline":{"title":"$:/core/macros/timeline","created":"20141212105914482","modified":"20141212110330815","tags":"$:/tags/Macro","text":"<!-- Override one or both of the following two macros with a global or local macro of the same name \nif you need to change how titles are displayed on a timeline -->\n\n\\define timeline-title() <$view field=\"title\"/>\n\\define timeline-link() <$link to={{!!title}}><<timeline-title>></$link>\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n\\whitespace trim\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<<timeline-link>>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"},"$:/core/macros/toc":{"title":"$:/core/macros/toc","tags":"$:/tags/Macro","text":"\n\\define toc-open-icon() $:/core/images/down-arrow\n\\define toc-closed-icon() $:/core/images/right-arrow\n\n\\define toc-caption()\n\\whitespace trim\n<span class=\"tc-toc-caption tc-tiny-gap-left\">\n<$set name=\"tv-wikilinks\" value=\"no\">\n <$transclude field=\"caption\">\n <$view field=\"title\"/>\n </$transclude>\n</$set>\n</span>\n\\end\n\n\\define toc-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<ol class=\"tc-toc\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n <$let item=<<currentTiddler>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}><<toc-caption>></$link>\">\n <<toc-caption>>\n </$list>\n <$macrocall $name=\"toc-body\" tag=<<item>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </li>\n </$set>\n </$set>\n </$let>\n </$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter:\"\", exclude)\n<$macrocall $name=\"toc-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>>/>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-closed-icon>> />\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-open-icon>> />\n </$button>\n </$reveal>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<!-- helper function -->\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-closed-icon>> />\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-open-icon>> />\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-expandable-empty-message()\n<$macrocall $name=\"toc-linked-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter:\"\",exclude,path)\n\\whitespace trim\n<$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n <ol class=\"tc-toc toc-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"\"\"itemClassFilter\"\"\" exclude=<<excluded>> path=<<path>> />\n </$list>\n </$list>\n </ol>\n </$set>\n</$let>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\" >\n <li class=<<toc-item-class>>>\n <$link to={{{ [<currentTiddler>get[target]else<currentTiddler>] }}}>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]] -[subfilter<__exclude__>]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-closed-icon>> />\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-open-icon>> />\n </$button>\n </$reveal>\n </$list>\n <<toc-caption>>\n </$link>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$qualify name=\"toc-state\" title={{{ [[$:/state/toc]addsuffix<__path__>addsuffix[-]addsuffix<currentTiddler>] }}}>\n <$set name=\"toc-item-class\" filter=<<__itemClassFilter__>> emptyValue=\"toc-item-selected\" value=\"toc-item\">\n <li class=<<toc-item-class>>>\n <$list filter=\"[all[current]tagging[]$sort$limit[1]] -[subfilter<__exclude__>]\" variable=\"ignore\" emptyMessage=\"\"\"<$button class=\"tc-btn-invisible\">{{$:/core/images/blank}}</$button><span class=\"toc-item-muted\"><<toc-caption>></span>\"\"\">\n <$reveal type=\"nomatch\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-closed-icon>> />\n <<toc-caption>>\n </$button>\n </$reveal>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$button setTitle=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible tc-popup-keep\">\n <$transclude tiddler=<<toc-open-icon>> />\n <<toc-caption>>\n </$button>\n </$reveal>\n </$list>\n <$reveal type=\"match\" stateTitle=<<toc-state>> text=\"open\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<__exclude__>> path=<<__path__>>/>\n </$reveal>\n </li>\n </$set>\n</$qualify>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<$macrocall $name=\"toc-linked-selective-expandable-body\" tag=<<tag>> sort=<<sort>> itemClassFilter=<<itemClassFilter>> exclude=<<excluded>> path=<<path>>/>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter,exclude,path)\n\\whitespace trim\n<$let tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> path={{{ [<__path__>addsuffix[/]addsuffix<__tag__>] }}}>\n <$set name=\"excluded\" filter=\"[subfilter<__exclude__>] [<__tag__>]\">\n <ol class=\"tc-toc toc-selective-expandable\">\n <$list filter=\"\"\"[all[shadows+tiddlers]tag<__tag__>!has[draft.of]$sort$] -[<__tag__>] -[subfilter<__exclude__>]\"\"\">\n <$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>> >\n <$macrocall $name=\"toc-unlinked-selective-expandable-body\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=<<__itemClassFilter__>> exclude=<<excluded>> path=<<path>>/>\n </$list>\n </$list>\n </ol>\n </$set>\n</$let>\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\",exclude)\n\\whitespace trim\n<$tiddler tiddler={{{ [<__selectedTiddler__>get[text]] }}}>\n <div class=\"tc-tabbed-table-of-contents\">\n <$linkcatcher to=<<__selectedTiddler__>>>\n <div class=\"tc-table-of-contents\">\n <$macrocall $name=\"toc-selective-expandable\" tag=<<__tag__>> sort=<<__sort__>> itemClassFilter=\"[all[current]] -[<__selectedTiddler__>get[text]]\" exclude=<<__exclude__>>/>\n </div>\n </$linkcatcher>\n <div class=\"tc-tabbed-table-of-contents-content\">\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"nomatch\" text=\"\">\n <$transclude mode=\"block\" tiddler=<<__template__>>>\n <h1><<toc-caption>></h1>\n <$transclude mode=\"block\">$missingText$</$transclude>\n </$transclude>\n </$reveal>\n <$reveal stateTitle=<<__selectedTiddler__>> type=\"match\" text=\"\">\n $unselectedText$\n </$reveal>\n </div>\n </div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\",exclude)\n\\whitespace trim\n<$linkcatcher to=<<__selectedTiddler__>>>\n <$macrocall $name=\"toc-tabbed-external-nav\" tag=<<__tag__>> sort=<<__sort__>> selectedTiddler=<<__selectedTiddler__>> unselectedText=<<__unselectedText__>> missingText=<<__missingText__>> template=<<__template__>> exclude=<<__exclude__>> />\n</$linkcatcher>\n\\end\n"},"$:/core/macros/translink":{"title":"$:/core/macros/translink","tags":"$:/tags/Macro","text":"\\define translink(title,mode:\"block\")\n\\whitespace trim\n<$list filter=\"[<__mode__>match[block]]\">\n<div class=\"tc-translink\">\n<div>\n<$link to=\"\"\"$title$\"\"\">\n<h1><$text text=\"\"\"$title$\"\"\"/></h1>\n</$link>\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"block\">\n<$set name=\"currentTiddler\" value=\"\"\"$title$\"\"\"><$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/></$set>\n</$transclude>\n</div>\n</div>\n</$list>\n<$list filter=\"[<__mode__>match[inline]]\">\n<span class=\"tc-translink\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n (<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"inline\">\n<$set name=\"currentTiddler\" value=\"\"\"$title$\"\"\"><$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/></$set>\n</$transclude>)\n</span>\n</$list>\n\\end\n"},"$:/core/macros/tree":{"title":"$:/core/macros/tree","tags":"$:/tags/Macro","text":"\\define leaf-link(full-title,chunk,separator: \"/\")\n<$link to=<<__full-title__>>><$text text=<<__chunk__>>/></$link>\n\\end\n\n\\define leaf-node(prefix,chunk)\n\\whitespace trim\n<li>\n<$list filter=\"[<__prefix__>addsuffix<__chunk__>is[shadow]] [<__prefix__>addsuffix<__chunk__>is[tiddler]]\" variable=\"full-title\">\n<$list filter=\"[<full-title>removeprefix<__prefix__>]\" variable=\"chunk\">\n<span>{{$:/core/images/file}}</span> <$macrocall $name=\"leaf-link\" full-title=<<full-title>> chunk=<<chunk>>/>\n</$list>\n</$list>\n</li>\n\\end\n\n\\define branch-node(prefix,chunk,separator: \"/\")\n\\whitespace trim\n<li>\n<$set name=\"reveal-state\" value={{{ [[$:/state/tree/]addsuffix<__prefix__>addsuffix<__chunk__>] }}}>\n<$reveal type=\"nomatch\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"show\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$button setTitle=<<reveal-state>> setTo=\"hide\" class=\"tc-btn-invisible\">\n{{$:/core/images/folder}} <$text text=<<__chunk__>>/>\n</$button>\n</$reveal>\n \n<span>(<$count filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>removeprefix<__chunk__>] -[<__prefix__>addsuffix<__chunk__>]\"/>)</span>\n<$reveal type=\"match\" stateTitle=<<reveal-state>> text=\"show\">\n<$macrocall $name=\"tree-node\" prefix={{{ [<__prefix__>addsuffix<__chunk__>] }}} separator=<<__separator__>>/>\n</$reveal>\n</$set>\n</li>\n\\end\n\n\\define tree-node(prefix,separator: \"/\")\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]!suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"leaf-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n<$list filter=\"[all[shadows+tiddlers]removeprefix<__prefix__>splitbefore<__separator__>sort[]suffix<__separator__>]\" variable=\"chunk\">\n<$macrocall $name=\"branch-node\" prefix=<<__prefix__>> chunk=<<chunk>> separator=<<__separator__>>/>\n</$list>\n</ol>\n\\end\n\n\\define tree(prefix: \"$:/\",separator: \"/\")\n\\whitespace trim\n<div class=\"tc-tree\">\n<span><$text text=<<__prefix__>>/></span>\n<div>\n<$macrocall $name=\"tree-node\" prefix=<<__prefix__>> separator=<<__separator__>>/>\n</div>\n</div>\n\\end\n"},"$:/core/macros/utils":{"title":"$:/core/macros/utils","text":"\\define colour(colour)\n$colour$\n\\end\n"},"$:/snippets/minifocusswitcher":{"title":"$:/snippets/minifocusswitcher","text":"\\whitespace trim\n<$select tiddler=\"$:/config/AutoFocus\">\n<$list filter=\"title tags text type fields\">\n<option value=<<currentTiddler>>><<currentTiddler>></option>\n</$list>\n</$select>\n"},"$:/snippets/minilanguageswitcher":{"title":"$:/snippets/minilanguageswitcher","text":"\\whitespace trim\n<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"},"$:/snippets/minithemeswitcher":{"title":"$:/snippets/minithemeswitcher","text":"\\define lingo-base() $:/language/ControlPanel/Theme/\n\\whitespace trim\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"},"$:/snippets/modules":{"title":"$:/snippets/modules","text":"\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n\\whitespace trim\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"},"$:/palette":{"title":"$:/palette","text":"$:/palettes/Vanilla"},"$:/snippets/paletteeditor":{"title":"$:/snippets/paletteeditor","text":"<$transclude tiddler=\"$:/PaletteManager\"/>\n"},"$:/snippets/palettepreview":{"title":"$:/snippets/palettepreview","text":"\\whitespace trim\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n{{||$:/snippets/currpalettepreview}}\n</$set>\n"},"$:/snippets/paletteswitcher":{"title":"$:/snippets/paletteswitcher","text":"\\whitespace trim\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[name]]\">\n<$set name=\"cls\" filter=\"[all[current]prefix{$:/palette}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\">\n<div class=<<cls>>>\n<$link to={{!!title}}>\n''<$view field=\"name\" format=\"text\"/>''\n - \n<$view field=\"description\" format=\"text\"/>\n{{||$:/snippets/currpalettepreview}}\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>\n"},"$:/snippets/peek-stylesheets":{"title":"$:/snippets/peek-stylesheets","text":"\\define expandable-stylesheets-list()\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$vars state=<<qualify \"$:/state/peek-stylesheets/open/\">>>\n<$set name=\"state\" value={{{ [<state>addsuffix<currentTiddler>] }}}>\n<li>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"no\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=<<state>> text=\"yes\" tag=\"span\">\n<$button set=<<state>> setTo=\"yes\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$reveal type=\"match\" state=<<state>> text=\"yes\" tag=\"div\">\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<$codeblock code=<<styles>> language=\"css\"/>\n</$wikify>\n</$set>\n</$reveal>\n</li>\n</$set>\n</$vars>\n</$list>\n</ol>\n\\end\n\n\\define stylesheets-list()\n\\whitespace trim\n<ol>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<li>\n<$link>\n<$view field=\"title\"/>\n</$link>\n<$set name=\"source\" tiddler=<<currentTiddler>>>\n<$wikify name=\"styles\" text=<<source>>>\n<pre>\n<code>\n<$text text=<<styles>>/>\n</code>\n</pre>\n</$wikify>\n</$set>\n</li>\n</$list>\n</ol>\n\\end\n\\whitespace trim\n\n<$vars modeState=<<qualify \"$:/state/peek-stylesheets/mode/\">>>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"expanded\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Stylesheets/Expand/Caption}}</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<$button set=<<modeState>> setTo=\"restored\" class=\"tc-btn-invisible\">{{$:/core/images/chevron-down}} {{$:/language/ControlPanel/Stylesheets/Restore/Caption}}</$button>\n</$reveal>\n\n<$reveal type=\"nomatch\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<expandable-stylesheets-list>>\n</$reveal>\n<$reveal type=\"match\" state=<<modeState>> text=\"expanded\" tag=\"div\">\n<<stylesheets-list>>\n</$reveal>\n\n</$vars>\n"},"$:/temp/search":{"title":"$:/temp/search","text":""},"$:/tags/AdvancedSearch":{"title":"$:/tags/AdvancedSearch","list":"[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"},"$:/tags/AdvancedSearch/FilterButton":{"title":"$:/tags/AdvancedSearch/FilterButton","list":"$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"},"$:/tags/ControlPanel":{"title":"$:/tags/ControlPanel","list":"$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"},"$:/tags/ControlPanel/Info":{"title":"$:/tags/ControlPanel/Info","list":"$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"},"$:/tags/ControlPanel/Plugins":{"title":"$:/tags/ControlPanel/Plugins","list":"$:/core/ui/ControlPanel/Plugins/Installed/Plugins $:/core/ui/ControlPanel/Plugins/Installed/Themes $:/core/ui/ControlPanel/Plugins/Installed/Languages"},"$:/tags/EditTemplate":{"title":"$:/tags/EditTemplate","list":"[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"},"$:/tags/EditTemplateBodyFilter":{"title":"$:/tags/EditTemplateBodyFilter","list":"$:/config/EditTemplateBodyFilters/canonical-uri $:/config/EditTemplateBodyFilters/default"},"$:/tags/EditToolbar":{"title":"$:/tags/EditToolbar","list":"[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"},"$:/tags/EditorToolbar":{"title":"$:/tags/EditorToolbar","list":"$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/rotate-left $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"},"$:/tags/Manager/ItemMain":{"title":"$:/tags/Manager/ItemMain","list":"$:/Manager/ItemMain/WikifiedText $:/Manager/ItemMain/RawText $:/Manager/ItemMain/Fields"},"$:/tags/Manager/ItemSidebar":{"title":"$:/tags/Manager/ItemSidebar","list":"$:/Manager/ItemSidebar/Tags $:/Manager/ItemSidebar/Colour $:/Manager/ItemSidebar/Icon $:/Manager/ItemSidebar/Tools"},"$:/tags/MoreSideBar":{"title":"$:/tags/MoreSideBar","list":"[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]] [[$:/core/ui/MoreSideBar/Explorer]] [[$:/core/ui/MoreSideBar/Plugins]]","text":""},"$:/tags/PageControls":{"title":"$:/tags/PageControls","list":"[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/manager]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/layout]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/timestamp]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/print]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/network-activity]] [[$:/core/ui/Buttons/more-page-actions]]"},"$:/tags/PageTemplate":{"title":"$:/tags/PageTemplate","list":"[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]","text":""},"$:/tags/PluginLibrary":{"title":"$:/tags/PluginLibrary","list":"$:/config/OfficialPluginLibrary"},"$:/tags/SideBar":{"title":"$:/tags/SideBar","list":"[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]","text":""},"$:/tags/SideBarSegment":{"title":"$:/tags/SideBarSegment","list":"[[$:/core/ui/SideBarSegments/site-title]] [[$:/core/ui/SideBarSegments/site-subtitle]] [[$:/core/ui/SideBarSegments/page-controls]] [[$:/core/ui/SideBarSegments/search]] [[$:/core/ui/SideBarSegments/tabs]]"},"$:/tags/StoryTiddlerTemplateFilter":{"title":"$:/tags/StoryTiddlerTemplateFilter","list":"$:/config/StoryTiddlerTemplateFilters/draft $:/config/StoryTiddlerTemplateFilters/default"},"$:/tags/TiddlerColourFilter":{"title":"$:/tags/TiddlerColourFilter","list":"$:/config/TiddlerColourFilters/color-field $:/config/TiddlerColourFilters/default","text":""},"$:/tags/TiddlerIconFilter":{"title":"$:/tags/TiddlerIconFilter","list":"$:/config/TiddlerIconFilters/icon-field $:/config/TiddlerIconFilters/default","text":""},"$:/tags/TiddlerInfo":{"title":"$:/tags/TiddlerInfo","list":"[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]","text":""},"$:/tags/TiddlerInfo/Advanced":{"title":"$:/tags/TiddlerInfo/Advanced","list":"[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"},"$:/tags/ViewTemplate":{"title":"$:/tags/ViewTemplate","list":"[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"},"$:/tags/ViewTemplateBodyFilter":{"title":"$:/tags/ViewTemplateBodyFilter","list":"$:/config/ViewTemplateBodyFilters/hide-body $:/config/ViewTemplateBodyFilters/code-body $:/config/ViewTemplateBodyFilters/stylesheet $:/config/ViewTemplateBodyFilters/core-ui-advanced-search $:/config/ViewTemplateBodyFilters/core-ui-tags $:/config/ViewTemplateBodyFilters/system $:/config/ViewTemplateBodyFilters/import $:/config/ViewTemplateBodyFilters/plugin $:/config/ViewTemplateBodyFilters/default"},"$:/tags/ViewTemplate/Subtitle":{"title":"$:/tags/ViewTemplate/Subtitle","list":"$:/core/ui/ViewTemplate/subtitle/modifier $:/core/ui/ViewTemplate/subtitle/modified"},"$:/tags/ViewTemplateTitleFilter":{"title":"$:/tags/ViewTemplateTitleFilter","list":"$:/config/ViewTemplateTitleFilters/system $:/config/ViewTemplateTitleFilters/default","text":""},"$:/tags/ViewToolbar":{"title":"$:/tags/ViewToolbar","list":"[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"},"$:/snippets/themeswitcher":{"title":"$:/snippets/themeswitcher","text":"\\whitespace trim\n<$linkcatcher to=\"$:/theme\">\n<div class=\"tc-chooser\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<$set name=\"cls\" filter=\"[all[current]field:title{$:/theme}] [[$:/theme]!has[text]addsuffix[s/tiddlywiki/vanilla]field:title<currentTiddler>] +[limit[1]]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\">\n<div class=<<cls>>><$link to={{!!title}}>\n''<$view field=\"name\" format=\"text\"/>''\n \n<$view field=\"description\" format=\"text\"/>\n</$link>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>"},"$:/core/wiki/title":{"title":"$:/core/wiki/title","text":"\\whitespace trim\n{{$:/SiteTitle}}\n<$list filter=\"[{$:/SiteSubtitle}trim[]minlength[1]]\" variable=\"ignore\">\n --- {{$:/SiteSubtitle}}\n</$list>"},"$:/view":{"title":"$:/view","text":"classic"},"$:/snippets/viewswitcher":{"title":"$:/snippets/viewswitcher","text":"\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n\\whitespace trim\n<$linkcatcher to=\"$:/view\">\n<div class=\"tc-chooser tc-viewswitcher\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$set name=\"cls\" filter=\"[<storyview>prefix{$:/view}]\" value=\"tc-chooser-item tc-chosen\" emptyValue=\"tc-chooser-item\"><div class=<<cls>>>\n<$button tag=\"a\" class=\"tc-tiddlylink tc-btn-invisible\" to=<<storyview>>><$transclude tiddler=<<icon>>/><$text text=<<storyview>>/></$button>\n</div>\n</$set>\n</$list>\n</div>\n</$linkcatcher>\n"}}}
{"tiddlers":{"$:/config/SyncFilter":{"title":"$:/config/SyncFilter","text":"[is[tiddler]] -[[$:/StoryList]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/library/sjcl.js]] -[[$:/core]] -[[$:/plugins/federatial/xememex]] -[[$:/plugins/federatial/xememex/raw-markup]] -[[$:/plugins/tiddlywiki/tw2parser]] -[[$:/themes/tiddlywiki/snowwhite]] -[[$:/themes/tiddlywiki/vanilla]] -[prefix[$:/boot/]] -[prefix[$:/plugins/federatial/xememex/config/]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"},"$:/plugins/federatial/xememex/bag-operator.js":{"title":"$:/plugins/federatial/xememex/bag-operator.js","text":"/*\\\ntitle: $:/plugins/federatial/xememex/bag-operator.js\ntype: application/javascript\nmodule-type: filteroperator\n\nSelects those tiddlers that are stored in the bag named in the operand\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.frombag = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tvar bagName = options.wiki.extractTiddlerDataItem(\"$:/state/federatial/xememex/tiddlers/bag\",title,\"\");\n\t\t\tif(bagName === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n","type":"application/javascript","module-type":"filteroperator"},"$:/plugins/federatial/xememex/icon":{"title":"$:/plugins/federatial/xememex/icon","tags":"$:/tags/Image","text":"<svg class=\"tc-image-xememex-plugin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n <path d=\"M79.7435765,9.49213757 L64.0237949,36.9372695 L48.0705582,9.08454876 L63.5596004,-1.13686838e-13 L79.7435765,9.49213757 Z M90.764123,15.9558486 L118.119201,32 L118.119201,96 L103.155698,104.776312 L71.5125369,49.0659545 L90.764123,15.9558486 Z M91.9243286,111.363674 L63.5596004,128 L35.7919091,111.713845 L64.0152972,61.3155681 L91.9243286,111.363674 Z M24.6598969,105.184758 L9,96 L9,32 L36.9468534,15.6087636 L56.5307941,49.0734527 L24.6598969,105.184758 Z\"></path>\n</svg>"},"$:/plugins/tiddlywiki/tiddlyweb/icon/cloud":{"title":"$:/plugins/tiddlywiki/tiddlyweb/icon/cloud","tags":"$:/tags/Image","text":"<svg class=\"tc-image-cloud tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g><path d=\"M24 103C10.745 103 0 92.255 0 79c0-9.697 5.75-18.05 14.027-21.836A24.787 24.787 0 0114 56c0-13.255 10.745-24 24-24 1.373 0 2.718.115 4.028.337C48.628 24.2 58.707 19 70 19c19.882 0 36 16.118 36 36v.082c12.319 1.016 22 11.336 22 23.918 0 12.239-9.16 22.337-20.999 23.814L107 103H24z\"/><path class=\"tc-image-cloud-idle\" d=\"M57.929 84.698a6 6 0 01-8.485 0L35.302 70.556a6 6 0 118.485-8.485l9.9 9.9L81.97 43.686a6 6 0 018.485 8.486L57.929 84.698z\"/><path class=\"tc-image-cloud-progress tc-animate-rotate-slow\" d=\"M44.8 40a3.6 3.6 0 100 7.2h2.06A23.922 23.922 0 0040 64c0 13.122 10.531 23.785 23.603 23.997L64 88l.001-7.2c-9.171 0-16.626-7.348-16.798-16.477L47.2 64c0-5.165 2.331-9.786 5.999-12.868L53.2 55.6a3.6 3.6 0 107.2 0v-12a3.6 3.6 0 00-3.6-3.6h-12zM64 40v7.2c9.278 0 16.8 7.522 16.8 16.8 0 5.166-2.332 9.787-6 12.869V72.4a3.6 3.6 0 10-7.2 0v12a3.6 3.6 0 003.6 3.6h12a3.6 3.6 0 100-7.2l-2.062.001A23.922 23.922 0 0088 64c0-13.255-10.745-24-24-24z\"/></g></svg>"},"$:/plugins/tiddlywiki/tiddlyweb/save/offline":{"title":"$:/plugins/tiddlywiki/tiddlyweb/save/offline","text":"\\import [subfilter{$:/core/config/GlobalImportFilter}]\n\\define saveTiddlerFilter()\n[is[tiddler]] -[[$:/boot/boot.css]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[prefix[$:/temp/]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/core/ui/Buttons/save-wiki":{"title":"$:/core/ui/Buttons/save-wiki","tags":"$:/tags/PageControls","caption":"{{$:/plugins/tiddlywiki/tiddlyweb/icon/cloud}} Server status","description":"Status of synchronisation with server","text":"\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/save-wiki\">> tooltip=\"Status of synchronisation with server\" aria-label=\"Server status\" class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>match[yes]]\">\n{{$:/plugins/tiddlywiki/tiddlyweb/icon/cloud}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>match[yes]]\">\n<span class=\"tc-btn-text\"><$text text=\"Server status\"/></span>\n</$list>\n</span>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/save-wiki\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SyncerDropdown]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</div>\n</$reveal>\n"},"$:/config/SaveWikiButton/Template":{"title":"$:/config/SaveWikiButton/Template","text":"$:/plugins/federatial/xememex/save/offline"},"$:/plugins/tiddlywiki/tiddlyweb/styles":{"title":"$:/plugins/tiddlywiki/tiddlyweb/styles","tags":"[[$:/tags/Stylesheet]]","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\nbody.tc-dirty span.tc-dirty-indicator svg {\n\ttransition: fill 250ms ease-in-out;\n}\n\nbody .tc-image-cloud-idle {\n\tfill: <<colour background>>;\n\ttransition: opacity 250ms ease-in-out;\n\topacity: 1;\n\tdisplay: unset;\n}\n\nbody.tc-dirty .tc-image-cloud-idle {\n\topacity: 0;\n\tdisplay: none;\n}\n\nbody .tc-image-cloud-progress {\n\ttransition: opacity 250ms ease-in-out;\n\ttransform-origin: 50% 50%;\n\ttransform: rotate(359deg);\n\tanimation: animation-rotate-slow 2s infinite linear;\n\tfill: <<colour background>>;\n\tdisplay: none;\n\topacity: 0;\n}\n\nbody.tc-dirty .tc-image-cloud-progress {\n\topacity: 1;\n\tdisplay: unset;\n}\n\n@keyframes animation-rotate-slow {\n\tfrom {\n\t\ttransform: rotate(0deg);\n\t}\n\tto {\n\t\ttransform: scale(359deg);\n\t}\n}\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/copy-logs":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/copy-logs","tags":"$:/tags/SyncerDropdown","text":"<$button message=\"tm-copy-syncer-logs-to-clipboard\" class=\"tc-btn-invisible\">\n{{$:/core/images/copy-clipboard}} Copy syncer logs to clipboard\n</$button>\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login-status":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login-status","tags":"$:/tags/SyncerDropdown","text":"<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<div class=\"tc-drop-down-info\">\nYou are logged in<$reveal state=\"$:/status/UserName\" type=\"nomatch\" text=\"\" default=\"\"> as <strong><$text text={{$:/status/UserName}}/></strong></$reveal><$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"yes\" default=\"no\"> (read-only)</$reveal>\n</div>\n<hr/>\n</$reveal>\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login","tags":"$:/tags/SyncerDropdown","text":"<$reveal state=\"$:/status/IsLoggedIn\" type=\"nomatch\" text=\"yes\">\n<$button message=\"tm-login\" class=\"tc-btn-invisible\">\n{{$:/core/images/unlocked-padlock}} Login\n</$button>\n</$reveal>\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/logout":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/logout","tags":"$:/tags/SyncerDropdown","text":"<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<$button message=\"tm-logout\" class=\"tc-btn-invisible\">\n{{$:/core/images/cancel-button}} Logout\n</$button>\n</$reveal>\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/refresh":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/refresh","tags":"$:/tags/SyncerDropdown","text":"<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<$button tooltip=\"Get latest changes from the server\" aria-label=\"Refresh from server\" class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-server-refresh\"/>\n{{$:/core/images/refresh-button}}<span class=\"tc-btn-text\"><$text text=\"Get latest changes from the server\"/></span>\n</$button>\n</$reveal>\n"},"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/save-snapshot":{"title":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/save-snapshot","tags":"$:/tags/SyncerDropdown","text":"<$button class=\"tc-btn-invisible\">\n<$wikify name=\"site-title\" text={{$:/config/SaveWikiButton/Filename}}>\n<$action-sendmessage $message=\"tm-download-file\" $param={{$:/config/SaveWikiButton/Template}} filename=<<site-title>>/>\n</$wikify>\n{{$:/core/images/download-button}} Save snapshot for offline use\n</$button>\n"},"$:/tags/SyncerDropdown":{"title":"$:/tags/SyncerDropdown","list":"$:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login-status $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/login $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/refresh $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/logout $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/save-snapshot $:/plugins/tiddlywiki/tiddlyweb/syncer-actions/copy-logs"},"$:/plugins/federatial/xememex/info-segment":{"title":"$:/plugins/federatial/xememex/info-segment","tags":"$:/tags/TiddlerInfoSegment","text":"<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-xememex-tiddler-info tc-subtitle\">\nBag: <$view tiddler=\"$:/state/federatial/xememex/tiddlers/bag\" index=<<currentTiddler>>>(none)</$view>\n</div>\n</$reveal>\n"},"$:/plugins/federatial/xememex/login":{"title":"$:/plugins/federatial/xememex/login","text":"<$reveal state=\"$:/status/IsLoggedIn\" type=\"nomatch\" text=\"yes\">\nLog in to Xememex: <$button message=\"tm-login\">Login</$button>\n</$reveal>\n\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\nLogged in as {{$:/status/UserName}} <$button message=\"tm-logout\">Logout</$button> <$button message=\"tm-server-refresh\">Fetch updates from server</$button>\n</$reveal>"},"$:/core/modules/widgets/on-render.js":{"title":"$:/core/modules/widgets/on-render.js","text":"/*\\\ntitle: $:/core/modules/widgets/on-render.js\ntype: application/javascript\nmodule-type: widget\n\nOnRender variable 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 OnRenderWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nOnRenderWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nOnRenderWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tif(this.isWithinVisibleDocument()) {\n\t\twindow.setTimeout(this.handleTimeoutEvent.bind(this),0);\n\t}\n};\n\nOnRenderWidget.prototype.isWithinVisibleDocument = function() {\n\treturn $tw.browser && !this.document.isTiddlyWikiFakeDom && $tw.utils.domContains(this.document,this.parentDomNode);\n};\n\nOnRenderWidget.prototype.handleTimeoutEvent = function() {\n\tif(this.isWithinVisibleDocument()) {\n\t\t$tw.taskDaemon.invoke({\n\t\t\twidget: this,\n\t\t\tname: this.getAttribute(\"name\"),\n\t\t\tactions: this.getAttribute(\"actions\"),\n\t\t\tminimumInterval: parseInt(this.getAttribute(\"minimumInterval\"),10) || 0\n\t\t});\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nOnRenderWidget.prototype.execute = function() {\n\t// Construct the 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*/\nOnRenderWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"on-render\"] = OnRenderWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/DefaultTiddlers":{"title":"$:/DefaultTiddlers","text":"[list[DefaultTiddlers!!text]]"},"$:/core/ui/PageTemplate/drafts":{"title":"$:/core/ui/PageTemplate/drafts","text":"This tiddler is overridden by Xememex to remove the red drafts indicator"},"$:/language/PluginReloadWarning":{"title":"$:/language/PluginReloadWarning","text":"Please refresh this page {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect\n\n"},"$:/SiteSubtitle":{"title":"$:/SiteSubtitle","text":"<$transclude tiddler=\"SiteSubtitle\">A place for thinking</$transclude>"},"$:/SiteTitle":{"title":"$:/SiteTitle","text":"<$transclude tiddler=\"SiteTitle\">Xememex</$transclude>"},"$:/config/SyncPollingInterval":{"title":"$:/config/SyncPollingInterval","text":"30000"},"$:/core/ui/AboveStory/tw2-plugin-check":{"title":"$:/core/ui/AboveStory/tw2-plugin-check","text":"(Disabled TW2 plugin check)\n"},"$:/plugins/federatial/xememex/raw-markup-boot.js":{"title":"$:/plugins/federatial/xememex/raw-markup-boot.js","text":"/*\\\ntitle: $:/plugins/federatial/xememex/raw-markup-boot.js\ntype: application/javascript\nmodule-type: library\n\nBoot code that is transcluded by a rawmarkup startup tiddler\n\n\\*/\n\n(function() {\n\nvar MAP_BAG_TITLE = \"$:/state/federatial/xememex/tiddlers/bag\",\n\tMAP_ETAG_TITLE = \"$:/state/federatial/xememex/tiddlers/etag\",\n\tCONFIG_RECIPE_TITLE = \"$:/plugins/federatial/xememex/config/recipe\";\n\nif($xememex && $xememex.server && $xememex.server.addEventListener) {\n\t$xememex.server.addEventListener(\"login-status-change\",handleLoginStatusChange);\n}\n\nvar hasBooted = false;\n\nfunction handleLoginStatusChange(user) {\n\tvar requireLogin = $xememex.config[\"require-login\"];\n\tif(user || (!requireLogin && $xememex.server.isAnonymousAccount())) {\n\t\t$xememex.server.removeEventListener(\"login-status-change\",handleLoginStatusChange);\n\t\t$xememex.pill.showDropdown();\n\t\t$xememex.pill.setProgress(1);\n\t\t$xememex.pill.showProgress();\n\t\t$xememex.pill.hideAuth();\n\t\tif(!hasBooted) {\n\t\t\tbootXememex();\n\t\t}\n\t} else {\n\t\tif(requireLogin) {\n\t\t\t$xememex.pill.showDropdown();\n\t\t} else {\n\t\t\tbootTiddlyWiki();\n\t\t}\n\t}\n}\n\nfunction bootXememex() {\n\thasBooted = true;\n\t// Get the tiddlers we need from within the HTML file\n\tvar tiddlerStoreMap = getTiddlerStoreMap(),\n\t\tbagMap = JSON.parse(getTiddlerText(tiddlerStoreMap[MAP_BAG_TITLE])),\n\t\tetagMap = JSON.parse(getTiddlerText(tiddlerStoreMap[MAP_ETAG_TITLE])),\n\t\trecipeName = getTiddlerText(tiddlerStoreMap[CONFIG_RECIPE_TITLE]),\n\t\tbagsToLoad = null,\n\t\ttiddlersToReload = null;\n\t\ttaskFunctions = {\n\t\t\t// Get the recipe details\n\t\t\tgetRecipeDetails: {\n\t\t\t\tprogressContribution: 1,\n\t\t\t\thandler: function(startProgress,lengthProgress,callback) {\n\t\t\t\t\t$xememex.server.jsonRequest({\n\t\t\t\t\t\turl: \"recipes/\" + fullyEncodeURIComponent(recipeName),\n\t\t\t\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\t\t\t\tsetProgressIndicator(startProgress,lengthProgress,lengthComputable,loaded,total);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcallback: function(err,recipeInfo) {\n\t\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Get the details of the bags to be loaded\n\t\t\t\t\t\t\tbagsToLoad = recipeInfo.recipe.map(function(recipeLine) {\n\t\t\t\t\t\t\t\treturn recipeLine[0];\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcallback(null);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Get the cached content of each bag\n\t\t\tgetCachedBags: {\n\t\t\t\tprogressContribution: 50,\n\t\t\t\thandler: function(startProgress,lengthProgress,callback) {\n\t\t\t\t\tasync.eachOfSeries(bagsToLoad,function(bagName,bagIndex,callback) {\n\t\t\t\t\t\tvar startProgressBag = startProgress + (lengthProgress / bagsToLoad.length) * bagIndex,\n\t\t\t\t\t\t\tlengthProgressBag = lengthProgress / bagsToLoad.length,\n\t\t\t\t\t\t\tlengthProgressBagFirst = lengthProgressBag / 20;\n\t\t\t\t\t\t$xememex.server.jsonRequest({\n\t\t\t\t\t\t\turl: \"bags/\" + fullyEncodeURIComponent(bagName),\n\t\t\t\t\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\t\t\t\t\tsetProgressIndicator(startProgressBag,lengthProgressBagFirst,lengthComputable,loaded,total);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcallback: function(err,bagInfo) {\n\t\t\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Load the tiddlers from the bag\n\t\t\t\t\t\t\t\t$xememex.httpRequest({\n\t\t\t\t\t\t\t\t\turl: bagInfo.cacheUrl,\n\t\t\t\t\t\t\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\t\t\t\t\t\t\tsetProgressIndicator(startProgressBag + lengthProgressBagFirst,lengthProgressBag - lengthProgressBagFirst,lengthComputable,loaded,total);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcallback: function(err,data) {\n\t\t\t\t\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvar tiddlerInfoArray;\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\ttiddlerInfoArray = JSON.parse(data);\n\t\t\t\t\t\t\t\t\t\t} catch(e) {\n\t\t\t\t\t\t\t\t\t\t\treturn handleError(\"JSON parse error reading bag \" + bagName)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif(tiddlerInfoArray) {\n\t\t\t\t\t\t\t\t\t\t\ttiddlerInfoArray.forEach(function(tiddlerInfo) {\n\t\t\t\t\t\t\t\t\t\t\t\t$tw.preloadTiddlers.push(tiddlerInfo.fields);\n\t\t\t\t\t\t\t\t\t\t\t\tbagMap[tiddlerInfo.fields.title] = bagName;\n\t\t\t\t\t\t\t\t\t\t\t\tetagMap[tiddlerInfo.fields.title] = tiddlerInfo.etag;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcallback(null);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},callback);\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Get the skinny recipe tiddlers\n\t\t\tgetSkinnyRecipeTiddlers: {\n\t\t\t\tprogressContribution: 5,\n\t\t\t\thandler: function(startProgress,lengthProgress,callback) {\n\t\t\t\t\ttiddlersToReload = [];\n\t\t\t\t\t$xememex.server.jsonRequest({\n\t\t\t\t\t\turl: \"recipes/\" + fullyEncodeURIComponent(recipeName) + \"/tiddlers.json\",\n\t\t\t\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\t\t\t\tsetProgressIndicator(startProgress,lengthProgress,lengthComputable,loaded,total);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcallback: function(err,data) {\n\t\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// Process each incoming tiddler to see if it is newer than any existing one\n\t\t\t\t\t\t\tfor(var t=0; t<data.length; t++) {\n\t\t\t\t\t\t\t\tvar tiddlerDetails = data[t],\n\t\t\t\t\t\t\t\t\tetag = etagMap[tiddlerDetails.title];\n\t\t\t\t\t\t\t\tif(!etag || etag !== tiddlerDetails.etag) {\n\t\t\t\t\t\t\t\t\ttiddlersToReload.push(tiddlerDetails.title);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcallback(null);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Reload any necessary tiddlers\n\t\t\treloadNewTiddlers: {\n\t\t\t\tprogressContribution: 2,\n\t\t\t\thandler: function(startProgress,lengthProgress,callback) {\n\t\t\t\t\tasync.eachOfSeries(tiddlersToReload,function(title,index,callback) {\n\t\t\t\t\t\t$xememex.server.jsonRequest({\n\t\t\t\t\t\t\turl: \"recipes/\" + fullyEncodeURIComponent(recipeName) + \"/tiddlers/\" + fullyEncodeURIComponent(title),\n\t\t\t\t\t\t\tprogress: function(lengthComputable,loaded,total) {\n\t\t\t\t\t\t\t\tsetProgressIndicator(startProgress + (lengthProgress / tiddlersToReload.length) * index,lengthProgress / tiddlersToReload.length,lengthComputable,loaded,total);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcallback: function(err,tiddlerInfo) {\n\t\t\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\t\t\treturn callback(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$tw.preloadTiddlers.push(tiddlerInfo.fields);\n\t\t\t\t\t\t\t\tetagMap[title] = tiddlerInfo.etag;\n\t\t\t\t\t\t\t\tbagMap[title] = tiddlerInfo.bag;\n\t\t\t\t\t\t\t\tcallback(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},callback);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Work out which tasks we need to run\n\tvar tasks = [];\n\tif($xememex.config[\"load-cached-bags\"]) {\n\t\ttasks.push(taskFunctions.getRecipeDetails);\n\t\ttasks.push(taskFunctions.getCachedBags);\n\t}\n\ttasks.push(taskFunctions.getSkinnyRecipeTiddlers);\n\ttasks.push(taskFunctions.reloadNewTiddlers);\n\t// Work out the progress contribution\n\tvar totalProgressContribution = 0;\n\ttasks.forEach(function(task) {\n\t\ttotalProgressContribution += task.progressContribution;\n\t});\n\t// Execute them\n\tvar currentProgressMark = 0;\n\tasync.eachOfSeries(tasks,\n\t\tfunction(task,index,callback) {\n\t\t\t// Give each task its proportion of the total progress time\n\t\t\tvar startProgressChunk = (currentProgressMark / totalProgressContribution) * 100,\n\t\t\t\tlengthProgressChunk = (task.progressContribution / totalProgressContribution) * 100;\n\t\t\ttask.handler(startProgressChunk,lengthProgressChunk,function(err) {\n\t\t\t\tcurrentProgressMark += task.progressContribution;\n\t\t\t\tcallback(err);\n\t\t\t});\n\t\t},\n\t\tfunction(err) {\n\t\t// Raise any errors\n\t\tif(err) {\n\t\t\treturn handleError(err);\t\t\t\n\t\t}\n\t\t// Save the bag/etag data and boot TiddlyWiki\n\t\t$tw.preloadTiddlers.push({title: MAP_BAG_TITLE, type: \"application/json\", text: JSON.stringify(bagMap)});\n\t\t$tw.preloadTiddlers.push({title: MAP_ETAG_TITLE, type: \"application/json\", text: JSON.stringify(etagMap)});\n\t\tbootTiddlyWiki();\n\t});\n}\n\nfunction setProgressIndicator(startChunk,lengthChunk,lengthComputable,loaded,total) {\n\tvar p;\n\tif(lengthComputable) {\n\t\tp = startChunk + lengthChunk * (loaded / total);\n\t} else {\n\t\tp = startChunk;\n\t}\n\t$xememex.pill.setProgress(p); // Progress 0-100\n}\n\nfunction bootTiddlyWiki() {\n\t$xememex.pill.hideDropdown();\n\t$tw.boot.boot();\t\n}\n\nfunction handleError(err) {\n\tvar msg;\n\tif(err === 401) {\n\t\tmsg = \"Access Denied\";\n\t} else {\n\t\tmsg = err.toString();\n\t}\n\talert(msg);\n}\n\n/*\nGet an object mapping tiddler titles to the DOM node containing the tiddler\n*/\nfunction getTiddlerStoreMap() {\n\tvar map = Object.create(null);\n\tvar e = document.getElementById(\"storeArea\").firstElementChild;\n\twhile(e) {\n\t\tmap[e.getAttribute(\"title\") || \"\"] = e;\n\t\te = e.nextElementSibling;\n\t}\n\treturn map;\n}\n\n/*\nGet the text of a tiddler identified by its DIV\n*/\nfunction getTiddlerText(e) {\n\tif(e) {\n\t\treturn e.firstElementChild.textContent;\t\t\n\t} else {\n\t\treturn undefined;\n\t}\n}\n\n/*\nWe also encode single quote because it is not URL safe for API Gateway (see http://stackoverflow.com/questions/18251399/why-doesnt-encodeuricomponent-encode-single-quotes-apostrophes)\n*/\nfunction fullyEncodeURIComponent(str) {\n\treturn encodeURIComponent(str).replace(/'/g,\"%27\");\n}\n\n})();\n","type":"application/javascript","module-type":"library"},"$:/plugins/federatial/xememex/readme":{"title":"$:/plugins/federatial/xememex/readme","text":"This plugin contains Xememex client utilities for TiddlyWiki.\n"},"$:/plugins/federatial/xememex/readonly":{"title":"$:/plugins/federatial/xememex/readonly","tags":"[[$:/tags/Stylesheet]]","text":"\\define button-selector(title)\nbutton.$title$, .tc-drop-down button.$title$, div.$title$\n\\end\n\n\\define hide-edit-controls()\n<$reveal state=\"$:/status/IsReadOnly\" type=\"match\" text=\"yes\" default=\"yes\">\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fclone>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fdelete>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fedit>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-here>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal-here>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fimport>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fmanager>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-image>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-journal>>`,`\n<<button-selector tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fnew-tiddler>> `{\n\tdisplay: none;\n}`\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n<<hide-edit-controls>>\n"},"$:/plugins/federatial/xememex/startup.js":{"title":"$:/plugins/federatial/xememex/startup.js","text":"/*\\\ntitle: $:/plugins/federatial/xememex/startup.js\ntype: application/javascript\nmodule-type: startup\n\nSetup Xememex components\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 = \"xememex-startup\";\nexports.platforms = [\"browser\"];\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nvar STATE_USERNAME_TITLE = \"$:/state/xememex/username\", // Blank if not logged in\n\tSTATE_EMAIL_TITLE = \"$:/state/xememex/email\",\n\tSTATE_GROUPS_TITLE = \"$:/state/xememex/groups\",\n\tSTATE_STATUS_TITLE = \"$:/state/xememex/status\"; // Status: WAITING, LOGGEDIN, LOGGEDOUT\n\nexports.startup = function() {\n\t// Check dependencies\n\tif(!window.$xememex) {\n\t\tconsole.log(\"Xememex is disabled because xememex.js is missing\");\n\t\treturn;\t\t\n\t}\n\tif(!window.AWSCognito) {\n\t\tconsole.log(\"Xememex is disabled because AWSCognito is missing\");\n\t\treturn;\n\t}\n\t// Initialise state tiddlers\n\t$tw.wiki.addTiddler({title: STATE_STATUS_TITLE, text: \"WAITING\"});\n\t$tw.wiki.addTiddler({title: STATE_USERNAME_TITLE, text: \"\"});\n\t// Listen for login/logout events\n\t$xememex.server.addEventListener(\"login-status-change\",function(user) {\n\t\tupdateUserStatus(user);\n\t});\n\t// Initialise user status tiddlers\n\tupdateUserStatus($xememex.server.user);\n};\n\nfunction updateUserStatus(user) {\n\tif(user) {\n\t\t$tw.wiki.addTiddler({title: STATE_STATUS_TITLE, text: \"LOGGEDIN\"});\n\t\t$tw.wiki.addTiddler({title: STATE_USERNAME_TITLE, text: user.name});\n\t\t$tw.wiki.addTiddler({title: STATE_EMAIL_TITLE, text: user.email});\n\t\t$tw.wiki.addTiddler({title: STATE_GROUPS_TITLE, text: user.groups.map(function(t){return \"* \" + t;}).join(\"\\n\"), list: user.groups});\n\t} else {\n\t\t$tw.wiki.addTiddler({title: STATE_STATUS_TITLE, text: \"LOGGEDOUT\"});\n\t\t$tw.wiki.addTiddler({title: STATE_USERNAME_TITLE, text: \"\"});\n\t\t$tw.wiki.addTiddler({title: STATE_EMAIL_TITLE, text: \"\"});\n\t\t$tw.wiki.addTiddler({title: STATE_GROUPS_TITLE, list: []});\n\t}\n}\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/plugins/federatial/xememex/status-button":{"title":"$:/plugins/federatial/xememex/status-button","tags":"$:/tags/TopRightBar","list-before":"$:/core/ui/TopBar/menu","text":"<span class=\"tc-popup-keep\">\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"nomatch\" text=\"yes\">\n<$button message=\"tm-login\" tooltip=\"Login to Xememex\" class=\"tc-btn-invisible tc-status-button tc-status-button-logged-out\" selectedClass=\"tc-selected\">\n{{$:/plugins/federatial/xememex/icon}} Log in\n</$button>\n</$reveal>\n<$reveal state=\"$:/status/IsLoggedIn\" type=\"match\" text=\"yes\">\n<$button popup=<<qualify \"$:/state/popup/xememex-status-button\">> tooltip=\"Xememex login status\" class=\"tc-btn-invisible tc-status-button tc-status-button-logged-in\" selectedClass=\"tc-selected\">\n{{$:/plugins/federatial/xememex/icon}} Logged in as ''{{$:/status/UserName}}''\n</$button>\n</$reveal>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/xememex-status-button\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<p>\nLogged in as {{$:/status/UserName}} ({{$:/state/xememex/email}})\n<$list filter=\"[list[$:/state/xememex/groups!!list]sort[]]\">\n//<$text text=<<currentTiddler>>/>//\n</$list>\n</p>\n<$button message=\"tm-logout\" tag=\"a\">Logout</$button> <$button message=\"tm-server-refresh\" tag=\"a\">Fetch updates from server</$button>\n</div>\n</$reveal>"},"$:/plugins/federatial/xememex/styles":{"title":"$:/plugins/federatial/xememex/styles","tags":"[[$:/tags/Stylesheet]]","text":"\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Background\n*/\n\nhtml body.tc-body {\n\tdisabled-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill-opacity='0.82' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n}\n\n/*\n** Hide irrelevant toolbar buttons\n*/\n\nbutton.tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fencryption, div.tc-btn-\\%24\\%3A\\%2Fcore\\%2Fui\\%2FButtons\\%2Fencryption {\n\tdisplay: none;\t\n}\n\n\n/*\n** Login status button\n*/\n\nbutton.tc-btn-invisible.tc-status-button {\n\tcolor: white;\n\tborder-radius:4px;\n\tpadding: 3px 5px;\n\tfont-size: 0.85em;\n}\n\nbutton.tc-btn-invisible.tc-status-button svg {\n\tfill: white;\n}\n\nbutton.tc-btn-invisible.tc-status-button:hover {\n\tcolor: white;\n\tfill: white;\n}\n\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-in {\n\tbackground: green;\n}\n\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-out {\n\tbackground: blue;\t\n}\n\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-in:hover,\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-out:hover {\n\tbackground: black;\n}\n\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-in:hover svg,\nbutton.tc-btn-invisible.tc-status-button.tc-status-button-logged-out:hover svg {\n\tcolor: white;\n\tfill: white;\n}\n\n/*\n** Syncer stus\n*/\n\n.tc-syncer-status {\n}\n\n.tc-syncer-status-queued-out {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n line-height: 0;\n}\n\n.tc-syncer-status-in-progress {\n\tposition: fixed;\n\ttext-align: center;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n line-height: 0;\n}\n\n.tc-syncer-status-queued-in {\n\tposition: fixed;\n\ttext-align: right;\n\ttop: 0;\n\tright: 0;\n line-height: 0;\n}\n\n.tc-syncer-status-item {\n\tdisplay: inline-block;\n\tmargin: 1px;\n\twidth: 3px;\n\theight: 3px;\n}\n\n.tc-syncer-status-queued-out .tc-syncer-status-item {\n\tbackground: red;\n}\n\n.tc-syncer-status-in-progress .tc-syncer-status-item {\n\tbackground: blue;\n}\n\n.tc-syncer-status-queued-in .tc-syncer-status-item {\n\tbackground: green;\n}\n\n"},"$:/plugins/federatial/xememex/syncadaptor.js":{"title":"$:/plugins/federatial/xememex/syncadaptor.js","text":"/*\\\ntitle: $:/plugins/federatial/xememex/syncadaptor.js\ntype: application/javascript\nmodule-type: syncadaptor\n\nA sync adaptor module for synchronising with Xememex servers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CONFIG_HOST_TIDDLER = \"$:/config/tiddlyweb/host\",\n\tCONFIG_SYNC_DISABLE_LOAD_FROM_SERVER = \"$:/config/SyncDisableLoadFromServer\",\n\tDEFAULT_HOST_TIDDLER = \"$protocol$//$host$/\",\n\tLOGIN_MODAL_TITLE = \"$:/plugins/federatial/xememex/login-modal\";\n\nfunction XememexAdaptor(options) {\n\tthis.wiki = options.wiki;\n\tthis.logger = new $tw.utils.Logger(\"XememexAdaptor\");\n\tthis.recipe = $tw.wiki.getTiddlerText(\"$:/plugins/federatial/xememex/config/recipe\");\n\tthis.isReadOnly = true;\n\tif($xememex && $xememex.server) {\n\t\t$xememex.server.addEventListener(\"login-status-change\",function(user) {\n\t\t\tif($tw.syncer) {\n\t\t\t\t$tw.syncer.getStatus();\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n}\n\nXememexAdaptor.prototype.name = \"xememex\";\n\nXememexAdaptor.prototype.setLoggerSaveBuffer = function(loggerForSaving) {\n\tthis.logger.setSaveBuffer(loggerForSaving);\n};\n\nXememexAdaptor.prototype.isReady = function() {\n\treturn true;\n};\n\nXememexAdaptor.prototype.getTiddlerInfo = function(tiddlerOrTitle) {\n\tvar title = tiddlerOrTitle;\n\tif(title instanceof $tw.Tiddler) {\n\t\ttitle = tiddlerOrTitle.fields.title;\n\t}\n\tvar etag = this.wiki.extractTiddlerDataItem(\"$:/state/federatial/xememex/tiddlers/etag\",title),\n\t\tbag = this.wiki.extractTiddlerDataItem(\"$:/state/federatial/xememex/tiddlers/bag\",title);\n\tif(etag && bag) {\n\t\treturn {\n\t\t\ttitle: title,\n\t\t\tetag: etag,\n\t\t\tbag: bag\n\t\t};\n\t} else {\n\t\treturn undefined;\n\t}\n};\n\nXememexAdaptor.prototype.getTiddlerRevision = function(title) {\n\treturn this.wiki.extractTiddlerDataItem(\"$:/state/federatial/xememex/tiddlers/etag\",title);\n};\n\nXememexAdaptor.prototype.setTiddlerInfo = function(title,etag,bag) {\n\tthis.wiki.setText(\"$:/state/federatial/xememex/tiddlers/etag\",null,title,etag,{suppressTimestamp: true});\n\tthis.wiki.setText(\"$:/state/federatial/xememex/tiddlers/bag\",null,title,bag,{suppressTimestamp: true});\n};\n\nXememexAdaptor.prototype.removeTiddlerInfo = function(title) {\n\tthis.wiki.setText(\"$:/state/federatial/xememex/tiddlers/etag\",null,title,undefined,{suppressTimestamp: true});\n\tthis.wiki.setText(\"$:/state/federatial/xememex/tiddlers/bag\",null,title,undefined,{suppressTimestamp: true});\n};\n\n/*\nGet the current status of the TiddlyWeb connection\nReturns err,isLoggedIn,username,isReadOnly via callback\n*/\nXememexAdaptor.prototype.getStatus = function(callback) {\n\tvar self = this;\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(null,false,null,true);\n\t}\n\t$xememex.server.getSession(function(err,user) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\t$xememex.server.jsonRequest({\n\t\t\turl: \"recipes/\" + fullyEncodeURIComponent(self.recipe),\n\t\t\tcallback: function(err,recipeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(null,false,null,true);\n\t\t\t\t}\n\t\t\t\tif(user) {\n\t\t\t\t\t$xememex.pill.hideDropdown();\n\t\t\t\t}\n\t\t\t\tself.isReadOnly = !recipeInfo[\"topmost-user-writable-bag\"];\n\t\t\t\tself.shouldRefreshFromServer = !!recipeInfo[\"refresh-from-server\"];\n\t\t\t\tcallback(null,!!user,user && user.name,self.isReadOnly);\n\t\t\t}\n\t\t});\n\t});\n};\n\n/*\nAttempt to login and invoke the callback(err)\n*/\nXememexAdaptor.prototype.login = function(username,password,callback) {\n\tvar self = this;\n\t$xememex.server.login(username,password,null,null,function(err) {\n\t\tif(err) {\n\t\t\tself.logger.log(\"login error: \" + err);\n\t\t\tif(err.code) {\n\t\t\t\tswitch(err.code) {\n\t\t\t\t\tcase \"UserNotFoundException\":\n\t\t\t\t\t\terr = \"Username `\" + username + \"` not found. Please check that you have typed your username correctly\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"NotAuthorizedException\":\n\t\t\t\t\t\terr = \"User `\" + username + \"` is not authorised. Please check that you have typed your password correctly\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\terr = \"<pre><code>\" + err + \"</code></pre>\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tself.logger.alert(err);\n\t\t}\n\t\tcallback(err);\n\t});\n};\n\n/*\nDisplay our custom login prompt\n*/\nXememexAdaptor.prototype.displayLoginPrompt = function() {\n\t$xememex.pill.hideProgress();\n\t$xememex.pill.showLogin();\n\t$xememex.pill.showDropdown();\n};\n\n/*\nHandle forgotten password link\n*/\nXememexAdaptor.prototype.forgotPassword = function() {\n\t$xememex.server.forgotPassword(data.email,function(err,result) {\n\t\tif(err) {\n\t\t\tself.logger.log(\"Error handling forgotten password\",err);\n\t\t\tvar msg = err;\n\t\t\tswitch(err.code) {\n\t\t\t\tcase \"UserNotFoundException\":\n\t\t\t\t\tmsg = \"Email address not found\";\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn alert(msg);\n\t\t}\n\t\tif(result) {\n\t\t\talert(\"Please check your email for your new temporary password\");\n\t\t}\n\t});\n};\n\n/*\n*/\nXememexAdaptor.prototype.logout = function(callback) {\n\t$xememex.server.logout();\n};\n\n/*\nGet metadata for any new tiddlers from the server\n*/\nXememexAdaptor.prototype.getUpdatedTiddlers = function(syncer,callback) {\n\tvar self = this;\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(null,null);\n\t}\n\tif($tw.wiki.getTiddlerText(CONFIG_SYNC_DISABLE_LOAD_FROM_SERVER) === \"yes\") {\n\t\treturn callback(null,null);\n\t}\n\tif(!self.shouldRefreshFromServer) {\n\t\treturn callback(null,null);\n\t}\n\t$xememex.server.jsonRequest({\n\t\turl: \"recipes/\" + fullyEncodeURIComponent(this.recipe) + \"/tiddlers.json\",\n\t\tcallback: function(err,data) {\n\t\t\tif(err) {\n\t\t\t\tif(err.toString() === \"Error: Not logged in\") {\n\t\t\t\t\treturn callback(null,null);\n\t\t\t\t}\n\t\t\t\tself.logger.log(\"Error retrieving skinny tiddler: \" + err);\n\t\t\t\treturn callback(null,null);\n\t\t\t}\n\t\t\t// Prepare results\n\t\t\tvar result = {\n\t\t\t\tmodifications: [],\n\t\t\t\tdeletions: []\n\t\t\t};\n\t\t\t// Process each incoming tiddler to see if it is newer than any existing one, keeping track of which tiddlers are found\n\t\t\tvar currentTitles = syncer.getSyncedTiddlers();\n\t\t\tfor(var t=0; t<data.length; t++) {\n\t\t\t\tvar tiddlerDetails = data[t],\n\t\t\t\t\tpos = currentTitles.indexOf(tiddlerDetails.title);\n\t\t\t\tif(pos != -1) {\n\t\t\t\t\tcurrentTitles.splice(pos,1);\n\t\t\t\t}\n\t\t\t\tvar tiddlerInfo = syncer.tiddlerInfo[tiddlerDetails.title];\n\t\t\t\tif(!tiddlerInfo || tiddlerDetails.etag !== tiddlerInfo.revision) {\n\t\t\t\t\tresult.modifications.push(tiddlerDetails.title);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Delete any tiddlers we've got that were not listed in the incoming\n\t\t\t$tw.utils.each(currentTitles,function(title) {\n\t\t\t\tresult.deletions.push(title);\n\t\t\t});\n\t\t\tcallback(null,result);\n\t\t}\n\t});\n};\n\n/*\nSave a tiddler and invoke the callback with (err,adaptorInfo,revision)\n*/\nXememexAdaptor.prototype.saveTiddler = function(tiddler,callback) {\n\tif(this.isReadOnly) {\n\t\treturn callback(null,{bag: \"default\"},\"\");\n\t}\n\tvar self = this,\n\t\ttitle = tiddler.fields.title;\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(\"Not logged in\",null);\n\t}\n\t$xememex.server.jsonRequest({\n\t\ttype: \"PUT\",\n\t\turl: \"recipes/\" + fullyEncodeURIComponent(this.recipe) + \"/tiddlers/\" + fullyEncodeURIComponent(title),\n\t\theaders: {\n\t\t\t\"Content-type\": \"application/json\"\n\t\t},\n\t\tdata: JSON.stringify(tiddler.getFieldStrings(),null,$tw.config.preferences.jsonSpaces),\n\t\tcallback: function(err,data) {\n\t\t\tconsole.log(\"Back from saveTiddler\",err,data);\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tif(data && data.errorMessage) {\n\t\t\t\treturn callback(data.errorMessage)\n\t\t\t}\n\t\t\tself.setTiddlerInfo(title,data.etag,data.bag);\n\t\t\tcallback(err,{bag: data.bag},data.etag);\n\t\t}\n\t});\n};\n\n/*\nLoad a tiddler and invoke the callback with (err,tiddlerFields)\n\nIf the tiddler is not found, err and tiddlerFields are both null\n*/\nXememexAdaptor.prototype.loadTiddler = function(title,callback) {\n\tvar self = this;\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(\"Not logged in\",null);\n\t}\n\t$xememex.server.jsonRequest({\n\t\turl: \"recipes/\" + fullyEncodeURIComponent(this.recipe) + \"/tiddlers/\" + fullyEncodeURIComponent(title),\n\t\tcallback: function(err,data) {\n\t\t\tconsole.log(\"Back from loadTiddler\",err,data);\n\t\t\tif(!err) {\n\t\t\t\tself.setTiddlerInfo(title,data.etag,data.bag);\n\t\t\t\treturn callback(null,data.fields);\n\t\t\t} else if(err === 404) {\n\t\t\t\treturn callback(null,null);\n\t\t\t} else {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nLoad one or more tiddlers and invoke the callback with (err,tiddlerFieldsArray)\n*/\nXememexAdaptor.prototype.batchLoadTiddlers = function(titles,callback) {\n\tvar self = this,\n\t\tpayload = titles.map(function(title) {\n\t\t\treturn {\n\t\t\t\ttype: \"GET\",\n\t\t\t\ttitle: title\n\t\t\t};\n\t\t});\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(\"Not logged in\",null);\n\t}\n\t$xememex.server.jsonRequest({\n\t\ttype: \"POST\",\n\t\turl: \"recipes/\" + fullyEncodeURIComponent(this.recipe) + \"/batch\",\n\t\theaders: {\n\t\t\t\"Content-type\": \"application/json\"\n\t\t},\n\t\tdata: JSON.stringify(payload,null,$tw.config.preferences.jsonSpaces),\n\t\tcallback: function(err,data) {\n\t\t\tconsole.log(\"Back from batchLoadTiddlers\",err,data);\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tvar tiddlers = [];\n\t\t\tdata.forEach(function(tiddlerInfo) {\n\t\t\t\ttiddlers.push(tiddlerInfo.fields);\n\t\t\t\tself.setTiddlerInfo(tiddlerInfo.fields.title,tiddlerInfo.etag,tiddlerInfo.bag);\t\t\t\t\n\t\t\t});\n\t\t\tcallback(err,tiddlers);\n\t\t}\n\t});\n};\n\n/*\nDelete a tiddler and invoke the callback with (err)\noptions include:\ntiddlerInfo: the syncer's tiddlerInfo for this tiddler\n*/\nXememexAdaptor.prototype.deleteTiddler = function(title,callback,options) {\n\tif(this.isReadOnly) {\n\t\treturn callback(null);\n\t}\n\tvar self = this,\n\t\ttiddlerInfo = this.getTiddlerInfo(title),\n\t\tbagName = tiddlerInfo && tiddlerInfo.bag;\n\tif(!$xememex || !$xememex.server) {\n\t\treturn callback(\"Not logged in\",null);\n\t}\n\tif(bagName) {\n\t\t$xememex.server.request({\n\t\t\ttype: \"DELETE\",\n\t\t\turl: \"recipes/\" + fullyEncodeURIComponent(self.recipe) + \"/tiddlers/\" + fullyEncodeURIComponent(title),\n\t\t\theaders: {\n\t\t\t\t\"Content-type\": \"application/json\"\n\t\t\t},\n\t\t\tcallback: function(err,data,httpRequest) {\n\t\t\t\tconsole.log(\"Back from deleteTiddler\",err,data,httpRequest.response);\n\t\t\t\tif(data && data.errorMessage) {\n\t\t\t\t\treturn callback(data.errorMessage)\n\t\t\t\t} else if(err === 400 && httpRequest.response === \"ERROR_TIDDLER_IS_NOT_IN_TOP_BAG_IN_RECIPE\") {\n\t\t\t\t\tself.logger.alert(\"'<$text text=\\\"\\\"\\\"\" + title + \"\\\"\\\"\\\"/>' cannot be deleted because it is not from the topmost bag of the recipe '\" + self.recipe + \"'\");\n\t\t\t\t\t$tw.syncer.enqueueLoadTiddler(title);\n\t\t\t\t\tvar story = new $tw.Story();\n\t\t\t\t\tstory.navigateTiddler(title);\n\t\t\t\t\treturn callback(null);\n\t\t\t\t} else if(err) {\n\t\t\t\t\tcallback(err,data);\n\t\t\t\t} else {\n\t\t\t\t\tself.removeTiddlerInfo(title);\n\t\t\t\t\tcallback(err,data);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\t\n\t} else {\n\t\t// If we don't have a record of the tiddler then it was never synced to the server so we don't need to delete it\n\t\t$tw.utils.nextTick(function() {\n\t\t\tcallback(null);\n\t\t});\n\t}\n};\n\n/*\nWe also encode single quote because it is not URL safe for API Gateway (see http://stackoverflow.com/questions/18251399/why-doesnt-encodeuricomponent-encode-single-quotes-apostrophes)\n*/\nfunction fullyEncodeURIComponent(str) {\n\treturn encodeURIComponent(str).replace(/'/g,\"%27\");\n}\n\nif($tw.browser) {\n\texports.adaptorClass = XememexAdaptor;\n}\n\n})();\n","type":"application/javascript","module-type":"syncadaptor"},"$:/core/modules/startup/task-daemon.js":{"title":"$:/core/modules/startup/task-daemon.js","text":"/*\\\ntitle: $:/core/modules/startup/task-daemon.js\ntype: application/javascript\nmodule-type: startup\n\nTask daemon for on-render widget\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 = \"task-daemon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\nexports.startup = function() {\n\t$tw.taskDaemon = new TaskDaemon();\n};\n\nfunction TaskDaemon() {\n\tthis.lastInvocationTime = {}; // Hashmap by task name of dates\n}\n\n/*\nOptions include:\n\nwidget: reference to the widget triggering the task\nname: name for this task\nactions: actions comprising the task\nminimumInterval: minimum interval between invocations in milliseconds\n*/\nTaskDaemon.prototype.invoke = function(options) {\n\tvar now = new Date();\n\tif(options.name) {\n\t\tif(options.minimumInterval && this.lastInvocationTime[options.name]) {\n\t\t\tif((now - this.lastInvocationTime[options.name]) < options.minimumInterval) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.lastInvocationTime[options.name] = now;\n\t}\nconsole.log(\"Invoking actions\",options.actions)\n\toptions.widget.invokeActionString(options.actions,options.widget,{});\n}\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/plugins/federatial/xememex/save/offline":{"title":"$:/plugins/federatial/xememex/save/offline","text":"\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/]] -[prefix[$:/status/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[prefix[$:/plugins/federatial/xememex]] -[[$:/isEncrypted]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"},"$:/plugins/federatial/xememex/save/all-prefix":{"title":"$:/plugins/federatial/xememex/save/all-prefix","text":"\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/plugins/federatial/xememex/templates/tiddlywiki5.html-prefix}}\n"},"$:/plugins/federatial/xememex/save/all-suffix":{"title":"$:/plugins/federatial/xememex/save/all-suffix","text":"\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/plugins/federatial/xememex/templates/tiddlywiki5.html-suffix}}\n"},"$:/plugins/federatial/xememex/save/empty-prefix":{"title":"$:/plugins/federatial/xememex/save/empty-prefix","text":"\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/plugins/federatial/xememex/templates/tiddlywiki5.html-prefix}}\n"},"$:/plugins/federatial/xememex/save/empty-suffix":{"title":"$:/plugins/federatial/xememex/save/empty-suffix","text":"\\define saveTiddlerFilter()\n[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/plugins/federatial/xememex/templates/tiddlywiki5.html-suffix}}\n"},"$:/plugins/federatial/xememex/templates/tiddlywiki5.html-prefix":{"title":"$:/plugins/federatial/xememex/templates/tiddlywiki5.html-prefix","text":"<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n`<!doctype html>\n`{{$:/core/templates/MOTW.html}}`<html lang=\"`<$text text={{{ [{$:/language}get[name]] }}}/>`\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<!--~~ Raw markup for the top of the head section ~~-->\n`{{{ [<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopHead]] ||$:/core/templates/raw-static-tiddler}}}`\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\"/>\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"`{{$:/core/copyright.txt}}`\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>`{{$:/core/wiki/title}}`</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/core/wiki/rawmarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified]] ||$:/core/templates/raw-static-tiddler}}}`\n</head>\n<body class=\"tc-body\">\n<!--~~ Raw markup for the top of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/TopBody]] ||$:/core/templates/raw-static-tiddler}}}`\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n`{{$:/boot/boot.css||$:/core/templates/css-tiddler}}`\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n`{{$:/core/templates/static.area}}`\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n<div id=\"storeArea\" style=\"display:none;\">\n`\n"},"$:/plugins/federatial/xememex/templates/tiddlywiki5.html-suffix":{"title":"$:/plugins/federatial/xememex/templates/tiddlywiki5.html-suffix","text":"\\define tiddlers()\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n\\end\n<$set name=\"saveTiddlerAndShadowsFilter\" filter=\"[subfilter<saveTiddlerFilter>] [subfilter<saveTiddlerFilter>plugintiddlers[]]\">\n<<tiddlers>>\n`</div>\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n`{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}`\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n`{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n`{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}`\n</div>\n<!--~~ Raw markup for the bottom of the body section ~~-->\n`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`\n</body>\n</html>`\n"},"$:/plugins/federatial/xememex/upgrader.js":{"title":"$:/plugins/federatial/xememex/upgrader.js","text":"/*\\\ntitle: $:/plugins/federatial/xememex/upgrader.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses Xememex-specific system tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_PREFIX_LIST = [\"$:/plugins/federatial/xememex\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\tmessages[title] = \"Xememex system tiddler blocked\";\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n","type":"application/javascript","module-type":"upgrader"}}}
```
<script>
window.$tw = window.$tw || {};
$tw.boot = $tw.boot || {};
$tw.preloadTiddlers = $tw.preloadTiddlers || [];
$tw.boot.suppressBoot = true;
window.$xememex = {
config: {
"require-login": false,
"load-cached-bags": false,
"pill-button": false,
"pill-dropdown": "modal",
"show-cancel": true
}
}
</script>
<script src="../~lib/xememex.js" onerror="console.log('Cannot load xememex.js');$tw.boot.suppressBoot = false;"></script>
<script>
```
{{$:/plugins/federatial/xememex/raw-markup-boot.js}}
```
</script>
```
{"tiddlers":{"$:/core/ui/ViewTemplate/classic":{"title":"$:/core/ui/ViewTemplate/classic","tags":"$:/tags/ViewTemplate $:/tags/EditTemplate","type":"text/vnd.tiddlywiki","text":"\n\n"},"$:/core/modules/widgets/classictransclude.js":{"title":"$:/core/modules/widgets/classictransclude.js","text":"/*\\\ntitle: $:/core/modules/widgets/classictransclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar sliceSeparator = \"::\";\nvar sectionSeparator = \"##\";\n\nfunction getsectionname(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sectionSeparator.length);\n\t}\n\treturn \"\";\n}\nfunction getslicename(title) { \n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sliceSeparator.length);\n\t}\n\treturn \"\";\n};\nfunction gettiddlername(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\tpos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\treturn title;\n}\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.rawTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeTitle = gettiddlername(this.rawTitle);\n\tthis.section = getsectionname(this.rawTitle);\n\tthis.slice = getslicename(this.rawTitle);\n\t// Check for recursion\n\tvar recursionMarker = this.makeRecursionMarker();\n\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\tthis.makeChildWidgets([{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}]);\n\t\treturn;\n\t}\n\t// Check for correct type\n\tvar existingTiddler = this.wiki.getTiddler(this.transcludeTitle);\n\t// Check if we're dealing with a classic tiddler\n\tif(existingTiddler && existingTiddler.hasField(\"type\") && existingTiddler.fields.type !== \"text/x-tiddlywiki\") {\n\t\tthis.makeChildWidgets([{type: \"text\", text: \"Tiddler not of type 'text/x-tiddlywiki'\"}]);\n\t\treturn;\n\t}\n\tif(existingTiddler && !existingTiddler.hasField(\"type\")) {\n\t\tthis.makeChildWidgets([{type: \"text\", text: \"Tiddler not of type 'text/x-tiddlywiki'\"}]);\n\t\treturn;\n\t}\t\t\n\t// Set context variables for recursion detection\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Parse \n\tvar text = this.wiki.getTiddlerText(this.transcludeTitle);\n\tif (!!this.section||!!this.slice) {\n\t\ttext =this.refineTiddlerText(text, this.section, this.slice);\n\t}\n\n\tthis.options ={};\n\tthis.options.parseAsInline = false;\n\tvar parser = this.wiki.parseText(\"text/x-tiddlywiki\",text,{});\n\tvar\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.section || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.slice || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\nTranscludeWidget.prototype.slicesRE = /(?:^([\\'\\/]{0,2})~?([\\.\\w]+)\\:\\1[\\t\\x20]*([^\\n]*)[\\t\\x20]*$)|(?:^\\|([\\'\\/]{0,2})~?([\\.\\w]+)\\:?\\4\\|[\\t\\x20]*([^\\|\\n]*)[\\t\\x20]*\\|$)/gm;\n\nTranscludeWidget.prototype.calcAllSlices = function(text)\n{\n\tvar slices = {};\n\tthis.slicesRE.lastIndex = 0;\n\tvar m = this.slicesRE.exec(text);\n\twhile(m) {\n\t\tif(m[2])\n\t\t\tslices[m[2]] = m[3];\n\t\telse\n\t\t\tslices[m[5]] = m[6];\n\t\tm = this.slicesRE.exec(text);\n\t}\n\treturn slices;\n};\n\n// Returns the slice of text of the given name\nTranscludeWidget.prototype.getTextSlice = function(text,sliceName)\n{\n\treturn (this.calcAllSlices(text))[sliceName];\n};\n\nTranscludeWidget.prototype.refineTiddlerText = function(text,section,slice)\n{\n\tvar textsection = null;\n\tif (slice) {\n\t\tvar textslice = this.getTextSlice(text,slice);\n\t\tif(textslice)\n\t\t\treturn textslice;\n\t}\n\tif(!section)\n\t\treturn text;\n\tvar re = new RegExp(\"(^!{1,6}[ \\t]*\" + $tw.utils.escapeRegExp(section) + \"[ \\t]*\\n)\",\"mg\");\n\tre.lastIndex = 0;\n\tvar match = re.exec(text);\n\tif(match) {\n\t\tvar t = text.substr(match.index+match[1].length);\n\t\tvar re2 = /^!/mg;\n\t\tre2.lastIndex = 0;\n\t\tmatch = re2.exec(t); //# search for the next heading\n\t\tif(match)\n\t\t\tt = t.substr(0,match.index-1);//# don't include final \\n\n\t\treturn t;\n\t}\n\treturn \"\";\n}\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler ||changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.classictransclude = TranscludeWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/macros/tiddlywiki/entry.js":{"title":"$:/macros/tiddlywiki/entry.js","text":"/*\\\ntitle: $:/macros/tiddlywiki/entry.js\ntype: application/javascript\nmodule-type: macro\n\\*/\n(function(){\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n/*\nInformation about this macro\nreturns value of key in a data json tiddler\nnote that macros are not connected with the refresh mechanism -use with caution.\n*/\nexports.name = \"entryof\";\n\nexports.params = [\n\t{ name: \"key\" }, { name: \"map\" }\n];\n/*\nRun the macro\n*/\nexports.run = function(key,map) {\n\ttry{\n\t\treturn JSON.parse(map)[key];\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n}\n})();\n","type":"application/javascript","module-type":"macro"},"$:/plugins/tiddlywiki/tw2parser/image-css":{"title":"$:/plugins/tiddlywiki/tw2parser/image-css","tags":"$:/tags/Stylesheet","type":"text/plain","text":".classic-image-left{\n float: left;\n}\n\n.classic-image-right{\n float: right;\n}\n"},"$:/plugins/tiddlywiki/tw2parser/macrodefs":{"title":"$:/plugins/tiddlywiki/tw2parser/macrodefs","text":"\\define tiddler(tiddler)\n<$classictransclude tiddler = \"$tiddler$\"/>\n\\end\n\n\\define slider(chkUniqueCookieName tiddler label tooltip)\n<span title=$tooltip$><$button popup=\"$chkUniqueCookieName$\" class=\"tc-btn-invisible tc-slider\">$label$</$button>\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=\"$chkUniqueCookieName$\" animate=\"yes\">\n<$classictransclude tiddler = \"$tiddler$\"/>\n</$reveal></span>\n\\end\n\n\\define __system_tabinstance(state, currentTab, prompts, labels)\n\t\t<span title=<<entryof \"$currentTab$\" \"\"\"$prompts$\"\"\">> ><$button set=<<qualify \"$state$\">> setTo=\"$currentTab$\" selectedClass=\"tc-tab-selected\">\n\t\t<<entryof \"$currentTab$\" \"\"\"$labels$\"\"\" >>\n\t\t</$button></span>\n\\end\n\n\\define __system_tabs(tabsList,prompts,labels,state:\"$:/state/tab\")\n<div class=\"tc-tab-buttons\">\n\t<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\t\t<$macrocall $name=\"__system_tabinstance\" state=\"$state$\" prompts=\"\"\"$prompts$\"\"\" labels=\"\"\"$labels$\"\"\" currentTab=<<currentTab>>/>\n\t</$list>\n</div>\n<div class=\"tc-tab-divider\"/>\n<div class=\"tc-tab-content\">\n\t<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\t\t<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\t\t\t<$classictransclude tiddler=<<currentTab>> />\n\t\t</$reveal>\n\t</$list>\n</div>\n\\end\n"},"$:/macros/classic/macroadapter.js":{"title":"$:/macros/classic/macroadapter.js","text":"/*\\\ntitle: $:/macros/classic/macroadapter.js\ntype: application/javascript\nmodule-type: module\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n/*\nInformation about this module:\nrename macros and\nre-jig macro params from tw2 to tw5 style\nnew macros created as a result of adapting tw2 should be \nprepended \"__system\" to distinguish them from the actual used name\n*/\nvar sliceSeparator = \"::\";\nvar sectionSeparator = \"##\";\n\nfunction getsectionname(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sectionSeparator.length);\n\t}\n\treturn \"\";\n}\nfunction getslicename(title) { \n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(pos + sliceSeparator.length);\n\t}\n\treturn \"\";\n};\nfunction gettiddlername(title) {\n\tif(!title)\n\t\treturn \"\";\n\tvar pos = title.indexOf(sectionSeparator);\n\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\tpos = title.indexOf(sliceSeparator);\n\tif(pos != -1) {\n\t\treturn title.substr(0,pos);\n\t}\n\treturn title;\n}\n\nvar parserparams = function(paramString) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn params;\n}\nvar tabshandler = function(paramstring) {\n\tvar params = parserparams(paramstring);\n\tvar cookie = params[0].value;\n\tvar numTabs = (params.length-1)/3;\n\tvar t;\n\tvar tabslist = \"\";\n\tvar labelarray = {};\n var promptarray = {};\n\tfor(t=0; t<numTabs; t++) {\n\t\tvar contentName = params[t*3+3].value;\n\t\ttabslist = tabslist+\" \" + contentName;\n\t\tlabelarray[contentName] = params[t*3+1].value;\n\t\tpromptarray[contentName] = params[t*3+2].value;\n\t} \n\t//Create a list of names (tiddlers, tiddler/sections, tiddler/slices), and create maps from name -> label and name -> prompt\n\t//Use json to implement maps \n\treturn '\"\"\"'+tabslist +'\"\"\" \"\"\"'+JSON.stringify(promptarray)+'\"\"\" \"\"\"'+JSON.stringify(labelarray)+'\"\"\" \"\"\"'+cookie+'\"\"\"';\n};\nvar namedapter = {tabs:'__system_tabs'};\nvar paramadapter = {\n\ttabs: tabshandler\n}\nexports.name = 'macroadapter';\nexports.namedapter = namedapter;\nexports.paramadapter = paramadapter;\n})();\n","type":"application/javascript","module-type":"module"},"$:/plugins/tiddlywiki/tw2parser/readme":{"title":"$:/plugins/tiddlywiki/tw2parser/readme","text":"This experimental plugin provides support for parsing and rendering tiddlers written in TiddlyWiki Classic format (`text/x-tiddlywiki`).\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/tw2parser]]\n"},"$:/plugins/tiddlywiki/tw2parser/wikitextparser.js":{"title":"$:/plugins/tiddlywiki/tw2parser/wikitextparser.js","text":"/*\\\ntitle: $:/plugins/tiddlywiki/tw2parser/wikitextparser.js\ntype: application/javascript\nmodule-type: parser\n\nParses a block of tiddlywiki-format wiki text into a parse tree object. This is a transliterated version of the old TiddlyWiki code. The plan is to replace it with a new, mostly backwards compatible parser built in PEGJS.\n\nA wikitext parse tree is an array of objects with a `type` field that can be `text`,`macro` or the name of an HTML element.\n\nText nodes are represented as `{type: \"text\", value: \"A string of text\"}`.\n\nMacro nodes look like this:\n`\n{type: \"macro\", name: \"view\", params: {\n\tone: {type: \"eval\", value: \"2+2\"},\n\ttwo: {type: \"string\", value: \"twenty two\"}\n}}\n`\nHTML nodes look like this:\n`\n{type: \"div\", attributes: {\n\tsrc: \"one\"\n\tstyles: {\n\t\t\"background-color\": \"#fff\",\n\t\t\"color\": \"#000\"\n\t}\n}}\n`\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a new instance of the wiki text parser with the specified options. The\noptions are a hashmap of mandatory members as follows:\n\n\twiki: The wiki object to use to parse any cascaded content (eg transclusion)\n\nPlanned:\n\n\tenableRules: An array of names of wiki text rules to enable. If not specified, all rules are available\n\textraRules: An array of additional rule handlers to add\n\tenableMacros: An array of names of macros to enable. If not specified, all macros are available\n\textraMacros: An array of additional macro handlers to add\n*/\n\nvar WikiTextParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tthis.autoLinkWikiWords = true;\n\tthis.installRules();\n\ttext = text || \"no text\";\n\tthis.source = text;\n\tthis.nextMatch = 0;\n\tthis.children = [];\n\tthis.tree =[];\n\tthis.output = null;\n\tthis.subWikify(this.children);\n\t// prepend tw2 macros locally to the content\n\tvar parser = this.wiki.parseTiddler(\"$:/plugins/tiddlywiki/tw2parser/macrodefs\",{parseAsInline:false});\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"div\",\n\t\tchildren:this.children\n\t}];\n\t// clone the output of parser \n\tvar root = JSON.parse(JSON.stringify(parser.tree));\n\t// macros are defined in a linear tree; walk down the tree and append the source's parsed content \n\tvar baseroot = root;\n\twhile (root[0] && root[0].children && root[0].children.length !== 0 ){ \n\t\troot = root[0].children;\n\t}\n\troot[0].children[0] = this.tree[0];\n\tthis.tree = baseroot;\n};\n\n\nWikiTextParser.prototype.installRules = function() {\n\tvar rules = require(\"./wikitextrules.js\").rules,\n\t\tpattern = [];\n\tfor(var n=0; n<rules.length; n++) {\n\t\tpattern.push(\"(\" + rules[n].match + \")\");\n\t}\n\tthis.rules = rules;\n\tthis.rulesRegExp = new RegExp(pattern.join(\"|\"),\"mg\");\n};\n\n\nWikiTextParser.prototype.outputText = function(place,startPos,endPos) {\n\tif(startPos < endPos) {\n\t\tplace.push({type: \"text\",text:this.source.substring(startPos,endPos)});\n\t}\n};\n\nWikiTextParser.prototype.subWikify = function(output,terminator) {\n\t// Handle the terminated and unterminated cases separately, this speeds up wikifikation by about 30%\n\tif(terminator)\n\t\tthis.subWikifyTerm(output,new RegExp(\"(\" + terminator + \")\",\"mg\"));\n\telse\n\t\tthis.subWikifyUnterm(output);\n};\n\nWikiTextParser.prototype.subWikifyUnterm = function(output) {\n\t// subWikify can be indirectly recursive, so we need to save the old output pointer\n\tvar oldOutput = this.output;\n\tthis.output = output;\n\t// Get the first match\n\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\tvar ruleMatch = this.rulesRegExp.exec(this.source);\n\twhile(ruleMatch) {\n\t\t// Output any text before the match\n\t\tif(ruleMatch.index > this.nextMatch)\n\t\t\tthis.outputText(this.output,this.nextMatch,ruleMatch.index);\n\t\t// Set the match parameters for the handler\n\t\tthis.matchStart = ruleMatch.index;\n\t\tthis.matchLength = ruleMatch[0].length;\n\t\tthis.matchText = ruleMatch[0];\n\t\tthis.nextMatch = this.rulesRegExp.lastIndex;\n\t\t// Figure out which rule matched and call its handler\n\t\tvar t;\n\t\tfor(t=1; t<ruleMatch.length; t++) {\n\t\t\tif(ruleMatch[t]) {\n\t\t\t\tthis.rules[t-1].handler(this);\n\t\t\t\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Get the next match\n\t\truleMatch = this.rulesRegExp.exec(this.source);\n\t}\n\t// Output any text after the last match\n\tif(this.nextMatch < this.source.length) {\n\t\tthis.outputText(this.output,this.nextMatch,this.source.length);\n\t\tthis.nextMatch = this.source.length;\n\t}\n\t// Restore the output pointer\n\tthis.output = oldOutput;\n};\n\nWikiTextParser.prototype.subWikifyTerm = function(output,terminatorRegExp) {\n\t// subWikify can be indirectly recursive, so we need to save the old output pointer\n\tvar oldOutput = this.output;\n\tthis.output = output;\n\t// Get the first matches for the rule and terminator RegExps\n\tterminatorRegExp.lastIndex = this.nextMatch;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\tvar ruleMatch = this.rulesRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source);\n\twhile(terminatorMatch || ruleMatch) {\n\t\t// Check for a terminator match before the next rule match\n\t\tif(terminatorMatch && (!ruleMatch || terminatorMatch.index <= ruleMatch.index)) {\n\t\t\t// Output any text before the match\n\t\t\tif(terminatorMatch.index > this.nextMatch)\n\t\t\t\tthis.outputText(this.output,this.nextMatch,terminatorMatch.index);\n\t\t\t// Set the match parameters\n\t\t\tthis.matchText = terminatorMatch[1];\n\t\t\tthis.matchLength = terminatorMatch[1].length;\n\t\t\tthis.matchStart = terminatorMatch.index;\n\t\t\tthis.nextMatch = this.matchStart + this.matchLength;\n\t\t\t// Restore the output pointer\n\t\t\tthis.output = oldOutput;\n\t\t\treturn;\n\t\t}\n\t\t// It must be a rule match; output any text before the match\n\t\tif(ruleMatch.index > this.nextMatch)\n\t\t\tthis.outputText(this.output,this.nextMatch,ruleMatch.index);\n\t\t// Set the match parameters\n\t\tthis.matchStart = ruleMatch.index;\n\t\tthis.matchLength = ruleMatch[0].length;\n\t\tthis.matchText = ruleMatch[0];\n\t\tthis.nextMatch = this.rulesRegExp.lastIndex;\n\t\t// Figure out which rule matched and call its handler\n\t\tvar t;\n\t\tfor(t=1; t<ruleMatch.length; t++) {\n\t\t\tif(ruleMatch[t]) {\n\t\t\t\tthis.rules[t-1].handler(this);\n\t\t\t\tthis.rulesRegExp.lastIndex = this.nextMatch;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// Get the next match\n\t\tterminatorRegExp.lastIndex = this.nextMatch;\n\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\truleMatch = this.rulesRegExp.exec(terminatorMatch ? this.source.substr(0,terminatorMatch.index) : this.source);\n\t}\n\t// Output any text after the last match\n\tif(this.nextMatch < this.source.length) {\n\t\tthis.outputText(this.output,this.nextMatch,this.source.length);\n\t\tthis.nextMatch = this.source.length;\n\t}\n\t// Restore the output pointer\n\tthis.output = oldOutput;\n};\n\nexports[\"text/x-tiddlywiki\"] = WikiTextParser;\n\n})();\n","type":"application/javascript","module-type":"parser"},"$:/plugins/tiddlywiki/tw2parser/wikitextrules.js":{"title":"$:/plugins/tiddlywiki/tw2parser/wikitextrules.js","text":"/*\\\ntitle: $:/plugins/tiddlywiki/tw2parser/wikitextrules.js\ntype: application/javascript\nmodule-type: module\n\nRule modules for the wikitext parser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar macroadapter = require(\"$:/macros/classic/macroadapter.js\");\nvar textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z0-9_\\\\-\\u00df-\\u00ff\\u0151\\u0171]\",\n\tanyLetter: \"[A-Za-z0-9_\\\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tanyLetterStrict: \"[A-Za-z0-9\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tsliceSeparator: \"::\",\n\tsectionSeparator: \"##\",\n\turlPattern: \"(?:file|http|https|mailto|ftp|irc|news|data):[^\\\\s'\\\"]+(?:/|\\\\b)\",\n\tunWikiLink: \"~\",\n\tbrackettedLink: \"\\\\[\\\\[([^\\\\]]+)\\\\]\\\\]\",\n\ttitledBrackettedLink: \"\\\\[\\\\[([^\\\\[\\\\]\\\\|]+)\\\\|([^\\\\[\\\\]\\\\|]+)\\\\]\\\\]\"\n};\n\ntextPrimitives.wikiLink = \"(?:(?:\" + textPrimitives.upperLetter + \"+\" +\n\t\t\t\t\t\t\ttextPrimitives.lowerLetter + \"+\" +\n\t\t\t\t\t\t\ttextPrimitives.upperLetter +\n\t\t\t\t\t\t\ttextPrimitives.anyLetter + \"*)|(?:\" +\n\t\t\t\t\t\t\ttextPrimitives.upperLetter + \"{2,}\" +\n\t\t\t\t\t\t\ttextPrimitives.lowerLetter + \"+))\";\n\ntextPrimitives.cssLookahead = \"(?:(\" + textPrimitives.anyLetter +\n\t\"+)\\\\(([^\\\\)\\\\|\\\\n]+)(?:\\\\):))|(?:(\" + textPrimitives.anyLetter + \"+):([^;\\\\|\\\\n]+);)\";\n\ntextPrimitives.cssLookaheadRegExp = new RegExp(textPrimitives.cssLookahead,\"mg\");\n\ntextPrimitives.tiddlerForcedLinkRegExp = new RegExp(\"(?:\" + textPrimitives.titledBrackettedLink + \")|(?:\" +\n\ttextPrimitives.brackettedLink + \")|(?:\" +\n\ttextPrimitives.urlPattern + \")\",\"mg\");\n\ntextPrimitives.tiddlerAnyLinkRegExp = new RegExp(\"(\"+ textPrimitives.wikiLink + \")|(?:\" +\n\ttextPrimitives.titledBrackettedLink + \")|(?:\" +\n\ttextPrimitives.brackettedLink + \")|(?:\" +\n\ttextPrimitives.urlPattern + \")\",\"mg\");\n\n// Helper to add an attribute to an HTML node\nvar setAttr = function(node,attr,value) {\n\tif(!node.attributes) {\n\t\tnode.attributes = {};\n\t}\n\tnode.attributes[attr] ={type: \"string\", value:value} ;\n};\n\nvar inlineCssHelper = function(w) {\n\tvar styles = [];\n\ttextPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;\n\tvar lookaheadMatch = textPrimitives.cssLookaheadRegExp.exec(w.source);\n\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\tvar s,v;\n\t\tif(lookaheadMatch[1]) {\n\t\t\ts = lookaheadMatch[1];\n\t\t\tv = lookaheadMatch[2];\n\t\t} else {\n\t\t\ts = lookaheadMatch[3];\n\t\t\tv = lookaheadMatch[4];\n\t\t}\n\t\tif(s==\"bgcolor\")\n\t\t\ts = \"backgroundColor\";\n\t\tif(s==\"float\")\n\t\t\ts = \"cssFloat\";\n\t\tstyles.push({style: s, value: v});\n\t\tw.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n\t\ttextPrimitives.cssLookaheadRegExp.lastIndex = w.nextMatch;\n\t\tlookaheadMatch = textPrimitives.cssLookaheadRegExp.exec(w.source);\n\t}\n\treturn styles;\n};\n\nvar applyCssHelper = function(e,styles) {\n\n\tif(styles.length > 0) {\n\n\t\tfor(var t=0; t< styles.length; t++) {\n\t\t\t$tw.utils.addStyleToParseTreeNode(e,$tw.utils.roundTripPropertyName(styles[t].style),styles[t].value);\n\t\t}\n\t}\n\t\n};\n\nvar enclosedTextHelper = function(w) {\n\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\tvar text = lookaheadMatch[1];\n\t\tw.output.push({type:\"element\",tag:this.element,\n\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\tw.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n\t}\n};\n\nvar insertMacroCall = function(w,output,macroName,paramString) {\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\toutput.push({\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: false\n\t});\n}\n\n\nvar isLinkExternal = function(to) {\n\tvar externalRegExp = /(?:file|http|https|mailto|ftp|irc|news|obsidian|data|skype):[^\\s'\"]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\nvar rules = [\n{\n\tname: \"table\",\n\tmatch: \"^\\\\|(?:[^\\\\n]*)\\\\|(?:[fhck]?)$\",\n\tlookaheadRegExp: /^\\|([^\\n]*)\\|([fhck]?)$/mg,\n\trowTermRegExp: /(\\|(?:[fhck]?)$\\n?)/mg,\n\tcellRegExp: /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?$\\n?)/mg,\n\tcellTermRegExp: /((?:\\x20*)\\|)/mg,\n\trowTypes: {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\thandler: function(w)\n\t{\n\t\tvar table = {type:\"element\",tag:\"table\",attributes: {\"class\": {type: \"string\", value:\"table\"}},\n\t\t\t\t\tchildren: []};\n\t\t\n\t\tw.output.push(table);\n\t\tvar prevColumns = [];\n\t\tvar currRowType = null;\n\t\tvar rowContainer;\n\t\tvar rowCount = 0;\n\t\tw.nextMatch = w.matchStart;\n\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\t\tvar nextRowType = lookaheadMatch[2];\n\t\t\tif(nextRowType == \"k\") {\n\t\t\t\ttable.attributes[\"class\"] = lookaheadMatch[1];\n\t\t\t\tw.nextMatch += lookaheadMatch[0].length+1;\n\t\t\t} else {\n\t\t\t\tif(nextRowType != currRowType) {\n\t\t\t\t\trowContainer = {type:\"element\",tag:this.rowTypes[nextRowType],children: []};\n\t\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\t\tcurrRowType = nextRowType;\n\t\t\t\t}\n\t\t\t\tif(currRowType == \"c\") {\n\t\t\t\t\t// Caption\n\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\trowContainer.attributes={};\n\t\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t\tw.subWikifyTerm(rowContainer.children,this.rowTermRegExp);\n\t\t\t\t} else {\n\t\t\t\t\tvar theRow = {type:\"element\",tag:\"tr\",\n\t\t\t\t\t\tattributes: {\"class\": {type: \"string\", value:rowCount%2 ? \"oddRow\" : \"evenRow\"}},\n\t\t\t\t\t\tchildren: []};\n\t\t\t\t\t\n\t\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t\tthis.rowHandler(w,theRow.children,prevColumns);\n\t\t\t\t\trowCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\tlookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t}\n\t},\n\trowHandler: function(w,e,prevColumns)\n\t{\n\t\tvar col = 0;\n\t\tvar colSpanCount = 1;\n\t\tvar prevCell = null;\n\t\tthis.cellRegExp.lastIndex = w.nextMatch;\n\t\tvar cellMatch = this.cellRegExp.exec(w.source);\n\t\twhile(cellMatch && cellMatch.index == w.nextMatch) {\n\t\t\tif(cellMatch[1] == \"~\") {\n\t\t\t\t// Rowspan\n\t\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvar vAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex-1;\n\t\t\t} else if(cellMatch[1] == \">\") {\n\t\t\t\t// Colspan\n\t\t\t\tcolSpanCount++;\n\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex-1;\n\t\t\t} else if(cellMatch[2]) {\n\t\t\t\t// End of row\n\t\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\t\tprevCell.attributes.colspan = colSpanCount;\n\t\t\t\t}\n\t\t\t\tw.nextMatch = this.cellRegExp.lastIndex;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// Cell\n\t\t\t\tw.nextMatch++;\n\t\t\t\tvar styles = inlineCssHelper(w);\n\t\t\t\tvar spaceLeft = false;\n\t\t\t\tvar chr = w.source.substr(w.nextMatch,1);\n\t\t\t\twhile(chr == \" \") {\n\t\t\t\t\tspaceLeft = true;\n\t\t\t\t\tw.nextMatch++;\n\t\t\t\t\tchr = w.source.substr(w.nextMatch,1);\n\t\t\t\t}\n\t\t\t\tvar cell;\n\t\t\t\tif(chr == \"!\") {\n\t\t\t\t\tcell = {type:\"element\",tag:\"th\",children: []};\n\t\t\t\t\te.push(cell);\n\t\t\t\t\tw.nextMatch++;\n\t\t\t\t} else {\n\t\t\t\t\tcell = {type:\"element\",tag:\"td\",children: []};\n\t\t\t\t\te.push(cell);\n\t\t\t\t}\n\t\t\t\tprevCell = cell;\n\t\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t\tapplyCssHelper(cell,styles);\n\t\t\t\tw.subWikifyTerm(cell.children,this.cellTermRegExp);\n\t\t\t\tif (!cell.attributes) cell.attributes ={};\n\t\t\t\tif(w.matchText.substr(w.matchText.length-2,1) == \" \") // spaceRight\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t\telse if(spaceLeft)\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t\tw.nextMatch--;\n\t\t\t}\n\t\t\tcol++;\n\t\t\tthis.cellRegExp.lastIndex = w.nextMatch;\n\t\t\tcellMatch = this.cellRegExp.exec(w.source);\n\t\t}\n\t}\n},\n\n{\n\tname: \"heading\",\n\tmatch: \"^!{1,6}\",\n\ttermRegExp: /(\\n)/mg,\n\thandler: function(w)\n\t{\n\t\tvar e = {type:\"element\",tag:\"h\" + w.matchLength,children: []};\n\t\tw.output.push(e);\n\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t}\n},\n\n{\n\tname: \"list\",\n\tmatch: \"^(?:[\\\\*#;:]+)\",\n\tlookaheadRegExp: /^(?:(?:(\\*)|(#)|(;)|(:))+)/mg,\n\ttermRegExp: /(\\n)/mg,\n\thandler: function(w)\n\t{\n\t\tvar stack = [w.output];\n\t\tvar currLevel = 0, currType = null;\n\t\tvar listLevel, listType, itemType, baseType;\n\t\tw.nextMatch = w.matchStart;\n\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\twhile(lookaheadMatch && lookaheadMatch.index == w.nextMatch) {\n\t\t\tif(lookaheadMatch[1]) {\n\t\t\t\tlistType = \"ul\";\n\t\t\t\titemType = \"li\";\n\t\t\t} else if(lookaheadMatch[2]) {\n\t\t\t\tlistType = \"ol\";\n\t\t\t\titemType = \"li\";\n\t\t\t} else if(lookaheadMatch[3]) {\n\t\t\t\tlistType = \"dl\";\n\t\t\t\titemType = \"dt\";\n\t\t\t} else if(lookaheadMatch[4]) {\n\t\t\t\tlistType = \"dl\";\n\t\t\t\titemType = \"dd\";\n\t\t\t}\n\t\t\tif(!baseType)\n\t\t\t\tbaseType = listType;\n\t\t\tlistLevel = lookaheadMatch[0].length;\n\t\t\tw.nextMatch += lookaheadMatch[0].length;\n\t\t\tvar t,e;\n\t\t\tif(listLevel > currLevel) {\n\t\t\t\tfor(t=currLevel; t<listLevel; t++) {\n\t\t\t\t\tvar target = stack[stack.length-1];\n\t\t\t\t\tif(currLevel !== 0 && target.children) {\n\t\t\t\t\t\ttarget = target.children[target.children.length-1];\n\t\t\t\t\t}\n\t\t\t\t\te = {type:\"element\",tag:listType,children: []};\n\t\t\t\t\ttarget.push(e);\n\t\t\t\t\tstack.push(e.children);\n\t\t\t\t}\n\t\t\t} else if(listType!=baseType && listLevel==1) {\n\t\t\t\tw.nextMatch -= lookaheadMatch[0].length;\n\t\t\t\treturn;\n\t\t\t} else if(listLevel < currLevel) {\n\t\t\t\tfor(t=currLevel; t>listLevel; t--)\n\t\t\t\t\tstack.pop();\n\t\t\t} else if(listLevel == currLevel && listType != currType) {\n\t\t\t\tstack.pop();\n\t\t\t\te = {type:\"element\",tag:listType,children: []};\n\t\t\t\tstack[stack.length-1].push(e);\n\t\t\t\tstack.push(e.children);\n\t\t\t}\n\t\t\tcurrLevel = listLevel;\n\t\t\tcurrType = listType;\n\t\t\te = {type:\"element\",tag:itemType,children: []};\n\t\t\tstack[stack.length-1].push(e);\n\t\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\tlookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t}\n\t}\n},\n\n{\n\tname: \"quoteByBlock\",\n\tmatch: \"^<<<\\\\n\",\n\ttermRegExp: /(^<<<(\\n|$))/mg,\n\telement: \"blockquote\",\n\thandler: function(w) {\n\t\tvar e = {type:\"element\",tag:this.element,children: []};\n\t\tw.output.push(e);\n\t\tw.subWikifyTerm(e.children,this.termRegExp);\n\t}\n},\n\n{\n\tname: \"quoteByLine\",\n\tmatch: \"^>+\",\n\tlookaheadRegExp: /^>+/mg,\n\ttermRegExp: /(\\n)/mg,\n\telement: \"blockquote\",\n\thandler: function(w)\n\t{\n\t\tvar stack = [];\n\t\tvar currLevel = 0;\n\t\tvar newLevel = w.matchLength;\n\t\tvar t,matched,e;\n\t\tdo {\n\t\t\tif(newLevel > currLevel) {\n\t\t\t\tfor(t=currLevel; t<newLevel; t++) {\n\t\t\t\t\tvar f = stack[stack.length-1];\n\t\t\t\t\te = {type:\"element\",tag:this.element,children: []};\n\t\t\t\t\tstack.push(e);\n\t\t\t\t\tif (t ===0){\n\t\t\t\t\t\tw.output.push(e);\n\t\t\t\t\t}else {\n\t\t\t\t\t\tf.children.push(e);\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if(newLevel < currLevel) {\n\t\t\t\tfor(t=currLevel; t>newLevel; t--)\n\t\t\t\t\tstack.pop();\n\t\t\t}\n\t\t\tcurrLevel = newLevel;\n\t\t\tw.subWikifyTerm(stack[stack.length-1].children,this.termRegExp);\n\t\t\tstack[stack.length-1].children.push({type:\"element\",tag:\"br\"});\n\t\t\t//e.push({type:\"element\",tag:\"br\"});\n\n\t\t\tthis.lookaheadRegExp.lastIndex = w.nextMatch;\n\t\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\t\tmatched = lookaheadMatch && lookaheadMatch.index == w.nextMatch;\n\t\t\tif(matched) {\n\t\t\t\tnewLevel = lookaheadMatch[0].length;\n\t\t\t\tw.nextMatch += lookaheadMatch[0].length;\n\t\t\t}\n\t\t} while(matched);\n\t}\n},\n\n{\n\tname: \"rule\",\n\tmatch: \"^----+$\\\\n?|<hr ?/?>\\\\n?\",\n\thandler: function(w)\n\t{\n\t\tw.output.push({type:\"element\",tag:\"hr\"});\n\t}\n},\n\n{\n\tname: \"monospacedByLine\",\n\tmatch: \"^(?:/\\\\*\\\\{\\\\{\\\\{\\\\*/|\\\\{\\\\{\\\\{|//\\\\{\\\\{\\\\{|<!--\\\\{\\\\{\\\\{-->)\\\\n\",\n\telement: \"pre\",\n\thandler: function(w)\n\t{\n\t\tswitch(w.matchText) {\n\t\tcase \"/*{{{*/\\n\": // CSS\n\t\t\tthis.lookaheadRegExp = /\\/\\*\\{\\{\\{\\*\\/\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*\\/\\*\\}\\}\\}\\*\\/$\\n?)/mg;\n\t\t\tbreak;\n\t\tcase \"{{{\\n\": // monospaced block\n\t\t\tthis.lookaheadRegExp = /^\\{\\{\\{\\n((?:^[^\\n]*\\n)+?)(^\\f*\\}\\}\\}$\\n?)/mg;\n\t\t\tbreak;\n\t\tcase \"//{{{\\n\": // plugin\n\t\t\tthis.lookaheadRegExp = /^\\/\\/\\{\\{\\{\\n\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*\\/\\/\\}\\}\\}$\\n?)/mg;\n\t\t\tbreak;\n\t\tcase \"<!--{{{-->\\n\": //template\n\t\t\tthis.lookaheadRegExp = /<!--\\{\\{\\{-->\\n*((?:^[^\\n]*\\n)+?)(\\n*^\\f*<!--\\}\\}\\}-->$\\n?)/mg;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t\tenclosedTextHelper.call(this,w);\n\t}\n},\n\n{\n\tname: \"typedBlock\",\n\t\tmatch: \"^\\\\$\\\\$\\\\$(?:[^ >\\\\r\\\\n]*)\\\\r?\\\\n\",\n\tlookaheadRegExp: /^\\$\\$\\$([^ >\\r\\n]*)\\n((?:^[^\\n]*\\r?\\n)+?)(^\\f*\\$\\$\\$\\r?\\n?)/mg,\n\t//match: \"^\\\\$\\\\$\\\\$(?:[^ >\\\\r\\\\n]*)(?: *> *([^ \\\\r\\\\n]+))?\\\\r?\\\\n\",\n\t//lookaheadRegExp: /^\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))\\n((?:^[^\\n]*\\n)+?)(^\\f*\\$\\$\\$$\\n?)/mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t// The wikitext parsing infrastructure is horribly unre-entrant\n\t\t\tvar parseType = lookaheadMatch[1],\n\t\t\t\trenderType ,//= this.match[2],\n\t\t\t\ttext = lookaheadMatch[2],\n\t\t\t\toldOutput = w.output,\n\t\t\t\toldSource = w.source,\n\t\t\t\toldNextMatch = w.nextMatch,\n\t\t\t\toldChildren = w.children;\n\t\t\t// Parse the block according to the specified type\n\t\t\tvar parser = $tw.wiki.parseText(parseType,text.toString(),{defaultType: \"text/plain\"});\n\n\t\t\tw.output = oldOutput;\n\t\t\tw.source = oldSource;\n\t\t\tw.nextMatch = oldNextMatch;\n\t\t\tw.children = oldChildren;\n\t\t\tfor (var i=0; i<parser.tree.length; i++) {\n\t\t\t\tw.output.push(parser.tree[i]);\n\t\t\t}\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t}\n},\n\n{\n\tname: \"wikifyComment\",\n\tmatch: \"^(?:/\\\\*\\\\*\\\\*|<!---)\\\\n\",\n\thandler: function(w)\n\t{\n\t\tvar termRegExp = (w.matchText == \"/***\\n\") ? (/(^\\*\\*\\*\\/\\n)/mg) : (/(^--->\\n)/mg);\n\t\tw.subWikifyTerm(w.output,termRegExp);\n\t}\n},\n\n{\n\tname: \"macro\",\n\tmatch: \"<<\",\n\tlookaheadRegExp: /<<(?:([!@£\\$%\\^\\&\\*\\(\\)`\\~'\"\\|\\\\\\/;\\:\\.\\,\\+\\=\\-\\_\\{\\}])|([^>\\s]+))(?:\\s*)((?:[^>]|(?:>(?!>)))*)>>/mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source),\n\t\t\tname;\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\tname = lookaheadMatch[1] || lookaheadMatch[2];\n\t\t\tvar params = lookaheadMatch[3], nameold =name;\n\t\t\tif (name) {\n\t\t\t\tif (!!macroadapter.paramadapter[name]) {\n\t\t\t\t\tparams=macroadapter.paramadapter[name](params);\n\t\t\t\t\t//alert(\"going out as \"+params);\n\t\t\t\t}\n\t\t\t\tif (!!macroadapter.namedapter[name]) {\n\t\t\t\t\tname=macroadapter.namedapter[name];\n\t\t\t\t}\n\t\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t\t\tinsertMacroCall(w,w.output,name,params);\n\t\t\t}\n\t\t}\n\t}\n},\n\n\n{\n\tname: \"prettyLink\",\n\tmatch: \"\\\\[\\\\[\",\n\tlookaheadRegExp: /\\[\\[(.*?)(?:\\|(~)?(.*?))?\\]\\]/mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\tvar text = lookaheadMatch[1],\n\t\t\t\tlink = text;\n\t\t\tif(lookaheadMatch[3]) {\n\t\t\t\t// Pretty bracketted link\n\t\t\t\tlink = lookaheadMatch[3];\n\t\t\t}\n\tif(isLinkExternal(link)) {\n\t\tw.output.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t});\n\t} else {\n\t\tw.output.push({\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t});\n\t}\n\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t}\n},\n{\n\tname: \"wikiLink\",\n\tmatch: textPrimitives.unWikiLink+\"?\"+textPrimitives.wikiLink,\n\thandler: function(w)\n\t{\n\t\tif(w.matchText.substr(0,1) == textPrimitives.unWikiLink) {\n\t\t\tw.outputText(w.output,w.matchStart+1,w.nextMatch);\n\t\t\treturn;\n\t\t}\n\t\tif(w.matchStart > 0) {\n\t\t\tvar preRegExp = new RegExp(textPrimitives.anyLetterStrict,\"mg\");\n\t\t\tpreRegExp.lastIndex = w.matchStart-1;\n\t\t\tvar preMatch = preRegExp.exec(w.source);\n\t\t\tif(preMatch.index == w.matchStart-1) {\n\t\t\t\tw.outputText(w.output,w.matchStart,w.nextMatch);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif(w.autoLinkWikiWords) {\n\t\t\tw.output.push({\n\t\t\t\ttype: \"link\",\n\t\t\t\tattributes: {\n\t\t\t\t\tto: {type: \"string\", value: w.matchText}\n\t\t\t\t},\n\t\t\t\tchildren: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: w.source.substring(w.matchStart,w.nextMatch)\n\t\t\t\t}]\n\t\t\t});\n\t\t} else {\t\n\t\t\tw.outputText(w.output,w.matchStart,w.nextMatch);\n\t\t}\n\t}\n},\n\n{\n\tname: \"urlLink\",\n\tmatch: textPrimitives.urlPattern,\n\thandler: function(w)\n\t{\n\t\t\tw.output.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: w.matchText},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: w.source.substring(w.matchStart,w.nextMatch)\n\t\t\t}]\n\t\t});\n\n\t}\n},\n\n{\n\tname: \"image\",\n\tmatch: \"\\\\[[<>]?[Ii][Mm][Gg]\\\\[\",\n\t// [<] sequence below is to avoid lessThan-questionMark sequence so TiddlyWikis can be included in PHP files\n\tlookaheadRegExp: /\\[([<]?)(>?)[Ii][Mm][Gg]\\[(?:([^\\|\\]]+)\\|)?([^\\[\\]\\|]+)\\](?:\\[([^\\]]*)\\])?\\]/mg,\n\thandler: function(w)\n\t{\n\t\tvar node = {\n\t\t\ttype: \"image\",\n\t\t\tattributes: {}\n\t\t};\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source),\n\t\t\timageParams = {},\n\t\t\tlinkParams = {};\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\tif(lookaheadMatch[1]) {\n\t\t\t\tnode.attributes.class = {type: \"string\", value: \"classic-image-left\"};\n\t\t\t} else if(lookaheadMatch[2]) {\n\t\t\t\tnode.attributes.class = {type: \"string\", value: \"classic-image-right\"};\n\t\t\t}\n\t\t\tif(lookaheadMatch[3]) {\n\t\t\t\tnode.attributes.tooltip = {type: \"string\", value: lookaheadMatch[3]};\n\t\t\t}\n\t\t\tnode.attributes.source = {type: \"string\", value: lookaheadMatch[4]};\n\t\t\tif(lookaheadMatch[5]) {\n\t\t\t\tif(isLinkExternal(lookaheadMatch[5])) {\n\t\t\t\t\tw.output.push({\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\ttag: \"a\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\thref: {type: \"string\", value:lookaheadMatch[5]},\n\t\t\t\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\t\t\t\ttarget: {type: \"string\", value: \"_blank\"}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [node]\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tw.output.push({\n\t\t\t\t\t\ttype: \"link\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\tto: {type: \"string\", value: lookaheadMatch[5]}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [node]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tw.output.push(node);\n\t\t\t}\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t}\n},\n\n{\n\tname: \"html\",\n\tmatch: \"<[Hh][Tt][Mm][Ll]>\",\n\tlookaheadRegExp: /<[Hh][Tt][Mm][Ll]>((?:.|\\n)*?)<\\/[Hh][Tt][Mm][Ll]>/mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\tw.output.push({\ttype:\"raw\", html:lookaheadMatch[1]});\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t}\n},\n\n{\n\tname: \"commentByBlock\",\n\tmatch: \"/%\",\n\tlookaheadRegExp: /\\/%((?:.|\\n)*?)%\\//mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t}\n},\n\n{\n\tname: \"characterFormat\",\n\tmatch: \"''|//|__|\\\\^\\\\^|~~|--(?!\\\\s|$)|\\\\{\\\\{\\\\{|`\",\n\thandler: function(w)\n\t{\n\t\tvar e,lookaheadRegExp,lookaheadMatch;\n\t\tswitch(w.matchText) {\n\t\tcase \"''\":\n\t\t\te = {type:\"element\",tag:\"strong\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/('')/mg);\n\t\t\tbreak;\n\t\tcase \"//\":\n\t\t\te = {type:\"element\",tag:\"em\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/(\\/\\/)/mg);\n\t\t\tbreak;\n\t\tcase \"__\":\n\t\t\te = {type:\"element\",tag:\"u\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/(__)/mg);\n\t\t\tbreak;\n\t\tcase \"^^\":\n\t\t\te = {type:\"element\",tag:\"sup\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/(\\^\\^)/mg);\n\t\t\tbreak;\n\t\tcase \"~~\":\n\t\t\te = {type:\"element\",tag:\"sub\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/(~~)/mg);\n\t\t\tbreak;\n\t\tcase \"--\":\n\t\t\te = {type:\"element\",tag:\"strike\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tw.subWikifyTerm(e.children,/(--)/mg);\n\t\t\tbreak;\n\t\tcase \"`\":\n\t\t\tlookaheadRegExp = /`((?:.|\\n)*?)`/mg;\n\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tlookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tw.output.push({type:\"element\",tag:\"code\",\n\t\t\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"{{{\":\n\t\t\tlookaheadRegExp = /\\{\\{\\{((?:.|\\n)*?)\\}\\}\\}/mg;\n\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tlookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\t\tw.output.push({type:\"element\",tag:\"code\",\n\t\t\t\t\tchildren:[{type: \"text\",text: lookaheadMatch[1]}]});\n\t\t\t\tw.nextMatch = lookaheadRegExp.lastIndex;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n},\n\n{\n\tname: \"customFormat\",\n\tmatch: \"@@|\\\\{\\\\{\",\n\thandler: function(w)\n\t{\n\t\tswitch(w.matchText) {\n\t\tcase \"@@\":\n\t\t\tvar e = {type:\"element\",tag:\"span\",children: []};\n\t\t\tw.output.push(e);\n\t\t\tvar styles = inlineCssHelper(w);\n\t\t\tif(styles.length === 0)\n\t\t\t\tsetAttr(e,\"class\",\"marked\");\n\t\t\telse\n\t\t\t\tapplyCssHelper(e,styles);\n\t\t\tw.subWikifyTerm(e.children,/(@@)/mg);\n\t\t\tbreak;\n\t\tcase \"{{\":\n\t\t\tvar lookaheadRegExp = /\\{\\{[\\s]*([\\-\\w]+[\\-\\s\\w]*)[\\s]*\\{(\\n?)/mg;\n\t\t\tlookaheadRegExp.lastIndex = w.matchStart;\n\t\t\tvar lookaheadMatch = lookaheadRegExp.exec(w.source);\n\t\t\tif(lookaheadMatch) {\n\t\t\t\tw.nextMatch = lookaheadRegExp.lastIndex;\n\t\t\t\te = {type:\"element\",tag:lookaheadMatch[2] == \"\\n\" ? \"div\" : \"span\",\n\t\t\t\t\tattributes: {\"class\": {type: \"string\", value:lookaheadMatch[1]}},children: []};\n\t\t\t\tw.output.push(e);\n\t\t\t\tw.subWikifyTerm(e.children,/(\\}\\}\\})/mg);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n},\n\n{\n\tname: \"mdash\",\n\tmatch: \"--\",\n\thandler: function(w)\n\t{\n\t\tw.output.push({type: \"entity\", entity: \"—\"});\n\t}\n},\n\n{\n\tname: \"lineBreak\",\n\tmatch: \"\\\\n|<br ?/?>\",\n\thandler: function(w)\n\t{\n\t\tw.output.push({type:\"element\",tag:\"br\"});\n\t}\n},\n\n{\n\tname: \"rawText\",\n\tmatch: \"\\\"{3}|<nowiki>\",\n\tlookaheadRegExp: /(?:\\\"{3}|<nowiki>)((?:.|\\n)*?)(?:\\\"{3}|<\\/nowiki>)/mg,\n\thandler: function(w)\n\t{\n\t\tthis.lookaheadRegExp.lastIndex = w.matchStart;\n\t\tvar lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n\t\tif(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n\t\t\tw.output.push({type: \"text\",text: lookaheadMatch[1]\n\t\t\t});\n\t\t\tw.nextMatch = this.lookaheadRegExp.lastIndex;\n\t\t}\n\t}\n},\n\n{\n\tname: \"htmlEntitiesEncoding\",\n\tmatch: \"&#?[a-zA-Z0-9]{2,8};\",\n\thandler: function(w)\n\t{\n\t\tw.output.push({type: \"entity\", entity: w.matchText});\n\t}\n}\n\n];\n\nexports.rules = rules;\n\n})();\n","type":"application/javascript","module-type":"module"}}}
{
"tiddlers": {
"$:/info/browser": {
"title": "$:/info/browser",
"text": "no"
},
"$:/info/node": {
"title": "$:/info/node",
"text": "yes"
},
"$:/info/startup-timestamp": {
"title": "$:/info/startup-timestamp",
"text": "20240513121652295"
}
}
}
{"tiddlers":{"$:/themes/tiddlywiki/snowwhite/base":{"title":"$:/themes/tiddlywiki/snowwhite/base","tags":"[[$:/tags/Stylesheet]]","text":"\\define sidebarbreakpoint-minus-one()\n<$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 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"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<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-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<<box-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<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-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<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-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<<background-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<<background-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<<background-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<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"}}}
{"tiddlers":{"$:/themes/tiddlywiki/vanilla/themetweaks":{"title":"$:/themes/tiddlywiki/vanilla/themetweaks","tags":"$:/tags/ControlPanel/Appearance","caption":"{{$:/language/ThemeTweaks/ThemeTweaks}}","text":"\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$set name=\"state\" value=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">>>\n<$button popup=<<state>> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<state>> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\" class=\"tc-popup-keep\">\n<div class=\"tc-drop-down\" style=\"text-align:center;\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n<$action-deletetiddler $tiddler=<<state>>/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</$set>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\"><<lingo Settings/EditorFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/editorfontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"},"$:/themes/tiddlywiki/vanilla/base":{"title":"$:/themes/tiddlywiki/vanilla/base","tags":"[[$:/tags/Stylesheet]]","list-before":"","code-body":"yes","text":"\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n`\"`<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>`\"`\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n`\"`<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>`\"`\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define sidebarbreakpoint()\n<$text text={{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}/>\n\\end\n\n\\define sidebarbreakpoint-minus-one()\n<$text text={{{ [{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}removesuffix[px]subtract[1]addsuffix[px]] ~[{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}] }}}/>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\define if-editor-height-fixed(then,else)\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n$then$\n</$reveal>\n<$reveal state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n$else$\n</$reveal>\n\\end\n\n\\define set-type-selector-min-width()\n<$set name=\"typeLength\" value={{{ [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]get[name]length[]maxall[]] }}}>\n\n\t.tc-type-selector-dropdown-wrapper {\n\t\tmin-width: calc(<<typeLength>>ch + 4em);\n\t}\n\n\t.tc-type-selector-dropdown-wrapper input.tc-edit-typeeditor {\n\t\tmin-width: <<typeLength>>ch;\n\t}\n\n</$set>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\n/*\n** Button default styles. Makes them look consistent for all browsers\n*/\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tfill: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\nbutton:disabled svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml, body {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n}\n\n<<if-background-attachment \"\"\"\n\nbody.tc-body {\n\tbackground-color: transparent;\n}\n\n\"\"\">>\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n\tfont-size: 2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: normal;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n\tquotes: \"\\201C\"\"\\201D\"\"\\2018\"\"\\2019\";\n}\n\nblockquote > div {\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\nblockquote.tc-big-quote {\n\tfont-family: Georgia, serif;\n\tposition: relative;\n\tbackground: <<colour pre-background>>;\n\tborder-left: none;\n\tmargin-left: 50px;\n\tmargin-right: 50px;\n\tpadding: 10px;\n\tborder-radius: 8px;\n}\n\nblockquote.tc-big-quote cite:before {\n\tcontent: \"\\2014 \\2009\";\n}\n\nblockquote.tc-big-quote:before {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: open-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n\tleft: -50px;\n\ttop: 42px;\n}\n\nblockquote.tc-big-quote:after {\n\tfont-family: Georgia, serif;\n\tcolor: <<colour blockquote-bar>>;\n\tcontent: close-quote;\n\tfont-size: 8em;\n\tline-height: 0.1em;\n\tmargin-right: 0.25em;\n\tvertical-align: -0.4em;\n\tposition: absolute;\n\tright: -80px;\n\tbottom: -20px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\ninput[type=\"checkbox\"] {\n\tvertical-align: middle;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n\t-webkit-appearance:none;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\n.tc-icon-wrapper > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n::selection {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n\tbackground-color: <<colour selection-background>>;\n\tcolor: <<colour selection-foreground>>;\n}\n\n.tc-inline-style {\n\tbackground: <<colour highlight-background>>;\n\tcolor: <<colour highlight-foreground>>;\n}\n\nform.tc-form-inline {\n\tdisplay: inline;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\n/*\nTable defaults\n*/\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\t/* next 2 elements needed, since normalize 8.0.1 */\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n/*\nTable utility classes\n*/\n\n/* Remove borders from table as used in eg: GettingStarted*/\n.tc-table-no-border,\n.tc-table-no-border th,\n.tc-table-no-border td {\n\tborder: initial;\n}\n\n/* First column in table width will fit to text.*/\n/* This rule makes most sense with tc-first-link-nowrap*/\n.tc-first-col-min-width td:nth-child(1) {\n\twidth: 1%;\n}\n\n/*\n** Utility classes work well with tables but also for other containers\n*/\n\n/* First link A element will not wrap */\n.tc-first-link-nowrap:first-of-type a {\n\twhite-space: nowrap;\n}\n\n/* Move the table to the center of the container */\n.tc-center {\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.tc-max-width {\n\twidth: 100%;\n}\n\n.tc-max-width-80 {\n\tmax-width: 80%;\n}\n\n/* Allow input and textarea to look like the ControlPanel inputs */\n.tc-edit-max-width input,\n.tc-edit-max-width textarea {\n\twidth: 100%;\n\tpadding: 3px;\n}\n\n/*\nCSV parser plugin\n*/\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-csv-table th,\n.tc-csv-table td {\n\twhite-space: pre-line;\n}\n\n/*\nTiddler frame in story river\n*/\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n:root {\n\tcolor-scheme: {{{ [{$:/palette}get[color-scheme]] ~light }}};\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: 500;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n\t-webkit-touch-callout: none; /* Prevents long presses from bringing up a link preview */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n.tc-drop-down a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\ttop: -1000px;\n\tleft: -1000px;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-page-container > .tc-dropzone {\n\tmin-height: 100vh;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n.tc-droppable > .tc-droppable-placeholder {\n\tdisplay: none;\n}\n\n.tc-droppable.tc-dragover > .tc-droppable-placeholder {\n\tdisplay: block;\n\tborder: 2px dashed <<colour dropzone-background>>;\n}\n\n.tc-draggable {\n\tcursor: move;\n}\n\n.tc-sidebar-tab-open .tc-droppable-placeholder, .tc-tagged-draggable-list .tc-droppable-placeholder,\n.tc-links-draggable-list .tc-droppable-placeholder {\n\tline-height: 2em;\n\theight: 2em;\n}\n\n.tc-sidebar-tab-open-item {\n\tposition: relative;\n}\n\n.tc-sidebar-tab-open .tc-btn-invisible.tc-btn-mini svg {\n\tfont-size: 0.7em;\n\tfill: <<colour muted-foreground>>;\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: <<colour foreground>>;\n\tfill: <<colour foreground>>;\n}\n\nbutton:disabled.tc-btn-invisible {\n\tcursor: default;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n\n.tc-btn-text {\n\tmargin-left: 7px;\n}\n\n/* used for documentation \"fake\" buttons */\n.tc-btn-standard {\n\tline-height: 1.8;\n\tcolor: #667;\n\tbackground-color: #e0e0e0;\n\tborder: 1px solid #888;\n\tpadding: 2px 1px 2px 1px;\n\tmargin: 1px 4px 1px 4px;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tborder-radius: 2px;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-primary-btn {\n\tbackground: <<colour primary>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\n.tc-sidebar-lists button small {\n\tcolor: <<colour foreground>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-tags-wrapper .tc-tag-list-item {\n\tmargin-right: 7px;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\n.tc-block-tags-dropdown > .tc-btn-invisible:hover {\n\tbackground-color: <<colour primary>>;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: normal;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: break-spaces;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-sidebar-scrollable .tc-tag-label {\n\ttext-shadow: none;\n}\n\n.tc-untagged-separator {\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tmargin-right: 3px;\n\tmargin-bottom: 1px;\n\tvertical-align: bottom;\n}\n\n.tc-edit-tags button.tc-remove-tag-button svg {\n\tfont-size: 0.7em;\n\tvertical-align: middle;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\nbutton.tc-btn-invisible.tc-remove-tag-button {\n\toutline: none;\n}\n\n.tc-tag-button-selected,\n.tc-list-item-selected a.tc-tiddlylink, a.tc-list-item-selected {\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour tiddler-background>>;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-topbar-right {\n\t\tright: 10px;\n\t}\n\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-show-sidebar-btn svg.tc-image-chevron-left, .tc-hide-sidebar-btn svg.tc-image-chevron-right {\n\t\ttransform: rotate(-90deg);\n\t}\n\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tmargin-bottom: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls .tc-drop-down {\n\tfont-size: 1rem;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-sidebar-lists .tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\ttransition: min-height {{$:/config/AnimationDuration}}ms ease-in-out, padding-top {{$:/config/AnimationDuration}}ms ease-in-out, padding-bottom {{$:/config/AnimationDuration}}ms ease-in-out;\n\t}\n\t\n\t<<if-no-sidebar \"\"\"\n\n\t\t.tc-sidebar-header {\n\t\t\tmin-height: 0;\n\t\t\tpadding-top: 0;\n\t\t\tpadding-bottom: 0;\n\t\t}\n\n\t\"\"\">>\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\thtml[dir=\"rtl\"] .tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tright: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n\t.tc-story-river.tc-static-story-river {\n\t\tmargin-right: 0;\n\t\tpadding-right: 42px;\n\t}\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\toverflow: hidden;\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t.tc-tiddler-info {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\twhite-space: nowrap;\n\tvertical-align: top;\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: normal;\n}\n\n.tc-view-field-value {\n\tword-break: break-all;\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t\tmargin-bottom: .5em;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: normal;\n\tfont-size: 2.35em;\n\tline-height: 1.35em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n\tmargin-right: .1em;\n}\n\n.tc-tiddler-title-icon svg {\n\twidth: 0.9em;\n\theight: 0.9em;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: normal;\n}\n\n.tc-subtitle .tc-tiddlylink {\n\tmargin-right: .3em;\n}\n\n.tc-tiddler-missing .tc-title {\n\tfont-style: italic;\n\tfont-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n\tpadding: 3px; /* make space for outline */\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button,\n.tc-tiddler-controls > span > span > button,\n.tc-tiddler-controls > span > span > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img {\n\theight: 0.75em;\n}\n\n.tc-search button svg, .tc-search a svg {\n\theight: 1.2em;\n\twidth: 1.2em;\n\tmargin: 0 0.25em;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor,\n.tc-tiddler-frame select.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/editorfontfamily}};\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame select.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-background>>;\n}\n\n.tc-tiddler-frame .tc-edit-fields input.tc-edit-fieldeditor,\n.tc-tiddler-frame .tc-edit-fields select.tc-edit-fieldeditor,\n.tc-tiddler-frame .tc-edit-fields textarea.tc-edit-fieldeditor {\n\tmargin: 0;\n\tpadding: 2px 3px;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\ncanvas.tc-edit-bitmapeditor {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-single-tiddler-window .tc-tiddler-body,\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\n/*\n* Tiddler in a new window.\n* Also see: .tc-single-tiddler-window .tc-tiddler-body, above\n*/\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-editor-toolbar,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-editor-toolbar {\n\tgrid-area: toolbar;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tcolor: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar .tc-drop-down button.tc-btn-mini {\n\tpadding: 2px 4px;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down > p {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.tc-editor-toolbar button.tc-editortoolbar-stamp-button + .tc-popup .tc-drop-down a.tc-tiddlylink {\n\tfont-weight: normal;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n\tfill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n\tfill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n\tfill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n\tfill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n\tfill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n\tfill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n\tfill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n\tfill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n\tfill: <<colour toolbar-done-button>>;\n}\n\n.tc-page-controls svg.tc-image-layout-button {\n\tfill: <<colour toolbar-options-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-type-selector .tc-edit-typeeditor {\n\twidth: auto;\n}\n\n.tc-type-selector-dropdown-wrapper {\n\tdisplay: inline-block;\n}\n\n<<set-type-selector-min-width>>\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-add-tag .tc-keyboard {\n\tdisplay:inline;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-editor {\n\tdisplay: grid;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview {\n\tgrid-template-areas:\n\t\t\"toolbar toolbar\"\n\t\t\"editor preview\";\n\tgrid-template-columns: repeat(2, minmax(0px, 1fr));\n\tgrid-template-rows: auto 1fr;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden {\n\tgrid-template-areas:\n\t\t\"toolbar\"\n\t\t\"editor\";\n\tgrid-template-columns: 1fr;\n\tgrid-template-rows: auto 1fr;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-tiddler-preview-preview {\n\tgrid-area: preview;\n\toverflow-wrap: anywhere;\n\tword-break: normal;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 0 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n<<if-editor-height-fixed then:\"\"\"\n\n.tc-tiddler-preview-preview {\n\toverflow-y: scroll;\n\theight: {{$:/config/TextEditor/EditorHeight/Height}};\n}\n\n\"\"\">>\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview .tc-edit-texteditor,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden .tc-edit-texteditor {\n\tgrid-area: editor;\n}\n\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview canvas.tc-edit-bitmapeditor,\n.tc-tiddler-frame .tc-tiddler-editor.tc-tiddler-preview-hidden canvas.tc-edit-bitmapeditor {\n\tgrid-area: editor;\n\tmax-width: 100%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n.tc-edit-fields.tc-edit-fields-small {\n\tmargin-top: 0;\n\tmargin-bottom: 0;\n}\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name-wrapper input.tc-edit-texteditor {\n\twidth: auto;\n}\n\n.tc-edit-field-add-name-wrapper {\n\tdisplay: inline-block;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-edit-field-add-value {\n\t\twidth: 35%;\n\t}\n\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n\n/*\n** Tiddler editor dropzone\n*/\n\n.tc-dropzone-editor {\n\tposition:relative;\n}\n\n.tc-dropzone-editor.tc-dragover .tc-editor-toolbar::after{\n\tz-index: 10000;\n\ttop:0;\n\tleft:0;\n\tright:0;\n\theight: 100%;\n\tbackground: <<colour dropzone-background>>;\n\tcontent: \"<<lingo DropMessage>>\";\n\tpointer-events: none;\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: <<color background>>;\n\tborder: 4px dashed <<color modal-border>>;\n\tfont-weight: bold;\n\tfont-size: 150%;\n\topacity: 0.8;\n\tcolor: <<color foreground>>;\n}\n\n.tc-editor-importpopup {\n\twidth: 100%;\n\theight: 100%;\n}\n\n.tc-editor-import {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tbackground: <<color pre-background>>;\n\tbox-shadow: 2px 2px 10px <<colour foreground>>;\n\tpadding: 10px;\n\twidth: 96%;\n\tborder: 1px solid <<color tiddler-controls-foreground>>;\n\ttext-align:center;\n}\n\n.tc-editor-import img {\n\tmax-height: 500px;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-viewswitcher .tc-image-button {\n\tmargin-right: .3em;\n}\n\n.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-page-container.tc-page-view-zoomin .tc-tiddler-frame {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button:disabled svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-drop-down .tc-drop-down-info {\n\tpadding-left: 14px;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n\twidth: auto;\n\tmargin-bottom: 0px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a.tc-tiddlylink:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/* Make search dropdown visible on small screens. issue #7003 */\n@media (max-width: <<sidebarbreakpoint>>) {\n\n\t.tc-sidebar-search .tc-block-dropdown-wrapper {\n\t\tposition: initial;\n\t}\n\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n.tc-modal-prevent-scroll {\n\toverflow: hidden;\n}\n\n/*\n** Centered modals\n*/\n.tc-modal-centered .tc-modal {\n\twidth: auto;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%) !important;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: normal;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n\toverflow: auto;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Manager\n*/\n\n.tc-manager-wrapper {\n\t\n}\n\n.tc-manager-controls {\n\t\n}\n\n.tc-manager-control {\n\tmargin: 0.5em 0;\n}\n\n.tc-manager-control select {\n\tmax-width: 100%;\n}\n\n.tc-manager-list {\n\twidth: 100%;\n\tborder-top: 1px solid <<colour muted-foreground>>;\n\tborder-left: 1px solid <<colour muted-foreground>>;\n\tborder-right: 1px solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item {\n\n}\n\n.tc-manager-list-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n\tborder-bottom: 1px solid <<colour muted-foreground>>;\n\tpadding: 3px;\n}\n\n.tc-manager-list-item-heading-selected {\n\tfont-weight: bold;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n\tbackground-color: <<colour foreground>>;\n}\n\n.tc-manager-list-item-heading:hover {\n\tbackground: <<colour primary>>;\n\tcolor: <<colour background>>;\n}\n\n.tc-manager-list-item-content {\n\tdisplay: flex;\n}\n\n.tc-manager-list-item-content-sidebar {\n\tflex: 1 0;\n\tbackground: <<colour tiddler-editor-background>>;\n\tborder-right: 0.5em solid <<colour muted-foreground>>;\n\tborder-bottom: 0.5em solid <<colour muted-foreground>>;\n\twhite-space: nowrap;\n}\n\n.tc-manager-list-item-content-item-heading {\n\tdisplay: block;\n\twidth: 100%;\n\ttext-align: left;\n\tbackground: <<colour muted-foreground>>;\n\ttext-transform: uppercase;\n\tfont-size: 0.6em;\n\tfont-weight: bold;\n\tpadding: 0.5em 0 0.5em 0;\n}\n\n.tc-manager-list-item-content-item-body {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-manager-list-item-content-item-body > pre {\n\tmargin: 0.5em 0 0.5em 0;\n\tborder: none;\n\tbackground: inherit;\n}\n\n.tc-manager-list-item-content-tiddler {\n\tflex: 3 1;\n\tborder-left: 0.5em solid <<colour muted-foreground>>;\n\tborder-right: 0.5em solid <<colour muted-foreground>>;\n\tborder-bottom: 0.5em solid <<colour muted-foreground>>;\n}\n\n.tc-manager-list-item-content-item-body > table {\n\tborder: none;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-manager-list-item-content-item-body > table td {\n\tborder: none;\n}\n\n.tc-manager-icon-editor > button {\n\twidth: 100%;\n}\n\n.tc-manager-icon-editor > button > svg,\n.tc-manager-icon-editor > button > button {\n\twidth: 100%;\n\theight: auto;\n}\n\n/*\n** Import table\n*/\n\n.tc-import-table {\n\twidth: 100%;\n}\n\n.tc-import-table svg.tc-image-edit-button {\n\tmax-width: unset;\n}\n\n.tc-import-table th:first-of-type {\n\twidth: 10%;\n}\n\n.tc-import-table th:last-of-type {\n\twidth: 30%;\n}\n\n.tc-import-table .tc-row-disabled {\n\tbackground: <<colour very-muted-foreground>>10;\n\topacity: 0.8;\n}\n\n.tc-import-table .tc-row-warning {\n\tbackground: <<colour diff-delete-background>>50;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 28px;\n\tleft: 0;\n\tright: 0;\n\tmax-width: 50%;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 14px;\n\tpadding: 7px;\n\tborder: 1px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 7px;\n\tright: 7px;\n\tline-height: 0;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n\tmargin-bottom: 0.5em;\n}\n\n.tc-alert-body > p {\n\tmargin: 0;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: <<sidebarbreakpoint>>) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Floating drafts list\n*/\n\n.tc-drafts-list {\n\tz-index: 2000;\n\tposition: fixed;\n\tfont-size: 0.8em;\n\tleft: 0;\n\tbottom: 0;\n}\n\n.tc-drafts-list a {\n\tmargin: 0 0.5em;\n\tpadding: 4px 4px;\n\tborder-top-left-radius: 4px;\n\tborder-top-right-radius: 4px;\n\tborder: 1px solid <<colour background>>;\n\tborder-bottom: none;\n\tbackground: <<colour dirty-indicator>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a:hover {\n\ttext-decoration: none;\n\tbackground: <<colour foreground>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour background>>;\n}\n\n.tc-drafts-list a svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: flex;\n\ttext-shadow: none;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tfill: <<colour muted-foreground>>;\n\tbackground-color: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n\talign-items: center;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink.tc-plugin-info {\n\tcolor: <<colour tiddler-link-foreground>>;\n}\n\n\n.tc-plugin-info-sub-plugins .tc-plugin-info {\n\tmargin: 0.5em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugin-indicator {\n\tmargin: -16px 1em 0 2em;\n}\n\n.tc-plugin-info-sub-plugin-indicator button {\n\tcolor: <<colour background>>;\n\tbackground: <<colour foreground>>;\n\tborder-radius: 8px;\n\tpadding: 2px 7px;\n\tfont-size: 0.75em;\n}\n\n.tc-plugin-info-sub-plugins .tc-plugin-info-dropdown {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\tfill: <<colour background>>;\n}\n\n.tc-plugin-info-chunk {\n\tmargin: 2px;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon {\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tline-height: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description {\n\tflex-grow: 1;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-buttons {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\ttext-align: right;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h1 {\n\tfont-size: 1em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description h2 {\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-description div {\n\tfont-size: 0.7em;\n\tline-height: 1.2;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-toggle img, .tc-plugin-info-chunk.tc-plugin-info-toggle svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-chunk.tc-plugin-info-icon img, .tc-plugin-info-chunk.tc-plugin-info-icon svg {\n\twidth: 2em;\n\theight: 2em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 0 1em;\n\tbackground: <<colour background>>;\n}\n\n.tc-plugin-info-sub-plugins {\n\tpadding: 0.5em;\n\tmargin: 0 1em 1em 1em;\n\tbackground: <<colour notification-background>>;\n}\n\n.tc-install-plugin {\n\tfont-weight: bold;\n\tbackground: green;\n\tcolor: white;\n\tfill: white;\n\tborder-radius: 4px;\n\tpadding: 3px;\n}\n\n.tc-install-plugin.tc-reinstall-downgrade {\n\tbackground: red;\n}\n\n.tc-install-plugin.tc-reinstall {\n\tbackground: blue;\n}\n\n.tc-install-plugin.tc-reinstall-upgrade {\n\tbackground: orange;\n}\n\n.tc-check-list {\n\tline-height: 2em;\n}\n\n.tc-check-list .tc-image-button {\n\theight: 1.5em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n.tc-message-box svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: text-bottom;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder-right: 1px solid <<colour table-header-background>>;\n\tborder-left: 1px solid <<colour table-header-background>>;\n}\n\n\n.tc-chooser-item {\n\tborder-bottom: 1px solid <<colour table-header-background>>;\n\tborder-top: 1px solid <<colour table-header-background>>;\n\tpadding: 2px 4px 2px 14px;\n}\n\n.tc-drop-down .tc-chooser-item {\n\tpadding: 2px;\n}\n\n.tc-chosen,\n.tc-chooser-item:hover {\n\tbackground-color: <<colour table-header-background>>;\n\tborder-color: <<colour table-footer-background>>;\n}\n\n.tc-chosen .tc-tiddlylink {\n\tcursor:default;\n}\n\n.tc-chooser-item .tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tbackground-color: transparent;\n}\n\n.tc-chooser-item:hover .tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-chosen .tc-tiddlylink,\n.tc-drop-down .tc-chooser-item .tc-tiddlylink:hover {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-chosen > .tc-tiddlylink:before {\n\tmargin-left: -10px;\n\tposition: relative;\n\tcontent: \"» \";\n}\n\n.tc-chooser-item svg,\n.tc-chooser-item img{\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n.tc-language-chooser .tc-image-button img {\n\twidth: 2em;\n\tvertical-align: -0.15em;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\ninput.tc-palette-manager-colour-input {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button,\n.tc-table-of-contents .toc-item-muted {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\n\tvisibility: visible;\n}\n\nhtml body svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\n\tvisibility: hidden;\n}\n\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-clean {\n\tvisibility: hidden;\n}\n\nhtml body.tc-dirty svg.tc-image-save-button-dynamic .tc-image-save-button-dynamic-dirty {\n\tvisibility: visible;\n}\n\nhtml body.tc-dirty span.tc-dirty-indicator, html body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n::-webkit-file-upload-button {\n\tcursor:pointer;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Diffs\n*/\n\n.tc-diff-equal {\n\tbackground-color: <<colour diff-equal-background>>;\n\tcolor: <<colour diff-equal-foreground>>;\n}\n\n.tc-diff-insert {\n\tbackground-color: <<colour diff-insert-background>>;\n\tcolor: <<colour diff-insert-foreground>>;\n}\n\n.tc-diff-delete {\n\tbackground-color: <<colour diff-delete-background>>;\n\tcolor: <<colour diff-delete-foreground>>;\n}\n\n.tc-diff-invisible {\n\tbackground-color: <<colour diff-invisible-background>>;\n\tcolor: <<colour diff-invisible-foreground>>;\n}\n\n.tc-diff-tiddlers th {\n\ttext-align: right;\n\tbackground: <<colour background>>;\n\tfont-weight: normal;\n\tfont-style: italic;\n}\n\n.tc-diff-tiddlers pre {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: none;\n\tbackground: none;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n\n/*\n** Tree macro\n*/\n\n.tc-tree div {\n\tpadding-left: 14px;\n}\n\n.tc-tree ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n\tmargin-top: 0;\n}\n\n.tc-tree ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-tree button {\n\tcolor: #acacac;\n}\n\n.tc-tree svg {\n\tfill: #acacac;\n}\n\n.tc-tree span svg {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: baseline;\n}\n\n.tc-tree li span {\n\tcolor: lightgray;\n}\n\nselect {\n\tcolor: <<colour select-tag-foreground>>;\n\tbackground: <<colour select-tag-background>>;\n}\n\n/*\n** Translink macro\n*/\n\n.tc-translink {\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px;\n\tborder-radius: 3px;\n}\n\ndiv.tc-translink > div {\n\tmargin: 1em;\n}\n\ndiv.tc-translink > div > a:first-child > h1 {\n\tfont-size: 1.2em;\n\tfont-weight: bold;\n}\n\nspan.tc-translink > a:first-child {\n\tfont-weight: bold;\n}\n\n/*\n** Classes for displaying globals\n*/\n\n.tc-global-tiddler-body {\n\tpadding: 0.25em;\n\tborder: 1px solid <<colour foreground>>;\n\tbackground-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n}\n\n.tc-global-tiddler-body-heading {\n\tmargin: 0 0 0.25em 0;\n\tfont-weight: normal;\n}\n\n.tc-global-tiddler-body-type {\n\tmargin: 0 0 0.25em 0;\n\tborder-bottom: 1px solid <<colour foreground>>;\n}\n\n.tc-global-tiddler-body-details {\n\tbackground-color: <<colour background>>;\n}\n\n.tc-global-tiddler-body pre {\n\tmargin: 0;\n\tborder: 1px solid <<colour foreground>>;\n}\n\n/*\n** Utility classes for SVG icons\n*/\n\n.tc-fill-background {\n\tfill: <<colour background>>;\n}\n\n.tc-network-activity-background {\n\tfill: <<colour network-activity-foreground>>;\n}\n\n/*\n** Flexbox utility classes\n*/\n\n.tc-flex {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-flex-column {\n\tflex-direction: column;\n}\n\n.tc-flex-row {\n\tflex-direction: row;\n}\n\n.tc-flex-grow-1 {\n\tflex-grow: 1;\n}\n\n.tc-flex-grow-2 {\n\tflex-grow: 2;\n}\n\n/*\n** Other utility classes\n*/\n\n/* Horizontal gaps */\n\n.tc-tiny-gap {\n\tmargin-left: .25em;\n\tmargin-right: .25em;\n}\n\n.tc-tiny-gap-left {\n\tmargin-left: .25em;\n}\n\n.tc-tiny-gap-right {\n\tmargin-right: .25em;\n}\n\n.tc-small-gap {\n\tmargin-left: .5em;\n\tmargin-right: .5em;\n}\n\n.tc-small-gap-left {\n\tmargin-left: .5em;\n}\n\n.tc-small-gap-right {\n\tmargin-right: .5em;\n}\n\n.tc-big-gap {\n\tmargin-left: 1em;\n\tmargin-right: 1em;\n}\n\n.tc-big-gap-left {\n\tmargin-left: 1em;\n}\n\n.tc-big-gap-right {\n\tmargin-right: 1em;\n}\n\n.tc-word-break {\n\tword-break: break-all;\n}\n\n/* Vertical gaps */\n\n.tc-tiny-v-gap-bottom {\n\tmargin-bottom: 3px;\n}\n"},"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize":{"title":"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize","text":"15px"},"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight":{"title":"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight","text":"22px"},"$:/themes/tiddlywiki/vanilla/metrics/fontsize":{"title":"$:/themes/tiddlywiki/vanilla/metrics/fontsize","text":"14px"},"$:/themes/tiddlywiki/vanilla/metrics/lineheight":{"title":"$:/themes/tiddlywiki/vanilla/metrics/lineheight","text":"20px"},"$:/themes/tiddlywiki/vanilla/metrics/storyleft":{"title":"$:/themes/tiddlywiki/vanilla/metrics/storyleft","text":"0px"},"$:/themes/tiddlywiki/vanilla/metrics/storytop":{"title":"$:/themes/tiddlywiki/vanilla/metrics/storytop","text":"0px"},"$:/themes/tiddlywiki/vanilla/metrics/storyright":{"title":"$:/themes/tiddlywiki/vanilla/metrics/storyright","text":"770px"},"$:/themes/tiddlywiki/vanilla/metrics/storywidth":{"title":"$:/themes/tiddlywiki/vanilla/metrics/storywidth","text":"770px"},"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth":{"title":"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth","text":"686px"},"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint":{"title":"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint","text":"960px"},"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth":{"title":"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth","text":"350px"},"$:/themes/tiddlywiki/vanilla/options/stickytitles":{"title":"$:/themes/tiddlywiki/vanilla/options/stickytitles","text":"no"},"$:/themes/tiddlywiki/vanilla/options/sidebarlayout":{"title":"$:/themes/tiddlywiki/vanilla/options/sidebarlayout","text":"fixed-fluid"},"$:/themes/tiddlywiki/vanilla/options/codewrapping":{"title":"$:/themes/tiddlywiki/vanilla/options/codewrapping","text":"pre-wrap"},"$:/themes/tiddlywiki/vanilla/reset":{"title":"$:/themes/tiddlywiki/vanilla/reset","type":"text/css","text":"/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\nhtml {\n\t/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */\n\tfont-family:\n\t\tsystem-ui,\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n\tline-height: 1.15; /* 1. Correct the line height in all browsers. */\n\t-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */\n\t-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */\n\ttab-size: 4; /* 3 */\n}\n\n/*\nSections\n========\n*/\n\nbody {\n\tmargin: 0; /* Remove the margin in all browsers. */\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n"},"$:/themes/tiddlywiki/vanilla/settings/fontfamily":{"title":"$:/themes/tiddlywiki/vanilla/settings/fontfamily","text":"-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji"},"$:/themes/tiddlywiki/vanilla/settings/codefontfamily":{"title":"$:/themes/tiddlywiki/vanilla/settings/codefontfamily","text":"\"SFMono-Regular\",Consolas,\"Liberation Mono\",Menlo,Courier,monospace"},"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment":{"title":"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment","text":"fixed"},"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize":{"title":"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize","text":"auto"},"$:/themes/tiddlywiki/vanilla/sticky":{"title":"$:/themes/tiddlywiki/vanilla/sticky","code-body":"yes","text":"<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n\n``\n<$list filter=\"[range[100]]\">\n`.tc-story-river .tc-tiddler-frame:nth-child(100n+`<$text text=<<currentTiddler>>/>`) {\nz-index: `<$text text={{{ [[200]subtract<currentTiddler>] }}}/>`;\n}\n`\n</$list>\n</$reveal>\n"}}}