{"$:/GoogleAnalyticsAccount":"afc-base-theme","$:/GoogleAnalyticsMeasurementID":"afc-base-theme","$:/New steering group meeting notes button":"ambit-peer-support-programme_public","$:/SiteSubtitle":"ambit-peer-support-programme_public","$:/SiteTitle":"ambit-peer-support-programme_public","$:/_AFC/AboveStory/Logo":"afc-base-theme","$:/_AFC/EditDraftInfoSegment":"afc-base-theme","$:/_AFC/Fonts/UseFonts":"afc-base-theme","$:/_AFC/Macros/Image":"afc-base-theme","$:/_AFC/Macros/YouTube":"afc-base-theme","$:/_AFC/Palette":"ambit-peer-support-programme_public","$:/_AFC/Startup/ConfigurePreview":"afc-base-theme","$:/_AFC/Styles/Bubbles":"afc-base-theme","$:/_AFC/Styles/DocLinks":"afc-base-theme","$:/_AFC/Styles/FadedSidebar":"ambit-peer-support-programme_public","$:/_AFC/Styles/HideEditButton":"afc-base-theme","$:/_AFC/Styles/Overrides":"afc-base-theme","$:/_AFC/Styles/TopMenu":"afc-base-theme","$:/_AFC/SurveyBanner":"afc-base-theme","$:/_AFC/SurveyBanner/Styles":"afc-base-theme","$:/_AFC/TagDropdown/NewHere":"afc-base-theme","$:/_AFC/TagNavigation/Styles":"ambit-peer-support-programme_public","$:/_AFC/TagNavigationMacro":"ambit-peer-support-programme_public","$:/_AFC/TiddlerInfo/Text":"afc-base-theme","$:/_AFC/consent-banner/buttons/login":"afc-base-theme","$:/_AFC/grey-wordmark.svg":"afc-base-theme","$:/_Macros/ImageLink":"afc-base-theme","$:/_Macros/LinkDoc":"afc-base-theme","$:/_Macros/LinkPDF":"afc-base-theme","$:/_Macros/Video":"afc-base-theme","$:/config/BitmapEditor/Colour":"ambit-peer-support-programme_public","$:/config/ColourPicker/Recent":"ambit-peer-support-programme_public","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":"afc-base-theme","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview":"afc-base-theme","$:/config/RelinkOnRename":"ambit-peer-support-programme_public","$:/config/ViewToolbarButtons/Visibility/$:/plugins/federatial/print/button":"afc-base-theme","$:/config/WikiParserRules/Inline/wikilink":"ambit-peer-support-programme_public","$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/contents":"afc-base-theme","$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server":"afc-base-theme","$:/config/plugins/tiddlywiki/consent-banner/greeting-message":"afc-base-theme","$:/core/ui/Buttons/new-journalliz":"ambit-peer-support-programme_public","$:/core/ui/MoreSideBar/Drafts":"afc-base-theme","$:/core/ui/ViewTemplate/subtitle":"afc-base-theme","$:/favicon.ico":"afc-base-theme","$:/language/SideBar/Open/Caption":"afc-base-theme","$:/language/SideBar/Recent/Caption":"afc-base-theme","$:/lizmacros/list-thumbnailsLC":"ambit-peer-support-programme_public","$:/palette":"ambit-peer-support-programme_public","$:/plugins/federatial/print/button":"afc-base-theme","$:/plugins/federatial/print/styles":"afc-base-theme","$:/plugins/federatial/print/template":"afc-base-theme","$:/plugins/federatial/print/template/inner":"afc-base-theme","$:/plugins/federatial/print/window":"afc-base-theme","$:/plugins/federatial/xememex/status-button":"afc-base-theme","$:/plugins/tiddlywiki/consent-banner":"afc-base-theme","$:/plugins/tiddlywiki/googleanalytics":"afc-base-theme","$:/plugins/tiddlywiki/menubar":"afc-base-theme","$:/tags/ViewTemplate":"afc-base-theme","$:/theme":"ambit-peer-support-programme_public","$:/themes/tiddlywiki/vanilla/options/sidebarlayout":"ambit-peer-support-programme_public","$:/thumbnail-caption-style-LC":"ambit-peer-support-programme_public","1 white square.svg":"ambit-peer-support-programme_public","1. Introduction to peer support - AFNCCF training videos":"ambit-peer-support-programme_public","10th November 2021 - mentor interviews":"ambit-peer-support-programme_public","11th August 2021 - postponed first steering group meeting":"ambit-peer-support-programme_public","11th May 2022 - session 2 of the group mentoring programme":"ambit-peer-support-programme_public","12th January - Session 1, mentoring groupwork programme":"ambit-peer-support-programme_public","13th April - second session of training for new mentors":"ambit-peer-support-programme_public","13th July 2022 - session 11 peer mentoring group":"ambit-peer-support-programme_public","13th October 2021 Steering Group Meeting Notes":"ambit-peer-support-programme_public","15th December 2021 - Review session with mentors":"ambit-peer-support-programme_public","15th June 2022 - session 7 of the peer mentoring group programme":"ambit-peer-support-programme_public","15th September 2021 - first steering group meeting":"ambit-peer-support-programme_public","15th September 2021 Steering Group Meeting Notes":"ambit-peer-support-programme_public","16th February - Session 6, mentoring groupwork programme":"ambit-peer-support-programme_public","16th February 2022 Steering Group Meeting Notes":"ambit-peer-support-programme_public","16th March - session 10, mentoring group programme":"ambit-peer-support-programme_public","16th March 2022 - planning a graduation event":"ambit-peer-support-programme_public","17th November 2021 - first mentor training session":"ambit-peer-support-programme_public","18th May 2022 - session 3 of the group mentoring programme":"ambit-peer-support-programme_public","19th January - Session 2, mentoring groupwork programme":"ambit-peer-support-programme_public","1st December 2021 - 3rd mentor training session":"ambit-peer-support-programme_public","1st June 2022 - session 5 of the group mentoring programme":"ambit-peer-support-programme_public","2 white square.svg":"ambit-peer-support-programme_public","2. Different types of peer support - AFNCCF training videos":"ambit-peer-support-programme_public","20th April - third session of training for new mentors":"ambit-peer-support-programme_public","20th July - session 12 peer mentoring group - celebration event":"ambit-peer-support-programme_public","22nd June 2022 - session 8 of peer mentoring group":"ambit-peer-support-programme_public","23rd February - session 7, mentoring group programme":"ambit-peer-support-programme_public","23rd June 2021 - meeting face to face":"ambit-peer-support-programme_public","23rd March - session 11, mentoring group programme":"ambit-peer-support-programme_public","24th November 2021 - 2nd mentor training session":"ambit-peer-support-programme_public","25th May 2022 - session 4 of the group mentoring programme":"ambit-peer-support-programme_public","26th January - Session 3, mentoring groupwork programme":"ambit-peer-support-programme_public","27th April 2022 - fourth session of training for new mentors":"ambit-peer-support-programme_public","27th July 2021 - planning the detail of the first steering group meeting":"ambit-peer-support-programme_public","27th October 2021 Steering Group Meeting Notes":"ambit-peer-support-programme_public","28th September 2021 Steering Group Meeting Notes - programme planning workshop":"ambit-peer-support-programme_public","29th June 2022 - session 9 peer mentoring group":"ambit-peer-support-programme_public","2nd February - Session 4, mentoring groupwork programme":"ambit-peer-support-programme_public","2nd March - session 8, mentoring group programme":"ambit-peer-support-programme_public","3 white square.svg":"ambit-peer-support-programme_public","3. Five core principles of peer support - AFNCCF training videos":"ambit-peer-support-programme_public","30th March - session 12, mentoring group programme":"ambit-peer-support-programme_public","30th March 2022 - new mentor interviews":"ambit-peer-support-programme_public","4 white square.svg":"ambit-peer-support-programme_public","4. Training peer mentors - AFNCCF training videos":"ambit-peer-support-programme_public","4th May 2022 - Introductory session (session 1) of the group mentoring programme (cohort 2)":"ambit-peer-support-programme_public","4th May 2022 Steering Group Meeting Notes":"ambit-peer-support-programme_public","5 white square.svg":"ambit-peer-support-programme_public","5. Safeguarding and supervision - AFNCCF training videos":"ambit-peer-support-programme_public","6. Demonstrating impact and sustainability - AFNCCF training videos":"ambit-peer-support-programme_public","6th April 2022 - Cohort 1 end of programme celebration at the Anna Freud Centre":"ambit-peer-support-programme_public","6th April 2022 - First session of training for new mentors":"ambit-peer-support-programme_public","6th July 2022 - session 10 peer mentoring group":"ambit-peer-support-programme_public","8th December 2021 - 4th mentor training session":"ambit-peer-support-programme_public","8th June 2002 - group supervision for mentors":"ambit-peer-support-programme_public","8th June 2022 - session 6 of the peer mentoring group programme":"ambit-peer-support-programme_public","9th February - Session 5, mentoring groupwork programme":"ambit-peer-support-programme_public","9th June 2021 - meeting of the core project team":"ambit-peer-support-programme_public","9th March - mentor group supervision":"ambit-peer-support-programme_public","9th March - session 9, mentoring group programme":"ambit-peer-support-programme_public","AF-logo-Black.jpg":"ambit-peer-support-programme_public","AMBIT Group Peer Mentoring Model":"ambit-peer-support-programme_public","AMBIT schools peer support initial proposal (2020)":"ambit-peer-support-programme_public","AMBIT schools peer support training: information for tutors (2021)":"ambit-peer-support-programme_public","AMBIT schools peer support: mentor training workbook (2020)":"ambit-peer-support-programme_public","AMBIT schools peers support training slides (2021)":"ambit-peer-support-programme_public","Adapting the peer support programme to community settings":"ambit-peer-support-programme_public","Agenda for steering group - 19.10.22":"ambit-peer-support-programme_public","Background to the project - how we developed it":"ambit-peer-support-programme_public","Berkeley Foundation Logo.png":"ambit-peer-support-programme_public","Change Mechanisms":"ambit-peer-support-programme_public","Chapter 1: Introduction":"ambit-peer-support-programme_public","Chapter 2: Get ready":"ambit-peer-support-programme_public","Chapter 3: Recruit and train your mentors":"ambit-peer-support-programme_public","Chapter 4: Prepare your mentees":"ambit-peer-support-programme_public","Chapter 5: Run your peer mentoring group programme":"ambit-peer-support-programme_public","Chapter 6: Work as a connected team":"ambit-peer-support-programme_public","Chapter 7: Measure impact and keep learning":"ambit-peer-support-programme_public","Chapter 8: Contact us":"ambit-peer-support-programme_public","Cohort 3 celebration event - feedback from mentors, mentees and parents":"ambit-peer-support-programme_public","Content for the Peer Support Manual":"ambit-peer-support-programme_public","Covered in chapter 1":"ambit-peer-support-programme_public","Covered in chapter 2":"ambit-peer-support-programme_public","Covered in chapter 3":"ambit-peer-support-programme_public","Covered in chapter 4":"ambit-peer-support-programme_public","Covered in chapter 5":"ambit-peer-support-programme_public","Covered in chapter 6":"ambit-peer-support-programme_public","Covered in chapter 7":"ambit-peer-support-programme_public","DefaultTiddlers":"ambit-peer-support-programme_public","Developing and sustaining a well-connected peer mentoring team":"ambit-peer-support-programme_public","DfE Evaluation of peer support for mental health and wellbeing pilots: full report (2020)":"ambit-peer-support-programme_public","DfE Evaluation of peer support for mh and wellbeing pilots: research brief (2020)":"ambit-peer-support-programme_public","DfE Peer support and children and young people's mental health: research review (2017)":"ambit-peer-support-programme_public","DfE-funded Peer Support Pilots: AFNCCF Training Videos":"ambit-peer-support-programme_public","DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots":"ambit-peer-support-programme_public","EPBU report - Learning from HeadStart (2020)":"ambit-peer-support-programme_public","Ecorys - DfE peer support for mental health and wellbeing pilots: lessons learned (2020)":"ambit-peer-support-programme_public","End of Cohort 1 celebration/evaluation feedback from mentors/mentees":"ambit-peer-support-programme_public","End of pilot dissemination event":"ambit-peer-support-programme_public","Endings and exit strategies":"ambit-peer-support-programme_public","Ensuring safety and equity (AMBIT Team)":"ambit-peer-support-programme_public","Evaluation of the programme - what does this mean to the Hear4Youth Team?":"ambit-peer-support-programme_public","Home":"ambit-peer-support-programme_public","How did we develop the model?":"ambit-peer-support-programme_public","How to support a friend lesson plan":"ambit-peer-support-programme_public","How we do our team meetings":"ambit-peer-support-programme_public","How we use outcome measures":"ambit-peer-support-programme_public","IPPF statement on youth peer provision for sexual health services (2016)":"ambit-peer-support-programme_public","Identifying and preparing mentees":"ambit-peer-support-programme_public","Implementing your peer mentoring programme - a checklist":"ambit-peer-support-programme_public","Intervention":"ambit-peer-support-programme_public","Jim Chynoweth":"ambit-peer-support-programme_public","Keep in touch":"ambit-peer-support-programme_public","Key learning/reflection points":"ambit-peer-support-programme_public","Learning continued, cohorts 2 & 3 (for the Berkeley report)":"ambit-peer-support-programme_public","Learning from Cohorts 1 & 2 (taken from the first Berkeley report)":"ambit-peer-support-programme_public","Liz Cracknell":"ambit-peer-support-programme_public","Logic model - under construction":"ambit-peer-support-programme_public","Logic model for the peer support programme":"ambit-peer-support-programme_public","Logic model styles":"ambit-peer-support-programme_public","Luke Pottinger":"ambit-peer-support-programme_public","Measuring outcomes: is your peer mentoring programme helping?":"ambit-peer-support-programme_public","Mental Health Commission of Canada: Guidelines for the practice and training of peer support (2013)":"ambit-peer-support-programme_public","Mentee referral form template.docx":"ambit-peer-support-programme_public","Mentor 1:1 supervision questions/agenda":"ambit-peer-support-programme_public","Mentor end of cohort questions":"ambit-peer-support-programme_public","Mentor training session 1":"ambit-peer-support-programme_public","Mentor training session 2":"ambit-peer-support-programme_public","Mentor training session 3":"ambit-peer-support-programme_public","Mind: developing peer support in the community toolkit (2017)":"ambit-peer-support-programme_public","Modelling help-seeking":"ambit-peer-support-programme_public","Moderators":"ambit-peer-support-programme_public","More than Mentors":"ambit-peer-support-programme_public","More than Mentors: a review of year 1 intervention delivery (2018)":"ambit-peer-support-programme_public","My-Peer Toolkit (2010)":"ambit-peer-support-programme_public","National Voices - Online peer support: learning summary (2021)":"ambit-peer-support-programme_public","National Voices - Peer support: opportunities and challenges (2021)":"ambit-peer-support-programme_public","New Tiddler":"ambit-peer-support-programme_public","New Tiddler 1":"ambit-peer-support-programme_public","Nura Abdul-Razak":"ambit-peer-support-programme_public","Our funders":"ambit-peer-support-programme_public","Outcomes":"ambit-peer-support-programme_public","Peer Support Team - topics to manualize":"ambit-peer-support-programme_public","Peer mentoring programme outcomes framework":"ambit-peer-support-programme_public","Peer support: what is it and does it work? Nesta (2015)":"ambit-peer-support-programme_public","Post-training questionnaire.docx":"ambit-peer-support-programme_public","Preparing and matching mentors and mentees for the group mentoring programme":"ambit-peer-support-programme_public","Preparing for a peer mentoring programme":"ambit-peer-support-programme_public","Preparing for training / style of delivery":"ambit-peer-support-programme_public","Process maps for: Delivery of mentoring group programme; and monitoring & evaluation":"ambit-peer-support-programme_public","Process maps for: Steering group; Delivery team; Identifying and preparing mentors and mentees":"ambit-peer-support-programme_public","Programme development areas":"ambit-peer-support-programme_public","Project Aims":"ambit-peer-support-programme_public","Project Plan":"ambit-peer-support-programme_public","Project Team":"ambit-peer-support-programme_public","Project journal":"ambit-peer-support-programme_public","Rebecca Smith":"ambit-peer-support-programme_public","Recruiting mentors":"ambit-peer-support-programme_public","Recruiting your mentors":"ambit-peer-support-programme_public","Research and Resources":"ambit-peer-support-programme_public","SWOT analysis":"ambit-peer-support-programme_public","Schools Support Service Peer Support":"ambit-peer-support-programme_public","SiteIcon":"ambit-peer-support-programme_public","States of Mind peer mentoring project (2020)":"ambit-peer-support-programme_public","Steering Group":"ambit-peer-support-programme_public","Supporting mentors through the group mentoring programme":"ambit-peer-support-programme_public","Target":"ambit-peer-support-programme_public","Team members' roles, responsibilities, strengths":"ambit-peer-support-programme_public","Templates for programme delivery":"ambit-peer-support-programme_public","The group mentoring model":"ambit-peer-support-programme_public","The importance of clarity of purpose":"ambit-peer-support-programme_public","The peer mentoring plan - adapting to your setting":"ambit-peer-support-programme_public","The peer mentoring team":"ambit-peer-support-programme_public","The purpose and aims of the peer mentoring programme":"ambit-peer-support-programme_public","Theory of help-seeking video":"ambit-peer-support-programme_public","Timeline for year 2 of the peer mentoring programme":"ambit-peer-support-programme_public","Training resources":"ambit-peer-support-programme_public","Twitter.png":"ambit-peer-support-programme_public","Underpinning theory/practice models":"ambit-peer-support-programme_public","Welcome! The purpose of this manual and the peer support programme.":"ambit-peer-support-programme_public","What is success? Key outcomes":"ambit-peer-support-programme_public","What is the AMBIT group peer mentoring model?":"ambit-peer-support-programme_public","What is the evidence for the model?":"ambit-peer-support-programme_public","What is this manual for?":"ambit-peer-support-programme_public","Worker roles in the mentor training and peer mentoring sessions":"ambit-peer-support-programme_public","Young people and help-seeking":"ambit-peer-support-programme_public","Youth peer education tool kit: training of trainers manual (2005)":"ambit-peer-support-programme_public","_GoogleDocsIcons_docs":"afc-base-theme","_GoogleDocsIcons_sheets":"afc-base-theme","_GoogleDocsIcons_slides":"afc-base-theme","afnccf peer support page.jpg":"ambit-peer-support-programme_public","ambit small.png":"ambit-peer-support-programme_public","c1":"ambit-peer-support-programme_public","c4":"ambit-peer-support-programme_public","chapter (1).JPG":"ambit-peer-support-programme_public","chapter (2).JPG":"ambit-peer-support-programme_public","chapter (3).JPG":"ambit-peer-support-programme_public","chapter (4).JPG":"ambit-peer-support-programme_public","chapter (5).JPG":"ambit-peer-support-programme_public","chapter (6).JPG":"ambit-peer-support-programme_public","chapter (7).JPG":"ambit-peer-support-programme_public","chapter (8).JPG":"ambit-peer-support-programme_public","driving.jpg":"ambit-peer-support-programme_public","guidelines":"ambit-peer-support-programme_public","header (1).JPG":"ambit-peer-support-programme_public","header (2).JPG":"ambit-peer-support-programme_public","header (3).JPG":"ambit-peer-support-programme_public","header (4).JPG":"ambit-peer-support-programme_public","header (5).JPG":"ambit-peer-support-programme_public","header (6).JPG":"ambit-peer-support-programme_public","header (7).JPG":"ambit-peer-support-programme_public","header (8).JPG":"ambit-peer-support-programme_public","icon-354339_640.png":"ambit-peer-support-programme_public","image.png":"ambit-peer-support-programme_public","journal.jpg":"ambit-peer-support-programme_public","left":"ambit-peer-support-programme_public","library.jpg":"ambit-peer-support-programme_public","logic-model-edit":"ambit-peer-support-programme_public","other peer mentoring projects":"ambit-peer-support-programme_public","peerChange Mechanisms":"ambit-peer-support-programme_public","peerIntervention":"ambit-peer-support-programme_public","peerModerators":"ambit-peer-support-programme_public","peerOutcomes":"ambit-peer-support-programme_public","peerTarget":"ambit-peer-support-programme_public","plan.jpg":"ambit-peer-support-programme_public","right":"ambit-peer-support-programme_public","winch logo.png":"ambit-peer-support-programme_public"}
{"$:/GoogleAnalyticsAccount":"\"1d6a12df4239d409d489167749c0bed1\"","$:/GoogleAnalyticsMeasurementID":"\"18911c203bbfeecb9a7a5da94216ac89\"","$:/New steering group meeting notes button":"\"b35c132c8f37420a40036ea8996f1e3b\"","$:/SiteSubtitle":"\"25ab8b169ced58340abc5ec6c85c61e6\"","$:/SiteTitle":"\"aa1e6cf54e9620b0a82ab803361fd2bf\"","$:/_AFC/AboveStory/Logo":"\"5127e589add5a24e7187d035da474c7c\"","$:/_AFC/EditDraftInfoSegment":"\"14b97bb8d45794bfb36bf9192951e8f5\"","$:/_AFC/Fonts/UseFonts":"\"407b5d37d1e1ee2dae27565f115b1230\"","$:/_AFC/Macros/Image":"\"c187fbc8c037e27fd02504e25c0aa644\"","$:/_AFC/Macros/YouTube":"\"571226f519b51c4b102ca27cec59bbcf\"","$:/_AFC/Palette":"\"bd78af7d66e46e7b55e35baff03cb494\"","$:/_AFC/Startup/ConfigurePreview":"\"d186a5c9b65e35420bbf7741b3c5f117\"","$:/_AFC/Styles/Bubbles":"\"78f9eee66bbb77bb10131346cb66b379\"","$:/_AFC/Styles/DocLinks":"\"7d61fa04de3c14df53b5ce0dfabde15d\"","$:/_AFC/Styles/FadedSidebar":"\"c7a9d7be81197e4ccd2d75503b0368e3\"","$:/_AFC/Styles/HideEditButton":"\"051c89709a3e30ce00bcd654225c25f4\"","$:/_AFC/Styles/Overrides":"\"7cd87a6d1e66b3bc038248e1bab8d0ee\"","$:/_AFC/Styles/TopMenu":"\"b0cd98b814e1a1a2bea0e34aa3e2e60c\"","$:/_AFC/SurveyBanner":"\"b3015c7cf7503a0e11b08600c77311c8\"","$:/_AFC/SurveyBanner/Styles":"\"9b107d4e7cd47997f555010fc299f641\"","$:/_AFC/TagDropdown/NewHere":"\"45deec1e2ad63899621dfb64b7cbe229\"","$:/_AFC/TagNavigation/Styles":"\"0e70456787e925cf7a603598849869e7\"","$:/_AFC/TagNavigationMacro":"\"0db74fac9be9a6932cc815044d74c666\"","$:/_AFC/TiddlerInfo/Text":"\"535865a9e975de227599cdd32f4ccc9e\"","$:/_AFC/consent-banner/buttons/login":"\"53924a18efd5ea26807b35fb2f545f68\"","$:/_AFC/grey-wordmark.svg":"\"c6672baba27f3fc4e7c3e14658b8167d\"","$:/_Macros/ImageLink":"\"3bbbf684a6393e57386fd7a0bcf1b94e\"","$:/_Macros/LinkDoc":"\"bea2d309a4d3c118bad5d5b78472977d\"","$:/_Macros/LinkPDF":"\"1833c49010a51b795109546425d87189\"","$:/_Macros/Video":"\"76773c71485bfc36f916e293e1eb17b8\"","$:/config/BitmapEditor/Colour":"\"a1bec880a62022016946096c2be4e726\"","$:/config/ColourPicker/Recent":"\"7620fe2d95d8cf7a104633222a03aee0\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import":"\"91bad08dea7d7601dfb8826d8064c48c\"","$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview":"\"2b5addfafb4a62332a9649ee89ec8197\"","$:/config/RelinkOnRename":"\"95716d6237c6a55369c40f8f86cd6663\"","$:/config/ViewToolbarButtons/Visibility/$:/plugins/federatial/print/button":"\"0e15c4427b0db8bc7ab25e467aa8c0bd\"","$:/config/WikiParserRules/Inline/wikilink":"\"f556263c593baa71ebc7dfde468b1c17\"","$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/contents":"\"d86d3acf25e62ebab56871fef1e7faae\"","$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server":"\"9030fe5f447225c77631be1bd328ce71\"","$:/config/plugins/tiddlywiki/consent-banner/greeting-message":"\"135d7ecf1b4eb392c0f8a6563befb5db\"","$:/core/ui/Buttons/new-journalliz":"\"029da4f56279c0616b9d6fdcbd037d3f\"","$:/core/ui/MoreSideBar/Drafts":"\"bc8030c66ff72ad4a0d9f0000f16600d\"","$:/core/ui/ViewTemplate/subtitle":"\"b0c8d4a1cfa25413f198cc963d3f4ef8\"","$:/favicon.ico":"\"9233b4d8e50d7c217c16a80d623deedb\"","$:/language/SideBar/Open/Caption":"\"4a5a58ece66943abd5b907338101992a\"","$:/language/SideBar/Recent/Caption":"\"ef22e424053f0777487f0853323d72b8\"","$:/lizmacros/list-thumbnailsLC":"\"d33fd6a0c2fd77340e8b6b208d4f2432\"","$:/palette":"\"1aca18fd60364263ac634e248da4a0ca\"","$:/plugins/federatial/print/button":"\"e25177d0c3d818bbe28b1a7f36bc0b4c\"","$:/plugins/federatial/print/styles":"\"2ea66bf6be0fb2a73f32ce9825fd325a\"","$:/plugins/federatial/print/template":"\"581a8671a3e18319afcd6ff8c916f21e\"","$:/plugins/federatial/print/template/inner":"\"bd9a103267a6863fbaa0fb1fbe2e66ed\"","$:/plugins/federatial/print/window":"\"968a343265c864d64a865e478bbf912a\"","$:/plugins/federatial/xememex/status-button":"\"2277ef8c8a197aef0bbd393f2a6dbfbb\"","$:/plugins/tiddlywiki/consent-banner":"\"437b646dfbf2b2fd26bfb28ee3d5c70b\"","$:/plugins/tiddlywiki/googleanalytics":"\"736d055c310b36b0245b1708909d2790\"","$:/plugins/tiddlywiki/menubar":"\"8d733472d1f1bad4b5ba19074767feba\"","$:/tags/ViewTemplate":"\"d665195bf405c0eff27ac5c2807b7287\"","$:/theme":"\"19d4d72cf011d675a61782ea3e66ecca\"","$:/themes/tiddlywiki/vanilla/options/sidebarlayout":"\"65c55baa72bb21bbf18e1996f3598688\"","$:/thumbnail-caption-style-LC":"\"4aeb3db5d82290020a080bfeab0e73e0\"","1 white square.svg":"\"4d22eb390d768e6827ba0a26e234040c\"","1. Introduction to peer support - AFNCCF training videos":"\"42473de18162c7dc2fd7438c3205edd5\"","10th November 2021 - mentor interviews":"\"c18db5c5e6525919cb289b7dbb79e23e\"","11th August 2021 - postponed first steering group meeting":"\"b45aafc12d9cb7f41184f602f030ed9f\"","11th May 2022 - session 2 of the group mentoring programme":"\"82730033979b3895bb9c0a573f42c76c\"","12th January - Session 1, mentoring groupwork programme":"\"f8adb450d42b0a612b508c1030daa0c1\"","13th April - second session of training for new mentors":"\"fee0c28772331bac20d2d13a359b91c1\"","13th July 2022 - session 11 peer mentoring group":"\"c20a097460d9f6bdd21cce725e3fb6b9\"","13th October 2021 Steering Group Meeting Notes":"\"c9e06554b337e45bf18145d94671c053\"","15th December 2021 - Review session with mentors":"\"d19ecbeadb74b6e71d2743fe5c66f1fa\"","15th June 2022 - session 7 of the peer mentoring group programme":"\"dd06fdd0a01593aca434949565dd6e07\"","15th September 2021 - first steering group meeting":"\"f9bce396f439b08cf497102f782e40b2\"","15th September 2021 Steering Group Meeting Notes":"\"2ca2181e5f4772edc199720fb6a1b9e2\"","16th February - Session 6, mentoring groupwork programme":"\"7629f4cc17481d22b1070498829cda3e\"","16th February 2022 Steering Group Meeting Notes":"\"baa7e1ee4df131e8c4df01cf5c864596\"","16th March - session 10, mentoring group programme":"\"655de2df846f01eed84537cad751eade\"","16th March 2022 - planning a graduation event":"\"233a83cfa727fd183663afd75f153e23\"","17th November 2021 - first mentor training session":"\"2a4722567ec1176512fc350e0a3da81f\"","18th May 2022 - session 3 of the group mentoring programme":"\"7cabc619739c8c964f9c4be896a80513\"","19th January - Session 2, mentoring groupwork programme":"\"a8954b28e1c710ea014a270df9bb1651\"","1st December 2021 - 3rd mentor training session":"\"dc0a2d96924569c4fb9d1e523368d817\"","1st June 2022 - session 5 of the group mentoring programme":"\"eeb7ca923cbd07fbe819dfcf175b5ec7\"","2 white square.svg":"\"700b7a7f42ec72f74c228ce353fef965\"","2. Different types of peer support - AFNCCF training videos":"\"edce2c478b7f7a54ca832aff78d27015\"","20th April - third session of training for new mentors":"\"266b5dc9792aaafa01896b89e1effbfe\"","20th July - session 12 peer mentoring group - celebration event":"\"e584413440416303d50d14cdad91edb6\"","22nd June 2022 - session 8 of peer mentoring group":"\"85fc98542d996c0cb24c764420ef0082\"","23rd February - session 7, mentoring group programme":"\"6a8138e7fdb9bf065a7a67908296356c\"","23rd June 2021 - meeting face to face":"\"1b1b2941976803ad41d2154687bd5f85\"","23rd March - session 11, mentoring group programme":"\"146845b52f709416bd89b753870797ea\"","24th November 2021 - 2nd mentor training session":"\"938705f49b2f2e3baa68d4627fd4e920\"","25th May 2022 - session 4 of the group mentoring programme":"\"69dcba46971e5d9613fcb5af57c09637\"","26th January - Session 3, mentoring groupwork programme":"\"6914eb410724d0e1e9a9fcfa24718a23\"","27th April 2022 - fourth session of training for new mentors":"\"94223a510bc8b74b96a1958d10e136bb\"","27th July 2021 - planning the detail of the first steering group meeting":"\"104a51008e3e4e2ce50a6e7b17093121\"","27th October 2021 Steering Group Meeting Notes":"\"a05019dd3e4761f89f9fea5dfd09cbca\"","28th September 2021 Steering Group Meeting Notes - programme planning workshop":"\"219b66bb64672d51ab3c1637a0ae7fc6\"","29th June 2022 - session 9 peer mentoring group":"\"7c1e3307251ee703abdb1639c54ef167\"","2nd February - Session 4, mentoring groupwork programme":"\"667889e59687a101eef4450e2bfce6a1\"","2nd March - session 8, mentoring group programme":"\"f424dfb01e6fd0c05a49e12656c52bcb\"","3 white square.svg":"\"3e4282c8a658cda5f50fdef5838e8a87\"","3. Five core principles of peer support - AFNCCF training videos":"\"b1c0f72f64f49a1f79cab2c9e25d3270\"","30th March - session 12, mentoring group programme":"\"a5f775b7498e2fbdc7286e30127917f6\"","30th March 2022 - new mentor interviews":"\"f02acd4009636edd4a3b541764f99f05\"","4 white square.svg":"\"0061559be4203c9b8514ce281ae9319f\"","4. Training peer mentors - AFNCCF training videos":"\"b63075cf14882deeae72b64d0b6c812b\"","4th May 2022 - Introductory session (session 1) of the group mentoring programme (cohort 2)":"\"84c81831e22b9fb181ce6d1235f65b63\"","4th May 2022 Steering Group Meeting Notes":"\"860b509b02d32abbfe4e7973dd1166ce\"","5 white square.svg":"\"c6b0a517b004a2ebc542ad9bea0b286f\"","5. Safeguarding and supervision - AFNCCF training videos":"\"fa582c9ab2612d0e50aaf257990f4e90\"","6. Demonstrating impact and sustainability - AFNCCF training videos":"\"b16102281a3a90184829a6d7714bf1a5\"","6th April 2022 - Cohort 1 end of programme celebration at the Anna Freud Centre":"\"4f4afcefc8d4ea42b0f14909ef09daf5\"","6th April 2022 - First session of training for new mentors":"\"9e4020007ee20f64ee75203e3a61b37f\"","6th July 2022 - session 10 peer mentoring group":"\"a286c7f6f1b3aefaea2ad2908f333811\"","8th December 2021 - 4th mentor training session":"\"4155623143dce561ecb5b280c795b771\"","8th June 2002 - group supervision for mentors":"\"cf0fce5579cf5f2a1a36daf5ff9c26a6\"","8th June 2022 - session 6 of the peer mentoring group programme":"\"211c3531032864dbd5e6be6c241b078b\"","9th February - Session 5, mentoring groupwork programme":"\"da9f68ed51308da66f4fd55463e8e0c2\"","9th June 2021 - meeting of the core project team":"\"fc571074d5be78dc750ac15aa3263611\"","9th March - mentor group supervision":"\"6ea8efb221e11af22f6d2ba1ae1ad503\"","9th March - session 9, mentoring group programme":"\"9726acc8dd324d593fd571338f86d7a4\"","AF-logo-Black.jpg":"\"d088812e0018a0cbf3ea2896eb6b3dbc\"","AMBIT Group Peer Mentoring Model":"\"c3e4c07e7629783337a87f6548a3175e\"","AMBIT schools peer support initial proposal (2020)":"\"7efa22cecdf7c4efdfa227c1c966d2e9\"","AMBIT schools peer support training: information for tutors (2021)":"\"2498b56a6b5478078381ee793a3817c7\"","AMBIT schools peer support: mentor training workbook (2020)":"\"56388de9ffb93d59998dcc206bb012b8\"","AMBIT schools peers support training slides (2021)":"\"032ec49c5fd170823568588f5c57ccd3\"","Adapting the peer support programme to community settings":"\"83a99789e43156c36f685ef8a4a42360\"","Agenda for steering group - 19.10.22":"\"d43dc4af070b8b3cecaf149fcd96c1e0\"","Background to the project - how we developed it":"\"c5bedad9bfd67d64d11c1b1db291b0a9\"","Berkeley Foundation Logo.png":"\"93f96baeae8ddae0bcf3ce3201b91a59\"","Change Mechanisms":"\"319e85c45053599b2a33cd29238cbd7a\"","Chapter 1: Introduction":"\"1d1e32c1929861e09f95eb4d11d6d7a0\"","Chapter 2: Get ready":"\"80abc5fcfbde89da64886e47ce24e3d9\"","Chapter 3: Recruit and train your mentors":"\"61b129a64804f2b0777f167f52da454f\"","Chapter 4: Prepare your mentees":"\"caeb519c76d5058c525cccabef31f4e6\"","Chapter 5: Run your peer mentoring group programme":"\"9736c73d22266ee1236e1293073d619f\"","Chapter 6: Work as a connected team":"\"c9d1ad3fcc3765300601a6ae726d1666\"","Chapter 7: Measure impact and keep learning":"\"87b8cfdaddb6364702576f7915447e76\"","Chapter 8: Contact us":"\"ce0aafc808a8bc20c4ed9e8262305962\"","Cohort 3 celebration event - feedback from mentors, mentees and parents":"\"2ed22947c7db70de66b8d510caff32f7\"","Content for the Peer Support Manual":"\"cab99b3360efe539db1252c6ba4fe6ea\"","Covered in chapter 1":"\"f11bde0e5c9f28d5926df5dead65af3a\"","Covered in chapter 2":"\"a3dc4387af096c5e2990e07640aa2212\"","Covered in chapter 3":"\"73ec70ce72f0696c08de2bd5dd6b5053\"","Covered in chapter 4":"\"e2ff454c500238df8b28d414206bd5e0\"","Covered in chapter 5":"\"8085e7e2664947e0f3f056c23b0c91ae\"","Covered in chapter 6":"\"ddb0b5c3ce58810c785ae467696f4460\"","Covered in chapter 7":"\"f2b79493febf4dcbbec37595808722b7\"","DefaultTiddlers":"\"b596f29dbc19a758da37c3531284ca4c\"","Developing and sustaining a well-connected peer mentoring team":"\"bd292fcc57c6de810e80db2a438c7b2d\"","DfE Evaluation of peer support for mental health and wellbeing pilots: full report (2020)":"\"8041fb622c241df56b22efb3ec242d40\"","DfE Evaluation of peer support for mh and wellbeing pilots: research brief (2020)":"\"6b5e14becaefd6f45d60dae284f5e562\"","DfE Peer support and children and young people's mental health: research review (2017)":"\"cc0369f58e7d52da4b544ba96cd139fe\"","DfE-funded Peer Support Pilots: AFNCCF Training Videos":"\"af99d1268b0318645bb31bb91ce7134d\"","DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots":"\"75849a5ffd75415691f167f6d0c7669e\"","EPBU report - Learning from HeadStart (2020)":"\"1656f296cd354d0bdf98e47093b007db\"","Ecorys - DfE peer support for mental health and wellbeing pilots: lessons learned (2020)":"\"852a60c698105993ac3c255cac3ea95c\"","End of Cohort 1 celebration/evaluation feedback from mentors/mentees":"\"c6ef44f59eab30132ba9593ec4289e2a\"","End of pilot dissemination event":"\"fdd3098ea53dfb767abaeb239e80e062\"","Endings and exit strategies":"\"d5995e171f1359563e4f79dd46a573a9\"","Ensuring safety and equity (AMBIT Team)":"\"bfe09a4b1a32103a600671a8b35a9bf3\"","Evaluation of the programme - what does this mean to the Hear4Youth Team?":"\"3e41a9e006d1ace0c203fb499fd6a038\"","Home":"\"b93f5776d24e70467caadb035ad7ead1\"","How did we develop the model?":"\"c08d100c10be62bff03fa71e9dfea69e\"","How to support a friend lesson plan":"\"6f51d3ac34f1b66b7f1937a00d9890fd\"","How we do our team meetings":"\"3721039916e6384358200cf2ca8ff9ca\"","How we use outcome measures":"\"6642aa33fd334f11474e6d58dce0d28b\"","IPPF statement on youth peer provision for sexual health services (2016)":"\"d7bb22e132b6d42b30899a3131e5cde1\"","Identifying and preparing mentees":"\"12b2b5d8790b7ee6c0c148c9cd4514f7\"","Implementing your peer mentoring programme - a checklist":"\"81f283fe0ef13173b3666d23cf30110c\"","Intervention":"\"da3e58c3dba3e3ad63a6fdabc6e95932\"","Jim Chynoweth":"\"f39d83f318321ffc8015816d2afb78be\"","Keep in touch":"\"c1bdea5ffdc86ad75177608448f35b27\"","Key learning/reflection points":"\"62718bbfff91f359e3a08bc921de1400\"","Learning continued, cohorts 2 & 3 (for the Berkeley report)":"\"81af6d035cf106f3a2ba9bacf011305e\"","Learning from Cohorts 1 & 2 (taken from the first Berkeley report)":"\"0b679238d99582ac684e3efd22bd4fdd\"","Liz Cracknell":"\"29919aeb9fe132ff3b61a148713d0e5b\"","Logic model - under construction":"\"4a537d1d9f95b3f9c69b41ab921747c0\"","Logic model for the peer support programme":"\"69948fd5213d741c93e1e30ca8ba5d31\"","Logic model styles":"\"a7dfd607919145cad626432c5cfa1f4d\"","Luke Pottinger":"\"66976fd35d713f7400bc0d7165f7fa94\"","Measuring outcomes: is your peer mentoring programme helping?":"\"1a9988fd4954afddb492b132e8823244\"","Mental Health Commission of Canada: Guidelines for the practice and training of peer support (2013)":"\"d55476abaed8be7cb91cfe7558bd9d3f\"","Mentee referral form template.docx":"\"cd8c5199334a2f4bb8dff0bcbb160d71\"","Mentor 1:1 supervision questions/agenda":"\"5abb11f2ba3070f1b516f54045a172e6\"","Mentor end of cohort questions":"\"aa510620fb2ccf4b7ee5aea9f89550ed\"","Mentor training session 1":"\"b4f6e4dddf8b9a9f2c1333f0d995d4fc\"","Mentor training session 2":"\"aceaa82b4faa2d5c448e3e4b563aaf38\"","Mentor training session 3":"\"7f2c082fa5f2af9fb65891ff84fe4eaa\"","Mind: developing peer support in the community toolkit (2017)":"\"829024c657728db6d16e6b405164d857\"","Modelling help-seeking":"\"cb546bae4cacb87e36bb1de361c007b2\"","Moderators":"\"2174d57d57f551503a4cc0eb3b902ad2\"","More than Mentors":"\"7c49e3fd6732cc4eeda4afdb4ff0cb63\"","More than Mentors: a review of year 1 intervention delivery (2018)":"\"f364f883544b7cd632062e977f0c4de4\"","My-Peer Toolkit (2010)":"\"95bc40c2c0d381ceae148ea3e5c89f3e\"","National Voices - Online peer support: learning summary (2021)":"\"ec868a8143dc0c5310269a83ccc24b4b\"","National Voices - Peer support: opportunities and challenges (2021)":"\"41f6f833635fd86d9fe961be22b372e4\"","New Tiddler":"\"f54fcee4da2354a66bf4557fbe7e0639\"","New Tiddler 1":"\"f9422ad38fc5b644de2adc3dd6e89eb1\"","Nura Abdul-Razak":"\"b5f11262b519fe389341a494485657a8\"","Our funders":"\"c2a4c26f074bc5d5a359d07e3c998079\"","Outcomes":"\"2d34b6f6ae6e0cf8b3fe3f96308a018b\"","Peer Support Team - topics to manualize":"\"8ed22c0d17b044eab1f19069d052e73b\"","Peer mentoring programme outcomes framework":"\"6eed34d5f4825ef1e4b9c634ac24c8f4\"","Peer support: what is it and does it work? Nesta (2015)":"\"f490cf55374654a18c3486075fc000d5\"","Post-training questionnaire.docx":"\"907cd75b0c23bc4903aced8f501446e7\"","Preparing and matching mentors and mentees for the group mentoring programme":"\"d575a42ae57bcbc62f612ba10bd8eb69\"","Preparing for a peer mentoring programme":"\"c9a50fc3f6662643ccf5485b90e437fa\"","Preparing for training / style of delivery":"\"594e38701549e32ddceffc209800723e\"","Process maps for: Delivery of mentoring group programme; and monitoring & evaluation":"\"f4def418b7c07f74d0ae2ea15b8060bb\"","Process maps for: Steering group; Delivery team; Identifying and preparing mentors and mentees":"\"d801e709488c65e7fbf66f4b0dcd0a4d\"","Programme development areas":"\"9fb51a0f7587096fd0483eb2e95feda7\"","Project Aims":"\"b8c5c3a4b0968e7b9756951ba247fc18\"","Project Plan":"\"283b4a2efcd1b0a0cdba2dcc8993c44e\"","Project Team":"\"6b42b148d73f88533d9005aba75636cb\"","Project journal":"\"22ff37335185ff98b1702712d46a2e7f\"","Rebecca Smith":"\"39097c32658e81b8caa19751b69d6b53\"","Recruiting mentors":"\"1a28776a935a2e6b076835e4194bb15c\"","Recruiting your mentors":"\"a6340f3fc99e53ce374e994da485a600\"","Research and Resources":"\"0b43defc6650cdd463f23cfe7222e43b\"","SWOT analysis":"\"7047e035b8f1ab6a2c79a4baf6c50cbf\"","Schools Support Service Peer Support":"\"c1565acf656c33826d78f37e23b89216\"","SiteIcon":"\"cfd137b51e7433ab713d299ea667ffc3\"","States of Mind peer mentoring project (2020)":"\"51dab3155fa9e9a3fd2d8939fbde8b41\"","Steering Group":"\"6be73cfc78eabdc220c1eb24912aa385\"","Supporting mentors through the group mentoring programme":"\"547d1eef577af9b6bdc62cfea0b6af22\"","Target":"\"63ae0ae5abb8e1b35d1830aad047d86a\"","Team members' roles, responsibilities, strengths":"\"a9f28fbc57248c1a2077ff3b9ef93761\"","Templates for programme delivery":"\"2854a1ac25f90c12ca1fc5a9b7096b83\"","The group mentoring model":"\"77994308c02f8af27083c19f288a38ad\"","The importance of clarity of purpose":"\"8cad2a5a89d8e6fd9bf3e28d61865dee\"","The peer mentoring plan - adapting to your setting":"\"81e02664c7d46fd19540d549a8abab45\"","The peer mentoring team":"\"c926276829dbe7a5e2c50c29c638879b\"","The purpose and aims of the peer mentoring programme":"\"807432f51d05615709517c274cd4d886\"","Theory of help-seeking video":"\"6abeacc1f0abca4b58d025724b1d888d\"","Timeline for year 2 of the peer mentoring programme":"\"4f0e0556d639d5046bda5be363dbaa71\"","Training resources":"\"ac129e30a744623f5b19c59606b6ab59\"","Twitter.png":"\"3e632fdf97588acda686c0d41268026c\"","Underpinning theory/practice models":"\"c2c75665398893e6e42d94bf91e7af92\"","Welcome! The purpose of this manual and the peer support programme.":"\"61c21ae9293383fad66c92c3938467e4\"","What is success? Key outcomes":"\"8d27543928c839c79d36996caa2ae771\"","What is the AMBIT group peer mentoring model?":"\"afe4710dc55f322aabf4432fcd392b0e\"","What is the evidence for the model?":"\"58a0f8170c8e925e61526b619fdd5f51\"","What is this manual for?":"\"88bd7c080c1dfa326515530783aaa8bd\"","Worker roles in the mentor training and peer mentoring sessions":"\"6aa03e8ba4a2b715d1b228509bef3c4b\"","Young people and help-seeking":"\"c41ebc9fe673aab98c1a06384dd3efd9\"","Youth peer education tool kit: training of trainers manual (2005)":"\"e91fdb34bb377cb7ae4fa41edeab5992\"","_GoogleDocsIcons_docs":"\"9d4fed4e0e53ef07414e690889b5f0df\"","_GoogleDocsIcons_sheets":"\"644ac0405d219c505fcce761df1a4d87\"","_GoogleDocsIcons_slides":"\"88ad487247d895b8d80e7212b448945f\"","afnccf peer support page.jpg":"\"040042cb13be7968a5aa4ab2f074641b\"","ambit small.png":"\"b57f463c34fc63872362b30d8eab6b03\"","c1":"\"b202694a170f9e6291866608b8d2e45f\"","c4":"\"9bf3af6729378134d5366a72af4f2593\"","chapter (1).JPG":"\"2f565ccb4d9b467d22f98cdc4bbbc837\"","chapter (2).JPG":"\"169366a245958a75e2045f74d2e78468\"","chapter (3).JPG":"\"595a6499901cc2fe2fe0c131e9a36bb2\"","chapter (4).JPG":"\"815948508561050d928e03b588c26010\"","chapter (5).JPG":"\"27f98c1e959fa530bd0e9a927a974718\"","chapter (6).JPG":"\"f72857f19cceebb3618881166674f421\"","chapter (7).JPG":"\"d0c63e4c6d0f43da250935c8e1456230\"","chapter (8).JPG":"\"ddf4c4707632c08382862d8f142c9297\"","driving.jpg":"\"03644260f0295a21ccdf3a2d6b9d1761\"","guidelines":"\"d9910e1fc34eefad68dc7b1ee3bcd879\"","header (1).JPG":"\"6f9d92bf1725ee1237294418f0bff3d5\"","header (2).JPG":"\"2cd7c454ea47351a320d206e966db8ba\"","header (3).JPG":"\"b355df5128038ada7dd612708831e30f\"","header (4).JPG":"\"930cceb4c203a12da89e58cec3911bfb\"","header (5).JPG":"\"da757d6c84def0112e67100e9f49e157\"","header (6).JPG":"\"9cf2c6450a20bb7c10c2a5434d2f56f4\"","header (7).JPG":"\"bd5fd9e8515ca3024f83bc2903653de6\"","header (8).JPG":"\"1bd2b6b025465128e77198f823fc4fb3\"","icon-354339_640.png":"\"de01cebd3c810d52283ffc91d8b62852\"","image.png":"\"3fba73c72e2a96e6dd133a2579634397\"","journal.jpg":"\"6dce143a8884b60109d2a184206f6a70\"","left":"\"c75ec9e19218d64a1026d2163f85b07c\"","library.jpg":"\"2eaafb5ae4bb514c52267f1690566b95\"","logic-model-edit":"\"c30d980107f7881c482b91ebe9de35d7\"","other peer mentoring projects":"\"d105611c9f83f4c62d79d784ee98fc87\"","peerChange Mechanisms":"\"e755d0d575d32fdeb54c8289a0de3508\"","peerIntervention":"\"c50c9a5c9c7f186d95d5b8bf7b159085\"","peerModerators":"\"ff4ffa747fc2eb8f75f4da81d1e03824\"","peerOutcomes":"\"c8ebbe4667fa09c48b135cc555fe3cff\"","peerTarget":"\"6d2c096b8b1376dcf2247833c38d4292\"","plan.jpg":"\"dcea4c6b3adcaf5ccbddcac17f04560a\"","right":"\"d53f487be6e85f47c50027c384463b18\"","winch logo.png":"\"75ebe0cb7016a9c7e86b7d4e361c1306\""}
https://8y1wh49hn1.execute-api.eu-west-2.amazonaws.com/prod/
4s50tg1b4toisc43c4q42gsceq
eu-west-2:2756d3cb-8b8b-47a9-8248-595a9d254d91
ambit-peer-support-programme_public
<$button style="background-color: #eb7837; border-color: #eb7837; border-radius: 8px; color: white; fill: white; padding: 15px;" tooltip="create new steering group meeting notes" class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-new-tiddler" title= <<now "DDth MMM YYYY Steering Group Meeting Notes">> tags="[[Steering Group Meeting Notes]]" text=<<now "''Date:'' DDth, MMM YYYY
''Attended:''
''Apologies:''
''Notes:''">>/>
{{$:/core/images/edit-button}}
''New Steering Group Meeting Notes''
</$button>
A space to develop the AMBIT Peer Support Programme
[img width=150 [winch logo.png]]
<br>
[img width=150 [ambit small.png]]
<br>
Winch & AMBIT Peer Support Programme
<div style="margin-bottom:2em;margin-top:2em;">
[img width=160 [$:/_AFC/grey-wordmark.svg]]
</div>
<$reveal type="nomatch" state=<<folded-state>> text="hide" tag="div" retain="yes" animate="yes">
<div class="tc-xememex-tiddler-info tc-subtitle">
Bag: <$view tiddler="$:/state/federatial/xememex/tiddlers/bag" index=<<currentTiddler>>>(none)</$view>
</div>
</$reveal>
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
@font-face {
font-family: "Effra";
font-style: light;
font-weight: 200;
src: url('https://manuals.annafreud.org/fonts/$:/_fonts/Effra Light.woff') format("woff");
}
@font-face {
font-family: "Effra";
font-style: bold;
font-weight: 600;
src: url('https://manuals.annafreud.org/fonts/$:/_fonts/Effra Bold.woff') format("woff");
}
@font-face {
font-family: "Verdana";
font-style: normal;
font-weight: 400;
src: url('https://manuals.annafreud.org/fonts/$:/_fonts/Verdana.woff') format("woff");
}
html {
font-family: "Verdana";
}
.tc-top-menu,
.tc-site-title,
.tc-site-subtitle,
h1, h2, h3, h4, h5, h6 {
font-family: "Effra";
font-weight: 600;
text-align: left;
}
.tc-site-title {
font-weight: bold;
}
body .tc-titlebar h2 {
font-weight: 700;
}
\define image(title,width,height)
<$image source=<<__title__>> width=<<__width__>> height=<<__height__>>/>
\end
\define embed-video(code)
<$reveal state="$:/state/consent-banner/accepted" type="match" text="yes" tag="div">
<iframe width="560" height="315" src="https://www.youtube.com/embed/$code$" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</$reveal>
<$reveal state="$:/state/consent-banner/accepted" type="nomatch" text="yes" tag="div">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/$code$" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</$reveal>
\end
<<embed-video KtCUr83XgyE>>
afc-white: #ffffff
afc-black: #222222
afc-green: #209377
afc-pale-green: #6cbeaf
afc-blue: #155dac
afc-purple: #925195
afc-orange: #eb7837
afc-brown: #786e65
afc-light-grey: #f4f4f4
afc-very-light-grey: #f2f2f2
afc-mid: rgba(232, 232, 232, 0.84)
menubar-background: <<colour afc-orange>>
menubar-foreground: <<colour afc-white>>
page-footer-background: <<colour afc-green>>
page-footer-foreground: <<colour afc-white>>
alert-background: <<color afc-white>>
alert-border: #b99e2f
alert-highlight: #881122
alert-muted-foreground: #b99e2f
background: #fff
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: #34c734
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: <<color afc-black>>
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: #bbb
notification-background: #ffffdd
notification-border: #999999
page-background: <<color afc-light-grey>>
pre-background: #f5f5f5
pre-border: #cccccc
primary: <<colour afc-purple>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: #000000
sidebar-controls-foreground: #aaaaaa
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: #f4f4f4
sidebar-tab-background: #e0e0e0
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: #e4e4e4
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: #444444
sidebar-tiddler-link-foreground: #999999
site-title-foreground: <<colour tiddler-title-foreground>>
static-alert-foreground: #aaaaaa
tab-background-selected: #ffffff
tab-background: #d8d8d8
tab-border-selected: #d8d8d8
tab-border: #cccccc
tab-divider: #d8d8d8
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: #666666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #ec6
tag-foreground: #ffffff
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
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: #182955
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
<$action-setfield $tiddler="$:/state/showeditpreview" $value="yes"/>
<$action-setfield $tiddler="$:/state/editpreviewtype" $value="$:/core/ui/EditTemplate/body/preview/output"/>
/* ------------------------------------------
PURE CSS SPEECH BUBBLES
by Nicolas Gallagher
- http://nicolasgallagher.com/pure-css-speech-bubbles/
http://nicolasgallagher.com
http://twitter.com/necolas
Created: 02 March 2010
Version: 1.2 (03 March 2011)
Dual licensed under MIT and GNU GPLv2 Nicolas Gallagher
------------------------------------------ */
/* NOTE: Some declarations use longhand notation so that it can be clearly
explained what specific properties or values do and what their relationship
is to other properties or values in creating the effect */
/* ============================================================================================================================
== BUBBLE WITH AN ISOCELES TRIANGLE
** ============================================================================================================================ */
/* THE SPEECH BUBBLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-isosceles {
position:relative;
padding:15px;
margin:1em 0 3em;
color:#000;
background:#f3961c; /* default background for browsers without gradient support */
/* css3 */
background:-webkit-gradient(linear, 0 0, 0 100%, from(#f9d835), to(#f3961c));
background:-moz-linear-gradient(#f9d835, #f3961c);
background:-o-linear-gradient(#f9d835, #f3961c);
background:linear-gradient(#f9d835, #f3961c);
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* Variant : for top positioned triangle
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-top {
background:-webkit-gradient(linear, 0 0, 0 100%, from(#f3961c), to(#f9d835));
background:-moz-linear-gradient(#f3961c, #f9d835);
background:-o-linear-gradient(#f3961c, #f9d835);
background:linear-gradient(#f3961c, #f9d835);
}
/* Variant : for left/right positioned triangle
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-left {
margin-left:50px;
background:#f3961c;
}
/* Variant : for right positioned triangle
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-right {
margin-right:50px;
background:#f3961c;
}
/* THE TRIANGLE
------------------------------------------------------------------------------------------------------------------------------- */
/* creates triangle */
.bubbles-triangle-isosceles:after {
content:"";
position:absolute;
bottom:-15px; /* value = - border-top-width - border-bottom-width */
left:50px; /* controls horizontal position */
border-width:15px 15px 0; /* vary these values to change the angle of the vertex */
border-style:solid;
border-color:#f3961c transparent;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* Variant : top
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-top:after {
top:-15px; /* value = - border-top-width - border-bottom-width */
right:50px; /* controls horizontal position */
bottom:auto;
left:auto;
border-width:0 15px 15px; /* vary these values to change the angle of the vertex */
border-color:#f3961c transparent;
}
/* Variant : left
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-left:after {
top:16px; /* controls vertical position */
left:-50px; /* value = - border-left-width - border-right-width */
bottom:auto;
border-width:10px 50px 10px 0;
border-color:transparent #f3961c;
}
/* Variant : right
------------------------------------------ */
.bubbles-triangle-isosceles.bubbles-right:after {
top:16px; /* controls vertical position */
right:-50px; /* value = - border-left-width - border-right-width */
bottom:auto;
left:auto;
border-width:10px 0 10px 50px;
border-color:transparent #f3961c;
}
/* ============================================================================================================================
== BUBBLE WITH A RIGHT-ANGLED TRIANGLE
** ============================================================================================================================ */
/* THE SPEECH BUBBLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-right {
position:relative;
padding:15px;
margin:1em 0 3em;
color:#fff;
background:#075698; /* default background for browsers without gradient support */
/* css3 */
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);
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* Variant : for top positioned triangle
------------------------------------------ */
.bubbles-triangle-right.bubbles-top {
background:-webkit-gradient(linear, 0 0, 0 100%, from(#075698), to(#2e88c4));
background:-moz-linear-gradient(#075698, #2e88c4);
background:-o-linear-gradient(#075698, #2e88c4);
background:linear-gradient(#075698, #2e88c4);
}
/* Variant : for left positioned triangle
------------------------------------------ */
.bubbles-triangle-right.bubbles-left {
margin-left:40px;
background:#075698;
}
/* Variant : for right positioned triangle
------------------------------------------ */
.bubbles-triangle-right.bubbles-right {
margin-right:40px;
background:#075698;
}
/* THE TRIANGLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-right:after {
content:"";
position:absolute;
bottom:-20px; /* value = - border-top-width - border-bottom-width */
left:50px; /* controls horizontal position */
border-width:20px 0 0 20px; /* vary these values to change the angle of the vertex */
border-style:solid;
border-color:#075698 transparent;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* Variant : top
------------------------------------------ */
.bubbles-triangle-right.bubbles-top:after {
top:-20px; /* value = - border-top-width - border-bottom-width */
right:50px; /* controls horizontal position */
bottom:auto;
left:auto;
border-width:20px 20px 0 0; /* vary these values to change the angle of the vertex */
border-color:transparent #075698;
}
/* Variant : left
------------------------------------------ */
.bubbles-triangle-right.bubbles-left:after {
top:16px;
left:-40px; /* value = - border-left-width - border-right-width */
bottom:auto;
border-width:15px 40px 0 0; /* vary these values to change the angle of the vertex */
border-color:transparent #075698;
}
/* Variant : right
------------------------------------------ */
.bubbles-triangle-right.bubbles-right:after {
top:16px;
right:-40px; /* value = - border-left-width - border-right-width */
bottom:auto;
left:auto;
border-width:15px 0 0 40px; /* vary these values to change the angle of the vertex */
border-color:transparent #075698 ;
}
/* ============================================================================================================================
== BUBBLE WITH AN OBTUSE TRIANGLE
** ============================================================================================================================ */
/* THE SPEECH BUBBLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-obtuse {
position:relative;
padding:15px;
margin:1em 0 3em;
color:#fff;
background:#c81e2b;
/* css3 */
background:-webkit-gradient(linear, 0 0, 0 100%, from(#f04349), to(#c81e2b));
background:-moz-linear-gradient(#f04349, #c81e2b);
background:-o-linear-gradient(#f04349, #c81e2b);
background:linear-gradient(#f04349, #c81e2b);
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* Variant : for top positioned triangle
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-top {
background:-webkit-gradient(linear, 0 0, 0 100%, from(#c81e2b), to(#f04349));
background:-moz-linear-gradient(#c81e2b, #f04349);
background:-o-linear-gradient(#c81e2b, #f04349);
background:linear-gradient(#c81e2b, #f04349);
}
/* Variant : for left positioned triangle
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-left {
margin-left:50px;
background:#c81e2b;
}
/* Variant : for right positioned triangle
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-right {
margin-right:50px;
background:#c81e2b;
}
/* THE TRIANGLE
------------------------------------------------------------------------------------------------------------------------------- */
/* creates the wider right-angled triangle */
.bubbles-triangle-obtuse:before {
content:"";
position:absolute;
bottom:-20px; /* value = - border-top-width - border-bottom-width */
left:60px; /* controls horizontal position */
border:0;
border-right-width:30px; /* vary this value to change the angle of the vertex */
border-bottom-width:20px; /* vary this value to change the height of the triangle. must be equal to the corresponding value in :after */
border-style:solid;
border-color:transparent #c81e2b;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* creates the narrower right-angled triangle */
.bubbles-triangle-obtuse:after {
content:"";
position:absolute;
bottom:-20px; /* value = - border-top-width - border-bottom-width */
left:80px; /* value = (:before's left) + (:before's border-right/left-width) - (:after's border-right/left-width) */
border:0;
border-right-width:10px; /* vary this value to change the angle of the vertex */
border-bottom-width:20px; /* vary this value to change the height of the triangle. must be equal to the corresponding value in :before */
border-style:solid;
border-color:transparent #fff;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* Variant : top
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-top:before {
top:-20px; /* value = - border-top-width - border-bottom-width */
bottom:auto;
left:auto;
right:60px; /* controls horizontal position */
border:0;
border-left-width:30px; /* vary this value to change the width of the triangle */
border-top-width:20px; /* vary this value to change the height of the triangle. must be equal to the corresponding value in :after */
border-color:transparent #c81e2b;
}
.bubbles-triangle-obtuse.bubbles-top:after {
top:-20px; /* value = - border-top-width - border-bottom-width */
bottom:auto;
left:auto;
right:80px; /* value = (:before's right) + (:before's border-right/left-width) - (:after's border-right/left-width) */
border-width:0;
border-left-width:10px; /* vary this value to change the width of the triangle */
border-top-width:20px; /* vary this value to change the height of the triangle. must be equal to the corresponding value in :before */
border-color:transparent #fff;
}
/* Variant : left
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-left:before {
top:15px; /* controls vertical position */
bottom:auto;
left:-50px; /* value = - border-left-width - border-right-width */
border:0;
border-bottom-width:30px; /* vary this value to change the height of the triangle */
border-left-width:50px; /* vary this value to change the width of the triangle. must be equal to the corresponding value in :after */
border-color:#c81e2b transparent;
}
.bubbles-triangle-obtuse.bubbles-left:after {
top:35px; /* value = (:before's top) + (:before's border-top/bottom-width) - (:after's border-top/bottom-width) */
bottom:auto;
left:-50px; /* value = - border-left-width - border-right-width */
border:0;
border-bottom-width:10px; /* vary this value to change the height of the triangle */
border-left-width:50px; /* vary this value to change the width of the triangle. must be equal to the corresponding value in :before */
border-color:#fff transparent;
}
/* Variant : right
------------------------------------------ */
.bubbles-triangle-obtuse.bubbles-right:before {
top:15px; /* controls vertical position */
bottom:auto;
left:auto;
right:-50px; /* value = - border-left-width - border-right-width */
border:0;
border-bottom-width:30px; /* vary this value to change the height of the triangle */
border-right-width:50px; /* vary this value to change the width of the triangle. must be equal to the corresponding value in :after */
border-color:#c81e2b transparent;
}
.bubbles-triangle-obtuse.bubbles-right:after {
top:35px; /* value = (:before's top) + (:before's border-top/bottom-width) - (:after's border-top/bottom-width) */
bottom:auto;
right:-50px; /* value = - border-left-width - border-right-width */
left:auto;
border:0;
border-bottom-width:10px; /* vary this value to change the height of the triangle */
border-right-width:50px; /* vary this value to change the width of the triangle. must be equal to the corresponding value in :before */
border-color:#fff transparent;
}
/* ============================================================================================================================
== BUBBLE WITH A BORDER AND TRIANGLE
** ============================================================================================================================ */
/* THE SPEECH BUBBLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-border {
position:relative;
padding:15px;
margin:1em 0 3em;
border:5px solid #5a8f00;
color:#333;
background:#fff;
/* css3 */
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* Variant : for left positioned triangle
------------------------------------------ */
.bubbles-triangle-border.bubbles-left {
margin-left:30px;
}
/* Variant : for right positioned triangle
------------------------------------------ */
.bubbles-triangle-border.bubbles-right {
margin-right:30px;
}
/* THE TRIANGLE
------------------------------------------------------------------------------------------------------------------------------- */
.bubbles-triangle-border:before {
content:"";
position:absolute;
bottom:-20px; /* value = - border-top-width - border-bottom-width */
left:40px; /* controls horizontal position */
border-width:20px 20px 0;
border-style:solid;
border-color:#5a8f00 transparent;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* creates the smaller triangle */
.bubbles-triangle-border:after {
content:"";
position:absolute;
bottom:-13px; /* value = - border-top-width - border-bottom-width */
left:47px; /* value = (:before left) + (:before border-left) - (:after border-left) */
border-width:13px 13px 0;
border-style:solid;
border-color:#fff transparent;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* Variant : top
------------------------------------------ */
/* creates the larger triangle */
.bubbles-triangle-border.bubbles-top:before {
top:-20px; /* value = - border-top-width - border-bottom-width */
bottom:auto;
left:auto;
right:40px; /* controls horizontal position */
border-width:0 20px 20px;
}
/* creates the smaller triangle */
.bubbles-triangle-border.bubbles-top:after {
top:-13px; /* value = - border-top-width - border-bottom-width */
bottom:auto;
left:auto;
right:47px; /* value = (:before right) + (:before border-right) - (:after border-right) */
border-width:0 13px 13px;
}
/* Variant : left
------------------------------------------ */
/* creates the larger triangle */
.bubbles-triangle-border.bubbles-left:before {
top:10px; /* controls vertical position */
bottom:auto;
left:-30px; /* value = - border-left-width - border-right-width */
border-width:15px 30px 15px 0;
border-color:transparent #5a8f00;
}
/* creates the smaller triangle */
.bubbles-triangle-border.bubbles-left:after {
top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
bottom:auto;
left:-21px; /* value = - border-left-width - border-right-width */
border-width:9px 21px 9px 0;
border-color:transparent #fff;
}
/* Variant : right
------------------------------------------ */
/* creates the larger triangle */
.bubbles-triangle-border.bubbles-right:before {
top:10px; /* controls vertical position */
bottom:auto;
left:auto;
right:-30px; /* value = - border-left-width - border-right-width */
border-width:15px 0 15px 30px;
border-color:transparent #5a8f00;
}
/* creates the smaller triangle */
.bubbles-triangle-border.bubbles-right:after {
top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
bottom:auto;
left:auto;
right:-21px; /* value = - border-left-width - border-right-width */
border-width:9px 0 9px 21px;
border-color:transparent #fff;
}
/* ============================================================================================================================
== SPEECH BUBBLE ICON
** ============================================================================================================================ */
.bubbles-example-commentheading {
position:relative;
padding:0;
color:#b513af;
}
/* creates the rectangle */
.bubbles-example-commentheading:before {
content:"";
position:absolute;
top:9px;
left:-25px;
width:15px;
height:10px;
background:#b513af;
/* css3 */
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
/* creates the triangle */
.bubbles-example-commentheading:after {
content:"";
position:absolute;
top:15px;
left:-19px;
border:4px solid transparent;
border-left-color:#b513af;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* ============================================================================================================================
== BLOCKQUOTE WITH RIGHT-ANGLED TRIANGLE
** ============================================================================================================================ */
.bubbles-example-right {
position:relative;
padding:15px 30px;
margin:0;
color:#fff;
background:#5a8f00; /* default background for browsers without gradient support */
/* css3 */
background:-webkit-gradient(linear, 0 0, 0 100%, from(#b8db29), to(#5a8f00));
background:-moz-linear-gradient(#b8db29, #5a8f00);
background:-o-linear-gradient(#b8db29, #5a8f00);
background:linear-gradient(#b8db29, #5a8f00);
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* display of quote author (alternatively use a class on the element following the blockquote) */
.example-right + p {margin:15px 0 2em 85px; font-style:italic;}
/* creates the triangle */
.bubbles-example-right:after {
content:"";
position:absolute;
bottom:-50px;
left:50px;
border-width:0 20px 50px 0px;
border-style:solid;
border-color:transparent #5a8f00;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* ============================================================================================================================
== BLOCKQUOTE WITH OBTUSE TRIANGLE
** ============================================================================================================================ */
.bubbles-example-obtuse {
position:relative;
padding:15px 30px;
margin:0;
color:#000;
background:#f3961c; /* default background for browsers without gradient support */
/* css3 */
background:-webkit-gradient(linear, 0 0, 0 100%, from(#f9d835), to(#f3961c));
background:-moz-linear-gradient(#f9d835, #f3961c);
background:-o-linear-gradient(#f9d835, #f3961c);
background:linear-gradient(#f9d835, #f3961c);
/* Using longhand to avoid inconsistencies between Safari 4 and Chrome 4 */
-webkit-border-top-left-radius:25px 50px;
-webkit-border-top-right-radius:25px 50px;
-webkit-border-bottom-right-radius:25px 50px;
-webkit-border-bottom-left-radius:25px 50px;
-moz-border-radius:25px / 50px;
border-radius:25px / 50px;
}
/* display of quote author (alternatively use a class on the element following the blockquote) */
.example-obtuse + p {margin:10px 150px 2em 0; text-align:right; font-style:italic;}
/* creates the larger triangle */
.bubbles-example-obtuse:before {
content:"";
position:absolute;
bottom:-30px;
right:80px;
border-width:0 0 30px 50px;
border-style:solid;
border-color:transparent #f3961c;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* creates the smaller triangle */
.bubbles-example-obtuse:after {
content:"";
position:absolute;
bottom:-30px;
right:110px;
border-width:0 0 30px 20px;
border-style:solid;
border-color:transparent #fff;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* ============================================================================================================================
== TWITTER
** ============================================================================================================================ */
.bubbles-example-twitter {
position:relative;
padding:15px;
margin:100px 0 0.5em;
color:#333;
background:#eee;
/* css3 */
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
.bubbles-example-twitter p {font-size:28px; line-height:1.25em;}
/* this isn't necessary, just saves me having to edit the HTML of the demo */
.bubbles-example-twitter:before {
content:url(twitter-logo.gif);
position:absolute;
top:-60px;
left:0;
width:155px;
height:36px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates the triangle */
.bubbles-example-twitter:after {
content:"";
position:absolute;
top:-30px;
left:50px;
border:15px solid transparent;
border-bottom-color:#eee;
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
/* display of quote author (alternatively use a class on the element following the blockquote) */
.bubbles-example-twitter + p {padding-left:15px; font:14px Arial, sans-serif;}
/* ============================================================================================================================
== NUMBER
** ============================================================================================================================ */
.bubbles-example-number {
position:relative;
width:200px;
height:200px;
margin:50px 0 200px;
text-align:center;
font:140px/200px Arial, sans-serif;
color:#fff;
background:#C91F2C;
}
/* creates the larger triangle */
.bubbles-example-number:before {
content:"";
position:absolute;
bottom:-140px;
right:0;
border-width:0 0 140px 140px;
border-style:solid;
border-color:transparent #C91F2C;
}
/* creates the larger triangle */
.bubbles-example-number:after {
content:"";
position:absolute;
bottom:-140px;
right:85px;
border-width:0 0 140px 55px;
border-style:solid;
border-color:transparent #fff;
}
/* ============================================================================================================================
== PINCHED SPEECH BUBBLE (more CSS3)
** ============================================================================================================================ */
.bubbles-pinched {
position:relative;
padding:15px;
margin:50px 0 3em;
text-align:center;
color:#fff;
background:#333;
/* css3 */
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* creates a rectangle of the colour wanted for the pointy bit */
.bubbles-pinched:before {
content:"";
position:absolute;
top:-20px;
left:50%;
width:100px;
height:20px;
margin:0 0 0 -50px;
background:#333;
}
/* creates a rounded rectangle to cover part of the rectangle generated above */
.bubbles-pinched:after {
content:"";
position:absolute;
top:-20px;
left:0;
width:50%;
height:20px;
background:#fff;
/* css3 */
-webkit-border-bottom-right-radius:15px;
-moz-border-radius-bottomright:15px;
border-bottom-right-radius:15px;
}
/* creates the other rounded rectangle */
.bubbles-pinched > :first-child:before {
content:"";
position:absolute;
top:-20px;
right:0;
width:50%;
height:20px;
background:#fff;
/* css3 */
-webkit-border-bottom-left-radius:15px;
-moz-border-radius-bottomleft:15px;
border-bottom-left-radius:15px;
}
/* ============================================================================================================================
== OVAL SPEECH BUBBLE (more CSS3)
** ============================================================================================================================ */
.bubbles-oval-speech {
position:relative;
width:270px;
padding:50px 40px;
margin:1em auto 50px;
text-align:center;
color:#fff;
background:#5a8f00;
/* css3 */
background:-webkit-gradient(linear, 0 0, 0 100%, from(#b8db29), to(#5a8f00));
background:-moz-linear-gradient(#b8db29, #5a8f00);
background:-o-linear-gradient(#b8db29, #5a8f00);
background:linear-gradient(#b8db29, #5a8f00);
/*
NOTES:
-webkit-border-radius:220px 120px; // produces oval in safari 4 and chrome 4
-webkit-border-radius:220px / 120px; // produces oval in chrome 4 (again!) but not supported in safari 4
Not correct application of the current spec, therefore, using longhand to avoid future problems with webkit corrects this
*/
-webkit-border-top-left-radius:220px 120px;
-webkit-border-top-right-radius:220px 120px;
-webkit-border-bottom-right-radius:220px 120px;
-webkit-border-bottom-left-radius:220px 120px;
-moz-border-radius:220px / 120px;
border-radius:220px / 120px;
}
.bubbles-oval-speech p {font-size:1.25em;}
/* creates part of the curve */
.bubbles-oval-speech:before {
content:"";
position:absolute;
z-index:-1;
bottom:-30px;
right:50%;
height:30px;
border-right:60px solid #5a8f00;
background:#5a8f00; /* need this for webkit - bug in handling of border-radius */
/* css3 */
-webkit-border-bottom-right-radius:80px 50px;
-moz-border-radius-bottomright:80px 50px;
border-bottom-right-radius:80px 50px;
/* using translate to avoid undesired appearance in CSS2.1-capabable but CSS3-incapable browsers */
-webkit-transform:translate(0, -2px);
-moz-transform:translate(0, -2px);
-ms-transform:translate(0, -2px);
-o-transform:translate(0, -2px);
transform:translate(0, -2px);
}
/* creates part of the curved pointy bit */
.bubbles-oval-speech:after {
content:"";
position:absolute;
z-index:-1;
bottom:-30px;
right:50%;
width:60px;
height:30px;
background:#fff;
/* css3 */
-webkit-border-bottom-right-radius:40px 50px;
-moz-border-radius-bottomright:40px 50px;
border-bottom-right-radius:40px 50px;
/* using translate to avoid undesired appearance in CSS2.1-capabable but CSS3-incapable browsers */
-webkit-transform:translate(-30px, -2px);
-moz-transform:translate(-30px, -2px);
-ms-transform:translate(-30px, -2px);
-o-transform:translate(-30px, -2px);
transform:translate(-30px, -2px);
}
/* ============================================================================================================================
== OVAL THOUGHT BUBBLE (more CSS3)
** ============================================================================================================================ */
.bubbles-oval-thought {
position:relative;
width:270px;
padding:50px 40px;
margin:1em auto 80px;
text-align:center;
color:#fff;
background:#075698;
/* css3 */
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);
/*
NOTES:
-webkit-border-radius:220px 120px; // produces oval in safari 4 and chrome 4
-webkit-border-radius:220px / 120px; // produces oval in chrome 4 (again!) but not supported in safari 4
Not correct application of the current spec, therefore, using longhand to avoid future problems with webkit corrects this
*/
-webkit-border-top-left-radius:220px 120px;
-webkit-border-top-right-radius:220px 120px;
-webkit-border-bottom-right-radius:220px 120px;
-webkit-border-bottom-left-radius:220px 120px;
-moz-border-radius:220px / 120px;
border-radius:220px / 120px;
}
.bubbles-oval-thought p {font-size:1.25em;}
/* creates the larger circle */
.bubbles-oval-thought:before {
content:"";
position:absolute;
bottom:-20px;
left:50px;
width:30px;
height:30px;
background:#075698;
/* css3 */
-webkit-border-radius:30px;
-moz-border-radius:30px;
border-radius:30px;
}
/* creates the smaller circle */
.bubbles-oval-thought:after {
content:"";
position:absolute;
bottom:-30px;
left:30px;
width:15px;
height:15px;
background:#075698;
/* css3 */
-webkit-border-radius:15px;
-moz-border-radius:15px;
border-radius:15px;
}
/* ============================================================================================================================
== OVAL SPEECH BUBBLE WITH QUOTATION MARKS (more CSS3)
** ============================================================================================================================ */
.bubbles-oval-quotes {
position:relative;
width:400px;
height:350px;
margin:2em auto 10px;
color:#000;
background:#ffed26;
/* css3 */
/*
NOTES:
-webkit-border-radius:Apx Bpx; // produces oval in safari 4 and chrome 4
-webkit-border-radius:Apx / Bpx; // produces oval in chrome 4 (again!) but not supported in safari 4
Not correct application of the current spec, therefore, using longhand to avoid future problems with webkit corrects this
*/
-webkit-border-top-left-radius:400px 350px;
-webkit-border-top-right-radius:400px 350px;
-webkit-border-bottom-right-radius:400px 350px;
-webkit-border-bottom-left-radius:400px 350px;
-moz-border-radius:400px / 350px;
border-radius:400px / 350px;
}
/* creates opening quotation mark */
.bubbles-oval-quotes:before {
content:"\201C";
position:absolute;
z-index:1;
top:20px;
left:20px;
font:80px/1 Georgia, serif;
color:#ffed26;
}
/* creates closing quotation mark */
.bubbles-oval-quotes:after {
content:"\201D";
position:absolute;
z-index:1;
bottom:0;
right:20px;
font:80px/0.25 Georgia, serif;
color:#ffed26;
}
.bubbles-oval-quotes p {
width:250px;
height:250px;
padding:50px 0 0;
margin:0 auto;
text-align:center;
font-size:35px;
}
/* creates smaller curve */
.bubbles-oval-quotes p:before {
content:"";
position:absolute;
z-index:-1;
bottom:-30px;
right:55%;
width:180px; /* wider than necessary to make it look a bit better in IE8 */
height:60px;
background:#fff; /* need this for webkit - bug in handling of border-radius */
/* css3 */
-webkit-border-bottom-right-radius:40px 50px;
-moz-border-radius-bottomright:40px 50px;
border-bottom-right-radius:40px 50px;
/* using translate to avoid undesired appearance in CSS2.1-capabable but CSS3-incapable browsers */
-webkit-transform:translate(-30px, -2px);
-moz-transform:translate(-30px, -2px);
-ms-transform:translate(-30px, -2px);
-o-transform:translate(-30px, -2px);
transform:translate(-30px, -2px);
}
/* creates larger curve */
.bubbles-oval-quotes p:after {
content:"";
position:absolute;
z-index:-2;
bottom:-30px;
right:25%;
height:80px;
border-right:200px solid #ffed26;
background:#ffed26; /* need this for webkit - bug in handling of border-radius */
/* css3 */
-webkit-border-bottom-right-radius:200px 100px;
-moz-border-radius-bottomright:200px 100px;
border-bottom-right-radius:200px 100px;
/* using translate to avoid undesired appearance in CSS2.1-capabable but CSS3-incapable browsers */
-webkit-transform:translate(0, -2px);
-moz-transform:translate(0, -2px);
-ms-transform:translate(0, -2px);
-o-transform:translate(0, -2px);
transform:translate(0, -2px);
/* reduce the damage in FF3.0 */
display:block;
width:0;
}
.bubbles-oval-quotes + p {
position:relative; /* part of the IE8 width compromise */
width:150px;
margin:0 0 2em;
font-size:18px;
font-weight:bold;
}
/* ============================================================================================================================
== RECTANGLE-BORDER STYLE WITH CURVE
** ============================================================================================================================ */
.bubbles-rectangle-speech-border {
position:relative;
padding:50px 15px;
margin:1em 0 3em;
border:10px solid #5a8f00;
text-align:center;
color:#333;
background:#fff;
/* css3 */
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;
}
/* creates larger curve */
.bubbles-rectangle-speech-border:before {
content:"";
position:absolute;
z-index:10;
bottom:-40px;
left:50px;
width:50px;
height:30px;
border-style:solid;
border-width:0 10px 10px 0;
border-color:#5a8f00;
background:transparent;
/* css3 */
-webkit-border-bottom-right-radius:80px 50px;
-moz-border-radius-bottomright:80px 50px;
border-bottom-right-radius:80px 50px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates smaller curve */
.bubbles-rectangle-speech-border:after {
content:"";
position:absolute;
z-index:10;
bottom:-40px;
left:50px;
width:20px;
height:30px;
border-style:solid;
border-width:0 10px 10px 0;
border-color:#5a8f00;
background:transparent;
/* css3 */
-webkit-border-bottom-right-radius:40px 50px;
-moz-border-radius-bottomright:40px 50px;
border-bottom-right-radius:40px 50px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates a small circle to produce a rounded point where the two curves meet */
.bubbles-rectangle-speech-border > :first-child:before {
content:"";
position:absolute;
bottom:-40px;
left:45px;
width:10px;
height:10px;
background:#5a8f00;
/* css3 */
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* creates a white rectangle to cover part of the oval border*/
.bubbles-rectangle-speech-border > :first-child:after {
content:"";
position:absolute;
bottom:-10px;
left:76px;
width:24px;
height:15px;
background:#fff;
}
/* ============================================================================================================================
== OVER SPEECH BUBBLE, EMPTY, WITH BORDER (more CSS3)
** ============================================================================================================================ */
.bubbles-oval-speech-border {
position:relative;
padding:70px 30px;
margin:1em auto 60px;
border:10px solid #f3961c;
text-align:center;
color:#333;
background:#fff;
/* css3 */
/*
NOTES:
-webkit-border-radius:240px 140px; // produces oval in safari 4 and chrome 4
-webkit-border-radius:240px / 140px; // produces oval in chrome 4 (again!) but not supported in safari 4
Not correct application of the current spec, therefore, using longhand to avoid future problems with webkit corrects this
*/
-webkit-border-top-left-radius:240px 140px;
-webkit-border-top-right-radius:240px 140px;
-webkit-border-bottom-right-radius:240px 140px;
-webkit-border-bottom-left-radius:240px 140px;
-moz-border-radius:240px / 140px;
border-radius:240px / 140px;
}
/* creates larger curve */
.bubbles-oval-speech-border:before {
content:"";
position:absolute;
z-index:2;
bottom:-40px;
right:50%;
width:50px;
height:30px;
border-style:solid;
border-width:0 10px 10px 0;
border-color:#f3961c;
margin-right:-10px;
background:transparent;
/* css3 */
-webkit-border-bottom-right-radius:80px 50px;
-moz-border-radius-bottomright:80px 50px;
border-bottom-right-radius:80px 50px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates smaller curve */
.bubbles-oval-speech-border:after {
content:"";
position:absolute;
z-index:2;
bottom:-40px;
right:50%;
width:20px;
height:31px;
border-style:solid;
border-width:0 10px 10px 0;
border-color:#f3961c;
margin-right:20px;
background:transparent;
/* css3 */
-webkit-border-bottom-right-radius:40px 50px;
-moz-border-radius-bottomright:40px 50px;
border-bottom-right-radius:40px 50px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates a small circle to produce a rounded point where the two curves meet */
.bubbles-oval-speech-border > :first-child:before {
content:"";
position:absolute;
z-index:1;
bottom:-40px;
right:50%;
width:10px;
height:10px;
margin-right:45px;
background:#f3961c;
/* css3 */
-webkit-border-radius:10px;
-moz-border-radius:10px;
border-radius:10px;
}
/* creates a white rectangle to cover part of the oval border*/
.bubbles-oval-speech-border > :first-child:after {
content:"";
position:absolute;
z-index:1;
bottom:-10px;
right:50%;
width:30px;
height:15px;
background:#fff;
}
/* ============================================================================================================================
== OVER THOUGHT BUBBLE, EMPTY, WITH BORDER (more CSS3)
** ============================================================================================================================ */
.bubbles-oval-thought-border {
position:relative;
padding:70px 30px;
margin:1em auto 80px;
border:10px solid #c81e2b;
text-align:center;
color:#333;
background:#fff;
/* css3 */
/*
NOTES:
-webkit-border-radius:240px 140px; // produces oval in safari 4 and chrome 4
-webkit-border-radius:240px / 140px; // produces oval in chrome 4 (again!) but not supported in safari 4
Not correct application of the current spec, therefore, using longhand to avoid future problems with webkit corrects this
*/
-webkit-border-top-left-radius:240px 140px;
-webkit-border-top-right-radius:240px 140px;
-webkit-border-bottom-right-radius:240px 140px;
-webkit-border-bottom-left-radius:240px 140px;
-moz-border-radius:240px / 140px;
border-radius:240px / 140px;
}
/* creates the larger circle */
.bubbles-oval-thought-border:before {
content:"";
position:absolute;
z-index:10;
bottom:-40px;
right:100px;
width:50px;
height:50px;
border:10px solid #c81e2b;
background:#fff;
/* css3 */
-webkit-border-radius:50px;
-moz-border-radius:50px;
border-radius:50px;
/* reduce the damage in FF3.0 */
display:block;
}
/* creates the smaller circle */
.bubbles-oval-thought-border:after {
content:"";
position:absolute;
z-index:10;
bottom:-60px;
right:50px;
width:25px;
height:25px;
border:10px solid #c81e2b;
background:#fff;
/* css3 */
-webkit-border-radius:25px;
-moz-border-radius:25px;
border-radius:25px;
/* reduce the damage in FF3.0 */
display:block;
}
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
.tc-ext-doc-link {
color: <<color primary>>;
fill: <<color primary>>;
font-size: 1.2em;
font-weight: bold;
font-family: Effra;
text-decoration: none;
border-radius: 4px;
padding: 0.3em;
margin: 0.3em -0.3em 0.3em -0.3em;
border: 2px solid transparent;
}
.tc-ext-doc-link svg {
vertical-align: middle;
height: 0.75em;
}
.tc-ext-doc-link img {
vertical-align: middle;
height: 1.3em;
}
.tc-ext-doc-link:hover {
color: <<color background>>;
fill: <<color background>>;
background: <<color primary>>;
border: 2px solid rgba(0,0,0,0.5);
}
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
<<if-sidebar """
.tc-sidebar-scrollable {
background: linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.85) 42px,rgba(255,255,255,0.85) 100%);
}
""">>
}
@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {
<<if-sidebar """
.tc-sidebar-scrollable {
background: linear-gradient(to right,rgba(255,255,255,0.85) 0%,rgba(255,255,255,0.85) 100%);
}
""">>
}
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
html body.tc-body .tc-tiddler-frame.tc-tagged-HideEditButton .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fedit,
html body.tc-body .tc-tiddler-frame.tc-tagged-HideEditButton .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Finfo,
html body.tc-body .tc-tiddler-frame.tc-tagged-HideEditButton .tc-btn-\%24\%3A\%2Fcore\%2Fui\%2FButtons\%2Fmore-tiddler-actions,
html body.tc-body .tc-tiddler-frame.tc-tagged-HideEditButton .tc-tags-wrapper,
html body.tc-body .tc-tiddler-frame.tc-tagged-HideEditButton .tc-tagged-by {
display: none;
}
/* Make links bolder */
button.tc-tiddlylink, a.tc-tiddlylink {
font-weight: bold;
}
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
.tc-topbar-right {
top: 0;
right: 0;
}
.tc-topbar-left {
display: inline-block;
top: 0;
left: 0;
width: 100%;
}
nav.tc-top-menu p {
margin: 0;
}
nav.tc-top-menu > ul {
position: relative;
list-style-type: none;
margin: 0;
padding: 0 0 0 42px;
text-transform: uppercase;
background: <<colour top-menu-background>>;
<<box-shadow "1px 1px 5px rgba(0, 0, 0, 0.3)">>
}
nav.tc-top-menu > ul > li {
display: inline-block;
margin: 0;
padding: 0;
}
nav.tc-top-menu > ul > li > a,
nav.tc-top-menu > ul > li > button {
display: block;
font-weight: 700;
color: <<colour top-menu-foreground>>;
fill: <<colour top-menu-foreground>>;
text-decoration: none;
padding: 0.5em;
margin: 0;
background: none;
border: none;
cursor: pointer;
text-transform: inherit;
border-radius: 0;
text-decoration: none;
}
nav.tc-top-menu > ul > li > a.tc-selected,
nav.tc-top-menu > ul > li > button.tc-selected {
background: <<colour top-menu-foreground>>;
color: <<colour top-menu-background>>;
fill: <<colour top-menu-background>>;
}
nav.tc-top-menu > ul > li svg {
width: 1em;
height: 1em;
fill: <<colour top-menu-foreground>>;
}
nav.tc-top-menu > ul > li > a:hover,
nav.tc-top-menu > ul > li > button:hover {
background: rgba(0,0,0,0.25);
border-radius: 0;
text-decoration: none;
}
nav.tc-top-menu .tc-drop-down {
max-height: 70vh;
overflow: auto;
}
nav.tc-top-menu .tc-drop-down a {
text-decoration: none;
}
nav.tc-top-menu .tc-drop-down button {
display: inline-block;
width: auto;
}
nav.tc-top-menu .tc-drop-down ol {
margin: 0;
}
<$list filter="[{$:/_AFC/SurveyBanner/URL}!is[blank]]" variable="ignore">
<a href={{$:/_AFC/SurveyBanner/URL}} target="_blank" class="tc-survey-banner">
<div class="tc-survey-banner-heading">
{{$:/core/images/plugin-generic-language}}
Help us improve
</div>
<div class="tc-survey-banner-body">
We are hoping to gather valuable feedback on your use and opinion of the Wiki Manuals. By sharing your thoughts and opinions, you will contribute directly to ongoing improvements. It will take no longer than 10 minutes of your time to complete.
</div>
</a>
</$list>
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock
.tc-survey-banner {
background: #aaa0cd;
color: #000;
fill: #000;
padding: 1em;
text-shadow: none;
border-radius: 8px;
line-height: 1.2;
text-decoration: none;
display: block;
margin-right: 1em;
}
.tc-survey-banner:hover {
background: #fff;
}
.tc-survey-banner-heading {
font-size: 2em;
font-weight:bold;
margin-bottom: 0.5em;
}
.tc-survey-banner-heading svg {
width: 1em;
height: 1em;
vertical-align: text-bottom;
}
<hr/>
<$button class="tc-btn-invisible">
<$set name="tags" filter="[<currentTiddler>]">
<$action-sendmessage $message="tm-new-tiddler" tags=<<tags>>/>
Create new tiddler tagged '<$text text=<<currentTiddler>>/>'
</$set>
</$button>
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
.tc-tag-navigation-buttons {
clear: both;
display: flex;
font-size: 1em;
border: 3px solid #232D5A;
}
.tc-tag-navigation-button-previous,
.tc-tag-navigation-button-next {
cursor: pointer;
border: none;
background: #232D5A;
border-radius: 0px;
padding: 5px; color: white;
}
.tc-tag-navigation-button-middle {
flex: 1; font-size: 100%;
}
.tc-tag-navigation-body {
padding: 0.5em;
border-left: 3px solid #232D5A;
border-right: 3px solid #232D5A;
}
.tc-tag-navigation-button-previous:hover {
background-color:#645FA5;
}
.tc-tag-navigation-button-next:hover {
background-color:#645FA5;
}
\define tag-navigation-buttons()
<div class="tc-tag-navigation-buttons">
<$list filter="[<__tag__>tagging[]allbefore<currentTiddler>limit[1]]" variable="ignore">
<$button class="tc-tag-navigation-button tc-tag-navigation-button-previous">
<$action-setfield $tiddler=<<state>> $value={{{ [<__tag__>tagging[]before<currentTiddler>] }}}/>
{{left}} previous
</$button>
</$list>
<$button class="tc-tag-navigation-button tc-tag-navigation-button-middle tc-btn-invisible">
(<$text text={{{ [<__tag__>tagging[]allbefore<currentTiddler>count[]add[1]] }}}/> of <$text text={{{ [<__tag__>tagging[]count[]] }}}/>)
</$button>
<$list filter="[<__tag__>tagging[]allafter<currentTiddler>limit[1]]" variable="ignore">
<$button class="tc-tag-navigation-button tc-tag-navigation-button-next">
<$action-setfield $tiddler=<<state>> $value={{{ [<__tag__>tagging[]after<currentTiddler>] }}}/>
next {{right}}
</$button>
</$list>
</div>
\end
\define tag-navigation(tag)
<div class="tc-tag-navigation">
<$set name="state" value=<<qualify "$:/state/tag-navigation">>>
<$set name="state" value={{{ [<state>addsuffix[/]addsuffix<__tag__>] }}}>
<$tiddler tiddler={{{ [<state>get[text]] ~[<__tag__>tagging[]first[]] }}}>
<<tag-navigation-buttons>>
<div class="tc-tag-navigation-body tc-tiddler-body">
<h1><$text text={{!!title}}/></h1>
<$transclude mode="block"/>
</div>
<<tag-navigation-buttons>>
</$tiddler>
</$set>
</$set>
</div>
\end
<textarea readonly="readonly" style="width:100%;height:10em;"><$text text={{!!text}}/></textarea>
<$button message="tm-login" class="tc-consent-button tc-btn-invisible">
Login
</$button>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="582px" height="132px" viewBox="0 0 582 132" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
<title>afc-black-wordmark</title>
<desc>Created with Sketch.</desc>
<defs>
<polygon id="path-1" points="379.615 64.94 0.357 64.94 0.357 0.169 379.615 0.169 379.615 64.94"></polygon>
<polygon id="path-3" points="41.2110297 0.046 130.640236 0.046 130.640236 131.94 41.2110297 131.94 41.2110297 0.046"></polygon>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group-3">
<path d="M188.032,24.686 L183.473,9.594 L178.73,24.686 L188.032,24.686 Z M177.622,0.047 L190.125,0.047 L204.662,41.131 L192.897,41.131 L190.249,32.63 L176.513,32.63 L173.803,41.131 L162.531,41.131 L177.622,0.047 L177.622,0.047 Z" id="Fill-1" fill="#888"></path>
<path d="M208.296,12.181 L218.336,12.181 L218.705,15.199 C219.281,14.502 219.938,13.905 220.677,13.413 C221.416,12.921 222.175,12.531 222.956,12.242 C223.736,11.956 224.485,11.75 225.204,11.627 C225.922,11.503 226.548,11.442 227.083,11.442 C228.601,11.442 230.009,11.657 231.302,12.088 C232.596,12.52 233.714,13.197 234.659,14.122 C235.604,15.045 236.342,16.237 236.876,17.693 C237.41,19.152 237.677,20.887 237.677,22.899 L237.677,41.131 L227.267,41.131 L227.267,25.363 C227.267,23.926 226.969,22.775 226.375,21.914 C225.779,21.05 224.824,20.62 223.51,20.62 C222.565,20.62 221.786,20.764 221.17,21.05 C220.554,21.339 220.061,21.729 219.691,22.221 C219.321,22.714 219.065,23.259 218.921,23.853 C218.777,24.45 218.705,25.054 218.705,25.67 L218.705,41.131 L208.296,41.131 L208.296,12.181" id="Fill-2" fill="#888"></path>
<path d="M243.59,12.181 L253.63,12.181 L254,15.199 C254.575,14.502 255.233,13.905 255.971,13.413 C256.711,12.921 257.469,12.531 258.251,12.242 C259.03,11.956 259.78,11.75 260.499,11.627 C261.217,11.503 261.843,11.442 262.377,11.442 C263.896,11.442 265.303,11.657 266.596,12.088 C267.89,12.52 269.008,13.197 269.953,14.122 C270.898,15.045 271.636,16.237 272.171,17.693 C272.705,19.152 272.971,20.887 272.971,22.899 L272.971,41.131 L262.562,41.131 L262.562,25.363 C262.562,23.926 262.264,22.775 261.669,21.914 C261.074,21.05 260.119,20.62 258.804,20.62 C257.859,20.62 257.08,20.764 256.464,21.05 C255.849,21.339 255.355,21.729 254.986,22.221 C254.616,22.714 254.359,23.259 254.215,23.853 C254.071,24.45 254,25.054 254,25.67 L254,41.131 L243.59,41.131 L243.59,12.181" id="Fill-3" fill="#888"></path>
<path d="M295.269,28.627 C294.57,28.463 293.627,28.381 292.436,28.381 C290.711,28.381 289.438,28.72 288.617,29.397 C287.795,30.075 287.385,30.886 287.385,31.83 C287.385,33.965 288.534,35.033 290.835,35.033 C291.368,35.033 291.902,34.962 292.436,34.817 C292.969,34.674 293.442,34.428 293.853,34.079 C294.263,33.729 294.601,33.268 294.869,32.693 C295.135,32.118 295.269,31.399 295.269,30.537 L295.269,28.627 Z M295.269,38.42 C293.955,39.818 292.63,40.783 291.296,41.316 C289.961,41.849 288.309,42.117 286.339,42.117 C285.393,42.117 284.387,41.983 283.319,41.716 C282.251,41.449 281.267,40.988 280.364,40.33 C279.46,39.674 278.72,38.781 278.145,37.651 C277.57,36.522 277.283,35.095 277.283,33.37 C277.283,31.645 277.653,30.116 278.393,28.781 C279.131,27.447 280.137,26.338 281.411,25.454 C282.683,24.572 284.161,23.905 285.845,23.453 C287.528,23.001 289.294,22.775 291.143,22.775 C292.087,22.775 292.836,22.797 293.391,22.837 C293.946,22.879 294.57,22.94 295.269,23.022 L295.269,22.467 C295.269,21.729 295.116,21.123 294.808,20.65 C294.499,20.179 294.109,19.81 293.637,19.542 C293.164,19.275 292.651,19.091 292.097,18.987 C291.543,18.885 290.998,18.833 290.465,18.833 C288.617,18.833 286.994,19.07 285.599,19.542 C284.203,20.014 283.073,20.558 282.211,21.174 L278.269,15.199 C279.501,14.214 281.226,13.311 283.443,12.489 C285.66,11.669 288.494,11.257 291.944,11.257 C293.955,11.257 295.783,11.514 297.425,12.027 C299.068,12.541 300.484,13.321 301.675,14.368 C302.866,15.415 303.79,16.709 304.447,18.248 C305.104,19.788 305.432,21.585 305.432,23.638 L305.432,41.131 L295.639,41.131 L295.269,38.42 L295.269,38.42 Z" id="Fill-4" fill="#888"></path>
<polyline id="Fill-5" fill="#888" points="321.878 0.047 350.519 0.047 350.519 9.594 332.78 9.594 332.78 17.54 346.516 17.54 346.516 26.533 332.78 26.533 332.78 41.131 321.878 41.131 321.878 0.047"></polyline>
<path d="M352.306,12.181 L362.345,12.181 L362.715,15.815 C363.536,14.666 364.553,13.69 365.765,12.889 C366.975,12.088 368.444,11.688 370.169,11.688 C370.99,11.688 371.698,11.73 372.293,11.811 C372.889,11.894 373.412,12.018 373.864,12.181 L372.509,21.05 C371.523,20.804 370.517,20.681 369.491,20.681 C364.973,20.681 362.715,23.166 362.715,28.134 L362.715,41.131 L352.306,41.131 L352.306,12.181" id="Fill-6" fill="#888"></path>
<path d="M395.238,23.576 C395.238,23.084 395.134,22.57 394.93,22.036 C394.724,21.503 394.406,21.011 393.975,20.558 C393.544,20.107 393.01,19.727 392.374,19.418 C391.736,19.111 390.966,18.957 390.064,18.957 C389.202,18.957 388.442,19.111 387.785,19.418 C387.127,19.727 386.593,20.107 386.184,20.558 C385.773,21.011 385.464,21.503 385.259,22.036 C385.054,22.57 384.952,23.084 384.952,23.576 L395.238,23.576 Z M403.615,39.036 C403.122,39.324 402.495,39.643 401.737,39.991 C400.975,40.34 400.083,40.669 399.056,40.977 C398.03,41.285 396.88,41.552 395.607,41.778 C394.334,42.003 392.98,42.117 391.543,42.117 C386.204,42.117 382.118,40.771 379.284,38.082 C376.451,35.393 375.035,31.626 375.035,26.779 C375.035,24.85 375.343,22.95 375.959,21.081 C376.575,19.213 377.508,17.55 378.762,16.092 C380.014,14.635 381.595,13.455 383.504,12.551 C385.413,11.648 387.641,11.196 390.187,11.196 C392.158,11.196 394.016,11.535 395.762,12.212 C397.506,12.889 399.026,13.917 400.32,15.291 C401.613,16.668 402.629,18.393 403.369,20.465 C404.108,22.54 404.478,24.972 404.478,27.765 L404.478,29.736 L384.889,29.736 C384.93,30.228 385.064,30.742 385.29,31.276 C385.516,31.81 385.906,32.313 386.46,32.785 C387.015,33.258 387.754,33.637 388.678,33.924 C389.602,34.213 390.742,34.356 392.097,34.356 C393.862,34.356 395.474,34.13 396.932,33.678 C398.388,33.227 399.528,32.754 400.351,32.262 L403.615,39.036 L403.615,39.036 Z" id="Fill-7" fill="#888"></path>
<path d="M408.974,12.181 L419.383,12.181 L419.383,28.011 C419.383,29.449 419.68,30.598 420.276,31.461 C420.871,32.323 421.928,32.754 423.448,32.754 C424.269,32.754 424.958,32.611 425.511,32.323 C426.066,32.036 426.517,31.645 426.866,31.153 C427.215,30.659 427.462,30.116 427.606,29.521 C427.749,28.925 427.821,28.319 427.821,27.704 L427.821,12.181 L438.231,12.181 L438.231,41.131 L428.191,41.131 L427.821,38.174 C427.246,38.873 426.59,39.468 425.85,39.961 C425.111,40.454 424.351,40.844 423.572,41.131 C422.791,41.418 422.041,41.623 421.323,41.747 C420.605,41.871 419.977,41.932 419.444,41.932 C417.925,41.932 416.528,41.716 415.256,41.285 C413.982,40.854 412.884,40.176 411.96,39.253 C411.037,38.329 410.307,37.149 409.774,35.711 C409.24,34.274 408.974,32.528 408.974,30.475 L408.974,12.181" id="Fill-8" fill="#888"></path>
<path d="M463.177,20.866 C462.109,20.497 460.98,20.312 459.789,20.312 C457.942,20.312 456.432,20.887 455.262,22.036 C454.091,23.186 453.506,24.932 453.506,27.273 C453.506,28.997 453.927,30.382 454.769,31.429 C455.61,32.477 456.894,33 458.619,33 C460.137,33 461.277,32.549 462.037,31.645 C462.797,30.742 463.177,29.469 463.177,27.826 L463.177,20.866 Z M463.547,38.174 C462.478,39.448 461.226,40.392 459.789,41.007 C458.351,41.623 456.956,41.932 455.601,41.932 C454.04,41.932 452.613,41.695 451.319,41.223 C450.026,40.752 448.866,40.084 447.84,39.221 C446.279,37.908 445.088,36.172 444.267,34.016 C443.445,31.861 443.035,29.49 443.035,26.903 C443.035,24.726 443.405,22.704 444.144,20.835 C444.883,18.967 445.94,17.345 447.316,15.969 C448.691,14.594 450.335,13.516 452.244,12.736 C454.154,11.956 456.278,11.565 458.619,11.565 C459.564,11.565 460.426,11.637 461.206,11.781 C461.985,11.925 462.643,12.079 463.177,12.242 L463.177,0.047 L473.587,0.047 L473.587,41.131 L464.101,41.131 L463.547,38.174 L463.547,38.174 Z" id="Fill-9" fill="#888"></path>
<polyline id="Fill-10" fill="#888" points="164.525 58.676 170.995 58.676 183.982 78.134 183.982 58.676 190.678 58.676 190.678 88.648 184.521 88.648 171.22 68.832 171.22 88.648 164.525 88.648 164.525 58.676"></polyline>
<path d="M208.202,79.347 C208.052,79.317 207.768,79.279 207.348,79.234 C206.929,79.189 206.449,79.167 205.91,79.167 C204.112,79.167 202.839,79.422 202.091,79.93 C201.342,80.44 200.967,81.159 200.967,82.088 C200.967,83.825 202.016,84.694 204.112,84.694 C204.622,84.694 205.124,84.612 205.618,84.447 C206.112,84.282 206.546,84.05 206.921,83.75 C207.296,83.451 207.603,83.076 207.843,82.627 C208.082,82.178 208.202,81.654 208.202,81.055 L208.202,79.347 Z M208.202,86.671 C207.484,87.511 206.576,88.154 205.484,88.603 C204.39,89.053 203.169,89.277 201.821,89.277 C201.072,89.277 200.285,89.172 199.462,88.963 C198.638,88.753 197.874,88.401 197.17,87.907 C196.466,87.413 195.882,86.746 195.418,85.907 C194.953,85.069 194.721,84.019 194.721,82.761 C194.721,81.534 194.968,80.44 195.463,79.481 C195.957,78.523 196.638,77.722 197.507,77.077 C198.376,76.433 199.402,75.947 200.585,75.617 C201.769,75.288 203.049,75.123 204.428,75.123 C205.176,75.123 205.933,75.138 206.696,75.168 C207.461,75.198 207.962,75.243 208.202,75.302 L208.202,74.852 C208.202,74.313 208.09,73.857 207.865,73.482 C207.641,73.108 207.341,72.794 206.966,72.539 C206.591,72.284 206.164,72.104 205.686,72 C205.206,71.894 204.697,71.843 204.157,71.843 C202.72,71.843 201.529,72.022 200.585,72.382 C199.642,72.741 198.84,73.145 198.181,73.594 L195.53,69.64 C195.98,69.311 196.488,68.981 197.058,68.651 C197.627,68.322 198.301,68.022 199.08,67.753 C199.859,67.483 200.735,67.266 201.709,67.101 C202.682,66.937 203.798,66.854 205.057,66.854 C208.262,66.854 210.629,67.716 212.156,69.438 C213.685,71.161 214.448,73.475 214.448,76.381 L214.448,88.648 L208.382,88.648 L208.202,86.671 L208.202,86.671 Z" id="Fill-11" fill="#888"></path>
<path d="M219.796,72.651 L216.471,72.651 L216.471,67.573 L219.796,67.573 L219.796,61.192 L226.267,61.192 L226.267,67.573 L231.704,67.573 L231.704,72.651 L226.267,72.651 L226.267,80.964 C226.267,81.983 226.469,82.769 226.874,83.323 C227.278,83.878 227.914,84.155 228.783,84.155 C229.443,84.155 230.012,84.042 230.491,83.817 C230.97,83.593 231.419,83.331 231.839,83.031 L234.445,86.985 C232.408,88.603 230.192,89.412 227.795,89.412 C226.297,89.412 225.038,89.194 224.021,88.761 C223.001,88.327 222.178,87.727 221.549,86.963 C220.92,86.199 220.471,85.278 220.2,84.2 C219.931,83.121 219.796,81.924 219.796,80.604 L219.796,72.651" id="Fill-12" fill="#888"></path>
<path d="M237.187,88.648 L243.657,88.648 L243.657,67.573 L237.187,67.573 L237.187,88.648 Z M236.962,64.473 L243.882,64.473 L243.882,58.676 L236.962,58.676 L236.962,64.473 Z" id="Fill-13" fill="#888"></path>
<path d="M258.981,83.75 C259.789,83.75 260.509,83.593 261.138,83.278 C261.767,82.964 262.298,82.537 262.733,81.998 C263.167,81.459 263.489,80.851 263.699,80.178 C263.908,79.504 264.014,78.807 264.014,78.089 C264.014,77.369 263.908,76.673 263.699,75.999 C263.489,75.325 263.167,74.725 262.733,74.201 C262.298,73.678 261.767,73.258 261.138,72.943 C260.509,72.629 259.789,72.472 258.981,72.472 C258.172,72.472 257.445,72.629 256.801,72.943 C256.156,73.258 255.625,73.678 255.206,74.201 C254.786,74.725 254.465,75.325 254.24,75.999 C254.016,76.673 253.903,77.369 253.903,78.089 C253.903,78.807 254.016,79.504 254.24,80.178 C254.465,80.851 254.786,81.459 255.206,81.998 C255.625,82.537 256.156,82.964 256.801,83.278 C257.445,83.593 258.172,83.75 258.981,83.75 Z M247.656,78.089 C247.656,76.531 247.934,75.07 248.488,73.707 C249.042,72.345 249.814,71.153 250.802,70.135 C251.791,69.116 252.982,68.314 254.375,67.73 C255.768,67.146 257.303,66.854 258.981,66.854 C260.658,66.854 262.186,67.146 263.565,67.73 C264.942,68.314 266.126,69.116 267.114,70.135 C268.103,71.153 268.874,72.345 269.429,73.707 C269.983,75.07 270.26,76.531 270.26,78.089 C270.26,79.646 269.983,81.106 269.429,82.47 C268.874,83.833 268.103,85.024 267.114,86.042 C266.126,87.06 264.942,87.87 263.565,88.469 C262.186,89.067 260.658,89.367 258.981,89.367 C257.303,89.367 255.768,89.067 254.375,88.469 C252.982,87.87 251.791,87.06 250.802,86.042 C249.814,85.024 249.042,83.833 248.488,82.47 C247.934,81.106 247.656,79.646 247.656,78.089 L247.656,78.089 Z" id="Fill-14" fill="#888"></path>
<path d="M274.169,67.573 L280.37,67.573 L280.55,69.865 C281.238,69.026 282.145,68.352 283.269,67.843 C284.392,67.334 285.568,67.079 286.796,67.079 C289.223,67.079 291.147,67.798 292.57,69.236 C293.992,70.674 294.705,72.802 294.705,75.617 L294.705,88.648 L288.234,88.648 L288.234,76.515 C288.234,75.347 287.942,74.419 287.358,73.729 C286.774,73.041 285.957,72.696 284.908,72.696 C284.19,72.696 283.561,72.824 283.022,73.078 C282.483,73.333 282.032,73.67 281.673,74.089 C281.314,74.509 281.044,74.995 280.864,75.55 C280.685,76.104 280.595,76.695 280.595,77.324 L280.595,88.648 L274.169,88.648 L274.169,67.573" id="Fill-15" fill="#888"></path>
<path d="M310.701,79.347 C310.551,79.317 310.267,79.279 309.847,79.234 C309.428,79.189 308.948,79.167 308.409,79.167 C306.611,79.167 305.338,79.422 304.59,79.93 C303.841,80.44 303.466,81.159 303.466,82.088 C303.466,83.825 304.515,84.694 306.611,84.694 C307.121,84.694 307.623,84.612 308.117,84.447 C308.611,84.282 309.045,84.05 309.42,83.75 C309.795,83.451 310.102,83.076 310.342,82.627 C310.581,82.178 310.701,81.654 310.701,81.055 L310.701,79.347 Z M310.701,86.671 C309.983,87.511 309.075,88.154 307.983,88.603 C306.889,89.053 305.668,89.277 304.32,89.277 C303.571,89.277 302.784,89.172 301.961,88.963 C301.137,88.753 300.373,88.401 299.669,87.907 C298.965,87.413 298.381,86.746 297.917,85.907 C297.452,85.069 297.22,84.019 297.22,82.761 C297.22,81.534 297.467,80.44 297.962,79.481 C298.456,78.523 299.137,77.722 300.006,77.077 C300.875,76.433 301.901,75.947 303.084,75.617 C304.268,75.288 305.548,75.123 306.927,75.123 C307.675,75.123 308.432,75.138 309.195,75.168 C309.96,75.198 310.461,75.243 310.701,75.302 L310.701,74.852 C310.701,74.313 310.589,73.857 310.364,73.482 C310.14,73.108 309.84,72.794 309.465,72.539 C309.09,72.284 308.663,72.104 308.185,72 C307.705,71.894 307.196,71.843 306.656,71.843 C305.219,71.843 304.028,72.022 303.084,72.382 C302.141,72.741 301.339,73.145 300.68,73.594 L298.029,69.64 C298.479,69.311 298.987,68.981 299.557,68.651 C300.126,68.322 300.8,68.022 301.579,67.753 C302.358,67.483 303.234,67.266 304.208,67.101 C305.181,66.937 306.297,66.854 307.556,66.854 C310.761,66.854 313.128,67.716 314.655,69.438 C316.184,71.161 316.947,73.475 316.947,76.381 L316.947,88.648 L310.881,88.648 L310.701,86.671 L310.701,86.671 Z" id="Fill-16" fill="#888"></path>
<polygon id="Fill-17" fill="#888" points="321.621 88.649 328.092 88.649 328.092 58.676 321.621 58.676"></polygon>
<path d="M368.58,83.121 C367.951,83.99 367.187,84.806 366.288,85.57 C365.39,86.334 364.394,87.001 363.3,87.57 C362.206,88.139 361.023,88.589 359.75,88.918 C358.477,89.247 357.151,89.412 355.774,89.412 C353.496,89.412 351.414,89.022 349.527,88.244 C347.64,87.466 346.015,86.379 344.652,84.986 C343.288,83.593 342.232,81.946 341.484,80.043 C340.735,78.14 340.361,76.052 340.361,73.774 C340.361,71.557 340.735,69.483 341.484,67.551 C342.232,65.618 343.288,63.941 344.652,62.517 C346.015,61.096 347.647,59.971 349.55,59.147 C351.451,58.324 353.556,57.912 355.863,57.912 C358.65,57.912 361.083,58.422 363.165,59.439 C365.247,60.459 366.977,61.927 368.356,63.844 L363.727,68.292 C362.828,67.034 361.765,66.023 360.536,65.259 C359.308,64.495 357.84,64.113 356.133,64.113 C354.784,64.113 353.571,64.36 352.493,64.854 C351.414,65.348 350.5,66.031 349.752,66.899 C349.002,67.768 348.426,68.779 348.022,69.932 C347.617,71.086 347.415,72.306 347.415,73.594 C347.415,74.913 347.617,76.141 348.022,77.279 C348.426,78.418 349.002,79.407 349.752,80.245 C350.5,81.084 351.399,81.744 352.448,82.222 C353.496,82.702 354.679,82.941 355.998,82.941 C357.076,82.941 358.012,82.829 358.807,82.604 C359.6,82.38 360.304,82.081 360.918,81.706 C361.532,81.332 362.079,80.896 362.559,80.402 C363.037,79.908 363.502,79.407 363.951,78.897 L368.58,83.121" id="Fill-18" fill="#888"></path>
<path d="M385.386,75.887 C385.386,75.437 385.296,74.98 385.116,74.515 C384.937,74.052 384.667,73.625 384.308,73.235 C383.948,72.847 383.499,72.524 382.96,72.269 C382.42,72.014 381.776,71.888 381.027,71.888 C380.278,71.888 379.619,72.014 379.05,72.269 C378.481,72.524 378.009,72.847 377.635,73.235 C377.26,73.625 376.976,74.052 376.781,74.515 C376.586,74.98 376.489,75.437 376.489,75.887 L385.386,75.887 Z M391.048,86.356 C390.808,86.507 390.448,86.754 389.97,87.097 C389.49,87.443 388.869,87.78 388.105,88.109 C387.341,88.439 386.435,88.73 385.386,88.985 C384.337,89.239 383.14,89.367 381.791,89.367 C379.994,89.367 378.376,89.09 376.939,88.536 C375.5,87.982 374.279,87.211 373.276,86.222 C372.272,85.233 371.508,84.042 370.985,82.649 C370.46,81.257 370.197,79.722 370.197,78.044 C370.197,76.576 370.445,75.16 370.94,73.797 C371.434,72.434 372.145,71.243 373.073,70.224 C374.002,69.206 375.141,68.389 376.489,67.775 C377.837,67.162 379.364,66.854 381.072,66.854 C382.78,66.854 384.277,67.154 385.566,67.753 C386.854,68.352 387.94,69.183 388.824,70.247 C389.707,71.31 390.374,72.584 390.823,74.066 C391.273,75.55 391.497,77.175 391.497,78.942 L391.497,80.02 L376.489,80.02 C376.519,81.159 377.021,82.155 377.994,83.009 C378.968,83.862 380.309,84.29 382.016,84.29 C383.694,84.29 385.057,84.042 386.106,83.548 C387.153,83.054 387.917,82.627 388.397,82.267 L391.048,86.356 L391.048,86.356 Z" id="Fill-19" fill="#888"></path>
<path d="M394.328,67.573 L400.529,67.573 L400.709,69.865 C401.398,69.026 402.304,68.352 403.428,67.843 C404.551,67.334 405.727,67.079 406.955,67.079 C409.382,67.079 411.306,67.798 412.73,69.236 C414.152,70.674 414.864,72.802 414.864,75.617 L414.864,88.648 L408.393,88.648 L408.393,76.515 C408.393,75.347 408.101,74.419 407.517,73.729 C406.933,73.041 406.116,72.696 405.068,72.696 C404.349,72.696 403.72,72.824 403.181,73.078 C402.642,73.333 402.192,73.67 401.832,74.089 C401.473,74.509 401.203,74.995 401.024,75.55 C400.844,76.104 400.754,76.695 400.754,77.324 L400.754,88.648 L394.328,88.648 L394.328,67.573" id="Fill-20" fill="#888"></path>
<path d="M421.11,72.651 L417.784,72.651 L417.784,67.573 L421.11,67.573 L421.11,61.192 L427.58,61.192 L427.58,67.573 L433.018,67.573 L433.018,72.651 L427.58,72.651 L427.58,80.964 C427.58,81.983 427.782,82.769 428.188,83.323 C428.592,83.878 429.228,84.155 430.097,84.155 C430.756,84.155 431.325,84.042 431.805,83.817 C432.283,83.593 432.733,83.331 433.152,83.031 L435.759,86.985 C433.722,88.603 431.505,89.412 429.109,89.412 C427.611,89.412 426.352,89.194 425.334,88.761 C424.315,88.327 423.491,87.727 422.862,86.963 C422.234,86.199 421.784,85.278 421.514,84.2 C421.244,83.121 421.11,81.924 421.11,80.604 L421.11,72.651" id="Fill-21" fill="#888"></path>
<path d="M438.32,67.573 L444.522,67.573 L444.746,70.224 C445.285,69.506 446.027,68.816 446.971,68.157 C447.914,67.499 449.134,67.169 450.633,67.169 C451.201,67.169 451.689,67.199 452.093,67.259 C452.497,67.319 452.895,67.424 453.284,67.573 L452.25,73.28 C451.591,73.071 450.813,72.966 449.914,72.966 C448.386,72.966 447.151,73.423 446.206,74.336 C445.263,75.25 444.791,76.546 444.791,78.223 L444.791,88.648 L438.32,88.648 L438.32,67.573" id="Fill-22" fill="#888"></path>
<path d="M469.864,75.887 C469.864,75.437 469.775,74.98 469.595,74.515 C469.415,74.052 469.146,73.625 468.786,73.235 C468.427,72.847 467.978,72.524 467.439,72.269 C466.899,72.014 466.254,71.888 465.506,71.888 C464.757,71.888 464.098,72.014 463.528,72.269 C462.959,72.524 462.487,72.847 462.113,73.235 C461.738,73.625 461.454,74.052 461.26,74.515 C461.065,74.98 460.968,75.437 460.968,75.887 L469.864,75.887 Z M475.527,86.356 C475.286,86.507 474.927,86.754 474.448,87.097 C473.969,87.443 473.348,87.78 472.583,88.109 C471.819,88.439 470.913,88.73 469.864,88.985 C468.816,89.239 467.618,89.367 466.27,89.367 C464.473,89.367 462.855,89.09 461.417,88.536 C459.979,87.982 458.758,87.211 457.754,86.222 C456.75,85.233 455.986,84.042 455.463,82.649 C454.939,81.257 454.676,79.722 454.676,78.044 C454.676,76.576 454.924,75.16 455.418,73.797 C455.912,72.434 456.623,71.243 457.552,70.224 C458.481,69.206 459.619,68.389 460.968,67.775 C462.316,67.162 463.843,66.854 465.551,66.854 C467.259,66.854 468.756,67.154 470.044,67.753 C471.332,68.352 472.418,69.183 473.303,70.247 C474.186,71.31 474.853,72.584 475.302,74.066 C475.751,75.55 475.976,77.175 475.976,78.942 L475.976,80.02 L460.968,80.02 C460.997,81.159 461.499,82.155 462.473,83.009 C463.446,83.862 464.787,84.29 466.494,84.29 C468.172,84.29 469.535,84.042 470.584,83.548 C471.632,83.054 472.396,82.627 472.875,82.267 L475.527,86.356 L475.527,86.356 Z" id="Fill-23" fill="#888"></path>
<path d="M488.557,72.651 L485.142,72.651 L485.142,67.573 L488.557,67.573 L488.557,66.495 C488.557,64.997 488.804,63.709 489.299,62.63 C489.793,61.552 490.444,60.661 491.253,59.957 C492.062,59.253 492.984,58.728 494.017,58.384 C495.05,58.04 496.107,57.867 497.185,57.867 C498.323,57.867 499.477,58.032 500.645,58.361 C501.814,58.691 502.876,59.26 503.835,60.069 C503.386,60.759 502.929,61.439 502.465,62.113 C502,62.788 501.544,63.47 501.094,64.158 C500.645,63.829 500.151,63.574 499.611,63.394 C499.072,63.215 498.518,63.125 497.948,63.125 C497.05,63.125 496.331,63.41 495.792,63.978 C495.253,64.548 494.983,65.356 494.983,66.405 L494.983,67.573 L499.971,67.573 L499.971,72.651 L494.983,72.651 L494.983,88.648 L488.557,88.648 L488.557,72.651" id="Fill-24" fill="#888"></path>
<path d="M512.508,83.75 C513.317,83.75 514.036,83.593 514.665,83.278 C515.294,82.964 515.825,82.537 516.26,81.998 C516.694,81.459 517.017,80.851 517.227,80.178 C517.436,79.504 517.541,78.807 517.541,78.089 C517.541,77.369 517.436,76.673 517.227,75.999 C517.017,75.325 516.694,74.725 516.26,74.201 C515.825,73.678 515.294,73.258 514.665,72.943 C514.036,72.629 513.317,72.472 512.508,72.472 C511.699,72.472 510.973,72.629 510.328,72.943 C509.684,73.258 509.152,73.678 508.734,74.201 C508.314,74.725 507.992,75.325 507.768,75.999 C507.543,76.673 507.431,77.369 507.431,78.089 C507.431,78.807 507.543,79.504 507.768,80.178 C507.992,80.851 508.314,81.459 508.734,81.998 C509.152,82.537 509.684,82.964 510.328,83.278 C510.973,83.593 511.699,83.75 512.508,83.75 Z M501.184,78.089 C501.184,76.531 501.461,75.07 502.016,73.707 C502.569,72.345 503.341,71.153 504.329,70.135 C505.319,69.116 506.509,68.314 507.902,67.73 C509.295,67.146 510.83,66.854 512.508,66.854 C514.186,66.854 515.713,67.146 517.092,67.73 C518.469,68.314 519.653,69.116 520.642,70.135 C521.63,71.153 522.401,72.345 522.956,73.707 C523.51,75.07 523.787,76.531 523.787,78.089 C523.787,79.646 523.51,81.106 522.956,82.47 C522.401,83.833 521.63,85.024 520.642,86.042 C519.653,87.06 518.469,87.87 517.092,88.469 C515.713,89.067 514.186,89.367 512.508,89.367 C510.83,89.367 509.295,89.067 507.902,88.469 C506.509,87.87 505.319,87.06 504.329,86.042 C503.341,85.024 502.569,83.833 502.016,82.47 C501.461,81.106 501.184,79.646 501.184,78.089 L501.184,78.089 Z" id="Fill-25" fill="#888"></path>
<g id="Group-29" transform="translate(163.000000, 67.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-27"></g>
<path d="M364.651,0.573 L370.853,0.573 L371.077,3.224 C371.616,2.506 372.358,1.816 373.302,1.157 C374.245,0.499 375.465,0.169 376.964,0.169 C377.532,0.169 378.02,0.199 378.424,0.259 C378.828,0.319 379.226,0.424 379.615,0.573 L378.581,6.28 C377.922,6.071 377.144,5.966 376.245,5.966 C374.717,5.966 373.482,6.423 372.537,7.336 C371.594,8.25 371.122,9.546 371.122,11.223 L371.122,21.648 L364.651,21.648 L364.651,0.573" id="Fill-26" fill="#888" mask="url(#mask-2)"></path>
<path d="M28.576,58.69 C27.947,59.559 27.183,60.376 26.284,61.139 C25.386,61.903 24.39,62.57 23.296,63.139 C22.202,63.709 21.019,64.158 19.746,64.487 C18.473,64.816 17.147,64.981 15.77,64.981 C13.492,64.981 11.41,64.592 9.524,63.813 C7.636,63.035 6.011,61.948 4.648,60.555 C3.284,59.162 2.228,57.515 1.48,55.612 C0.731,53.71 0.357,51.621 0.357,49.344 C0.357,47.127 0.731,45.053 1.48,43.12 C2.228,41.187 3.284,39.511 4.648,38.087 C6.011,36.665 7.643,35.541 9.546,34.717 C11.447,33.893 13.552,33.481 15.86,33.481 C18.646,33.481 21.079,33.991 23.161,35.009 C25.243,36.028 26.973,37.496 28.352,39.413 L23.723,43.861 C22.824,42.603 21.761,41.593 20.532,40.828 C19.304,40.064 17.836,39.682 16.129,39.682 C14.78,39.682 13.568,39.929 12.489,40.424 C11.41,40.918 10.496,41.6 9.748,42.469 C8.998,43.338 8.422,44.348 8.018,45.502 C7.613,46.655 7.411,47.876 7.411,49.164 C7.411,50.482 7.613,51.711 8.018,52.848 C8.422,53.987 8.998,54.976 9.748,55.814 C10.496,56.653 11.395,57.313 12.444,57.792 C13.492,58.271 14.675,58.511 15.994,58.511 C17.072,58.511 18.008,58.398 18.803,58.174 C19.596,57.949 20.3,57.65 20.914,57.275 C21.528,56.901 22.075,56.466 22.555,55.971 C23.033,55.477 23.498,54.976 23.947,54.467 L28.576,58.69" id="Fill-28" fill="#888" mask="url(#mask-2)"></path>
</g>
<path d="M193.689,101.245 L200.114,101.245 L200.114,112.165 C200.803,111.356 201.717,110.734 202.856,110.3 C203.993,109.866 205.148,109.648 206.316,109.648 C208.742,109.648 210.682,110.367 212.135,111.805 C213.587,113.243 214.315,115.371 214.315,118.186 L214.315,131.218 L207.888,131.218 L207.888,119.175 C207.888,117.947 207.573,116.988 206.944,116.299 C206.316,115.61 205.477,115.265 204.428,115.265 C203.738,115.265 203.125,115.393 202.586,115.647 C202.047,115.902 201.597,116.239 201.237,116.658 C200.878,117.078 200.609,117.564 200.429,118.119 C200.249,118.674 200.159,119.264 200.159,119.893 L200.159,131.218 L193.689,131.218 L193.689,101.245" id="Fill-30" fill="#888"></path>
<path d="M218.313,131.218 L224.783,131.218 L224.783,110.142 L218.313,110.142 L218.313,131.218 Z M218.088,107.042 L225.008,107.042 L225.008,101.245 L218.088,101.245 L218.088,107.042 Z" id="Fill-31" fill="#888"></path>
<polygon id="Fill-32" fill="#888" points="229.727 131.218 236.197 131.218 236.197 101.245 229.727 101.245"></polygon>
<path d="M255.16,115.939 C254.711,115.67 254.224,115.475 253.7,115.355 C253.176,115.236 252.525,115.176 251.745,115.176 C250.098,115.176 248.817,115.73 247.903,116.838 C246.989,117.947 246.533,119.37 246.533,121.107 C246.533,122.635 246.907,123.886 247.656,124.859 C248.404,125.833 249.528,126.319 251.027,126.319 C251.745,126.319 252.367,126.192 252.892,125.937 C253.415,125.683 253.85,125.346 254.194,124.927 C254.538,124.508 254.785,124.013 254.936,123.443 C255.085,122.875 255.16,122.291 255.16,121.691 L255.16,115.939 Z M255.295,129.105 C254.636,129.885 253.79,130.537 252.757,131.06 C251.723,131.584 250.547,131.846 249.229,131.846 C247.941,131.846 246.736,131.592 245.611,131.083 C244.488,130.574 243.515,129.847 242.691,128.903 C241.866,127.96 241.215,126.821 240.736,125.488 C240.257,124.156 240.017,122.65 240.017,120.972 C240.017,119.085 240.355,117.429 241.028,116.007 C241.702,114.584 242.57,113.408 243.635,112.479 C244.697,111.551 245.881,110.854 247.185,110.389 C248.487,109.926 249.769,109.693 251.027,109.693 C252.045,109.693 252.839,109.761 253.408,109.895 C253.977,110.03 254.561,110.203 255.16,110.412 L255.16,101.245 L261.587,101.245 L261.587,131.218 L255.566,131.218 L255.295,129.105 L255.295,129.105 Z" id="Fill-33" fill="#888"></path>
<path d="M266.35,110.142 L272.551,110.142 L272.776,112.794 C273.315,112.075 274.056,111.386 275,110.726 C275.944,110.068 277.163,109.738 278.662,109.738 C279.231,109.738 279.718,109.768 280.122,109.828 C280.527,109.888 280.924,109.993 281.314,110.142 L280.279,115.849 C279.62,115.64 278.842,115.535 277.944,115.535 C276.415,115.535 275.18,115.992 274.236,116.905 C273.292,117.819 272.82,119.115 272.82,120.793 L272.82,131.218 L266.35,131.218 L266.35,110.142" id="Fill-34" fill="#888"></path>
<path d="M297.894,118.456 C297.894,118.007 297.804,117.55 297.624,117.085 C297.444,116.621 297.175,116.194 296.816,115.804 C296.456,115.416 296.007,115.094 295.468,114.839 C294.928,114.584 294.283,114.457 293.535,114.457 C292.786,114.457 292.127,114.584 291.558,114.839 C290.988,115.094 290.517,115.416 290.143,115.804 C289.768,116.194 289.484,116.621 289.289,117.085 C289.094,117.55 288.997,118.007 288.997,118.456 L297.894,118.456 Z M303.556,128.926 C303.316,129.076 302.956,129.323 302.478,129.667 C301.998,130.012 301.377,130.349 300.612,130.678 C299.849,131.009 298.943,131.3 297.894,131.554 C296.845,131.808 295.648,131.936 294.299,131.936 C292.502,131.936 290.884,131.659 289.446,131.105 C288.008,130.552 286.787,129.78 285.783,128.791 C284.779,127.803 284.016,126.611 283.492,125.219 C282.968,123.826 282.705,122.291 282.705,120.613 C282.705,119.145 282.953,117.729 283.447,116.366 C283.942,115.004 284.652,113.812 285.581,112.794 C286.51,111.775 287.649,110.959 288.997,110.345 C290.345,109.731 291.872,109.424 293.58,109.424 C295.288,109.424 296.785,109.723 298.073,110.322 C299.361,110.922 300.447,111.753 301.332,112.816 C302.215,113.88 302.882,115.153 303.331,116.636 C303.78,118.119 304.005,119.744 304.005,121.511 L304.005,122.59 L288.997,122.59 C289.027,123.728 289.528,124.724 290.502,125.578 C291.476,126.431 292.817,126.859 294.524,126.859 C296.201,126.859 297.565,126.611 298.613,126.117 C299.661,125.623 300.425,125.196 300.904,124.837 L303.556,128.926 L303.556,128.926 Z" id="Fill-35" fill="#888"></path>
<path d="M306.836,110.142 L313.037,110.142 L313.217,112.434 C313.905,111.595 314.812,110.922 315.936,110.412 C317.059,109.903 318.235,109.648 319.463,109.648 C321.89,109.648 323.814,110.367 325.237,111.805 C326.659,113.243 327.372,115.371 327.372,118.186 L327.372,131.218 L320.901,131.218 L320.901,119.085 C320.901,117.917 320.609,116.988 320.025,116.299 C319.441,115.61 318.624,115.265 317.575,115.265 C316.857,115.265 316.228,115.393 315.689,115.647 C315.15,115.902 314.699,116.239 314.34,116.658 C313.981,117.078 313.711,117.564 313.531,118.119 C313.352,118.674 313.262,119.264 313.262,119.893 L313.262,131.218 L306.836,131.218 L306.836,110.142" id="Fill-36" fill="#888"></path>
<path d="M352.402,121.916 C352.251,121.886 351.967,121.848 351.547,121.803 C351.128,121.759 350.649,121.736 350.11,121.736 C348.312,121.736 347.038,121.991 346.29,122.5 C345.541,123.01 345.166,123.728 345.166,124.657 C345.166,126.394 346.215,127.263 348.312,127.263 C348.821,127.263 349.323,127.181 349.818,127.016 C350.312,126.851 350.745,126.619 351.12,126.319 C351.495,126.02 351.802,125.645 352.042,125.196 C352.281,124.747 352.402,124.223 352.402,123.624 L352.402,121.916 Z M352.402,129.24 C351.683,130.08 350.776,130.723 349.683,131.173 C348.589,131.622 347.368,131.846 346.021,131.846 C345.272,131.846 344.485,131.741 343.661,131.532 C342.837,131.322 342.073,130.97 341.369,130.476 C340.665,129.982 340.081,129.315 339.617,128.476 C339.152,127.638 338.92,126.589 338.92,125.331 C338.92,124.103 339.167,123.01 339.662,122.051 C340.156,121.093 340.837,120.291 341.706,119.646 C342.575,119.003 343.601,118.516 344.784,118.186 C345.968,117.857 347.248,117.692 348.627,117.692 C349.375,117.692 350.132,117.707 350.896,117.737 C351.66,117.767 352.161,117.812 352.402,117.872 L352.402,117.422 C352.402,116.883 352.289,116.427 352.065,116.052 C351.84,115.678 351.54,115.363 351.165,115.108 C350.79,114.853 350.363,114.674 349.885,114.569 C349.405,114.464 348.897,114.412 348.357,114.412 C346.919,114.412 345.729,114.592 344.784,114.951 C343.841,115.31 343.039,115.715 342.38,116.164 L339.73,112.21 C340.179,111.881 340.688,111.551 341.257,111.22 C341.826,110.891 342.5,110.592 343.279,110.322 C344.058,110.053 344.934,109.836 345.908,109.671 C346.881,109.507 347.997,109.424 349.256,109.424 C352.461,109.424 354.828,110.285 356.356,112.008 C357.884,113.73 358.648,116.045 358.648,118.95 L358.648,131.218 L352.581,131.218 L352.402,129.24 L352.402,129.24 Z" id="Fill-37" fill="#888"></path>
<path d="M363.366,110.142 L369.568,110.142 L369.747,112.434 C370.436,111.595 371.342,110.922 372.466,110.412 C373.589,109.903 374.765,109.648 375.993,109.648 C378.42,109.648 380.344,110.367 381.768,111.805 C383.19,113.243 383.902,115.371 383.902,118.186 L383.902,131.218 L377.431,131.218 L377.431,119.085 C377.431,117.917 377.139,116.988 376.555,116.299 C375.971,115.61 375.154,115.265 374.106,115.265 C373.387,115.265 372.758,115.393 372.219,115.647 C371.68,115.902 371.23,116.239 370.87,116.658 C370.511,117.078 370.241,117.564 370.062,118.119 C369.882,118.674 369.792,119.264 369.792,119.893 L369.792,131.218 L363.366,131.218 L363.366,110.142" id="Fill-38" fill="#888"></path>
<path d="M402.775,115.939 C402.325,115.67 401.838,115.475 401.315,115.355 C400.79,115.236 400.139,115.176 399.36,115.176 C397.712,115.176 396.431,115.73 395.518,116.838 C394.604,117.947 394.148,119.37 394.148,121.107 C394.148,122.635 394.522,123.886 395.271,124.859 C396.019,125.833 397.143,126.319 398.641,126.319 C399.36,126.319 399.982,126.192 400.506,125.937 C401.029,125.683 401.464,125.346 401.809,124.927 C402.152,124.508 402.4,124.013 402.55,123.443 C402.699,122.875 402.775,122.291 402.775,121.691 L402.775,115.939 Z M402.909,129.105 C402.25,129.885 401.404,130.537 400.371,131.06 C399.337,131.584 398.161,131.846 396.843,131.846 C395.555,131.846 394.35,131.592 393.226,131.083 C392.103,130.574 391.129,129.847 390.305,128.903 C389.481,127.96 388.829,126.821 388.351,125.488 C387.871,124.156 387.631,122.65 387.631,120.972 C387.631,119.085 387.969,117.429 388.643,116.007 C389.317,114.584 390.185,113.408 391.249,112.479 C392.312,111.551 393.495,110.854 394.799,110.389 C396.102,109.926 397.383,109.693 398.641,109.693 C399.659,109.693 400.453,109.761 401.023,109.895 C401.591,110.03 402.175,110.203 402.775,110.412 L402.775,101.245 L409.201,101.245 L409.201,131.218 L403.18,131.218 L402.909,129.105 L402.909,129.105 Z" id="Fill-39" fill="#888"></path>
<polyline id="Fill-40" fill="#888" points="421.738 101.245 441.87 101.245 441.87 107.221 428.524 107.221 428.524 114.007 438.679 114.007 438.679 119.803 428.524 119.803 428.524 131.218 421.738 131.218 421.738 101.245"></polyline>
<path d="M456.742,121.916 C456.592,121.886 456.308,121.848 455.888,121.803 C455.469,121.759 454.989,121.736 454.45,121.736 C452.652,121.736 451.379,121.991 450.631,122.5 C449.882,123.01 449.507,123.728 449.507,124.657 C449.507,126.394 450.556,127.263 452.652,127.263 C453.162,127.263 453.664,127.181 454.158,127.016 C454.652,126.851 455.086,126.619 455.461,126.319 C455.836,126.02 456.143,125.645 456.383,125.196 C456.622,124.747 456.742,124.223 456.742,123.624 L456.742,121.916 Z M456.742,129.24 C456.024,130.08 455.116,130.723 454.024,131.173 C452.93,131.622 451.709,131.846 450.361,131.846 C449.612,131.846 448.825,131.741 448.002,131.532 C447.178,131.322 446.414,130.97 445.71,130.476 C445.006,129.982 444.422,129.315 443.958,128.476 C443.493,127.638 443.261,126.589 443.261,125.331 C443.261,124.103 443.508,123.01 444.003,122.051 C444.497,121.093 445.178,120.291 446.047,119.646 C446.916,119.003 447.942,118.516 449.125,118.186 C450.309,117.857 451.589,117.692 452.968,117.692 C453.716,117.692 454.473,117.707 455.236,117.737 C456.001,117.767 456.502,117.812 456.742,117.872 L456.742,117.422 C456.742,116.883 456.63,116.427 456.405,116.052 C456.181,115.678 455.881,115.363 455.506,115.108 C455.131,114.853 454.704,114.674 454.226,114.569 C453.746,114.464 453.237,114.412 452.697,114.412 C451.26,114.412 450.069,114.592 449.125,114.951 C448.182,115.31 447.38,115.715 446.721,116.164 L444.07,112.21 C444.52,111.881 445.028,111.551 445.598,111.22 C446.167,110.891 446.841,110.592 447.62,110.322 C448.399,110.053 449.275,109.836 450.249,109.671 C451.222,109.507 452.338,109.424 453.597,109.424 C456.802,109.424 459.169,110.285 460.696,112.008 C462.225,113.73 462.988,116.045 462.988,118.95 L462.988,131.218 L456.922,131.218 L456.742,129.24 L456.742,129.24 Z" id="Fill-41" fill="#888"></path>
<path d="M467.662,110.142 L473.863,110.142 L474.088,112.479 C474.746,111.671 475.585,110.996 476.605,110.457 C477.622,109.918 478.821,109.648 480.199,109.648 C481.037,109.648 481.786,109.738 482.446,109.918 C483.105,110.097 483.682,110.33 484.176,110.614 C484.67,110.899 485.105,111.214 485.48,111.558 C485.854,111.903 486.16,112.24 486.401,112.569 C487.269,111.64 488.325,110.922 489.569,110.412 C490.812,109.903 492.108,109.648 493.455,109.648 C496.152,109.648 498.211,110.412 499.634,111.94 C501.057,113.468 501.769,115.551 501.769,118.186 L501.769,131.218 L495.298,131.218 L495.298,119.22 C495.298,117.962 495.021,116.988 494.467,116.299 C493.912,115.61 493.08,115.265 491.973,115.265 C490.714,115.265 489.71,115.7 488.962,116.568 C488.213,117.437 487.838,118.546 487.838,119.893 L487.838,131.218 L481.592,131.218 L481.592,119.22 C481.592,117.962 481.315,116.988 480.761,116.299 C480.206,115.61 479.375,115.265 478.267,115.265 C477.038,115.265 476.043,115.7 475.278,116.568 C474.515,117.437 474.133,118.546 474.133,119.893 L474.133,131.218 L467.662,131.218 L467.662,110.142" id="Fill-42" fill="#888"></path>
<path d="M505.723,131.218 L512.193,131.218 L512.193,110.142 L505.723,110.142 L505.723,131.218 Z M505.498,107.042 L512.418,107.042 L512.418,101.245 L505.498,101.245 L505.498,107.042 Z" id="Fill-43" fill="#888"></path>
<polygon id="Fill-44" fill="#888" points="517.137 131.218 523.608 131.218 523.608 101.245 517.137 101.245"></polygon>
<path d="M528.551,131.218 L535.022,131.218 L535.022,110.142 L528.551,110.142 L528.551,131.218 Z M528.326,107.042 L535.246,107.042 L535.246,101.245 L528.326,101.245 L528.326,107.042 Z" id="Fill-45" fill="#888"></path>
<path d="M554.209,118.456 C554.209,118.007 554.119,117.55 553.94,117.085 C553.76,116.621 553.49,116.194 553.131,115.804 C552.772,115.416 552.322,115.094 551.783,114.839 C551.243,114.584 550.599,114.457 549.851,114.457 C549.102,114.457 548.443,114.584 547.873,114.839 C547.304,115.094 546.832,115.416 546.458,115.804 C546.083,116.194 545.799,116.621 545.605,117.085 C545.409,117.55 545.313,118.007 545.313,118.456 L554.209,118.456 Z M559.871,128.926 C559.631,129.076 559.272,129.323 558.793,129.667 C558.314,130.012 557.693,130.349 556.928,130.678 C556.164,131.009 555.258,131.3 554.209,131.554 C553.16,131.808 551.963,131.936 550.614,131.936 C548.818,131.936 547.199,131.659 545.762,131.105 C544.323,130.552 543.103,129.78 542.099,128.791 C541.095,127.803 540.331,126.611 539.808,125.219 C539.283,123.826 539.021,122.291 539.021,120.613 C539.021,119.145 539.269,117.729 539.763,116.366 C540.257,115.004 540.968,113.812 541.897,112.794 C542.825,111.775 543.964,110.959 545.313,110.345 C546.66,109.731 548.188,109.424 549.896,109.424 C551.604,109.424 553.101,109.723 554.389,110.322 C555.677,110.922 556.763,111.753 557.648,112.816 C558.53,113.88 559.197,115.153 559.647,116.636 C560.096,118.119 560.32,119.744 560.32,121.511 L560.32,122.59 L545.313,122.59 C545.342,123.728 545.844,124.724 546.818,125.578 C547.791,126.431 549.132,126.859 550.839,126.859 C552.517,126.859 553.88,126.611 554.929,126.117 C555.977,125.623 556.74,125.196 557.22,124.837 L559.871,128.926 L559.871,128.926 Z" id="Fill-46" fill="#888"></path>
<path d="M566.161,124.702 C566.851,125.331 567.757,125.855 568.88,126.274 C570.004,126.694 571.089,126.904 572.138,126.904 C573.097,126.904 573.891,126.784 574.52,126.544 C575.149,126.304 575.464,125.841 575.464,125.151 C575.464,124.882 575.397,124.635 575.261,124.41 C575.126,124.185 574.879,123.975 574.52,123.781 C574.16,123.586 573.658,123.384 573.015,123.174 C572.37,122.965 571.554,122.724 570.566,122.455 C569.757,122.246 568.955,121.969 568.161,121.624 C567.367,121.28 566.663,120.852 566.049,120.343 C565.435,119.834 564.941,119.22 564.567,118.501 C564.192,117.782 564.005,116.943 564.005,115.984 C564.005,114.996 564.23,114.104 564.679,113.31 C565.128,112.517 565.749,111.828 566.544,111.243 C567.337,110.659 568.28,110.21 569.375,109.895 C570.468,109.581 571.644,109.424 572.902,109.424 C574.699,109.424 576.273,109.626 577.62,110.03 C578.969,110.434 580.211,111.026 581.35,111.805 L578.609,116.074 C577.92,115.625 577.133,115.22 576.25,114.861 C575.366,114.502 574.369,114.321 573.262,114.321 C572.273,114.321 571.554,114.464 571.105,114.749 C570.655,115.034 570.431,115.416 570.431,115.894 C570.431,116.584 570.895,117.093 571.823,117.422 C572.752,117.752 574.01,118.127 575.599,118.546 C577.755,119.145 579.32,119.969 580.294,121.017 C581.268,122.066 581.755,123.459 581.755,125.196 C581.755,126.364 581.492,127.369 580.968,128.207 C580.443,129.046 579.739,129.742 578.857,130.297 C577.972,130.851 576.969,131.262 575.846,131.532 C574.722,131.802 573.576,131.936 572.408,131.936 C570.521,131.936 568.737,131.681 567.061,131.173 C565.382,130.664 564.02,129.885 562.971,128.836 L566.161,124.702" id="Fill-47" fill="#888"></path>
<path d="M44.938,42.563 C22.86,49.808 5.289,68.335 0.141,91.78 C-0.157,93.137 0.044,94.535 0.499,95.683 C0.635,95.627 15.185,90.516 15.185,90.516 C15.997,88.161 16.772,85.849 17.888,83.526 C20.285,78.536 23.48,73.938 27.302,69.934 C31.38,65.662 36.171,62.08 41.414,59.36 C41.657,56.234 42.112,53.103 42.8,49.987 C43.361,47.449 44.105,44.986 44.938,42.563" id="Fill-49" fill="#888"></path>
<path d="M101.577,69.849 C100.289,68.52 98.934,67.279 97.535,66.106 C96.72,68.466 95.773,70.798 94.607,73.066 C88.751,84.457 79.176,93.141 67.408,97.865 C66.228,98.339 65.032,98.787 63.809,99.179 C60.072,100.379 56.267,101.137 52.451,101.49 C42.566,102.405 32.609,100.513 23.566,95.866 C20.599,94.342 17.793,92.55 15.185,90.516 C14.566,90.735 1.061,95.471 0.499,95.683 C1.405,97.688 2.556,98.806 3.492,99.697 C4.543,100.697 5.906,101.632 7.351,102.676 C10.86,105.141 13.362,106.567 17.082,108.479 C26.798,113.474 37.342,115.974 47.961,115.918 C52.708,115.892 57.468,115.326 62.176,114.273 C64.175,113.826 66.168,113.317 68.143,112.683 C71.547,111.59 74.818,110.235 77.95,108.656 C90.482,102.337 100.679,92.272 107.219,79.551 C107.496,79.012 107.744,78.464 108.001,77.92 C107.967,77.867 107.938,77.81 107.903,77.757 C106.069,74.956 103.96,72.306 101.577,69.849" id="Fill-51" fill="#888"></path>
<mask id="mask-4" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<g id="Clip-53"></g>
<path d="M123.607,76.632 C121.303,72.037 116.978,65.453 114.616,62.665 C114.607,62.655 114.599,62.646 114.591,62.637 C113.775,61.695 112.946,60.845 112.071,59.942 C109.061,56.838 105.822,53.998 102.345,51.588 C102.069,51.397 101.826,51.247 101.566,51.07 C90.871,43.795 77.968,39.847 64.736,39.643 C64.416,39.638 62.509,39.654 61.573,39.678 C59.368,43.843 57.693,48.32 56.649,53.046 C56.574,53.385 56.518,53.724 56.45,54.064 C56.448,54.071 56.447,54.078 56.446,54.085 C56.417,54.23 56.397,54.376 56.369,54.52 C71.051,52.674 88.203,58.332 97.369,65.961 C97.425,66.007 97.479,66.059 97.535,66.106 C98.935,67.279 100.289,68.52 101.577,69.849 C103.96,72.306 106.069,74.956 107.903,77.757 C107.938,77.81 107.967,77.867 108.001,77.92 C113.652,86.618 116.614,96.786 116.451,107.389 C116.401,110.7 116.042,113.984 115.385,117.201 L115.385,117.203 C115.385,117.204 115.395,117.215 115.4,117.221 C115.739,117.579 126.182,128.566 126.231,128.616 C126.356,128.496 127.246,127.69 127.711,126.457 C128.429,124.55 129.45,120.662 129.745,118.903 C129.929,117.708 130.071,116.627 130.187,115.589 C130.482,112.945 130.585,110.611 130.632,107.608 C130.801,96.685 128.366,86.125 123.607,76.632" id="Fill-52" fill="#888" mask="url(#mask-4)"></path>
<path d="M115.384,117.204 C112.973,117.504 110.604,117.806 108.089,117.827 C102.554,117.872 97.018,117.028 91.741,115.36 C86.848,113.813 82.206,111.522 77.95,108.656 C74.818,110.235 71.547,111.59 68.143,112.683 C66.168,113.317 64.175,113.826 62.176,114.273 C78.329,129.021 101.385,135.615 123.671,130.025 C125.196,129.643 126.122,128.718 126.232,128.615 C126.182,128.565 115.739,117.579 115.4,117.221 C115.394,117.215 115.384,117.204 115.384,117.204" id="Fill-54" fill="#888" mask="url(#mask-4)"></path>
<path d="M95.413,1.917 C94.412,0.954 93.102,0.391 91.885,0.179 C91.885,0.179 88.77,14.749 88.628,15.407 C90.211,17.329 91.783,19.198 93.18,21.361 C96.182,26.012 98.434,31.139 99.851,36.489 C101.109,41.239 101.645,46.158 101.566,51.07 C101.826,51.247 102.069,51.397 102.345,51.588 C105.822,53.998 109.061,56.838 112.071,59.942 C112.946,60.845 113.775,61.695 114.591,62.637 C118.634,40.921 111.907,17.777 95.413,1.917" id="Fill-55" fill="#888" mask="url(#mask-4)"></path>
<path d="M91.886,0.179 C89.621,-0.203 87.826,0.322 86.587,0.682 C85.194,1.086 83.7,1.792 82.07,2.514 C78.173,4.304 75.681,5.746 72.155,7.997 C62.946,13.873 55.474,21.723 50.173,30.924 C48.058,34.595 46.333,38.502 44.938,42.563 C44.105,44.985 43.361,47.449 42.8,49.987 C42.112,53.103 41.657,56.234 41.414,59.36 C40.292,73.75 43.834,88.052 51.735,100.434 C51.965,100.794 52.215,101.135 52.451,101.49 C56.267,101.137 60.072,100.378 63.809,99.179 C65.032,98.787 66.228,98.339 67.408,97.865 C66.092,96.255 64.829,94.591 63.69,92.806 C56.38,81.349 53.818,67.811 56.369,54.52 C56.397,54.376 56.417,54.23 56.446,54.085 C56.447,54.078 56.448,54.071 56.45,54.064 C56.518,53.724 56.574,53.385 56.649,53.046 C57.693,48.32 59.368,43.843 61.573,39.678 C61.621,39.587 61.662,39.49 61.711,39.399 C65.921,31.557 72.075,24.872 79.784,19.952 C82.596,18.157 85.557,16.636 88.628,15.407 C88.77,14.749 91.876,0.226 91.886,0.179" id="Fill-56" fill="#888" mask="url(#mask-4)"></path>
</g>
</g>
</svg>
\define image-link-body(image,caption,width,height,color,background-color,icon)
<div class="tc-thumbnail-wrapper" style="width:$width$px;height:$height$px;">
<div class="tc-thumbnail-image">[img[$image$]]</div><div class="tc-thumbnail-icon" style="fill:$color$;color:$color$;">
$icon$
</div><div class="tc-thumbnail-caption">
$caption$
</div>
</div>
\end
\define image-link(link,image,caption,width,height,color,background-color,icon)
<$link to="""$link$"""><$macrocall $name="image-link-body" icon=<<__icon__>> color=<<__color__>> background-color=<<__background-color__>> image=<<__image__>> caption=<<__caption__>> width=<<__width__>> height=<<__height__>>/></$link>
\end
\define image-link-ext(link,image,caption,width,height,color,background-color,icon)
<a href="""$link$""" target="_blank" rel="noopener noreferrer"><$macrocall $name="image-link-body" icon=<<__icon__>> color=<<__color__>> background-color=<<__background-color__>> image=<<__image__>> caption=<<__caption__>> width=<<__width__>> height=<<__height__>>/></a>
\end
\define link-doc(caption,url,type:"docs")
<a href="""$url$""" class="tc-ext-doc-link" style="" target="_blank" rel="noopener noreferrer" title="Open in Google Docs">
{{$:/core/images/chevron-right}}<$image source={{{ [tag[$:/_GoogleDocsIcon]caption<__type__>] }}}/> $caption$
</a>
\end
\define link-pdf(caption,url,colour:"#55c6a7")
<a href="""$url$""" class="tc-btn-big-green" style="background-color:$colour$;" target="_blank" rel="noopener noreferrer">
{{$:/core/images/file}} $caption$
</a>
\end
\define embed-video(code)
<iframe width="560" height="315" src="https://www.youtube.com/embed/$code$" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
\end
! Our use of cookies
We use necessary cookies to make our site work. We’d also like to set optional analytics to help us improve it. We won’t set optional cookies unless you enable them. Using this tool will set a cookie on your device to remember your preferences.
Anna Freud provides this wiki platform for external teams who are responsible for the content, including cookies, that are added to their individual manuals. Guidance for teams on how to embed correctly has been added to the user guide.
For more detailed information about the cookies we use, see our <a href="https://www.annafreud.org/your-privacy/" class="tc-tiddlylink-external" target="_blank" rel="noopener noreferrer">Cookies page</a>.
---
!! Necessary cookies
Necessary cookies enable core functionality such as security, network management, and accessibility. You may disable these by changing your browser settings, but this may affect how the website functions.
---
!! Analytics cookies
We’d like to set non-essential cookies, such as Google Analytics, to help us to improve our website by collecting and reporting information on how you use it. The cookies collect information in a way that does not directly identify anyone. For more information on how these cookies work, please see our <a href="https://www.annafreud.org/your-privacy/" class="tc-tiddlylink-external" target="_blank" rel="noopener noreferrer">Cookies page</a>. If you are 16 or under, please ask a parent or carer for consent before accepting.
---
\whitespace trim
\define journalButton1()
\whitespace trim
<$button style="background-color: #eb7837; border-color: #eb7837; border-radius: 8px; color: white; fill: white; padding: 15px;" tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>> actions={{$:/core/ui/Actions/new-journal}}>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/edit-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/NewJournal/Caption}}/>
</span>
</$list>
''new journal entry''
</$button>
\end
<<journalButton1>>
<$list filter={{$:/core/Filters/Drafts!!filter}} >
<div class="tc-menu-list-item">
<$link><$view field="title"/></$link> <$list filter="[all[current]frombag{$:/plugins/federatial/xememex/config/recipe}]" variable="listItem"><span style="display:inline-block;background:#ff4;border:1px solid #cc0;color:black;padding:0 2px;border-radius:4px;font-size:0.8em;line-height:1.3;">local</span></$list>
</div>
</$list>
<$transclude tiddler="$:/core" subtiddler="$:/core/ui/ViewTemplate/subtitle"/>
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
\define thumbnailLC(link,icon,color,background-color,image,caption,width:"280",height:"157")
<$link to="""$link$"""><div class="tc-thumbnail-wrapper">
<div class="tc-thumbnail-image" style="width:$width$px;height:$height$px;"><$reveal type="nomatch" text="" default="""$image$""" tag="div" style="width:$width$px;height:$height$px;">
[img[icon-354339_640.png]]
</$reveal><$reveal type="match" text="" default="""$image$""" tag="div" class="tc-thumbnail-background" style="width:$width$px;height:$height$px;background-color:$background-color$;"></$reveal></div><div class="tc-thumbnail-icon" style="fill:$color$;color:$color$;">
$icon$
</div><div class="tc-thumbnail-captionLC">
$caption$
</div>
</div></$link>
\end
\define list-thumbnailsLC(filter,width:"280",height:"157")
<$list filter="""$filter$"""><$macrocall $name="thumbnailLC" link={{!!title}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{}} caption={{!!title}} width="""$width$""" height="""$height$"""/></$list>
\end
\whitespace trim
\define print-button()
<$button tooltip="print" aria-label="print" class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-open-window" template="$:/plugins/federatial/print/window" windowTitle={{$:/config/plugins/federatial/print/window-title}}/>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/print-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text">
<$text text="print"/>
</span>
</$list>
</$button>
\end
<$list filter="[<currentTiddler>tagging[]role[heading]limit[1]]" variable="ignore" emptyMessage=<<print-button>>>
<$text text=""/>
</$list>
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline
.tc-export-controls {
background: #dfddf9;
margin: -1em -1em 0 -1em;
padding: 1em;
border-bottom: 2px solid black;
}
.tc-export-controls textarea {
width: 100%;
}
.tc-export-header {
margin-top: 1em;
padding: 1em;
border: 1px solid black;
}
@media print {
.tc-unprintable {
display: none;
}
}
<$transclude tiddler="$:/plugins/federatial/print/template/inner" mode="block"/>
! <$view field="title"/>
{{!!text}}
\whitespace trim
<$set name="themeTitle" value={{$:/view}}>
<$set name="tempCurrentTiddler" value=<<currentTiddler>>>
<$set name="currentTiddler" value={{$:/language}}>
<$set name="languageTitle" value={{!!name}}>
<$set name="currentTiddler" value=<<tempCurrentTiddler>>>
<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]">
<div class="tc-unprintable tc-export-controls">
<$button message="tm-print" tooltip="Print this page">
Print
</$button>
</div>
<$transclude tiddler="$:/plugins/federatial/print/template" mode="block"/>
</$importvariables>
</$set>
</$set>
</$set>
</$set>
</$set>
!! This tiddler is present to disable the default login status pill that Xememex provides
{"tiddlers":{"$:/plugins/tiddlywiki/consent-banner/banner":{"title":"$:/plugins/tiddlywiki/consent-banner/banner","tags":"$:/tags/PageTemplate","text":"\\whitespace trim\n\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"match\" text=\"\" tag=\"div\">\n\n<div class=\"tc-consent-backdrop\">\n\n</div>\n\n<div class=\"tc-consent-banner tc-consent-banner-left\">\n\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" mode=\"block\"/>\n\n<div class=\"tc-consent-buttons\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ConsentBanner/Button]]\">\n\n<$transclude tiddler=<<currentTiddler>> mode=\"inline\"/>\n\n</$list>\n\n</div>\n\n</div>\n\n</$reveal>\n"},"$:/plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper":{"title":"$:/plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper","text":"\\define styles()\nwidth:$(width)$;height:$(height)$;\n\\end\n\n<div class=\"tc-blocked-embedded-content\" style=<<styles>>>\n<div class=\"tc-blocked-embedded-content-inner\">\n<div class=\"tc-blocked-embedded-content-inner-inner\">\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/blocked-embed-message\" mode=\"inline\"/>\n</div>\n</div>\n</div>\n"},"$:/plugins/tiddlywiki/consent-banner/buttons/accept":{"title":"$:/plugins/tiddlywiki/consent-banner/buttons/accept","tags":"$:/tags/ConsentBanner/Button","text":"<$button message=\"tm-consent-accept\" class=\"tc-consent-button tc-consent-button-default tc-btn-invisible\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption}}\n</$button>\n"},"$:/plugins/tiddlywiki/consent-banner/buttons/decline":{"title":"$:/plugins/tiddlywiki/consent-banner/buttons/decline","tags":"$:/tags/ConsentBanner/Button","text":"<$button message=\"tm-consent-decline\" class=\"tc-consent-button tc-btn-invisible\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption}}\n</$button>\n"},"$:/config/DefaultColourMappings/consent-banner-backdrop-background":{"title":"$:/config/DefaultColourMappings/consent-banner-backdrop-background","text":"rgba(0,0,0,0.2)"},"$:/config/DefaultColourMappings/consent-banner-background":{"title":"$:/config/DefaultColourMappings/consent-banner-background","text":"#009677"},"$:/config/DefaultColourMappings/consent-banner-button-background":{"title":"$:/config/DefaultColourMappings/consent-banner-button-background","text":"transparent"},"$:/config/DefaultColourMappings/consent-banner-button-border":{"title":"$:/config/DefaultColourMappings/consent-banner-button-border","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-button-default-background":{"title":"$:/config/DefaultColourMappings/consent-banner-button-default-background","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-button-default-foreground":{"title":"$:/config/DefaultColourMappings/consent-banner-button-default-foreground","text":"#009677"},"$:/config/DefaultColourMappings/consent-banner-button-foreground":{"title":"$:/config/DefaultColourMappings/consent-banner-button-foreground","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-button-hover-background":{"title":"$:/config/DefaultColourMappings/consent-banner-button-hover-background","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-button-hover-border":{"title":"$:/config/DefaultColourMappings/consent-banner-button-hover-border","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-button-hover-foreground":{"title":"$:/config/DefaultColourMappings/consent-banner-button-hover-foreground","text":"#009577"},"$:/config/DefaultColourMappings/consent-banner-foreground":{"title":"$:/config/DefaultColourMappings/consent-banner-foreground","text":"#fff"},"$:/config/DefaultColourMappings/consent-banner-hr-background":{"title":"$:/config/DefaultColourMappings/consent-banner-hr-background","text":"rgba(255,255,255,.25)"},"$:/config/DefaultColourMappings/consent-banner-link-foreground":{"title":"$:/config/DefaultColourMappings/consent-banner-link-foreground","text":"#fff"},"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content":{"title":"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content","text":"yes"},"$:/config/plugins/tiddlywiki/consent-banner/blocked-embed-message":{"title":"$:/config/plugins/tiddlywiki/consent-banner/blocked-embed-message","text":"Blocked embedded content from<br/><a href=<<url>> class=\"tc-tiddlylink-external\" target=\"_blank\" rel=\"noopener noreferrer\"><$text text=<<url>>/></a>\n\n<hr/>\n\n{{$:/plugins/tiddlywiki/consent-banner/buttons/accept}} cookies to unblock"},"$:/config/plugins/tiddlywiki/consent-banner/blocked-raw-message":{"title":"$:/config/plugins/tiddlywiki/consent-banner/blocked-raw-message","text":"<div class=\"tc-blocked-embedded-content\" style=\"width:100%;\">\n\n<div class=\"tc-blocked-embedded-content-inner\">\n\n<div class=\"tc-blocked-embedded-content-inner-inner\">\n\nBlocked raw content\n\n<hr/>\n\n{{$:/plugins/tiddlywiki/consent-banner/buttons/accept}} cookies to unblock\n\n</div>\n\n</div>\n\n</div>\n"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption","text":"Accept"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint","text":"Accept cookies"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/caption":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/caption","text":"Clear"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/hint":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/hint","text":"Clear cookies"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption","text":"Decline"},"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint":{"title":"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint","text":"Decline cookies"},"$:/config/cookie-consent-required":{"title":"$:/config/cookie-consent-required","text":"yes"},"$:/config/plugins/tiddlywiki/consent-banner/greeting-message":{"title":"$:/config/plugins/tiddlywiki/consent-banner/greeting-message","text":"! Our use of cookies\n\nWe use necessary cookies to make our site work. We’d also like to set optional analytics to help us improve it. We won’t set optional cookies unless you enable them. Using this tool will set a cookie on your device to remember your preferences.\n\n---\n\n!! Necessary cookies\n\nNecessary cookies enable core functionality such as security, network management, and accessibility. You may disable these by changing your browser settings, but this may affect how the website functions.\n\n---\n\n!! Analytics cookies\n\nWe’d like to set non-essential cookies, such as Google Analytics, to help us to improve our website by collecting and reporting information on how you use it. The cookies collect information in a way that does not directly identify anyone.\n\n---\n"},"$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content":{"title":"$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content","tags":"$:/tags/Macro","text":"<$set name=\"tv-block-embedded-content\" value={{{ [{$:/config/cookie-consent-required}else[no]match[yes]then{$:/state/consent-banner/accepted}!match[yes]then[yes]] }}}/>\n"},"$:/plugins/tiddlywiki/consent-banner/config":{"title":"$:/plugins/tiddlywiki/consent-banner/config","text":"! [[Greeting Message|$:/config/plugins/tiddlywiki/consent-banner/greeting-message]]\n\n<div style=\"\">\n\n<div style=\"display:inline-block;vertical-align:top;width:45%;\">\n\n<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" tag=\"textarea\" class=\"tc-edit-texteditor\"/>\n\n</div>\n\n<div style=\"display:inline-block;vertical-align:top;width:45%;margin:0.5em;border:1px solid black;padding:0.5em;\" class=\"tc-consent-banner\">\n\n<$transclude tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/greeting-message\" mode=\"block\"/>\n\n</div>\n\n</div>\n\n! Buttons\n\n|[[Accept caption|$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption\" tag=\"input\"/> |\n|[[Accept hint|$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint\" tag=\"input\"/> |\n|[[Decline caption|$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption\" tag=\"input\"/> |\n|[[Decline hint|$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint]] |<$edit-text tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint\" tag=\"input\"/> |\n\n! [[Consent Accepted Status|$:/state/consent-banner/accepted]]\n\nCurrent status: {{$:/state/consent-banner/accepted}} (blank indicates that consent has not yet been granted or declined)\n\n<$button message=\"tm-consent-accept\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/accept/caption}}\n</$button>\n\n<$button message=\"tm-consent-decline\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/decline/caption}}\n</$button>\n\n<$button message=\"tm-consent-clear\" tooltip={{$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/hint}}>\n{{$:/config/plugins/tiddlywiki/consent-banner/buttons/clear/caption}}\n</$button>\n\n! Embedded Content Blocking\n\n//Requires page reload//\n\n<$checkbox tiddler=\"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> Block all embedded content such as <iframe>, <embed> and <object> unless consent has been granted</$checkbox>\n"},"$:/plugins/tiddlywiki/consent-banner/docs":{"title":"$:/plugins/tiddlywiki/consent-banner/docs","text":"! Features\n\nIf the same wiki is opened in multiple tabs then once the warning has been accepted or declined in one tab then the other tabs will autonatically follow suit.\n\nConsent is automatically granted if the user logged in (ie the tiddler [[$:/status/IsLoggedIn]] is set to `yes`).\n\n! Consent Banner Palette Entries\n\nAdd these entries to your current colour palette to change the colours used by the consent banner:\n\n* ''consent-banner-backdrop-background'' - the colour of the backdrop behind the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-backdrop-background}})\n* ''consent-banner-background'' - the background colour of the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-background}})\n* ''consent-banner-button-background'' - the background colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-background}})\n* ''consent-banner-button-border'' - the border colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-border}})\n* ''consent-banner-button-default-background'' - the background colour for the default button within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-default-background}})\n* ''consent-banner-button-default-foreground'' - the foreground colour for the default button within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-default-foreground}})\n* ''consent-banner-button-foreground'' - the foreground colour of buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-foreground}})\n* ''consent-banner-button-hover-background'' - the background colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-background}})\n* ''consent-banner-button-hover-border'' - the border colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-border}})\n* ''consent-banner-button-hover-foreground'' - the foreground colour of hovered buttons within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-button-hover-foreground}})\n* ''consent-banner-foreground'' - the foreground colour of the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-foreground}})\n* ''consent-banner-hr-background'' - the background colour of horizontal rules within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-hr-background}})\n* ''consent-banner-link-foreground'' - the foreground colour of tiddler links within the consent banner (defaults to {{$:/config/DefaultColourMappings/consent-banner-link-foreground}})\n\n! Embedded Content Blocking\n\nUnless disabled via the config tab, content embedded via <iframe>, <embed> or <object> is blocked until the user consents to accept cookies.\n\n!! Implementation Details\n\nEmbedded content is blocked if the variable `tv-block-embedded-content` is set to `yes`. It is set to the current consent status by a [[global macro|$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content]]:\n\n<$codeblock code={{$:/plugins/tiddlywiki/consent-banner/tv-block-embedded-content}}/>\n\n! ~YouTube macro\n\nA simple macro for embedding ~YouTube videos is provided to show how to adapt content according to whether consent has been granted. It works by checking the tiddler [[$:/state/consent-banner/accepted]] for the following values:\n\n* ''empty or missing'' - the user has yet to accept or decline to give their consent\n* `yes` - the user has granted consent\n* `no` - the user has declined consent\n\n! Customising banner buttons\n\nThe [[\"accept\"|$:/plugins/tiddlywiki/consent-banner/buttons/accept]] and [[\"decline\"|$:/plugins/tiddlywiki/consent-banner/buttons/decline]] buttons in the banner are individual tiddlers with the tag [[$:/tags/ConsentBanner/Button]], allowing them to be customised and extended.\n\nA common use case is to add a \"login\" button allowing users to login directly to bypass the banner. This could be implemented as a tiddler tagged [[$:/tags/ConsentBanner/Button]] with the following text:\n\n```\n<$button message=\"tm-login\" class=\"tc-consent-button tc-btn-invisible\">\nLogin\n</$button>\n```\n\n! Integration with other plugins\n\nThird party plugins that set cookies can configure themselves to defer setting cookies until the user grants consent. There are several parts to this mechanism:\n\n* The consent-banner plugin includes a shadow tiddler [[$:/config/cookie-consent-required]] with the text `yes`. The third-party plugin should inspect this tiddler at startup; if it is not set to \"yes\" then it can proceed to set tiddlers immediately\n* Otherwise, the third-party plugin should listen for changes to the tiddler [[$:/state/consent-banner/accepted]] and only start setting cookies when and if the value changes to \"yes\"\n\nThe [[Google Analytics plugin|https://github.com/Jermolene/TiddlyWiki5/tree/master/plugins/tiddlywiki/googleanalytics]] shows an example of how this mechanism can be implemented.\n"},"$:/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\nAn override of the raw widget that blocks raw content until the user has consented to accept cookies\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\tthis.blocked = this.getVariable(\"tv-block-embedded-content\",\"no\") === \"yes\";\n\tif(this.blocked) {\n\t\tthis.makeChildWidgets([{\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: \"$:/config/plugins/tiddlywiki/consent-banner/blocked-raw-message\"}\n\t\t\t}\n\t\t}]);\n\t\t// Render child widgets\n\t\tthis.renderChildren(parent,null);\n\t} else {\n\t\tvar div = this.document.createElement(\"div\");\n\t\tdiv.innerHTML=this.parseTreeNode.html;\n\t\tparent.insertBefore(div,nextSibling);\n\t\tthis.domNodes.push(div);\n\t}\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\tif(this.blocked) {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.raw = RawWidget;\n\n})();\n","type":"application/javascript","module-type":"widget"},"$:/plugins/tiddlywiki/consent-banner/readme":{"title":"$:/plugins/tiddlywiki/consent-banner/readme","text":"The ''consent-banner'' plugin helps make websites that are compliant with \"cookie legislation\" such as the [[EU General Data Protection Regulation|https://gdpr.eu/cookies/]].\nIt presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.\n\nBy default, content embedded with <iframe>, <embed> and <object> is blocked unless the user consents to accept cookies.\n\nConsent status is available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding ~YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.\n\nPlease note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.\n"},"$:/plugins/tiddlywiki/consent-banner/startup.js":{"title":"$:/plugins/tiddlywiki/consent-banner/startup.js","text":"/*\\\ntitle: $:/plugins/tiddlywiki/consent-banner/startup.js\ntype: application/javascript\nmodule-type: startup\n\nStartup initialisation\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 = \"consent-banner\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"render\"];\nexports.synchronous = true;\n\nvar CHECK_CONSENT_INTERVAL = 1000, // Milliseconds between checking local storage\n\tIS_LOGGED_IN_TITLE = \"$:/status/IsLoggedIn\",\n\tCONSENT_KEY = \"COOKIE_CONSENT\", // Local storage keyname\n\tCONSENT_TITLE = \"$:/state/consent-banner/accepted\", // \"\": undeclared, \"yes\": accepted, \"no\": declined\n\tCONFIG_BLOCK_EMBEDDED_CONTENT_TITLE = \"$:/config/plugins/tiddlywiki/consent-banner/block-embedded-content\",\n\tEMBEDDED_MESSAGE_WRAPPER_TITLE = \"$:/plugins/tiddlywiki/consent-banner/blocked-embed-message-wrapper\";\n\nexports.startup = function() { \n\tvar consentState = \"\",\n\t\tsetConsentStatus = function(state) {\n\t\t\tif(consentState !== state) {\n\t\t\t\tconsentState = state;\n\t\t\t\t// Write to local storage\n\t\t\t\twindow.localStorage.setItem(CONSENT_KEY,state);\n\t\t\t\t// Write to a state tiddler\n\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler({\n\t\t\t\t\ttitle: CONSENT_TITLE,\n\t\t\t\t\ttext: state\n\t\t\t\t}));\n\t\t\t}\n\t\t},\n\t\tcalculateConsentStatus = function() {\n\t\t\t// Consent is implied for logged in users, otherwise we check local storage\n\t\t\treturn ($tw.wiki.getTiddlerText(IS_LOGGED_IN_TITLE) === \"yes\" && \"yes\") || window.localStorage.getItem(CONSENT_KEY) || \"\";\n\t\t},\n\t\tcheckConsentStatus = function() {\n\t\t\tsetConsentStatus(calculateConsentStatus());\n\t\t\tif(consentState === \"\") {\n\t\t\t\tpollConsentStatus();\n\t\t\t}\n\t\t},\n\t\tpollConsentStatus = function() {\n\t\t\tsetTimeout(checkConsentStatus,CHECK_CONSENT_INTERVAL);\n\t\t};\n\t// Set the current consent status\n\tcheckConsentStatus();\n\t// Listen for consent messages\n\t$tw.rootWidget.addEventListener(\"tm-consent-accept\",function(event) {\n\t\tsetConsentStatus(\"yes\");\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-consent-decline\",function(event) {\n\t\tsetConsentStatus(\"no\");\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-consent-clear\",function(event) {\n\t\tsetConsentStatus(\"\");\n\t});\n\t// Add our element rendering hook\n\tif($tw.wiki.getTiddlerText(CONFIG_BLOCK_EMBEDDED_CONTENT_TITLE,\"no\") === \"yes\") {\n\t\t$tw.hooks.addHook(\"th-rendering-element\",function(parseTreeNodes,widget) {\n\t\t\tif(parseTreeNodes) {\n\t\t\t\treturn parseTreeNodes;\n\t\t\t}\n\t\t\tif([\"iframe\",\"object\",\"embed\"].indexOf(widget.tag) !== -1 && widget.getVariable(\"tv-block-embedded-content\",\"no\") === \"yes\") {\n\t\t\t\tvar url = widget.getAttribute(\"src\"),\n\t\t\t\t\taddUnitsIfMissing = function(str) {\n\t\t\t\t\t\tstr = \"\" + str;\n\t\t\t\t\t\treturn str + ((\"\" + parseInt(str,10)) === str ? \"px\" : \"\");\n\t\t\t\t\t},\n\t\t\t\t\twidth = addUnitsIfMissing(widget.getAttribute(\"width\",\"\")),\n\t\t\t\t\theight = addUnitsIfMissing(widget.getAttribute(\"height\",\"\"));\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vars\",\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: {type: \"string\", value: url},\n\t\t\t\t\t\t\twidth: {type: \"string\", value: width},\n\t\t\t\t\t\t\theight: {type: \"string\", value: height}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: \"transclude\",\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\ttiddler: {type: \"string\", value: EMBEDDED_MESSAGE_WRAPPER_TITLE},\n\t\t\t\t\t\t\t\t\tmode: {type: \"string\", value: \"inline\"}\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\t\t\t}\n\t\t\treturn null;\n\t\t});\n\t}\n};\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/plugins/tiddlywiki/consent-banner/styles":{"title":"$:/plugins/tiddlywiki/consent-banner/styles","tags":"$:/tags/Stylesheet","text":".tc-consent-backdrop {\n\tz-index: 1999;\n\tposition: fixed;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\tbottom: 0;\n\tbackground: <<colour consent-banner-backdrop-background>>;\n}\n\n.tc-consent-banner-left {\n\tz-index: 2000;\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tbottom: 0;\n\tmax-width: 500px;\n\toverflow-y: auto;\n}\n\n.tc-consent-banner {\n\tpadding: 1em;\n\tbackground: <<colour consent-banner-background>>;\n\tcolor: <<colour consent-banner-foreground>>;\n\tbox-shadow: 0 0 20px rgba(0,0,0,.2);\n}\n\n.tc-consent-banner a.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour consent-banner-link-foreground>>;\n\tbackground-color: inherit;\n}\n\n.tc-consent-banner a.tc-tiddlylink-external:visited {\n\tcolor: <<colour consent-banner-link-foreground>>;\n\tbackground-color: inherit;\n}\n\n.tc-consent-banner hr {\n\tclear: both;\n\tpadding: 0;\n\twidth: 100%;\n\toverflow: hidden;\n\ttext-align: left;\n\tborder: 0 none;\n\tmargin: 24px 0;\n\theight: 1px;\n\tmax-height: 1px;\n\tbackground: <<colour consent-banner-hr-background>>;\n}\n\n.tc-consent-buttons {\n\t\n}\n\n.tc-consent-banner .tc-consent-button {\n\tmargin-right: 1em;\n}\n\n.tc-consent-button {\n\tborder: 1px solid <<colour consent-banner-button-border>>;\n\tmargin-top: 1em;\n\tpadding: 0.75em 1.5em;\n\tcolor: <<colour consent-banner-button-foreground>>;\n\tbackground: <<colour consent-banner-button-background>>;\n\tfont-weight: bold;\n}\n\n.tc-consent-button:hover {\n\tcolor: <<colour consent-banner-button-hover-foreground>>;\n\tborder-color: <<colour consent-banner-button-hover-border>>;\n\tbackground: <<colour consent-banner-button-hover-background>>;\n\topacity: .6;\n}\n\n.tc-consent-button-default {\n\tcolor: <<colour consent-banner-button-default-foreground>>;\n\tbackground: <<colour consent-banner-button-default-background>>;\n}\n\n.tc-blocked-embedded-content {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tcolor: <<colour background>>;\n\tbackground: <<colour muted-foreground>>;\n\tborder: 1px solid <<colour foreground>>;\n\t<<box-shadow \"inset 0 0 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-blocked-embedded-content-inner {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.tc-blocked-embedded-content-inner-inner {\n\tdisplay: inline-block;\n\ttext-align: center;\n}\n\n.tc-blocked-embedded-content-inner-inner hr {\n background: <<colour foreground>>;\n height: 1px;\n width: 80%;\n border: none;\n}\n"},"$:/plugins/tiddlywiki/consent-banner/youtube":{"title":"$:/plugins/tiddlywiki/consent-banner/youtube","tags":"$:/tags/Macro","text":"\\define embed-video-with-consent(code)\n<$set name=\"tv-block-embedded-content\" value=\"no\">\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"match\" text=\"yes\" tag=\"div\">\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/$code$\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\n</$reveal>\n<$reveal state=\"$:/state/consent-banner/accepted\" type=\"nomatch\" text=\"yes\" tag=\"div\">\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube-nocookie.com/embed/$code$\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>\n</$reveal>\n</$set>\n\\end\n\n! Macro source\n\n<$codeblock code={{$:/plugins/tiddlywiki/consent-banner/youtube}}/>\n\n! Example\n\n<<embed-video-with-consent KtCUr83XgyE>>\n"}}}
{"tiddlers":{"$:/plugins/tiddlywiki/googleanalytics/googleanalytics.js":{"title":"$:/plugins/tiddlywiki/googleanalytics/googleanalytics.js","text":"/*\\\ntitle: $:/plugins/tiddlywiki/googleanalytics/googleanalytics.js\ntype: application/javascript\nmodule-type: startup\n\nRuns Google Analytics with the measurement ID in the tiddler `$:/GoogleAnalyticsMeasurementID`\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 = \"google-analytics\";\nexports.platforms = [\"browser\"];\nexports.synchronous = true;\n\nvar CONFIG_CONSENT_REQUIRED_TITLE = \"$:/config/cookie-consent-required\", // \"yes\" or \"no\" (the default)\n\tCONSENT_TITLE = \"$:/state/consent-banner/accepted\"; // \"\": undeclared, \"yes\": accepted, \"no\": declined\n\nexports.startup = function() {\n\tvar hasInitialised = false,\n\t\tinitialiseGoogleAnalytics = function() {\n\t\t\tconsole.log(\"Initialising Google Analytics\");\n\t\t\thasInitialised = true;\n\t\t\tvar gaMeasurementID = $tw.wiki.getTiddlerText(\"$:/GoogleAnalyticsMeasurementID\",\"\").replace(/\\n/g,\"\");\n\t\t\tvar url =\"https://www.googletagmanager.com/gtag/js?id=\" + gaMeasurementID;\n\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\twindow.gtag = function() { window.dataLayer?.push(arguments); };\n\t\t\twindow.gtag(\"js\",new Date());\n\t\t\twindow.gtag(\"config\",gaMeasurementID);\n\t\t\tconst scriptElement = window.document.createElement(\"script\");\n\t\t\tscriptElement.async = true;\n\t\t\tscriptElement.src = url;\n\t\t\twindow.document.head.appendChild(scriptElement);\n\t\t};\n\t// Initialise now if consent isn't required\n\tif($tw.wiki.getTiddlerText(CONFIG_CONSENT_REQUIRED_TITLE) !== \"yes\") {\n\t\tinitialiseGoogleAnalytics();\n\t} else {\n\t\t// Or has been granted already\n\t\tif($tw.wiki.getTiddlerText(CONSENT_TITLE) === \"yes\") {\n\t\t\tinitialiseGoogleAnalytics();\n\t\t} else {\n\t\t\t// Or when our config tiddler changes\n\t\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t\tif(changes[CONSENT_TITLE]) {\n\t\t\t\t\tif(!hasInitialised && $tw.wiki.getTiddlerText(CONSENT_TITLE) === \"yes\") {\n\t\t\t\t\t\tinitialiseGoogleAnalytics();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n\n\n\n})();\n","type":"application/javascript","module-type":"startup"},"$:/plugins/tiddlywiki/googleanalytics/readme":{"title":"$:/plugins/tiddlywiki/googleanalytics/readme","text":"This plugin enables you to use Google Analytics to track access to your online TiddlyWiki document.\n\nBy default, the user is not asked for permission before initialising Google Analytics. This plugin also optionally integrates with the \"Consent Banner\" plugin (also found in the official plugin library) so that Google Analytics is not initialised until the user grants explicit permission.\n\n[[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/googleanalytics]]\n"},"$:/plugins/tiddlywiki/googleanalytics/settings":{"title":"$:/plugins/tiddlywiki/googleanalytics/settings","text":"''[[Google Analytics Measurement ID|$:/GoogleAnalyticsMeasurementID]]'': (mandatory) a code of the form `G-XXXXXXXXXX` where X are digits or uppercase letters<br/><$edit-text tiddler=\"$:/GoogleAnalyticsMeasurementID\" default=\"\" tag=\"input\"/>\n\n"},"$:/plugins/tiddlywiki/googleanalytics/usage":{"title":"$:/plugins/tiddlywiki/googleanalytics/usage","text":"!! Create a Google Analytics account\n\nIf you don't already have an account:\n\n# Go to the Google Analytics website: http://www.google.com/analytics/\n# Click the ''Access Google Analytics'' button and follow instructions to set up your account\n# Enter the URL where the wiki is hosted\n# Note the Tracking ID for this domain of the form `G-XXXXXXXXXX`\n\n!! Install the plugin on your local copy of the TiddlyWiki\n\n# ''Backup your TiddlyWiki''. Just in case\n# Install the plugin via the plugin manager in control panel\n# Save the TiddlyWiki andrefresh the page to load the plugin\n# Go to [[$:/ControlPanel]] > Plugins tab and unfold the Google Analytics Plugin\n# Go to the //settings// tab and edit the parameters\n# Save the TiddlyWiki\n\n!! Upload the new version of your TiddlyWiki\n\n# Upload the saved TiddlyWiki to Tiddlyhost, GitHub, GitLab or other web host\n# Return to your Google Analytics page to check that your site is being tracked\n"}}}
{"tiddlers":{"$:/config/DefaultColourMappings/menubar-foreground":{"title":"$:/config/DefaultColourMappings/menubar-foreground","text":"#fff"},"$:/config/DefaultColourMappings/menubar-background":{"title":"$:/config/DefaultColourMappings/menubar-background","text":"#5778d8"},"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols":{"title":"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/pagecontrols","text":"hide"},"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server":{"title":"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/server","text":"hide"},"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar":{"title":"$:/config/plugins/menubar/MenuItems/Visibility/$:/plugins/tiddlywiki/menubar/items/sidebar","text":"hide"},"$:/config/plugins/menubar/TableOfContents/Tag":{"title":"$:/config/plugins/menubar/TableOfContents/Tag","text":"TableOfContents"},"$:/config/plugins/menubar/breakpoint":{"title":"$:/config/plugins/menubar/breakpoint","text":"620px"},"$:/plugins/tiddlywiki/menubar/config":{"title":"$:/plugins/tiddlywiki/menubar/config","tags":"$:/tags/ControlPanel/Toolbars","caption":"Menu Bar","text":"\\define config-base() $:/config/plugins/menubar/MenuItems/Visibility/\n\n! Menu Bar Configuration\n\n!! Menu Items\n\nSelect which menu items will be shown. You can also drag items to reorder them.\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/MenuBar\" itemTemplate=\"$:/core/ui/ControlPanel/Toolbars/ItemTemplate\"/>\n\n</$set>\n\n</$set>\n\n!! Breakpoint Position\n\nThe breakpoint position between narrow and wide screens. Should include CSS units (eg. `400px`).\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/breakpoint\" default=\"\" tag=\"input\"/>\n\n!! Contents Tag\n\nThe tag for the ~TableOfContents used in the Contents dropdown\n\n<$edit-text tiddler=\"$:/config/plugins/menubar/TableOfContents/Tag\" default=\"\" tag=\"input\"/>\n\n!! Menu Bar Colours\n\nTo change the colour of the menu bar, define the colours `menubar-foreground` and `menubar-background` in the currently selected palette\n"},"$:/plugins/tiddlywiki/menubar/items/contents":{"title":"$:/plugins/tiddlywiki/menubar/items/contents","caption":"Contents","description":"Table of Contents","is-dropdown":"yes","tags":"$:/tags/MenuBar","text":"<div class=\"tc-table-of-contents\">\n\n<$macrocall $name=\"toc-selective-expandable\" tag={{$:/config/plugins/menubar/TableOfContents/Tag}}/>\n\n</div>\n"},"$:/plugins/tiddlywiki/menubar/items/hamburger":{"title":"$:/plugins/tiddlywiki/menubar/items/hamburger","tags":"$:/tags/MenuBar","caption":"Hamburger","description":"Show the full menu bar on a narrow screen","custom-menu-content":"{{$:/plugins/tiddlywiki/menubar/items/hamburger}}","show-when":"narrow","text":"<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[no]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"yes\">\n{{$:/core/images/menu-button}}\n</$button>\n</$list>\n<$list filter=\"[[$:/state/popup/menubar/hamburger]get[text]else[no]match[yes]]\">\n<$button set=\"$:/state/popup/menubar/hamburger\" setTo=\"no\">\n{{$:/core/images/close-button}}\n</$button>\n</$list>\n"},"$:/plugins/tiddlywiki/menubar/items/pagecontrols":{"title":"$:/plugins/tiddlywiki/menubar/items/pagecontrols","tags":"$:/tags/MenuBar","description":"Page controls from the sidebar","caption":"Page controls","custom-menu-content":"<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/pagecontrols\" mode=\"inline\"/>","text":"\\whitespace trim\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$set name=\"hidden\" value=<<config-title>>>\n<$list filter=\"[<hidden>!text[hide]]\" storyview=\"pop\" variable=\"ignore\">\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</$list>\n</$set>\n</$list>\n"},"$:/plugins/tiddlywiki/menubar/items/search":{"title":"$:/plugins/tiddlywiki/menubar/items/search","custom-menu-content":"{{$:/plugins/tiddlywiki/menubar/items/search}}","description":"Search","caption":"Search","tags":"$:/tags/MenuBar","text":"\\define cancel-search-actions()\n<$set name=\"userInput\" value={{{ [<__storeTitle__>get[text]] }}}>\n<$list filter=\"[<__tiddler__>get[text]!match<userInput>]\" emptyMessage=\"\"\"<$action-deletetiddler $filter=\"[<__storeTitle__>] [<__tiddler__>] [<__selectionStateTitle__>]\"/>\"\"\">\n<$action-setfield $tiddler=<<__tiddler__>> text=<<userInput>>/><$action-setfield $tiddler=<<__refreshTitle__>> text=\"yes\"/>\n</$list>\n</$set>\n\\end\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\\whitespace trim\n<$vars searchTiddler=\"$:/temp/menubarsearch/input\" searchListState=<<qualify \"$:/state/search-list/selected-item\">>>\n<span style=\"margin: 0 0.5em;\">\n<$keyboard key=\"((input-tab-right))\" actions=<<set-next-input-tab>>>\n<$keyboard key=\"((input-tab-left))\" actions=<<set-next-input-tab \"before\">>>\n<form class=\"tc-form-inline\">\n<$macrocall $name=\"keyboard-driven-input\" tiddler=\"$:/temp/menubarsearch\" storeTitle=<<searchTiddler>> selectionStateTitle=<<searchListState>> \n\t\trefreshTitle=\"$:/temp/menubarsearch/refresh\" tag=\"input\" type=\"search\" focusPopup=\"$:/state/popup/menubar-search-dropdown\" \n\t\tclass=\"tc-popup-handle tc-menu-show-when-wide\" placeholder=\"Search...\" default=\"\" cancelPopups=\"yes\" \n\t\tinputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> inputCancelActions=<<cancel-search-actions>> \n\t\tfilterMinLength={{$:/config/Search/MinLength}} configTiddlerFilter=\"[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]\" />\n</form>\n</$keyboard>\n</$keyboard>\n</span>\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/state/popup/menubar-search-dropdown\" type=\"nomatch\" text=\"\" default=\"\">\n\n<div class=\"tc-block-dropdown tc-search-drop-down\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">Type your search terms</div>\"\"\" variable=\"ignore\">\n\n<$list filter=\"[<searchTiddler>get[text]minlength{$:/config/Search/MinLength}limit[1]]\" emptyMessage=\"\"\"<div class=\"tc-search-results\">{{$:/language/Search/Search/TooShort}}</div>\"\"\" variable=\"listItem\">\n\n<$vars configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}} userInput={{{ [<searchTiddler>get[text]] }}}>\n\n{{$:/core/ui/SearchResults}}\n\n</$vars>\n\n</$list>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n</$vars>\n"},"$:/plugins/tiddlywiki/menubar/items/server":{"title":"$:/plugins/tiddlywiki/menubar/items/server","tags":"$:/tags/MenuBar","description":"Server options","caption":"Server","custom-menu-content":"<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/server\" mode=\"inline\"/>","text":"<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[yes]]\" variable=\"ignore\">\n<$transclude tiddler=\"$:/core/ui/Buttons/save-wiki\" mode=\"inline\"/>\n</$list>\n<$list filter=\"[[$:/status/IsLoggedIn]get[text]else[no]match[no]]\" variable=\"ignore\">\n<$button message=\"tm-login\">\nLogin\n</$button>\n</$list>\n"},"$:/plugins/tiddlywiki/menubar/items/sidebar":{"title":"$:/plugins/tiddlywiki/menubar/items/sidebar","caption":"Sidebar","description":"Sidebar","is-dropdown":"yes","tags":"$:/tags/MenuBar","text":"<$scrollable fallthrough=\"none\" class=\"tc-popup-keep tc-menubar-dropdown-sidebar\">\n\n<$transclude tiddler=\"$:/core/ui/SideBarSegments/tabs\" mode=\"inline\"/>\n\n</$scrollable>\n"},"$:/plugins/tiddlywiki/menubar/items/topleftbar":{"title":"$:/plugins/tiddlywiki/menubar/items/topleftbar","tags":"$:/tags/MenuBar","description":"Items from $:/tags/TopLeftBar","caption":"Legacy Top Left Bar","custom-menu-content":"<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/topleftbar\" mode=\"inline\"/>","text":"<$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>"},"$:/plugins/tiddlywiki/menubar/items/toprightbar":{"title":"$:/plugins/tiddlywiki/menubar/items/toprightbar","tags":"$:/tags/MenuBar","description":"Items from $:/tags/TopRightBar","caption":"Legacy Top Right Bar","custom-menu-content":"<$transclude tiddler=\"$:/plugins/tiddlywiki/menubar/items/toprightbar\" mode=\"inline\"/>","custom-menu-styles-wide":"float: right;","text":"<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]reverse[]]\" variable=\"listItem\" storyview=\"pop\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>"},"$:/plugins/tiddlywiki/menubar/menu":{"title":"$:/plugins/tiddlywiki/menubar/menu","tags":"$:/tags/PageTemplate","text":"\\define menubar-inner(size)\n<ul class=\"tc-menubar-list\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$list filter=\"[[$size$]match[wide]] ~[<currentTiddler>get[show-when]match[$size$]] ~[{$:/state/popup/menubar/hamburger}match[yes]]\" variable=\"ignore\">\n<li style={{!!custom-menu-styles-$size$}} class={{{ [<currentTiddler>get[show-when]addprefix[tc-menubar-]] tc-menubar-item +[join[ ]] }}}>\n<$list filter=\"[<currentTiddler>!is-dropdown[yes]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Dropdown -->\n\t<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n\t<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n\t<$button popup=<<dropdown-state>> selectedClass=\"tc-selected\">\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t<$text text=\" \"/>\n\t<span class=\"tc-menubar-dropdown-arrow\">\n\t<$transclude tiddler=\"$:/core/images/down-arrow\" mode=\"inline\"/>\n\t</span>\n\t</$set>\n\t</$button>\n\t</$set>\n\t</$set>\n\"\"\">\n<$list filter=\"[<currentTiddler>has[custom-menu-content]]\" variable=\"listItem\" emptyMessage=\"\"\"\n\t<!-- Link -->\n\t<$link to={{!!target}}>\n\t<$set name=\"tv-wikilinks\" value=\"no\">\n\t<$transclude field=\"caption\" mode=\"inline\"/>\n\t</$set>\n\t</$link>\n\"\"\">\n<!-- Custom content -->\n<$transclude field=\"custom-menu-content\" mode=\"inline\"/>\n</$list>\n</$list>\n</li>\n</$list>\n</$list>\n</$list>\n</ul>\n\\end\n\n<$list filter=\"[<tv-config-static>!match[yes]]\" variable=\"ignore\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\" variable=\"listItem\">\n<nav class=\"tc-menubar tc-adjust-top-of-scroll\">\n<div class=\"tc-menubar-narrow\">\n<<menubar-inner narrow>>\n</div>\n<div class=\"tc-menubar-wide\">\n<<menubar-inner wide>>\n</div>\n<div style=\"clear:both;\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/MenuBar]!has[draft.of]is-dropdown[yes]]\">\n<$list filter=\"[<currentTiddler>addprefix[$:/config/plugins/menubar/MenuItems/Visibility/]get[text]] ~show +[match[show]]\" variable=\"ignore\">\n<$set name=\"dropdown-state\" value=<<qualify \"$:/state/popup/topmenu/dropdown/\">>>\n<$set name=\"dropdown-state\" value={{{ [<dropdown-state>addsuffix<currentTiddler>] }}}>\n<$reveal type=\"popup\" state=<<dropdown-state>> position={{{ [<currentTiddler>get[dropdown-position]else[below]] }}} class={{{ [<currentTiddler>get[class]] }}} tag=\"div\">\n<div class=\"tc-drop-down\">\n<$transclude/>\n</div>\n</$reveal>\n</$set>\n</$set>\n</$list>\n</$list>\n</nav>\n</$list>\n</$list>\n"},"$:/core/ui/PageTemplate/topleftbar":{"title":"$:/core/ui/PageTemplate/topleftbar","text":"<!-- The menubar plugin overrides this tiddler to remove the core top left menu. The menu items that it would include are instead included in the menubar -->"},"$:/core/ui/PageTemplate/toprightbar":{"title":"$:/core/ui/PageTemplate/toprightbar","text":"<!-- The menubar plugin overrides this tiddler to remove the core top right menu. The menu items that it would include are instead included in the menubar -->"},"$:/plugins/tiddlywiki/menubar/readme":{"title":"$:/plugins/tiddlywiki/menubar/readme","text":"!! Introduction\n\nThis plugin provides a menu bar with the following features:\n\n* Menu items take the form of simple text links, dropdowns, or entirely custom content\n* Menu items can be individually enabled via the control panel\n* Responds to reduced screen width by abbreviating the menu items to a \"hamburger\" dropdown\n\n!! Menu Item Tiddlers\n\nMenu items are tagged <<tag $:/tags/MenuBar>>. The following fields are used by this plugin:\n\n|!Field Name |!Purpose |\n|title |Each menu item must have a unique title (not shown to the user) |\n|description |Description for use in listings |\n|tags |Must contain `$:/tags/MenuBar` |\n|caption |The text that is displayed for the menu item. Avoid links, using `~` to suppress CamelCase links if required |\n|target |For simple link menu items specifies a tiddler title as the target of the link |\n|is-dropdown |Set to `yes` to indicate a dropdown menu item |\n|dropdown-position |Optional position for the dropdown (can be ''left'', ''above'', ''aboveleft'', ''aboveright'', ''right'', ''belowleft'', ''belowright'' or ''below'') |\n|text |For dropdown menu items, specifies the body of the dropdown |\n|custom-menu-content |Optional wikitext to be displayed in place of the caption |\n|custom-menu-styles-wide |Optional string of styles to be applied to menu item when the menubar is wide |\n|custom-menu-styles-narrow |Optional string of styles to be applied to menu item when the menubar is narrow |\n\nCustom menu items should make sure that the clickable link or button is an immediate child, and not wrapped in another element.\n\nNote that menu items can be pushed to the right of the menu bar setting the ''custom-menu-styles'' field to `float: right;`.\n"},"$:/plugins/tiddlywiki/menubar/styles":{"title":"$:/plugins/tiddlywiki/menubar/styles","tags":"[[$:/tags/Stylesheet]]","text":"\\define breakpoint-plus-one()\n<$text text={{{ [{$:/config/plugins/menubar/breakpoint}removesuffix[px]add[1]addsuffix[px]] ~[{$:/config/plugins/menubar/breakpoint}] }}} />\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 set-sidebar-scrollable-top-if-hamburger()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] -$:/plugins/tiddlywiki/menubar/items/hamburger +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n\\end\n\n\\define set-sidebar-scrollable-top()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[limit[1]]\">\n\n\t.tc-sidebar-scrollable {\n\t\tmargin-top: 2em;\n\t}\n\n</$list>\n<$reveal state=\"$:/state/popup/menubar/hamburger\" type=\"match\" text=\"yes\">\n\n\t<$set name=\"itemCount\" value={{{ [all[tiddlers+shadows]tag[$:/tags/MenuBar]] -[all[tiddlers+shadows]prefix[$:/config/plugins/menubar/MenuItems/Visibility/]regexp:text[hide]removeprefix[$:/config/plugins/menubar/MenuItems/Visibility/]] -[all[tiddlers+shadows]tag[$:/tags/TopLeftBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/topleftbar]] -[all[tiddlers+shadows]tag[$:/tags/TopRightBar]limit[1]then[]else[$:/plugins/tiddlywiki/menubar/items/toprightbar]] +[count[]] }}}>\n\n\t\t.tc-sidebar-scrollable {\n\t\t\tmargin-top: calc(<<itemCount>> * 2em);\n\t\t}\n\n\t</$set>\n\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\nnav.tc-menubar {\n\tposition: fixed;\n\tz-index: 850;\n\tdisplay: inline-block;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n}\n\nnav.tc-menubar ul.tc-menubar-list {\n\tposition: relative;\n\tlist-style-type: none;\n\tmargin: 0;\n\tpadding: 0 0 0 42px;\n\tbackground: <<colour background>>;\n\tbackground: <<colour menubar-background>>;\n\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\thtml nav.tc-menubar ul.tc-menubar-list {\n\t\tpadding: 0 0 0 8px;\n\t}\n\n}\n\nnav.tc-menubar li.tc-menubar-item {\n\tdisplay: inline-block;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.tc-menubar .tc-menubar-narrow li.tc-menubar-item {\n\tdisplay: block;\n}\n\nnav.tc-menubar li.tc-menubar-item > a,\nnav.tc-menubar li.tc-menubar-item > button {\n\tdisplay: inline-block;\n/*\ttext-transform: uppercase; */\n\tline-height: 1;\n\tfont-weight: 700;\n\tcolor: <<colour foreground>>;\n\tcolor: <<colour menubar-foreground>>;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n\ttext-decoration: none;\n\tpadding: 0.5em;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\tcursor: pointer;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item svg {\n\ttransition: none;\n\twidth: 1em;\n\theight: 1em;\n\tfill: <<colour foreground>>;\n\tfill: <<colour menubar-foreground>>;\n}\n\nnav.tc-menubar li.tc-menubar-item .tc-menubar-dropdown-arrow svg {\n\twidth: 0.5em;\n\theight: 0.5em;\n}\n\nnav.tc-menubar li.tc-menubar-item > a.tc-selected svg,\nnav.tc-menubar li.tc-menubar-item > button.tc-selected svg {\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:hover,\nnav.tc-menubar li.tc-menubar-item > button:hover svg,\nnav.tc-menubar li.tc-menubar-item > button:hover {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar li.tc-menubar-item > a:active,\nnav.tc-menubar li.tc-menubar-item > button:active svg,\nnav.tc-menubar li.tc-menubar-item > button:active {\n\tbackground: <<colour foreground>>;\n\tbackground: <<colour menubar-foreground>>;\n\tcolor: <<colour background>>;\n\tcolor: <<colour menubar-background>>;\n\tfill: <<colour background>>;\n\tfill: <<colour menubar-background>>;\n\tborder-radius: 0;\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down,\nnav.tc-menubar .tc-block-dropdown {\n\tmax-width: 70vw;\n\tmax-height: 70vh;\n\toverflow: auto;\n}\n\nnav.tc-menubar .tc-drop-down a {\n\ttext-decoration: none;\n}\n\nnav.tc-menubar .tc-drop-down .tc-table-of-contents button {\n\tdisplay: inline-block;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-drop-down ol {\n\tmargin: 0;\n}\n\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar a,\nnav.tc-menubar .tc-drop-down .tc-menubar-dropdown-sidebar button {\n\tdisplay: inline;\n\twidth: auto;\n}\n\nnav.tc-menubar .tc-more-sidebar > .tc-tab-set > .tc-tab-buttons > button {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t.tc-menubar-wide {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (min-width: <<breakpoint-plus-one>>) {\n\n\tnav.tc-menubar li.tc-menubar-item.tc-menubar-narrow,\n\t.tc-menubar-narrow {\n\t\tdisplay: none;\n\t}\n\n}\n\n@media (max-width: <<sidebarbreakpoint-minus-one>>) {\n\n\t<<set-sidebar-scrollable-top-if-hamburger>>\n\n}\n\n@media (max-width: {{$:/config/plugins/menubar/breakpoint}}) {\n\n\t<<set-sidebar-scrollable-top>>\n\n}\n@media print {\n\n\tnav.tc-menubar {\n\t\tdisplay: none;\n\t}\n\n}\n"},"$:/tags/MenuBar":{"title":"$:/tags/MenuBar","list":"$:/plugins/tiddlywiki/menubar/items/hamburger $:/plugins/tiddlywiki/menubar/items/topleftbar $:/plugins/tiddlywiki/menubar/items/contents $:/plugins/tiddlywiki/menubar/items/search $:/plugins/tiddlywiki/menubar/items/pagecontrols $:/plugins/tiddlywiki/menubar/items/server $:/plugins/tiddlywiki/menubar/items/toprightbar"}}}
$:/themes/tiddlywiki/snowwhite
.tc-thumbnail-captionLC { position: absolute; background-color: #777; color: #fff; text-align: center; bottom: 0; width: 100%; filter: alpha(opacity=1); opacity: 1; line-height: 1.4; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; min-height: 100px;
}
.tc-thumbnail-wrapper:hover .tc-thumbnail-captionLC {background-color: #999999;}
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/kxy3sVMCQEg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
Staff team: Nura, Luke, Farzana, Rebecca, Aaliyah (Steering group young person)
One applicant was unable to attend in person, so we did a telephone interview.
Structure of the session:
Farzana met each applicant and took them into the kitchen where she supported them to complete an application form, which included the questions that were then used to frame the interviews. This worked well as it gave the applicants an opportunity to reflect ahead of the interviews. They all expressed nervousness about the process on being interviewed, so having some 1:1 time with Farzana in the relaxed environment of the kitchen felt like a supportive way of navigating the process.
They were then taken to meet Nura, Luke, Rebecca and Aaliyah, for the more formal 'interview'. They had their application forms as a reference point. They were given an overview of the mentoring programme and then asked questions by each member of the panel. They were also given opportunity to ask questions at the end.
Headlines:
* All applicants did really well and the sense was that they could all be taken forward as trainee mentors.
* At the end of the session, the staff team decided to take the opportunity to match the mentors (newly recruited and existing ones from the steering group) to the mentees that had already been identified). Decisions were based on the mentors' personality, gender, interests and life experiences.
Highlights:
* All applicants were able to express some lived experience that they felt they could draw on in their positions as mentors.
* All of them were able to express clear motivation for wanting to be mentors.
Rebecca and Liz visited the Winch for the planned first steering group.
Nura has done a great job of recruiting up to 5 young people who are keen to join, but 2 were away today and the others had last minute things they needed to attend to.
We agreed that the steering group could not go ahead without the young people, as they as key to some of the most important decisions we need to make at this point of the project.
Reflected on the impact of this being the summer holiday period, //especially// since young people have not had opportunities to see friends and family for months now. September a more realistic prospect, so we will rearrange for then.
In the meantime we can be working on:
# draft "job descriptions" for young steering group members and decision as to whether these young people formally become Winch volunteers
# making plans for recruiting mentors and mentees in the new school term
# working out the best process for identifying needs for AMBIT training at Winch
# arranging POD
'''The Beginning' ''
Aims:
* Introductions
* Developing understanding about the purpose of the peer mentoring programme
* Start establishing mentor/mentee relationships
Activities:
* Ice breaker
* Description by the team of the peer mentoring programme
* Group contract
* Line up activity to develop shared understanding of what the purpose and boundaries of the peer mentoring programme, including confidentiality and safeguarding
* Mentor and mentees pair up to do contracts
Staff team: Rebecca, Nura, Luke, Farzana
Mentors and mentees attended.
Aims for session:
* Introductions
* Explaining the mentoring programme
* Start building relationships
Structure of the session:
* Introduction to the programme
* Ice breaker activity delivered by Luke
* 'Line up' activity where we got mentors and mentees to position themselves in the room along an imaginary line in relation to whether they 'agree' or disagree' on the role of a mentor
* Safeguarding and confidentiality
* Mentor/mentee contracts
Challenges:
* Some of the mentees did not attend, so not all of the mentors were able to work with the mentee that had been allocated to them.
* Mentees were not all clear on what the mentoring programme was and why they were doing it.
* We ran out of time, so did not explicitly go through the content on safeguarding; nor did we get to do 'contracts'
Highlights:
* The mentors were great and showed leadership skills, particularly in helping mentees feel comfortable.
* The 'line up' activity worked well. Both mentors and mentees were able to share their opinions on the role of a mentor. It also allowed us to speak about confidentiality and boundaries.
Session 11
Marking the end
The intention for today was to provide space for mentors and mentees to reflect on their journey through this cohort of the peer mentoring programme, as next week is the final week and the celebration event.
It was a pretty informal session, with mentors and mentees making a poster to represent their experience.
We also captured some video footage of them talking about the experience.
* 1. Icebreaker (Human rock, paper and scissors) 5:30-5:35/5:40 (5-10mins)
* 2. Follow up around young people becoming mentors mentioning November start for training and need 10 mentors for the programme. 5:40-5:45 (5mins)
* 3. Touch up on training from last week around edits 5:45-6:05 (20mins)
* 4. Icebreaker (two truths and one lie) 6:05-6:10/6:15 (5-10mins)
* 5. Focus on recruitment process 6:15- 6:35 (20 mins)
* 6. Another session for steering group? Plan date
* AOB and follow ups? 6:35-6:45 (10 mins)
''What happened?''
Young people arrived on time and staff. We went through Human (rock, paper scissors). Highlighted to young people about starting in November training will be starting and we will need 10 mentors. Rebecca went through the training with everyone and highlighted in each section what will be happening.
Dates that are important
* - Training will be every Wednesdays
* 10th November
* 17th November
* 24th November
* 1st December
Sessions should be for 1 hour and half, including eating snacks, icebreakers and training (5pm-6:30pm)
- Mentoring sessions will start 12th January for 12 weeks
* 1. 12th January
* 2. 19th January
* 3. 26th January
* 4. 2nd February
* 5. 9th February
* 6. 16th February (half term, it would be nice to go somewhere with the whole group!)
* 7. 23rd February
* 8. 2nd March
* 9. 9th March
* 10. 16th March
* 11. 23rd March
* 12. 30th March
Sessions should be 1 hour and a half (5pm-6pm mentors and mentees session), then it would be nice to debrief with mentors after the session about how the session has went. 5pm -6:30pm
Debrief notes from staff
* • “Should’ve thought of a better presentation” – Rebecca; needs to be shorter and more concise.
* • Provide more support for the young mentors.
* • More input + influence from young person as their intuition is closely related to experiences of younger mentees.
* • Keep icebreakers as it keeps a form of intimacy within the team
* • Bringing inclusivity and allowing everyone to come together as a group so they feel more involved.
* • Theory and practical – creating scenarios
* • More interactive activities to help engage and learn/teach mentoring
* • Main focus to be centred on the seriousness of the mentoring programme as purpose can be lost in the atmosphere of having “fun”
* • Distinguish between incorporating interactive sessions and having fun in activities.
Action Plan
* - It would be nice to add next to each week what the topic is for each session, so we can promote to young people each session.
* - After training need to book in training for POD.
* - Image consent from young people about being on AMBIT Manual.
* - Staff need to send Liz photo of them to add to AMBIT Manual.
Next steering group meeting is Wednesday 27th October at 5pm- 6:45pm
Staff team: Nura, Luke, Farzana
Three mentors were unable to make it.
Structure of the session:
Farzana met each mentor and took them into the kitchen where she supported them to complete the end of training questionnaire.
They were then taken to meet Nura and Luke, to reflect on their experience of the training, the extent to which they felt ready for training, and gauge their commitment. They were asked if they could commit to supporting either one or two cohorts of mentees.
Headlines:
* Five out of the 10 mentors said they were interested in doing two cohorts of mentoring.
* Mentors gave feedback on elements of the training programme that they felt could be improved - more skills practice/role play opportunities; more explicit emphasis on mental health.
Highlights:
* Mentors spoke positively about the experience of the training. Several of them spoke about the training having a positive impact on their personal life, confidence and in terms of personal reflection.
* Mentors said that being able to develop positive, trusting relationships with staff had supported their learning and development
''Change and Active planning
''
Aims:
* To understand that change is a process
* To think about how things are now and what you might want to change
''Only one mentee came to the session, despite all of our mentors being there. ''
''Rather than working on the session plan for today, we chose to spend the session talking with mentors. The one mentee stayed and was able to participate well throughout. ''
We started off encouraging all the mentors to reflect on how it felt to come to the session and not have a mentee to work with.
There were a range of thoughts/feelings, mostly impressively mature:
* Happy to be in session, as have good relationships in the group
* Things happen, so we have to adapt/make do
* Disappointed, as could have used the time to revise for exams
* A good distraction/break from exam revision/pressure
We then used some 'conversation starter' cards. One person picked a card and then everyone took turns answering the question. This worked well and was a good way of supporting the ongoing process of getting to know and building trust
We then played a card game, which was fun!
Held our first - rescheduled - steering group meeting at the Winch. See notes: [[15th September 2021 Steering Group Meeting Notes]]
A main focus was building relationships with our young person experts, and sharing what each of us hopes to get from the programme.
It was powerful to hear that the main drivers for our three young person experts were around making a difference to young people, helping to provide support that they might have benefited from when they were younger.
''Date:'' 15th, September 2021
''Attended:''
3 youth advisors, L, G and A, Nura, Jim, Rebecca, Liz
''Apologies:''
none
''Notes:''
# relationship building
# what is the programme
# what do each of us want to get from this
# purpose of this group
# what should we call this group (all to think on this)
actions:
- Hear feedback from young people about changing ‘peer mentoring steering group’ name?
- Hear feedback on anyone who should be here that is not?
- To edit training and review during next steering group meeting (Liz and Rebecca)
- Ask young people in next steering group meeting about how long each training session should be
- Ask young people in next steering group meeting about the recruiting process; getting mentors to join, how will we chose the young people and who would like to become mentors.
- Work out the plan for the programme and training.
- Find more young people who would like to be part of the peer mentoring steering group (Nura and Luke)
- Creating JD for mentors and steering group (??)
- Ask Berkley Foundation around funding more for steering
next meeting:
28th sept to look at programme
''Date:'' 23rd, February 2022
!!Agenda
''1. Taking stock of all we’ve achieved so far''
Task: for all to take a moment to celebrate successes and achievements.
''2. Reviewing next steps and timeline''
Task: making sure we’ll all on the same page about the timeline
''3. What we’ve learnt that we will take forward to improve the next round''
Task: capture young people’s views and ideas and then summary of staff views and ideas.
''4. Agree how often we should meet as a steering group ''
Task: so that we can get dates in the diary in advance for the rest of the project
''5. Evaluation and hello to Megan''
Task 1 : to welcome Megan and give her the opportunity to say hello and say a little bit about her research
Task 2: outcomes measures. To get clear on the purpose of these and how we can learn from them
''6. Make a plan for a celebration/ graduation event for mentors''
Task: To make a note of our plan
''7. Planning an AMBIT training for the Winch team''
Task: agree a plan for the most helpful way to hold a training for the wider team and work out possible dates
''8. Reminder of next reporting dates ''
Task: for us to hold in mind when we next need to report to Berkeley and make plans for it if needed
Session focus:
Thinking Together
Session structure:
* Mentors and mentees completed CORS
* Recap on Thinking Together
* Mentors and mentees practiced Thinking Together
Challenges:
It was difficult for some of the mentee/mentor pairs to engage with the Thinking Together process. Some of the mentees struggled to identify 'dilemmas' that they might be experiencing.
Highlights:
All of the mentee/mentor pairs were able to engage in conversations, even if they were not able to do a 'Thinking Together'. The relationships they have with their mentees have developed positively and this has been central to the process.
Learning:
We've noted before that one of the challenges with this cohort has been that a proportion of the mentees did not 'sign up' for the programme with the explicit need for help. This has made it challenging to tailor each session around 'help-seeking'. We have had to create specific activities and tools to enable self-reflection, particularly for the younger mentees.
Nura, Farzana, Rebecca and Liz met to discuss a celebration, evaluation and graduation event for the first cohort of mentors/mentees, which is coming to an end soon
Agreed we could do a small event for each cohort, and a bigger project end event next spring.
Events will be at AFC where possible. Winch staff will arrange brining young people to the centre as they would any other Winch outing (including consent, risk assessments etc).
The sense is that a certain amount of ceremony - with certificates and handshaking will be meaningful for the young people and also communicates our gratitude.
Staff team: Rebecca, Nura, Luke, Farzana
Attendance:
9 out of 11 mentors attended the session.
Structure of the session:
* Two out of the planned three pre-training measures completed by the mentors. (The third wasn't printed off in time!)
* Warm up game facilitated by Luke
* Group training facilitated by Rebecca
Aims:
* Introduction to the programme, delivery methods and team
* Explore and understand the role of a mentor
* Understand the purpose of the mentoring programme
Headlines:
* The group considered hopes and worries about the programme
* We developed shared understanding about the purpose of the mentoring programme and their role as mentors
* We developed shared understanding around safeguarding and considered a number of scenarios that might come up and how the mentors might handle these.
Highlights:
* The group were engaged throughout. All the mentors were able to express their views, although some were more vocal than others. A feedback round at the end invited reflection on the session. Largely positive from everyone.
* Good attendance and energy in the room. .
Some of the mentors weren't able to attend, as they had exams/revision.
Aim:
* To develop relationships within the group, particularly mentor/mentee relationships
Activities:
* Warm up game 'anybody who' - which draws out similarities and differences
* Individual activity where mentors and mentees were asked to represent themselves on a piece of paper, either through pictures or words. The goal being to help another person understand more about them as a person
* Just before the end, we then got each person to share something that was on their paper, with the big group
Challenges:
* One mentee seem to struggle to engage today. This is a pattern that has been observed, in terms of her coming to the Winch and then either being on her phone or not really engaging in whatever session. This led to a more general discussion about use of phones in the group, and the group contract we developed last week, and how we manage that. Also a discussion about why this young person is coming, but not really participating. A sense that she is unhappy at home, so may prefer to be at The Winch. And is that a good enough reason for her to remain on the programme? We began to think about how we could help her through the process of mentoring. Discussion to be continued!
Highlights:
* Some really nice behaviours from some of our 'old' mentors - it felt like they'd grown in confidence in terms of their ability to help mentees feel comfortable and keep a conversation going.
Staff team: Rebecca, Nura, Luke, Farzana
Mentors and mentees attended.
Aims for session:
* Understand your 'personal power'
* Think about what drains or increases your personal power
Structure of the session:
* Welcome and recap
* Ice breaker activity delivered by Luke
* Explanation and group discussion on personal power
* Team based activity where mentors and mentees think about what drains or increases their personal power
* Mentor/mentee contracts
Challenges:
* Some of the mentees from last week did not attend and we had some ew ones who joined. This made it difficult to match mentors with mentees in a consistent way. It also meant that the 'new' mentees didn't have a good idea of what the programme was about. It felt difficult to manager the various dynamics that this created, as the relationships that might have started to develop from session 1 were interrupted.
* It felt like the concept of 'personal power' didn't resonate with the mentees. The group discussion and team activity didn't work well. It might also be that the necessary relationship building between mentors and mentees had not progressed enough to create 'safety' to share/talk.
Highlights:
* The mentors continued to take some responsibility for supporting mentees.
Learning:
* We need to adapt the session next week, to support more relationship building and hold the mentees in mind more.
Staff team: Rebecca, Nura, Farzana
Attendance:
9 out of 11 mentors attended the session.
Structure of the session:
* Warm up game facilitated by Farzana
* Group training facilitated by Rebecca
Aims:
* Recognising personal power
* Understanding the process of change
* Exploring factors that might effect growth and change
Headlines:
* The group developed shared understanding about personal power
* We considered identity and self esteem and how this might link with our sense of personal power
* We thought about powerful stereotypes and their impact on identity and self esteem
Highlights:
* Good engagement. Some really thoughtful contributions to the discussion on personal power, including cultural differences between parents and young people; and connections being made in terms of mentor's experiences in the school system.
* Consistent engagement and felt calmer than last week. .
Half term
Group fun activity/trip
Mentors and mentees went iceskating
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
Click ''next'' and ''previous'' to navigate between the videos
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/QvnOtGiDp6s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
Session 12
Celebration event
Parents and friends of mentors and mentees were invited. All the mentors and mentees invited at least one family member or friend, which was lovely (we didn't do this last time).
Mentor and mentees took part in an activity to reflect on the process.
Certificates and gifts were given out.
Session 8 - Planning for change
Structure of the session:
* Recap on 'change'
* Mentors and mentees complete an 'Egg and Triangle' worksheet
* Mentors complete reflective Journal
We had better attendance of mentees and mentors, which meant that some pairs and the activities felt possible.
This was the first week we had invited mentors to stay to complete the reflective journal. The purpose of this was to provide a space for them to think about how the session had gone and whether there was anything coming up for their mentee or for them, that we might notice. They were open to this.
Session focus:
Active planning - getting a sense of how things are now and identifying areas for change
Session structure:
* CORS completed in mentor/mentee pairs
* Recap of last week
* Today's activity - the Egg and Triangle. This required mentors to use their skills to complete a visual representation of how things were for their mentee (using the 'Egg' diagram). The diagram includes a focus on the mentee and their interests, strengths and challenges; their family and friends; and other things that might be significant in their lives. Once the Egg felt 'right', the mentor then supported the mentee to think about what they might want to work on or change, using the 'Triangle' diagram. The bottom layer of the triangle had the mentee's priorities; the next layer had their next steps; and the tip of the triangle was their motivation for change or aspirations.
* The mentors were encouraged to use work and ideas that their mentee had completed previously, as well as their communication/curiosity to support the mentees through the process
As COVID restriction are gradually shifting, we (R, L, N and J) arranged to meet face to face for the first time, at the Winch.
We talked about our respective organisations, our job roles and what matters to us, and planned the creation - and first meeting - of the steering group. Nura has some young people in mind already and has started talking to young people about the project. Pencilled in steering group for 3rd July
Session focus:
Thinking ad problem solving skills
Session structure:
* Mentors and mentees completed CORS
* Recap on last few weeks (Thinking Together as a way of working through a dilemma)
* Introduced ideas around Thinking Skills - once you've identified a dilemma and thought it through, you might want to think about solutions. However, this can feel difficult!
* Used a scenario to get the big group to consider a dilemma where there was no clear solution. The task was to generate a number of different 'solutions' and then consider the consequences of each of them. The goal is to then chose the 'least worse' solution. The scenario was 'you hear a rumour that someone at school is out to get you'.
* Mentors and mentees put into three groups (as we were missing some today, which made pairing up impossible). Each group were tasked with working their way through the Thinking Skills grid, using the scenario we gave them. If time, they were invited to think of their own dilemma and work through it in the same way.
Challenges:
We had some mentors and some mentees missing today, so had to be creative in how we got through the session. The small groups worked well for one group, but not so much for the other two! The group that worked well were able to generate rich debate about the dilemma. The mentors were most able to voice their opinions and consider solutions and consequences. The mentees were quieter, but most appeared to be engaged and were able to participate when prompted.
Highlights:
Mentors in the group that worked well were positive about the activity. There were two mentees in their group, one of whom found it hard to focus... BUT the other one stayed and contributed. Her opinions were encouraged and valued. In the other two groups, the mentors and mentees ended up working more in pairs, but the fact that they reconfigured to something that felt possible/helpful, was a positive.
Staff team: Rebecca, Nura, Luke, Farzana
Attendance:
8 out of 11 mentors attended the session.
Structure of the session:
* The third pre-training measure was completed by the mentors.
* Warm up game facilitated by Luke
* Group training facilitated by Rebecca
Aims:
* The importance of building a positive relationship
* Being mindful that the mentoring relationship will come to an end
Headlines:
* The group thought about different types of relationship and the foundations of a positive relationship
* We developed shared understanding about the importance of trust in a relationship and how this relates to mentoring
* We practiced some active listening and communication skills, that are important in developing and maintaining a relationship
* We considered diversity and difference and the benefit and risks of being the same or being very different from the person you are mentoring.
* We did not have time to cover the content on endings in enough detail, as we ran out of time!
Highlights:
* Good participation in the training activities, especially the small group active listening and communication 'games'.
* Tonight felt a little more challenging in terms of them being able to focus and settle after the exercises.
'Personal power'
Aims:
* Understand your personal power
* Think about what adds to or takes away from your personal power
Activities:
* CORS
* Ice breaker/settle in game that supports 'getting to know each other). E.g ‘two truths, one lie’?
* Recap last week, where we got people to design a poster that helped someone else understand them more
* Introduce key idea/theme that we can feel different in different situations, including feeling more or less powerful
* Definition of personal power - our ability to feel ‘strong’ and cope in a positive way
* Mentors and mentees work in pairs. Mentor first - think of a situation they were in that made them feel proud or strong. Tell the story to their mentee. Then mentees think of an example and tell the story to their mentor. What helped you feel strong and proud?
* Then mentors think of a situation that they were in that made them feel small or that felt hard (it might be getting told off by a teacher, or being teased by a friend). Mentors do this first, and tell the story to their mentee. Then mentees think of an example and tell the story to their mentor. What did they learn from this? If they had to do it again, how could they do it differently?
* Mentors and mentees completed a 'Blob Tree', to represent how they feel at the moment, and why
Staff team: Nura, Luke, Farzana (Rebecca unable to attend due to her daughter having Covid)
Mentors and mentees attended.
Aims for session:
* Develop mentor/mentee relationships
* Develop shared understanding about the mentoring programme
Structure of the session:
* Settle in and ice breaker
* Re-visited the ‘agree/disagree' line-up exercise that we did at session 1 – on the role of a mentor – as we have had new mentees joining. Run by one of the mentors (K did it at session 1).
* Continued with the format of ‘agree/disagree’ line-up – and ask some other questions, which provided a space to consider things that we all might find challenging. The goal was to take the pressure off the mentees and show that mentors have had some experiences that they might be interested in. Questions included:
# - Doing something new is scary (agree/disagree)
# - Social media is bad for your mental health (agree/disagree)
# - Being good at sport is important (agree/disagree)
# - I do what my friends are doing, even if I don’t really want to (agree/disagree)
# - Saying ‘no’ feels hard (agree/disagree)
# - Eating healthy is boring (agree/disagree)
* Mentors paired with their mentee to complete the CORS. We did this at the end of the session, rather than the beginning to give them a chance to talk to each other and maybe get curious about their ratings.
* Any time leftover time was a chance for mentors and mentees to get ton know each other.
Focus of the session - emotions and thinking
We had a new mentor that joined us today. It might have felt difficult for him to join at this stage, but he fitted right in!
The session began with an ice-breaker game.
We then worked through the content on feelings, getting the group to develop shared understanding and language around 'emotions'.
We did some basic brain physiology, to demonstrate the link between feelings and thinking.
We practiced Thinking Together - a structured 'helping' conversation.
The plan as to do this in threes, but we ended up doing a group Thinking Together, which was powerful.
One of the mentors shared a dilemma she was having around whether or not to get help with her mental health.
We supported her, using the stages of Thinking Together, and at the end of the process she said that she felt less anxious about the situation and clearer about what she wanted to do.
Highlights:
* One of the mentors being brave enough to share/open up about her mental health
* The other mentors were good at trying to mentalize her in a supportive way in the Thinking Together
* The new mentor reflected at the end that that the session had enabled him to reflect on the progress he has made in the last few years, as he used to block out his emotions and now he feels in touch with them. He also said that being around people who were able to talk about their emotions had felt positive.
Liz and Nura met (Liz and Rebecca having already worked up ideas). There is a Winch event on 3rd so need to rearrange date for better attendance of young people. Agreed 11th August in pm - time tbc by Nura
Key task is building relationships, being clear on needs , working out what other projects the young advisors think we need to learn from
!!Plan
# Name game (icebreaker)
# “Steering Group” Should we change the name of the group? Any suggestions?
# Who should be here and that is not here already? Any suggestions
# Icebreaker game
# Discuss overview of the programme
# What would you like to get out of this experience?
# Sorting out dates/ workshops
# Need to schedule in 3 to 4 workshops 2 hours each this can include trip/ team building activity and if they want a visit to Hackney Minds Mentoring project.
''Date:'' 26th, November 2021
*
* 1. Icebreaker (The Marshmallow Challenge) 5:00-5:10 (10mins)
* 2. Recruitment process and discussion 5:10-5:40 (30mins)
* 3. Discussion around young people who would like to be part of the programme
* Young people will give contacts to Nura and Luke 5:40-5:50 (10mins)
* 4. Icebreaker (Charades) 5:50-6pm (10mins)
* 5. AOB and book in the next steering group meeting Until end
''Date:'' 28th, September 2021
''Attended:''
Luke, REbecca, Liz, Nura. 5 x young advisors
''Apologies:''
Jim
''Plan''
* 1. Icebreaker “choose one film or series you think everyone should watch and why?”
* 2. Follow up on changing the group name from “steering group”?
* 3. Touching up on anyone who should be who isn’t? Inviting them along
* 4. Review the training (plan how long each training should be as well?)
* 5. Icebreaker “ABC theme”
* 6. Discuss/ touch up on recruitment process (further conversations next session?)
* 7. AOB (questions or discussions from staff and young people)
* 8. Sorting out next meeting session around dates
''Notes:''
!!what are we going to help our mentees with?
* friendships
* peer pressure
* social media
* transition to secondary
* taking school seriously - getting on with studies.
* dealing with problems at school with teachers - communicating with teachers when things aren't going very well
* fights and bullying (including the bullies)
* combatting stress, managing problems
* managing money
''main themes:''
*life skills
*getting on at school
*combating stress and managing problems
*relationships and social media
!!training programme
*the role of the mentor, boundaries, safeguarding etc
*relationship building, trust
*how brains work, thinking together
*
!!mentoring programme
*mentors will get supervision
*
*
*
!!evaluation
do the measure during the event
focus group.
increased confidence
more open
feel comfortable talking about stuff
they will start doing stuff
Use CORS and SWEMWBS
Session 9 - Thinking Together
Structure of the session:
* Recap on Egg & Triangle (areas for change)
* Introduce ‘Thinking together’ task
* Complete a Group ‘Thinking together’
* Mentors support mentees in pairs, using 'Thinking Together'
* Reflective Journal for mentors
How it went:
We were able to explain Thinking Together to the group. We then asked everyone to think about and share a dilemma they were experiencing, including staff, to normalise the fact that we all have struggles. We then asked if someone was happy for us to use their dilemma to 'Think Together' in the big group. One of the mentees agreed to this. He shared a dilemma about having a fight at school with a boy in his class and being put into isolation for it. The group were able to explore and try to understand (mentalize) his position in this and also the positions of the teachers and the boy he fought with.
This worked in terms of modelling the process of Thinking Together... although not sure that the mentee saw the situation any differently. I think he did feel validated, but there seemed to be an element of bravado from him that might have got in the way, possibly because it was done in the big group.
We then asked the mentors to support a mentee to Think Together in pairs, which they seemed able to do.
It felt like this worked best where we had mentors in their usual parings, as they had the best relationships.
Staff team: Rebecca, Nura, Luke, Farzana
Aims for the session:
* Focus on relationships
* Mentor/mentee relationship building
Structure of the session:
* Ice breaker activity – building marshmallow towers (in mentor/mentee pairs)
* Group discussion on relationships:
# - What is a relationship? They are a big part of life!
# - Examples of different types of relationship
# - Are relationships easy? (For some people they might feel harder than others)
* Relationship tree activity: What are the foundations/roots of a positive relationship?
* Mentor/mentee 1:1 activity: Three questions:
# 1) What are your strengths/what do you think you are good at and why?
# 2) What makes you feel stressed?
# 3) What are you looking forward to?
(Mentees were encouraged to ask their mentor these questions FIRST, and then the mentors asked the mentees the questions. Purpose of this was to build the relationship and trust.)
* Mentors and mentees complete the CORs questionnaire together, inviting some curiosity around the scores.
Challenges:
Most mentors come into the room and sit with each other and talk, whilst we wait for everyone to arrive. Some of their conversations are about the challenges they face in school and friendships (normal stuff!), but this might feel intimidating to our mentees, most of whom are in Year 6 and feeling anxious about secondary school.
Some of the mentors had fed back that they would like less ice-breakers and group activities and more 1:1 time with their mentee.
Highlights:
Despite the above, mentor and mentee relationships appear to be developing.
Mentors have been willing to help facilitate some of the session, as well as doing the 1:1 work with their mentees. This has been particularly useful/positive when there has been imablance in the numbers of mentors to mentees, meaning that some mentors have not had a mentee to work with. Engaging them in the process of delivering the session has helped them to feel useful/engaged and given them some responsibility. It might also have further helped build trust with the mentees.
Learning:
It has felt difficult for some of the mentors to get into 'helping' the mentees. This might have several explanations. This group of mentees are largely from The Winch's 'Transitions Group', so rather than being referred in to the mentoring programme, they were invited. This meant that the degree to which they saw themselves (or somebody else saw them) as 'needing help' varied, with many of them presenting as though they did not need help. We also spent lots of time preparing the mentors for their roles, and very little time preparing the mentees for the programme, which meant they lacked a comprehensive understanding and had not known what to expect. We've needed to revise the session content to attend to these challenges and focus more effrot on relationship building and on using some structured 'tools' to enable conversations between mentors and mentees that might lead to identifying areas in which they would benefit from some help.
Session focus:
Self esteem and identity
Session structure:
* Mentors and mentees complete CORS
* Time to finish off Egg and Triangle from last week
* Introduce and explain ‘self esteem and identity’ – one of the mentors helped with this (using PowerPoint slides)
* Mentors help mentees to complete the ‘You are unique’ worksheet
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/gomA1mjg284" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
Five out of eleven of our mentees were not able to attend the session, due to being on a residential trip with school.
Some of their mentors chose not to attend, because of this.
Session focus: Reflection and ending
Session structure:
* Mentors and mentees completed CORS
* Marked that this was the final session of the programme for this cohort
* Recap on what we had covered in previous sessions, the ideas and activities (the purpose of the mentoring programme; the role of a mentor; relationship building; recognising and managing feelings; self reflection and identifying areas for change; Thinking Together.)
* Mentees and mentors paired up with the task of creating a poster that represented their journey on the mentoring programme
* Videos of those who weren't here last week
Challenges:
Low numbers meant that not all mentors had a mentee to work with. It also meant that we have not really said a proper 'goodbye' and been able to end with everyone present. There will be another opportunity next week, when we have out 'graduation/celebration' event.
Highlights:
Almost all of the mentors and mentees were able to make a poster. Some really lovely posters, capturing various elements of the programme.
We interviewed four candidates for the role of mentor.
All young women, one in Year 11 and the others in the sixth form.
We used the same process for the interviews, as that had been effective the first time around. (Details included here: [[10th November 2021 - mentor interviews]])
All four of them showed great qualities and expressed motivation for becoming a mentor. All of them will be referred onto the next mentor training course.
It felt like they were different to the young people who were recruited as mentors for the first cohort. It might be because they had all responded to an advert in the sixth form bulletin, demonstrating their own motivation. The current cohort was comprised more of young people that The Winch already had relationships. The sixth formers in particular presented as 'high achievers'. At least one of them had some 'lived experience' around struggles with mental health.
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/XD27niCd2zI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
This session was designed to be a 'taster session' for mentors and potential mentees to attend.
Aim:
- Get to get to know each other
- Create comfortableness
- Identify mentees and gauge their motivation to participate
- Start the process of matching mentors and mentees
''Date:'' 4th, May 2022
!!Agenda
1. updates - where are we up to and how is it going?
* Young people
* Winch
* AF
2. reporting
Upcoming 12 month report
3. evaluation
4. planning for year 2
* recruit mentors for yr 2 by end of school year (22nd july)
* training to start from sept 22
*
5. AOB
<svg width="20" height="20"><br>
<rect width="20" height="20" style="fill: white;" />
</svg><br>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg><br>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg><br>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg><br>
<svg width="20" height="20">
<rect width="20" height="20" style="fill: white;" />
</svg>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Xw-cWujdi3Y" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
This is part of a series of 6 videos, created by the Anna Freud National Centre for Children and Families, as part of the [[DfE-funded Peer Support for Children and Young People's Mental Health and Wellbeing Pilots]]
<div style="text-align:center">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/4e-yfQiK6ic" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
We took a group of mentors and mentees to The Anna Freud Centre, to mark the end of this cohort of the mentoring programme.
We gave out certificates to mentors and the mentors gave gifts and cards to the mentees and mentors.
We got mentors and mentees reflecting on some evaluation questions.
1) What would they tell a friend about the mentoring programme?
2) If the mentoring programme helped, what did it help with?
3) How could we improve things for the next cohort?
Their responses can be found here: [[End of Cohort 1 celebration/evaluation feedback from mentors/mentees]]
We watched a short video and slide show about the project.
Gave final speeches and 'well-dones' and said good bye.
We had three out of four of our new mentors attend.
We started with some activities that were about getting to know each other.
We worked through the first session on the role of a mentor, boundaries and safeguarding.
The new mentors engaged really well. They all gave articulate and thoughtful responses. WE had particularly good discussions around the role of and skills needed by a mentor.
We developed shared understanding about safeguarding and healthy boundaries and we gave them a number of scenarios to consider.
They then worked together in a small group to consider a specific scenario, how they would manage it and how the mentee might feel.
They were all able to engage with the activities and showed an ability to recognise risk and identify steps that they would take (tell a member of the team). They were also able to put themselves into the shoes of the mentee in a safeguarding scenario and recognise the need to be sensitive and supportive in managing any safeguarding issues.
Session 10
Thinking Together
The majority of our mentors were at their Year 11 Prom this evening, so we didn't have matched pairs.
Staff team: Liz, Rebecca (joined via Zoom), Nura, Luke, Farzana
Attendance:
10 out of 11 mentors attended the session.
Structure of the session:
* Warm up game facilitated by Luke
* Group training facilitated by Liz and Rebecca
Aims:
* Recognising emotions
* The impact of emotions on thinking
* The link between thoughts, feelings and behaviour
* Supporting the mentees to think clearly
* Active planning
Headlines:
* Rebecca had to join on Zoom, due to a family situation. It felt like the session still worked, as Liz was also there and the team pulled together.
* We developed shared understanding about the mind and the link between thoughts, feelings and behaviour,
* We worked though an activity that demonstrates that when emotions are high, good thinking is compromised.
* We practiced Thinking Together - a tool for supporting another person to think clearly and find their own solutions to a problem.
* We spent a short time on how the brain processes information according to what we focus on, and the skill of positively reframing negative thoughts
* We did not have time to cover the content on active planning, as we ran out of time!
Highlights:
* Young people seemed to be sensitive to Rebecca being on a screen, rather than in the room - e.g. they quietened down quickly after the training exercises. This felt supportive.
* Good participation in the training activities.
* They were able to have a go at 'Thinking Together' and some of their reflections were powerful: "Being asked questions helped me find my own solution".
Session held after the group mentoring programme
Mentors shared their different perspectives and experiences in relation:
* The process thus far
* What has been challenging
* Sparkling moments
Summary of reflections:
* New mentors feeling comfortable
* Inconsistent attendance has effected the process/mentors' experience
* Two new mentors have not had a mentee to consistently work with. There were pros and cons to this. On the plus side, a chance to work with lots of different people and hone skills in building rapport; on the other hand, more difficult to build trust
* One new mentor felt as though her mentee didn't need any help, which had left her feeling unhelpful
Ideas from the group on how to manage some of the dilemmas:
* The mentor with the mentee who presents as 'okay' to work with another mentee, possibly in a pair
* The new mentors without a mentee could possibly work as a small group, at least until consistent pairings feel possible
One of the new mentors (the one who had expressed not feeling helpful to her mentee) stayed behind after the session, as she was feeling upset. The team were able to help her to think through and make sense of her feelings, and she left with a sense of what she could do. She had been feeling overwhelmed and a bit isolated with exams and friendship issues. Her experience of not feeling helpful today might have added to these difficult feelings. She made good use of the support of the peer mentoring team.
'Practicing thinking about what's going well and what's not going well'
Aims:
* Recognise how stress feels in the mind and body
* Think about different areas of life and the extent to which that feel stressful
Activities:
* CORS
* Ice-breaker
* Explanation of 'stress', as an emotional response to something experienced as difficult
* Worksheet - outline of a body - mentors and mentees work together in their pairs. They talk about where and how they experience stress, by marking this on the body diagram
Challenges:
Not an equal number of mentors and mentees today. Not possible to pair people up in their usual pairs. Some mentors not with their usual mentees and
Session focus:
Practicing thinking about what's going well or not going well
Session structure:
* Warm up game - pass the fruit challenge (team game, played in groups of 5, requiring some strategic thinking)
* Recap of last week (ending with the three 'get to know' questions, one of which was 'what makes you feel stressed')
* Linked this to the next activity - thinking about how stress feels in the body. Mentors and mentees paired up and used a worksheet with a body diagram on it. The task was to talk to each other about what they notice in their minds or bodies when they feel stressed.
* Next activity (in mentor/mentee pairs) was to state that things might be going well for us in some areas of our lives, and not so well in others. We had a number of life areas (e.g. school, relationships, money). We had these areas on slips of paper and the task was to rank them, with the most stressful at the top, and the least stressful at the bottom. They were then invited to talk to each other about why and what they might want to change.
*CORS completed in mentor/mentee pairs
Nura, Jim, Rebecca and Liz met to build relationships and plan first steps. All staffing in place now so no recruitment required for AFC.
Winch are recruiting a new youth worker to work one day a week on this project. Nura will work 4 days a week as the lead youth worker on this project.
We asked the mentors to stay behind after the group mentoring session, for a group supervision.
The purpose of this was to create a space for them to share their stories and dilemmas, about their experience of mentoring.
We asked them three questions, to frame the conversation:
# What has felt good about the process?
# What has felt challenging? What have you done to manage these challenges?
# What sparkling moments have you had with your mentee?
Themes:
* The beginning of the mentoring group programme felt more awkward, conversations felt more difficult
* At times it has felt hard to understand the mentees as they are so much younger
* The relationship between mentor and mentee has been the key to being able to talk more openly
* All the mentors were able to think of and share a sparkling moment, which was great! These were really lovely too.
Session focus:
Practicing Thinking Together on things that feel 'stuck'.
Session structure:
* CORS completed in mentor/mentee pairs
* Basic brain physiology to highlight the link between thinking and emotions. When emotions are high, thinking is low!
* Introduced Thinking Together as a helping process
* Demonstrated Thinking Together in the big group, using a dilemma from one of the mentors
* Mentors and mentees did a Thinking Together
<<thumbnail link:"Chapter 1: Introduction" image:"chapter (1).JPG" >><<thumbnail link:"Chapter 2: Get ready" image:"chapter (2).JPG" >>
<<thumbnail link:"Chapter 3: Recruit and train your mentors" image:"chapter (3).JPG" >><<thumbnail link:"Chapter 4: Prepare your mentees" image:"chapter (4).JPG" >>
<<thumbnail link:"Chapter 5: Run your peer mentoring group programme" image:"chapter (5).JPG" >><<thumbnail link:"Chapter 6: Work as a connected team" image:"chapter (6).JPG" >>
<<thumbnail link:"Chapter 7: Measure impact and keep learning" image:"chapter (7).JPG" >><<thumbnail link:"Chapter 8: Contact us" image:"chapter (8).JPG" >>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Licence</a>.
The initial proposal for the Anna Freud National Centre for Children and Families [[Schools Support Service Peer Support]] programme
<iframe src="https://drive.google.com/file/d/1B0HxENFxS22h3yf2AUgYyqnzW3XlwvhR/preview" width="100%" height="480" allow="autoplay"></iframe>
Information guide for tutors delivering training to prospective mentors from the Anna Freud National Centre for Children and Families [[Schools Support Service Peer Support]] programme
<iframe src="https://drive.google.com/file/d/1a1mumosoU0XFTMTcIWJWUrmmTzYnajbz/preview" width="100%" height="480" allow="autoplay"></iframe>
Workbook given to peer mentors in the Anna Freud National Centre for Children and Families [[Schools Support Service Peer Support]] programme
<iframe src="https://drive.google.com/file/d/1YbM_DWA_GEso0O3cmWClrdhaV3oGSTLl/preview" width="100%" height="480" allow="autoplay"></iframe>
Training slides from the Anna Freud National Centre for Children and Families [[Schools Support Service Peer Support]] programme
<iframe src="https://drive.google.com/file/d/1c1TcwlvZMwwQn0VH0rkXC-QbersvMZ8E/preview" width="100%" height="480" allow="autoplay"></iframe>
30.3.23 page written following a discussion in an AMBIT team meeting.
Learning and points to elaborate on:
Comparison with the peer support programme in schools - the school environment is more structured and mentors have tended to do 1:1 sessions in dedicated spaces (e.g. during form time, in the library). The peer support programme at The Winch has been delivered in a group 'youth club' setting/environment. What might be the impact of this:
* The group environment is louder, which might suit some young people more than others. If young people get overwhelmed by noise/people, it might be difficult for them.
* The more informal setting might also be a positive in terms of allowing mentors and mentees that would not ordinarily share a space to connect through the games/youth club activities (table tennis, pool, etc)
* Young people attending the programme might be more likely to engage with The Winch after the programme ends, so there is a benefit in terms of them forming a relationship with a community resource
The need to adapt the peer support programme to the organisation/environment:
* AMBIT advocates for local adaptation, so it makes sense to apply this principle to the peer support programme
* Could we include something in the peer support wiki manual that invites teams who want to implement a programme to assess their own environment/culture/strengths ahead of/to prepare for planning their version of a peer support programme to encourage adaptation - what would this look like? Does it need a tool?
Possible agenda items:
# Making a timetable for manualizing and disseminating the approach in the final stage of the project
# Potential for follow up projects – ideas and possible sources of funding
# Check in on outcomes measures (are we managing to collect them, how to respond to any challenges) and collating the data
# Recruitment of mentors and mentees, for the final cohort
# Plan for AMBIT post-training implementation and review (this is more focussed on the staff team, so young people could leave before we cover this if they prefer)
!!!Project delivery partners:
This project was a partnership between the AMBIT Team at the Anna Freud Centre and the youth team at The Winch, a Camden based youth organisation.
!!! Previous peer support in schools:
In 2020, in the context of the global pandemic, the AMBIT Team worked with the Anna Freud Centre's Schools Therapy Service to develop and deliver a peer support service in schools. The primary strategic objective of Schools Therapy Service was to demonstrate an effective, low cost and viable remote therapy service informed by Thrive principles to work alongside existing services to increase service capacity to meet the mental health needs of school pupils. Peer support was one of various strands of support offered during the pandemic and beyond.
The AMBIT team had some experience of community based peer support, through involvement in a project funded by the Berkeley Foundation in 2018/2019 ''(???)'', which used the More than Mentors mentoring programme.
The AMBIT Team, with the help of the Anna Freud Centre's Participation Team, adapted the More than Mentors programme for the Remote Peer Support programme using AMBIT principles and the learning from a previous Department of Education funded peer support programme developed by the Anna Freud Centre. You can read more about the underpinning theory and practice models here: [[Underpinning theory/practice models]]
!!! Further adaptation for a community setting:
Further adaptations were made for delivery at The Winch, in consultation with young people and young adults who formed part of the project Steering Group.
The schools programme was delivered in that context with some significant differences. Mentors and mentees were all attending the same school, and mentoring sessions were delivered during the school day. Whilst different schools made local adaptations, they largely worked on a model that involved a mentor and a mentee having a 1:1 session over a relatively short time period (e.g. 6 sessions) to fit in with their schedules.
The programme at The Winch was delivered in the evening, and in a group format. Mentors and mentees were paired, but the mentoring took place in one space at the same time, on one day a week for 12 weeks. Adaptations were made to reflect these differences and to support programme evaluation.
<<tag-navigation tag:"c1">>
<<tag-navigation tag:"c2">>
<<tag-navigation tag:"c3">>
<<tag-navigation tag:"c4">>
<<tag-navigation tag:"c5">>
<<tag-navigation tag:"c6">>
<<tag-navigation tag:"c7">>
<<tag-navigation tag:"c8">>
!!! Notes/Feedback from celebration event
During the ceremony we asked the mentors, mentees and parents a few questions about their thoughts and feelings towards the peer mentoring programme.
We had a few great ideas pop up from mentors on how we could make the programme better:
* Having some outside activities
* More 1on1 time together
* Less worksheets
* More bonding activities (get to know you)
* More active activities (running games).
This suggests that some mentors wanted a closer connection with their mentees during the sessions
!!! Feedback from mentors:
* “Have a better understanding of how to listen and help people”
* “It has helped me express myself through giving advice and listening to my mentee”
* Parent: “as a parent it has been encouraging to see AS take on the responsibility of a mentor. It has helped her deal and process her own issues”
!!! Giving feedback to their friends about the programme mentors said:
*“ That you'll learn a lot about how you were a kid by talking and you'll be able to see patterns about behaviours and help people who relate”
*“The programme helps you become more considerate of others and more patient with people”
*“The programme helps you communicate better”
!!! Feedback from mentees:
* “I really enjoyed coming and sharing with my mentor”
* Parent: “ DN loves coming to the programme. He can come here and be himself. He gets excited about coming here and he doesn't normally get excited about much!”
* Parent: “ My son has enjoyed the programme so much he has been missing his paying swimming lessons!”
* “ I feel more open”
* “ I feel good about opening up more”
* “ It's helped me through being better at school”
!!! Reflection from youth team:
"The majority of the mentors on the programme would like to continue on the programme in Cohort 4. This is great and shows the connection between the young people that we are creating is having a positive impact on their well being as they want to come back and share their experiences more."
* Background to the project - how we developed it [[Background to the project - how we developed it]]
* Underpinning models and theories [[Underpinning theory/practice models]]
* Preparing for implementation - what will you need? The team - roles, skills, qualities. The plan - space, time, partners, practicalities, messaging, marketing, forms and resources [[Preparing for a peer mentoring programme]] [[The peer mentoring team]] [[The peer mentoring plan - adapting to your setting]] [[SWOT analysis]] [[Templates for programme delivery]]
* Developing and sustaining a well-connected team [[Developing and sustaining a well-connected peer mentoring team]]
* Recruiting your mentors [[Recruiting your mentors]]
* Training your mentors [[Preparing for training / style of delivery]] [[Training resources]] Post-training questionnaire [[Post-training questionnaire.docx]]
* Identifying and preparing mentees [[Identifying and preparing mentees]]
* Creating and sustaining the conditions for 'helping' throughout delivery. Worker perspective; mentor perspective; mentee perspective; parents/carers [[Young people and help-seeking]] [[Theory of help-seeking video]] [[Modelling help-seeking]]
* The group mentoring programme model (including matching mentors/mentees; session plans) [[The group mentoring model]] [[Preparing and matching mentors and mentees for the group mentoring programme]]
* Measuring impact/outcomes - liz [[Measuring outcomes: is your peer mentoring programme helping?]]
* Endings/exit strategies [[Endings and exit strategies]]
* Learning from your experience - liz
* Ensuring safety and equity [[Ensuring safety and equity (AMBIT Team)]]
* Readiness and preparation checklist
[img width= 100% [header (1).JPG]]
<$list filter="[tag[c1]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (2).JPG]]
<$list filter="[tag[c2]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (3).JPG]]
<$list filter="[tag[c3]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (4).JPG]]
<$list filter="[tag[c4]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (5).JPG]]
<$list filter="[tag[c5]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (6).JPG]]
<$list filter="[tag[c6]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
[img width= 100% [header (7).JPG]]
<$list filter="[tag[c7]] -[<currentTiddler>]">
*<$view field="title"/><br/>
</$list>
!! Why is this important?
In order to work well together, workers need to have an understanding of each other's minds - perceived strengths, challenges, skills, struggles. This is so that they can offer help to each other on an ongoing basis. The team should be practising and modelling help-seeking behaviours themselves, as this will strengthen their ability to understand and support the helping process between mentors and mentees.
!!! What is a well-connected team?
A team that is 'well-connected' is not merely one in which team members seem to get along. It is more about whether those workers feel able to express and show their different states of mind when they are working together. If I am feeling anxious or unsure about an aspect of my work, do I feel comfortable enough to express that to my colleagues? Or will my colleagues notice that I might be having an internal struggle with something? And will I be open to them noticing? There are lots of things that might become barriers to us being open when we are at work. We might feel that showing vulnerability is a sign of weakness, or we might feel like we are all busy, and don't want to burden others. Or we might just think that feelings of stress come as part of the job.... Creating the conditions for workers to navigate these potential barriers is the basis for the 'well-connected' team.
!!! Tasks that might support this:
* Team time/check-ins - regular meetings to connect and share, which might relate to both personal and professional lives
* Time to plan for sessions - developing shared understanding of mentors, mentees and of the purpose of each session and activity
* Time to learn together - reflective space to make sense of what has worked and what might have felt challenging and a way of capturing this learning
* Thinking Together - to work through dilemmas, support on-going team connection, and to practice the model (so the team are confident about helping the mentors to use the process of Thinking Together in the mentoring sessions)
<iframe src="https://drive.google.com/file/d/1-c69D3oCTqAbHqjUwQ2oSOyemaiS2IqW/preview" width="100%" height="480" allow="autoplay"></iframe>
<iframe src="https://drive.google.com/file/d/1-axLaIE0Gv64Jky5uFijaBzkMKJceDN6/preview" width="100%" height="480" allow="autoplay"></iframe>
<iframe src="https://drive.google.com/file/d/1uKCaPmoxcxGV5LkNi5ZpWNZ43f7J6AOY/preview" width="100%" height="480" allow="autoplay"></iframe>
A series of 6 training videos. Click ''next'' and ''previous'' to navigate between them.
<<tag-navigation tag:"AFNCCF training videos">>
This national Department for Education (DfE) funded programme was piloted in 89 schools, colleges and community organisations in six different regions in England from 2018-1029.
The Anna Freud National Centre for Children and Families provided training and resources to the pilot sites and the programme was evaluated by [[Ecorys|https://www.ecorys.com/united-kingdom]].
!!Evaluation reports
<<list-thumbnailsLC filter:"[tag[research]tag[DfE peer support pilots]]" width:"168" height:"200">>
!!Training videos by AFNCCF
<<list-thumbnailsLC filter:"[[DfE-funded Peer Support Pilots: AFNCCF Training Videos]]" width:"168" height:"200">>
!!Training resources made by AFNCCF
<a href="https://www.annafreud.org/schools-and-colleges/peer-support/" target="_blank"> [img width=300 [afnccf peer support page.jpg]] <br>
Resources on annafreud.org website</a>
<iframe src="https://drive.google.com/file/d/16eMbvvjKNT7ZG6LMcWtH9OlBRknUJP1i/preview" width="100%" height="480" allow="autoplay"></iframe>
<iframe src="https://drive.google.com/file/d/1-hD6Sj4-3hAhIxV9bYBXotPDTQg83SWt/preview" width="100%" height="480" allow="autoplay"></iframe>
Mentors and Mentees Feedback from Celebration Event Wednesday 6th April 2022
''Mentors Feedback: ''
If the mentoring programme has felt helpful, how has it helped you?
* Connecting with someone of a younger generation.
* Helps build social and communication skills.
* I feel like I have learned how to bond with young people, how to react and what to say. This has helped me to my day to day life and I appreciate it.
* It helped me find the confidence to talk to people and try and help where I can.
* It has helped me practice my social skills with younger people.
* It has helped me have a different view of life. (Abas)
* The mentoring programme helped me gain confidence and helped me give good advice from my previous experiences.
* The mentoring programme has helped me with my people skills and made me feel confident talking to new people.
If your friend asked you about the programme, what would you say about it?
* I would say that it was an important experience and that experience and that everyone should have the chance to do something like it.
* It’s fun, people are mindful, caring and tasks are thought – provoking.
* I would highly recommend it. (Abas)
* It’s fun to learn about others and you learn a lot about yourself.
* I would say it was a great experience a way to be a child again.
* I would tell them to try it for themselves as it is a very helpful to them and the mentee.
* If my friend asked about the programme, as a mentor I would say it is a good opportunity to take, as you would have experience with children by giving advice.
Give us one idea on how to make the programme better for our new mentors?
* Teach the mentees how to do each individual activity as they can be a bit confusing so hard to lead.
* The programme for mentors could maybe have more realistic situations when playing out scenarios.
* The first session to be very relaxed and not have a main target.
* There needs no improvement it was great.
* Alter sessions to be less complex for example; what happened in the first session.
* I think one idea would be to try and leave the current space/change the environment and style or task to challenge the mentor and mentees relationship.
''Mentees feedback: ''
If the mentoring programme has felt helpful, how has it helped you?
* It helped by making choices, making situations less scary
* School because of the worries in school
* Boost confidence, staff, spoke about situations at The Winch which was nice
* It has helped me be more social and helped me speak publicly
* It helped me with trust and being more expressive with feelings towards people
If your friend asked you about the programme, what would you say about it?
* I’d say definitely join as it guides you and its fun and you receive info from people with an experience.
* It’s about discussing you’re feelings about your day or school
* It is a great experience and helps a lot.
* Really good, lots of support, talked about stuff and helped with stuff.
* I would say they are helpful and you get a person to talk about your problems and it helps so so much, and after a while you start trusting them and more communicative with them, you feel happy and become besties
Give us one idea on how to make the programme better for our new mentees?
* Have a talk about more things about your day.
* I’d say to improve the attendance of mentors/ mentees as if your mentor is not here it’s a bit harder.
* Give the mentees more time to just talk to their mentors and get used to them.
* By doing more tasks based on insecurities to help them feel better about themselves
* More food (biscuits, lolly pops and chewy sweets).
Date: Wednesday 7th June
Time: 5-7pm
Venue: Anna Freud Centre
Purpose of the event:
To share what we've achieved and learnt on the pilot programme and invite feedback and reflections on implementation in other organisations.
Who do we want to invite (as well as The Winch and Anna Freud teams?)
* A selection of mentors, mentees and parents
* Berkeley
* Camden Early Help
* Other relevant organisations in Camden
* Other youth organisations that might be interested (who we already have connections to)
Actions (so far):
* Rebecca to meet with Youth Team to see who might be good to invite
* Rebecca to send an email to youth organisations that the AMBIT team are already connected to, to gauge interest in the event and in development ideas.
* Rebecca to email Keshia re Trust Me organisations and connection with 'Closing the Gap'
* Inna to take responsibility for the list of people we want to invite, and designing the invite and sending it out
* Everyone to send their lists of folks to invite to Inna (aiming for 50 people)
* Plan the schedule for the event (then decide what we need from mentors and mentees)
* Think about what happens after the event, e.g. further funding
Done:
* Emails sent to: Carney's; Gloves not Gunz; VIP; Art Against Knives; The Hive
* Response received from Carney's who are interested
* Response from VIP who are interested
* Response from The Hive, who are interested
* Emailed Keshia re Trust Me and Closing the Gap
Ideas for the 'next chapter':
* Funding to deliver again, to grow our evaluation
* Develop a training and supervision package to helps teams implement
* Employ programme graduates to help deliver the above
Ideas from the Steering group in February 2023:
* Ideas for the event; work together with mentor and mentees to come up with a speech for the event prior to the day, summarise thoughts of the programme and stick them up around the room, reflections from other cohorts about impact and checking in with mentees with what happened after, making a timeline of the journey.
* Invitations; mentors and mentees, The Hive, Royal Free School, Camden Council Mayor (Sasha) this should be a big event so publicity should be big, inviting local mental health services.
* Manual - How do we involve mentors and mentees as part of the manual?
* Mentors write their journey in the manual.
* Mentors who carried on the programme from Cohort 1 & 2 data and experience from them about both cohorts.
* Create each page in the manual about each young person.
!! Why might you want to think about endings?
Mentors and mentees will have developed a relationship with each other and with staff involved in the programme. Feeling connected to another person in the context of a helping process can be a unique and powerful experience. Maintaining the boundary of the relationships formed on the programme is also an important part of the process. Thinking about and supporting a positive end to the programme is about:
* Acknowledging that the mentoring relationship is temporary
* Marking progress and celebrating achievement
* Improving young people's 'relationship to help'. If they have a positive experience of 'help', they might be more likely to ask for and receive help from others in the future
!!! Ideas:
* Be clear at the start of the programme on the duration and identify an end date
* Have a 'celebration' event or activities at the end of the programme
* Support young people to communicate to each other how they have benefitted from the mentoring programme. Mentors and mentees who are paired up could be supported to write down some things that they have liked or learnt about each other learnt or are grateful for, and present these to each other in the last session. //Link to 'the ingredients of a helping relationship worksheet'//
!!! Post-programme:
The programme is an opportunity to connect your mentors and mentees to your wider service, or to others that might be helpful to them when the programme ends. Putting some thought into whether you want to develop explicit exit strategies for mentors and mentees once they end the programme can be useful.
!! Safety
* Mentors and mentees are clients of the Winch, and not of the Anna Freud Centre's AMBIT Team. We not hold any personal identifiable data relating to the young people on our systems. The Winch hold this data on their Lamplight system. We have access to the Winch's account on the POD database, where young people are identified with a unique username, for the purposes of evaluating the programme. The Winch have appropriate parent/carer consent in place and liaise as needed with any other professionals in their network.
* The AMBIT Team act in a supportive role in relation to the Winch and are not accountable for their practice. If, in the course of our work we identified any safeguarding, risk or safety issues and were not satisfied with the Winch's response we would respond following our own safeguarding procedures, including reporting the issue to our safeguarding oversight group, and keep records of this. If the safeguarding, risk or safety issue related in any way to our own involvement we would automatically report the issue to the SOG.
* All mentors receive training for their mentoring role; this includes a focus on safeguarding and opportunities to work through scenarios that might come up in their role as a mentor
* Peer mentoring sessions are a group-based, adult supported activity. Support from the peer mentoring staff team is available to young people during and after sessions (e.g. through connections they have to the Winch)
* There is a contract for peer mentoring to help both parties understand what the expect and confidentiality, safeguarding arrangements etc that the mentors run through with the mentees.
* All mentors have access to both individual and group supervision with the peer mentoring team. A project journal is used to capture themes etc from this.
!! Care and responsiveness:
* There is a well-connected team of staff who work together to run the Programme. There is regular opportunity to discuss and reflect together
* A steering group helps to direct and influence the work of the programme (includes YP)
* There is a strong learning culture within the peer mentoring programme. This includes embedded use of routine outcome measures, which are used to inform the peer mentoring sessions, as well as to help us understand the impact of the Programme.
* Mentors and mentees can give feedback ongoingly and also as part of the celebration event, through their reflective diaries and in supervision; a space to make sense of how it’s gone; anything they need help with from us that the peer mentoring team would then try to address.
* We learned from first pilot and fed this learning in to future iterations of the Programme (e.g. having some structure to enable/promote help-seeking is a really important aspect of helping the peer mentoring to function optimally, but also is a process that takes time, so we scaffold this more now. We want to help the mentors be responsive to the mentees, as this is really a big part of the work.
* An example of a change we have made on the basis of feedback: strengthened the supervision offer – more support for mentors. The last supervision with mentors includes a focus on their development and helping to have more of an exit strategy for them.
!! EDI considerations
* A focus on equality and diversity is included as part of the mentoring training for mentors; e.g. reflecting on pros and cons of perceived/actual similarities and differences between mentors and mentees.
* We engage a diverse range of mentors/mentees in terms of gender, race, ability, sexuality, family set up, neurodiversity, education etc. Some of the young people who access the programme either as mentors or mentees have identifiable needs of their own.
* Our Steering group includes young people, so there is a strong culture of young people’s perspectives and ideas being central to the ongoing development of the programme.
* The groups of mentors and mentees we have engaged seem also to be representative of young people in the local community, in terms of diversity.
23.3.22
Discussion in our weekly team meeting
Purpose of the discussion:
To agree some questions that we could ask mentors and mentees as part of our process of evaluation at the end of the first group mentoring programme
Do we have shared ideas about what 'evaluation' means?
* It's about 'numbers', 'impact' and 'stories'
* It's an opportunity to find out if the mentoring programme 'worked'
* A way of finding out how the mentors and mentees experienced the programme
* A way for the team to learn about what worked and what didn't
* What we want to report back to our funders and our respective organisations
What are we interested in knowing from/about mentors and mentees?
* What difference did attending the programme make for them? (Did they grow in confidence, self esteem, improve skills, feel happier?)
* Did they like it? Were there things they didn't like?
* Were there things they felt that they learnt?
* Were there things they would want to change?
Next steps:
* Upload outcomes measure data onto POD
* Agree some questions that we can ask mentors and mentees at the 'celebration' event on 6th April
* Videos of mentees at the last two sessions, talking about their experiences
<center> [img width=190 [AF-logo-Black.jpg]] [img width=150 [winch logo.png]] </center>
<center>
<<image-link "Project Plan" "plan.jpg" "Project Plan" "200">><<image-link "Steering Group" "driving.jpg" "Steering Group" "200">><<image-link "Project journal" "journal.jpg" "Project Journal" "200">><<image-link "Research and Resources" "library.jpg" "Research and Resources" "200">></center>
https://www.samaritans.org/how-we-can-help/schools/deal/deal-resources/connecting-others/supporting-friends/
''We needed to think about this, as we have a weekly team meeting and we wanted to make sure that different team members got what they needed from the meeting. ''
We noticed that team meetings could feel stressful, despite the intention being for them to be a space for us to work through any stress!
''Things that create stress: ''
* When there were staff shortages at The Winch, Peer Mentoring staff are pulled into other responsibilities to provide cover. This can create extra pressure.
* Not all of us are on site together, which limits the opportunities for us to be together to support each other and think about the programme
* There are various jobs that need to be done each week to ensure that the programme runs smoothly
''Things we have already done to address stress/share the work: ''
* We rotate who chairs the meeting and who takes notes
* We have an agenda for the meeting
* We use shared spaces to record team thinking - The Winch use their Google Drive and we also have the manual
* We have a Whatsapp group that we use to communicate
''What we agreed to do to improve our team meeting space:
''
* Maintain weekly meetings and protect that time
* Prioritise the plan for that day and any other activities (e.g. the Steering group or trips)
* End with any more reflective tasks (e.g. thinking about how the relationships on the programme developing; or how individual mentors/mentees are doing)
* Agree to perform tasks on a regular basis (e.g. Farzana does the food; Nura does the printing; Daniel leads the session; Rebecca provides any resources). We can vary this if we need to.
''Present:'' Luke, Rebecca, Nura, Farzana
''Topic: ''How we use outcome measures
''Purpose: ''We have to collect outcome data to share with our funders, but are we using that data to learn as a team? We wanted to think together about the data we are collecting, how we have been using this and whether there were opportunities to develop this more.
''What outcome measures are we using? ''
* Warwick Edinburgh mental well-being scale, at the start and the end of the programme, for both mentors and mentees
* Child Outcomes Rating Scale, at the start of each group mentoring session, for both mentors and mentees
''What are we currently doing with this data? ''
* Uploading it to POD. POD will be able to analyse the data, which we will need to complete any evaluation of the programme. This formed part of the bid for funding, so an important part of what we have to report back to our funders.
* Part way through the group mentoring programme, we also changed from doing the weekly CORS at the end, to doing it at the beginning. This was so the mentors might notice the mentee's scores as use this to engage them in conversations, either about things that were going well, or were not going so well. Our reflections on this were that we hadn't quite got the process right, as mentors and mentees were completing it together at the start of the session, but it hadn't felt like this had been a collaborative process that had prompted curiosity/conversation.
''What do we want the outcome measures to help us do? ''
* We want the 'bigger picture' of whether the programme had a positive impact on the mentors and mentees. This is what POD data entry should help with.
* We also want to be able to use the outcomes measures to develop the 'helping relationships, between us and the mentors and between the mentors and the mentees. We are more explicitly helping the mentors to fulfil their roles and feel supported; and the mentors are then helping the mentees.
* We want to notice when a young person scores something on their outcomes measure that might suggest they need help. And we want to demonstrate that we are interested in how they are and how best to provide support.
What could we do differently to support both of the above?
* Change the process for the weekly CORS, so that it better supports 'helping relationships'.
* Mentors are asked to do the CORS with their mentee at the beginning of the session, in a collaborative way. (They will not do their own CORS at this stage, as that might be a distraction.) Mentors express curiosity about how a mentee might have scored their CORS and talk about this.
* Mentors then stay behind at the end of the session and complete their own CORS.
* The team then includes looking through each CORS at the end of session de-brief, so that we notice anything that might need follow-up conversations, with either mentors or mentees.
* We can include this in the next round of mentor training
* We can also explain this more helpfully/explicitly when we start the next cohort of the mentoring group programme.
<iframe src="https://drive.google.com/file/d/1-PujXsGeJkxSXvG_gZ9nIMOjphwNXPwD/preview" width="100%" height="480" allow="autoplay"></iframe>
!!! What kind of young people/mentees is your programme trying to help?
It is helpful to have thought about the kind of young people you want your programme to help. The programme has been designed to support young people who might be starting to struggle with various things that might affect their mood, motivation, behaviour. Struggles with relationships, school, self esteem, identity, confidence, etc. There might also be particular groups of young people that you want to reach, for example those at risk of involvement in crime or youth violence, those impacted by neurodiversity, or those who are disengaged from school. Having an idea of the type of mentees you want to help should influence the way you adapt the programme when you implement it.
* What age group will your programme be aimed at? (e.g.10-14 year olds)
* Is there a particular part of the community, demographic or need that your programme is trying to target or meet? (e.g. young people from a particularly deprived area)
* Is there a particular issue that young people might be struggling with, that you want your programme to respond to? (e.g. struggling with anxiety)
!!! Where might you find them?
Do you have an idea of where your mentees might come from? Are you hoping to work with young people already connected to your service, or are you opening up a referral system for others? Where might you find your mentees?
* Within your organisation - young people already using your service
* Local secondary schools
* Community organisations
* Youth centres
* Local authority early help services
!!! Getting potential mentees interested
Young people sometimes struggle understand their own thoughts, feelings and behaviours. They might not recognise that they could benefit from the help that a peer mentoring programme would offer. They might feel like there is a stigma attached to getting help from a mentor. Or they might be anxious about the programme as something new. It is worth putting thought into how you might communicate about the programme and get them interested and motivated to attend.
''What might make your programme appealing? ''
* Get young people to help you work out what to call the programme and develop the messaging around it
* Communicate it as an empowering opportunity, not something that feels 'shaming'
* Emphasise the possible benefits, in any flyer/poster/communication
* Share positive experiences of other mentees (there are some videos/feedback in this manual that you could use until you have your own testimonies)
!!! Identifying what your mentee might want/need help with:
A key factor in helping mentees is to have some sense of what they might want/need help with at the start of the programme. This could be done via a referral form completed at the start. There is an example here: [[Mentee referral form template.docx]]
''Why is this important?''
# When a mentee starts the programme it might take time for them to feel comfortable and for the relationship between them and their mentor to develop. Having a sense of what they might want or need help with at the beginning of the process enables the mentor to have a starting point from which to work and gives the process a purpose. The mentee's motivation to engage might also fluctuate, especially if they experience some anxiety at the beginning of the programme, or if they are not sure about the purpose or intentions of the programme. Being able to develop a shared sense of what the programme might help with is the starting point for any helping process, but one that can easily get lost, so finding a way to mark this at the start is important. As the mentoring relationship develops, the things that the mentee might want or need help with might become clearer or change, and that is okay - a new task can be marked. The important thing is that the process continues to be purposeful.
# When a mentor embarks on the process of helping, it can be difficult for them to know how to help. Their initial task is to build a relationship with their mentee, to create safety and trust and encourage openness. Mentor/mentee relationships develop at different rates and when it takes a little longer the purpose of the programme as a form of help can get lost. Having a clear starting point can anchor the process.
!!! Preparing your mentees for the programme:
Your mentors will have done their training and got to know each other and the workers in your organisation. Mentees might feel unsure or anxious about the programme at the start, so it is worth putting some effort in to help them feel prepared and comfortable before it starts.
''What might this look like?''
* Talking to them (and parent/carer) about the programme - you might do this on the 'phone or face to face - explaining the purpose and intentions of the programme
* Showing them the space that the mentoring group session might take place in
* Sending them any written info/flyer, with dates and times and the purpose and intentions for the programme
!! Are you ready?
!!! A checklist:
''//Yes, we have considered this://''
* Who is in your peer mentoring team?
* Have you finalised your peer mentoring plan?
* How will you communicate the purpose of the peer mentoring programme to the school community?
* How will you publicise it?
* Do you have designated times and space for peer mentoring sessions?
* How will mentees be referred/self refer?
* Do you have a peer mentoring ‘contract’ that you want to use?
* Aside from the ‘mentee resources’ pack, are there other resources you want to develop to support the process of building a helping relationship?
* How will mentees progress be measured? When will the mentoring relationship end?
* How long will your mentors be in their roles?
* How will mentors be supported individually and as a group?
* How will you monitor and manage safeguarding issues?
* Do you want to measure the impact of the programme on mentors and mentees?
Jim is Youth Work Manager at the Winch
[img width= 100% [header (8).JPG]]
This manual was created by the AMBIT Programme at the [[Anna Freud|http://www.annafreud.org]].
To get in touch with feedback or to discuss training and supervision in the approach, contact us:
''Email: ''[[ambit@annafreud.org|mailto:ambit@annafreud.org]]
''Mail:'' Anna Freud, 4-8 Rodney Street, London N1 9JH
<a href="https://twitter.com/AFCambit">[img width=50 [Twitter.png]] Follow us on twitter</a>
!!The importance of a good team
If you are going to do your best work in supporting the mentors to support the mentees and to learn from your experiences, you need to have good team relationships and a shared understanding and approach to the peer mentoring programme. This requires regular opportunities to connect and think together.
* It is easy to lose focus on the purpose of the programme
* Being able to link the underpinning theories to the delivery - to remember on an ongoing basis WHY you are doing things in a particular way - is necessary
* If the programme team is able to use the framework/underpinning theory themselves, this strengthens the model
* There will be ongoing risks of falling out of balance in terms of action and reflection
* When there are challenges, it is easy for the programme team to get too task focused - 'bums on seats' - and not actively attend to the helping process that they are trying to support
!! Relationships are the foundation for the helping process
Thought and care needs to be taken to develop relationships:
* Within the staff team, including staff members modelling help-seeking
* Between the staff team and the mentors, to create safety and enable mentors to learn and grow
* Between the mentors, so that they can learn together and from one another
* Between mentors and mentees, to facilitate the helping process between each pair
* Between the mentees, to create safety and enable them to participate and share
!! Selection and preparation of mentees
To maximise the success of the 'helping process, mentees need to start the programme with a clear enough understanding of its purpose and some idea about why they have been referred to it and how it might benefit them.
!!Support for mentors
It is not always easy for mentors to establish and build relationships and get to the point of actively helping mentees. Their training is the first stage of the process and they will need ongoing support.
Mentors need to have a sense of what the mentee wants help with, and to be able to help.
Supportive processes:
* Reflective diaries for mentors
* Mentor pre-briefs and de-briefs at the start and end of each session
* 1:1 and group supervision for mentors
!! Maintaining motivation
Mentors need to feel that they are being helpful.
Mentees need to feel that they are getting something helpful.
Finding ways to mark progress is therefore important.
The programme team should review and support the helping process for each pair.
Measuring impact/progress:
* Regular use and review of outcomes/impact measures
* Session by session reflection
* Recording the learning from reflective/supervision processes
!! Flexibility and adaptation
There is a need to adapt each peer mentoring programme to align with the target group (mentors and mentees) and the environment. Ongoing evaluation and adaptation is then necessary to work out whether your programme is making a difference.
Explicit spaces and opportunities to learn together:
* A steering group to have oversight of the programme
* Breaking down each element of the programme to ensure that you understand challenges and successes and can adapt
* Specific meetings to discuss/reflect on the programme, learn together, brainstorm ideas and consider ways to improve
* Recording the learning
!!! Developing the necessary referral pathways/relationships
* This needs an investment of time
* Just sharing written information has not worked - there is a need to build and maintain relationships with referral partners
* Shared understanding about the intentions and purpose of the programme need to be continually held in mind by the programme team and the referral partners
!!! Maintaining an Active Planning stance - programme team
* It is easy to lose focus on the purpose of the programme
* Being able to link the underpinning theories to the delivery - to remember on an ongoing basis WHY we are doing things in a particular way - is necessary
* If the programme team is able to use the framework/underpinning theory themselves, this strengthens the model
* There will be ongoing risks of falling out of balance in terms of action and reflection
* When there are challenges, it is easy for the programme team to get too task focused - 'bums on seats' - and not actively attend to the helping process that we are trying to support
!!! Maintaining an Active Planning Stance - mentor/mentee
* Mentors need to remember the process that we trained them in - build the relationship first, then do the more explicit 'helping'
* Mentors need to have a sense of what the mentee wants help with, and to be able to help. We have developed some tools around this, but could there be other ways to keep it in mind? Perhaps a pre-meeting with the mentors before a mentoring session begins
* Mentors might benefit from a pre-programme conversation about who they are matched with, and what the referrer has identified as areas of challenge
* Mentees need to feel that they are getting something helpful. Is there a better way to 'mark' any progress that mentees make during the programme?
* The programme team should review and support the helping process for each pair. We introduced a Reflective Diary for each session, but it's not been consistently used. We have groups and 1:1 supervision - is this focused enough? How do we help the mentors work out if they are being helpful?
!!!The importance of a good team
The peer mentoring team has been through its own journey with the first cohort. It became clear that if we were going to do our best work in supporting the mentors to support the mentees and to learn from our experiences, we needed to have good relationships ourselves and a shared understanding and approach to the peer mentoring programme. This led to us scheduling regular team meetings and team learning space.
!!! Agility and flexibility in programme delivery
Building the necessary relationships to enable help-seeking felt more challenging when we had mentor/mentee absences that impacted on these pairings. There were some weeks where a mentor worked with two mentees, due to other mentors being absent. The majority of our mentors from Cohort 1 were in Year 11 and had GCSE commitments that impacted on their availability. Although the expectations around commitment were made clear at the beginning, some of the mentors were unable to complete a second round of mentoring due to exams and other foreseen and unforeseen circumstances.
These learning points have influenced recruitment of some new mentors for Cohort 2.
!!! Selection and preparation process for mentees is important.
Recognising the need for mentees to start the programme with a clear enough understanding of the purpose of the peer mentoring programme, and for there to have been an initial sense of an identified need has influenced the approach to selecting mentees for the second cohort. A proportion of them have been identified through outreach in local school communities. A mentee referral form has also been developed to support this process. An introductory or ‘taster’ session has also been added to the second cohort of the programme.
This proved valuable in developing shared understanding about the commitment to and purpose of the programme, as well as an opportunity to gauge motivation and start to match mentors with mentees.
Some mentees from Cohort 1 also expressed an interest in taking part in the second Cohort. The steering group are considering this dilemma, as it has the potential to impact on the capacity to support new mentees.
Finding a balance between allowing mentors to work independently with mentees and having some structure to support conversations around help-seeking
Supporting mentees to open up about challenges/difficulties is not straight forward. Some mentors felt more able to be curious and lead conversations than others. Some mentees were more able to articulate difficulties than others. The issue highlighted previously about the selection of mentees and the extent to which they had a clearly identified need when they started the programme was a complicating factor in this. We developed some content and tools for sessions as a way of supporting and enabling conversations between mentors and mentees around help-seeking, which will continue to form part of the programme going forward. We also factored in more time for relationship
building at the start of the programme in Cohort 2, before attempting to identify specific mentee needs that mentors might help with.
!!! Developing a clear procedure for post programme follow up
Having delivered the first Cohort, it felt like some of the mentors and mentees might benefit from ongoing support. We want to develop a method for considering this towards the end of each Cohort and an associated plan for both mentors and mentees.
!!! Need to record the experiences and outcomes for the steering group alongside mentors and mentees
We want to understand more closely what the steering group want to get out of the experience, how we can support their development, and how we’re recording the benefits of the programme for them.
!!! Challenges & Opportunities
* Breaking down each element of the programme to ensure that we understood challenges and successes and were able to adapt.
* We created planning days throughout the programme for staff on the project. This space has been essential to discuss learning, brainstorm ideas from the steering group and consider as a team ways to improve the programme. Use of a wiki manual to record the team’s learning has also been very helpful.
* Developing a clear method for recruitment of mentors and selecting mentees. This is still a work in progress. The goal is for the programme to be visible and accessible to young people and young adults in the local community.
* The breadth of the challenge in publicising the programme both within and outside of The Winch has become more obvious as we’ve gone along. Developing a clearer strategy for this in the second Cohort has been helpful.
* Using the Steering Group to keep a focus and improve the programme. The Steering Group has proven to be a hugely helpful and vital resource - we are also currently refreshing our Steering Group, as more young people are interested in being part of steering the programme with their views.
Liz is Joint Programme Lead for AMBIT at the Anna Freud National Centre for Children and Families
|logicTable|k
| {{1 white square.svg}} | {{2 white square.svg}} | {{3 white square.svg}} | {{4 white square.svg}} |
| Target | Intervention | Change Mechanism | Outcome |
|^ Who is the intervention for? |^ What is the intervention? |^ How and why does your intervention work? |^ What difference will it make? |
|^{{Target||logic-model-edit}}|^{{Intervention||logic-model-edit}}|^{{Change Mechanisms||logic-model-edit}}|^{{Outcomes||logic-model-edit}}|
|moderators|k
|{{5 white square.svg}}|Moderators|
|~|^What factors will influence the change process?|
|~|^{{Moderators||logic-model-edit}}|
<html><style>
.logicTable tr td:nth-child(1){
width:25%; height:500; background-color: #ed3d2e; border: 0px;
}
.logicTable tr td:nth-child(2){
width:25%; background-color: #ed7700;
}
.logicTable tr td:nth-child(3){
width:25%; background-color: #0095aa;
}
.logicTable tr td:nth-child(4){
width:25%; background-color: #00957a;
}
.logicTable {width: 100%; border: 0px;}
.logicTable tr:nth-child(4){height: 250px; }
.logicTable tr:nth-child(1){height: 50px; }
.logicTable tr:nth-child(2){font-size: 20px; font-weight: bold; color: white; }
.logicTable tr:nth-child(3){ color: white; height: 60px; }
.logicTable td{border: 0px;}
.moderators {width: 100%; background-color: gray;}
.moderators td{border: 0px;}
.moderators tr:nth-child(1) {color: white; font-weight: bold; font-size: 20px; height: 40px;}
.moderators tr:nth-child(2){color: white; height: 40px;}
</style></html>
|logicTable|k
| {{1 white square.svg}} | {{2 white square.svg}} | {{3 white square.svg}} | {{4 white square.svg}} |
| Target | Intervention | Change Mechanism | Outcome |
|^ Who is the intervention for? |^ What is the intervention? |^ How and why does your intervention work? |^ What difference will it make? How will you measure it? |
|^{{peerTarget||logic-model-edit}}|^{{peerIntervention||logic-model-edit}}|^{{peerChange Mechanisms||logic-model-edit}}|^{{peerOutcomes||logic-model-edit}}|
|moderators|k
|{{5 white square.svg}}|Moderators|
|~|^What factors will influence the change process?|
|~|^{{peerModerators||logic-model-edit}}|
<html><style>
.logicTable tr td:nth-child(1){
width:25%; height:500; background-color: #ed3d2e; border: 0px;
}
.logicTable tr td:nth-child(2){
width:25%; background-color: #ed7700;
}
.logicTable tr td:nth-child(3){
width:25%; background-color: #0095aa;
}
.logicTable tr td:nth-child(4){
width:25%; background-color: #00957a;
}
.logicTable {width: 100%; border: 0px;}
.logicTable tr:nth-child(4){height: 250px; }
.logicTable tr:nth-child(1){height: 50px; }
.logicTable tr:nth-child(2){font-size: 20px; font-weight: bold; color: white; }
.logicTable tr:nth-child(3){ color: white; height: 60px; }
.logicTable td{border: 0px;}
.moderators {width: 100%; background-color: gray;}
.moderators td{border: 0px;}
.moderators tr:nth-child(1) {color: white; font-weight: bold; font-size: 20px; height: 40px;}
.moderators tr:nth-child(2){color: white; height: 40px;}
</style></html>
textarea.long {
width: 100%;
}
button.logic {
font-size: 14px; border-radius: 1.5em; border: 1px solid #ccc; background: #ffffff; padding: .3em 1em; cursor: pointer; transition: box-shadow ease-in .1s; color: #283c46;
}
Youth Worker at the Winch
IN DRAFT
!!Why measure outcomes?
There are several good reasons to measure the impact of your peer mentoring programme:
''1. Find out if, and how, your programme is benefiting young people''
It's important to measure how your peer mentoring programme is benefiting both mentees and mentors. Some peer mentoring projects have found that mentors are more likely to benefit that young people (see [[HeadStart report|EPBU report - Learning from HeadStart (2020)]], for example)
''2. Enable mentees and mentors to see if things are improving''
If you can get into using measures regularly, young people will be able to see if things are improving as they progress through the programme. It can be powerful to reflect on progress made at various points in the programme, and particularly at the end. It can help with conversations about any other support that young people might benefit from.
For mentors in particular, it can be gratifying to get an overall sense of whether their efforts have been helpful.
''3. Have data that you can //learn from// in order to continually improve your peer mentoring offer''
This manual describes a method for running a group peer mentoring programme that our own evaluation has suggested is beneficial for mentors and mentees, but we have only so far tested it in one youth setting. For this reason, we encourage you to reflect on what is working well and what could be adapted to improve effectiveness in your setting. To do this you will
''4. Report back to funders on the impact of your work''
!!What should you measure?
!!Will using measures get in the way of our relationship with young people?
!!How to measure outcomes?
<iframe src="https://drive.google.com/file/d/1-GJbHs0pOSqKz4aWQl39UsnxLmcyC3Qv/preview" width="100%" height="480" allow="autoplay"></iframe>
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
!!! This structure and associated questions were used to frame the 1:1 individual supervision sessions with mentors. (Developed by Nura)
'' Reflective Practice ''
* How is the Peer Mentoring Programme going for you?
* What conversations have you been having with your mentee?
* What was previously going well and now?
* What support could you of had or would like to see in the future?
''Personal well being ''
* How is your health going?
* How is your mental health going?
* Is there any support you would like from us?
''What next''
* What are your short term plans (6 months)?
* What are your long term plans (12months+)?
* What are you going to be doing? Any plans and anything specific?
* Is there any support that you would like from us?
''Further training or development needs''
* Are there areas for future development that you can identify?
* Is there anything that we can support you with?
!!! These questions were used to help reflect with mentors who were ending a cohort of mentoring and potentially ending their time as a mentor, to celebrate and mark their contribution and identify any ongoing needs.
''Reflective practice: ''
* Describe your experience as a mentor, positives and negatives
* What were your 'sparkling moments?'
* What could we improve on? If there was anything you would change, what would it be?
''Personal well-being''
* How has the mentoring programme impacted your emotional wellbeing or mental health?
* If you feel that you might want further support with this, what might help you?
''Next steps/development needs''
* Would you like to continue in your role as mentor?
* What have you gained from this experience and how might it help you in the future?
* Is there anything more than we can do to support you?
!!! Aims of session 1:
* Introduction to the programme, delivery methods and team
* Explore and understand the role of a mentor
* Understand the purpose of the mentor training programme
Introduce yourselves as trainers. At the start students have reported feeling anxious – not knowing what to expect and worrying that it will be ‘formal’. Some effort to create safety by sharing a bit about yourselves has been helpful to address this. It is also helpful to get students to introduce themselves, by going around the room and asking them to say their name and/or what they’d like to be called. Feel free to include other questions or ‘ice breakers’.
Check that students have their workbooks, as the key ideas and activities with instructions are in it as a reference point. There is also space for them to make notes and complete individual tasks.
!!! By the end of the session you want mentors to have:
* Begun to have built positive relationships with the trainers and each other
* A good understanding of the purpose of the mentoring programme and their role as a mentor
* A good understanding of safeguarding and what to do if they feel worried about anything a mentee shares with them
!!! Aims for session 2:
* The importance of building a positive relationship
* Being mindful that the mentoring relationship will come to an end
This session focusses in on the relationship. Without a trusted relationship, the mentor is unlikely to be able to ‘help’ a mentee.
It is worth holding in mind that trust develops between people at different paces. Sometimes it happens quite quickly and other times it Take takes a while.
As a trainer, throughout the process you are making lots of effort to build relationships with the mentors, and are modelling what this might look like. Show interest in them and their opinions. Try to understand and value their different perspectives. That is what we want them to be able to do with their mentees.
There’s a video here of Peter Fonagy talking about epistemic trust, which is a special kind of trust that, once established, ‘opens the door’ to learning: https://www.youtube.com/watch?v=wLaqdY4SLew
If I have ‘epistemic’ trust in you, I am more likely to pay attention to and learn from you. Whilst we are not talking specifically about epistemic trust, we are encouraging the mentors to recognise that unless they can establish a good enough relationship with their mentee, it will be hard for them to have a positive impact on the mentee.
The route to establishing a trusted relationship is lots of effort to understand (mentalize) the other person. We do this through a process of encouraging them to share their thoughts and feelings, guessing what it might be like to be them, and validating their feelings and experience.
When we have worked to establish a trusted relationship (particularly with others who might find it hard to trust), we need to be mindful of how it feels for that to end. We want to leave them feeling positive and open to having other ‘helping’ relationships.
!!! By the end of the session you want students to have:
* A good sense of why it is important to focus on the relationship before trying to ‘help’ the mentee
* An understanding of the skills they might need to develop a trusted relationship (active listening, communication, empathy)
* Recognition that ‘endings’ are an important part of the process/relationship
!!! Aims for session 3:
* Recognising emotions
* The impact of emotions on thinking
* The link between thoughts, feelings and behaviour
* Supporting the mentee to think clearly
* Enabling change
This session is more psychologically focused. The goal is to help students understand how our brains work, and specifically the link between emotions and thinking. In a nutshell, when emotions are high, our capacity to think is impacted. The goal in the mentoring sessions is to provide space for mentees to recognise and work through emotions, so that they can think through anything that feels challenging and come up with their own solutions.
There is a video that helps explain basic brain physiology here: https://www.youtube.com/watch?v=6ROhDCFaUw4
In this session, we get the students to practice ‘Thinking Together’.
There are two videos, which you could watch if you want a bit more (although they have been made for adult workers/helpers and are not specific to the mentoring programme!).
This one is a dilemma that doesn’t use the structure of ‘Thinking Together’: https://www.youtube.com/watch?v=dhVwRaNGmtk&t=9s
This is the same dilemma, using the structure of ‘Thinking Together’: https://www.youtube.com/watch?v=iUaWgJ2ibiE
Our brains are also limited in terms of the amount of information they can process, so our brain will filter according to what we focus on. There is a nice video that demonstrates this here: https://www.youtube.com/watch?v=QCnfAzAIhVw
!!! By the end of the session you want mentors to have:
* Understood who our brains work and the link between emotions and thinking
* Recognised that their role as a mentor is to create space for the mentee to be curious about how they are feeling and what they are thinking, as a means to supporting them to find their own solutions and generally feel able to move forward
* Practised some skills to achieve the above
* Reflected on their journey on the training and the extent to which they feel ready to start supporting a mentee
To end, you might want to celebrate and share your positive reflections about training them. You might want to explain what will happen now, in terms of implementing your mentoring programme. That should include thinking about what else the mentors might need in order to feel able to start mentoring.
<iframe src="https://drive.google.com/file/d/1-2famyzvoVkTsHb2E_FgLD5PDfGSft_0/preview" width="100%" height="480" allow="autoplay"></iframe>
!!! What do we mean by 'modelling help-seeking'?
Making explicit the principles and behaviours that create the necessary safety and containment for help to be given and received in ways that affect change.
!!! Who is the programme helping?
# A team of staff to implement the programme and support mentors
# A team of mentors to support mentees
# A group of mentees
All three groups of people should be 'held' by the same set of principles that relate to a 'helping process'.
!!! The peer mentoring programme as a 'helping process'
The purpose of the peer mentoring programme is to create the conditions for young people to be open to getting help from older peers.
The programme has been developed as a 'helping process', with clear underpinning structure and theory. //''This is because we know that: ''//
* BOTH giving and receiving help can feel/be difficult
* A clear practice framework for everyone involved in delivering the programme will support the process
!!! What might get in the way of workers (or mentors) being able to help?
* ''//Feeling nervous about 'opening a can of worms'. //''When we get a sense that a young person is becoming more open about difficult topics, it can feel tricky to know what to do. We might worry about the best thing to say, or the right thing to do. We might have had previous experiences of trying to hold the balance of being supportive and managing a safeguarding issue. It might feel easier to steer away from the delicate issue, rather than explore it more. We might also question whether we are the right person to provide help, especially around an issue that feels 'outside of our role'.
* ''//Feeling as though we should know what to do!//'' We are in the position of worker, so it can feel hard to acknowledge our own vulnerability when it comes to helping young people. We might not have a clear idea of what help is needed or what help we might be able to provide.
* ''//Feeling as though we need to manage these dilemmas on our own, as they are 'just part of the job'.//'' We have different feelings and responses to things that we feel unsure or unclear about in the context of our work. The extent to which we might share these dilemmas with others in our team will vary depending on how we feel and the relationships we have with our teammates. The risk here is that we end end up trying to manage the situation on our own, which can impact on us and our ability to be fully present for the young people we are trying to support.
!!! What might get in the way of young people being open to help?
We know that young people can find it hard to recognise and/or express the need for help when they are struggling with things. The main reasons for not seeking help are those related to embarrassment, lack of knowledge and negative perceptions of help-seeking.
* More about this here: [[Young people and help-seeking]]
* And here: [[Theory of help-seeking video]]
!!! How 'modelling help-seeking' fits into this:
There are good reasons why workers and young people might struggle to recognise and express the need for help. Therefore, to strengthen the process of providing 'help' through the peer mentoring programme, the principles and behaviours that support help-seeking need to be explicit.
Being explicit and thereby 'modelling help-seeking' might look like:
* Workers showing their own vulnerability - being leaders, but not experts. Showing that they don't know everything (none of us do!). Showing that they struggle with things themselves and need help
* Workers actively seeking help from each other in two ways:
** establishing helping processes in their team (using Thinking Together)
** seeking help from each other, or even from programme participants, in front of mentors and mentees
A team that feels 'well-connected' is the basis for the above and is explained in more detail here: [[Developing and sustaining a well-connected peer mentoring team]]
More than Mentors is a peer mentoring programme delivered in secondary schools.
!!Reports
[[More than Mentors: a review of year 1 intervention delivery (2018)]]
[[EPBU report - Learning from HeadStart (2020)]]
<iframe src="https://drive.google.com/file/d/1JaOfe18CgNOvFEkG06V96C-RKWNJWmLl/preview" width="100%" height="480" allow="autoplay"></iframe>
2010 web-based toolkit from Western Australian Centre for Health Promotion Research: http://mypeer.org.au/
The toolkit covers planning, implementation and evaluation of peer based youth programmes
<iframe src="https://drive.google.com/file/d/1-SVzeY-Q5NayswBLfMtFGbu7cc8oOSVw/preview" width="100%" height="480" allow="autoplay"></iframe>
<iframe src="https://drive.google.com/file/d/1-Qp3SFfxIHLOtII4i7XE5HxeYyJLjuhm/preview" width="100%" height="480" allow="autoplay"></iframe>
<$button>Tag with xxx
<$list filter='[list[$:/StoryList]]'>
<$fieldmangler tiddler=<<currentTiddler>>>
<$action-sendmessage $message='tm-add-tag' $param="research and resources" />
</$fieldmangler>
</$list>
</$button>
<<tag-navigation tag:"c1">>
Nura is a Youth Worker at the Winch
The Winch and AMBIT Peer Support Programme is funded by the [[Berkeley Foundation|https://www.berkeleyfoundation.org.uk/]]
{{Berkeley Foundation Logo.png}}
See also: [[Programme development areas]]
* Team roles, responsibilities, strengths and challenges [[Team members' roles, responsibilities, strengths]] and [[Process maps for: Steering group; Delivery team; Identifying and preparing mentors and mentees]] and [[Process maps for: Delivery of mentoring group programme; and monitoring & evaluation]]
* How we use outcomes measures [[How we use outcome measures]]
* How we recruit mentors [[Recruiting mentors]]
* How we recruit mentees [[Recruiting mentees]]
* Tools that enable help-seeking
* How we do our team meetings [[How we do our team meetings]]
* How we do 1:1 and group supervision for mentors [[Mentor 1:1 supervision questions/agenda]] and [[Supporting mentors through the group mentoring programme]]
* Session plans with explanations of activities, their purpose and the process (the why and how)
* Timeline for year 2 [[Timeline for year 2 of the peer mentoring programme]]
* Worker roles in the sessions [[Worker roles in the mentor training and peer mentoring sessions]]
* Review of team roles/responsibilities/team development
* How we reflect on mentee and mentor progress/relationships
* [[The importance of clarity of purpose]]
We are using three measures:
#Child Outcome Rating Scale (CORS)
#Short Warwick-Edinburgh Mental Wellbeing Scale (SWEMWS)
#Mentor Training Pre- and Post-Questionnaire (MTQ)
!!Outcomes for Mentors
!!!Pre-training
*MTQ in first session of mentor training
!!!Post-training
*MTQ at end of training
!!!First and final session of 12-week programme
*SWEMWS
!!!Weekly during 12-week programme
*CORS
!!Outcomes for mentees
!!!First and final session of 12-week programme
*SWEMWS
!!!Weekly during 12-week programme
*CORS
This report reviews evidence from 1000 studies, and includes within its scope peer support interventions of various kinds delivered to a range of age groups
<iframe src="https://drive.google.com/file/d/1-YWP8oMNfEPxj1chqNIeYzuvEHrSHh0U/preview" width="100%" height="480" allow="autoplay"></iframe>
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
!! Pre-programme preparation of mentors and mentees
It is important that mentors and mentees are prepared for the programme. Having a clear sense of what the programme is and how it is intended to work is the first stage of developing the 'helping process'. Knowing what to expect can reduce anxiety and provide clarity.
!!!Suggested process:
# Mentors complete their training
# Mentee referral form is completed by referrer, with potential areas of help identified
# Peer mentoring team member telephones mentee/parent ahead of the first group mentoring session to check their motivation for and understanding of the programme and cross-reference the reasons for referral - referral form updated with any amended/new goals from the mentee/parent
# Intro session takes place with all mentors and mentees
!!!Matching mentors with mentees:
5 .Following the first session of the programme, the Intro session, staff from the peer mentoring team meet to discuss and identify mentor/mentee pairs in time for session 2 of the programme. Matches are based on referral forms, Intro session and knowledge of the young people. The goal is to try to match mentees with mentors that they are most likely to be able to build a relationship with and be helped by.
!!!Sharing mentee information with mentors
One of the challenges that mentors can have is being able to move into the 'helping' stage of the programme with their mentee. Having some ideas about what mentees might need help with at the start of the process can provide a focus for the conversations. The focus might change as the mentoring relationship develops, and should be guided by what the mentee is open to, but having some ideas at the start can ease the process.
You will need to decide what mentee information you share with the mentor, and how. You could show them the referral form, or have a conversation with them as part of preparing them for the programme, once they've been matched with a mentee.
!!! Preparing mentees
Mentees might feel anxious about starting the programme and working with a mentor with whom they have yet to build a relationship. The mentees might have different ideas and beliefs about needing or receiving 'help'. It is important to make time to speak to them (and their parent/carer) ahead of the programme to explain the purpose of the programme, let them know what to expect and check out what the referrer has identified as areas that they might need help with.
!! Implementing a peer mentoring programme requires some investment in time and staffing.
Implementation science tells us that embedding new ways of working into the practice of an organisation is not easy. There are several things that the research around this tell us are helpful:
!!! 1) An implementation team
It might be helpful to have designated Peer Support Lead who is part of the implementation team. They would have some responsibility for coordinating things and any liaison with the Anna Freud Centre.
The implementation team might then serve two distinct purposes: making decisions and developing processes that feel realistic, including considering evaluation and sustainability; providing support to mentors to ensure that they are managing well and to address any safeguarding concerns that might arise.
Sharing these roles and responsibilities, rather than being reliant on one very busy individual is vital, as the staff who take a lead on this work will effectively be modelling the expectations that they are asking of their peer mentors. The key qualities expected of an effective peer mentor of reliability, loyalty, honesty and empathy also need to be demonstrated by the staff leading the programme within their setting. Senior leadership support and ‘buy in’ will enable your programme to be as successful as possible.
!!! 2) An implementation plan
The plan is the finer detail of the Peer Mentoring Programme. This might include:
* How to recruit mentors. Will mentors have to apply for the position? Will they have the capacity to deliver mentoring sessions over a period of time? What kind of commitment might you expect from them in terms of hours per week and length of time as a mentor? Do you want to incentivise their involvement/commitment?
* How to identify and choose potential mentees. What kinds of issues might they be experiencing for peer mentoring to feel like a good ‘fit’? How will they be selected? If they are identified as needing mentoring, how will that be communicated to them in a way that supports engagement?
* How often mentoring sessions take place (e.g. once a week); how long each mentoring session will be (e.g. 60 minutes); at what time in the day or evening will they take place; and any location/room
* How many sessions of mentoring you want to offer
* How mentee’s progress will be reviewed
* How the mentors will be supported
* How the team might want to capture the learning from the mentoring programme (e.g. evaluation, noticing themes, understanding successes)
* How the peer mentoring programme might fit into any wider organisational strategy around mental health and well-being
''//Checking your implementation plan against the five key principles://''
1) Work from where the young people are at; be creative in how you engage young people.
* Be creative in how you engage young people. They should be involved at various stages using creative methods and resources to make sure they engage to the fullest extent possible. Any resources or activities also need to be at the appropriate developmental level.
2) Involve the right people; think carefully about mentor and mentee recruitment
* Mentors need to have the motivation and capacity to commit to the mentoring programme. You might need to think about where they are at in their own journey and identify potential benefits for them in becoming peer mentors. Are there opportunities to incentivise the opportunity of becoming a peer mentor? Is there a way to explicitly recognise and or reward the responsibility they would be taking on? Young people often look to a peer mentor as someone who might be able to relate to their current situation, so you may wish to recruit those that could be regarded as ‘experts by experience’ as well as other highly engaged students.
* Mentees also need to be motivated and see the value in engaging. Is there a way to communicate the benefits of peer mentoring in an empowering way?
* There may be a role for different young people in different stages, for example, co-developing the programme/being part of a Steering Group as opposed to being a mentor.
3) Focus on the relationships; build trust to create space for change
* Each mentor/mentee relationship will be different and will develop at different paces. Until an element of trust develops, any positive change is unlikely to occur. Are there things that might support the initial stages of the mentoring process? It might be that less formal, more fun activities for mentors and mentees might be helpful at this stage.
* Considerable emphasis should be placed on supporting the peer mentors to initiate and build relationships with their mentees.
* Similarly, as programme facilitators, it is important for staff to build relationships with mentors for effective supervision.
4) Encourage young people’s ownership
* Consultations with young people about peer support frequently endorse the stance, ‘Nothing about us without us’. It is essential that young people are involved from the start in the development of any peer support programme and at all stages. This will help to ensure that your programme is able to effectively engage the young people it is trying to reach and provide them with a sense of agency or ownership to bring about change. What a programme is called, how it is promoted, when it is delivered and where it is provided are all key matters to be explored and discussed.
5) Be safe and boundaried; ensure that mentors are adequately supervised
* Peer mentors need thorough training and ongoing support through supervision to ensure that they do not feel overburdened or overwhelmed by the responsibility. Mentors will be in a ‘helping’ role and they should feel supported and not isolated in the process.
* As well as having clear processes for reporting any concerns that come up in the context of the mentoring process, mentors will benefit from having opportunities to learn from each other in terms of what works and what feels challenging with their mentees.
* Individual and/or group supervision should be considered as an essential part of your mentoring programme.
!!! Supervision for mentors:
Supervision should be in place from the beginning of the programme and throughout delivery.
Supervision provides an opportunity for the peer mentors to explore themes and issues that arise in the mentoring sessions, and to review how the programme is progressing. Supervision is critical for everyone involved and programme facilitators should ensure supervision takes place.
There can be times when the peer mentor is supporting someone and it can feel very difficult to know what to do, or in what direction to take something. There can be other times when they just feel stuck and unsure what to do next. Supervision is the place where the peer mentors can raise any concerns they have, thinking with others about what might help.
When peer mentors speak with their mentees their own feelings and thoughts can influence how they respond or react to what is being said. Sometimes this can be very helpful as they are using their own experiences to help guide the support being offered. But there are times when this might be unhelpful, and their feelings and views can get in the way. Supervision can support the peer mentors to consider this.
Being a peer mentor is about learning. It is important that you encourage peer mentors to put aside some time to take notice of how they are feeling. The peer mentors should be encouraged to ask themselves:
* What am I learning about myself by being a peer mentor?
* What am I learning about the role of peer support in general?
This is about encouraging the peer mentors to be curious about how the programme is affecting them just as they should be curious about how the programme is affecting their mentees. It can be helpful to encourage the peer mentors to write their thoughts down.
Supervision provides a safe place where the peer mentors can raise anything that they are worried or concerned about particularly regarding the safety and wellbeing of the young people they are supporting. Supervision ensures that the peer mentors feel protected in their role and enables you as the programme facilitator to ensure that their practice is safe. It is also important to remember that supervision is a place for recognising and appreciating what is going well and for recognition and appreciation for the young people’s role in the programme.
Supervision may take different formats, the two main types being 1:1 supervision or group supervision. Even with group supervision, it is important to ensure that the peer mentors know that they can talk with a supervisor on their own, as it could be difficult for them to raise a particular topic in a group. The supervision, whether 1:1 or group, needs to provide the opportunity for reflection, learning and guidance.
---
''In this section:''
<<list-links "[tag[preparing]]">>
-----
''Skip to next section:''
<<image-link "Preparing for training / style of delivery" "driving.jpg" "Training your mentors" "200">><<image-link "Implementing your peer mentoring programme - a checklist" "journal.jpg" "Implementing your peer mentoring programme" "200">>
!! Training with a mentalizing stance
The training uses a relational approach, both in delivery and in the mentoring programme itself. As trainers you are ‘modelling the model’.
Training should always be delivered in pairs. There is a lot to hold in mind during the session in terms of getting through the content and monitoring/supporting the learning of each mentor, so two minds are better than one!
It is helpful to meet prior to delivery to go through the sessions and plan who will lead each section/activity and who will support. When fulfilling a supporting role, your job is to monitor the level of engagement, respond to any questions, as well as elaborating on or giving examples to support what the person in the lead role is presenting.
Through the training you should encourage the mentors to be curious and recognise that they can’t read minds, so lots of checking and cross-fertilisation between the two trainers is a way of modelling this.
Trainers should focus on building rapport and trust with mentors through the relationship to create and support a learning process. This is also modelling the approach that you want them to take with their mentees.
The training has been designed to be delivered through a very interactive (mentalizing) stance. Do lots of checking in and invite reflections and feedback as often as you can. This will help check and develop levels of understanding. It is also the stance that we want the mentors to take in their mentoring sessions, so again – a way of modelling the model.
You can read more on this here: [[General features of a "Mentalizing Stance"]]
And here is a video that further explains mentalizing:
https://youtu.be/sq61A5wGC8o
---
''In this section:''
<<list-links "[tag[Mentor training]]">>
[[Mentor training session 1]]
[[Mentor training session 2]]
[[Mentor training session 3]]
-----
Things we would want to improve
* The process for getting mentees onto the Programme – relies a lot on the Winch at the moment, but could be broaden it to ensure that we can reach others in the local community e.g. to become more embedded in local system of help (e.g. schools; early help etc). This would help to increase sustainability of the approach beyond our involvement in the Programme and increase its reach
* Improve the contracting process for mentees – to help promote their understanding from the beginning
* How we can increase learning between old and new mentors.
* Increasing sustainability – next time the Winch staff will deliver it, with our support so that they can continue to offer this without our direct involvement in the future
* Refine the manual to think about how you can disseminate this so that other areas can implement
The Winch and AMBIT Peer Support Programme is a partnership between [[the Winch|https://thewinch.org/]] and the [[Anna Freud National Centre for Children and Families|https://www.annafreud.org/]]. The plan is to develop a peer support programme to run from the Winch, in collaboration with local young people.
!!AIMs of the project
!!1.
Through a successful peer-mentoring programme, this project aims to increase the psychological resilience of highly disadvantaged young people vulnerable to mental health problems and adverse outcomes, particularly with respect to gang involvement, poor educational outcomes and worklessness.
!!2.
To develop the capacity of an established community resource to deliver high quality evidence informed mental health support for young people.
!!3
To create a freely available community resource that would enable other groups to set up their own peer support systems.
!!4
To establish guidance on how to continue providing support for peer relationships beyond the group programme.
See also [[Project Aims]]
<div style="background-color:black; color:white">
<h1>YEAR 1</h1>
</div>
<div style="background-color:#eb7837; color:white ">
<h2>PRELIMINARY WORK
<br>June 2021</h2>
</div>
*Recruit and allocate staff to the project
*Preliminary planning meetings
<div style="background-color:#eb7837; color:white ">
<h2>STAGE 1: Set-up
<br>
July 2021 - September 2021</h2>
</div>
* Establish a [[Steering Group]]
* Identify objectives for the Winch and generate training and development plan
* Decide upon a single measure of wellbeing to evaluate outcomes for mentors and mentees
* Preliminary work on recruiting mentors (ages 14-24)
* Co-design of the peer mentorship model (drawing on [[More than Mentors]] approach and learning from our [[States of Mind|States of Mind peer mentoring project]] and [[Schools Support Service Peer Support]] projects
* Creation of an online manual (you're looking at it now!)
* Train 2 facilitators to deliver the peer support programme (one from Winch, one from AFC)
<div style="background-color:#eb7837; color:white">
<h2>STAGE 2: Training the mentors<br>October 2021 - November 2021</h2>
</div>
*Delivery of mentor training to 10-15 mentors, at the Winch
<div style="background-color:#eb7837; color:white ">
<h2>STAGE 3: Delivering the peer support group programme<br>December 2021 - May 2022</h2>
</div>
*Recruit group of 10-15 mentors (ages 12-16) to take part in two 12 week peer support group programmes
*Ongoing support will be offered to the mentors after the programmes end
<div style="background-color:black; color:white">
<h1>YEAR 2</h1>
</div>
<div style="background-color:#eb7837; color:white ">
<h2>STAGE 4: Modification and continuation of peer mentoring group programme<br>June 2022 - March 2023</h2>
</div>
* Recruit 10-15 more mentors and train them in the peer support programme (with the help of year 1 mentors)
* Delivery of a further 2 12 week programmes for 10-15 mentees each
<div style="background-color:#eb7837; color:white ">
<h2>STAGE 5: Dissemination <br> April 2023 - May 2023</h2>
</div>
* Have a supervisory system in place to support peer mentors after the project has ended
* Evaluate the programme and re-design online guide, ready for dissemination
* Make a video summarising key learning and insight from the project
photos and brief bios of core team to follow
{{$:/core/ui/Buttons/new-journalliz}}
This is a space to record key events, learning and reflections. Journal entries will automatically be listed below:
<<list-links "[tag[Journal]sort[created]]">>
Rebecca is a Lead AMBIT Trainer at the Anna Freud National Centre for Children and Families
''Present: ''Luke, Rebecca, Nura, Farzana
''Topic:'' Recruiting new mentors
''Purpose: ''
* We need to recruit new mentors for this next cohort of the mentoring programme. Some of our existing mentors will continue in their roles, but some do not want to. We also recognise the value of having some old and some new mentors, as the 'old' ones will be in a good position to support the new ones. We were aiming for 5 old and 5 new.
* We will also need to recruit new mentors for cohorts 3 and 4, so there is value in thinking about this ahead of time.
''Who we are targeting: ''
* 16-24 year olds from the local community
* With relevant experience, skill, motivation
''Where might we find them? ''
* Local schools and colleges
* Youth centres
* Job Centre
* Leaving Care team
''How might we get information to them? ''
* Using relationships we have with schools/colleges
* Emailing our contacts in schools
* Sending flyers to schools
* School assemblies
* Outreach after school (handing out flyers)
* Posting on social media
* Asking our current cohort of mentors to help/if they know others that might be interested
* Create a QR code, which goes onto the flyer, which takes people to our sign up form
''How do we make the opportunity appealing? ''
* Design a simple application form. This might help us make the role look appealing/official. It would also give us more information about potential candidates.
* Emphasise the possible benefits, in any flyer/poster/communication.
* Capture and share positive experiences of our current cohort of mentors (videos/feedback)
''Action: ''
* Luke to complete after-school outreach today (30.3.22), particularly to try to recruit some more male mentors
* Mark dates in our diary of when we need to start a recruitment drive for the cohorts 3 & 4
!! Things to consider:
!!! Who are you hoping to recruit?
* 16-24 year olds from the local community
* With relevant interest, motivation
* Who are available and able to commit to the programme
* With any particular/specific experience to fit with the mentees?
!!! Potential barriers:
* Young people in Year 11 have exam commitments, which might effect their availability
* Young people in education or employment would need to be available
!!! Where might you find them?
* Local schools and colleges
* Youth organisations
* Community organisations
* Local Authority teams - e.g. Leaving care team; youth support team; Youth offending team
* Job Centre
!!! How might you get information to them?
* Using relationships you have with schools/colleges - presentations to staff and at assemblies
* Emailing contacts in other organisations
* Sending/distributing flyers
* Outreach (handing out flyers)
* Posting on social media
* Asking young people/young adults that you have relationships with to help/if they know others that might be interested
* Create a QR code, which goes onto your flyer, which takes people to a registration form
!!! How might you make the opportunity appealing?
* Use a simple application form. This might help you make the role look appealing/official and provide information about potential candidates.
* Emphasise the possible benefits in any flyer/poster/communication.
* Capture and share positive experiences of mentors who complete the programme for future publicity/recruitment (videos/feedback)
<div style="background-color:#eb7837; color:white ">
<h1>Research into youth peer mentoring</h1>
</div>
<<list-thumbnailsLC filter:"[tag[research]]" width:"168" height:"200">>
<div style="background-color:#eb7837; color:white ">
<h1>Youth peer mentoring practice guidelines</h1>
</div>
<<list-thumbnailsLC filter:"[tag[guidelines]]" width:"168" height:"200">>
<div style="background-color:#eb7837; color:white ">
<h1>Our previous peer mentoring projects</h1>
</div>
!!!States of Mind Peer Mentoring Project
The [[States of Mind peer mentoring project|States of Mind peer mentoring project (2020)]] ran from 2018-2020
!!!Schools Support Service Peer Support
The [[Schools Support Service Peer Support]] Programme began in 2020. Documents relating to the programme:
<<list-thumbnailsLC filter:"[tag[Schools Support Service Peer Support]]" width:"168" height:"200">>
<div style="background-color:#eb7837; color:white ">
<h1>Documents relating to adult peer support</h1>
</div>
<<list-thumbnailsLC filter:"[tag[adult peer support]]" width:"168" height:"200">>
!!! Adapting the programme to your setting
Once you've worked out who you want to target, in terms of the types of mentors and mentees you want to work with, it is helpful to work out what you already have and what might need more thought. A SWOT analysis can help.
!!!Using the following headings:
# Strengths
# Weaknesses (areas to develop)
# Opportunities (potential)
# Challenges (barriers)
Consider these areas and any others that link to your plan:
* Staffing (who do we have on the team; what skills, qualities and strengths do they possess; do they have capacity; what is the quality of the relationships they have with each other, referral partners, young people)
* Space (size, ambience, comfort, noise levels)
* Relationships (with community, potential referrers, potential mentors and mentees)
''
The Anna Freud Schools Support Service Peer Support Programme began in August 2020, led by [[Rebecca Smith]], Lead AMBIT Trainer.
The programme was funded by the Berkeley Foundation. Delivered in the midst of the global COVID-19 pandemic, the task was to create a peer mentoring programme for schools for which the mentor training could be delivered remotely.
Programme design and training delivery was co-created and co-delivered by Maddi Crease, Youth Participation Programme Assistant.
!!Resources from this project
<<list-thumbnailsLC filter:"[tag[Schools Support Service Peer Support]]" width:"168" height:"200">>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="43px" height="45px" viewBox="0 0 43 45" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
<title>Tweaked</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Tweaked" transform="translate(1.000000, 1.000000)">
<path d="M28.261108,37.72152 C32.774605,38.282784 37.148956,37.296204 40.830399,35.164055 C40.787487,30.613632 39.200485,26.326332 36.503712,22.900034 C37.966618,21.419312 38.870178,19.384754 38.870178,17.140627 C38.870178,12.61534 35.197853,8.944153 30.673794,8.944153 C30.037663,8.944153 29.418346,9.016699 28.823757,9.1540556 C27.08588,5.4563637 24.246313,2.326004 20.658958,0.2500706 C17.127851,2.2917614 14.233307,5.3868523 12.46357,9.180688 C11.834939,9.026104 11.177836,8.944153 10.501737,8.944153 C5.9776745,8.944153 2.3053513,12.61534 2.3053513,17.140627 C2.3053513,19.427237 3.243475,21.496262 4.755543,22.98352 C2.7228107,25.587366 1.3028564,28.727465 0.7499676,32.218975 C0.5920753,33.215385 0.5102024,34.206371 0.5,35.186111 C2.577057,36.384048 4.9039583,37.228745 7.412227,37.625893 C9.288881,37.923088 11.1463385,37.950703 12.945194,37.737427 C14.12627,40.813965 17.109684,42.99993 20.600092,42.99993 C24.096514,42.99993 27.084187,40.806438 28.261108,37.72152 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
<path d="M10.573699,17.919729 C10.664197,27.584873 17.722935,36.064259 27.584494,37.625908 C32.336346,38.378387 36.965256,37.402596 40.830399,35.164047 C40.739204,25.498386 33.681347,17.019924 23.818739,15.458342 C19.067179,14.705864 14.438599,15.681564 10.573699,17.919775 L10.573699,17.919729 Z" id="Shape" fill-opacity="0.51999998" fill="#C1E6FD" fill-rule="nonzero"></path>
<path d="M10.573699,17.919729 C10.664197,27.584873 17.722935,36.064259 27.584494,37.625908 C32.336346,38.378387 36.965256,37.402596 40.830399,35.164047 C40.739204,25.498386 33.681347,17.019924 23.818739,15.458342 C19.067179,14.705864 14.438599,15.681564 10.573699,17.919775 L10.573699,17.919729 Z" id="Shape" stroke="#AAC9DD" stroke-width="2"></path>
<path d="M20.646036,35.170868 C25.72836,32.232002 29.49223,27.11087 30.48191,20.864998 C31.823906,12.3902855 27.669273,4.3067846 20.658957,0.2500706 C15.576397,3.188795 11.812689,8.3099995 10.823613,14.555935 C9.480789,23.029884 13.635868,31.113808 20.64596,35.170868 L20.646036,35.170868 Z" id="Shape" fill-opacity="0.51999998" fill="#C1E6FD" fill-rule="nonzero"></path>
<path d="M20.646036,35.170868 C25.72836,32.232002 29.49223,27.11087 30.48191,20.864998 C31.823906,12.3902855 27.669273,4.3067846 20.658957,0.2500706 C15.576397,3.188795 11.812689,8.3099995 10.823613,14.555935 C9.480789,23.029884 13.635868,31.113808 20.64596,35.170868 L20.646036,35.170868 Z" id="Shape" stroke="#AAC9DD" stroke-width="2"></path>
<path d="M0.499999,35.186127 C2.5770607,36.384052 4.9039564,37.228725 7.4122124,37.625908 C18.40492,39.366714 28.740063,31.857986 30.481976,20.865194 C30.639755,19.868818 30.7215,18.877884 30.731598,17.898239 C28.654385,16.700291 26.327187,15.855526 23.818539,15.458342 C12.82593,13.717536 2.4906597,21.226402 0.7499542,32.21899 C0.592085,33.215385 0.5102167,34.206367 0.499999,35.186104 L0.499999,35.186127 Z" id="Shape" fill-opacity="0.51999998" fill="#C1E6FD" fill-rule="nonzero"></path>
<path d="M0.499999,35.186127 C2.5770607,36.384052 4.9039564,37.228725 7.4122124,37.625908 C18.40492,39.366714 28.740063,31.857986 30.481976,20.865194 C30.639755,19.868818 30.7215,18.877884 30.731598,17.898239 C28.654385,16.700291 26.327187,15.855526 23.818539,15.458342 C12.82593,13.717536 2.4906597,21.226402 0.7499542,32.21899 C0.592085,33.215385 0.5102167,34.206367 0.499999,35.186104 L0.499999,35.186127 Z" id="Shape" stroke="#AAC9DD" stroke-width="2"></path>
<path d="M20.600092,42.999935 C16.076015,42.999935 12.4037,39.327541 12.4037,34.80344 C12.4037,30.278149 16.076015,26.606936 20.600092,26.606936 C25.124168,26.606936 28.796501,30.278149 28.796501,34.80344 C28.796501,39.327541 25.124168,42.999935 20.600092,42.999935 Z" id="Shape" fill-opacity="0.5" fill="#F4C4E2" fill-rule="nonzero"></path>
<path d="M20.600092,42.999935 C16.076015,42.999935 12.4037,39.327541 12.4037,34.80344 C12.4037,30.278149 16.076015,26.606936 20.600092,26.606936 C25.124168,26.606936 28.796501,30.278149 28.796501,34.80344 C28.796501,39.327541 25.124168,42.999935 20.600092,42.999935 Z" id="Shape" stroke="#E3B1CF" stroke-width="2" stroke-linejoin="bevel"></path>
<path d="M30.67379,25.337133 C26.149714,25.337133 22.477398,21.664742 22.477398,17.140636 C22.477398,12.615347 26.149714,8.944134 30.67379,8.944134 C35.197865,8.944134 38.870197,12.615347 38.870197,17.140636 C38.870197,21.664742 35.197865,25.337133 30.67379,25.337133 Z" id="Shape" fill-opacity="0.5" fill="#F4C4E2" fill-rule="nonzero"></path>
<path d="M30.67379,25.337133 C26.149714,25.337133 22.477398,21.664742 22.477398,17.140636 C22.477398,12.615347 26.149714,8.944134 30.67379,8.944134 C35.197865,8.944134 38.870197,12.615347 38.870197,17.140636 C38.870197,21.664742 35.197865,25.337133 30.67379,25.337133 Z" id="Shape" stroke="#E3B1CF" stroke-width="2" stroke-linejoin="bevel"></path>
<path d="M10.501752,25.337133 C5.9776745,25.337133 2.30536,21.664742 2.30536,17.140636 C2.30536,12.615347 5.9776745,8.944134 10.501752,8.944134 C15.025827,8.944134 18.698158,12.615347 18.698158,17.140636 C18.698158,21.664742 15.025827,25.337133 10.501752,25.337133 Z" id="Shape" fill-opacity="0.5" fill="#F4C4E2" fill-rule="nonzero"></path>
<path d="M10.501752,25.337133 C5.9776745,25.337133 2.30536,21.664742 2.30536,17.140636 C2.30536,12.615347 5.9776745,8.944134 10.501752,8.944134 C15.025827,8.944134 18.698158,12.615347 18.698158,17.140636 C18.698158,21.664742 15.025827,25.337133 10.501752,25.337133 Z" id="Shape" stroke="#E3B1CF" stroke-width="2" stroke-linejoin="bevel"></path>
</g>
</g>
</svg>
This is an account (written in 2020) of a previous project, run by the AMBIT programme at the Anna Freud National Centre for Children and Families.
The project ran for two years, 2018-2020
It was funded by the Berkeley Foundation.
''Note:'' States of Mind is also the name of a [[community interest company|https://www.statesofmind.org/]] headed by Bea Herbert, who was involved in this peer mentoring project when working for the Anna Freud National Centre for Children and Families
Thank you to James Wheeler (previously Lead AMBIT Trainer, AFNCCF) for this account.
!!What was the model we adapted?
The project was based on the [[More than Mentors]] mentoring programme, which was originally designed for schools. It involved an older student mentoring a younger one from the same school. It is a 12 session structured intervention, with clear session plans for each session.
It took place in a group format, pairs of mentors and mentees meeting together in one room for 1hr at a fixed/day time. They are joined by 2 adults - someone from MTM programme and also someone from the school.
The mentors set goals with the mentees, which would be rated at the end of each session. Choice around goal is open, but mentors prompt and share examples.
The students who are mentors on this programme have taken part in a training (12hrs), which would be delivered directly by MTM.
CORC (at AFC) are looking at outcomes for YP who have attended MTM programme.
!!What was the process of setting up the Berkeley (States of Mind) Project?
Two project workers from AFC went on the MTM training. The two project workers then trained a group of mentors, who were recruited from two community sites (The Hive, The Winch). AFC project staff met with The Hive and The Winch to give an overview of the programme and what the role of mentor would involve, so that they could speak to young people who might be interested.
Needed to do some "hanging out" in the spaces where we might find young people to build up the relationships with the partners and the YP.
Taster workshops were set up and run by AFC project staff, joined by Hive/Winch staff. These were 1.5hrs and designed to share info with YP who were interested and chance for them to ask questions.
Booked in training at the Hive; asked for a min. of 8 YP. 12 YP attended. Did training sessions during 4 core afternoon slots, with 2 more catch up sessions for those YP who missed any of the core ones. The materials that were used were those given in the MTM training - there's material provided about how to train mentors, with clear session by session plans.
Some of it was adapted to make it accessible for YP who had additional needs (e.g. learning difficulties, ASD), but otherwise core content was followed.
Alongside this, we sourced mentees. We contacted another organisation (The Winch) to see if they had young people that they wanted to put forward to have mentoring. The Winch felt that younger pre-adolescent YP would be most suited to receiving peer mentoring, rather than similar age. We met The Winch to help them understand what the mentoring programme would look like. YP were then approached to see if they were interested to take part. AFC Project staff did not meet the YP directly, but just met frequently with The Winch staff to give them the knowledge needed to be able to inform YP about what was on offer.
Made a memorandum of understanding with the respective organisations around governance, including that their processes/procedures would be followed to manage risk/safety, rather than AFC.
!!What did the mentoring programme look like?
5 week programme ran over the summer - 3 mentors and 4 mentees (2 shared a mentor, as one mentor did not come to first session).
Each session was 1hr 15 mins and took place in a group format, with AFC staff and The Winch staff.
The format for the first session was a whole group discussion - a getting to know you exercise. Mentors were matched to mentees in the 2nd week on the basis of this knowledge.
Sessions were whole group activity, then paired conversations, with a break in the middle. After mentees left, would be a debrief with the mentors.
__Example activities__
*20 questions - mentors/mentees could ask each other 20 questions, to both help get to know each other and also to practice conversations. Usually would find a point of similarity or shared experience through the questions.
*Superpowers - whole group discussions; if you had a superpower what would it be?
Exercises from the MTM programme were used, selected to best suit the group. This group found it harder to set/use goals so this wasn't really followed through in first programme. For second programme, talked about trying to use the sessions to work on a "problem" or something you'd like to improve on, giving examples (e.g. being more confident about speaking in public, being less stressed by school work).
The mentors would help with these matters by bringing their own experience and ideas. This was supported with reference to training, when mentors would have thought about what to share/what not to share as part of their mentoring and could also be discussed in the supervision/debrief space. Could give some advice, but also some exploring with mentees.
__Debrief__
This would be led by senior AFC project staff. Asking:
*how did people find the session?
*did anything come up that worried anyone? (staff would not hear everything in group that might have been discussed; checking in for safety or safeguarding issues?). For issues that arose, getting ideas from mentors about what they think next steps should be and helping to develop these as needed. Ultimately project staff would take actions forward, but involving mentors in shaping the plan
*any difficulties? How are they finding the flow of conversation etc.
NB. New workers would need to go on the MTM training!
!!Challenges that came up
* Needed to partner with community organisations in order to access a group of YP. This part of the project is a lot of work to ensure that the partnerships were well set up helping them to see how it could be useful to them.
* Helping people to understand what the intervention was and wasn't - not therapy, not a group programme, not user involvement; took a lot of explaining/re-explaining.
*Supporting mentors to be able to engage in commitments of the programme - the mentors themselves had their own ongoing needs, which could sometimes be barriers to them engaging consistently. Needed the support of AFC project staff to help the mentors:
**weekly texts to mentors to remind them of the sessions. Work out when the best time to text them would be!
**mentees supported to attend by partner orgs.
**being available to check in the mentors with any worries they had; arranged to be present at the partner org site to check in in person/group with the mentors outside of the mentoring programme sessions. Did this a couple of times throughout the programme.
* Managing the changing context of the partner organisations - needing to flex if things came up for them.
*Working with a mixed ability group - hadn't been expecting the range of ability levels. Managed this by running a separate group for mentors with additional needs who could support YP with additional needs in a specialist local school. Same process followed with setting up partnership with the school as above.
!!Reporting structures/organisational tasks
*Berkeley had objectives/KPIs for the project, which reflected original design, which changed throughout. This was focused on numbers/reach, rather than other outcomes.
*Quarterly monitoring meeting - attended by Berkeley, AFC staff, fundraising (who also managed finances)
*Narrative reports fed into the quarterly meetings.
*Qualitative feedback was taken - video interviews and written testimonials from mentors talking about their experience. This took place outside of the sessions.
{{$:/New steering group meeting notes button}}
!!Purpose of the Steering Group
The purpose of the steering group is... tbc
!!Steering group members
*[[Rebecca Smith]], Lead AMBIT Trainer, AFNCCF
*[[Nura Abdul-Razak]], Youth Worker, The Winch
*[[Liz Cracknell]], Joint Programme Lead AMBIT, AFNCCF
*[[Jim Chynoweth]], Youth Work Manager, The Winch
*[[Luke Pottinger]], Youth Worker, The Winch
*5 youth advisors
!!Frequency
Steering group meetings will take place every... tbc
!!Steering Group Meeting Notes
Steering group notes will automatically be listed here once created
<<list-links "[tag[Steering Group Meeting Notes]sort[created]]">>
Team learning topic
We thought about how best to support mentors to develop their skills, and encourage them to seek help from the peer mentoring team.
Mentors need a sense of what their mentees need help with, to provide a focus for the conversation.
Ideas for a process:
* Mentee referral form is completed by referrer, with potential areas of help identified
* Intro session takes place with all new mentors and mentees, including initial attempts to gauge motivation and match mentors and mentees
* Mentors and mentee matching process by peer mentoring team (based on referral forms, Intro session and knowledge of the young people)
* Peer mentoring team meet with mentees individually, either by telephone or in person, to discuss the referral form with them and the areas that had been identified as needing some help, to see if mentee agrees with referrer's view and what they might want help with
* Peer mentoring team meet with mentors individually, either by telephone or in person, to share who they have been matched with and some detail about the mentee, including what they might need/want help with
Mentors need opportunities to reflect on the process of peer mentoring. WE have 1:1 and group supervisions, but not so much week to week opportunity to reflect.
Idea on what might help:
Could we use a reflective diary, which mentors complete at the end of the session on their own, If this brings anything up, we encourage them to stay behind to talk to the team.
Liz (AMBIT Team) ½ day per week
* ‘Edge of the pond’
* Oversight/management
* Budget
* Steering group chair
* Data
Jim (The Winch)
* ‘Edge of the pond’
* Oversight/management
* Budget
Rebecca (AMBIT Team), 1 day per week
* Design and delivering of training and group sessions
* AMBIT reflective practice
* Building relationships
* Facilitating
* Brave
* Fun
* Adaptive
* Understanding
* Empathic
* Knowledgeable
* Supportive
Nura (The Winch), 3 days per week
* Leading the programme
* Organising mentors and mentees
* Logistics
* Building relationships
* Organised
* Assertive
* Confident
* Fearless
* Do-er
* Hard working
* Resilient
* Supportive
Farzana (The Winch), Sessional – 3 hours per week
* Creative content (marketing, resources)
* Mentoring
* Building relationships Kind
* Thoughtful
* Creative
* Deep thinker
* Wants to learn
* Articulate
* Calm
Daniel (The Winch), 1 day a week
* Jointly leading the programme
These are examples that you can adapt:
Peer mentoring contract
Mentor application form
Mentee referral form [[Mentee referral form template.docx]]
Publicity flyers
!! Group based delivery of mentoring
This model was developed to fit into a community based youth setting, with the mentoring programme being delivered at the same time, on the same day, in the same space each week. Each session can be delivered in an hour (with an additional 30 minutes for post-session reflections and debriefs). You could also extend the session time to 1.5 hours (with an additional 30 minute post-session reflection time). Mentors are matched with mentees after the first session and remain in the same pairs for the rest of the programme. Each session begins with a group based activity to frame the session and create safety and comfortability. Mentors and mentees then break off into their pairs to complete the rest of the session. The balance between groupwork and pairs work changes as the sessions progress, to reflect the development of the mentor/mentee relationship. At the start of the programme there is more group based work, with the emphasis changing to more work in pairs towards the end of the programme.
!!! Advantages and disadvantages of a group based model:
//Advantages: //
* Staff team are able to have overview of for all mentor/mentee work
* Staff team are able to monitor and reflect on how mentors are doing, how their relationship with their mentee is developing and provide support/guidance that aligns
* Mentors and mentees work in a setting that is predictable and consistent, which might support levels of safety and trust
//Disadvantages: //
* It might feel difficult to find a big enough space to facilitate both groupwork and pair work
* It can feel noisier/less private, which might feel difficult for some individuals/topics
* Mentor/mentee relationships might not develop at the same pace
!!! Adaptations
You are encouraged to plan and deliver a programme that meets the needs of your target group and the delivery environment. It might be that you decide to adapt the programme to 1:1 delivery. All sessions can be delivered in this way. The crucial thing would be to work out how to keep mentors and mentees safe and provide adequate staff supervision during their sessions.
!! Staff team
It is important that you have the right number and the right type of people overseeing the programme. Ideally you will have two or three people in your peer mentoring team, with at least two people attending the whole session every week. Consistency in staff attendance is desirable, to support development of the necessary relationships. Staff play an integral and active role in the programme. It is important that they are well-connected to each other, as well as to the mentors and mentees. [[Developing and sustaining a well-connected peer mentoring team]]
!! Other things that you will need for programme delivery:
* Ability/equipment to show the PowerPoint slides
* Flip chart paper and pens
* Outcomes measures printed out for each session
* Worksheets printed out for each session
* Reflective diaries for mentors printed out for each session
* Snacks/drinks for each session (optional)
!!Delivery resources
1) PowerPoint presentation for the 12 week group mentoring programme
2) Session plans for each session, with accompanying worksheets
Page under construction!
!! Reflections on the learning during the first year of set up and delivery of a peer mentoring programme, one of which is how important it has been to stay focused on the //purpose// of the peer mentoring programme.
!!
''
What do you want a peer mentoring programme to do??? ''
It makes sense that you ask this question at the start of planning your peer mentoring programme, as it gives you a framework for building and implementing it. It might seem obvious that a peer mentoring programme is designed to provide peer support, with an older person using their status and experience to support and help a younger person. But what is the 'support' or 'help' that the programme seeks to offer?
In our case, we have been clear that we want the programme to:
* Offer a space where our mentors can build and establish the necessary relationship to create a safe space for our mentees to make sense of things (themselves, other people, particular challenges) and to find their own ways of coping with these dilemmas.
* Give both mentors and mentees and experience that feels empowering - so that mentors feel 'helpful' and mentees feel 'supported'.
What we have been learning is that these things can easily get 'lost' for various reasons, as the process of delivery unfolds.
''What have we learnt about why it can be hard to stay focused on these things? ''
//''Mentor perspective: ''//
Mentors sign up and commit to the programme because they want to help younger people. This can (and should) feel like a responsibility. It can lead to mentors feeling like they have to be 'experts' in everything and offer advice that will have a positive impact on their mentee. The risk here is that mentors try too hard to help - offer too many of their own ideas/solutions, which might leave the mentee feeling misunderstood or overwhelmed.
If their relationship with their mentee does not develop at a pace that feels comfortable to them, or their mentee takes longer to identify areas that they might want help with, mentors can feel like they are not being useful/helpful and this effects their motivation and can also trigger other limiting self beliefs. The risk here is that mentors become disengaged.
//''Mentee perspective:
''//
Particularly at the start of the programme mentees might not see themselves as needing 'help'. The risk here is that there might be some resistance to attending/engaging.
Or, they might have some awareness that they are struggling with things, but either do not have the ability or the willingness to articulate this to their mentor. The relationship/trust that we know facilitates 'help' will develop at different paces. The risk here is that if a mentee doesn't feel 'safe' or understood, they might be less likely to be open with their mentor.
''What have we done to mitigate these risks? ''
!! Why have a plan?
The plan sets the intentions/goals for your programme, the steps you will need to take and what success will look like if you achieve them.
!!! Prompts to consider when developing your plan:
''How do you want your peer mentoring programme to be seen/understood/used? ''How and where do you want it to be promoted? ''''For example, you might want the programme to be used as a local resource to support a particular group of young people or a particular section of the community.
''Where will you find mentors and mentees? ''Who will your referral partners be? Are there local schools/organisations that you already have relationships with?'''' If people already know about your service they are more likely to make referrals into the peer mentoring programme.
''Where will the peer mentoring sessions take place?'' How big is the space? Is it noisy or quiet? Is there enough space for your mentor/mentee pairs to work together? What kinds of young people will be a good 'fit' for the space that you have? E.g. if the space is noisy/busy it might not suit young people who get easily overwhelmed.
''How will you publicise the programme?'' How will you communicate the purpose and intentions of your peer mentoring programme in a way that attracts potential mentors and mentees? How will you communicate with referral partners and parents/carers?
''What resources do you need to develop? ''Aside from publicity materials, you might want to develop templates to support referrals, monitor progress and exit strategies.
!!! Why have a team?
The peer mentoring programme has a number of elements, each of which require oversight. Our project team consisted of six key people: two from the AMBIT Team and four from The Winch. Three or four of them were involved in frontline delivery of the group mentoring programme.
!!! Programme activities/responsibilities to cover:
* Programme design, development and evaluation
* Programme publicity
* Mentor and mentee recruitment/selection
* Mentor training
* Programme delivery
* Mentor support
!!! Worker roles in the peer mentoring sessions:
Workers should play an active role in each peer mentoring session, in both the mentor training sessions and the peer mentoring sessions. They are there to support the 'helping process' - to create a safe, supportive space for everyone involved in the programme to work and learn.
Any 'helping process' is an active one, with lots going on. In each part of the programme there are a number of people involved, which means there are a number of minds to consider and attend to.
!!! Mentor training and Peer mentoring group sessions - roles for workers
Designate roles to support 'active planning':
//The plan //- Worker with a focus on the tasks that need to be undertaken for delivery (e.g. setting up the room, developing shared awareness/understanding of the session plan and evaluation tools)
//Broadcasting intentions //- Worker leading on explaining the content of the session (e.g. explaining the content of the peer mentor training; or setting the scene for a group mentoring session)
//Sensitive attunement //- Worker focused on observing the process during the session to see how mentors and mentees might be experiencing it
As well as holding a designated role in sessions, workers should be actively supporting the helping process: creating a safe space/environment, development of relationships, and supporting mentoring conversations where necessary.
!! ''The Peer Support Programme is part of the Schools Therapy Service.''
The primary strategic objective of Schools Therapy Service is to demonstrate an effective, low cost and viable remote therapy service informed by Thrive principles to work alongside existing services to increase service capacity to meet the mental health needs of school pupils.
The Service seeks to offer six ways of providing help to young people and their families:
# Psycho-education
# Consultation
# Evidence-based one to one intervention for young people
# Peer support
# Supporting parents/carers
# Linking up (with local services)
The Peer Support Programme is directly linked to the fourth strand of support.
More information on support for schools can be found here:
https://www.annafreud.org/schools-and-colleges/
!! Peer support programme objectives:
* To develop a Remote Peer Support programme and associated training, based on AMBIT prinicplesprinciples and an AMBIT adaptation of the More than Mentors mentoring programme
* To recruit and train teams of student peer supporters (from this point referred to as ‘mentors’
* For the mentors peer supporters to deliver peer support to students who have been identified by the school as in need (from this point referred to as ‘mentees’), with implementation support from the Anna Freud Centre
* To identify measurable outcomes that will facilitate learning and evaluation.
!! Peer support programme aims:
# Increase the psychological resilience of young people vulnerable to mental health problems and adverse outcomes (both mentors and mentees).
# Develop the capacity of schools to deliver evidence informed mental health support for young people.
https://youtu.be/fY9A8cCCm1c
''Cohorts 3 & 4 ''
''July/August 2022 ''
Recruitment of mentors and mentees for Cohort 3
''September/October/November/December 2022 ''
5th September - final push (with schools) to get mentees
5th September - interviews for new mentors
7th, 12th, 14th, 19th September - training for new mentors
* 21st September - group mentoring programme intro session
* 28th September - session 2
* 5th October - session 3
* 10th October - mentor 1:1 supervision
* 12th October - session 4
* 19th October - session 5
* //19th October - recruitment of mentors/mentees starts for Cohort 4//
* 26th October - session 6
* 26th October - mentor group supervision
* 2nd November - session 7
* 9th November - session 8
* 16th November - session 9
* 16th November - mentor group supervision
* 23rd November - session 10
* 30th November - session 11
* 5th December - mentor 1:1 supervision
* 7th December - session 12
* 14th December - celebration event
''January, February, March, April 2023''
11th, 18th, 25th January and 1st February - training for new mentors
* 8th February - group mentoring programme intro session
* 15th February - HALF TERM - session 2
* 22nd February - group mentoring programme session 3
* 27th February - 1:1 supervision for mentors
* 1st March - session 4
* 8th March - session 5
* 15th March - session 6
* 15th March - group supervision for mentors
* 22nd March - session 7
* 29th March - session 8
* 5th April - session 9
* 5th April - group supervision for mentors
* 12th April - session 10
* 17th April - 1:1 supervision for mentors
* 19th April - session 11
* 26th April - celebration event
''May 2023 ''
Final evaluation and dissemination
!! We provide the following resources:
# PowerPoint presentation with trainer notes
# Workbook for students, which supplements the PowerPoint
# Mentor resources pack for when the mentors begin mentoring
!!! PowerPoint training presentation guidance
The slides are fairly straight forward and have presenter notes attached to help explain the intentions and methods for delivery.
You might want to have a copy of the student workbook to support you in delivery. It contains most of the information on the PowerPoint presentation.
You might also want to have flipchart paper and pens and/or post-it notes to collect group feedback.
The following links expand upon each of the three sessions (each of which has been designed to be delivered over a three hour session, including a break):
[[Mentor training session 1]]
[[Mentor training session 2]]
[[Mentor training session 3]]
!! The Anna Freud Centre’s Peer Support Programme
The pilot peer support progammme was funded by Department for Education and delivered during 2018/2019 in 89 schools, colleges and community settings in six different regions in England. The pilot had five core principles that provide a scaffold to co-deliver effective, evidence-based, safe reassurance to all involved and is meaningful to the children and young people in school settings to help them learn, develop and aspire:
# Work from where the young people are at; be creative in how you engage young people
# Involve the right people; think carefully about mentor and mentee recruitment
# Focus on the relationships; build trust to create space for change
# Encourage young people’s ownership
# Be safe and boundaried; ensure that mentors are adequately supervised.
https://www.annafreud.org/schools-and-colleges/peer-support/
!! AMBIT
[[AMBIT|AMBIT]], or Adolescent Mentalization Based Integrative Treatment, is a framework for practice that was designed to promote ‘helpseeking’ and generate trusting relationships in order to affect change. ‘Mentalizing’ is a mental activity that occurs when we are trying to make sense of behaviour, either our own or others.
The extent to which we develop the skill of mentalizing is related to our early attachment experiences. Our ability to mentalize in any given moment is impacted by the level of emotional arousal we might be experiencing. When emotions are high, mentalizing is compromised. AMBIT is a set of principles and tools designed to promote mentalizing.
There is more information on mentalization here: [[Mentalization]]
!! More than Mentors
Informed by the Department for Education funded pilot, the More than Mentors programme was developed by Community Links, a social action charity. The programme takes an early action approach by supporting students through addressing early markers for mental health such as stress, anxiety and depression.
Through peer mentoring the programme seeks to build emotional resilience and self confidence, and improve attendance and attainment at school. The programme has been delivered in two London Boroughs, with evaluation from The Child Outcomes Research Consortium (CORC) at the Anna Freud Centre.
More information can be found here: https://www.community-links.org/youth-employment/more-than-mentors/
!! Who is this manual for?
Community based organisations who want to include peer support in their service offer to young people and young adults.
!! What is this manual for?
To share what we have learnt about peer support, from our experience of developing and delivering peer support programmes, initially in schools and then during a two year pilot in the community in a youth organisation in partnership with The Winch.
To provide information and guidance on the principles and tools necessary for implementation.
!! Aims of this peer support programme
This peer mentoring programme has the aim of increasing the psychological resilience of at-risk young people while simultaneously developing the capacity of your organisation to provide evidence informed mental health support to the young people who you see.
How will we know if the programme has been a success?
This page covers key outcomes we are working towards. They cover two main themes: frontline peer support //and //infrastructure development
!!1. Frontline peer support outcomes
* A peer support programme is successfully embedded within a wider community programme.
* Children and young people taking part in programme report improved wellbeing (Well-being will be measured before and after the intervention using a single measure, which will be selected by the steering group).
* Creation of a freely accessible peer support implementation manual, available for other community-based projects
* The AMBIT team gain knowledge and skills around the conditions that are needed to deliver a peer support programme so that this becomes a core component of the AMBIT training and can influence services trained in AMBIT both in the UK and across the world.
!!2. Infrastructure development
*Promise Workers and wider Winch staff are supported in applying mentalizing techniques to their work
*The Winch is enabled to systematically capture learning (by writing the online manual) and develop practices to disseminate their learning including regular feedback sessions, working as a team to solve complex problems.
*The capacity of the programme is expanded so outcomes can be measured consistently and systematically using an online system called POD.
*Mechanisms are developed that allow ‘team around the worker’ interventions to reduce Promise Work participant’s reluctance to access specialised help and improve the impact of Promise Work overall.
*The capacity of the team at the Winch to receive and offer help from/to colleagues is strengthened.
The AMBIT group peer mentoring model is a 12-week intervention in which older young people (ages 15-25 years) provide mentoring to younger young people (ages 10-14). It is based on principles and practices from the AMBIT approach - and it's core theories of mentalization and epistemic trust - and was developed for use in youth and community settings, and is particularly suited for young people who may be less able to benefit from school-based peer mentoring programmes.
AMBIT is a mentalization-based approach for teams and systems who work with people who have multiple needs - particularly those people who have reasons to find it difficult to trust services - and who may experience the complexity and dis-integration associated with the involvement of multiple workers and/or agencies. The [[AMBIT manual|http://manuals.annafreud.org]] is also freely available.
This manual is a freely available practical guide to delivering a peer mentoring programme following the AMBIT group peer mentoring model. It is designed to be used by teams in youth and community settings and covers all aspects of setting up, delivering and evaluating a peer mentoring programe.
[[Contact us|Chapter 8: Contact us]] if you are interested in training in the model for your team or organisation.
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Licence</a>.
Workers should play an active role in each peer mentoring session, in both the mentor training sessions and the peer mentoring sessions. They are there to support the 'helping process' - to create a safe, supportive space for everyone involved in the programme to work and learn.
Any 'helping process' is an active one, with lots going on. In each part of the programme there are a number of people involved, which means there are a number of minds to consider and attend to.
!!! The 'well-connected' peer mentoring team
In order to work well together, workers need to have an understanding of each other's minds - perceived strengths, challenges, skills, struggles. This is so that they can offer help to each other on an ongoing basis. The team should be practising and modelling help-seeking behaviours themselves, as this will strengthen their ability to understand and support the helping process between mentors and mentees.
Tasks that will support this:
* Time to plan for sessions/learn together - developing shared understanding of mentors, mentees and of the purpose of each session and activity
* Thinking Together - to work through dilemmas, support on-going team connection, and to practice the model (so the team are confident about helping the mentors to use the process of Thinking Together in the mentoring sessions)
!!! Mentor training and Peer mentoring group sessions - roles for workers
Designate roles to support 'active planning':
* The plan - Worker with a focus on the tasks that need to be fulfilled (and the purpose of these tasks)
* Broadcasting intentions - Worker leading on explaining the content of the training slides
* Sensitive attunement - Worker focused on observing the process to see how mentors might be experiencing it
!!! The stages of help-seeking
[img[image.png]]
The above framework, developed through research done by
Rickwood, Deane, Wilson and Ciarrochi, in 2005 (Young people's help-seeking for mental health problems), maintains that help-seeking is a process of translating the very personal domain of psychological distress
to the interpersonal domain of seeking help.
Young people can be upset about many things but they don't always tell someone else. In fact, we know that most young people don't feel able to talk to someone about their emotions and this can impact on their mental health and wellbeing.
!!! Awareness
The first stage of help-seeking is for the young person (mentor or mentee) to have an awareness that they might need some help.
What might create the conditions for self-awareness?
* Time and space to notice thoughts and feelings. The peer mentoring programme has been designed to create this, but thought about how it meets the different needs of young people in implementation will be necessary. Developing skills around self-reflection might be an outcome of the programme
* Understanding how stress or difficult feelings manifest or show up in us - sometimes physical signs are as important to notice as psychological signs. Young people might experience stomach pains, headaches, other aches and pains, that are caused by stress. The peer mentoring programme includes some psychoeducation on the brain and stress responses.
* Creating opportunities for mentors to reflect - supporting them to use the reflective diary at the end of each session and providing them with reflective supervision - either/or 1:1 and group
!!! Expression
Once a young person has an awareness that something is feeling difficult or stressful, the next stage is to be able to articulate the problem and identify (for themselves) what might help.
What might create the conditions for expression of a problem and the need for some help?
* Practicing talking about things - communication is a key skill that is focused on in the peer mentoring programme. There might also be creative ways to encourage exploration and expression, for example through the arts
* Being supported to break down and better understand thoughts, feelings and behaviours - the peer mentoring programme includes tools and techniques that aim to do this
* Mentors being supported to share their experiences of the mentoring process, challenges and successes, with staff and other mentors
!!! Availability
Understanding the problem and the need for help, and what type of help might work for us leads young people to the next stage... is a source of help available? Is there a potential 'fit' between what they think we need and what might be there for them?
How might the peer mentoring programme be seen as a good 'fit'?
* Developing a clear and shared understanding of the purpose of the peer mentoring programme, communicating this to mentors and mentees at the start and having ways to remind and revisit it throughout the process. The programme is intended to create space for mentees to develop self awareness, explore situations, thoughts and feelings that feel stressful, develop skills and find their own solutions. It is NOT about being told what to do by staff or mentors. It should feel empowering
* Consistency in mentoring sessions - ensuring that mentees and mentors have protected space. Trying to keep the sessions at the same time on the same day each week
* Regular, planned mentor supervision sessions
!!! Willingness
In some ways this is the deal-breaker! Even if young people have worked out and been able to articulate what is bothering them, what they want/need help with and have someone there to help them, they might still be reluctant to use that person. There are various barriers that can play out at this stage, including feelings of vulnerability and mistrust. These might be rooted in previous experiences or in social or cultural norms.
How might the peer mentoring programme address these barriers?
* Normalising and modelling help-seeking - creating or taking opportunities for staff to express their struggles; encouraging mentors to reflect on and identify things that they might be struggling with - and 'show' these to mentees. Modelling giving and receiving help
* Working to create a space that feels supportive and that promotes help-seeking behaviours
* Working in a safe and boundaried way to create psychological safety. Being clear about what mentors and mentees can expect. Using group contracts to develop shared understanding about confidentiality and behaviour
* Focusing on developing the necessary trusted relationships before the more explicit 'helping'. Staff need relationships with each other and with mentors; mentors need relationships with mentees.
<iframe src="https://drive.google.com/file/d/1-H69c0xueYq_D7lEdjIFNJ_Ox5di0i2o/preview" width="100%" height="480" allow="autoplay"></iframe>
<svg width="30pt" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-alt-circle-left" class="svg-inline--fa fa-arrow-alt-circle-left fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"></path></svg>
<$reveal type="nomatch" state="$:/temp/inline-edit" text={{!!title}}> <$button set="$:/temp/inline-edit" setTo={{!!title}} class="logic">edit</$button></$reveal>
<$reveal type="nomatch" state="$:/temp/inline-edit" text={{!!title}}><$reveal type="nomatch" state={{!!title}} text="">
<pre><$transclude/></pre>
</$reveal></$reveal>
<$reveal type="match" state="$:/temp/inline-edit" text={{!!title}}>
<$edit tiddler={{!!title}} class="long" minHeight= "150px"/>
<$button set={{!!title}} class="logic" setTo="">clear</$button><$button set="$:/temp/inline-edit" class="logic" setTo="">done</$button>
</$reveal>
<<list-links "[tag{!!title}]">>
MENTORS:
Increased understanding of how the mind responds under stress, and what can help, that can be applied to own life
Experience of building trusting relationships and being able to help others
MENTEES:
Greater trust in local peer mentors compared to traditional helping professionals
Validation of experiences and ideas for problem solving from peers who have had similar & recent experiences
MENTORS:
Training in a peer mentoring group programme.
Being involved in delivering 2 x 12 week peer mentoring group programmes
MENTEES:
Participating in a 12 week peer mentoring group programme
Impact of COVID-19 restrictions on face to face training and group programme
Mentor and mentee attendance rates
Degree of matching of life experiences between mentors and mentees in each group
Project’s ability to generate interest in the programme and recruit mentors and mentees
MENTORS:
Improved stress management and problem solving in own life
Improvement in wellbeing
MENTEES:
Improvement in wellbeing
Improved problem solving
Improved “self-efficacy”
Peer mentors (young people aged 14-24)
Mentees (young people aged 12-16)
<svg width="30pt" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-alt-circle-right" class="svg-inline--fa fa-arrow-alt-circle-right fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"></path></svg>
{"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-2023, 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/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/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":"Operands 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\" 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/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{$:/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 same 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```"},"$:/language/Help/server":{"title":"$:/language/Help/server","description":"Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)","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 operand 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":"Structured Vector Graphics 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 format icon file","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});\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) {\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) {\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) {\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// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = new $tw.utils.LinkedList(),\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\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\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/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\t\tsha256 = function(text) {\n\t\t\treturn sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(text)).substr(0,length);\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tresults.push(sha256(title));\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\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Decode(title));\n\t});\n\treturn results;\n};\n\nexports.encodebase64 = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push($tw.utils.base64Encode(title));\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\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\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 = 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})();\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 r